From 0481179c3887d5fccb0bf84628a8e8dcee52110b Mon Sep 17 00:00:00 2001 From: Anton Baliasnikov Date: Thu, 14 Nov 2024 10:25:28 +0000 Subject: [PATCH] docs: convert core and prover docs to mdbook project and add CI --- docs/.gitignore | 1 + docs/book.toml | 32 + docs/css/version-box.css | 46 + docs/js/mermaid-init.js | 35 + docs/js/mermaid.min.js | 133495 +++++++++++++++ docs/js/version-box.js | 61 + docs/src/README.md | 26 + docs/src/SUMMARY.md | 86 + docs/{ => src}/announcements/README.md | 0 .../announcements/attester_commitee.md | 0 docs/src/guides/README.md | 12 + .../guides/advanced/01_initialization.md | 0 docs/{ => src}/guides/advanced/02_deposits.md | 0 .../guides/advanced/03_withdrawals.md | 0 .../{ => src}/guides/advanced/04_contracts.md | 0 .../guides/advanced/05_how_call_works.md | 0 .../advanced/06_how_transaction_works.md | 0 .../{ => src}/guides/advanced/07_fee_model.md | 0 .../advanced/08_how_l2_messaging_works.md | 0 docs/{ => src}/guides/advanced/09_pubdata.md | 0 .../guides/advanced/10_pubdata_with_blobs.md | 0 .../guides/advanced/11_compression.md | 0 .../advanced/12_alternative_vm_intro.md | 0 .../guides/advanced/13_zk_intuition.md | 0 .../guides/advanced/14_zk_deeper_overview.md | 0 .../guides/advanced/15_prover_keys.md | 0 .../guides/advanced/90_advanced_debugging.md | 0 .../guides/advanced/91_docker_and_ci.md | 0 docs/{ => src}/guides/advanced/README.md | 2 +- docs/{ => src}/guides/architecture.md | 0 docs/{ => src}/guides/build-docker.md | 0 docs/{ => src}/guides/development.md | 0 .../guides/external-node/00_quick_start.md | 0 .../guides/external-node/01_intro.md | 0 .../guides/external-node/02_configuration.md | 0 .../guides/external-node/03_running.md | 0 .../guides/external-node/04_observability.md | 0 .../external-node/05_troubleshooting.md | 0 .../guides/external-node/06_components.md | 0 .../external-node/07_snapshots_recovery.md | 0 .../guides/external-node/08_pruning.md | 0 .../guides/external-node/09_treeless_mode.md | 0 .../external-node/10_decentralization.md | 0 docs/src/guides/external-node/README.md | 1 + .../configs/generate_secrets.sh | 0 .../configs/mainnet_consensus_config.yaml | 0 .../configs/testnet_consensus_config.yaml | 0 .../provisioning/dashboards/Consensus.json | 0 .../provisioning/dashboards/General.json | 0 .../provisioning/dashboards/default.yml | 0 .../provisioning/datasources/prometheus.yml | 0 .../mainnet-external-node-docker-compose.yml | 0 .../prometheus/prometheus.yml | 0 .../testnet-external-node-docker-compose.yml | 0 .../prepared_configs/mainnet-config.env | 0 .../mainnet_consensus_config.yaml | 0 .../testnet-goerli-config-deprecated.env | 0 .../testnet-sepolia-config.env | 0 .../testnet_consensus_config.yaml | 0 docs/{ => src}/guides/launch.md | 0 docs/{ => src}/guides/repositories.md | 0 docs/{ => src}/guides/setup-dev.md | 0 docs/src/misc/contributors.md | 1 + docs/{ => src}/specs/README.md | 0 docs/{ => src}/specs/blocks_batches.md | 0 .../specs/data_availability/README.md | 0 .../specs/data_availability/compression.md | 0 .../specs/data_availability/overview.md | 0 .../specs/data_availability/pubdata.md | 0 .../specs/data_availability/reconstruction.md | 0 .../data_availability/validium_zk_porter.md | 0 docs/{ => src}/specs/img/L2_Components.png | Bin docs/{ => src}/specs/img/diamondProxy.jpg | Bin docs/{ => src}/specs/img/governance.jpg | Bin .../specs/img/zk-the-collective-action.jpeg | Bin docs/{ => src}/specs/introduction.md | 0 .../specs/l1_l2_communication/README.md | 0 .../specs/l1_l2_communication/l1_to_l2.md | 0 .../specs/l1_l2_communication/l2_to_l1.md | 0 .../overview_deposits_withdrawals.md | 0 docs/{ => src}/specs/l1_smart_contracts.md | 0 docs/{ => src}/specs/overview.md | 0 docs/{ => src}/specs/prover/README.md | 0 .../boojum_function_check_if_satisfied.md | 0 docs/{ => src}/specs/prover/boojum_gadgets.md | 0 .../{ => src}/specs/prover/circuit_testing.md | 0 .../{ => src}/specs/prover/circuits/README.md | 0 .../specs/prover/circuits/code_decommitter.md | 0 .../specs/prover/circuits/demux_log_queue.md | 0 .../specs/prover/circuits/ecrecover.md | 0 .../specs/prover/circuits/img/diagram.png | Bin .../specs/prover/circuits/img/flowchart.png | Bin .../specs/prover/circuits/img/image.png | Bin .../prover/circuits/keccak_round_function.md | 0 .../prover/circuits/l1_messages_hasher.md | 0 .../specs/prover/circuits/log_sorter.md | 0 .../specs/prover/circuits/main_vm.md | 0 .../specs/prover/circuits/overview.md | 0 .../specs/prover/circuits/ram_permutation.md | 0 .../prover/circuits/sha256_round_function.md | 0 .../prover/circuits/sort_decommitments.md | 0 .../specs/prover/circuits/sorting.md | 0 .../circuits/sorting_and_deduplicating.md | 0 .../prover/circuits/storage_application.md | 0 .../specs/prover/circuits/storage_sorter.md | 0 .../{ => src}/specs/prover/getting_started.md | 0 .../Check_if_satisfied(1).png | Bin .../Check_if_satisfied(11).png | Bin .../Check_if_satisfied(12).png | Bin .../Check_if_satisfied(13).png | Bin .../Check_if_satisfied(14).png | Bin .../Check_if_satisfied(16).png | Bin .../Check_if_satisfied(17).png | Bin .../Check_if_satisfied(2).png | Bin .../Check_if_satisfied(3).png | Bin .../Check_if_satisfied(4).png | Bin .../Check_if_satisfied(7).png | Bin .../Check_if_satisfied(8).png | Bin .../Check_if_satisfied(9).png | Bin .../Check_if_satisfied.png | Bin .../img/circuit_testing/Contest(10).png | Bin .../img/circuit_testing/Contest(11).png | Bin .../img/circuit_testing/Contest(12).png | Bin .../prover/img/circuit_testing/Contest(4).png | Bin .../prover/img/circuit_testing/Contest(5).png | Bin .../prover/img/circuit_testing/Contest(6).png | Bin .../prover/img/circuit_testing/Contest(7).png | Bin .../prover/img/circuit_testing/Contest(8).png | Bin .../prover/img/circuit_testing/Contest(9).png | Bin .../circuit.png" | Bin docs/{ => src}/specs/prover/overview.md | 0 docs/{ => src}/specs/prover/zk_terminology.md | 0 docs/{ => src}/specs/zk_chains/README.md | 0 docs/{ => src}/specs/zk_chains/gateway.md | 0 .../specs/zk_chains/img/contractsExternal.png | Bin .../specs/zk_chains/img/deployWeth.png | Bin .../specs/zk_chains/img/depositWeth.png | Bin .../specs/zk_chains/img/hyperbridges.png | Bin .../specs/zk_chains/img/hyperbridging.png | Bin .../specs/zk_chains/img/newChain.png | Bin docs/{ => src}/specs/zk_chains/interop.md | 0 docs/{ => src}/specs/zk_chains/overview.md | 0 .../specs/zk_chains/shared_bridge.md | 0 docs/{ => src}/specs/zk_evm/README.md | 0 .../specs/zk_evm/account_abstraction.md | 0 docs/{ => src}/specs/zk_evm/bootloader.md | 0 docs/{ => src}/specs/zk_evm/fee_model.md | 0 docs/{ => src}/specs/zk_evm/precompiles.md | 0 .../specs/zk_evm/system_contracts.md | 0 docs/{ => src}/specs/zk_evm/vm_overview.md | 0 .../EraVM_formal_specification.pdf | Bin .../specs/zk_evm/vm_specification/README.md | 0 .../vm_specification/compiler/README.md | 0 .../compiler/code_separation.md | 0 .../compiler/evmla_translator.md | 0 .../compiler/exception_handling.md | 0 .../compiler/instructions/README.md | 0 .../compiler/instructions/evm/README.md | 0 .../compiler/instructions/evm/arithmetic.md | 0 .../compiler/instructions/evm/bitwise.md | 0 .../compiler/instructions/evm/block.md | 0 .../compiler/instructions/evm/call.md | 0 .../compiler/instructions/evm/create.md | 0 .../compiler/instructions/evm/environment.md | 0 .../compiler/instructions/evm/logging.md | 0 .../compiler/instructions/evm/logical.md | 0 .../compiler/instructions/evm/memory.md | 0 .../compiler/instructions/evm/overview.md | 0 .../compiler/instructions/evm/return.md | 0 .../compiler/instructions/evm/sha3.md | 0 .../compiler/instructions/evm/stack.md | 0 .../compiler/instructions/evmla.md | 0 .../instructions/extensions/README.md | 0 .../compiler/instructions/extensions/call.md | 0 .../instructions/extensions/overview.md | 0 .../instructions/extensions/verbatim.md | 0 .../compiler/instructions/overview.md | 0 .../compiler/instructions/yul.md | 0 .../vm_specification/compiler/overview.md | 0 .../compiler/system_contracts.md | 0 .../vm_specification/img/arch-overview.png | Bin .../img/arithmetic_opcode.png | Bin .../zkSync_era_virtual_machine_primer.md | 0 prover/docs/.gitignore | 1 + prover/docs/99_further_reading.md | 13 - prover/docs/book.toml | 32 + prover/docs/css/version-box.css | 46 + prover/docs/js/mermaid-init.js | 35 + prover/docs/js/mermaid.min.js | 133495 +++++++++++++++ prover/docs/js/version-box.js | 61 + prover/docs/{ => src}/00_intro.md | 0 prover/docs/{ => src}/01_gcp_vm.md | 0 prover/docs/{ => src}/02_setup.md | 0 prover/docs/{ => src}/03_launch.md | 0 prover/docs/{ => src}/04_flow.md | 0 prover/docs/{ => src}/05_proving_batch.md | 0 prover/docs/src/99_further_reading.md | 14 + prover/docs/src/README.md | 16 + prover/docs/src/SUMMARY.md | 11 + 199 files changed, 267508 insertions(+), 14 deletions(-) create mode 100644 docs/.gitignore create mode 100644 docs/book.toml create mode 100644 docs/css/version-box.css create mode 100644 docs/js/mermaid-init.js create mode 100644 docs/js/mermaid.min.js create mode 100644 docs/js/version-box.js create mode 100644 docs/src/README.md create mode 100644 docs/src/SUMMARY.md rename docs/{ => src}/announcements/README.md (100%) rename docs/{ => src}/announcements/attester_commitee.md (100%) create mode 100644 docs/src/guides/README.md rename docs/{ => src}/guides/advanced/01_initialization.md (100%) rename docs/{ => src}/guides/advanced/02_deposits.md (100%) rename docs/{ => src}/guides/advanced/03_withdrawals.md (100%) rename docs/{ => src}/guides/advanced/04_contracts.md (100%) rename docs/{ => src}/guides/advanced/05_how_call_works.md (100%) rename docs/{ => src}/guides/advanced/06_how_transaction_works.md (100%) rename docs/{ => src}/guides/advanced/07_fee_model.md (100%) rename docs/{ => src}/guides/advanced/08_how_l2_messaging_works.md (100%) rename docs/{ => src}/guides/advanced/09_pubdata.md (100%) rename docs/{ => src}/guides/advanced/10_pubdata_with_blobs.md (100%) rename docs/{ => src}/guides/advanced/11_compression.md (100%) rename docs/{ => src}/guides/advanced/12_alternative_vm_intro.md (100%) rename docs/{ => src}/guides/advanced/13_zk_intuition.md (100%) rename docs/{ => src}/guides/advanced/14_zk_deeper_overview.md (100%) rename docs/{ => src}/guides/advanced/15_prover_keys.md (100%) rename docs/{ => src}/guides/advanced/90_advanced_debugging.md (100%) rename docs/{ => src}/guides/advanced/91_docker_and_ci.md (100%) rename docs/{ => src}/guides/advanced/README.md (98%) rename docs/{ => src}/guides/architecture.md (100%) rename docs/{ => src}/guides/build-docker.md (100%) rename docs/{ => src}/guides/development.md (100%) rename docs/{ => src}/guides/external-node/00_quick_start.md (100%) rename docs/{ => src}/guides/external-node/01_intro.md (100%) rename docs/{ => src}/guides/external-node/02_configuration.md (100%) rename docs/{ => src}/guides/external-node/03_running.md (100%) rename docs/{ => src}/guides/external-node/04_observability.md (100%) rename docs/{ => src}/guides/external-node/05_troubleshooting.md (100%) rename docs/{ => src}/guides/external-node/06_components.md (100%) rename docs/{ => src}/guides/external-node/07_snapshots_recovery.md (100%) rename docs/{ => src}/guides/external-node/08_pruning.md (100%) rename docs/{ => src}/guides/external-node/09_treeless_mode.md (100%) rename docs/{ => src}/guides/external-node/10_decentralization.md (100%) create mode 100644 docs/src/guides/external-node/README.md rename docs/{ => src}/guides/external-node/docker-compose-examples/configs/generate_secrets.sh (100%) rename docs/{ => src}/guides/external-node/docker-compose-examples/configs/mainnet_consensus_config.yaml (100%) rename docs/{ => src}/guides/external-node/docker-compose-examples/configs/testnet_consensus_config.yaml (100%) rename docs/{ => src}/guides/external-node/docker-compose-examples/grafana/provisioning/dashboards/Consensus.json (100%) rename docs/{ => src}/guides/external-node/docker-compose-examples/grafana/provisioning/dashboards/General.json (100%) rename docs/{ => src}/guides/external-node/docker-compose-examples/grafana/provisioning/dashboards/default.yml (100%) rename docs/{ => src}/guides/external-node/docker-compose-examples/grafana/provisioning/datasources/prometheus.yml (100%) rename docs/{ => src}/guides/external-node/docker-compose-examples/mainnet-external-node-docker-compose.yml (100%) rename docs/{ => src}/guides/external-node/docker-compose-examples/prometheus/prometheus.yml (100%) rename docs/{ => src}/guides/external-node/docker-compose-examples/testnet-external-node-docker-compose.yml (100%) rename docs/{ => src}/guides/external-node/prepared_configs/mainnet-config.env (100%) rename docs/{ => src}/guides/external-node/prepared_configs/mainnet_consensus_config.yaml (100%) rename docs/{ => src}/guides/external-node/prepared_configs/testnet-goerli-config-deprecated.env (100%) rename docs/{ => src}/guides/external-node/prepared_configs/testnet-sepolia-config.env (100%) rename docs/{ => src}/guides/external-node/prepared_configs/testnet_consensus_config.yaml (100%) rename docs/{ => src}/guides/launch.md (100%) rename docs/{ => src}/guides/repositories.md (100%) rename docs/{ => src}/guides/setup-dev.md (100%) create mode 100644 docs/src/misc/contributors.md rename docs/{ => src}/specs/README.md (100%) rename docs/{ => src}/specs/blocks_batches.md (100%) rename docs/{ => src}/specs/data_availability/README.md (100%) rename docs/{ => src}/specs/data_availability/compression.md (100%) rename docs/{ => src}/specs/data_availability/overview.md (100%) rename docs/{ => src}/specs/data_availability/pubdata.md (100%) rename docs/{ => src}/specs/data_availability/reconstruction.md (100%) rename docs/{ => src}/specs/data_availability/validium_zk_porter.md (100%) rename docs/{ => src}/specs/img/L2_Components.png (100%) rename docs/{ => src}/specs/img/diamondProxy.jpg (100%) rename docs/{ => src}/specs/img/governance.jpg (100%) rename docs/{ => src}/specs/img/zk-the-collective-action.jpeg (100%) rename docs/{ => src}/specs/introduction.md (100%) rename docs/{ => src}/specs/l1_l2_communication/README.md (100%) rename docs/{ => src}/specs/l1_l2_communication/l1_to_l2.md (100%) rename docs/{ => src}/specs/l1_l2_communication/l2_to_l1.md (100%) rename docs/{ => src}/specs/l1_l2_communication/overview_deposits_withdrawals.md (100%) rename docs/{ => src}/specs/l1_smart_contracts.md (100%) rename docs/{ => src}/specs/overview.md (100%) rename docs/{ => src}/specs/prover/README.md (100%) rename docs/{ => src}/specs/prover/boojum_function_check_if_satisfied.md (100%) rename docs/{ => src}/specs/prover/boojum_gadgets.md (100%) rename docs/{ => src}/specs/prover/circuit_testing.md (100%) rename docs/{ => src}/specs/prover/circuits/README.md (100%) rename docs/{ => src}/specs/prover/circuits/code_decommitter.md (100%) rename docs/{ => src}/specs/prover/circuits/demux_log_queue.md (100%) rename docs/{ => src}/specs/prover/circuits/ecrecover.md (100%) rename docs/{ => src}/specs/prover/circuits/img/diagram.png (100%) rename docs/{ => src}/specs/prover/circuits/img/flowchart.png (100%) rename docs/{ => src}/specs/prover/circuits/img/image.png (100%) rename docs/{ => src}/specs/prover/circuits/keccak_round_function.md (100%) rename docs/{ => src}/specs/prover/circuits/l1_messages_hasher.md (100%) rename docs/{ => src}/specs/prover/circuits/log_sorter.md (100%) rename docs/{ => src}/specs/prover/circuits/main_vm.md (100%) rename docs/{ => src}/specs/prover/circuits/overview.md (100%) rename docs/{ => src}/specs/prover/circuits/ram_permutation.md (100%) rename docs/{ => src}/specs/prover/circuits/sha256_round_function.md (100%) rename docs/{ => src}/specs/prover/circuits/sort_decommitments.md (100%) rename docs/{ => src}/specs/prover/circuits/sorting.md (100%) rename docs/{ => src}/specs/prover/circuits/sorting_and_deduplicating.md (100%) rename docs/{ => src}/specs/prover/circuits/storage_application.md (100%) rename docs/{ => src}/specs/prover/circuits/storage_sorter.md (100%) rename docs/{ => src}/specs/prover/getting_started.md (100%) rename docs/{ => src}/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(1).png (100%) rename docs/{ => src}/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(11).png (100%) rename docs/{ => src}/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(12).png (100%) rename docs/{ => src}/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(13).png (100%) rename docs/{ => src}/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(14).png (100%) rename docs/{ => src}/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(16).png (100%) rename docs/{ => src}/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(17).png (100%) rename docs/{ => src}/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(2).png (100%) rename docs/{ => src}/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(3).png (100%) rename docs/{ => src}/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(4).png (100%) rename docs/{ => src}/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(7).png (100%) rename docs/{ => src}/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(8).png (100%) rename docs/{ => src}/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(9).png (100%) rename docs/{ => src}/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied.png (100%) rename docs/{ => src}/specs/prover/img/circuit_testing/Contest(10).png (100%) rename docs/{ => src}/specs/prover/img/circuit_testing/Contest(11).png (100%) rename docs/{ => src}/specs/prover/img/circuit_testing/Contest(12).png (100%) rename docs/{ => src}/specs/prover/img/circuit_testing/Contest(4).png (100%) rename docs/{ => src}/specs/prover/img/circuit_testing/Contest(5).png (100%) rename docs/{ => src}/specs/prover/img/circuit_testing/Contest(6).png (100%) rename docs/{ => src}/specs/prover/img/circuit_testing/Contest(7).png (100%) rename docs/{ => src}/specs/prover/img/circuit_testing/Contest(8).png (100%) rename docs/{ => src}/specs/prover/img/circuit_testing/Contest(9).png (100%) rename "docs/specs/prover/img/intro_to_zkSync\342\200\231s_ZK/circuit.png" => "docs/src/specs/prover/img/intro_to_zkSync\342\200\231s_ZK/circuit.png" (100%) rename docs/{ => src}/specs/prover/overview.md (100%) rename docs/{ => src}/specs/prover/zk_terminology.md (100%) rename docs/{ => src}/specs/zk_chains/README.md (100%) rename docs/{ => src}/specs/zk_chains/gateway.md (100%) rename docs/{ => src}/specs/zk_chains/img/contractsExternal.png (100%) rename docs/{ => src}/specs/zk_chains/img/deployWeth.png (100%) rename docs/{ => src}/specs/zk_chains/img/depositWeth.png (100%) rename docs/{ => src}/specs/zk_chains/img/hyperbridges.png (100%) rename docs/{ => src}/specs/zk_chains/img/hyperbridging.png (100%) rename docs/{ => src}/specs/zk_chains/img/newChain.png (100%) rename docs/{ => src}/specs/zk_chains/interop.md (100%) rename docs/{ => src}/specs/zk_chains/overview.md (100%) rename docs/{ => src}/specs/zk_chains/shared_bridge.md (100%) rename docs/{ => src}/specs/zk_evm/README.md (100%) rename docs/{ => src}/specs/zk_evm/account_abstraction.md (100%) rename docs/{ => src}/specs/zk_evm/bootloader.md (100%) rename docs/{ => src}/specs/zk_evm/fee_model.md (100%) rename docs/{ => src}/specs/zk_evm/precompiles.md (100%) rename docs/{ => src}/specs/zk_evm/system_contracts.md (100%) rename docs/{ => src}/specs/zk_evm/vm_overview.md (100%) rename docs/{ => src}/specs/zk_evm/vm_specification/EraVM_formal_specification.pdf (100%) rename docs/{ => src}/specs/zk_evm/vm_specification/README.md (100%) rename docs/{ => src}/specs/zk_evm/vm_specification/compiler/README.md (100%) rename docs/{ => src}/specs/zk_evm/vm_specification/compiler/code_separation.md (100%) rename docs/{ => src}/specs/zk_evm/vm_specification/compiler/evmla_translator.md (100%) rename docs/{ => src}/specs/zk_evm/vm_specification/compiler/exception_handling.md (100%) rename docs/{ => src}/specs/zk_evm/vm_specification/compiler/instructions/README.md (100%) rename docs/{ => src}/specs/zk_evm/vm_specification/compiler/instructions/evm/README.md (100%) rename docs/{ => src}/specs/zk_evm/vm_specification/compiler/instructions/evm/arithmetic.md (100%) rename docs/{ => src}/specs/zk_evm/vm_specification/compiler/instructions/evm/bitwise.md (100%) rename docs/{ => src}/specs/zk_evm/vm_specification/compiler/instructions/evm/block.md (100%) rename docs/{ => src}/specs/zk_evm/vm_specification/compiler/instructions/evm/call.md (100%) rename docs/{ => src}/specs/zk_evm/vm_specification/compiler/instructions/evm/create.md (100%) rename docs/{ => src}/specs/zk_evm/vm_specification/compiler/instructions/evm/environment.md (100%) rename docs/{ => src}/specs/zk_evm/vm_specification/compiler/instructions/evm/logging.md (100%) rename docs/{ => src}/specs/zk_evm/vm_specification/compiler/instructions/evm/logical.md (100%) rename docs/{ => src}/specs/zk_evm/vm_specification/compiler/instructions/evm/memory.md (100%) rename docs/{ => src}/specs/zk_evm/vm_specification/compiler/instructions/evm/overview.md (100%) rename docs/{ => src}/specs/zk_evm/vm_specification/compiler/instructions/evm/return.md (100%) rename docs/{ => src}/specs/zk_evm/vm_specification/compiler/instructions/evm/sha3.md (100%) rename docs/{ => src}/specs/zk_evm/vm_specification/compiler/instructions/evm/stack.md (100%) rename docs/{ => src}/specs/zk_evm/vm_specification/compiler/instructions/evmla.md (100%) rename docs/{ => src}/specs/zk_evm/vm_specification/compiler/instructions/extensions/README.md (100%) rename docs/{ => src}/specs/zk_evm/vm_specification/compiler/instructions/extensions/call.md (100%) rename docs/{ => src}/specs/zk_evm/vm_specification/compiler/instructions/extensions/overview.md (100%) rename docs/{ => src}/specs/zk_evm/vm_specification/compiler/instructions/extensions/verbatim.md (100%) rename docs/{ => src}/specs/zk_evm/vm_specification/compiler/instructions/overview.md (100%) rename docs/{ => src}/specs/zk_evm/vm_specification/compiler/instructions/yul.md (100%) rename docs/{ => src}/specs/zk_evm/vm_specification/compiler/overview.md (100%) rename docs/{ => src}/specs/zk_evm/vm_specification/compiler/system_contracts.md (100%) rename docs/{ => src}/specs/zk_evm/vm_specification/img/arch-overview.png (100%) rename docs/{ => src}/specs/zk_evm/vm_specification/img/arithmetic_opcode.png (100%) rename docs/{ => src}/specs/zk_evm/vm_specification/zkSync_era_virtual_machine_primer.md (100%) create mode 100644 prover/docs/.gitignore delete mode 100644 prover/docs/99_further_reading.md create mode 100644 prover/docs/book.toml create mode 100644 prover/docs/css/version-box.css create mode 100644 prover/docs/js/mermaid-init.js create mode 100644 prover/docs/js/mermaid.min.js create mode 100644 prover/docs/js/version-box.js rename prover/docs/{ => src}/00_intro.md (100%) rename prover/docs/{ => src}/01_gcp_vm.md (100%) rename prover/docs/{ => src}/02_setup.md (100%) rename prover/docs/{ => src}/03_launch.md (100%) rename prover/docs/{ => src}/04_flow.md (100%) rename prover/docs/{ => src}/05_proving_batch.md (100%) create mode 100644 prover/docs/src/99_further_reading.md create mode 100644 prover/docs/src/README.md create mode 100644 prover/docs/src/SUMMARY.md diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 000000000000..7585238efedf --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1 @@ +book diff --git a/docs/book.toml b/docs/book.toml new file mode 100644 index 000000000000..cd4a34d05e8d --- /dev/null +++ b/docs/book.toml @@ -0,0 +1,32 @@ +[book] +authors = ["ZKsync team"] +language = "en" +multilingual = false +src = "src" +title = "ZKsync Era Documentation" + +[output.html] +smart-punctuation = true +mathjax-support = true +git-repository-url = "https://github.com/matter-labs/zksync-era/tree/main/docs" +edit-url-template = "https://github.com/matter-labs/zksync-era/tree/main/docs/{path}" +additional-js = ["js/version-box.js", "js/mermaid.min.js", "js/mermaid-init.js"] +additional-css = ["css/version-box.css"] + +[output.html.playground] +editable = true +line-numbers = true + +[output.html.search] +limit-results = 20 +use-boolean-and = true +boost-title = 2 +boost-hierarchy = 2 +boost-paragraph = 1 +expand = true +heading-split-level = 2 + +[preprocessor] + +[preprocessor.mermaid] +command = "mdbook-mermaid" diff --git a/docs/css/version-box.css b/docs/css/version-box.css new file mode 100644 index 000000000000..4006ac7804b3 --- /dev/null +++ b/docs/css/version-box.css @@ -0,0 +1,46 @@ +#version-box { + display: flex; + align-items: center; + margin-right: 15px; /* Space from the right side */ + background-color: transparent; /* Make the box background transparent */ +} + +/* Base styles for the version selector */ +#version-selector { + background-color: transparent; /* Remove background color */ + border: 1px solid #4a5568; /* Subtle border */ + border-radius: 4px; /* Rounded edges */ + padding: 5px 10px; /* Padding inside dropdown */ + font-size: 0.9em; + font-weight: normal; + outline: none; /* Removes default focus outline */ + cursor: pointer; +} + +/* Text color for dark themes */ +.theme-navy #version-selector, +.theme-coal #version-selector { + color: #f7fafc; /* Light text color for dark backgrounds */ +} + +/* Text color for light theme */ +.theme-light #version-selector { + color: #333333; /* Dark text color for light background */ +} + +/* Hover effect for better user feedback */ +#version-selector:hover { + background-color: rgba(255, 255, 255, 0.1); /* Light hover effect */ +} + +/* Optional: Style for when the selector is focused */ +#version-selector:focus { + border-color: #63b3ed; /* Accent color for focused state */ +} + +.right-buttons { + display: flex; + flex-direction: row; /* Aligns items in a row, left to right */ + align-items: center; /* Centers items vertically */ + gap: 10px; /* Adds space between items */ +} diff --git a/docs/js/mermaid-init.js b/docs/js/mermaid-init.js new file mode 100644 index 000000000000..15a7f4e57c60 --- /dev/null +++ b/docs/js/mermaid-init.js @@ -0,0 +1,35 @@ +(() => { + const darkThemes = ['ayu', 'navy', 'coal']; + const lightThemes = ['light', 'rust']; + + const classList = document.getElementsByTagName('html')[0].classList; + + let lastThemeWasLight = true; + for (const cssClass of classList) { + if (darkThemes.includes(cssClass)) { + lastThemeWasLight = false; + break; + } + } + + const theme = lastThemeWasLight ? 'default' : 'dark'; + mermaid.initialize({ startOnLoad: true, theme }); + + // Simplest way to make mermaid re-render the diagrams in the new theme is via refreshing the page + + for (const darkTheme of darkThemes) { + document.getElementById(darkTheme).addEventListener('click', () => { + if (lastThemeWasLight) { + window.location.reload(); + } + }); + } + + for (const lightTheme of lightThemes) { + document.getElementById(lightTheme).addEventListener('click', () => { + if (!lastThemeWasLight) { + window.location.reload(); + } + }); + } +})(); diff --git a/docs/js/mermaid.min.js b/docs/js/mermaid.min.js new file mode 100644 index 000000000000..1f2f8474b960 --- /dev/null +++ b/docs/js/mermaid.min.js @@ -0,0 +1,133495 @@ +'use strict'; +var __esbuild_esm_mermaid = (() => { + var Pve = Object.create; + var G1 = Object.defineProperty; + var Bve = Object.getOwnPropertyDescriptor; + var Fve = Object.getOwnPropertyNames; + var zve = Object.getPrototypeOf, + Gve = Object.prototype.hasOwnProperty; + var o = (t, e) => G1(t, 'name', { value: e, configurable: !0 }); + var R = (t, e) => () => (t && (e = t((t = 0))), e); + var gi = (t, e) => () => (e || t((e = { exports: {} }).exports, e), e.exports), + hr = (t, e) => { + for (var r in e) G1(t, r, { get: e[r], enumerable: !0 }); + }, + Rb = (t, e, r, n) => { + if ((e && typeof e == 'object') || typeof e == 'function') + for (let i of Fve(e)) + !Gve.call(t, i) && + i !== r && + G1(t, i, { + get: () => e[i], + enumerable: !(n = Bve(e, i)) || n.enumerable + }); + return t; + }, + dr = (t, e, r) => (Rb(t, e, 'default'), r && Rb(r, e, 'default')), + Xi = (t, e, r) => ( + (r = t != null ? Pve(zve(t)) : {}), + Rb(e || !t || !t.__esModule ? G1(r, 'default', { value: t, enumerable: !0 }) : r, t) + ), + $ve = (t) => Rb(G1({}, '__esModule', { value: !0 }), t); + var Nb = gi((AC, _C) => { + 'use strict'; + (function (t, e) { + typeof AC == 'object' && typeof _C < 'u' + ? (_C.exports = e()) + : typeof define == 'function' && define.amd + ? define(e) + : ((t = typeof globalThis < 'u' ? globalThis : t || self).dayjs = e()); + })(AC, function () { + 'use strict'; + var t = 1e3, + e = 6e4, + r = 36e5, + n = 'millisecond', + i = 'second', + a = 'minute', + s = 'hour', + l = 'day', + u = 'week', + h = 'month', + f = 'quarter', + d = 'year', + p = 'date', + m = 'Invalid Date', + g = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, + y = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, + v = { + name: 'en', + weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( + '_' + ), + ordinal: o(function (k) { + var I = ['th', 'st', 'nd', 'rd'], + C = k % 100; + return '[' + k + (I[(C - 20) % 10] || I[C] || I[0]) + ']'; + }, 'ordinal') + }, + x = o(function (k, I, C) { + var O = String(k); + return !O || O.length >= I ? k : '' + Array(I + 1 - O.length).join(C) + k; + }, 'm'), + b = { + s: x, + z: o(function (k) { + var I = -k.utcOffset(), + C = Math.abs(I), + O = Math.floor(C / 60), + D = C % 60; + return (I <= 0 ? '+' : '-') + x(O, 2, '0') + ':' + x(D, 2, '0'); + }, 'z'), + m: o(function k(I, C) { + if (I.date() < C.date()) return -k(C, I); + var O = 12 * (C.year() - I.year()) + (C.month() - I.month()), + D = I.clone().add(O, h), + P = C - D < 0, + F = I.clone().add(O + (P ? -1 : 1), h); + return +(-(O + (C - D) / (P ? D - F : F - D)) || 0); + }, 't'), + a: o(function (k) { + return k < 0 ? Math.ceil(k) || 0 : Math.floor(k); + }, 'a'), + p: o(function (k) { + return ( + { M: h, y: d, w: u, d: l, D: p, h: s, m: a, s: i, ms: n, Q: f }[k] || + String(k || '') + .toLowerCase() + .replace(/s$/, '') + ); + }, 'p'), + u: o(function (k) { + return k === void 0; + }, 'u') + }, + w = 'en', + S = {}; + S[w] = v; + var T = '$isDayjsObject', + E = o(function (k) { + return k instanceof M || !(!k || !k[T]); + }, 'S'), + _ = o(function k(I, C, O) { + var D; + if (!I) return w; + if (typeof I == 'string') { + var P = I.toLowerCase(); + S[P] && (D = P), C && ((S[P] = C), (D = P)); + var F = I.split('-'); + if (!D && F.length > 1) return k(F[0]); + } else { + var B = I.name; + (S[B] = I), (D = B); + } + return !O && D && (w = D), D || (!O && w); + }, 't'), + A = o(function (k, I) { + if (E(k)) return k.clone(); + var C = typeof I == 'object' ? I : {}; + return (C.date = k), (C.args = arguments), new M(C); + }, 'O'), + L = b; + (L.l = _), + (L.i = E), + (L.w = function (k, I) { + return A(k, { locale: I.$L, utc: I.$u, x: I.$x, $offset: I.$offset }); + }); + var M = (function () { + function k(C) { + (this.$L = _(C.locale, null, !0)), + this.parse(C), + (this.$x = this.$x || C.x || {}), + (this[T] = !0); + } + o(k, 'M'); + var I = k.prototype; + return ( + (I.parse = function (C) { + (this.$d = (function (O) { + var D = O.date, + P = O.utc; + if (D === null) return new Date(NaN); + if (L.u(D)) return new Date(); + if (D instanceof Date) return new Date(D); + if (typeof D == 'string' && !/Z$/i.test(D)) { + var F = D.match(g); + if (F) { + var B = F[2] - 1 || 0, + $ = (F[7] || '0').substring(0, 3); + return P + ? new Date(Date.UTC(F[1], B, F[3] || 1, F[4] || 0, F[5] || 0, F[6] || 0, $)) + : new Date(F[1], B, F[3] || 1, F[4] || 0, F[5] || 0, F[6] || 0, $); + } + } + return new Date(D); + })(C)), + this.init(); + }), + (I.init = function () { + var C = this.$d; + (this.$y = C.getFullYear()), + (this.$M = C.getMonth()), + (this.$D = C.getDate()), + (this.$W = C.getDay()), + (this.$H = C.getHours()), + (this.$m = C.getMinutes()), + (this.$s = C.getSeconds()), + (this.$ms = C.getMilliseconds()); + }), + (I.$utils = function () { + return L; + }), + (I.isValid = function () { + return this.$d.toString() !== m; + }), + (I.isSame = function (C, O) { + var D = A(C); + return this.startOf(O) <= D && D <= this.endOf(O); + }), + (I.isAfter = function (C, O) { + return A(C) < this.startOf(O); + }), + (I.isBefore = function (C, O) { + return this.endOf(O) < A(C); + }), + (I.$g = function (C, O, D) { + return L.u(C) ? this[O] : this.set(D, C); + }), + (I.unix = function () { + return Math.floor(this.valueOf() / 1e3); + }), + (I.valueOf = function () { + return this.$d.getTime(); + }), + (I.startOf = function (C, O) { + var D = this, + P = !!L.u(O) || O, + F = L.p(C), + B = o(function (J, Z) { + var H = L.w(D.$u ? Date.UTC(D.$y, Z, J) : new Date(D.$y, Z, J), D); + return P ? H : H.endOf(l); + }, 'l'), + $ = o(function (J, Z) { + return L.w( + D.toDate()[J].apply( + D.toDate('s'), + (P ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(Z) + ), + D + ); + }, '$'), + z = this.$W, + Y = this.$M, + Q = this.$D, + X = 'set' + (this.$u ? 'UTC' : ''); + switch (F) { + case d: + return P ? B(1, 0) : B(31, 11); + case h: + return P ? B(1, Y) : B(0, Y + 1); + case u: + var ie = this.$locale().weekStart || 0, + j = (z < ie ? z + 7 : z) - ie; + return B(P ? Q - j : Q + (6 - j), Y); + case l: + case p: + return $(X + 'Hours', 0); + case s: + return $(X + 'Minutes', 1); + case a: + return $(X + 'Seconds', 2); + case i: + return $(X + 'Milliseconds', 3); + default: + return this.clone(); + } + }), + (I.endOf = function (C) { + return this.startOf(C, !1); + }), + (I.$set = function (C, O) { + var D, + P = L.p(C), + F = 'set' + (this.$u ? 'UTC' : ''), + B = ((D = {}), + (D[l] = F + 'Date'), + (D[p] = F + 'Date'), + (D[h] = F + 'Month'), + (D[d] = F + 'FullYear'), + (D[s] = F + 'Hours'), + (D[a] = F + 'Minutes'), + (D[i] = F + 'Seconds'), + (D[n] = F + 'Milliseconds'), + D)[P], + $ = P === l ? this.$D + (O - this.$W) : O; + if (P === h || P === d) { + var z = this.clone().set(p, 1); + z.$d[B]($), z.init(), (this.$d = z.set(p, Math.min(this.$D, z.daysInMonth())).$d); + } else B && this.$d[B]($); + return this.init(), this; + }), + (I.set = function (C, O) { + return this.clone().$set(C, O); + }), + (I.get = function (C) { + return this[L.p(C)](); + }), + (I.add = function (C, O) { + var D, + P = this; + C = Number(C); + var F = L.p(O), + B = o(function (Y) { + var Q = A(P); + return L.w(Q.date(Q.date() + Math.round(Y * C)), P); + }, 'y'); + if (F === h) return this.set(h, this.$M + C); + if (F === d) return this.set(d, this.$y + C); + if (F === l) return B(1); + if (F === u) return B(7); + var $ = ((D = {}), (D[a] = e), (D[s] = r), (D[i] = t), D)[F] || 1, + z = this.$d.getTime() + C * $; + return L.w(z, this); + }), + (I.subtract = function (C, O) { + return this.add(-1 * C, O); + }), + (I.format = function (C) { + var O = this, + D = this.$locale(); + if (!this.isValid()) return D.invalidDate || m; + var P = C || 'YYYY-MM-DDTHH:mm:ssZ', + F = L.z(this), + B = this.$H, + $ = this.$m, + z = this.$M, + Y = D.weekdays, + Q = D.months, + X = D.meridiem, + ie = o(function (Z, H, q, K) { + return (Z && (Z[H] || Z(O, P))) || q[H].slice(0, K); + }, 'h'), + j = o(function (Z) { + return L.s(B % 12 || 12, Z, '0'); + }, 'd'), + J = + X || + function (Z, H, q) { + var K = Z < 12 ? 'AM' : 'PM'; + return q ? K.toLowerCase() : K; + }; + return P.replace(y, function (Z, H) { + return ( + H || + (function (q) { + switch (q) { + case 'YY': + return String(O.$y).slice(-2); + case 'YYYY': + return L.s(O.$y, 4, '0'); + case 'M': + return z + 1; + case 'MM': + return L.s(z + 1, 2, '0'); + case 'MMM': + return ie(D.monthsShort, z, Q, 3); + case 'MMMM': + return ie(Q, z); + case 'D': + return O.$D; + case 'DD': + return L.s(O.$D, 2, '0'); + case 'd': + return String(O.$W); + case 'dd': + return ie(D.weekdaysMin, O.$W, Y, 2); + case 'ddd': + return ie(D.weekdaysShort, O.$W, Y, 3); + case 'dddd': + return Y[O.$W]; + case 'H': + return String(B); + case 'HH': + return L.s(B, 2, '0'); + case 'h': + return j(1); + case 'hh': + return j(2); + case 'a': + return J(B, $, !0); + case 'A': + return J(B, $, !1); + case 'm': + return String($); + case 'mm': + return L.s($, 2, '0'); + case 's': + return String(O.$s); + case 'ss': + return L.s(O.$s, 2, '0'); + case 'SSS': + return L.s(O.$ms, 3, '0'); + case 'Z': + return F; + } + return null; + })(Z) || + F.replace(':', '') + ); + }); + }), + (I.utcOffset = function () { + return 15 * -Math.round(this.$d.getTimezoneOffset() / 15); + }), + (I.diff = function (C, O, D) { + var P, + F = this, + B = L.p(O), + $ = A(C), + z = ($.utcOffset() - this.utcOffset()) * e, + Y = this - $, + Q = o(function () { + return L.m(F, $); + }, 'D'); + switch (B) { + case d: + P = Q() / 12; + break; + case h: + P = Q(); + break; + case f: + P = Q() / 3; + break; + case u: + P = (Y - z) / 6048e5; + break; + case l: + P = (Y - z) / 864e5; + break; + case s: + P = Y / r; + break; + case a: + P = Y / e; + break; + case i: + P = Y / t; + break; + default: + P = Y; + } + return D ? P : L.a(P); + }), + (I.daysInMonth = function () { + return this.endOf(h).$D; + }), + (I.$locale = function () { + return S[this.$L]; + }), + (I.locale = function (C, O) { + if (!C) return this.$L; + var D = this.clone(), + P = _(C, O, !0); + return P && (D.$L = P), D; + }), + (I.clone = function () { + return L.w(this.$d, this); + }), + (I.toDate = function () { + return new Date(this.valueOf()); + }), + (I.toJSON = function () { + return this.isValid() ? this.toISOString() : null; + }), + (I.toISOString = function () { + return this.$d.toISOString(); + }), + (I.toString = function () { + return this.$d.toUTCString(); + }), + k + ); + })(), + N = M.prototype; + return ( + (A.prototype = N), + [ + ['$ms', n], + ['$s', i], + ['$m', a], + ['$H', s], + ['$W', l], + ['$M', h], + ['$y', d], + ['$D', p] + ].forEach(function (k) { + N[k[1]] = function (I) { + return this.$g(I, k[0], k[1]); + }; + }), + (A.extend = function (k, I) { + return k.$i || (k(I, M, A), (k.$i = !0)), A; + }), + (A.locale = _), + (A.isDayjs = E), + (A.unix = function (k) { + return A(1e3 * k); + }), + (A.en = S[w]), + (A.Ls = S), + (A.p = {}), + A + ); + }); + }); + var LF, + Zc, + V, + $1, + Eo, + ut = R(() => { + 'use strict'; + (LF = Xi(Nb(), 1)), + (Zc = { trace: 0, debug: 1, info: 2, warn: 3, error: 4, fatal: 5 }), + (V = { + trace: o((...t) => {}, 'trace'), + debug: o((...t) => {}, 'debug'), + info: o((...t) => {}, 'info'), + warn: o((...t) => {}, 'warn'), + error: o((...t) => {}, 'error'), + fatal: o((...t) => {}, 'fatal') + }), + ($1 = o(function (t = 'fatal') { + let e = Zc.fatal; + typeof t == 'string' ? t.toLowerCase() in Zc && (e = Zc[t]) : typeof t == 'number' && (e = t), + (V.trace = () => {}), + (V.debug = () => {}), + (V.info = () => {}), + (V.warn = () => {}), + (V.error = () => {}), + (V.fatal = () => {}), + e <= Zc.fatal && + (V.fatal = console.error + ? console.error.bind(console, Eo('FATAL'), 'color: orange') + : console.log.bind(console, '\x1B[35m', Eo('FATAL'))), + e <= Zc.error && + (V.error = console.error + ? console.error.bind(console, Eo('ERROR'), 'color: orange') + : console.log.bind(console, '\x1B[31m', Eo('ERROR'))), + e <= Zc.warn && + (V.warn = console.warn + ? console.warn.bind(console, Eo('WARN'), 'color: orange') + : console.log.bind(console, '\x1B[33m', Eo('WARN'))), + e <= Zc.info && + (V.info = console.info + ? console.info.bind(console, Eo('INFO'), 'color: lightblue') + : console.log.bind(console, '\x1B[34m', Eo('INFO'))), + e <= Zc.debug && + (V.debug = console.debug + ? console.debug.bind(console, Eo('DEBUG'), 'color: lightgreen') + : console.log.bind(console, '\x1B[32m', Eo('DEBUG'))), + e <= Zc.trace && + (V.trace = console.debug + ? console.debug.bind(console, Eo('TRACE'), 'color: lightgreen') + : console.log.bind(console, '\x1B[32m', Eo('TRACE'))); + }, 'setLogLevel')), + (Eo = o((t) => `%c${(0, LF.default)().format('ss.SSS')} : ${t} : `, 'format')); + }); + var Vve, + np, + LC, + DF, + Mb = R(() => { + 'use strict'; + (Vve = Object.freeze({ left: 0, top: 0, width: 16, height: 16 })), + (np = Object.freeze({ rotate: 0, vFlip: !1, hFlip: !1 })), + (LC = Object.freeze({ ...Vve, ...np })), + (DF = Object.freeze({ ...LC, body: '', hidden: !1 })); + }); + var Uve, + RF, + NF = R(() => { + 'use strict'; + Mb(); + (Uve = Object.freeze({ width: null, height: null })), (RF = Object.freeze({ ...Uve, ...np })); + }); + var Ib, + DC, + Ob, + MF = R(() => { + 'use strict'; + (Ib = /^[a-z0-9]+(-[a-z0-9]+)*$/), + (DC = o((t, e, r, n = '') => { + let i = t.split(':'); + if (t.slice(0, 1) === '@') { + if (i.length < 2 || i.length > 3) return null; + n = i.shift().slice(1); + } + if (i.length > 3 || !i.length) return null; + if (i.length > 1) { + let l = i.pop(), + u = i.pop(), + h = { provider: i.length > 0 ? i[0] : n, prefix: u, name: l }; + return e && !Ob(h) ? null : h; + } + let a = i[0], + s = a.split('-'); + if (s.length > 1) { + let l = { provider: n, prefix: s.shift(), name: s.join('-') }; + return e && !Ob(l) ? null : l; + } + if (r && n === '') { + let l = { provider: n, prefix: '', name: a }; + return e && !Ob(l, r) ? null : l; + } + return null; + }, 'stringToIcon')), + (Ob = o( + (t, e) => + t + ? !!( + (t.provider === '' || t.provider.match(Ib)) && + ((e && t.prefix === '') || t.prefix.match(Ib)) && + t.name.match(Ib) + ) + : !1, + 'validateIconName' + )); + }); + function IF(t, e) { + let r = {}; + !t.hFlip != !e.hFlip && (r.hFlip = !0), !t.vFlip != !e.vFlip && (r.vFlip = !0); + let n = ((t.rotate || 0) + (e.rotate || 0)) % 4; + return n && (r.rotate = n), r; + } + var OF = R(() => { + 'use strict'; + o(IF, 'mergeIconTransformations'); + }); + function RC(t, e) { + let r = IF(t, e); + for (let n in DF) + n in np ? n in t && !(n in r) && (r[n] = np[n]) : n in e ? (r[n] = e[n]) : n in t && (r[n] = t[n]); + return r; + } + var PF = R(() => { + 'use strict'; + Mb(); + OF(); + o(RC, 'mergeIconData'); + }); + function BF(t, e) { + let r = t.icons, + n = t.aliases || Object.create(null), + i = Object.create(null); + function a(s) { + if (r[s]) return (i[s] = []); + if (!(s in i)) { + i[s] = null; + let l = n[s] && n[s].parent, + u = l && a(l); + u && (i[s] = [l].concat(u)); + } + return i[s]; + } + return o(a, 'resolve'), (e || Object.keys(r).concat(Object.keys(n))).forEach(a), i; + } + var FF = R(() => { + 'use strict'; + o(BF, 'getIconsTree'); + }); + function zF(t, e, r) { + let n = t.icons, + i = t.aliases || Object.create(null), + a = {}; + function s(l) { + a = RC(n[l] || i[l], a); + } + return o(s, 'parse'), s(e), r.forEach(s), RC(t, a); + } + function NC(t, e) { + if (t.icons[e]) return zF(t, e, []); + let r = BF(t, [e])[e]; + return r ? zF(t, e, r) : null; + } + var GF = R(() => { + 'use strict'; + PF(); + FF(); + o(zF, 'internalGetIconData'); + o(NC, 'getIconData'); + }); + function MC(t, e, r) { + if (e === 1) return t; + if (((r = r || 100), typeof t == 'number')) return Math.ceil(t * e * r) / r; + if (typeof t != 'string') return t; + let n = t.split(Hve); + if (n === null || !n.length) return t; + let i = [], + a = n.shift(), + s = Yve.test(a); + for (;;) { + if (s) { + let l = parseFloat(a); + isNaN(l) ? i.push(a) : i.push(Math.ceil(l * e * r) / r); + } else i.push(a); + if (((a = n.shift()), a === void 0)) return i.join(''); + s = !s; + } + } + var Hve, + Yve, + $F = R(() => { + 'use strict'; + (Hve = /(-?[0-9.]*[0-9]+[0-9.]*)/g), (Yve = /^-?[0-9.]*[0-9]+[0-9.]*$/g); + o(MC, 'calculateSize'); + }); + function Wve(t, e = 'defs') { + let r = '', + n = t.indexOf('<' + e); + for (; n >= 0; ) { + let i = t.indexOf('>', n), + a = t.indexOf('', a); + if (s === -1) break; + (r += t.slice(i + 1, a).trim()), (t = t.slice(0, n).trim() + t.slice(s + 1)); + } + return { defs: r, content: t }; + } + function qve(t, e) { + return t ? '' + t + '' + e : e; + } + function VF(t, e, r) { + let n = Wve(t); + return qve(n.defs, e + n.content + r); + } + var UF = R(() => { + 'use strict'; + o(Wve, 'splitSVGDefs'); + o(qve, 'mergeDefsAndContent'); + o(VF, 'wrapSVGContent'); + }); + function IC(t, e) { + let r = { ...LC, ...t }, + n = { ...RF, ...e }, + i = { left: r.left, top: r.top, width: r.width, height: r.height }, + a = r.body; + [r, n].forEach((y) => { + let v = [], + x = y.hFlip, + b = y.vFlip, + w = y.rotate; + x + ? b + ? (w += 2) + : (v.push('translate(' + (i.width + i.left).toString() + ' ' + (0 - i.top).toString() + ')'), + v.push('scale(-1 1)'), + (i.top = i.left = 0)) + : b && + (v.push('translate(' + (0 - i.left).toString() + ' ' + (i.height + i.top).toString() + ')'), + v.push('scale(1 -1)'), + (i.top = i.left = 0)); + let S; + switch ((w < 0 && (w -= Math.floor(w / 4) * 4), (w = w % 4), w)) { + case 1: + (S = i.height / 2 + i.top), v.unshift('rotate(90 ' + S.toString() + ' ' + S.toString() + ')'); + break; + case 2: + v.unshift( + 'rotate(180 ' + + (i.width / 2 + i.left).toString() + + ' ' + + (i.height / 2 + i.top).toString() + + ')' + ); + break; + case 3: + (S = i.width / 2 + i.left), v.unshift('rotate(-90 ' + S.toString() + ' ' + S.toString() + ')'); + break; + } + w % 2 === 1 && + (i.left !== i.top && ((S = i.left), (i.left = i.top), (i.top = S)), + i.width !== i.height && ((S = i.width), (i.width = i.height), (i.height = S))), + v.length && (a = VF(a, '', '')); + }); + let s = n.width, + l = n.height, + u = i.width, + h = i.height, + f, + d; + s === null + ? ((d = l === null ? '1em' : l === 'auto' ? h : l), (f = MC(d, u / h))) + : ((f = s === 'auto' ? u : s), (d = l === null ? MC(f, h / u) : l === 'auto' ? h : l)); + let p = {}, + m = o((y, v) => { + Xve(v) || (p[y] = v.toString()); + }, 'setAttr'); + m('width', f), m('height', d); + let g = [i.left, i.top, u, h]; + return (p.viewBox = g.join(' ')), { attributes: p, viewBox: g, body: a }; + } + var Xve, + HF = R(() => { + 'use strict'; + Mb(); + NF(); + $F(); + UF(); + Xve = o((t) => t === 'unset' || t === 'undefined' || t === 'none', 'isUnsetKeyword'); + o(IC, 'iconToSVG'); + }); + function OC(t, e = Kve) { + let r = [], + n; + for (; (n = jve.exec(t)); ) r.push(n[1]); + if (!r.length) return t; + let i = 'suffix' + ((Math.random() * 16777216) | Date.now()).toString(16); + return ( + r.forEach((a) => { + let s = typeof e == 'function' ? e(a) : e + (Qve++).toString(), + l = a.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); + t = t.replace(new RegExp('([#;"])(' + l + ')([")]|\\.[a-z])', 'g'), '$1' + s + i + '$3'); + }), + (t = t.replace(new RegExp(i, 'g'), '')), + t + ); + } + var jve, + Kve, + Qve, + YF = R(() => { + 'use strict'; + (jve = /\sid="(\S+)"/g), + (Kve = 'IconifyId' + Date.now().toString(16) + ((Math.random() * 16777216) | 0).toString(16)), + (Qve = 0); + o(OC, 'replaceIDs'); + }); + function PC(t, e) { + let r = t.indexOf('xlink:') === -1 ? '' : ' xmlns:xlink="http://www.w3.org/1999/xlink"'; + for (let n in e) r += ' ' + n + '="' + e[n] + '"'; + return '' + t + ''; + } + var WF = R(() => { + 'use strict'; + o(PC, 'iconToHTML'); + }); + var XF = gi((ait, qF) => { + 'use strict'; + var ip = 1e3, + ap = ip * 60, + sp = ap * 60, + $f = sp * 24, + Zve = $f * 7, + Jve = $f * 365.25; + qF.exports = function (t, e) { + e = e || {}; + var r = typeof t; + if (r === 'string' && t.length > 0) return e2e(t); + if (r === 'number' && isFinite(t)) return e.long ? r2e(t) : t2e(t); + throw new Error('val is not a non-empty string or a valid number. val=' + JSON.stringify(t)); + }; + function e2e(t) { + if (((t = String(t)), !(t.length > 100))) { + var e = + /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec( + t + ); + if (e) { + var r = parseFloat(e[1]), + n = (e[2] || 'ms').toLowerCase(); + switch (n) { + case 'years': + case 'year': + case 'yrs': + case 'yr': + case 'y': + return r * Jve; + case 'weeks': + case 'week': + case 'w': + return r * Zve; + case 'days': + case 'day': + case 'd': + return r * $f; + case 'hours': + case 'hour': + case 'hrs': + case 'hr': + case 'h': + return r * sp; + case 'minutes': + case 'minute': + case 'mins': + case 'min': + case 'm': + return r * ap; + case 'seconds': + case 'second': + case 'secs': + case 'sec': + case 's': + return r * ip; + case 'milliseconds': + case 'millisecond': + case 'msecs': + case 'msec': + case 'ms': + return r; + default: + return; + } + } + } + } + o(e2e, 'parse'); + function t2e(t) { + var e = Math.abs(t); + return e >= $f + ? Math.round(t / $f) + 'd' + : e >= sp + ? Math.round(t / sp) + 'h' + : e >= ap + ? Math.round(t / ap) + 'm' + : e >= ip + ? Math.round(t / ip) + 's' + : t + 'ms'; + } + o(t2e, 'fmtShort'); + function r2e(t) { + var e = Math.abs(t); + return e >= $f + ? Pb(t, e, $f, 'day') + : e >= sp + ? Pb(t, e, sp, 'hour') + : e >= ap + ? Pb(t, e, ap, 'minute') + : e >= ip + ? Pb(t, e, ip, 'second') + : t + ' ms'; + } + o(r2e, 'fmtLong'); + function Pb(t, e, r, n) { + var i = e >= r * 1.5; + return Math.round(t / r) + ' ' + n + (i ? 's' : ''); + } + o(Pb, 'plural'); + }); + var KF = gi((oit, jF) => { + 'use strict'; + function n2e(t) { + (r.debug = r), + (r.default = r), + (r.coerce = u), + (r.disable = a), + (r.enable = i), + (r.enabled = s), + (r.humanize = XF()), + (r.destroy = h), + Object.keys(t).forEach((f) => { + r[f] = t[f]; + }), + (r.names = []), + (r.skips = []), + (r.formatters = {}); + function e(f) { + let d = 0; + for (let p = 0; p < f.length; p++) (d = (d << 5) - d + f.charCodeAt(p)), (d |= 0); + return r.colors[Math.abs(d) % r.colors.length]; + } + o(e, 'selectColor'), (r.selectColor = e); + function r(f) { + let d, + p = null, + m, + g; + function y(...v) { + if (!y.enabled) return; + let x = y, + b = Number(new Date()), + w = b - (d || b); + (x.diff = w), + (x.prev = d), + (x.curr = b), + (d = b), + (v[0] = r.coerce(v[0])), + typeof v[0] != 'string' && v.unshift('%O'); + let S = 0; + (v[0] = v[0].replace(/%([a-zA-Z%])/g, (E, _) => { + if (E === '%%') return '%'; + S++; + let A = r.formatters[_]; + if (typeof A == 'function') { + let L = v[S]; + (E = A.call(x, L)), v.splice(S, 1), S--; + } + return E; + })), + r.formatArgs.call(x, v), + (x.log || r.log).apply(x, v); + } + return ( + o(y, 'debug'), + (y.namespace = f), + (y.useColors = r.useColors()), + (y.color = r.selectColor(f)), + (y.extend = n), + (y.destroy = r.destroy), + Object.defineProperty(y, 'enabled', { + enumerable: !0, + configurable: !1, + get: o( + () => + p !== null ? p : (m !== r.namespaces && ((m = r.namespaces), (g = r.enabled(f))), g), + 'get' + ), + set: o((v) => { + p = v; + }, 'set') + }), + typeof r.init == 'function' && r.init(y), + y + ); + } + o(r, 'createDebug'); + function n(f, d) { + let p = r(this.namespace + (typeof d > 'u' ? ':' : d) + f); + return (p.log = this.log), p; + } + o(n, 'extend'); + function i(f) { + r.save(f), (r.namespaces = f), (r.names = []), (r.skips = []); + let d, + p = (typeof f == 'string' ? f : '').split(/[\s,]+/), + m = p.length; + for (d = 0; d < m; d++) + p[d] && + ((f = p[d].replace(/\*/g, '.*?')), + f[0] === '-' + ? r.skips.push(new RegExp('^' + f.slice(1) + '$')) + : r.names.push(new RegExp('^' + f + '$'))); + } + o(i, 'enable'); + function a() { + let f = [...r.names.map(l), ...r.skips.map(l).map((d) => '-' + d)].join(','); + return r.enable(''), f; + } + o(a, 'disable'); + function s(f) { + if (f[f.length - 1] === '*') return !0; + let d, p; + for (d = 0, p = r.skips.length; d < p; d++) if (r.skips[d].test(f)) return !1; + for (d = 0, p = r.names.length; d < p; d++) if (r.names[d].test(f)) return !0; + return !1; + } + o(s, 'enabled'); + function l(f) { + return f + .toString() + .substring(2, f.toString().length - 2) + .replace(/\.\*\?$/, '*'); + } + o(l, 'toNamespace'); + function u(f) { + return f instanceof Error ? f.stack || f.message : f; + } + o(u, 'coerce'); + function h() { + console.warn( + 'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.' + ); + } + return o(h, 'destroy'), r.enable(r.load()), r; + } + o(n2e, 'setup'); + jF.exports = n2e; + }); + var QF = gi((Ys, Bb) => { + 'use strict'; + Ys.formatArgs = a2e; + Ys.save = s2e; + Ys.load = o2e; + Ys.useColors = i2e; + Ys.storage = l2e(); + Ys.destroy = (() => { + let t = !1; + return () => { + t || + ((t = !0), + console.warn( + 'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.' + )); + }; + })(); + Ys.colors = [ + '#0000CC', + '#0000FF', + '#0033CC', + '#0033FF', + '#0066CC', + '#0066FF', + '#0099CC', + '#0099FF', + '#00CC00', + '#00CC33', + '#00CC66', + '#00CC99', + '#00CCCC', + '#00CCFF', + '#3300CC', + '#3300FF', + '#3333CC', + '#3333FF', + '#3366CC', + '#3366FF', + '#3399CC', + '#3399FF', + '#33CC00', + '#33CC33', + '#33CC66', + '#33CC99', + '#33CCCC', + '#33CCFF', + '#6600CC', + '#6600FF', + '#6633CC', + '#6633FF', + '#66CC00', + '#66CC33', + '#9900CC', + '#9900FF', + '#9933CC', + '#9933FF', + '#99CC00', + '#99CC33', + '#CC0000', + '#CC0033', + '#CC0066', + '#CC0099', + '#CC00CC', + '#CC00FF', + '#CC3300', + '#CC3333', + '#CC3366', + '#CC3399', + '#CC33CC', + '#CC33FF', + '#CC6600', + '#CC6633', + '#CC9900', + '#CC9933', + '#CCCC00', + '#CCCC33', + '#FF0000', + '#FF0033', + '#FF0066', + '#FF0099', + '#FF00CC', + '#FF00FF', + '#FF3300', + '#FF3333', + '#FF3366', + '#FF3399', + '#FF33CC', + '#FF33FF', + '#FF6600', + '#FF6633', + '#FF9900', + '#FF9933', + '#FFCC00', + '#FFCC33' + ]; + function i2e() { + if (typeof window < 'u' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) + return !0; + if ( + typeof navigator < 'u' && + navigator.userAgent && + navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/) + ) + return !1; + let t; + return ( + (typeof document < 'u' && + document.documentElement && + document.documentElement.style && + document.documentElement.style.WebkitAppearance) || + (typeof window < 'u' && + window.console && + (window.console.firebug || (window.console.exception && window.console.table))) || + (typeof navigator < 'u' && + navigator.userAgent && + (t = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) && + parseInt(t[1], 10) >= 31) || + (typeof navigator < 'u' && + navigator.userAgent && + navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)) + ); + } + o(i2e, 'useColors'); + function a2e(t) { + if ( + ((t[0] = + (this.useColors ? '%c' : '') + + this.namespace + + (this.useColors ? ' %c' : ' ') + + t[0] + + (this.useColors ? '%c ' : ' ') + + '+' + + Bb.exports.humanize(this.diff)), + !this.useColors) + ) + return; + let e = 'color: ' + this.color; + t.splice(1, 0, e, 'color: inherit'); + let r = 0, + n = 0; + t[0].replace(/%[a-zA-Z%]/g, (i) => { + i !== '%%' && (r++, i === '%c' && (n = r)); + }), + t.splice(n, 0, e); + } + o(a2e, 'formatArgs'); + Ys.log = console.debug || console.log || (() => {}); + function s2e(t) { + try { + t ? Ys.storage.setItem('debug', t) : Ys.storage.removeItem('debug'); + } catch {} + } + o(s2e, 'save'); + function o2e() { + let t; + try { + t = Ys.storage.getItem('debug'); + } catch {} + return !t && typeof process < 'u' && 'env' in process && (t = process.env.DEBUG), t; + } + o(o2e, 'load'); + function l2e() { + try { + return localStorage; + } catch {} + } + o(l2e, 'localstorage'); + Bb.exports = KF()(Ys); + var { formatters: c2e } = Bb.exports; + c2e.j = function (t) { + try { + return JSON.stringify(t); + } catch (e) { + return '[UnexpectedJSONParseError]: ' + e.message; + } + }; + }); + var uit, + ZF = R(() => { + 'use strict'; + MF(); + GF(); + HF(); + YF(); + WF(); + uit = Xi(QF(), 1); + }); + var FC, + BC, + JF, + Fb, + u2e, + zb, + V1 = R(() => { + 'use strict'; + ut(); + ZF(); + (FC = { + body: '?', + height: 80, + width: 80 + }), + (BC = new Map()), + (JF = new Map()), + (Fb = o((t) => { + for (let e of t) { + if (!e.name) + throw new Error( + 'Invalid icon loader. Must have a "name" property with non-empty string value.' + ); + if ((V.debug('Registering icon pack:', e.name), 'loader' in e)) JF.set(e.name, e.loader); + else if ('icons' in e) BC.set(e.name, e.icons); + else + throw ( + (V.error('Invalid icon loader:', e), + new Error('Invalid icon loader. Must have either "icons" or "loader" property.')) + ); + } + }, 'registerIconPacks')), + (u2e = o(async (t, e) => { + let r = DC(t, !0, e !== void 0); + if (!r) throw new Error(`Invalid icon name: ${t}`); + let n = r.prefix || e; + if (!n) throw new Error(`Icon name must contain a prefix: ${t}`); + let i = BC.get(n); + if (!i) { + let s = JF.get(n); + if (!s) throw new Error(`Icon set not found: ${r.prefix}`); + try { + (i = { ...(await s()), prefix: n }), BC.set(n, i); + } catch (l) { + throw (V.error(l), new Error(`Failed to load icon set: ${r.prefix}`)); + } + } + let a = NC(i, r.name); + if (!a) throw new Error(`Icon not found: ${t}`); + return a; + }, 'getRegisteredIconData')), + (zb = o(async (t, e) => { + let r; + try { + r = await u2e(t, e?.fallbackPrefix); + } catch (a) { + V.error(a), (r = FC); + } + let n = IC(r, e); + return PC(OC(n.body), n.attributes); + }, 'getIconSVG')); + }); + function Gb(t) { + for (var e = [], r = 1; r < arguments.length; r++) e[r - 1] = arguments[r]; + var n = Array.from(typeof t == 'string' ? [t] : t); + n[n.length - 1] = n[n.length - 1].replace(/\r?\n([\t ]*)$/, ''); + var i = n.reduce(function (l, u) { + var h = u.match(/\n([\t ]+|(?!\s).)/g); + return h + ? l.concat( + h.map(function (f) { + var d, p; + return (p = (d = f.match(/[\t ]/g)) === null || d === void 0 ? void 0 : d.length) !== null && + p !== void 0 + ? p + : 0; + }) + ) + : l; + }, []); + if (i.length) { + var a = new RegExp( + ` +[ ]{` + + Math.min.apply(Math, i) + + '}', + 'g' + ); + n = n.map(function (l) { + return l.replace( + a, + ` +` + ); + }); + } + n[0] = n[0].replace(/^\r?\n/, ''); + var s = n[0]; + return ( + e.forEach(function (l, u) { + var h = s.match(/(?:^|\n)( *)$/), + f = h ? h[1] : '', + d = l; + typeof l == 'string' && + l.includes(` +`) && + (d = String(l) + .split( + ` +` + ) + .map(function (p, m) { + return m === 0 ? p : '' + f + p; + }).join(` +`)), + (s += d + n[u + 1]); + }), + s + ); + } + var zC = R(() => { + 'use strict'; + o(Gb, 'dedent'); + }); + var $b, + Vf, + ez, + Vb = R(() => { + 'use strict'; + ($b = /^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s), + (Vf = /%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi), + (ez = /\s*%%.*\n/gm); + }); + var op, + GC = R(() => { + 'use strict'; + op = class extends Error { + static { + o(this, 'UnknownDiagramError'); + } + constructor(e) { + super(e), (this.name = 'UnknownDiagramError'); + } + }; + }); + var Uf, + lp, + Ub, + $C, + tz, + Hf = R(() => { + 'use strict'; + ut(); + Vb(); + GC(); + (Uf = {}), + (lp = o(function (t, e) { + t = t + .replace($b, '') + .replace(Vf, '') + .replace( + ez, + ` +` + ); + for (let [r, { detector: n }] of Object.entries(Uf)) if (n(t, e)) return r; + throw new op(`No diagram type detected matching given configuration for text: ${t}`); + }, 'detectType')), + (Ub = o((...t) => { + for (let { id: e, detector: r, loader: n } of t) $C(e, r, n); + }, 'registerLazyLoadedDiagrams')), + ($C = o((t, e, r) => { + Uf[t] && V.warn(`Detector with key ${t} already exists. Overwriting.`), + (Uf[t] = { detector: e, loader: r }), + V.debug(`Detector with key ${t} added${r ? ' with loader' : ''}`); + }, 'addDetector')), + (tz = o((t) => Uf[t].loader, 'getDiagramLoader')); + }); + var U1, + rz, + VC = R(() => { + 'use strict'; + U1 = (function () { + var t = o(function (_e, me, W, fe) { + for (W = W || {}, fe = _e.length; fe--; W[_e[fe]] = me); + return W; + }, 'o'), + e = [1, 24], + r = [1, 25], + n = [1, 26], + i = [1, 27], + a = [1, 28], + s = [1, 63], + l = [1, 64], + u = [1, 65], + h = [1, 66], + f = [1, 67], + d = [1, 68], + p = [1, 69], + m = [1, 29], + g = [1, 30], + y = [1, 31], + v = [1, 32], + x = [1, 33], + b = [1, 34], + w = [1, 35], + S = [1, 36], + T = [1, 37], + E = [1, 38], + _ = [1, 39], + A = [1, 40], + L = [1, 41], + M = [1, 42], + N = [1, 43], + k = [1, 44], + I = [1, 45], + C = [1, 46], + O = [1, 47], + D = [1, 48], + P = [1, 50], + F = [1, 51], + B = [1, 52], + $ = [1, 53], + z = [1, 54], + Y = [1, 55], + Q = [1, 56], + X = [1, 57], + ie = [1, 58], + j = [1, 59], + J = [1, 60], + Z = [14, 42], + H = [ + 14, 34, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74 + ], + q = [ + 12, 14, 34, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74 + ], + K = [1, 82], + se = [1, 83], + ce = [1, 84], + ue = [1, 85], + te = [12, 14, 42], + De = [12, 14, 33, 42], + oe = [12, 14, 33, 42, 76, 77, 79, 80], + ke = [12, 33], + Ie = [ + 34, 36, 37, 38, 39, 40, 41, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74 + ], + Se = { + trace: o(function () {}, 'trace'), + yy: {}, + symbols_: { + error: 2, + start: 3, + mermaidDoc: 4, + direction: 5, + direction_tb: 6, + direction_bt: 7, + direction_rl: 8, + direction_lr: 9, + graphConfig: 10, + C4_CONTEXT: 11, + NEWLINE: 12, + statements: 13, + EOF: 14, + C4_CONTAINER: 15, + C4_COMPONENT: 16, + C4_DYNAMIC: 17, + C4_DEPLOYMENT: 18, + otherStatements: 19, + diagramStatements: 20, + otherStatement: 21, + title: 22, + accDescription: 23, + acc_title: 24, + acc_title_value: 25, + acc_descr: 26, + acc_descr_value: 27, + acc_descr_multiline_value: 28, + boundaryStatement: 29, + boundaryStartStatement: 30, + boundaryStopStatement: 31, + boundaryStart: 32, + LBRACE: 33, + ENTERPRISE_BOUNDARY: 34, + attributes: 35, + SYSTEM_BOUNDARY: 36, + BOUNDARY: 37, + CONTAINER_BOUNDARY: 38, + NODE: 39, + NODE_L: 40, + NODE_R: 41, + RBRACE: 42, + diagramStatement: 43, + PERSON: 44, + PERSON_EXT: 45, + SYSTEM: 46, + SYSTEM_DB: 47, + SYSTEM_QUEUE: 48, + SYSTEM_EXT: 49, + SYSTEM_EXT_DB: 50, + SYSTEM_EXT_QUEUE: 51, + CONTAINER: 52, + CONTAINER_DB: 53, + CONTAINER_QUEUE: 54, + CONTAINER_EXT: 55, + CONTAINER_EXT_DB: 56, + CONTAINER_EXT_QUEUE: 57, + COMPONENT: 58, + COMPONENT_DB: 59, + COMPONENT_QUEUE: 60, + COMPONENT_EXT: 61, + COMPONENT_EXT_DB: 62, + COMPONENT_EXT_QUEUE: 63, + REL: 64, + BIREL: 65, + REL_U: 66, + REL_D: 67, + REL_L: 68, + REL_R: 69, + REL_B: 70, + REL_INDEX: 71, + UPDATE_EL_STYLE: 72, + UPDATE_REL_STYLE: 73, + UPDATE_LAYOUT_CONFIG: 74, + attribute: 75, + STR: 76, + STR_KEY: 77, + STR_VALUE: 78, + ATTRIBUTE: 79, + ATTRIBUTE_EMPTY: 80, + $accept: 0, + $end: 1 + }, + terminals_: { + 2: 'error', + 6: 'direction_tb', + 7: 'direction_bt', + 8: 'direction_rl', + 9: 'direction_lr', + 11: 'C4_CONTEXT', + 12: 'NEWLINE', + 14: 'EOF', + 15: 'C4_CONTAINER', + 16: 'C4_COMPONENT', + 17: 'C4_DYNAMIC', + 18: 'C4_DEPLOYMENT', + 22: 'title', + 23: 'accDescription', + 24: 'acc_title', + 25: 'acc_title_value', + 26: 'acc_descr', + 27: 'acc_descr_value', + 28: 'acc_descr_multiline_value', + 33: 'LBRACE', + 34: 'ENTERPRISE_BOUNDARY', + 36: 'SYSTEM_BOUNDARY', + 37: 'BOUNDARY', + 38: 'CONTAINER_BOUNDARY', + 39: 'NODE', + 40: 'NODE_L', + 41: 'NODE_R', + 42: 'RBRACE', + 44: 'PERSON', + 45: 'PERSON_EXT', + 46: 'SYSTEM', + 47: 'SYSTEM_DB', + 48: 'SYSTEM_QUEUE', + 49: 'SYSTEM_EXT', + 50: 'SYSTEM_EXT_DB', + 51: 'SYSTEM_EXT_QUEUE', + 52: 'CONTAINER', + 53: 'CONTAINER_DB', + 54: 'CONTAINER_QUEUE', + 55: 'CONTAINER_EXT', + 56: 'CONTAINER_EXT_DB', + 57: 'CONTAINER_EXT_QUEUE', + 58: 'COMPONENT', + 59: 'COMPONENT_DB', + 60: 'COMPONENT_QUEUE', + 61: 'COMPONENT_EXT', + 62: 'COMPONENT_EXT_DB', + 63: 'COMPONENT_EXT_QUEUE', + 64: 'REL', + 65: 'BIREL', + 66: 'REL_U', + 67: 'REL_D', + 68: 'REL_L', + 69: 'REL_R', + 70: 'REL_B', + 71: 'REL_INDEX', + 72: 'UPDATE_EL_STYLE', + 73: 'UPDATE_REL_STYLE', + 74: 'UPDATE_LAYOUT_CONFIG', + 76: 'STR', + 77: 'STR_KEY', + 78: 'STR_VALUE', + 79: 'ATTRIBUTE', + 80: 'ATTRIBUTE_EMPTY' + }, + productions_: [ + 0, + [3, 1], + [3, 1], + [5, 1], + [5, 1], + [5, 1], + [5, 1], + [4, 1], + [10, 4], + [10, 4], + [10, 4], + [10, 4], + [10, 4], + [13, 1], + [13, 1], + [13, 2], + [19, 1], + [19, 2], + [19, 3], + [21, 1], + [21, 1], + [21, 2], + [21, 2], + [21, 1], + [29, 3], + [30, 3], + [30, 3], + [30, 4], + [32, 2], + [32, 2], + [32, 2], + [32, 2], + [32, 2], + [32, 2], + [32, 2], + [31, 1], + [20, 1], + [20, 2], + [20, 3], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 1], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [35, 1], + [35, 2], + [75, 1], + [75, 2], + [75, 1], + [75, 1] + ], + performAction: o(function (me, W, fe, ge, re, he, ne) { + var ae = he.length - 1; + switch (re) { + case 3: + ge.setDirection('TB'); + break; + case 4: + ge.setDirection('BT'); + break; + case 5: + ge.setDirection('RL'); + break; + case 6: + ge.setDirection('LR'); + break; + case 8: + case 9: + case 10: + case 11: + case 12: + ge.setC4Type(he[ae - 3]); + break; + case 19: + ge.setTitle(he[ae].substring(6)), (this.$ = he[ae].substring(6)); + break; + case 20: + ge.setAccDescription(he[ae].substring(15)), (this.$ = he[ae].substring(15)); + break; + case 21: + (this.$ = he[ae].trim()), ge.setTitle(this.$); + break; + case 22: + case 23: + (this.$ = he[ae].trim()), ge.setAccDescription(this.$); + break; + case 28: + he[ae].splice(2, 0, 'ENTERPRISE'), + ge.addPersonOrSystemBoundary(...he[ae]), + (this.$ = he[ae]); + break; + case 29: + he[ae].splice(2, 0, 'SYSTEM'), + ge.addPersonOrSystemBoundary(...he[ae]), + (this.$ = he[ae]); + break; + case 30: + ge.addPersonOrSystemBoundary(...he[ae]), (this.$ = he[ae]); + break; + case 31: + he[ae].splice(2, 0, 'CONTAINER'), + ge.addContainerBoundary(...he[ae]), + (this.$ = he[ae]); + break; + case 32: + ge.addDeploymentNode('node', ...he[ae]), (this.$ = he[ae]); + break; + case 33: + ge.addDeploymentNode('nodeL', ...he[ae]), (this.$ = he[ae]); + break; + case 34: + ge.addDeploymentNode('nodeR', ...he[ae]), (this.$ = he[ae]); + break; + case 35: + ge.popBoundaryParseStack(); + break; + case 39: + ge.addPersonOrSystem('person', ...he[ae]), (this.$ = he[ae]); + break; + case 40: + ge.addPersonOrSystem('external_person', ...he[ae]), (this.$ = he[ae]); + break; + case 41: + ge.addPersonOrSystem('system', ...he[ae]), (this.$ = he[ae]); + break; + case 42: + ge.addPersonOrSystem('system_db', ...he[ae]), (this.$ = he[ae]); + break; + case 43: + ge.addPersonOrSystem('system_queue', ...he[ae]), (this.$ = he[ae]); + break; + case 44: + ge.addPersonOrSystem('external_system', ...he[ae]), (this.$ = he[ae]); + break; + case 45: + ge.addPersonOrSystem('external_system_db', ...he[ae]), (this.$ = he[ae]); + break; + case 46: + ge.addPersonOrSystem('external_system_queue', ...he[ae]), (this.$ = he[ae]); + break; + case 47: + ge.addContainer('container', ...he[ae]), (this.$ = he[ae]); + break; + case 48: + ge.addContainer('container_db', ...he[ae]), (this.$ = he[ae]); + break; + case 49: + ge.addContainer('container_queue', ...he[ae]), (this.$ = he[ae]); + break; + case 50: + ge.addContainer('external_container', ...he[ae]), (this.$ = he[ae]); + break; + case 51: + ge.addContainer('external_container_db', ...he[ae]), (this.$ = he[ae]); + break; + case 52: + ge.addContainer('external_container_queue', ...he[ae]), (this.$ = he[ae]); + break; + case 53: + ge.addComponent('component', ...he[ae]), (this.$ = he[ae]); + break; + case 54: + ge.addComponent('component_db', ...he[ae]), (this.$ = he[ae]); + break; + case 55: + ge.addComponent('component_queue', ...he[ae]), (this.$ = he[ae]); + break; + case 56: + ge.addComponent('external_component', ...he[ae]), (this.$ = he[ae]); + break; + case 57: + ge.addComponent('external_component_db', ...he[ae]), (this.$ = he[ae]); + break; + case 58: + ge.addComponent('external_component_queue', ...he[ae]), (this.$ = he[ae]); + break; + case 60: + ge.addRel('rel', ...he[ae]), (this.$ = he[ae]); + break; + case 61: + ge.addRel('birel', ...he[ae]), (this.$ = he[ae]); + break; + case 62: + ge.addRel('rel_u', ...he[ae]), (this.$ = he[ae]); + break; + case 63: + ge.addRel('rel_d', ...he[ae]), (this.$ = he[ae]); + break; + case 64: + ge.addRel('rel_l', ...he[ae]), (this.$ = he[ae]); + break; + case 65: + ge.addRel('rel_r', ...he[ae]), (this.$ = he[ae]); + break; + case 66: + ge.addRel('rel_b', ...he[ae]), (this.$ = he[ae]); + break; + case 67: + he[ae].splice(0, 1), ge.addRel('rel', ...he[ae]), (this.$ = he[ae]); + break; + case 68: + ge.updateElStyle('update_el_style', ...he[ae]), (this.$ = he[ae]); + break; + case 69: + ge.updateRelStyle('update_rel_style', ...he[ae]), (this.$ = he[ae]); + break; + case 70: + ge.updateLayoutConfig('update_layout_config', ...he[ae]), (this.$ = he[ae]); + break; + case 71: + this.$ = [he[ae]]; + break; + case 72: + he[ae].unshift(he[ae - 1]), (this.$ = he[ae]); + break; + case 73: + case 75: + this.$ = he[ae].trim(); + break; + case 74: + let we = {}; + (we[he[ae - 1].trim()] = he[ae].trim()), (this.$ = we); + break; + case 76: + this.$ = ''; + break; + } + }, 'anonymous'), + table: [ + { + 3: 1, + 4: 2, + 5: 3, + 6: [1, 5], + 7: [1, 6], + 8: [1, 7], + 9: [1, 8], + 10: 4, + 11: [1, 9], + 15: [1, 10], + 16: [1, 11], + 17: [1, 12], + 18: [1, 13] + }, + { 1: [3] }, + { 1: [2, 1] }, + { 1: [2, 2] }, + { 1: [2, 7] }, + { 1: [2, 3] }, + { 1: [2, 4] }, + { 1: [2, 5] }, + { 1: [2, 6] }, + { 12: [1, 14] }, + { 12: [1, 15] }, + { 12: [1, 16] }, + { 12: [1, 17] }, + { 12: [1, 18] }, + { + 13: 19, + 19: 20, + 20: 21, + 21: 22, + 22: e, + 23: r, + 24: n, + 26: i, + 28: a, + 29: 49, + 30: 61, + 32: 62, + 34: s, + 36: l, + 37: u, + 38: h, + 39: f, + 40: d, + 41: p, + 43: 23, + 44: m, + 45: g, + 46: y, + 47: v, + 48: x, + 49: b, + 50: w, + 51: S, + 52: T, + 53: E, + 54: _, + 55: A, + 56: L, + 57: M, + 58: N, + 59: k, + 60: I, + 61: C, + 62: O, + 63: D, + 64: P, + 65: F, + 66: B, + 67: $, + 68: z, + 69: Y, + 70: Q, + 71: X, + 72: ie, + 73: j, + 74: J + }, + { + 13: 70, + 19: 20, + 20: 21, + 21: 22, + 22: e, + 23: r, + 24: n, + 26: i, + 28: a, + 29: 49, + 30: 61, + 32: 62, + 34: s, + 36: l, + 37: u, + 38: h, + 39: f, + 40: d, + 41: p, + 43: 23, + 44: m, + 45: g, + 46: y, + 47: v, + 48: x, + 49: b, + 50: w, + 51: S, + 52: T, + 53: E, + 54: _, + 55: A, + 56: L, + 57: M, + 58: N, + 59: k, + 60: I, + 61: C, + 62: O, + 63: D, + 64: P, + 65: F, + 66: B, + 67: $, + 68: z, + 69: Y, + 70: Q, + 71: X, + 72: ie, + 73: j, + 74: J + }, + { + 13: 71, + 19: 20, + 20: 21, + 21: 22, + 22: e, + 23: r, + 24: n, + 26: i, + 28: a, + 29: 49, + 30: 61, + 32: 62, + 34: s, + 36: l, + 37: u, + 38: h, + 39: f, + 40: d, + 41: p, + 43: 23, + 44: m, + 45: g, + 46: y, + 47: v, + 48: x, + 49: b, + 50: w, + 51: S, + 52: T, + 53: E, + 54: _, + 55: A, + 56: L, + 57: M, + 58: N, + 59: k, + 60: I, + 61: C, + 62: O, + 63: D, + 64: P, + 65: F, + 66: B, + 67: $, + 68: z, + 69: Y, + 70: Q, + 71: X, + 72: ie, + 73: j, + 74: J + }, + { + 13: 72, + 19: 20, + 20: 21, + 21: 22, + 22: e, + 23: r, + 24: n, + 26: i, + 28: a, + 29: 49, + 30: 61, + 32: 62, + 34: s, + 36: l, + 37: u, + 38: h, + 39: f, + 40: d, + 41: p, + 43: 23, + 44: m, + 45: g, + 46: y, + 47: v, + 48: x, + 49: b, + 50: w, + 51: S, + 52: T, + 53: E, + 54: _, + 55: A, + 56: L, + 57: M, + 58: N, + 59: k, + 60: I, + 61: C, + 62: O, + 63: D, + 64: P, + 65: F, + 66: B, + 67: $, + 68: z, + 69: Y, + 70: Q, + 71: X, + 72: ie, + 73: j, + 74: J + }, + { + 13: 73, + 19: 20, + 20: 21, + 21: 22, + 22: e, + 23: r, + 24: n, + 26: i, + 28: a, + 29: 49, + 30: 61, + 32: 62, + 34: s, + 36: l, + 37: u, + 38: h, + 39: f, + 40: d, + 41: p, + 43: 23, + 44: m, + 45: g, + 46: y, + 47: v, + 48: x, + 49: b, + 50: w, + 51: S, + 52: T, + 53: E, + 54: _, + 55: A, + 56: L, + 57: M, + 58: N, + 59: k, + 60: I, + 61: C, + 62: O, + 63: D, + 64: P, + 65: F, + 66: B, + 67: $, + 68: z, + 69: Y, + 70: Q, + 71: X, + 72: ie, + 73: j, + 74: J + }, + { 14: [1, 74] }, + t(Z, [2, 13], { + 43: 23, + 29: 49, + 30: 61, + 32: 62, + 20: 75, + 34: s, + 36: l, + 37: u, + 38: h, + 39: f, + 40: d, + 41: p, + 44: m, + 45: g, + 46: y, + 47: v, + 48: x, + 49: b, + 50: w, + 51: S, + 52: T, + 53: E, + 54: _, + 55: A, + 56: L, + 57: M, + 58: N, + 59: k, + 60: I, + 61: C, + 62: O, + 63: D, + 64: P, + 65: F, + 66: B, + 67: $, + 68: z, + 69: Y, + 70: Q, + 71: X, + 72: ie, + 73: j, + 74: J + }), + t(Z, [2, 14]), + t(H, [2, 16], { 12: [1, 76] }), + t(Z, [2, 36], { 12: [1, 77] }), + t(q, [2, 19]), + t(q, [2, 20]), + { 25: [1, 78] }, + { 27: [1, 79] }, + t(q, [2, 23]), + { 35: 80, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 86, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 87, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 88, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 89, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 90, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 91, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 92, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 93, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 94, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 95, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 96, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 97, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 98, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 99, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 100, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 101, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 102, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 103, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 104, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + t(te, [2, 59]), + { 35: 105, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 106, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 107, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 108, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 109, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 110, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 111, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 112, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 113, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 114, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 115, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { + 20: 116, + 29: 49, + 30: 61, + 32: 62, + 34: s, + 36: l, + 37: u, + 38: h, + 39: f, + 40: d, + 41: p, + 43: 23, + 44: m, + 45: g, + 46: y, + 47: v, + 48: x, + 49: b, + 50: w, + 51: S, + 52: T, + 53: E, + 54: _, + 55: A, + 56: L, + 57: M, + 58: N, + 59: k, + 60: I, + 61: C, + 62: O, + 63: D, + 64: P, + 65: F, + 66: B, + 67: $, + 68: z, + 69: Y, + 70: Q, + 71: X, + 72: ie, + 73: j, + 74: J + }, + { 12: [1, 118], 33: [1, 117] }, + { 35: 119, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 120, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 121, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 122, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 123, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 124, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 125, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 14: [1, 126] }, + { 14: [1, 127] }, + { 14: [1, 128] }, + { 14: [1, 129] }, + { 1: [2, 8] }, + t(Z, [2, 15]), + t(H, [2, 17], { + 21: 22, + 19: 130, + 22: e, + 23: r, + 24: n, + 26: i, + 28: a + }), + t(Z, [2, 37], { + 19: 20, + 20: 21, + 21: 22, + 43: 23, + 29: 49, + 30: 61, + 32: 62, + 13: 131, + 22: e, + 23: r, + 24: n, + 26: i, + 28: a, + 34: s, + 36: l, + 37: u, + 38: h, + 39: f, + 40: d, + 41: p, + 44: m, + 45: g, + 46: y, + 47: v, + 48: x, + 49: b, + 50: w, + 51: S, + 52: T, + 53: E, + 54: _, + 55: A, + 56: L, + 57: M, + 58: N, + 59: k, + 60: I, + 61: C, + 62: O, + 63: D, + 64: P, + 65: F, + 66: B, + 67: $, + 68: z, + 69: Y, + 70: Q, + 71: X, + 72: ie, + 73: j, + 74: J + }), + t(q, [2, 21]), + t(q, [2, 22]), + t(te, [2, 39]), + t(De, [2, 71], { + 75: 81, + 35: 132, + 76: K, + 77: se, + 79: ce, + 80: ue + }), + t(oe, [2, 73]), + { 78: [1, 133] }, + t(oe, [2, 75]), + t(oe, [2, 76]), + t(te, [2, 40]), + t(te, [2, 41]), + t(te, [2, 42]), + t(te, [2, 43]), + t(te, [2, 44]), + t(te, [2, 45]), + t(te, [2, 46]), + t(te, [2, 47]), + t(te, [2, 48]), + t(te, [2, 49]), + t(te, [2, 50]), + t(te, [2, 51]), + t(te, [2, 52]), + t(te, [2, 53]), + t(te, [2, 54]), + t(te, [2, 55]), + t(te, [2, 56]), + t(te, [2, 57]), + t(te, [2, 58]), + t(te, [2, 60]), + t(te, [2, 61]), + t(te, [2, 62]), + t(te, [2, 63]), + t(te, [2, 64]), + t(te, [2, 65]), + t(te, [2, 66]), + t(te, [2, 67]), + t(te, [2, 68]), + t(te, [2, 69]), + t(te, [2, 70]), + { 31: 134, 42: [1, 135] }, + { 12: [1, 136] }, + { 33: [1, 137] }, + t(ke, [2, 28]), + t(ke, [2, 29]), + t(ke, [2, 30]), + t(ke, [2, 31]), + t(ke, [2, 32]), + t(ke, [2, 33]), + t(ke, [2, 34]), + { 1: [2, 9] }, + { 1: [2, 10] }, + { 1: [2, 11] }, + { 1: [2, 12] }, + t(H, [2, 18]), + t(Z, [2, 38]), + t(De, [2, 72]), + t(oe, [2, 74]), + t(te, [2, 24]), + t(te, [2, 35]), + t(Ie, [2, 25]), + t(Ie, [2, 26], { 12: [1, 138] }), + t(Ie, [2, 27]) + ], + defaultActions: { + 2: [2, 1], + 3: [2, 2], + 4: [2, 7], + 5: [2, 3], + 6: [2, 4], + 7: [2, 5], + 8: [2, 6], + 74: [2, 8], + 126: [2, 9], + 127: [2, 10], + 128: [2, 11], + 129: [2, 12] + }, + parseError: o(function (me, W) { + if (W.recoverable) this.trace(me); + else { + var fe = new Error(me); + throw ((fe.hash = W), fe); + } + }, 'parseError'), + parse: o(function (me) { + var W = this, + fe = [0], + ge = [], + re = [null], + he = [], + ne = this.table, + ae = '', + we = 0, + Te = 0, + Ce = 0, + Ae = 2, + Ge = 1, + Me = he.slice.call(arguments, 1), + ye = Object.create(this.lexer), + He = { yy: {} }; + for (var ze in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, ze) && (He.yy[ze] = this.yy[ze]); + ye.setInput(me, He.yy), + (He.yy.lexer = ye), + (He.yy.parser = this), + typeof ye.yylloc > 'u' && (ye.yylloc = {}); + var Ze = ye.yylloc; + he.push(Ze); + var gt = ye.options && ye.options.ranges; + typeof He.yy.parseError == 'function' + ? (this.parseError = He.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError); + function yt(St) { + (fe.length = fe.length - 2 * St), + (re.length = re.length - St), + (he.length = he.length - St); + } + o(yt, 'popStack'); + function tt() { + var St; + return ( + (St = ge.pop() || ye.lex() || Ge), + typeof St != 'number' && + (St instanceof Array && ((ge = St), (St = ge.pop())), + (St = W.symbols_[St] || St)), + St + ); + } + o(tt, 'lex'); + for (var Ye, Je, Ve, je, kt, at, xt = {}, it, dt, lt, It; ; ) { + if ( + ((Ve = fe[fe.length - 1]), + this.defaultActions[Ve] + ? (je = this.defaultActions[Ve]) + : ((Ye === null || typeof Ye > 'u') && (Ye = tt()), + (je = ne[Ve] && ne[Ve][Ye])), + typeof je > 'u' || !je.length || !je[0]) + ) { + var mt = ''; + It = []; + for (it in ne[Ve]) + this.terminals_[it] && it > Ae && It.push("'" + this.terminals_[it] + "'"); + ye.showPosition + ? (mt = + 'Parse error on line ' + + (we + 1) + + `: +` + + ye.showPosition() + + ` +Expecting ` + + It.join(', ') + + ", got '" + + (this.terminals_[Ye] || Ye) + + "'") + : (mt = + 'Parse error on line ' + + (we + 1) + + ': Unexpected ' + + (Ye == Ge ? 'end of input' : "'" + (this.terminals_[Ye] || Ye) + "'")), + this.parseError(mt, { + text: ye.match, + token: this.terminals_[Ye] || Ye, + line: ye.yylineno, + loc: Ze, + expected: It + }); + } + if (je[0] instanceof Array && je.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + Ve + ', token: ' + Ye + ); + switch (je[0]) { + case 1: + fe.push(Ye), + re.push(ye.yytext), + he.push(ye.yylloc), + fe.push(je[1]), + (Ye = null), + Je + ? ((Ye = Je), (Je = null)) + : ((Te = ye.yyleng), + (ae = ye.yytext), + (we = ye.yylineno), + (Ze = ye.yylloc), + Ce > 0 && Ce--); + break; + case 2: + if ( + ((dt = this.productions_[je[1]][1]), + (xt.$ = re[re.length - dt]), + (xt._$ = { + first_line: he[he.length - (dt || 1)].first_line, + last_line: he[he.length - 1].last_line, + first_column: he[he.length - (dt || 1)].first_column, + last_column: he[he.length - 1].last_column + }), + gt && + (xt._$.range = [ + he[he.length - (dt || 1)].range[0], + he[he.length - 1].range[1] + ]), + (at = this.performAction.apply( + xt, + [ae, Te, we, He.yy, je[1], re, he].concat(Me) + )), + typeof at < 'u') + ) + return at; + dt && + ((fe = fe.slice(0, -1 * dt * 2)), + (re = re.slice(0, -1 * dt)), + (he = he.slice(0, -1 * dt))), + fe.push(this.productions_[je[1]][0]), + re.push(xt.$), + he.push(xt._$), + (lt = ne[fe[fe.length - 2]][fe[fe.length - 1]]), + fe.push(lt); + break; + case 3: + return !0; + } + } + return !0; + }, 'parse') + }, + Ue = (function () { + var _e = { + EOF: 1, + parseError: o(function (W, fe) { + if (this.yy.parser) this.yy.parser.parseError(W, fe); + else throw new Error(W); + }, 'parseError'), + setInput: o(function (me, W) { + return ( + (this.yy = W || this.yy || {}), + (this._input = me), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, 'setInput'), + input: o(function () { + var me = this._input[0]; + (this.yytext += me), + this.yyleng++, + this.offset++, + (this.match += me), + (this.matched += me); + var W = me.match(/(?:\r\n?|\n).*/g); + return ( + W ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + me + ); + }, 'input'), + unput: o(function (me) { + var W = me.length, + fe = me.split(/(?:\r\n?|\n)/g); + (this._input = me + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - W)), + (this.offset -= W); + var ge = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + fe.length - 1 && (this.yylineno -= fe.length - 1); + var re = this.yylloc.range; + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: fe + ? (fe.length === ge.length ? this.yylloc.first_column : 0) + + ge[ge.length - fe.length].length - + fe[0].length + : this.yylloc.first_column - W + }), + this.options.ranges && (this.yylloc.range = [re[0], re[0] + this.yyleng - W]), + (this.yyleng = this.yytext.length), + this + ); + }, 'unput'), + more: o(function () { + return (this._more = !0), this; + }, 'more'), + reject: o(function () { + if (this.options.backtrack_lexer) this._backtrack = !0; + else + return this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + return this; + }, 'reject'), + less: o(function (me) { + this.unput(this.match.slice(me)); + }, 'less'), + pastInput: o(function () { + var me = this.matched.substr(0, this.matched.length - this.match.length); + return (me.length > 20 ? '...' : '') + me.substr(-20).replace(/\n/g, ''); + }, 'pastInput'), + upcomingInput: o(function () { + var me = this.match; + return ( + me.length < 20 && (me += this._input.substr(0, 20 - me.length)), + (me.substr(0, 20) + (me.length > 20 ? '...' : '')).replace(/\n/g, '') + ); + }, 'upcomingInput'), + showPosition: o(function () { + var me = this.pastInput(), + W = new Array(me.length + 1).join('-'); + return ( + me + + this.upcomingInput() + + ` +` + + W + + '^' + ); + }, 'showPosition'), + test_match: o(function (me, W) { + var fe, ge, re; + if ( + (this.options.backtrack_lexer && + ((re = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }), + this.options.ranges && (re.yylloc.range = this.yylloc.range.slice(0))), + (ge = me[0].match(/(?:\r\n?|\n).*/g)), + ge && (this.yylineno += ge.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: ge + ? ge[ge.length - 1].length - ge[ge.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + me[0].length + }), + (this.yytext += me[0]), + (this.match += me[0]), + (this.matches = me), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(me[0].length)), + (this.matched += me[0]), + (fe = this.performAction.call( + this, + this.yy, + this, + W, + this.conditionStack[this.conditionStack.length - 1] + )), + this.done && this._input && (this.done = !1), + fe) + ) + return fe; + if (this._backtrack) { + for (var he in re) this[he] = re[he]; + return !1; + } + return !1; + }, 'test_match'), + next: o(function () { + if (this.done) return this.EOF; + this._input || (this.done = !0); + var me, W, fe, ge; + this._more || ((this.yytext = ''), (this.match = '')); + for (var re = this._currentRules(), he = 0; he < re.length; he++) + if ( + ((fe = this._input.match(this.rules[re[he]])), + fe && (!W || fe[0].length > W[0].length)) + ) { + if (((W = fe), (ge = he), this.options.backtrack_lexer)) { + if (((me = this.test_match(fe, re[he])), me !== !1)) return me; + if (this._backtrack) { + W = !1; + continue; + } else return !1; + } else if (!this.options.flex) break; + } + return W + ? ((me = this.test_match(W, re[ge])), me !== !1 ? me : !1) + : this._input === '' + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, 'next'), + lex: o(function () { + var W = this.next(); + return W || this.lex(); + }, 'lex'), + begin: o(function (W) { + this.conditionStack.push(W); + }, 'begin'), + popState: o(function () { + var W = this.conditionStack.length - 1; + return W > 0 ? this.conditionStack.pop() : this.conditionStack[0]; + }, 'popState'), + _currentRules: o(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules; + }, '_currentRules'), + topState: o(function (W) { + return ( + (W = this.conditionStack.length - 1 - Math.abs(W || 0)), + W >= 0 ? this.conditionStack[W] : 'INITIAL' + ); + }, 'topState'), + pushState: o(function (W) { + this.begin(W); + }, 'pushState'), + stateStackSize: o(function () { + return this.conditionStack.length; + }, 'stateStackSize'), + options: {}, + performAction: o(function (W, fe, ge, re) { + var he = re; + switch (ge) { + case 0: + return 6; + case 1: + return 7; + case 2: + return 8; + case 3: + return 9; + case 4: + return 22; + case 5: + return 23; + case 6: + return this.begin('acc_title'), 24; + break; + case 7: + return this.popState(), 'acc_title_value'; + break; + case 8: + return this.begin('acc_descr'), 26; + break; + case 9: + return this.popState(), 'acc_descr_value'; + break; + case 10: + this.begin('acc_descr_multiline'); + break; + case 11: + this.popState(); + break; + case 12: + return 'acc_descr_multiline_value'; + case 13: + break; + case 14: + c; + break; + case 15: + return 12; + case 16: + break; + case 17: + return 11; + case 18: + return 15; + case 19: + return 16; + case 20: + return 17; + case 21: + return 18; + case 22: + return this.begin('person_ext'), 45; + break; + case 23: + return this.begin('person'), 44; + break; + case 24: + return this.begin('system_ext_queue'), 51; + break; + case 25: + return this.begin('system_ext_db'), 50; + break; + case 26: + return this.begin('system_ext'), 49; + break; + case 27: + return this.begin('system_queue'), 48; + break; + case 28: + return this.begin('system_db'), 47; + break; + case 29: + return this.begin('system'), 46; + break; + case 30: + return this.begin('boundary'), 37; + break; + case 31: + return this.begin('enterprise_boundary'), 34; + break; + case 32: + return this.begin('system_boundary'), 36; + break; + case 33: + return this.begin('container_ext_queue'), 57; + break; + case 34: + return this.begin('container_ext_db'), 56; + break; + case 35: + return this.begin('container_ext'), 55; + break; + case 36: + return this.begin('container_queue'), 54; + break; + case 37: + return this.begin('container_db'), 53; + break; + case 38: + return this.begin('container'), 52; + break; + case 39: + return this.begin('container_boundary'), 38; + break; + case 40: + return this.begin('component_ext_queue'), 63; + break; + case 41: + return this.begin('component_ext_db'), 62; + break; + case 42: + return this.begin('component_ext'), 61; + break; + case 43: + return this.begin('component_queue'), 60; + break; + case 44: + return this.begin('component_db'), 59; + break; + case 45: + return this.begin('component'), 58; + break; + case 46: + return this.begin('node'), 39; + break; + case 47: + return this.begin('node'), 39; + break; + case 48: + return this.begin('node_l'), 40; + break; + case 49: + return this.begin('node_r'), 41; + break; + case 50: + return this.begin('rel'), 64; + break; + case 51: + return this.begin('birel'), 65; + break; + case 52: + return this.begin('rel_u'), 66; + break; + case 53: + return this.begin('rel_u'), 66; + break; + case 54: + return this.begin('rel_d'), 67; + break; + case 55: + return this.begin('rel_d'), 67; + break; + case 56: + return this.begin('rel_l'), 68; + break; + case 57: + return this.begin('rel_l'), 68; + break; + case 58: + return this.begin('rel_r'), 69; + break; + case 59: + return this.begin('rel_r'), 69; + break; + case 60: + return this.begin('rel_b'), 70; + break; + case 61: + return this.begin('rel_index'), 71; + break; + case 62: + return this.begin('update_el_style'), 72; + break; + case 63: + return this.begin('update_rel_style'), 73; + break; + case 64: + return this.begin('update_layout_config'), 74; + break; + case 65: + return 'EOF_IN_STRUCT'; + case 66: + return this.begin('attribute'), 'ATTRIBUTE_EMPTY'; + break; + case 67: + this.begin('attribute'); + break; + case 68: + this.popState(), this.popState(); + break; + case 69: + return 80; + case 70: + break; + case 71: + return 80; + case 72: + this.begin('string'); + break; + case 73: + this.popState(); + break; + case 74: + return 'STR'; + case 75: + this.begin('string_kv'); + break; + case 76: + return this.begin('string_kv_key'), 'STR_KEY'; + break; + case 77: + this.popState(), this.begin('string_kv_value'); + break; + case 78: + return 'STR_VALUE'; + case 79: + this.popState(), this.popState(); + break; + case 80: + return 'STR'; + case 81: + return 'LBRACE'; + case 82: + return 'RBRACE'; + case 83: + return 'SPACE'; + case 84: + return 'EOL'; + case 85: + return 14; + } + }, 'anonymous'), + rules: [ + /^(?:.*direction\s+TB[^\n]*)/, + /^(?:.*direction\s+BT[^\n]*)/, + /^(?:.*direction\s+RL[^\n]*)/, + /^(?:.*direction\s+LR[^\n]*)/, + /^(?:title\s[^#\n;]+)/, + /^(?:accDescription\s[^#\n;]+)/, + /^(?:accTitle\s*:\s*)/, + /^(?:(?!\n||)*[^\n]*)/, + /^(?:accDescr\s*:\s*)/, + /^(?:(?!\n||)*[^\n]*)/, + /^(?:accDescr\s*\{\s*)/, + /^(?:[\}])/, + /^(?:[^\}]*)/, + /^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/, + /^(?:%%[^\n]*(\r?\n)*)/, + /^(?:\s*(\r?\n)+)/, + /^(?:\s+)/, + /^(?:C4Context\b)/, + /^(?:C4Container\b)/, + /^(?:C4Component\b)/, + /^(?:C4Dynamic\b)/, + /^(?:C4Deployment\b)/, + /^(?:Person_Ext\b)/, + /^(?:Person\b)/, + /^(?:SystemQueue_Ext\b)/, + /^(?:SystemDb_Ext\b)/, + /^(?:System_Ext\b)/, + /^(?:SystemQueue\b)/, + /^(?:SystemDb\b)/, + /^(?:System\b)/, + /^(?:Boundary\b)/, + /^(?:Enterprise_Boundary\b)/, + /^(?:System_Boundary\b)/, + /^(?:ContainerQueue_Ext\b)/, + /^(?:ContainerDb_Ext\b)/, + /^(?:Container_Ext\b)/, + /^(?:ContainerQueue\b)/, + /^(?:ContainerDb\b)/, + /^(?:Container\b)/, + /^(?:Container_Boundary\b)/, + /^(?:ComponentQueue_Ext\b)/, + /^(?:ComponentDb_Ext\b)/, + /^(?:Component_Ext\b)/, + /^(?:ComponentQueue\b)/, + /^(?:ComponentDb\b)/, + /^(?:Component\b)/, + /^(?:Deployment_Node\b)/, + /^(?:Node\b)/, + /^(?:Node_L\b)/, + /^(?:Node_R\b)/, + /^(?:Rel\b)/, + /^(?:BiRel\b)/, + /^(?:Rel_Up\b)/, + /^(?:Rel_U\b)/, + /^(?:Rel_Down\b)/, + /^(?:Rel_D\b)/, + /^(?:Rel_Left\b)/, + /^(?:Rel_L\b)/, + /^(?:Rel_Right\b)/, + /^(?:Rel_R\b)/, + /^(?:Rel_Back\b)/, + /^(?:RelIndex\b)/, + /^(?:UpdateElementStyle\b)/, + /^(?:UpdateRelStyle\b)/, + /^(?:UpdateLayoutConfig\b)/, + /^(?:$)/, + /^(?:[(][ ]*[,])/, + /^(?:[(])/, + /^(?:[)])/, + /^(?:,,)/, + /^(?:,)/, + /^(?:[ ]*["]["])/, + /^(?:[ ]*["])/, + /^(?:["])/, + /^(?:[^"]*)/, + /^(?:[ ]*[\$])/, + /^(?:[^=]*)/, + /^(?:[=][ ]*["])/, + /^(?:[^"]+)/, + /^(?:["])/, + /^(?:[^,]+)/, + /^(?:\{)/, + /^(?:\})/, + /^(?:[\s]+)/, + /^(?:[\n\r]+)/, + /^(?:$)/ + ], + conditions: { + acc_descr_multiline: { rules: [11, 12], inclusive: !1 }, + acc_descr: { rules: [9], inclusive: !1 }, + acc_title: { rules: [7], inclusive: !1 }, + string_kv_value: { rules: [78, 79], inclusive: !1 }, + string_kv_key: { rules: [77], inclusive: !1 }, + string_kv: { rules: [76], inclusive: !1 }, + string: { rules: [73, 74], inclusive: !1 }, + attribute: { + rules: [68, 69, 70, 71, 72, 75, 80], + inclusive: !1 + }, + update_layout_config: { + rules: [65, 66, 67, 68], + inclusive: !1 + }, + update_rel_style: { rules: [65, 66, 67, 68], inclusive: !1 }, + update_el_style: { rules: [65, 66, 67, 68], inclusive: !1 }, + rel_b: { rules: [65, 66, 67, 68], inclusive: !1 }, + rel_r: { rules: [65, 66, 67, 68], inclusive: !1 }, + rel_l: { rules: [65, 66, 67, 68], inclusive: !1 }, + rel_d: { rules: [65, 66, 67, 68], inclusive: !1 }, + rel_u: { rules: [65, 66, 67, 68], inclusive: !1 }, + rel_bi: { rules: [], inclusive: !1 }, + rel: { rules: [65, 66, 67, 68], inclusive: !1 }, + node_r: { rules: [65, 66, 67, 68], inclusive: !1 }, + node_l: { rules: [65, 66, 67, 68], inclusive: !1 }, + node: { rules: [65, 66, 67, 68], inclusive: !1 }, + index: { rules: [], inclusive: !1 }, + rel_index: { rules: [65, 66, 67, 68], inclusive: !1 }, + component_ext_queue: { rules: [], inclusive: !1 }, + component_ext_db: { rules: [65, 66, 67, 68], inclusive: !1 }, + component_ext: { rules: [65, 66, 67, 68], inclusive: !1 }, + component_queue: { rules: [65, 66, 67, 68], inclusive: !1 }, + component_db: { rules: [65, 66, 67, 68], inclusive: !1 }, + component: { rules: [65, 66, 67, 68], inclusive: !1 }, + container_boundary: { rules: [65, 66, 67, 68], inclusive: !1 }, + container_ext_queue: { rules: [65, 66, 67, 68], inclusive: !1 }, + container_ext_db: { rules: [65, 66, 67, 68], inclusive: !1 }, + container_ext: { rules: [65, 66, 67, 68], inclusive: !1 }, + container_queue: { rules: [65, 66, 67, 68], inclusive: !1 }, + container_db: { rules: [65, 66, 67, 68], inclusive: !1 }, + container: { rules: [65, 66, 67, 68], inclusive: !1 }, + birel: { rules: [65, 66, 67, 68], inclusive: !1 }, + system_boundary: { rules: [65, 66, 67, 68], inclusive: !1 }, + enterprise_boundary: { rules: [65, 66, 67, 68], inclusive: !1 }, + boundary: { rules: [65, 66, 67, 68], inclusive: !1 }, + system_ext_queue: { rules: [65, 66, 67, 68], inclusive: !1 }, + system_ext_db: { rules: [65, 66, 67, 68], inclusive: !1 }, + system_ext: { rules: [65, 66, 67, 68], inclusive: !1 }, + system_queue: { rules: [65, 66, 67, 68], inclusive: !1 }, + system_db: { rules: [65, 66, 67, 68], inclusive: !1 }, + system: { rules: [65, 66, 67, 68], inclusive: !1 }, + person_ext: { rules: [65, 66, 67, 68], inclusive: !1 }, + person: { rules: [65, 66, 67, 68], inclusive: !1 }, + INITIAL: { + rules: [ + 0, 1, 2, 3, 4, 5, 6, 8, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 81, + 82, 83, 84, 85 + ], + inclusive: !0 + } + } + }; + return _e; + })(); + Se.lexer = Ue; + function Pe() { + this.yy = {}; + } + return o(Pe, 'Parser'), (Pe.prototype = Se), (Se.Parser = Pe), new Pe(); + })(); + U1.parser = U1; + rz = U1; + }); + var UC, + On, + cp = R(() => { + 'use strict'; + (UC = o((t, e, { depth: r = 2, clobber: n = !1 } = {}) => { + let i = { depth: r, clobber: n }; + return Array.isArray(e) && !Array.isArray(t) + ? (e.forEach((a) => UC(t, a, i)), t) + : Array.isArray(e) && Array.isArray(t) + ? (e.forEach((a) => { + t.includes(a) || t.push(a); + }), + t) + : t === void 0 || r <= 0 + ? t != null && typeof t == 'object' && typeof e == 'object' + ? Object.assign(t, e) + : e + : (e !== void 0 && + typeof t == 'object' && + typeof e == 'object' && + Object.keys(e).forEach((a) => { + typeof e[a] == 'object' && (t[a] === void 0 || typeof t[a] == 'object') + ? (t[a] === void 0 && (t[a] = Array.isArray(e[a]) ? [] : {}), + (t[a] = UC(t[a], e[a], { depth: r - 1, clobber: n }))) + : (n || (typeof t[a] != 'object' && typeof e[a] != 'object')) && (t[a] = e[a]); + }), + t); + }, 'assignWithDepth')), + (On = UC); + }); + var Hb, + nz, + iz = R(() => { + 'use strict'; + (Hb = { + min: { r: 0, g: 0, b: 0, s: 0, l: 0, a: 0 }, + max: { r: 255, g: 255, b: 255, h: 360, s: 100, l: 100, a: 1 }, + clamp: { + r: o((t) => (t >= 255 ? 255 : t < 0 ? 0 : t), 'r'), + g: o((t) => (t >= 255 ? 255 : t < 0 ? 0 : t), 'g'), + b: o((t) => (t >= 255 ? 255 : t < 0 ? 0 : t), 'b'), + h: o((t) => t % 360, 'h'), + s: o((t) => (t >= 100 ? 100 : t < 0 ? 0 : t), 's'), + l: o((t) => (t >= 100 ? 100 : t < 0 ? 0 : t), 'l'), + a: o((t) => (t >= 1 ? 1 : t < 0 ? 0 : t), 'a') + }, + toLinear: o((t) => { + let e = t / 255; + return t > 0.03928 ? Math.pow((e + 0.055) / 1.055, 2.4) : e / 12.92; + }, 'toLinear'), + hue2rgb: o( + (t, e, r) => ( + r < 0 && (r += 1), + r > 1 && (r -= 1), + r < 0.16666666666666666 + ? t + (e - t) * 6 * r + : r < 0.5 + ? e + : r < 0.6666666666666666 + ? t + (e - t) * (0.6666666666666666 - r) * 6 + : t + ), + 'hue2rgb' + ), + hsl2rgb: o(({ h: t, s: e, l: r }, n) => { + if (!e) return r * 2.55; + (t /= 360), (e /= 100), (r /= 100); + let i = r < 0.5 ? r * (1 + e) : r + e - r * e, + a = 2 * r - i; + switch (n) { + case 'r': + return Hb.hue2rgb(a, i, t + 0.3333333333333333) * 255; + case 'g': + return Hb.hue2rgb(a, i, t) * 255; + case 'b': + return Hb.hue2rgb(a, i, t - 0.3333333333333333) * 255; + } + }, 'hsl2rgb'), + rgb2hsl: o(({ r: t, g: e, b: r }, n) => { + (t /= 255), (e /= 255), (r /= 255); + let i = Math.max(t, e, r), + a = Math.min(t, e, r), + s = (i + a) / 2; + if (n === 'l') return s * 100; + if (i === a) return 0; + let l = i - a, + u = s > 0.5 ? l / (2 - i - a) : l / (i + a); + if (n === 's') return u * 100; + switch (i) { + case t: + return ((e - r) / l + (e < r ? 6 : 0)) * 60; + case e: + return ((r - t) / l + 2) * 60; + case r: + return ((t - e) / l + 4) * 60; + default: + return -1; + } + }, 'rgb2hsl') + }), + (nz = Hb); + }); + var h2e, + az, + sz = R(() => { + 'use strict'; + (h2e = { + clamp: o((t, e, r) => (e > r ? Math.min(e, Math.max(r, t)) : Math.min(r, Math.max(e, t))), 'clamp'), + round: o((t) => Math.round(t * 1e10) / 1e10, 'round') + }), + (az = h2e); + }); + var f2e, + oz, + lz = R(() => { + 'use strict'; + (f2e = { + dec2hex: o((t) => { + let e = Math.round(t).toString(16); + return e.length > 1 ? e : `0${e}`; + }, 'dec2hex') + }), + (oz = f2e); + }); + var d2e, + Bt, + jl = R(() => { + 'use strict'; + iz(); + sz(); + lz(); + (d2e = { channel: nz, lang: az, unit: oz }), (Bt = d2e); + }); + var Jc, + Li, + H1 = R(() => { + 'use strict'; + jl(); + Jc = {}; + for (let t = 0; t <= 255; t++) Jc[t] = Bt.unit.dec2hex(t); + Li = { ALL: 0, RGB: 1, HSL: 2 }; + }); + var HC, + cz, + uz = R(() => { + 'use strict'; + H1(); + (HC = class { + static { + o(this, 'Type'); + } + constructor() { + this.type = Li.ALL; + } + get() { + return this.type; + } + set(e) { + if (this.type && this.type !== e) + throw new Error('Cannot change both RGB and HSL channels at the same time'); + this.type = e; + } + reset() { + this.type = Li.ALL; + } + is(e) { + return this.type === e; + } + }), + (cz = HC); + }); + var YC, + hz, + fz = R(() => { + 'use strict'; + jl(); + uz(); + H1(); + (YC = class { + static { + o(this, 'Channels'); + } + constructor(e, r) { + (this.color = r), (this.changed = !1), (this.data = e), (this.type = new cz()); + } + set(e, r) { + return (this.color = r), (this.changed = !1), (this.data = e), (this.type.type = Li.ALL), this; + } + _ensureHSL() { + let e = this.data, + { h: r, s: n, l: i } = e; + r === void 0 && (e.h = Bt.channel.rgb2hsl(e, 'h')), + n === void 0 && (e.s = Bt.channel.rgb2hsl(e, 's')), + i === void 0 && (e.l = Bt.channel.rgb2hsl(e, 'l')); + } + _ensureRGB() { + let e = this.data, + { r, g: n, b: i } = e; + r === void 0 && (e.r = Bt.channel.hsl2rgb(e, 'r')), + n === void 0 && (e.g = Bt.channel.hsl2rgb(e, 'g')), + i === void 0 && (e.b = Bt.channel.hsl2rgb(e, 'b')); + } + get r() { + let e = this.data, + r = e.r; + return !this.type.is(Li.HSL) && r !== void 0 ? r : (this._ensureHSL(), Bt.channel.hsl2rgb(e, 'r')); + } + get g() { + let e = this.data, + r = e.g; + return !this.type.is(Li.HSL) && r !== void 0 ? r : (this._ensureHSL(), Bt.channel.hsl2rgb(e, 'g')); + } + get b() { + let e = this.data, + r = e.b; + return !this.type.is(Li.HSL) && r !== void 0 ? r : (this._ensureHSL(), Bt.channel.hsl2rgb(e, 'b')); + } + get h() { + let e = this.data, + r = e.h; + return !this.type.is(Li.RGB) && r !== void 0 ? r : (this._ensureRGB(), Bt.channel.rgb2hsl(e, 'h')); + } + get s() { + let e = this.data, + r = e.s; + return !this.type.is(Li.RGB) && r !== void 0 ? r : (this._ensureRGB(), Bt.channel.rgb2hsl(e, 's')); + } + get l() { + let e = this.data, + r = e.l; + return !this.type.is(Li.RGB) && r !== void 0 ? r : (this._ensureRGB(), Bt.channel.rgb2hsl(e, 'l')); + } + get a() { + return this.data.a; + } + set r(e) { + this.type.set(Li.RGB), (this.changed = !0), (this.data.r = e); + } + set g(e) { + this.type.set(Li.RGB), (this.changed = !0), (this.data.g = e); + } + set b(e) { + this.type.set(Li.RGB), (this.changed = !0), (this.data.b = e); + } + set h(e) { + this.type.set(Li.HSL), (this.changed = !0), (this.data.h = e); + } + set s(e) { + this.type.set(Li.HSL), (this.changed = !0), (this.data.s = e); + } + set l(e) { + this.type.set(Li.HSL), (this.changed = !0), (this.data.l = e); + } + set a(e) { + (this.changed = !0), (this.data.a = e); + } + }), + (hz = YC); + }); + var p2e, + oh, + Y1 = R(() => { + 'use strict'; + fz(); + (p2e = new hz({ r: 0, g: 0, b: 0, a: 0 }, 'transparent')), (oh = p2e); + }); + var dz, + Yf, + WC = R(() => { + 'use strict'; + Y1(); + H1(); + (dz = { + re: /^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i, + parse: o((t) => { + if (t.charCodeAt(0) !== 35) return; + let e = t.match(dz.re); + if (!e) return; + let r = e[1], + n = parseInt(r, 16), + i = r.length, + a = i % 4 === 0, + s = i > 4, + l = s ? 1 : 17, + u = s ? 8 : 4, + h = a ? 0 : -1, + f = s ? 255 : 15; + return oh.set( + { + r: ((n >> (u * (h + 3))) & f) * l, + g: ((n >> (u * (h + 2))) & f) * l, + b: ((n >> (u * (h + 1))) & f) * l, + a: a ? ((n & f) * l) / 255 : 1 + }, + t + ); + }, 'parse'), + stringify: o((t) => { + let { r: e, g: r, b: n, a: i } = t; + return i < 1 + ? `#${Jc[Math.round(e)]}${Jc[Math.round(r)]}${Jc[Math.round(n)]}${Jc[Math.round(i * 255)]}` + : `#${Jc[Math.round(e)]}${Jc[Math.round(r)]}${Jc[Math.round(n)]}`; + }, 'stringify') + }), + (Yf = dz); + }); + var Yb, + W1, + pz = R(() => { + 'use strict'; + jl(); + Y1(); + (Yb = { + re: /^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i, + hueRe: /^(.+?)(deg|grad|rad|turn)$/i, + _hue2deg: o((t) => { + let e = t.match(Yb.hueRe); + if (e) { + let [, r, n] = e; + switch (n) { + case 'grad': + return Bt.channel.clamp.h(parseFloat(r) * 0.9); + case 'rad': + return Bt.channel.clamp.h((parseFloat(r) * 180) / Math.PI); + case 'turn': + return Bt.channel.clamp.h(parseFloat(r) * 360); + } + } + return Bt.channel.clamp.h(parseFloat(t)); + }, '_hue2deg'), + parse: o((t) => { + let e = t.charCodeAt(0); + if (e !== 104 && e !== 72) return; + let r = t.match(Yb.re); + if (!r) return; + let [, n, i, a, s, l] = r; + return oh.set( + { + h: Yb._hue2deg(n), + s: Bt.channel.clamp.s(parseFloat(i)), + l: Bt.channel.clamp.l(parseFloat(a)), + a: s ? Bt.channel.clamp.a(l ? parseFloat(s) / 100 : parseFloat(s)) : 1 + }, + t + ); + }, 'parse'), + stringify: o((t) => { + let { h: e, s: r, l: n, a: i } = t; + return i < 1 + ? `hsla(${Bt.lang.round(e)}, ${Bt.lang.round(r)}%, ${Bt.lang.round(n)}%, ${i})` + : `hsl(${Bt.lang.round(e)}, ${Bt.lang.round(r)}%, ${Bt.lang.round(n)}%)`; + }, 'stringify') + }), + (W1 = Yb); + }); + var Wb, + qC, + mz = R(() => { + 'use strict'; + WC(); + (Wb = { + colors: { + aliceblue: '#f0f8ff', + antiquewhite: '#faebd7', + aqua: '#00ffff', + aquamarine: '#7fffd4', + azure: '#f0ffff', + beige: '#f5f5dc', + bisque: '#ffe4c4', + black: '#000000', + blanchedalmond: '#ffebcd', + blue: '#0000ff', + blueviolet: '#8a2be2', + brown: '#a52a2a', + burlywood: '#deb887', + cadetblue: '#5f9ea0', + chartreuse: '#7fff00', + chocolate: '#d2691e', + coral: '#ff7f50', + cornflowerblue: '#6495ed', + cornsilk: '#fff8dc', + crimson: '#dc143c', + cyanaqua: '#00ffff', + darkblue: '#00008b', + darkcyan: '#008b8b', + darkgoldenrod: '#b8860b', + darkgray: '#a9a9a9', + darkgreen: '#006400', + darkgrey: '#a9a9a9', + darkkhaki: '#bdb76b', + darkmagenta: '#8b008b', + darkolivegreen: '#556b2f', + darkorange: '#ff8c00', + darkorchid: '#9932cc', + darkred: '#8b0000', + darksalmon: '#e9967a', + darkseagreen: '#8fbc8f', + darkslateblue: '#483d8b', + darkslategray: '#2f4f4f', + darkslategrey: '#2f4f4f', + darkturquoise: '#00ced1', + darkviolet: '#9400d3', + deeppink: '#ff1493', + deepskyblue: '#00bfff', + dimgray: '#696969', + dimgrey: '#696969', + dodgerblue: '#1e90ff', + firebrick: '#b22222', + floralwhite: '#fffaf0', + forestgreen: '#228b22', + fuchsia: '#ff00ff', + gainsboro: '#dcdcdc', + ghostwhite: '#f8f8ff', + gold: '#ffd700', + goldenrod: '#daa520', + gray: '#808080', + green: '#008000', + greenyellow: '#adff2f', + grey: '#808080', + honeydew: '#f0fff0', + hotpink: '#ff69b4', + indianred: '#cd5c5c', + indigo: '#4b0082', + ivory: '#fffff0', + khaki: '#f0e68c', + lavender: '#e6e6fa', + lavenderblush: '#fff0f5', + lawngreen: '#7cfc00', + lemonchiffon: '#fffacd', + lightblue: '#add8e6', + lightcoral: '#f08080', + lightcyan: '#e0ffff', + lightgoldenrodyellow: '#fafad2', + lightgray: '#d3d3d3', + lightgreen: '#90ee90', + lightgrey: '#d3d3d3', + lightpink: '#ffb6c1', + lightsalmon: '#ffa07a', + lightseagreen: '#20b2aa', + lightskyblue: '#87cefa', + lightslategray: '#778899', + lightslategrey: '#778899', + lightsteelblue: '#b0c4de', + lightyellow: '#ffffe0', + lime: '#00ff00', + limegreen: '#32cd32', + linen: '#faf0e6', + magenta: '#ff00ff', + maroon: '#800000', + mediumaquamarine: '#66cdaa', + mediumblue: '#0000cd', + mediumorchid: '#ba55d3', + mediumpurple: '#9370db', + mediumseagreen: '#3cb371', + mediumslateblue: '#7b68ee', + mediumspringgreen: '#00fa9a', + mediumturquoise: '#48d1cc', + mediumvioletred: '#c71585', + midnightblue: '#191970', + mintcream: '#f5fffa', + mistyrose: '#ffe4e1', + moccasin: '#ffe4b5', + navajowhite: '#ffdead', + navy: '#000080', + oldlace: '#fdf5e6', + olive: '#808000', + olivedrab: '#6b8e23', + orange: '#ffa500', + orangered: '#ff4500', + orchid: '#da70d6', + palegoldenrod: '#eee8aa', + palegreen: '#98fb98', + paleturquoise: '#afeeee', + palevioletred: '#db7093', + papayawhip: '#ffefd5', + peachpuff: '#ffdab9', + peru: '#cd853f', + pink: '#ffc0cb', + plum: '#dda0dd', + powderblue: '#b0e0e6', + purple: '#800080', + rebeccapurple: '#663399', + red: '#ff0000', + rosybrown: '#bc8f8f', + royalblue: '#4169e1', + saddlebrown: '#8b4513', + salmon: '#fa8072', + sandybrown: '#f4a460', + seagreen: '#2e8b57', + seashell: '#fff5ee', + sienna: '#a0522d', + silver: '#c0c0c0', + skyblue: '#87ceeb', + slateblue: '#6a5acd', + slategray: '#708090', + slategrey: '#708090', + snow: '#fffafa', + springgreen: '#00ff7f', + tan: '#d2b48c', + teal: '#008080', + thistle: '#d8bfd8', + transparent: '#00000000', + turquoise: '#40e0d0', + violet: '#ee82ee', + wheat: '#f5deb3', + white: '#ffffff', + whitesmoke: '#f5f5f5', + yellow: '#ffff00', + yellowgreen: '#9acd32' + }, + parse: o((t) => { + t = t.toLowerCase(); + let e = Wb.colors[t]; + if (e) return Yf.parse(e); + }, 'parse'), + stringify: o((t) => { + let e = Yf.stringify(t); + for (let r in Wb.colors) if (Wb.colors[r] === e) return r; + }, 'stringify') + }), + (qC = Wb); + }); + var gz, + q1, + yz = R(() => { + 'use strict'; + jl(); + Y1(); + (gz = { + re: /^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i, + parse: o((t) => { + let e = t.charCodeAt(0); + if (e !== 114 && e !== 82) return; + let r = t.match(gz.re); + if (!r) return; + let [, n, i, a, s, l, u, h, f] = r; + return oh.set( + { + r: Bt.channel.clamp.r(i ? parseFloat(n) * 2.55 : parseFloat(n)), + g: Bt.channel.clamp.g(s ? parseFloat(a) * 2.55 : parseFloat(a)), + b: Bt.channel.clamp.b(u ? parseFloat(l) * 2.55 : parseFloat(l)), + a: h ? Bt.channel.clamp.a(f ? parseFloat(h) / 100 : parseFloat(h)) : 1 + }, + t + ); + }, 'parse'), + stringify: o((t) => { + let { r: e, g: r, b: n, a: i } = t; + return i < 1 + ? `rgba(${Bt.lang.round(e)}, ${Bt.lang.round(r)}, ${Bt.lang.round(n)}, ${Bt.lang.round(i)})` + : `rgb(${Bt.lang.round(e)}, ${Bt.lang.round(r)}, ${Bt.lang.round(n)})`; + }, 'stringify') + }), + (q1 = gz); + }); + var m2e, + Di, + eu = R(() => { + 'use strict'; + WC(); + pz(); + mz(); + yz(); + H1(); + (m2e = { + format: { keyword: qC, hex: Yf, rgb: q1, rgba: q1, hsl: W1, hsla: W1 }, + parse: o((t) => { + if (typeof t != 'string') return t; + let e = Yf.parse(t) || q1.parse(t) || W1.parse(t) || qC.parse(t); + if (e) return e; + throw new Error(`Unsupported color format: "${t}"`); + }, 'parse'), + stringify: o( + (t) => + !t.changed && t.color + ? t.color + : t.type.is(Li.HSL) || t.data.r === void 0 + ? W1.stringify(t) + : t.a < 1 || !Number.isInteger(t.r) || !Number.isInteger(t.g) || !Number.isInteger(t.b) + ? q1.stringify(t) + : Yf.stringify(t), + 'stringify' + ) + }), + (Di = m2e); + }); + var g2e, + qb, + XC = R(() => { + 'use strict'; + jl(); + eu(); + (g2e = o((t, e) => { + let r = Di.parse(t); + for (let n in e) r[n] = Bt.channel.clamp[n](e[n]); + return Di.stringify(r); + }, 'change')), + (qb = g2e); + }); + var y2e, + Ws, + jC = R(() => { + 'use strict'; + jl(); + Y1(); + eu(); + XC(); + (y2e = o((t, e, r = 0, n = 1) => { + if (typeof t != 'number') return qb(t, { a: e }); + let i = oh.set({ + r: Bt.channel.clamp.r(t), + g: Bt.channel.clamp.g(e), + b: Bt.channel.clamp.b(r), + a: Bt.channel.clamp.a(n) + }); + return Di.stringify(i); + }, 'rgba')), + (Ws = y2e); + }); + var v2e, + X1, + vz = R(() => { + 'use strict'; + jl(); + eu(); + (v2e = o((t, e) => Bt.lang.round(Di.parse(t)[e]), 'channel')), (X1 = v2e); + }); + var x2e, + xz, + bz = R(() => { + 'use strict'; + jl(); + eu(); + (x2e = o((t) => { + let { r: e, g: r, b: n } = Di.parse(t), + i = + 0.2126 * Bt.channel.toLinear(e) + + 0.7152 * Bt.channel.toLinear(r) + + 0.0722 * Bt.channel.toLinear(n); + return Bt.lang.round(i); + }, 'luminance')), + (xz = x2e); + }); + var b2e, + wz, + Tz = R(() => { + 'use strict'; + bz(); + (b2e = o((t) => xz(t) >= 0.5, 'isLight')), (wz = b2e); + }); + var w2e, + Wa, + kz = R(() => { + 'use strict'; + Tz(); + (w2e = o((t) => !wz(t), 'isDark')), (Wa = w2e); + }); + var T2e, + Xb, + KC = R(() => { + 'use strict'; + jl(); + eu(); + (T2e = o((t, e, r) => { + let n = Di.parse(t), + i = n[e], + a = Bt.channel.clamp[e](i + r); + return i !== a && (n[e] = a), Di.stringify(n); + }, 'adjustChannel')), + (Xb = T2e); + }); + var k2e, + Et, + Ez = R(() => { + 'use strict'; + KC(); + (k2e = o((t, e) => Xb(t, 'l', e), 'lighten')), (Et = k2e); + }); + var E2e, + Dt, + Cz = R(() => { + 'use strict'; + KC(); + (E2e = o((t, e) => Xb(t, 'l', -e), 'darken')), (Dt = E2e); + }); + var C2e, + Oe, + Sz = R(() => { + 'use strict'; + eu(); + XC(); + (C2e = o((t, e) => { + let r = Di.parse(t), + n = {}; + for (let i in e) e[i] && (n[i] = r[i] + e[i]); + return qb(t, n); + }, 'adjust')), + (Oe = C2e); + }); + var S2e, + Az, + _z = R(() => { + 'use strict'; + eu(); + jC(); + (S2e = o((t, e, r = 50) => { + let { r: n, g: i, b: a, a: s } = Di.parse(t), + { r: l, g: u, b: h, a: f } = Di.parse(e), + d = r / 100, + p = d * 2 - 1, + m = s - f, + y = ((p * m === -1 ? p : (p + m) / (1 + p * m)) + 1) / 2, + v = 1 - y, + x = n * y + l * v, + b = i * y + u * v, + w = a * y + h * v, + S = s * d + f * (1 - d); + return Ws(x, b, w, S); + }, 'mix')), + (Az = S2e); + }); + var A2e, + ot, + Lz = R(() => { + 'use strict'; + eu(); + _z(); + (A2e = o((t, e = 100) => { + let r = Di.parse(t); + return (r.r = 255 - r.r), (r.g = 255 - r.g), (r.b = 255 - r.b), Az(r, t, e); + }, 'invert')), + (ot = A2e); + }); + var Dz = R(() => { + 'use strict'; + jC(); + vz(); + kz(); + Ez(); + Cz(); + Sz(); + Lz(); + }); + var al = R(() => { + 'use strict'; + Dz(); + }); + var lh, + ch, + j1 = R(() => { + 'use strict'; + (lh = '#ffffff'), (ch = '#f2f2f2'); + }); + var yi, + up = R(() => { + 'use strict'; + al(); + yi = o((t, e) => (e ? Oe(t, { s: -40, l: 10 }) : Oe(t, { s: -40, l: -10 })), 'mkBorder'); + }); + var QC, + Nz, + Mz = R(() => { + 'use strict'; + al(); + j1(); + up(); + (QC = class { + static { + o(this, 'Theme'); + } + constructor() { + (this.background = '#f4f4f4'), + (this.primaryColor = '#fff4dd'), + (this.noteBkgColor = '#fff5ad'), + (this.noteTextColor = '#333'), + (this.THEME_COLOR_LIMIT = 12), + (this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif'), + (this.fontSize = '16px'); + } + updateColors() { + if ( + ((this.primaryTextColor = this.primaryTextColor || (this.darkMode ? '#eee' : '#333')), + (this.secondaryColor = this.secondaryColor || Oe(this.primaryColor, { h: -120 })), + (this.tertiaryColor = this.tertiaryColor || Oe(this.primaryColor, { h: 180, l: 5 })), + (this.primaryBorderColor = this.primaryBorderColor || yi(this.primaryColor, this.darkMode)), + (this.secondaryBorderColor = + this.secondaryBorderColor || yi(this.secondaryColor, this.darkMode)), + (this.tertiaryBorderColor = this.tertiaryBorderColor || yi(this.tertiaryColor, this.darkMode)), + (this.noteBorderColor = this.noteBorderColor || yi(this.noteBkgColor, this.darkMode)), + (this.noteBkgColor = this.noteBkgColor || '#fff5ad'), + (this.noteTextColor = this.noteTextColor || '#333'), + (this.secondaryTextColor = this.secondaryTextColor || ot(this.secondaryColor)), + (this.tertiaryTextColor = this.tertiaryTextColor || ot(this.tertiaryColor)), + (this.lineColor = this.lineColor || ot(this.background)), + (this.arrowheadColor = this.arrowheadColor || ot(this.background)), + (this.textColor = this.textColor || this.primaryTextColor), + (this.border2 = this.border2 || this.tertiaryBorderColor), + (this.nodeBkg = this.nodeBkg || this.primaryColor), + (this.mainBkg = this.mainBkg || this.primaryColor), + (this.nodeBorder = this.nodeBorder || this.primaryBorderColor), + (this.clusterBkg = this.clusterBkg || this.tertiaryColor), + (this.clusterBorder = this.clusterBorder || this.tertiaryBorderColor), + (this.defaultLinkColor = this.defaultLinkColor || this.lineColor), + (this.titleColor = this.titleColor || this.tertiaryTextColor), + (this.edgeLabelBackground = + this.edgeLabelBackground || + (this.darkMode ? Dt(this.secondaryColor, 30) : this.secondaryColor)), + (this.nodeTextColor = this.nodeTextColor || this.primaryTextColor), + (this.actorBorder = this.actorBorder || this.primaryBorderColor), + (this.actorBkg = this.actorBkg || this.mainBkg), + (this.actorTextColor = this.actorTextColor || this.primaryTextColor), + (this.actorLineColor = this.actorLineColor || this.actorBorder), + (this.labelBoxBkgColor = this.labelBoxBkgColor || this.actorBkg), + (this.signalColor = this.signalColor || this.textColor), + (this.signalTextColor = this.signalTextColor || this.textColor), + (this.labelBoxBorderColor = this.labelBoxBorderColor || this.actorBorder), + (this.labelTextColor = this.labelTextColor || this.actorTextColor), + (this.loopTextColor = this.loopTextColor || this.actorTextColor), + (this.activationBorderColor = this.activationBorderColor || Dt(this.secondaryColor, 10)), + (this.activationBkgColor = this.activationBkgColor || this.secondaryColor), + (this.sequenceNumberColor = this.sequenceNumberColor || ot(this.lineColor)), + (this.sectionBkgColor = this.sectionBkgColor || this.tertiaryColor), + (this.altSectionBkgColor = this.altSectionBkgColor || 'white'), + (this.sectionBkgColor = this.sectionBkgColor || this.secondaryColor), + (this.sectionBkgColor2 = this.sectionBkgColor2 || this.primaryColor), + (this.excludeBkgColor = this.excludeBkgColor || '#eeeeee'), + (this.taskBorderColor = this.taskBorderColor || this.primaryBorderColor), + (this.taskBkgColor = this.taskBkgColor || this.primaryColor), + (this.activeTaskBorderColor = this.activeTaskBorderColor || this.primaryColor), + (this.activeTaskBkgColor = this.activeTaskBkgColor || Et(this.primaryColor, 23)), + (this.gridColor = this.gridColor || 'lightgrey'), + (this.doneTaskBkgColor = this.doneTaskBkgColor || 'lightgrey'), + (this.doneTaskBorderColor = this.doneTaskBorderColor || 'grey'), + (this.critBorderColor = this.critBorderColor || '#ff8888'), + (this.critBkgColor = this.critBkgColor || 'red'), + (this.todayLineColor = this.todayLineColor || 'red'), + (this.taskTextColor = this.taskTextColor || this.textColor), + (this.taskTextOutsideColor = this.taskTextOutsideColor || this.textColor), + (this.taskTextLightColor = this.taskTextLightColor || this.textColor), + (this.taskTextColor = this.taskTextColor || this.primaryTextColor), + (this.taskTextDarkColor = this.taskTextDarkColor || this.textColor), + (this.taskTextClickableColor = this.taskTextClickableColor || '#003163'), + (this.personBorder = this.personBorder || this.primaryBorderColor), + (this.personBkg = this.personBkg || this.mainBkg), + (this.transitionColor = this.transitionColor || this.lineColor), + (this.transitionLabelColor = this.transitionLabelColor || this.textColor), + (this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor), + (this.stateBkg = this.stateBkg || this.mainBkg), + (this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg), + (this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor), + (this.altBackground = this.altBackground || this.tertiaryColor), + (this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg), + (this.compositeBorder = this.compositeBorder || this.nodeBorder), + (this.innerEndBackground = this.nodeBorder), + (this.errorBkgColor = this.errorBkgColor || this.tertiaryColor), + (this.errorTextColor = this.errorTextColor || this.tertiaryTextColor), + (this.transitionColor = this.transitionColor || this.lineColor), + (this.specialStateColor = this.lineColor), + (this.cScale0 = this.cScale0 || this.primaryColor), + (this.cScale1 = this.cScale1 || this.secondaryColor), + (this.cScale2 = this.cScale2 || this.tertiaryColor), + (this.cScale3 = this.cScale3 || Oe(this.primaryColor, { h: 30 })), + (this.cScale4 = this.cScale4 || Oe(this.primaryColor, { h: 60 })), + (this.cScale5 = this.cScale5 || Oe(this.primaryColor, { h: 90 })), + (this.cScale6 = this.cScale6 || Oe(this.primaryColor, { h: 120 })), + (this.cScale7 = this.cScale7 || Oe(this.primaryColor, { h: 150 })), + (this.cScale8 = this.cScale8 || Oe(this.primaryColor, { h: 210, l: 150 })), + (this.cScale9 = this.cScale9 || Oe(this.primaryColor, { h: 270 })), + (this.cScale10 = this.cScale10 || Oe(this.primaryColor, { h: 300 })), + (this.cScale11 = this.cScale11 || Oe(this.primaryColor, { h: 330 })), + this.darkMode) + ) + for (let r = 0; r < this.THEME_COLOR_LIMIT; r++) + this['cScale' + r] = Dt(this['cScale' + r], 75); + else + for (let r = 0; r < this.THEME_COLOR_LIMIT; r++) + this['cScale' + r] = Dt(this['cScale' + r], 25); + for (let r = 0; r < this.THEME_COLOR_LIMIT; r++) + this['cScaleInv' + r] = this['cScaleInv' + r] || ot(this['cScale' + r]); + for (let r = 0; r < this.THEME_COLOR_LIMIT; r++) + this.darkMode + ? (this['cScalePeer' + r] = this['cScalePeer' + r] || Et(this['cScale' + r], 10)) + : (this['cScalePeer' + r] = this['cScalePeer' + r] || Dt(this['cScale' + r], 10)); + this.scaleLabelColor = this.scaleLabelColor || this.labelTextColor; + for (let r = 0; r < this.THEME_COLOR_LIMIT; r++) + this['cScaleLabel' + r] = this['cScaleLabel' + r] || this.scaleLabelColor; + let e = this.darkMode ? -4 : -1; + for (let r = 0; r < 5; r++) + (this['surface' + r] = + this['surface' + r] || Oe(this.mainBkg, { h: 180, s: -15, l: e * (5 + r * 3) })), + (this['surfacePeer' + r] = + this['surfacePeer' + r] || Oe(this.mainBkg, { h: 180, s: -15, l: e * (8 + r * 3) })); + (this.classText = this.classText || this.textColor), + (this.fillType0 = this.fillType0 || this.primaryColor), + (this.fillType1 = this.fillType1 || this.secondaryColor), + (this.fillType2 = this.fillType2 || Oe(this.primaryColor, { h: 64 })), + (this.fillType3 = this.fillType3 || Oe(this.secondaryColor, { h: 64 })), + (this.fillType4 = this.fillType4 || Oe(this.primaryColor, { h: -64 })), + (this.fillType5 = this.fillType5 || Oe(this.secondaryColor, { h: -64 })), + (this.fillType6 = this.fillType6 || Oe(this.primaryColor, { h: 128 })), + (this.fillType7 = this.fillType7 || Oe(this.secondaryColor, { h: 128 })), + (this.pie1 = this.pie1 || this.primaryColor), + (this.pie2 = this.pie2 || this.secondaryColor), + (this.pie3 = this.pie3 || this.tertiaryColor), + (this.pie4 = this.pie4 || Oe(this.primaryColor, { l: -10 })), + (this.pie5 = this.pie5 || Oe(this.secondaryColor, { l: -10 })), + (this.pie6 = this.pie6 || Oe(this.tertiaryColor, { l: -10 })), + (this.pie7 = this.pie7 || Oe(this.primaryColor, { h: 60, l: -10 })), + (this.pie8 = this.pie8 || Oe(this.primaryColor, { h: -60, l: -10 })), + (this.pie9 = this.pie9 || Oe(this.primaryColor, { h: 120, l: 0 })), + (this.pie10 = this.pie10 || Oe(this.primaryColor, { h: 60, l: -20 })), + (this.pie11 = this.pie11 || Oe(this.primaryColor, { h: -60, l: -20 })), + (this.pie12 = this.pie12 || Oe(this.primaryColor, { h: 120, l: -10 })), + (this.pieTitleTextSize = this.pieTitleTextSize || '25px'), + (this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor), + (this.pieSectionTextSize = this.pieSectionTextSize || '17px'), + (this.pieSectionTextColor = this.pieSectionTextColor || this.textColor), + (this.pieLegendTextSize = this.pieLegendTextSize || '17px'), + (this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor), + (this.pieStrokeColor = this.pieStrokeColor || 'black'), + (this.pieStrokeWidth = this.pieStrokeWidth || '2px'), + (this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || '2px'), + (this.pieOuterStrokeColor = this.pieOuterStrokeColor || 'black'), + (this.pieOpacity = this.pieOpacity || '0.7'), + (this.archEdgeColor = this.archEdgeColor || '#777'), + (this.archEdgeArrowColor = this.archEdgeArrowColor || '#777'), + (this.archEdgeWidth = this.archEdgeWidth || '3'), + (this.archGroupBorderColor = this.archGroupBorderColor || '#000'), + (this.archGroupBorderWidth = this.archGroupBorderWidth || '2px'), + (this.quadrant1Fill = this.quadrant1Fill || this.primaryColor), + (this.quadrant2Fill = this.quadrant2Fill || Oe(this.primaryColor, { r: 5, g: 5, b: 5 })), + (this.quadrant3Fill = this.quadrant3Fill || Oe(this.primaryColor, { r: 10, g: 10, b: 10 })), + (this.quadrant4Fill = this.quadrant4Fill || Oe(this.primaryColor, { r: 15, g: 15, b: 15 })), + (this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor), + (this.quadrant2TextFill = + this.quadrant2TextFill || Oe(this.primaryTextColor, { r: -5, g: -5, b: -5 })), + (this.quadrant3TextFill = + this.quadrant3TextFill || Oe(this.primaryTextColor, { r: -10, g: -10, b: -10 })), + (this.quadrant4TextFill = + this.quadrant4TextFill || Oe(this.primaryTextColor, { r: -15, g: -15, b: -15 })), + (this.quadrantPointFill = + this.quadrantPointFill || Wa(this.quadrant1Fill) + ? Et(this.quadrant1Fill) + : Dt(this.quadrant1Fill)), + (this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor), + (this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor), + (this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor), + (this.quadrantInternalBorderStrokeFill = + this.quadrantInternalBorderStrokeFill || this.primaryBorderColor), + (this.quadrantExternalBorderStrokeFill = + this.quadrantExternalBorderStrokeFill || this.primaryBorderColor), + (this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor), + (this.xyChart = { + backgroundColor: this.xyChart?.backgroundColor || this.background, + titleColor: this.xyChart?.titleColor || this.primaryTextColor, + xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor, + xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor, + xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor, + xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor, + yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor, + yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor, + yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor, + yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor, + plotColorPalette: + this.xyChart?.plotColorPalette || + '#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0' + }), + (this.requirementBackground = this.requirementBackground || this.primaryColor), + (this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor), + (this.requirementBorderSize = this.requirementBorderSize || '1'), + (this.requirementTextColor = this.requirementTextColor || this.primaryTextColor), + (this.relationColor = this.relationColor || this.lineColor), + (this.relationLabelBackground = + this.relationLabelBackground || + (this.darkMode ? Dt(this.secondaryColor, 30) : this.secondaryColor)), + (this.relationLabelColor = this.relationLabelColor || this.actorTextColor), + (this.git0 = this.git0 || this.primaryColor), + (this.git1 = this.git1 || this.secondaryColor), + (this.git2 = this.git2 || this.tertiaryColor), + (this.git3 = this.git3 || Oe(this.primaryColor, { h: -30 })), + (this.git4 = this.git4 || Oe(this.primaryColor, { h: -60 })), + (this.git5 = this.git5 || Oe(this.primaryColor, { h: -90 })), + (this.git6 = this.git6 || Oe(this.primaryColor, { h: 60 })), + (this.git7 = this.git7 || Oe(this.primaryColor, { h: 120 })), + this.darkMode + ? ((this.git0 = Et(this.git0, 25)), + (this.git1 = Et(this.git1, 25)), + (this.git2 = Et(this.git2, 25)), + (this.git3 = Et(this.git3, 25)), + (this.git4 = Et(this.git4, 25)), + (this.git5 = Et(this.git5, 25)), + (this.git6 = Et(this.git6, 25)), + (this.git7 = Et(this.git7, 25))) + : ((this.git0 = Dt(this.git0, 25)), + (this.git1 = Dt(this.git1, 25)), + (this.git2 = Dt(this.git2, 25)), + (this.git3 = Dt(this.git3, 25)), + (this.git4 = Dt(this.git4, 25)), + (this.git5 = Dt(this.git5, 25)), + (this.git6 = Dt(this.git6, 25)), + (this.git7 = Dt(this.git7, 25))), + (this.gitInv0 = this.gitInv0 || ot(this.git0)), + (this.gitInv1 = this.gitInv1 || ot(this.git1)), + (this.gitInv2 = this.gitInv2 || ot(this.git2)), + (this.gitInv3 = this.gitInv3 || ot(this.git3)), + (this.gitInv4 = this.gitInv4 || ot(this.git4)), + (this.gitInv5 = this.gitInv5 || ot(this.git5)), + (this.gitInv6 = this.gitInv6 || ot(this.git6)), + (this.gitInv7 = this.gitInv7 || ot(this.git7)), + (this.branchLabelColor = + this.branchLabelColor || (this.darkMode ? 'black' : this.labelTextColor)), + (this.gitBranchLabel0 = this.gitBranchLabel0 || this.branchLabelColor), + (this.gitBranchLabel1 = this.gitBranchLabel1 || this.branchLabelColor), + (this.gitBranchLabel2 = this.gitBranchLabel2 || this.branchLabelColor), + (this.gitBranchLabel3 = this.gitBranchLabel3 || this.branchLabelColor), + (this.gitBranchLabel4 = this.gitBranchLabel4 || this.branchLabelColor), + (this.gitBranchLabel5 = this.gitBranchLabel5 || this.branchLabelColor), + (this.gitBranchLabel6 = this.gitBranchLabel6 || this.branchLabelColor), + (this.gitBranchLabel7 = this.gitBranchLabel7 || this.branchLabelColor), + (this.tagLabelColor = this.tagLabelColor || this.primaryTextColor), + (this.tagLabelBackground = this.tagLabelBackground || this.primaryColor), + (this.tagLabelBorder = this.tagBorder || this.primaryBorderColor), + (this.tagLabelFontSize = this.tagLabelFontSize || '10px'), + (this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor), + (this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor), + (this.commitLabelFontSize = this.commitLabelFontSize || '10px'), + (this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || lh), + (this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || ch); + } + calculate(e) { + if (typeof e != 'object') { + this.updateColors(); + return; + } + let r = Object.keys(e); + r.forEach((n) => { + this[n] = e[n]; + }), + this.updateColors(), + r.forEach((n) => { + this[n] = e[n]; + }); + } + }), + (Nz = o((t) => { + let e = new QC(); + return e.calculate(t), e; + }, 'getThemeVariables')); + }); + var ZC, + Iz, + Oz = R(() => { + 'use strict'; + al(); + up(); + (ZC = class { + static { + o(this, 'Theme'); + } + constructor() { + (this.background = '#333'), + (this.primaryColor = '#1f2020'), + (this.secondaryColor = Et(this.primaryColor, 16)), + (this.tertiaryColor = Oe(this.primaryColor, { h: -160 })), + (this.primaryBorderColor = ot(this.background)), + (this.secondaryBorderColor = yi(this.secondaryColor, this.darkMode)), + (this.tertiaryBorderColor = yi(this.tertiaryColor, this.darkMode)), + (this.primaryTextColor = ot(this.primaryColor)), + (this.secondaryTextColor = ot(this.secondaryColor)), + (this.tertiaryTextColor = ot(this.tertiaryColor)), + (this.lineColor = ot(this.background)), + (this.textColor = ot(this.background)), + (this.mainBkg = '#1f2020'), + (this.secondBkg = 'calculated'), + (this.mainContrastColor = 'lightgrey'), + (this.darkTextColor = Et(ot('#323D47'), 10)), + (this.lineColor = 'calculated'), + (this.border1 = '#ccc'), + (this.border2 = Ws(255, 255, 255, 0.25)), + (this.arrowheadColor = 'calculated'), + (this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif'), + (this.fontSize = '16px'), + (this.labelBackground = '#181818'), + (this.textColor = '#ccc'), + (this.THEME_COLOR_LIMIT = 12), + (this.nodeBkg = 'calculated'), + (this.nodeBorder = 'calculated'), + (this.clusterBkg = 'calculated'), + (this.clusterBorder = 'calculated'), + (this.defaultLinkColor = 'calculated'), + (this.titleColor = '#F9FFFE'), + (this.edgeLabelBackground = 'calculated'), + (this.actorBorder = 'calculated'), + (this.actorBkg = 'calculated'), + (this.actorTextColor = 'calculated'), + (this.actorLineColor = 'calculated'), + (this.signalColor = 'calculated'), + (this.signalTextColor = 'calculated'), + (this.labelBoxBkgColor = 'calculated'), + (this.labelBoxBorderColor = 'calculated'), + (this.labelTextColor = 'calculated'), + (this.loopTextColor = 'calculated'), + (this.noteBorderColor = 'calculated'), + (this.noteBkgColor = '#fff5ad'), + (this.noteTextColor = 'calculated'), + (this.activationBorderColor = 'calculated'), + (this.activationBkgColor = 'calculated'), + (this.sequenceNumberColor = 'black'), + (this.sectionBkgColor = Dt('#EAE8D9', 30)), + (this.altSectionBkgColor = 'calculated'), + (this.sectionBkgColor2 = '#EAE8D9'), + (this.excludeBkgColor = Dt(this.sectionBkgColor, 10)), + (this.taskBorderColor = Ws(255, 255, 255, 70)), + (this.taskBkgColor = 'calculated'), + (this.taskTextColor = 'calculated'), + (this.taskTextLightColor = 'calculated'), + (this.taskTextOutsideColor = 'calculated'), + (this.taskTextClickableColor = '#003163'), + (this.activeTaskBorderColor = Ws(255, 255, 255, 50)), + (this.activeTaskBkgColor = '#81B1DB'), + (this.gridColor = 'calculated'), + (this.doneTaskBkgColor = 'calculated'), + (this.doneTaskBorderColor = 'grey'), + (this.critBorderColor = '#E83737'), + (this.critBkgColor = '#E83737'), + (this.taskTextDarkColor = 'calculated'), + (this.todayLineColor = '#DB5757'), + (this.personBorder = this.primaryBorderColor), + (this.personBkg = this.mainBkg), + (this.archEdgeColor = 'calculated'), + (this.archEdgeArrowColor = 'calculated'), + (this.archEdgeWidth = '3'), + (this.archGroupBorderColor = this.primaryBorderColor), + (this.archGroupBorderWidth = '2px'), + (this.labelColor = 'calculated'), + (this.errorBkgColor = '#a44141'), + (this.errorTextColor = '#ddd'); + } + updateColors() { + (this.secondBkg = Et(this.mainBkg, 16)), + (this.lineColor = this.mainContrastColor), + (this.arrowheadColor = this.mainContrastColor), + (this.nodeBkg = this.mainBkg), + (this.nodeBorder = this.border1), + (this.clusterBkg = this.secondBkg), + (this.clusterBorder = this.border2), + (this.defaultLinkColor = this.lineColor), + (this.edgeLabelBackground = Et(this.labelBackground, 25)), + (this.actorBorder = this.border1), + (this.actorBkg = this.mainBkg), + (this.actorTextColor = this.mainContrastColor), + (this.actorLineColor = this.actorBorder), + (this.signalColor = this.mainContrastColor), + (this.signalTextColor = this.mainContrastColor), + (this.labelBoxBkgColor = this.actorBkg), + (this.labelBoxBorderColor = this.actorBorder), + (this.labelTextColor = this.mainContrastColor), + (this.loopTextColor = this.mainContrastColor), + (this.noteBorderColor = this.secondaryBorderColor), + (this.noteBkgColor = this.secondBkg), + (this.noteTextColor = this.secondaryTextColor), + (this.activationBorderColor = this.border1), + (this.activationBkgColor = this.secondBkg), + (this.altSectionBkgColor = this.background), + (this.taskBkgColor = Et(this.mainBkg, 23)), + (this.taskTextColor = this.darkTextColor), + (this.taskTextLightColor = this.mainContrastColor), + (this.taskTextOutsideColor = this.taskTextLightColor), + (this.gridColor = this.mainContrastColor), + (this.doneTaskBkgColor = this.mainContrastColor), + (this.taskTextDarkColor = this.darkTextColor), + (this.archEdgeColor = this.lineColor), + (this.archEdgeArrowColor = this.lineColor), + (this.transitionColor = this.transitionColor || this.lineColor), + (this.transitionLabelColor = this.transitionLabelColor || this.textColor), + (this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor), + (this.stateBkg = this.stateBkg || this.mainBkg), + (this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg), + (this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor), + (this.altBackground = this.altBackground || '#555'), + (this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg), + (this.compositeBorder = this.compositeBorder || this.nodeBorder), + (this.innerEndBackground = this.primaryBorderColor), + (this.specialStateColor = '#f4f4f4'), + (this.errorBkgColor = this.errorBkgColor || this.tertiaryColor), + (this.errorTextColor = this.errorTextColor || this.tertiaryTextColor), + (this.fillType0 = this.primaryColor), + (this.fillType1 = this.secondaryColor), + (this.fillType2 = Oe(this.primaryColor, { h: 64 })), + (this.fillType3 = Oe(this.secondaryColor, { h: 64 })), + (this.fillType4 = Oe(this.primaryColor, { h: -64 })), + (this.fillType5 = Oe(this.secondaryColor, { h: -64 })), + (this.fillType6 = Oe(this.primaryColor, { h: 128 })), + (this.fillType7 = Oe(this.secondaryColor, { h: 128 })), + (this.cScale1 = this.cScale1 || '#0b0000'), + (this.cScale2 = this.cScale2 || '#4d1037'), + (this.cScale3 = this.cScale3 || '#3f5258'), + (this.cScale4 = this.cScale4 || '#4f2f1b'), + (this.cScale5 = this.cScale5 || '#6e0a0a'), + (this.cScale6 = this.cScale6 || '#3b0048'), + (this.cScale7 = this.cScale7 || '#995a01'), + (this.cScale8 = this.cScale8 || '#154706'), + (this.cScale9 = this.cScale9 || '#161722'), + (this.cScale10 = this.cScale10 || '#00296f'), + (this.cScale11 = this.cScale11 || '#01629c'), + (this.cScale12 = this.cScale12 || '#010029'), + (this.cScale0 = this.cScale0 || this.primaryColor), + (this.cScale1 = this.cScale1 || this.secondaryColor), + (this.cScale2 = this.cScale2 || this.tertiaryColor), + (this.cScale3 = this.cScale3 || Oe(this.primaryColor, { h: 30 })), + (this.cScale4 = this.cScale4 || Oe(this.primaryColor, { h: 60 })), + (this.cScale5 = this.cScale5 || Oe(this.primaryColor, { h: 90 })), + (this.cScale6 = this.cScale6 || Oe(this.primaryColor, { h: 120 })), + (this.cScale7 = this.cScale7 || Oe(this.primaryColor, { h: 150 })), + (this.cScale8 = this.cScale8 || Oe(this.primaryColor, { h: 210 })), + (this.cScale9 = this.cScale9 || Oe(this.primaryColor, { h: 270 })), + (this.cScale10 = this.cScale10 || Oe(this.primaryColor, { h: 300 })), + (this.cScale11 = this.cScale11 || Oe(this.primaryColor, { h: 330 })); + for (let e = 0; e < this.THEME_COLOR_LIMIT; e++) + this['cScaleInv' + e] = this['cScaleInv' + e] || ot(this['cScale' + e]); + for (let e = 0; e < this.THEME_COLOR_LIMIT; e++) + this['cScalePeer' + e] = this['cScalePeer' + e] || Et(this['cScale' + e], 10); + for (let e = 0; e < 5; e++) + (this['surface' + e] = + this['surface' + e] || Oe(this.mainBkg, { h: 30, s: -30, l: -(-10 + e * 4) })), + (this['surfacePeer' + e] = + this['surfacePeer' + e] || Oe(this.mainBkg, { h: 30, s: -30, l: -(-7 + e * 4) })); + this.scaleLabelColor = this.scaleLabelColor || (this.darkMode ? 'black' : this.labelTextColor); + for (let e = 0; e < this.THEME_COLOR_LIMIT; e++) + this['cScaleLabel' + e] = this['cScaleLabel' + e] || this.scaleLabelColor; + for (let e = 0; e < this.THEME_COLOR_LIMIT; e++) this['pie' + e] = this['cScale' + e]; + (this.pieTitleTextSize = this.pieTitleTextSize || '25px'), + (this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor), + (this.pieSectionTextSize = this.pieSectionTextSize || '17px'), + (this.pieSectionTextColor = this.pieSectionTextColor || this.textColor), + (this.pieLegendTextSize = this.pieLegendTextSize || '17px'), + (this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor), + (this.pieStrokeColor = this.pieStrokeColor || 'black'), + (this.pieStrokeWidth = this.pieStrokeWidth || '2px'), + (this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || '2px'), + (this.pieOuterStrokeColor = this.pieOuterStrokeColor || 'black'), + (this.pieOpacity = this.pieOpacity || '0.7'), + (this.quadrant1Fill = this.quadrant1Fill || this.primaryColor), + (this.quadrant2Fill = this.quadrant2Fill || Oe(this.primaryColor, { r: 5, g: 5, b: 5 })), + (this.quadrant3Fill = this.quadrant3Fill || Oe(this.primaryColor, { r: 10, g: 10, b: 10 })), + (this.quadrant4Fill = this.quadrant4Fill || Oe(this.primaryColor, { r: 15, g: 15, b: 15 })), + (this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor), + (this.quadrant2TextFill = + this.quadrant2TextFill || Oe(this.primaryTextColor, { r: -5, g: -5, b: -5 })), + (this.quadrant3TextFill = + this.quadrant3TextFill || Oe(this.primaryTextColor, { r: -10, g: -10, b: -10 })), + (this.quadrant4TextFill = + this.quadrant4TextFill || Oe(this.primaryTextColor, { r: -15, g: -15, b: -15 })), + (this.quadrantPointFill = + this.quadrantPointFill || Wa(this.quadrant1Fill) + ? Et(this.quadrant1Fill) + : Dt(this.quadrant1Fill)), + (this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor), + (this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor), + (this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor), + (this.quadrantInternalBorderStrokeFill = + this.quadrantInternalBorderStrokeFill || this.primaryBorderColor), + (this.quadrantExternalBorderStrokeFill = + this.quadrantExternalBorderStrokeFill || this.primaryBorderColor), + (this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor), + (this.xyChart = { + backgroundColor: this.xyChart?.backgroundColor || this.background, + titleColor: this.xyChart?.titleColor || this.primaryTextColor, + xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor, + xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor, + xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor, + xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor, + yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor, + yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor, + yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor, + yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor, + plotColorPalette: + this.xyChart?.plotColorPalette || + '#3498db,#2ecc71,#e74c3c,#f1c40f,#bdc3c7,#ffffff,#34495e,#9b59b6,#1abc9c,#e67e22' + }), + (this.packet = { + startByteColor: this.primaryTextColor, + endByteColor: this.primaryTextColor, + labelColor: this.primaryTextColor, + titleColor: this.primaryTextColor, + blockStrokeColor: this.primaryTextColor, + blockFillColor: this.background + }), + (this.classText = this.primaryTextColor), + (this.requirementBackground = this.requirementBackground || this.primaryColor), + (this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor), + (this.requirementBorderSize = this.requirementBorderSize || '1'), + (this.requirementTextColor = this.requirementTextColor || this.primaryTextColor), + (this.relationColor = this.relationColor || this.lineColor), + (this.relationLabelBackground = + this.relationLabelBackground || + (this.darkMode ? Dt(this.secondaryColor, 30) : this.secondaryColor)), + (this.relationLabelColor = this.relationLabelColor || this.actorTextColor), + (this.git0 = Et(this.secondaryColor, 20)), + (this.git1 = Et(this.pie2 || this.secondaryColor, 20)), + (this.git2 = Et(this.pie3 || this.tertiaryColor, 20)), + (this.git3 = Et(this.pie4 || Oe(this.primaryColor, { h: -30 }), 20)), + (this.git4 = Et(this.pie5 || Oe(this.primaryColor, { h: -60 }), 20)), + (this.git5 = Et(this.pie6 || Oe(this.primaryColor, { h: -90 }), 10)), + (this.git6 = Et(this.pie7 || Oe(this.primaryColor, { h: 60 }), 10)), + (this.git7 = Et(this.pie8 || Oe(this.primaryColor, { h: 120 }), 20)), + (this.gitInv0 = this.gitInv0 || ot(this.git0)), + (this.gitInv1 = this.gitInv1 || ot(this.git1)), + (this.gitInv2 = this.gitInv2 || ot(this.git2)), + (this.gitInv3 = this.gitInv3 || ot(this.git3)), + (this.gitInv4 = this.gitInv4 || ot(this.git4)), + (this.gitInv5 = this.gitInv5 || ot(this.git5)), + (this.gitInv6 = this.gitInv6 || ot(this.git6)), + (this.gitInv7 = this.gitInv7 || ot(this.git7)), + (this.gitBranchLabel0 = this.gitBranchLabel0 || ot(this.labelTextColor)), + (this.gitBranchLabel1 = this.gitBranchLabel1 || this.labelTextColor), + (this.gitBranchLabel2 = this.gitBranchLabel2 || this.labelTextColor), + (this.gitBranchLabel3 = this.gitBranchLabel3 || ot(this.labelTextColor)), + (this.gitBranchLabel4 = this.gitBranchLabel4 || this.labelTextColor), + (this.gitBranchLabel5 = this.gitBranchLabel5 || this.labelTextColor), + (this.gitBranchLabel6 = this.gitBranchLabel6 || this.labelTextColor), + (this.gitBranchLabel7 = this.gitBranchLabel7 || this.labelTextColor), + (this.tagLabelColor = this.tagLabelColor || this.primaryTextColor), + (this.tagLabelBackground = this.tagLabelBackground || this.primaryColor), + (this.tagLabelBorder = this.tagBorder || this.primaryBorderColor), + (this.tagLabelFontSize = this.tagLabelFontSize || '10px'), + (this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor), + (this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor), + (this.commitLabelFontSize = this.commitLabelFontSize || '10px'), + (this.attributeBackgroundColorOdd = + this.attributeBackgroundColorOdd || Et(this.background, 12)), + (this.attributeBackgroundColorEven = + this.attributeBackgroundColorEven || Et(this.background, 2)), + (this.nodeBorder = this.nodeBorder || '#999'); + } + calculate(e) { + if (typeof e != 'object') { + this.updateColors(); + return; + } + let r = Object.keys(e); + r.forEach((n) => { + this[n] = e[n]; + }), + this.updateColors(), + r.forEach((n) => { + this[n] = e[n]; + }); + } + }), + (Iz = o((t) => { + let e = new ZC(); + return e.calculate(t), e; + }, 'getThemeVariables')); + }); + var JC, + hp, + jb = R(() => { + 'use strict'; + al(); + up(); + j1(); + (JC = class { + static { + o(this, 'Theme'); + } + constructor() { + (this.background = '#f4f4f4'), + (this.primaryColor = '#ECECFF'), + (this.secondaryColor = Oe(this.primaryColor, { h: 120 })), + (this.secondaryColor = '#ffffde'), + (this.tertiaryColor = Oe(this.primaryColor, { h: -160 })), + (this.primaryBorderColor = yi(this.primaryColor, this.darkMode)), + (this.secondaryBorderColor = yi(this.secondaryColor, this.darkMode)), + (this.tertiaryBorderColor = yi(this.tertiaryColor, this.darkMode)), + (this.primaryTextColor = ot(this.primaryColor)), + (this.secondaryTextColor = ot(this.secondaryColor)), + (this.tertiaryTextColor = ot(this.tertiaryColor)), + (this.lineColor = ot(this.background)), + (this.textColor = ot(this.background)), + (this.background = 'white'), + (this.mainBkg = '#ECECFF'), + (this.secondBkg = '#ffffde'), + (this.lineColor = '#333333'), + (this.border1 = '#9370DB'), + (this.border2 = '#aaaa33'), + (this.arrowheadColor = '#333333'), + (this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif'), + (this.fontSize = '16px'), + (this.labelBackground = 'rgba(232,232,232, 0.8)'), + (this.textColor = '#333'), + (this.THEME_COLOR_LIMIT = 12), + (this.nodeBkg = 'calculated'), + (this.nodeBorder = 'calculated'), + (this.clusterBkg = 'calculated'), + (this.clusterBorder = 'calculated'), + (this.defaultLinkColor = 'calculated'), + (this.titleColor = 'calculated'), + (this.edgeLabelBackground = 'calculated'), + (this.actorBorder = 'calculated'), + (this.actorBkg = 'calculated'), + (this.actorTextColor = 'black'), + (this.actorLineColor = 'calculated'), + (this.signalColor = 'calculated'), + (this.signalTextColor = 'calculated'), + (this.labelBoxBkgColor = 'calculated'), + (this.labelBoxBorderColor = 'calculated'), + (this.labelTextColor = 'calculated'), + (this.loopTextColor = 'calculated'), + (this.noteBorderColor = 'calculated'), + (this.noteBkgColor = '#fff5ad'), + (this.noteTextColor = 'calculated'), + (this.activationBorderColor = '#666'), + (this.activationBkgColor = '#f4f4f4'), + (this.sequenceNumberColor = 'white'), + (this.sectionBkgColor = 'calculated'), + (this.altSectionBkgColor = 'calculated'), + (this.sectionBkgColor2 = 'calculated'), + (this.excludeBkgColor = '#eeeeee'), + (this.taskBorderColor = 'calculated'), + (this.taskBkgColor = 'calculated'), + (this.taskTextLightColor = 'calculated'), + (this.taskTextColor = this.taskTextLightColor), + (this.taskTextDarkColor = 'calculated'), + (this.taskTextOutsideColor = this.taskTextDarkColor), + (this.taskTextClickableColor = 'calculated'), + (this.activeTaskBorderColor = 'calculated'), + (this.activeTaskBkgColor = 'calculated'), + (this.gridColor = 'calculated'), + (this.doneTaskBkgColor = 'calculated'), + (this.doneTaskBorderColor = 'calculated'), + (this.critBorderColor = 'calculated'), + (this.critBkgColor = 'calculated'), + (this.todayLineColor = 'calculated'), + (this.sectionBkgColor = Ws(102, 102, 255, 0.49)), + (this.altSectionBkgColor = 'white'), + (this.sectionBkgColor2 = '#fff400'), + (this.taskBorderColor = '#534fbc'), + (this.taskBkgColor = '#8a90dd'), + (this.taskTextLightColor = 'white'), + (this.taskTextColor = 'calculated'), + (this.taskTextDarkColor = 'black'), + (this.taskTextOutsideColor = 'calculated'), + (this.taskTextClickableColor = '#003163'), + (this.activeTaskBorderColor = '#534fbc'), + (this.activeTaskBkgColor = '#bfc7ff'), + (this.gridColor = 'lightgrey'), + (this.doneTaskBkgColor = 'lightgrey'), + (this.doneTaskBorderColor = 'grey'), + (this.critBorderColor = '#ff8888'), + (this.critBkgColor = 'red'), + (this.todayLineColor = 'red'), + (this.personBorder = this.primaryBorderColor), + (this.personBkg = this.mainBkg), + (this.archEdgeColor = 'calculated'), + (this.archEdgeArrowColor = 'calculated'), + (this.archEdgeWidth = '3'), + (this.archGroupBorderColor = this.primaryBorderColor), + (this.archGroupBorderWidth = '2px'), + (this.labelColor = 'black'), + (this.errorBkgColor = '#552222'), + (this.errorTextColor = '#552222'), + this.updateColors(); + } + updateColors() { + (this.cScale0 = this.cScale0 || this.primaryColor), + (this.cScale1 = this.cScale1 || this.secondaryColor), + (this.cScale2 = this.cScale2 || this.tertiaryColor), + (this.cScale3 = this.cScale3 || Oe(this.primaryColor, { h: 30 })), + (this.cScale4 = this.cScale4 || Oe(this.primaryColor, { h: 60 })), + (this.cScale5 = this.cScale5 || Oe(this.primaryColor, { h: 90 })), + (this.cScale6 = this.cScale6 || Oe(this.primaryColor, { h: 120 })), + (this.cScale7 = this.cScale7 || Oe(this.primaryColor, { h: 150 })), + (this.cScale8 = this.cScale8 || Oe(this.primaryColor, { h: 210 })), + (this.cScale9 = this.cScale9 || Oe(this.primaryColor, { h: 270 })), + (this.cScale10 = this.cScale10 || Oe(this.primaryColor, { h: 300 })), + (this.cScale11 = this.cScale11 || Oe(this.primaryColor, { h: 330 })), + (this.cScalePeer1 = this.cScalePeer1 || Dt(this.secondaryColor, 45)), + (this.cScalePeer2 = this.cScalePeer2 || Dt(this.tertiaryColor, 40)); + for (let e = 0; e < this.THEME_COLOR_LIMIT; e++) + (this['cScale' + e] = Dt(this['cScale' + e], 10)), + (this['cScalePeer' + e] = this['cScalePeer' + e] || Dt(this['cScale' + e], 25)); + for (let e = 0; e < this.THEME_COLOR_LIMIT; e++) + this['cScaleInv' + e] = this['cScaleInv' + e] || Oe(this['cScale' + e], { h: 180 }); + for (let e = 0; e < 5; e++) + (this['surface' + e] = this['surface' + e] || Oe(this.mainBkg, { h: 30, l: -(5 + e * 5) })), + (this['surfacePeer' + e] = + this['surfacePeer' + e] || Oe(this.mainBkg, { h: 30, l: -(7 + e * 5) })); + if ( + ((this.scaleLabelColor = + this.scaleLabelColor !== 'calculated' && this.scaleLabelColor + ? this.scaleLabelColor + : this.labelTextColor), + this.labelTextColor !== 'calculated') + ) { + (this.cScaleLabel0 = this.cScaleLabel0 || ot(this.labelTextColor)), + (this.cScaleLabel3 = this.cScaleLabel3 || ot(this.labelTextColor)); + for (let e = 0; e < this.THEME_COLOR_LIMIT; e++) + this['cScaleLabel' + e] = this['cScaleLabel' + e] || this.labelTextColor; + } + (this.nodeBkg = this.mainBkg), + (this.nodeBorder = this.border1), + (this.clusterBkg = this.secondBkg), + (this.clusterBorder = this.border2), + (this.defaultLinkColor = this.lineColor), + (this.titleColor = this.textColor), + (this.edgeLabelBackground = this.labelBackground), + (this.actorBorder = Et(this.border1, 23)), + (this.actorBkg = this.mainBkg), + (this.labelBoxBkgColor = this.actorBkg), + (this.signalColor = this.textColor), + (this.signalTextColor = this.textColor), + (this.labelBoxBorderColor = this.actorBorder), + (this.labelTextColor = this.actorTextColor), + (this.loopTextColor = this.actorTextColor), + (this.noteBorderColor = this.border2), + (this.noteTextColor = this.actorTextColor), + (this.actorLineColor = this.actorBorder), + (this.taskTextColor = this.taskTextLightColor), + (this.taskTextOutsideColor = this.taskTextDarkColor), + (this.archEdgeColor = this.lineColor), + (this.archEdgeArrowColor = this.lineColor), + (this.transitionColor = this.transitionColor || this.lineColor), + (this.transitionLabelColor = this.transitionLabelColor || this.textColor), + (this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor), + (this.stateBkg = this.stateBkg || this.mainBkg), + (this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg), + (this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor), + (this.altBackground = this.altBackground || '#f0f0f0'), + (this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg), + (this.compositeBorder = this.compositeBorder || this.nodeBorder), + (this.innerEndBackground = this.nodeBorder), + (this.specialStateColor = this.lineColor), + (this.errorBkgColor = this.errorBkgColor || this.tertiaryColor), + (this.errorTextColor = this.errorTextColor || this.tertiaryTextColor), + (this.transitionColor = this.transitionColor || this.lineColor), + (this.classText = this.primaryTextColor), + (this.fillType0 = this.primaryColor), + (this.fillType1 = this.secondaryColor), + (this.fillType2 = Oe(this.primaryColor, { h: 64 })), + (this.fillType3 = Oe(this.secondaryColor, { h: 64 })), + (this.fillType4 = Oe(this.primaryColor, { h: -64 })), + (this.fillType5 = Oe(this.secondaryColor, { h: -64 })), + (this.fillType6 = Oe(this.primaryColor, { h: 128 })), + (this.fillType7 = Oe(this.secondaryColor, { h: 128 })), + (this.pie1 = this.pie1 || this.primaryColor), + (this.pie2 = this.pie2 || this.secondaryColor), + (this.pie3 = this.pie3 || Oe(this.tertiaryColor, { l: -40 })), + (this.pie4 = this.pie4 || Oe(this.primaryColor, { l: -10 })), + (this.pie5 = this.pie5 || Oe(this.secondaryColor, { l: -30 })), + (this.pie6 = this.pie6 || Oe(this.tertiaryColor, { l: -20 })), + (this.pie7 = this.pie7 || Oe(this.primaryColor, { h: 60, l: -20 })), + (this.pie8 = this.pie8 || Oe(this.primaryColor, { h: -60, l: -40 })), + (this.pie9 = this.pie9 || Oe(this.primaryColor, { h: 120, l: -40 })), + (this.pie10 = this.pie10 || Oe(this.primaryColor, { h: 60, l: -40 })), + (this.pie11 = this.pie11 || Oe(this.primaryColor, { h: -90, l: -40 })), + (this.pie12 = this.pie12 || Oe(this.primaryColor, { h: 120, l: -30 })), + (this.pieTitleTextSize = this.pieTitleTextSize || '25px'), + (this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor), + (this.pieSectionTextSize = this.pieSectionTextSize || '17px'), + (this.pieSectionTextColor = this.pieSectionTextColor || this.textColor), + (this.pieLegendTextSize = this.pieLegendTextSize || '17px'), + (this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor), + (this.pieStrokeColor = this.pieStrokeColor || 'black'), + (this.pieStrokeWidth = this.pieStrokeWidth || '2px'), + (this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || '2px'), + (this.pieOuterStrokeColor = this.pieOuterStrokeColor || 'black'), + (this.pieOpacity = this.pieOpacity || '0.7'), + (this.quadrant1Fill = this.quadrant1Fill || this.primaryColor), + (this.quadrant2Fill = this.quadrant2Fill || Oe(this.primaryColor, { r: 5, g: 5, b: 5 })), + (this.quadrant3Fill = this.quadrant3Fill || Oe(this.primaryColor, { r: 10, g: 10, b: 10 })), + (this.quadrant4Fill = this.quadrant4Fill || Oe(this.primaryColor, { r: 15, g: 15, b: 15 })), + (this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor), + (this.quadrant2TextFill = + this.quadrant2TextFill || Oe(this.primaryTextColor, { r: -5, g: -5, b: -5 })), + (this.quadrant3TextFill = + this.quadrant3TextFill || Oe(this.primaryTextColor, { r: -10, g: -10, b: -10 })), + (this.quadrant4TextFill = + this.quadrant4TextFill || Oe(this.primaryTextColor, { r: -15, g: -15, b: -15 })), + (this.quadrantPointFill = + this.quadrantPointFill || Wa(this.quadrant1Fill) + ? Et(this.quadrant1Fill) + : Dt(this.quadrant1Fill)), + (this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor), + (this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor), + (this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor), + (this.quadrantInternalBorderStrokeFill = + this.quadrantInternalBorderStrokeFill || this.primaryBorderColor), + (this.quadrantExternalBorderStrokeFill = + this.quadrantExternalBorderStrokeFill || this.primaryBorderColor), + (this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor), + (this.xyChart = { + backgroundColor: this.xyChart?.backgroundColor || this.background, + titleColor: this.xyChart?.titleColor || this.primaryTextColor, + xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor, + xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor, + xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor, + xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor, + yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor, + yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor, + yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor, + yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor, + plotColorPalette: + this.xyChart?.plotColorPalette || + '#ECECFF,#8493A6,#FFC3A0,#DCDDE1,#B8E994,#D1A36F,#C3CDE6,#FFB6C1,#496078,#F8F3E3' + }), + (this.requirementBackground = this.requirementBackground || this.primaryColor), + (this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor), + (this.requirementBorderSize = this.requirementBorderSize || '1'), + (this.requirementTextColor = this.requirementTextColor || this.primaryTextColor), + (this.relationColor = this.relationColor || this.lineColor), + (this.relationLabelBackground = this.relationLabelBackground || this.labelBackground), + (this.relationLabelColor = this.relationLabelColor || this.actorTextColor), + (this.git0 = this.git0 || this.primaryColor), + (this.git1 = this.git1 || this.secondaryColor), + (this.git2 = this.git2 || this.tertiaryColor), + (this.git3 = this.git3 || Oe(this.primaryColor, { h: -30 })), + (this.git4 = this.git4 || Oe(this.primaryColor, { h: -60 })), + (this.git5 = this.git5 || Oe(this.primaryColor, { h: -90 })), + (this.git6 = this.git6 || Oe(this.primaryColor, { h: 60 })), + (this.git7 = this.git7 || Oe(this.primaryColor, { h: 120 })), + this.darkMode + ? ((this.git0 = Et(this.git0, 25)), + (this.git1 = Et(this.git1, 25)), + (this.git2 = Et(this.git2, 25)), + (this.git3 = Et(this.git3, 25)), + (this.git4 = Et(this.git4, 25)), + (this.git5 = Et(this.git5, 25)), + (this.git6 = Et(this.git6, 25)), + (this.git7 = Et(this.git7, 25))) + : ((this.git0 = Dt(this.git0, 25)), + (this.git1 = Dt(this.git1, 25)), + (this.git2 = Dt(this.git2, 25)), + (this.git3 = Dt(this.git3, 25)), + (this.git4 = Dt(this.git4, 25)), + (this.git5 = Dt(this.git5, 25)), + (this.git6 = Dt(this.git6, 25)), + (this.git7 = Dt(this.git7, 25))), + (this.gitInv0 = this.gitInv0 || Dt(ot(this.git0), 25)), + (this.gitInv1 = this.gitInv1 || ot(this.git1)), + (this.gitInv2 = this.gitInv2 || ot(this.git2)), + (this.gitInv3 = this.gitInv3 || ot(this.git3)), + (this.gitInv4 = this.gitInv4 || ot(this.git4)), + (this.gitInv5 = this.gitInv5 || ot(this.git5)), + (this.gitInv6 = this.gitInv6 || ot(this.git6)), + (this.gitInv7 = this.gitInv7 || ot(this.git7)), + (this.gitBranchLabel0 = this.gitBranchLabel0 || ot(this.labelTextColor)), + (this.gitBranchLabel1 = this.gitBranchLabel1 || this.labelTextColor), + (this.gitBranchLabel2 = this.gitBranchLabel2 || this.labelTextColor), + (this.gitBranchLabel3 = this.gitBranchLabel3 || ot(this.labelTextColor)), + (this.gitBranchLabel4 = this.gitBranchLabel4 || this.labelTextColor), + (this.gitBranchLabel5 = this.gitBranchLabel5 || this.labelTextColor), + (this.gitBranchLabel6 = this.gitBranchLabel6 || this.labelTextColor), + (this.gitBranchLabel7 = this.gitBranchLabel7 || this.labelTextColor), + (this.tagLabelColor = this.tagLabelColor || this.primaryTextColor), + (this.tagLabelBackground = this.tagLabelBackground || this.primaryColor), + (this.tagLabelBorder = this.tagBorder || this.primaryBorderColor), + (this.tagLabelFontSize = this.tagLabelFontSize || '10px'), + (this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor), + (this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor), + (this.commitLabelFontSize = this.commitLabelFontSize || '10px'), + (this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || lh), + (this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || ch); + } + calculate(e) { + if (typeof e != 'object') { + this.updateColors(); + return; + } + let r = Object.keys(e); + r.forEach((n) => { + this[n] = e[n]; + }), + this.updateColors(), + r.forEach((n) => { + this[n] = e[n]; + }); + } + }), + (hp = o((t) => { + let e = new JC(); + return e.calculate(t), e; + }, 'getThemeVariables')); + }); + var e7, + Pz, + Bz = R(() => { + 'use strict'; + al(); + j1(); + up(); + (e7 = class { + static { + o(this, 'Theme'); + } + constructor() { + (this.background = '#f4f4f4'), + (this.primaryColor = '#cde498'), + (this.secondaryColor = '#cdffb2'), + (this.background = 'white'), + (this.mainBkg = '#cde498'), + (this.secondBkg = '#cdffb2'), + (this.lineColor = 'green'), + (this.border1 = '#13540c'), + (this.border2 = '#6eaa49'), + (this.arrowheadColor = 'green'), + (this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif'), + (this.fontSize = '16px'), + (this.tertiaryColor = Et('#cde498', 10)), + (this.primaryBorderColor = yi(this.primaryColor, this.darkMode)), + (this.secondaryBorderColor = yi(this.secondaryColor, this.darkMode)), + (this.tertiaryBorderColor = yi(this.tertiaryColor, this.darkMode)), + (this.primaryTextColor = ot(this.primaryColor)), + (this.secondaryTextColor = ot(this.secondaryColor)), + (this.tertiaryTextColor = ot(this.primaryColor)), + (this.lineColor = ot(this.background)), + (this.textColor = ot(this.background)), + (this.THEME_COLOR_LIMIT = 12), + (this.nodeBkg = 'calculated'), + (this.nodeBorder = 'calculated'), + (this.clusterBkg = 'calculated'), + (this.clusterBorder = 'calculated'), + (this.defaultLinkColor = 'calculated'), + (this.titleColor = '#333'), + (this.edgeLabelBackground = '#e8e8e8'), + (this.actorBorder = 'calculated'), + (this.actorBkg = 'calculated'), + (this.actorTextColor = 'black'), + (this.actorLineColor = 'calculated'), + (this.signalColor = '#333'), + (this.signalTextColor = '#333'), + (this.labelBoxBkgColor = 'calculated'), + (this.labelBoxBorderColor = '#326932'), + (this.labelTextColor = 'calculated'), + (this.loopTextColor = 'calculated'), + (this.noteBorderColor = 'calculated'), + (this.noteBkgColor = '#fff5ad'), + (this.noteTextColor = 'calculated'), + (this.activationBorderColor = '#666'), + (this.activationBkgColor = '#f4f4f4'), + (this.sequenceNumberColor = 'white'), + (this.sectionBkgColor = '#6eaa49'), + (this.altSectionBkgColor = 'white'), + (this.sectionBkgColor2 = '#6eaa49'), + (this.excludeBkgColor = '#eeeeee'), + (this.taskBorderColor = 'calculated'), + (this.taskBkgColor = '#487e3a'), + (this.taskTextLightColor = 'white'), + (this.taskTextColor = 'calculated'), + (this.taskTextDarkColor = 'black'), + (this.taskTextOutsideColor = 'calculated'), + (this.taskTextClickableColor = '#003163'), + (this.activeTaskBorderColor = 'calculated'), + (this.activeTaskBkgColor = 'calculated'), + (this.gridColor = 'lightgrey'), + (this.doneTaskBkgColor = 'lightgrey'), + (this.doneTaskBorderColor = 'grey'), + (this.critBorderColor = '#ff8888'), + (this.critBkgColor = 'red'), + (this.todayLineColor = 'red'), + (this.personBorder = this.primaryBorderColor), + (this.personBkg = this.mainBkg), + (this.archEdgeColor = 'calculated'), + (this.archEdgeArrowColor = 'calculated'), + (this.archEdgeWidth = '3'), + (this.archGroupBorderColor = this.primaryBorderColor), + (this.archGroupBorderWidth = '2px'), + (this.labelColor = 'black'), + (this.errorBkgColor = '#552222'), + (this.errorTextColor = '#552222'); + } + updateColors() { + (this.actorBorder = Dt(this.mainBkg, 20)), + (this.actorBkg = this.mainBkg), + (this.labelBoxBkgColor = this.actorBkg), + (this.labelTextColor = this.actorTextColor), + (this.loopTextColor = this.actorTextColor), + (this.noteBorderColor = this.border2), + (this.noteTextColor = this.actorTextColor), + (this.actorLineColor = this.actorBorder), + (this.cScale0 = this.cScale0 || this.primaryColor), + (this.cScale1 = this.cScale1 || this.secondaryColor), + (this.cScale2 = this.cScale2 || this.tertiaryColor), + (this.cScale3 = this.cScale3 || Oe(this.primaryColor, { h: 30 })), + (this.cScale4 = this.cScale4 || Oe(this.primaryColor, { h: 60 })), + (this.cScale5 = this.cScale5 || Oe(this.primaryColor, { h: 90 })), + (this.cScale6 = this.cScale6 || Oe(this.primaryColor, { h: 120 })), + (this.cScale7 = this.cScale7 || Oe(this.primaryColor, { h: 150 })), + (this.cScale8 = this.cScale8 || Oe(this.primaryColor, { h: 210 })), + (this.cScale9 = this.cScale9 || Oe(this.primaryColor, { h: 270 })), + (this.cScale10 = this.cScale10 || Oe(this.primaryColor, { h: 300 })), + (this.cScale11 = this.cScale11 || Oe(this.primaryColor, { h: 330 })), + (this.cScalePeer1 = this.cScalePeer1 || Dt(this.secondaryColor, 45)), + (this.cScalePeer2 = this.cScalePeer2 || Dt(this.tertiaryColor, 40)); + for (let e = 0; e < this.THEME_COLOR_LIMIT; e++) + (this['cScale' + e] = Dt(this['cScale' + e], 10)), + (this['cScalePeer' + e] = this['cScalePeer' + e] || Dt(this['cScale' + e], 25)); + for (let e = 0; e < this.THEME_COLOR_LIMIT; e++) + this['cScaleInv' + e] = this['cScaleInv' + e] || Oe(this['cScale' + e], { h: 180 }); + this.scaleLabelColor = + this.scaleLabelColor !== 'calculated' && this.scaleLabelColor + ? this.scaleLabelColor + : this.labelTextColor; + for (let e = 0; e < this.THEME_COLOR_LIMIT; e++) + this['cScaleLabel' + e] = this['cScaleLabel' + e] || this.scaleLabelColor; + for (let e = 0; e < 5; e++) + (this['surface' + e] = + this['surface' + e] || Oe(this.mainBkg, { h: 30, s: -30, l: -(5 + e * 5) })), + (this['surfacePeer' + e] = + this['surfacePeer' + e] || Oe(this.mainBkg, { h: 30, s: -30, l: -(8 + e * 5) })); + (this.nodeBkg = this.mainBkg), + (this.nodeBorder = this.border1), + (this.clusterBkg = this.secondBkg), + (this.clusterBorder = this.border2), + (this.defaultLinkColor = this.lineColor), + (this.taskBorderColor = this.border1), + (this.taskTextColor = this.taskTextLightColor), + (this.taskTextOutsideColor = this.taskTextDarkColor), + (this.activeTaskBorderColor = this.taskBorderColor), + (this.activeTaskBkgColor = this.mainBkg), + (this.archEdgeColor = this.lineColor), + (this.archEdgeArrowColor = this.lineColor), + (this.transitionColor = this.transitionColor || this.lineColor), + (this.transitionLabelColor = this.transitionLabelColor || this.textColor), + (this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor), + (this.stateBkg = this.stateBkg || this.mainBkg), + (this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg), + (this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor), + (this.altBackground = this.altBackground || '#f0f0f0'), + (this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg), + (this.compositeBorder = this.compositeBorder || this.nodeBorder), + (this.innerEndBackground = this.primaryBorderColor), + (this.specialStateColor = this.lineColor), + (this.errorBkgColor = this.errorBkgColor || this.tertiaryColor), + (this.errorTextColor = this.errorTextColor || this.tertiaryTextColor), + (this.transitionColor = this.transitionColor || this.lineColor), + (this.classText = this.primaryTextColor), + (this.fillType0 = this.primaryColor), + (this.fillType1 = this.secondaryColor), + (this.fillType2 = Oe(this.primaryColor, { h: 64 })), + (this.fillType3 = Oe(this.secondaryColor, { h: 64 })), + (this.fillType4 = Oe(this.primaryColor, { h: -64 })), + (this.fillType5 = Oe(this.secondaryColor, { h: -64 })), + (this.fillType6 = Oe(this.primaryColor, { h: 128 })), + (this.fillType7 = Oe(this.secondaryColor, { h: 128 })), + (this.pie1 = this.pie1 || this.primaryColor), + (this.pie2 = this.pie2 || this.secondaryColor), + (this.pie3 = this.pie3 || this.tertiaryColor), + (this.pie4 = this.pie4 || Oe(this.primaryColor, { l: -30 })), + (this.pie5 = this.pie5 || Oe(this.secondaryColor, { l: -30 })), + (this.pie6 = this.pie6 || Oe(this.tertiaryColor, { h: 40, l: -40 })), + (this.pie7 = this.pie7 || Oe(this.primaryColor, { h: 60, l: -10 })), + (this.pie8 = this.pie8 || Oe(this.primaryColor, { h: -60, l: -10 })), + (this.pie9 = this.pie9 || Oe(this.primaryColor, { h: 120, l: 0 })), + (this.pie10 = this.pie10 || Oe(this.primaryColor, { h: 60, l: -50 })), + (this.pie11 = this.pie11 || Oe(this.primaryColor, { h: -60, l: -50 })), + (this.pie12 = this.pie12 || Oe(this.primaryColor, { h: 120, l: -50 })), + (this.pieTitleTextSize = this.pieTitleTextSize || '25px'), + (this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor), + (this.pieSectionTextSize = this.pieSectionTextSize || '17px'), + (this.pieSectionTextColor = this.pieSectionTextColor || this.textColor), + (this.pieLegendTextSize = this.pieLegendTextSize || '17px'), + (this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor), + (this.pieStrokeColor = this.pieStrokeColor || 'black'), + (this.pieStrokeWidth = this.pieStrokeWidth || '2px'), + (this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || '2px'), + (this.pieOuterStrokeColor = this.pieOuterStrokeColor || 'black'), + (this.pieOpacity = this.pieOpacity || '0.7'), + (this.quadrant1Fill = this.quadrant1Fill || this.primaryColor), + (this.quadrant2Fill = this.quadrant2Fill || Oe(this.primaryColor, { r: 5, g: 5, b: 5 })), + (this.quadrant3Fill = this.quadrant3Fill || Oe(this.primaryColor, { r: 10, g: 10, b: 10 })), + (this.quadrant4Fill = this.quadrant4Fill || Oe(this.primaryColor, { r: 15, g: 15, b: 15 })), + (this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor), + (this.quadrant2TextFill = + this.quadrant2TextFill || Oe(this.primaryTextColor, { r: -5, g: -5, b: -5 })), + (this.quadrant3TextFill = + this.quadrant3TextFill || Oe(this.primaryTextColor, { r: -10, g: -10, b: -10 })), + (this.quadrant4TextFill = + this.quadrant4TextFill || Oe(this.primaryTextColor, { r: -15, g: -15, b: -15 })), + (this.quadrantPointFill = + this.quadrantPointFill || Wa(this.quadrant1Fill) + ? Et(this.quadrant1Fill) + : Dt(this.quadrant1Fill)), + (this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor), + (this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor), + (this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor), + (this.quadrantInternalBorderStrokeFill = + this.quadrantInternalBorderStrokeFill || this.primaryBorderColor), + (this.quadrantExternalBorderStrokeFill = + this.quadrantExternalBorderStrokeFill || this.primaryBorderColor), + (this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor), + (this.packet = { + startByteColor: this.primaryTextColor, + endByteColor: this.primaryTextColor, + labelColor: this.primaryTextColor, + titleColor: this.primaryTextColor, + blockStrokeColor: this.primaryTextColor, + blockFillColor: this.mainBkg + }), + (this.xyChart = { + backgroundColor: this.xyChart?.backgroundColor || this.background, + titleColor: this.xyChart?.titleColor || this.primaryTextColor, + xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor, + xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor, + xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor, + xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor, + yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor, + yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor, + yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor, + yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor, + plotColorPalette: + this.xyChart?.plotColorPalette || + '#CDE498,#FF6B6B,#A0D2DB,#D7BDE2,#F0F0F0,#FFC3A0,#7FD8BE,#FF9A8B,#FAF3E0,#FFF176' + }), + (this.requirementBackground = this.requirementBackground || this.primaryColor), + (this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor), + (this.requirementBorderSize = this.requirementBorderSize || '1'), + (this.requirementTextColor = this.requirementTextColor || this.primaryTextColor), + (this.relationColor = this.relationColor || this.lineColor), + (this.relationLabelBackground = this.relationLabelBackground || this.edgeLabelBackground), + (this.relationLabelColor = this.relationLabelColor || this.actorTextColor), + (this.git0 = this.git0 || this.primaryColor), + (this.git1 = this.git1 || this.secondaryColor), + (this.git2 = this.git2 || this.tertiaryColor), + (this.git3 = this.git3 || Oe(this.primaryColor, { h: -30 })), + (this.git4 = this.git4 || Oe(this.primaryColor, { h: -60 })), + (this.git5 = this.git5 || Oe(this.primaryColor, { h: -90 })), + (this.git6 = this.git6 || Oe(this.primaryColor, { h: 60 })), + (this.git7 = this.git7 || Oe(this.primaryColor, { h: 120 })), + this.darkMode + ? ((this.git0 = Et(this.git0, 25)), + (this.git1 = Et(this.git1, 25)), + (this.git2 = Et(this.git2, 25)), + (this.git3 = Et(this.git3, 25)), + (this.git4 = Et(this.git4, 25)), + (this.git5 = Et(this.git5, 25)), + (this.git6 = Et(this.git6, 25)), + (this.git7 = Et(this.git7, 25))) + : ((this.git0 = Dt(this.git0, 25)), + (this.git1 = Dt(this.git1, 25)), + (this.git2 = Dt(this.git2, 25)), + (this.git3 = Dt(this.git3, 25)), + (this.git4 = Dt(this.git4, 25)), + (this.git5 = Dt(this.git5, 25)), + (this.git6 = Dt(this.git6, 25)), + (this.git7 = Dt(this.git7, 25))), + (this.gitInv0 = this.gitInv0 || ot(this.git0)), + (this.gitInv1 = this.gitInv1 || ot(this.git1)), + (this.gitInv2 = this.gitInv2 || ot(this.git2)), + (this.gitInv3 = this.gitInv3 || ot(this.git3)), + (this.gitInv4 = this.gitInv4 || ot(this.git4)), + (this.gitInv5 = this.gitInv5 || ot(this.git5)), + (this.gitInv6 = this.gitInv6 || ot(this.git6)), + (this.gitInv7 = this.gitInv7 || ot(this.git7)), + (this.gitBranchLabel0 = this.gitBranchLabel0 || ot(this.labelTextColor)), + (this.gitBranchLabel1 = this.gitBranchLabel1 || this.labelTextColor), + (this.gitBranchLabel2 = this.gitBranchLabel2 || this.labelTextColor), + (this.gitBranchLabel3 = this.gitBranchLabel3 || ot(this.labelTextColor)), + (this.gitBranchLabel4 = this.gitBranchLabel4 || this.labelTextColor), + (this.gitBranchLabel5 = this.gitBranchLabel5 || this.labelTextColor), + (this.gitBranchLabel6 = this.gitBranchLabel6 || this.labelTextColor), + (this.gitBranchLabel7 = this.gitBranchLabel7 || this.labelTextColor), + (this.tagLabelColor = this.tagLabelColor || this.primaryTextColor), + (this.tagLabelBackground = this.tagLabelBackground || this.primaryColor), + (this.tagLabelBorder = this.tagBorder || this.primaryBorderColor), + (this.tagLabelFontSize = this.tagLabelFontSize || '10px'), + (this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor), + (this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor), + (this.commitLabelFontSize = this.commitLabelFontSize || '10px'), + (this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || lh), + (this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || ch); + } + calculate(e) { + if (typeof e != 'object') { + this.updateColors(); + return; + } + let r = Object.keys(e); + r.forEach((n) => { + this[n] = e[n]; + }), + this.updateColors(), + r.forEach((n) => { + this[n] = e[n]; + }); + } + }), + (Pz = o((t) => { + let e = new e7(); + return e.calculate(t), e; + }, 'getThemeVariables')); + }); + var t7, + Fz, + zz = R(() => { + 'use strict'; + al(); + up(); + j1(); + (t7 = class { + static { + o(this, 'Theme'); + } + constructor() { + (this.primaryColor = '#eee'), + (this.contrast = '#707070'), + (this.secondaryColor = Et(this.contrast, 55)), + (this.background = '#ffffff'), + (this.tertiaryColor = Oe(this.primaryColor, { h: -160 })), + (this.primaryBorderColor = yi(this.primaryColor, this.darkMode)), + (this.secondaryBorderColor = yi(this.secondaryColor, this.darkMode)), + (this.tertiaryBorderColor = yi(this.tertiaryColor, this.darkMode)), + (this.primaryTextColor = ot(this.primaryColor)), + (this.secondaryTextColor = ot(this.secondaryColor)), + (this.tertiaryTextColor = ot(this.tertiaryColor)), + (this.lineColor = ot(this.background)), + (this.textColor = ot(this.background)), + (this.mainBkg = '#eee'), + (this.secondBkg = 'calculated'), + (this.lineColor = '#666'), + (this.border1 = '#999'), + (this.border2 = 'calculated'), + (this.note = '#ffa'), + (this.text = '#333'), + (this.critical = '#d42'), + (this.done = '#bbb'), + (this.arrowheadColor = '#333333'), + (this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif'), + (this.fontSize = '16px'), + (this.THEME_COLOR_LIMIT = 12), + (this.nodeBkg = 'calculated'), + (this.nodeBorder = 'calculated'), + (this.clusterBkg = 'calculated'), + (this.clusterBorder = 'calculated'), + (this.defaultLinkColor = 'calculated'), + (this.titleColor = 'calculated'), + (this.edgeLabelBackground = 'white'), + (this.actorBorder = 'calculated'), + (this.actorBkg = 'calculated'), + (this.actorTextColor = 'calculated'), + (this.actorLineColor = this.actorBorder), + (this.signalColor = 'calculated'), + (this.signalTextColor = 'calculated'), + (this.labelBoxBkgColor = 'calculated'), + (this.labelBoxBorderColor = 'calculated'), + (this.labelTextColor = 'calculated'), + (this.loopTextColor = 'calculated'), + (this.noteBorderColor = 'calculated'), + (this.noteBkgColor = 'calculated'), + (this.noteTextColor = 'calculated'), + (this.activationBorderColor = '#666'), + (this.activationBkgColor = '#f4f4f4'), + (this.sequenceNumberColor = 'white'), + (this.sectionBkgColor = 'calculated'), + (this.altSectionBkgColor = 'white'), + (this.sectionBkgColor2 = 'calculated'), + (this.excludeBkgColor = '#eeeeee'), + (this.taskBorderColor = 'calculated'), + (this.taskBkgColor = 'calculated'), + (this.taskTextLightColor = 'white'), + (this.taskTextColor = 'calculated'), + (this.taskTextDarkColor = 'calculated'), + (this.taskTextOutsideColor = 'calculated'), + (this.taskTextClickableColor = '#003163'), + (this.activeTaskBorderColor = 'calculated'), + (this.activeTaskBkgColor = 'calculated'), + (this.gridColor = 'calculated'), + (this.doneTaskBkgColor = 'calculated'), + (this.doneTaskBorderColor = 'calculated'), + (this.critBkgColor = 'calculated'), + (this.critBorderColor = 'calculated'), + (this.todayLineColor = 'calculated'), + (this.personBorder = this.primaryBorderColor), + (this.personBkg = this.mainBkg), + (this.archEdgeColor = 'calculated'), + (this.archEdgeArrowColor = 'calculated'), + (this.archEdgeWidth = '3'), + (this.archGroupBorderColor = this.primaryBorderColor), + (this.archGroupBorderWidth = '2px'), + (this.labelColor = 'black'), + (this.errorBkgColor = '#552222'), + (this.errorTextColor = '#552222'); + } + updateColors() { + (this.secondBkg = Et(this.contrast, 55)), + (this.border2 = this.contrast), + (this.actorBorder = Et(this.border1, 23)), + (this.actorBkg = this.mainBkg), + (this.actorTextColor = this.text), + (this.actorLineColor = this.actorBorder), + (this.signalColor = this.text), + (this.signalTextColor = this.text), + (this.labelBoxBkgColor = this.actorBkg), + (this.labelBoxBorderColor = this.actorBorder), + (this.labelTextColor = this.text), + (this.loopTextColor = this.text), + (this.noteBorderColor = '#999'), + (this.noteBkgColor = '#666'), + (this.noteTextColor = '#fff'), + (this.cScale0 = this.cScale0 || '#555'), + (this.cScale1 = this.cScale1 || '#F4F4F4'), + (this.cScale2 = this.cScale2 || '#555'), + (this.cScale3 = this.cScale3 || '#BBB'), + (this.cScale4 = this.cScale4 || '#777'), + (this.cScale5 = this.cScale5 || '#999'), + (this.cScale6 = this.cScale6 || '#DDD'), + (this.cScale7 = this.cScale7 || '#FFF'), + (this.cScale8 = this.cScale8 || '#DDD'), + (this.cScale9 = this.cScale9 || '#BBB'), + (this.cScale10 = this.cScale10 || '#999'), + (this.cScale11 = this.cScale11 || '#777'); + for (let e = 0; e < this.THEME_COLOR_LIMIT; e++) + this['cScaleInv' + e] = this['cScaleInv' + e] || ot(this['cScale' + e]); + for (let e = 0; e < this.THEME_COLOR_LIMIT; e++) + this.darkMode + ? (this['cScalePeer' + e] = this['cScalePeer' + e] || Et(this['cScale' + e], 10)) + : (this['cScalePeer' + e] = this['cScalePeer' + e] || Dt(this['cScale' + e], 10)); + (this.scaleLabelColor = this.scaleLabelColor || (this.darkMode ? 'black' : this.labelTextColor)), + (this.cScaleLabel0 = this.cScaleLabel0 || this.cScale1), + (this.cScaleLabel2 = this.cScaleLabel2 || this.cScale1); + for (let e = 0; e < this.THEME_COLOR_LIMIT; e++) + this['cScaleLabel' + e] = this['cScaleLabel' + e] || this.scaleLabelColor; + for (let e = 0; e < 5; e++) + (this['surface' + e] = this['surface' + e] || Oe(this.mainBkg, { l: -(5 + e * 5) })), + (this['surfacePeer' + e] = + this['surfacePeer' + e] || Oe(this.mainBkg, { l: -(8 + e * 5) })); + (this.nodeBkg = this.mainBkg), + (this.nodeBorder = this.border1), + (this.clusterBkg = this.secondBkg), + (this.clusterBorder = this.border2), + (this.defaultLinkColor = this.lineColor), + (this.titleColor = this.text), + (this.sectionBkgColor = Et(this.contrast, 30)), + (this.sectionBkgColor2 = Et(this.contrast, 30)), + (this.taskBorderColor = Dt(this.contrast, 10)), + (this.taskBkgColor = this.contrast), + (this.taskTextColor = this.taskTextLightColor), + (this.taskTextDarkColor = this.text), + (this.taskTextOutsideColor = this.taskTextDarkColor), + (this.activeTaskBorderColor = this.taskBorderColor), + (this.activeTaskBkgColor = this.mainBkg), + (this.gridColor = Et(this.border1, 30)), + (this.doneTaskBkgColor = this.done), + (this.doneTaskBorderColor = this.lineColor), + (this.critBkgColor = this.critical), + (this.critBorderColor = Dt(this.critBkgColor, 10)), + (this.todayLineColor = this.critBkgColor), + (this.archEdgeColor = this.lineColor), + (this.archEdgeArrowColor = this.lineColor), + (this.transitionColor = this.transitionColor || '#000'), + (this.transitionLabelColor = this.transitionLabelColor || this.textColor), + (this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor), + (this.stateBkg = this.stateBkg || this.mainBkg), + (this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg), + (this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor), + (this.altBackground = this.altBackground || '#f4f4f4'), + (this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg), + (this.stateBorder = this.stateBorder || '#000'), + (this.innerEndBackground = this.primaryBorderColor), + (this.specialStateColor = '#222'), + (this.errorBkgColor = this.errorBkgColor || this.tertiaryColor), + (this.errorTextColor = this.errorTextColor || this.tertiaryTextColor), + (this.classText = this.primaryTextColor), + (this.fillType0 = this.primaryColor), + (this.fillType1 = this.secondaryColor), + (this.fillType2 = Oe(this.primaryColor, { h: 64 })), + (this.fillType3 = Oe(this.secondaryColor, { h: 64 })), + (this.fillType4 = Oe(this.primaryColor, { h: -64 })), + (this.fillType5 = Oe(this.secondaryColor, { h: -64 })), + (this.fillType6 = Oe(this.primaryColor, { h: 128 })), + (this.fillType7 = Oe(this.secondaryColor, { h: 128 })); + for (let e = 0; e < this.THEME_COLOR_LIMIT; e++) this['pie' + e] = this['cScale' + e]; + (this.pie12 = this.pie0), + (this.pieTitleTextSize = this.pieTitleTextSize || '25px'), + (this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor), + (this.pieSectionTextSize = this.pieSectionTextSize || '17px'), + (this.pieSectionTextColor = this.pieSectionTextColor || this.textColor), + (this.pieLegendTextSize = this.pieLegendTextSize || '17px'), + (this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor), + (this.pieStrokeColor = this.pieStrokeColor || 'black'), + (this.pieStrokeWidth = this.pieStrokeWidth || '2px'), + (this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || '2px'), + (this.pieOuterStrokeColor = this.pieOuterStrokeColor || 'black'), + (this.pieOpacity = this.pieOpacity || '0.7'), + (this.quadrant1Fill = this.quadrant1Fill || this.primaryColor), + (this.quadrant2Fill = this.quadrant2Fill || Oe(this.primaryColor, { r: 5, g: 5, b: 5 })), + (this.quadrant3Fill = this.quadrant3Fill || Oe(this.primaryColor, { r: 10, g: 10, b: 10 })), + (this.quadrant4Fill = this.quadrant4Fill || Oe(this.primaryColor, { r: 15, g: 15, b: 15 })), + (this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor), + (this.quadrant2TextFill = + this.quadrant2TextFill || Oe(this.primaryTextColor, { r: -5, g: -5, b: -5 })), + (this.quadrant3TextFill = + this.quadrant3TextFill || Oe(this.primaryTextColor, { r: -10, g: -10, b: -10 })), + (this.quadrant4TextFill = + this.quadrant4TextFill || Oe(this.primaryTextColor, { r: -15, g: -15, b: -15 })), + (this.quadrantPointFill = + this.quadrantPointFill || Wa(this.quadrant1Fill) + ? Et(this.quadrant1Fill) + : Dt(this.quadrant1Fill)), + (this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor), + (this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor), + (this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor), + (this.quadrantInternalBorderStrokeFill = + this.quadrantInternalBorderStrokeFill || this.primaryBorderColor), + (this.quadrantExternalBorderStrokeFill = + this.quadrantExternalBorderStrokeFill || this.primaryBorderColor), + (this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor), + (this.xyChart = { + backgroundColor: this.xyChart?.backgroundColor || this.background, + titleColor: this.xyChart?.titleColor || this.primaryTextColor, + xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor, + xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor, + xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor, + xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor, + yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor, + yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor, + yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor, + yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor, + plotColorPalette: + this.xyChart?.plotColorPalette || + '#EEE,#6BB8E4,#8ACB88,#C7ACD6,#E8DCC2,#FFB2A8,#FFF380,#7E8D91,#FFD8B1,#FAF3E0' + }), + (this.requirementBackground = this.requirementBackground || this.primaryColor), + (this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor), + (this.requirementBorderSize = this.requirementBorderSize || '1'), + (this.requirementTextColor = this.requirementTextColor || this.primaryTextColor), + (this.relationColor = this.relationColor || this.lineColor), + (this.relationLabelBackground = this.relationLabelBackground || this.edgeLabelBackground), + (this.relationLabelColor = this.relationLabelColor || this.actorTextColor), + (this.git0 = Dt(this.pie1, 25) || this.primaryColor), + (this.git1 = this.pie2 || this.secondaryColor), + (this.git2 = this.pie3 || this.tertiaryColor), + (this.git3 = this.pie4 || Oe(this.primaryColor, { h: -30 })), + (this.git4 = this.pie5 || Oe(this.primaryColor, { h: -60 })), + (this.git5 = this.pie6 || Oe(this.primaryColor, { h: -90 })), + (this.git6 = this.pie7 || Oe(this.primaryColor, { h: 60 })), + (this.git7 = this.pie8 || Oe(this.primaryColor, { h: 120 })), + (this.gitInv0 = this.gitInv0 || ot(this.git0)), + (this.gitInv1 = this.gitInv1 || ot(this.git1)), + (this.gitInv2 = this.gitInv2 || ot(this.git2)), + (this.gitInv3 = this.gitInv3 || ot(this.git3)), + (this.gitInv4 = this.gitInv4 || ot(this.git4)), + (this.gitInv5 = this.gitInv5 || ot(this.git5)), + (this.gitInv6 = this.gitInv6 || ot(this.git6)), + (this.gitInv7 = this.gitInv7 || ot(this.git7)), + (this.branchLabelColor = this.branchLabelColor || this.labelTextColor), + (this.gitBranchLabel0 = this.branchLabelColor), + (this.gitBranchLabel1 = 'white'), + (this.gitBranchLabel2 = this.branchLabelColor), + (this.gitBranchLabel3 = 'white'), + (this.gitBranchLabel4 = this.branchLabelColor), + (this.gitBranchLabel5 = this.branchLabelColor), + (this.gitBranchLabel6 = this.branchLabelColor), + (this.gitBranchLabel7 = this.branchLabelColor), + (this.tagLabelColor = this.tagLabelColor || this.primaryTextColor), + (this.tagLabelBackground = this.tagLabelBackground || this.primaryColor), + (this.tagLabelBorder = this.tagBorder || this.primaryBorderColor), + (this.tagLabelFontSize = this.tagLabelFontSize || '10px'), + (this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor), + (this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor), + (this.commitLabelFontSize = this.commitLabelFontSize || '10px'), + (this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || lh), + (this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || ch); + } + calculate(e) { + if (typeof e != 'object') { + this.updateColors(); + return; + } + let r = Object.keys(e); + r.forEach((n) => { + this[n] = e[n]; + }), + this.updateColors(), + r.forEach((n) => { + this[n] = e[n]; + }); + } + }), + (Fz = o((t) => { + let e = new t7(); + return e.calculate(t), e; + }, 'getThemeVariables')); + }); + var Co, + Kb = R(() => { + 'use strict'; + Mz(); + Oz(); + jb(); + Bz(); + zz(); + Co = { + base: { getThemeVariables: Nz }, + dark: { getThemeVariables: Iz }, + default: { getThemeVariables: hp }, + forest: { getThemeVariables: Pz }, + neutral: { getThemeVariables: Fz } + }; + }); + var tu, + Gz = R(() => { + 'use strict'; + tu = { + flowchart: { + useMaxWidth: !0, + titleTopMargin: 25, + subGraphTitleMargin: { top: 0, bottom: 0 }, + diagramPadding: 8, + htmlLabels: !0, + nodeSpacing: 50, + rankSpacing: 50, + curve: 'basis', + padding: 15, + defaultRenderer: 'dagre-wrapper', + wrappingWidth: 200 + }, + sequence: { + useMaxWidth: !0, + hideUnusedParticipants: !1, + activationWidth: 10, + diagramMarginX: 50, + diagramMarginY: 10, + actorMargin: 50, + width: 150, + height: 65, + boxMargin: 10, + boxTextMargin: 5, + noteMargin: 10, + messageMargin: 35, + messageAlign: 'center', + mirrorActors: !0, + forceMenus: !1, + bottomMarginAdj: 1, + rightAngles: !1, + showSequenceNumbers: !1, + actorFontSize: 14, + actorFontFamily: '"Open Sans", sans-serif', + actorFontWeight: 400, + noteFontSize: 14, + noteFontFamily: '"trebuchet ms", verdana, arial, sans-serif', + noteFontWeight: 400, + noteAlign: 'center', + messageFontSize: 16, + messageFontFamily: '"trebuchet ms", verdana, arial, sans-serif', + messageFontWeight: 400, + wrap: !1, + wrapPadding: 10, + labelBoxWidth: 50, + labelBoxHeight: 20 + }, + gantt: { + useMaxWidth: !0, + titleTopMargin: 25, + barHeight: 20, + barGap: 4, + topPadding: 50, + rightPadding: 75, + leftPadding: 75, + gridLineStartPadding: 35, + fontSize: 11, + sectionFontSize: 11, + numberSectionStyles: 4, + axisFormat: '%Y-%m-%d', + topAxis: !1, + displayMode: '', + weekday: 'sunday' + }, + journey: { + useMaxWidth: !0, + diagramMarginX: 50, + diagramMarginY: 10, + leftMargin: 150, + width: 150, + height: 50, + boxMargin: 10, + boxTextMargin: 5, + noteMargin: 10, + messageMargin: 35, + messageAlign: 'center', + bottomMarginAdj: 1, + rightAngles: !1, + taskFontSize: 14, + taskFontFamily: '"Open Sans", sans-serif', + taskMargin: 50, + activationWidth: 10, + textPlacement: 'fo', + actorColours: ['#8FBC8F', '#7CFC00', '#00FFFF', '#20B2AA', '#B0E0E6', '#FFFFE0'], + sectionFills: ['#191970', '#8B008B', '#4B0082', '#2F4F4F', '#800000', '#8B4513', '#00008B'], + sectionColours: ['#fff'] + }, + class: { + useMaxWidth: !0, + titleTopMargin: 25, + arrowMarkerAbsolute: !1, + dividerMargin: 10, + padding: 5, + textHeight: 10, + defaultRenderer: 'dagre-wrapper', + htmlLabels: !1 + }, + state: { + useMaxWidth: !0, + titleTopMargin: 25, + dividerMargin: 10, + sizeUnit: 5, + padding: 8, + textHeight: 10, + titleShift: -15, + noteMargin: 10, + forkWidth: 70, + forkHeight: 7, + miniPadding: 2, + fontSizeFactor: 5.02, + fontSize: 24, + labelHeight: 16, + edgeLengthFactor: '20', + compositTitleSize: 35, + radius: 5, + defaultRenderer: 'dagre-wrapper' + }, + er: { + useMaxWidth: !0, + titleTopMargin: 25, + diagramPadding: 20, + layoutDirection: 'TB', + minEntityWidth: 100, + minEntityHeight: 75, + entityPadding: 15, + stroke: 'gray', + fill: 'honeydew', + fontSize: 12 + }, + pie: { useMaxWidth: !0, textPosition: 0.75 }, + quadrantChart: { + useMaxWidth: !0, + chartWidth: 500, + chartHeight: 500, + titleFontSize: 20, + titlePadding: 10, + quadrantPadding: 5, + xAxisLabelPadding: 5, + yAxisLabelPadding: 5, + xAxisLabelFontSize: 16, + yAxisLabelFontSize: 16, + quadrantLabelFontSize: 16, + quadrantTextTopPadding: 5, + pointTextPadding: 5, + pointLabelFontSize: 12, + pointRadius: 5, + xAxisPosition: 'top', + yAxisPosition: 'left', + quadrantInternalBorderStrokeWidth: 1, + quadrantExternalBorderStrokeWidth: 2 + }, + xyChart: { + useMaxWidth: !0, + width: 700, + height: 500, + titleFontSize: 20, + titlePadding: 10, + showTitle: !0, + xAxis: { + $ref: '#/$defs/XYChartAxisConfig', + showLabel: !0, + labelFontSize: 14, + labelPadding: 5, + showTitle: !0, + titleFontSize: 16, + titlePadding: 5, + showTick: !0, + tickLength: 5, + tickWidth: 2, + showAxisLine: !0, + axisLineWidth: 2 + }, + yAxis: { + $ref: '#/$defs/XYChartAxisConfig', + showLabel: !0, + labelFontSize: 14, + labelPadding: 5, + showTitle: !0, + titleFontSize: 16, + titlePadding: 5, + showTick: !0, + tickLength: 5, + tickWidth: 2, + showAxisLine: !0, + axisLineWidth: 2 + }, + chartOrientation: 'vertical', + plotReservedSpacePercent: 50 + }, + requirement: { + useMaxWidth: !0, + rect_fill: '#f9f9f9', + text_color: '#333', + rect_border_size: '0.5px', + rect_border_color: '#bbb', + rect_min_width: 200, + rect_min_height: 200, + fontSize: 14, + rect_padding: 10, + line_height: 20 + }, + mindmap: { useMaxWidth: !0, padding: 10, maxNodeWidth: 200 }, + timeline: { + useMaxWidth: !0, + diagramMarginX: 50, + diagramMarginY: 10, + leftMargin: 150, + width: 150, + height: 50, + boxMargin: 10, + boxTextMargin: 5, + noteMargin: 10, + messageMargin: 35, + messageAlign: 'center', + bottomMarginAdj: 1, + rightAngles: !1, + taskFontSize: 14, + taskFontFamily: '"Open Sans", sans-serif', + taskMargin: 50, + activationWidth: 10, + textPlacement: 'fo', + actorColours: ['#8FBC8F', '#7CFC00', '#00FFFF', '#20B2AA', '#B0E0E6', '#FFFFE0'], + sectionFills: ['#191970', '#8B008B', '#4B0082', '#2F4F4F', '#800000', '#8B4513', '#00008B'], + sectionColours: ['#fff'], + disableMulticolor: !1 + }, + gitGraph: { + useMaxWidth: !0, + titleTopMargin: 25, + diagramPadding: 8, + nodeLabel: { width: 75, height: 100, x: -25, y: 0 }, + mainBranchName: 'main', + mainBranchOrder: 0, + showCommitLabel: !0, + showBranches: !0, + rotateCommitLabel: !0, + parallelCommits: !1, + arrowMarkerAbsolute: !1 + }, + c4: { + useMaxWidth: !0, + diagramMarginX: 50, + diagramMarginY: 10, + c4ShapeMargin: 50, + c4ShapePadding: 20, + width: 216, + height: 60, + boxMargin: 10, + c4ShapeInRow: 4, + nextLinePaddingX: 0, + c4BoundaryInRow: 2, + personFontSize: 14, + personFontFamily: '"Open Sans", sans-serif', + personFontWeight: 'normal', + external_personFontSize: 14, + external_personFontFamily: '"Open Sans", sans-serif', + external_personFontWeight: 'normal', + systemFontSize: 14, + systemFontFamily: '"Open Sans", sans-serif', + systemFontWeight: 'normal', + external_systemFontSize: 14, + external_systemFontFamily: '"Open Sans", sans-serif', + external_systemFontWeight: 'normal', + system_dbFontSize: 14, + system_dbFontFamily: '"Open Sans", sans-serif', + system_dbFontWeight: 'normal', + external_system_dbFontSize: 14, + external_system_dbFontFamily: '"Open Sans", sans-serif', + external_system_dbFontWeight: 'normal', + system_queueFontSize: 14, + system_queueFontFamily: '"Open Sans", sans-serif', + system_queueFontWeight: 'normal', + external_system_queueFontSize: 14, + external_system_queueFontFamily: '"Open Sans", sans-serif', + external_system_queueFontWeight: 'normal', + boundaryFontSize: 14, + boundaryFontFamily: '"Open Sans", sans-serif', + boundaryFontWeight: 'normal', + messageFontSize: 12, + messageFontFamily: '"Open Sans", sans-serif', + messageFontWeight: 'normal', + containerFontSize: 14, + containerFontFamily: '"Open Sans", sans-serif', + containerFontWeight: 'normal', + external_containerFontSize: 14, + external_containerFontFamily: '"Open Sans", sans-serif', + external_containerFontWeight: 'normal', + container_dbFontSize: 14, + container_dbFontFamily: '"Open Sans", sans-serif', + container_dbFontWeight: 'normal', + external_container_dbFontSize: 14, + external_container_dbFontFamily: '"Open Sans", sans-serif', + external_container_dbFontWeight: 'normal', + container_queueFontSize: 14, + container_queueFontFamily: '"Open Sans", sans-serif', + container_queueFontWeight: 'normal', + external_container_queueFontSize: 14, + external_container_queueFontFamily: '"Open Sans", sans-serif', + external_container_queueFontWeight: 'normal', + componentFontSize: 14, + componentFontFamily: '"Open Sans", sans-serif', + componentFontWeight: 'normal', + external_componentFontSize: 14, + external_componentFontFamily: '"Open Sans", sans-serif', + external_componentFontWeight: 'normal', + component_dbFontSize: 14, + component_dbFontFamily: '"Open Sans", sans-serif', + component_dbFontWeight: 'normal', + external_component_dbFontSize: 14, + external_component_dbFontFamily: '"Open Sans", sans-serif', + external_component_dbFontWeight: 'normal', + component_queueFontSize: 14, + component_queueFontFamily: '"Open Sans", sans-serif', + component_queueFontWeight: 'normal', + external_component_queueFontSize: 14, + external_component_queueFontFamily: '"Open Sans", sans-serif', + external_component_queueFontWeight: 'normal', + wrap: !0, + wrapPadding: 10, + person_bg_color: '#08427B', + person_border_color: '#073B6F', + external_person_bg_color: '#686868', + external_person_border_color: '#8A8A8A', + system_bg_color: '#1168BD', + system_border_color: '#3C7FC0', + system_db_bg_color: '#1168BD', + system_db_border_color: '#3C7FC0', + system_queue_bg_color: '#1168BD', + system_queue_border_color: '#3C7FC0', + external_system_bg_color: '#999999', + external_system_border_color: '#8A8A8A', + external_system_db_bg_color: '#999999', + external_system_db_border_color: '#8A8A8A', + external_system_queue_bg_color: '#999999', + external_system_queue_border_color: '#8A8A8A', + container_bg_color: '#438DD5', + container_border_color: '#3C7FC0', + container_db_bg_color: '#438DD5', + container_db_border_color: '#3C7FC0', + container_queue_bg_color: '#438DD5', + container_queue_border_color: '#3C7FC0', + external_container_bg_color: '#B3B3B3', + external_container_border_color: '#A6A6A6', + external_container_db_bg_color: '#B3B3B3', + external_container_db_border_color: '#A6A6A6', + external_container_queue_bg_color: '#B3B3B3', + external_container_queue_border_color: '#A6A6A6', + component_bg_color: '#85BBF0', + component_border_color: '#78A8D8', + component_db_bg_color: '#85BBF0', + component_db_border_color: '#78A8D8', + component_queue_bg_color: '#85BBF0', + component_queue_border_color: '#78A8D8', + external_component_bg_color: '#CCCCCC', + external_component_border_color: '#BFBFBF', + external_component_db_bg_color: '#CCCCCC', + external_component_db_border_color: '#BFBFBF', + external_component_queue_bg_color: '#CCCCCC', + external_component_queue_border_color: '#BFBFBF' + }, + sankey: { + useMaxWidth: !0, + width: 600, + height: 400, + linkColor: 'gradient', + nodeAlignment: 'justify', + showValues: !0, + prefix: '', + suffix: '' + }, + block: { useMaxWidth: !0, padding: 8 }, + packet: { + useMaxWidth: !0, + rowHeight: 32, + bitWidth: 32, + bitsPerRow: 32, + showBits: !0, + paddingX: 5, + paddingY: 5 + }, + architecture: { + useMaxWidth: !0, + padding: 40, + iconSize: 80, + fontSize: 16 + }, + theme: 'default', + look: 'classic', + handDrawnSeed: 0, + layout: 'dagre', + maxTextSize: 5e4, + maxEdges: 500, + darkMode: !1, + fontFamily: '"trebuchet ms", verdana, arial, sans-serif;', + logLevel: 5, + securityLevel: 'strict', + startOnLoad: !0, + arrowMarkerAbsolute: !1, + secure: ['secure', 'securityLevel', 'startOnLoad', 'maxTextSize', 'suppressErrorRendering', 'maxEdges'], + legacyMathML: !1, + forceLegacyMathML: !1, + deterministicIds: !1, + fontSize: 16, + markdownAutoWrap: !0, + suppressErrorRendering: !1 + }; + }); + var $z, + Vz, + Uz, + mr, + sl = R(() => { + 'use strict'; + Kb(); + Gz(); + ($z = { + ...tu, + deterministicIDSeed: void 0, + elk: { mergeEdges: !1, nodePlacementStrategy: 'SIMPLE' }, + themeCSS: void 0, + themeVariables: Co.default.getThemeVariables(), + sequence: { + ...tu.sequence, + messageFont: o(function () { + return { + fontFamily: this.messageFontFamily, + fontSize: this.messageFontSize, + fontWeight: this.messageFontWeight + }; + }, 'messageFont'), + noteFont: o(function () { + return { + fontFamily: this.noteFontFamily, + fontSize: this.noteFontSize, + fontWeight: this.noteFontWeight + }; + }, 'noteFont'), + actorFont: o(function () { + return { + fontFamily: this.actorFontFamily, + fontSize: this.actorFontSize, + fontWeight: this.actorFontWeight + }; + }, 'actorFont') + }, + gantt: { ...tu.gantt, tickInterval: void 0, useWidth: void 0 }, + c4: { + ...tu.c4, + useWidth: void 0, + personFont: o(function () { + return { + fontFamily: this.personFontFamily, + fontSize: this.personFontSize, + fontWeight: this.personFontWeight + }; + }, 'personFont'), + external_personFont: o(function () { + return { + fontFamily: this.external_personFontFamily, + fontSize: this.external_personFontSize, + fontWeight: this.external_personFontWeight + }; + }, 'external_personFont'), + systemFont: o(function () { + return { + fontFamily: this.systemFontFamily, + fontSize: this.systemFontSize, + fontWeight: this.systemFontWeight + }; + }, 'systemFont'), + external_systemFont: o(function () { + return { + fontFamily: this.external_systemFontFamily, + fontSize: this.external_systemFontSize, + fontWeight: this.external_systemFontWeight + }; + }, 'external_systemFont'), + system_dbFont: o(function () { + return { + fontFamily: this.system_dbFontFamily, + fontSize: this.system_dbFontSize, + fontWeight: this.system_dbFontWeight + }; + }, 'system_dbFont'), + external_system_dbFont: o(function () { + return { + fontFamily: this.external_system_dbFontFamily, + fontSize: this.external_system_dbFontSize, + fontWeight: this.external_system_dbFontWeight + }; + }, 'external_system_dbFont'), + system_queueFont: o(function () { + return { + fontFamily: this.system_queueFontFamily, + fontSize: this.system_queueFontSize, + fontWeight: this.system_queueFontWeight + }; + }, 'system_queueFont'), + external_system_queueFont: o(function () { + return { + fontFamily: this.external_system_queueFontFamily, + fontSize: this.external_system_queueFontSize, + fontWeight: this.external_system_queueFontWeight + }; + }, 'external_system_queueFont'), + containerFont: o(function () { + return { + fontFamily: this.containerFontFamily, + fontSize: this.containerFontSize, + fontWeight: this.containerFontWeight + }; + }, 'containerFont'), + external_containerFont: o(function () { + return { + fontFamily: this.external_containerFontFamily, + fontSize: this.external_containerFontSize, + fontWeight: this.external_containerFontWeight + }; + }, 'external_containerFont'), + container_dbFont: o(function () { + return { + fontFamily: this.container_dbFontFamily, + fontSize: this.container_dbFontSize, + fontWeight: this.container_dbFontWeight + }; + }, 'container_dbFont'), + external_container_dbFont: o(function () { + return { + fontFamily: this.external_container_dbFontFamily, + fontSize: this.external_container_dbFontSize, + fontWeight: this.external_container_dbFontWeight + }; + }, 'external_container_dbFont'), + container_queueFont: o(function () { + return { + fontFamily: this.container_queueFontFamily, + fontSize: this.container_queueFontSize, + fontWeight: this.container_queueFontWeight + }; + }, 'container_queueFont'), + external_container_queueFont: o(function () { + return { + fontFamily: this.external_container_queueFontFamily, + fontSize: this.external_container_queueFontSize, + fontWeight: this.external_container_queueFontWeight + }; + }, 'external_container_queueFont'), + componentFont: o(function () { + return { + fontFamily: this.componentFontFamily, + fontSize: this.componentFontSize, + fontWeight: this.componentFontWeight + }; + }, 'componentFont'), + external_componentFont: o(function () { + return { + fontFamily: this.external_componentFontFamily, + fontSize: this.external_componentFontSize, + fontWeight: this.external_componentFontWeight + }; + }, 'external_componentFont'), + component_dbFont: o(function () { + return { + fontFamily: this.component_dbFontFamily, + fontSize: this.component_dbFontSize, + fontWeight: this.component_dbFontWeight + }; + }, 'component_dbFont'), + external_component_dbFont: o(function () { + return { + fontFamily: this.external_component_dbFontFamily, + fontSize: this.external_component_dbFontSize, + fontWeight: this.external_component_dbFontWeight + }; + }, 'external_component_dbFont'), + component_queueFont: o(function () { + return { + fontFamily: this.component_queueFontFamily, + fontSize: this.component_queueFontSize, + fontWeight: this.component_queueFontWeight + }; + }, 'component_queueFont'), + external_component_queueFont: o(function () { + return { + fontFamily: this.external_component_queueFontFamily, + fontSize: this.external_component_queueFontSize, + fontWeight: this.external_component_queueFontWeight + }; + }, 'external_component_queueFont'), + boundaryFont: o(function () { + return { + fontFamily: this.boundaryFontFamily, + fontSize: this.boundaryFontSize, + fontWeight: this.boundaryFontWeight + }; + }, 'boundaryFont'), + messageFont: o(function () { + return { + fontFamily: this.messageFontFamily, + fontSize: this.messageFontSize, + fontWeight: this.messageFontWeight + }; + }, 'messageFont') + }, + pie: { ...tu.pie, useWidth: 984 }, + xyChart: { ...tu.xyChart, useWidth: void 0 }, + requirement: { ...tu.requirement, useWidth: void 0 }, + packet: { ...tu.packet } + }), + (Vz = o( + (t, e = '') => + Object.keys(t).reduce( + (r, n) => + Array.isArray(t[n]) + ? r + : typeof t[n] == 'object' && t[n] !== null + ? [...r, e + n, ...Vz(t[n], '')] + : [...r, e + n], + [] + ), + 'keyify' + )), + (Uz = new Set(Vz($z, ''))), + (mr = $z); + }); + var fp, + _2e, + r7 = R(() => { + 'use strict'; + sl(); + ut(); + (fp = o((t) => { + if ((V.debug('sanitizeDirective called with', t), !(typeof t != 'object' || t == null))) { + if (Array.isArray(t)) { + t.forEach((e) => fp(e)); + return; + } + for (let e of Object.keys(t)) { + if ( + (V.debug('Checking key', e), + e.startsWith('__') || + e.includes('proto') || + e.includes('constr') || + !Uz.has(e) || + t[e] == null) + ) { + V.debug('sanitize deleting key: ', e), delete t[e]; + continue; + } + if (typeof t[e] == 'object') { + V.debug('sanitizing object', e), fp(t[e]); + continue; + } + let r = ['themeCSS', 'fontFamily', 'altFontFamily']; + for (let n of r) e.includes(n) && (V.debug('sanitizing css option', e), (t[e] = _2e(t[e]))); + } + if (t.themeVariables) + for (let e of Object.keys(t.themeVariables)) { + let r = t.themeVariables[e]; + r?.match && !r.match(/^[\d "#%(),.;A-Za-z]+$/) && (t.themeVariables[e] = ''); + } + V.debug('After sanitization', t); + } + }, 'sanitizeDirective')), + (_2e = o((t) => { + let e = 0, + r = 0; + for (let n of t) { + if (e < r) return '{ /* ERROR: Unbalanced CSS */ }'; + n === '{' ? e++ : n === '}' && r++; + } + return e !== r ? '{ /* ERROR: Unbalanced CSS */ }' : t; + }, 'sanitizeCss')); + }); + var uh, + fs, + Yz, + dp, + K1, + Qb, + n7, + Wz, + qz, + i7, + Zb, + Or, + Xz, + jz, + Q1, + L2e, + Hz, + D2e, + Kz, + qs = R(() => { + 'use strict'; + cp(); + ut(); + Kb(); + sl(); + r7(); + (uh = Object.freeze(mr)), + (fs = On({}, uh)), + (dp = []), + (K1 = On({}, uh)), + (Qb = o((t, e) => { + let r = On({}, t), + n = {}; + for (let i of e) Xz(i), (n = On(n, i)); + if (((r = On(r, n)), n.theme && n.theme in Co)) { + let i = On({}, Yz), + a = On(i.themeVariables || {}, n.themeVariables); + r.theme && r.theme in Co && (r.themeVariables = Co[r.theme].getThemeVariables(a)); + } + return (K1 = r), Kz(K1), K1; + }, 'updateCurrentConfig')), + (n7 = o( + (t) => ( + (fs = On({}, uh)), + (fs = On(fs, t)), + t.theme && Co[t.theme] && (fs.themeVariables = Co[t.theme].getThemeVariables(t.themeVariables)), + Qb(fs, dp), + fs + ), + 'setSiteConfig' + )), + (Wz = o((t) => { + Yz = On({}, t); + }, 'saveConfigFromInitialize')), + (qz = o((t) => ((fs = On(fs, t)), Qb(fs, dp), fs), 'updateSiteConfig')), + (i7 = o(() => On({}, fs), 'getSiteConfig')), + (Zb = o((t) => (Kz(t), On(K1, t), Or()), 'setConfig')), + (Or = o(() => On({}, K1), 'getConfig')), + (Xz = o((t) => { + t && + (['secure', ...(fs.secure ?? [])].forEach((e) => { + Object.hasOwn(t, e) && + (V.debug(`Denied attempt to modify a secure key ${e}`, t[e]), delete t[e]); + }), + Object.keys(t).forEach((e) => { + e.startsWith('__') && delete t[e]; + }), + Object.keys(t).forEach((e) => { + typeof t[e] == 'string' && + (t[e].includes('<') || t[e].includes('>') || t[e].includes('url(data:')) && + delete t[e], + typeof t[e] == 'object' && Xz(t[e]); + })); + }, 'sanitize')), + (jz = o((t) => { + fp(t), + t.fontFamily && + !t.themeVariables?.fontFamily && + (t.themeVariables = { + ...t.themeVariables, + fontFamily: t.fontFamily + }), + dp.push(t), + Qb(fs, dp); + }, 'addDirective')), + (Q1 = o((t = fs) => { + (dp = []), Qb(t, dp); + }, 'reset')), + (L2e = { + LAZY_LOAD_DEPRECATED: + 'The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.' + }), + (Hz = {}), + (D2e = o((t) => { + Hz[t] || (V.warn(L2e[t]), (Hz[t] = !0)); + }, 'issueWarning')), + (Kz = o((t) => { + t && (t.lazyLoadedDiagrams || t.loadExternalDiagramsAtStartup) && D2e('LAZY_LOAD_DEPRECATED'); + }, 'checkConfig')); + }); + var o7 = gi((a7, s7) => { + 'use strict'; + (function (t, e) { + typeof a7 == 'object' && typeof s7 < 'u' + ? (s7.exports = e()) + : typeof define == 'function' && define.amd + ? define(e) + : ((t = typeof globalThis < 'u' ? globalThis : t || self), (t.DOMPurify = e())); + })(a7, function () { + 'use strict'; + let { entries: t, setPrototypeOf: e, isFrozen: r, getPrototypeOf: n, getOwnPropertyDescriptor: i } = Object, + { freeze: a, seal: s, create: l } = Object, + { apply: u, construct: h } = typeof Reflect < 'u' && Reflect; + a || + (a = o(function (Se) { + return Se; + }, 'freeze')), + s || + (s = o(function (Se) { + return Se; + }, 'seal')), + u || + (u = o(function (Se, Ue, Pe) { + return Se.apply(Ue, Pe); + }, 'apply')), + h || + (h = o(function (Se, Ue) { + return new Se(...Ue); + }, 'construct')); + let f = E(Array.prototype.forEach), + d = E(Array.prototype.pop), + p = E(Array.prototype.push), + m = E(String.prototype.toLowerCase), + g = E(String.prototype.toString), + y = E(String.prototype.match), + v = E(String.prototype.replace), + x = E(String.prototype.indexOf), + b = E(String.prototype.trim), + w = E(Object.prototype.hasOwnProperty), + S = E(RegExp.prototype.test), + T = _(TypeError); + function E(Ie) { + return function (Se) { + for (var Ue = arguments.length, Pe = new Array(Ue > 1 ? Ue - 1 : 0), _e = 1; _e < Ue; _e++) + Pe[_e - 1] = arguments[_e]; + return u(Ie, Se, Pe); + }; + } + o(E, 'unapply'); + function _(Ie) { + return function () { + for (var Se = arguments.length, Ue = new Array(Se), Pe = 0; Pe < Se; Pe++) Ue[Pe] = arguments[Pe]; + return h(Ie, Ue); + }; + } + o(_, 'unconstruct'); + function A(Ie, Se) { + let Ue = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : m; + e && e(Ie, null); + let Pe = Se.length; + for (; Pe--; ) { + let _e = Se[Pe]; + if (typeof _e == 'string') { + let me = Ue(_e); + me !== _e && (r(Se) || (Se[Pe] = me), (_e = me)); + } + Ie[_e] = !0; + } + return Ie; + } + o(A, 'addToSet'); + function L(Ie) { + for (let Se = 0; Se < Ie.length; Se++) w(Ie, Se) || (Ie[Se] = null); + return Ie; + } + o(L, 'cleanArray'); + function M(Ie) { + let Se = l(null); + for (let [Ue, Pe] of t(Ie)) + w(Ie, Ue) && + (Array.isArray(Pe) + ? (Se[Ue] = L(Pe)) + : Pe && typeof Pe == 'object' && Pe.constructor === Object + ? (Se[Ue] = M(Pe)) + : (Se[Ue] = Pe)); + return Se; + } + o(M, 'clone'); + function N(Ie, Se) { + for (; Ie !== null; ) { + let Pe = i(Ie, Se); + if (Pe) { + if (Pe.get) return E(Pe.get); + if (typeof Pe.value == 'function') return E(Pe.value); + } + Ie = n(Ie); + } + function Ue() { + return null; + } + return o(Ue, 'fallbackValue'), Ue; + } + o(N, 'lookupGetter'); + let k = a([ + 'a', + 'abbr', + 'acronym', + 'address', + 'area', + 'article', + 'aside', + 'audio', + 'b', + 'bdi', + 'bdo', + 'big', + 'blink', + 'blockquote', + 'body', + 'br', + 'button', + 'canvas', + 'caption', + 'center', + 'cite', + 'code', + 'col', + 'colgroup', + 'content', + 'data', + 'datalist', + 'dd', + 'decorator', + 'del', + 'details', + 'dfn', + 'dialog', + 'dir', + 'div', + 'dl', + 'dt', + 'element', + 'em', + 'fieldset', + 'figcaption', + 'figure', + 'font', + 'footer', + 'form', + 'h1', + 'h2', + 'h3', + 'h4', + 'h5', + 'h6', + 'head', + 'header', + 'hgroup', + 'hr', + 'html', + 'i', + 'img', + 'input', + 'ins', + 'kbd', + 'label', + 'legend', + 'li', + 'main', + 'map', + 'mark', + 'marquee', + 'menu', + 'menuitem', + 'meter', + 'nav', + 'nobr', + 'ol', + 'optgroup', + 'option', + 'output', + 'p', + 'picture', + 'pre', + 'progress', + 'q', + 'rp', + 'rt', + 'ruby', + 's', + 'samp', + 'section', + 'select', + 'shadow', + 'small', + 'source', + 'spacer', + 'span', + 'strike', + 'strong', + 'style', + 'sub', + 'summary', + 'sup', + 'table', + 'tbody', + 'td', + 'template', + 'textarea', + 'tfoot', + 'th', + 'thead', + 'time', + 'tr', + 'track', + 'tt', + 'u', + 'ul', + 'var', + 'video', + 'wbr' + ]), + I = a([ + 'svg', + 'a', + 'altglyph', + 'altglyphdef', + 'altglyphitem', + 'animatecolor', + 'animatemotion', + 'animatetransform', + 'circle', + 'clippath', + 'defs', + 'desc', + 'ellipse', + 'filter', + 'font', + 'g', + 'glyph', + 'glyphref', + 'hkern', + 'image', + 'line', + 'lineargradient', + 'marker', + 'mask', + 'metadata', + 'mpath', + 'path', + 'pattern', + 'polygon', + 'polyline', + 'radialgradient', + 'rect', + 'stop', + 'style', + 'switch', + 'symbol', + 'text', + 'textpath', + 'title', + 'tref', + 'tspan', + 'view', + 'vkern' + ]), + C = a([ + 'feBlend', + 'feColorMatrix', + 'feComponentTransfer', + 'feComposite', + 'feConvolveMatrix', + 'feDiffuseLighting', + 'feDisplacementMap', + 'feDistantLight', + 'feDropShadow', + 'feFlood', + 'feFuncA', + 'feFuncB', + 'feFuncG', + 'feFuncR', + 'feGaussianBlur', + 'feImage', + 'feMerge', + 'feMergeNode', + 'feMorphology', + 'feOffset', + 'fePointLight', + 'feSpecularLighting', + 'feSpotLight', + 'feTile', + 'feTurbulence' + ]), + O = a([ + 'animate', + 'color-profile', + 'cursor', + 'discard', + 'font-face', + 'font-face-format', + 'font-face-name', + 'font-face-src', + 'font-face-uri', + 'foreignobject', + 'hatch', + 'hatchpath', + 'mesh', + 'meshgradient', + 'meshpatch', + 'meshrow', + 'missing-glyph', + 'script', + 'set', + 'solidcolor', + 'unknown', + 'use' + ]), + D = a([ + 'math', + 'menclose', + 'merror', + 'mfenced', + 'mfrac', + 'mglyph', + 'mi', + 'mlabeledtr', + 'mmultiscripts', + 'mn', + 'mo', + 'mover', + 'mpadded', + 'mphantom', + 'mroot', + 'mrow', + 'ms', + 'mspace', + 'msqrt', + 'mstyle', + 'msub', + 'msup', + 'msubsup', + 'mtable', + 'mtd', + 'mtext', + 'mtr', + 'munder', + 'munderover', + 'mprescripts' + ]), + P = a([ + 'maction', + 'maligngroup', + 'malignmark', + 'mlongdiv', + 'mscarries', + 'mscarry', + 'msgroup', + 'mstack', + 'msline', + 'msrow', + 'semantics', + 'annotation', + 'annotation-xml', + 'mprescripts', + 'none' + ]), + F = a(['#text']), + B = a([ + 'accept', + 'action', + 'align', + 'alt', + 'autocapitalize', + 'autocomplete', + 'autopictureinpicture', + 'autoplay', + 'background', + 'bgcolor', + 'border', + 'capture', + 'cellpadding', + 'cellspacing', + 'checked', + 'cite', + 'class', + 'clear', + 'color', + 'cols', + 'colspan', + 'controls', + 'controlslist', + 'coords', + 'crossorigin', + 'datetime', + 'decoding', + 'default', + 'dir', + 'disabled', + 'disablepictureinpicture', + 'disableremoteplayback', + 'download', + 'draggable', + 'enctype', + 'enterkeyhint', + 'face', + 'for', + 'headers', + 'height', + 'hidden', + 'high', + 'href', + 'hreflang', + 'id', + 'inputmode', + 'integrity', + 'ismap', + 'kind', + 'label', + 'lang', + 'list', + 'loading', + 'loop', + 'low', + 'max', + 'maxlength', + 'media', + 'method', + 'min', + 'minlength', + 'multiple', + 'muted', + 'name', + 'nonce', + 'noshade', + 'novalidate', + 'nowrap', + 'open', + 'optimum', + 'pattern', + 'placeholder', + 'playsinline', + 'popover', + 'popovertarget', + 'popovertargetaction', + 'poster', + 'preload', + 'pubdate', + 'radiogroup', + 'readonly', + 'rel', + 'required', + 'rev', + 'reversed', + 'role', + 'rows', + 'rowspan', + 'spellcheck', + 'scope', + 'selected', + 'shape', + 'size', + 'sizes', + 'span', + 'srclang', + 'start', + 'src', + 'srcset', + 'step', + 'style', + 'summary', + 'tabindex', + 'title', + 'translate', + 'type', + 'usemap', + 'valign', + 'value', + 'width', + 'wrap', + 'xmlns', + 'slot' + ]), + $ = a([ + 'accent-height', + 'accumulate', + 'additive', + 'alignment-baseline', + 'ascent', + 'attributename', + 'attributetype', + 'azimuth', + 'basefrequency', + 'baseline-shift', + 'begin', + 'bias', + 'by', + 'class', + 'clip', + 'clippathunits', + 'clip-path', + 'clip-rule', + 'color', + 'color-interpolation', + 'color-interpolation-filters', + 'color-profile', + 'color-rendering', + 'cx', + 'cy', + 'd', + 'dx', + 'dy', + 'diffuseconstant', + 'direction', + 'display', + 'divisor', + 'dur', + 'edgemode', + 'elevation', + 'end', + 'fill', + 'fill-opacity', + 'fill-rule', + 'filter', + 'filterunits', + 'flood-color', + 'flood-opacity', + 'font-family', + 'font-size', + 'font-size-adjust', + 'font-stretch', + 'font-style', + 'font-variant', + 'font-weight', + 'fx', + 'fy', + 'g1', + 'g2', + 'glyph-name', + 'glyphref', + 'gradientunits', + 'gradienttransform', + 'height', + 'href', + 'id', + 'image-rendering', + 'in', + 'in2', + 'k', + 'k1', + 'k2', + 'k3', + 'k4', + 'kerning', + 'keypoints', + 'keysplines', + 'keytimes', + 'lang', + 'lengthadjust', + 'letter-spacing', + 'kernelmatrix', + 'kernelunitlength', + 'lighting-color', + 'local', + 'marker-end', + 'marker-mid', + 'marker-start', + 'markerheight', + 'markerunits', + 'markerwidth', + 'maskcontentunits', + 'maskunits', + 'max', + 'mask', + 'media', + 'method', + 'mode', + 'min', + 'name', + 'numoctaves', + 'offset', + 'operator', + 'opacity', + 'order', + 'orient', + 'orientation', + 'origin', + 'overflow', + 'paint-order', + 'path', + 'pathlength', + 'patterncontentunits', + 'patterntransform', + 'patternunits', + 'points', + 'preservealpha', + 'preserveaspectratio', + 'primitiveunits', + 'r', + 'rx', + 'ry', + 'radius', + 'refx', + 'refy', + 'repeatcount', + 'repeatdur', + 'restart', + 'result', + 'rotate', + 'scale', + 'seed', + 'shape-rendering', + 'specularconstant', + 'specularexponent', + 'spreadmethod', + 'startoffset', + 'stddeviation', + 'stitchtiles', + 'stop-color', + 'stop-opacity', + 'stroke-dasharray', + 'stroke-dashoffset', + 'stroke-linecap', + 'stroke-linejoin', + 'stroke-miterlimit', + 'stroke-opacity', + 'stroke', + 'stroke-width', + 'style', + 'surfacescale', + 'systemlanguage', + 'tabindex', + 'targetx', + 'targety', + 'transform', + 'transform-origin', + 'text-anchor', + 'text-decoration', + 'text-rendering', + 'textlength', + 'type', + 'u1', + 'u2', + 'unicode', + 'values', + 'viewbox', + 'visibility', + 'version', + 'vert-adv-y', + 'vert-origin-x', + 'vert-origin-y', + 'width', + 'word-spacing', + 'wrap', + 'writing-mode', + 'xchannelselector', + 'ychannelselector', + 'x', + 'x1', + 'x2', + 'xmlns', + 'y', + 'y1', + 'y2', + 'z', + 'zoomandpan' + ]), + z = a([ + 'accent', + 'accentunder', + 'align', + 'bevelled', + 'close', + 'columnsalign', + 'columnlines', + 'columnspan', + 'denomalign', + 'depth', + 'dir', + 'display', + 'displaystyle', + 'encoding', + 'fence', + 'frame', + 'height', + 'href', + 'id', + 'largeop', + 'length', + 'linethickness', + 'lspace', + 'lquote', + 'mathbackground', + 'mathcolor', + 'mathsize', + 'mathvariant', + 'maxsize', + 'minsize', + 'movablelimits', + 'notation', + 'numalign', + 'open', + 'rowalign', + 'rowlines', + 'rowspacing', + 'rowspan', + 'rspace', + 'rquote', + 'scriptlevel', + 'scriptminsize', + 'scriptsizemultiplier', + 'selection', + 'separator', + 'separators', + 'stretchy', + 'subscriptshift', + 'supscriptshift', + 'symmetric', + 'voffset', + 'width', + 'xmlns' + ]), + Y = a(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']), + Q = s(/\{\{[\w\W]*|[\w\W]*\}\}/gm), + X = s(/<%[\w\W]*|[\w\W]*%>/gm), + ie = s(/\${[\w\W]*}/gm), + j = s(/^data-[\-\w.\u00B7-\uFFFF]/), + J = s(/^aria-[\-\w]+$/), + Z = s(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i), + H = s(/^(?:\w+script|data):/i), + q = s(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g), + K = s(/^html$/i), + se = s(/^[a-z][.\w]*(-[.\w]+)+$/i); + var ce = Object.freeze({ + __proto__: null, + MUSTACHE_EXPR: Q, + ERB_EXPR: X, + TMPLIT_EXPR: ie, + DATA_ATTR: j, + ARIA_ATTR: J, + IS_ALLOWED_URI: Z, + IS_SCRIPT_OR_DATA: H, + ATTR_WHITESPACE: q, + DOCTYPE_NAME: K, + CUSTOM_ELEMENT: se + }); + let ue = { + element: 1, + attribute: 2, + text: 3, + cdataSection: 4, + entityReference: 5, + entityNode: 6, + progressingInstruction: 7, + comment: 8, + document: 9, + documentType: 10, + documentFragment: 11, + notation: 12 + }, + te = o(function () { + return typeof window > 'u' ? null : window; + }, 'getGlobal'), + De = o(function (Se, Ue) { + if (typeof Se != 'object' || typeof Se.createPolicy != 'function') return null; + let Pe = null, + _e = 'data-tt-policy-suffix'; + Ue && Ue.hasAttribute(_e) && (Pe = Ue.getAttribute(_e)); + let me = 'dompurify' + (Pe ? '#' + Pe : ''); + try { + return Se.createPolicy(me, { + createHTML(W) { + return W; + }, + createScriptURL(W) { + return W; + } + }); + } catch { + return console.warn('TrustedTypes policy ' + me + ' could not be created.'), null; + } + }, '_createTrustedTypesPolicy'); + function oe() { + let Ie = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : te(), + Se = o((Ft) => oe(Ft), 'DOMPurify'); + if ( + ((Se.version = '3.1.6'), + (Se.removed = []), + !Ie || !Ie.document || Ie.document.nodeType !== ue.document) + ) + return (Se.isSupported = !1), Se; + let { document: Ue } = Ie, + Pe = Ue, + _e = Pe.currentScript, + { + DocumentFragment: me, + HTMLTemplateElement: W, + Node: fe, + Element: ge, + NodeFilter: re, + NamedNodeMap: he = Ie.NamedNodeMap || Ie.MozNamedAttrMap, + HTMLFormElement: ne, + DOMParser: ae, + trustedTypes: we + } = Ie, + Te = ge.prototype, + Ce = N(Te, 'cloneNode'), + Ae = N(Te, 'remove'), + Ge = N(Te, 'nextSibling'), + Me = N(Te, 'childNodes'), + ye = N(Te, 'parentNode'); + if (typeof W == 'function') { + let Ft = Ue.createElement('template'); + Ft.content && Ft.content.ownerDocument && (Ue = Ft.content.ownerDocument); + } + let He, + ze = '', + { + implementation: Ze, + createNodeIterator: gt, + createDocumentFragment: yt, + getElementsByTagName: tt + } = Ue, + { importNode: Ye } = Pe, + Je = {}; + Se.isSupported = + typeof t == 'function' && typeof ye == 'function' && Ze && Ze.createHTMLDocument !== void 0; + let { + MUSTACHE_EXPR: Ve, + ERB_EXPR: je, + TMPLIT_EXPR: kt, + DATA_ATTR: at, + ARIA_ATTR: xt, + IS_SCRIPT_OR_DATA: it, + ATTR_WHITESPACE: dt, + CUSTOM_ELEMENT: lt + } = ce, + { IS_ALLOWED_URI: It } = ce, + mt = null, + St = A({}, [...k, ...I, ...C, ...D, ...F]), + gr = null, + xn = A({}, [...B, ...$, ...z, ...Y]), + jt = Object.seal( + l(null, { + tagNameCheck: { + writable: !0, + configurable: !1, + enumerable: !0, + value: null + }, + attributeNameCheck: { + writable: !0, + configurable: !1, + enumerable: !0, + value: null + }, + allowCustomizedBuiltInElements: { + writable: !0, + configurable: !1, + enumerable: !0, + value: !1 + } + }) + ), + rn = null, + Er = null, + Kn = !0, + hn = !0, + Qn = !1, + on = !0, + Rn = !1, + Ha = !0, + _a = !1, + To = !1, + qi = !1, + ht = !1, + At = !1, + $t = !1, + rt = !0, + Ot = !1, + pe = 'user-content-', + ur = !0, + be = !1, + Ir = {}, + Xc = null, + M1 = A({}, [ + 'annotation-xml', + 'audio', + 'colgroup', + 'desc', + 'foreignobject', + 'head', + 'iframe', + 'math', + 'mi', + 'mn', + 'mo', + 'ms', + 'mtext', + 'noembed', + 'noframes', + 'noscript', + 'plaintext', + 'script', + 'style', + 'svg', + 'template', + 'thead', + 'title', + 'video', + 'xmp' + ]), + _b = null, + I1 = A({}, ['audio', 'video', 'img', 'source', 'image', 'track']), + O1 = null, + ci = A({}, [ + 'alt', + 'class', + 'for', + 'id', + 'label', + 'name', + 'pattern', + 'placeholder', + 'role', + 'summary', + 'title', + 'value', + 'style', + 'xmlns' + ]), + ko = 'http://www.w3.org/1998/Math/MathML', + ih = 'http://www.w3.org/2000/svg', + Us = 'http://www.w3.org/1999/xhtml', + ah = Us, + Lb = !1, + P1 = null, + sa = A({}, [ko, ih, Us], g), + jc = null, + Kc = ['application/xhtml+xml', 'text/html'], + us = 'text/html', + _i = null, + Wl = null, + sh = Ue.createElement('form'), + zf = o(function (Re) { + return Re instanceof RegExp || Re instanceof Function; + }, 'isRegexOrFunction'), + Hs = o(function () { + let Re = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; + if (!(Wl && Wl === Re)) { + if ( + ((!Re || typeof Re != 'object') && (Re = {}), + (Re = M(Re)), + (jc = Kc.indexOf(Re.PARSER_MEDIA_TYPE) === -1 ? us : Re.PARSER_MEDIA_TYPE), + (_i = jc === 'application/xhtml+xml' ? g : m), + (mt = w(Re, 'ALLOWED_TAGS') ? A({}, Re.ALLOWED_TAGS, _i) : St), + (gr = w(Re, 'ALLOWED_ATTR') ? A({}, Re.ALLOWED_ATTR, _i) : xn), + (P1 = w(Re, 'ALLOWED_NAMESPACES') ? A({}, Re.ALLOWED_NAMESPACES, g) : sa), + (O1 = w(Re, 'ADD_URI_SAFE_ATTR') ? A(M(ci), Re.ADD_URI_SAFE_ATTR, _i) : ci), + (_b = w(Re, 'ADD_DATA_URI_TAGS') ? A(M(I1), Re.ADD_DATA_URI_TAGS, _i) : I1), + (Xc = w(Re, 'FORBID_CONTENTS') ? A({}, Re.FORBID_CONTENTS, _i) : M1), + (rn = w(Re, 'FORBID_TAGS') ? A({}, Re.FORBID_TAGS, _i) : {}), + (Er = w(Re, 'FORBID_ATTR') ? A({}, Re.FORBID_ATTR, _i) : {}), + (Ir = w(Re, 'USE_PROFILES') ? Re.USE_PROFILES : !1), + (Kn = Re.ALLOW_ARIA_ATTR !== !1), + (hn = Re.ALLOW_DATA_ATTR !== !1), + (Qn = Re.ALLOW_UNKNOWN_PROTOCOLS || !1), + (on = Re.ALLOW_SELF_CLOSE_IN_ATTR !== !1), + (Rn = Re.SAFE_FOR_TEMPLATES || !1), + (Ha = Re.SAFE_FOR_XML !== !1), + (_a = Re.WHOLE_DOCUMENT || !1), + (ht = Re.RETURN_DOM || !1), + (At = Re.RETURN_DOM_FRAGMENT || !1), + ($t = Re.RETURN_TRUSTED_TYPE || !1), + (qi = Re.FORCE_BODY || !1), + (rt = Re.SANITIZE_DOM !== !1), + (Ot = Re.SANITIZE_NAMED_PROPS || !1), + (ur = Re.KEEP_CONTENT !== !1), + (be = Re.IN_PLACE || !1), + (It = Re.ALLOWED_URI_REGEXP || Z), + (ah = Re.NAMESPACE || Us), + (jt = Re.CUSTOM_ELEMENT_HANDLING || {}), + Re.CUSTOM_ELEMENT_HANDLING && + zf(Re.CUSTOM_ELEMENT_HANDLING.tagNameCheck) && + (jt.tagNameCheck = Re.CUSTOM_ELEMENT_HANDLING.tagNameCheck), + Re.CUSTOM_ELEMENT_HANDLING && + zf(Re.CUSTOM_ELEMENT_HANDLING.attributeNameCheck) && + (jt.attributeNameCheck = Re.CUSTOM_ELEMENT_HANDLING.attributeNameCheck), + Re.CUSTOM_ELEMENT_HANDLING && + typeof Re.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements == 'boolean' && + (jt.allowCustomizedBuiltInElements = + Re.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements), + Rn && (hn = !1), + At && (ht = !0), + Ir && + ((mt = A({}, F)), + (gr = []), + Ir.html === !0 && (A(mt, k), A(gr, B)), + Ir.svg === !0 && (A(mt, I), A(gr, $), A(gr, Y)), + Ir.svgFilters === !0 && (A(mt, C), A(gr, $), A(gr, Y)), + Ir.mathMl === !0 && (A(mt, D), A(gr, z), A(gr, Y))), + Re.ADD_TAGS && (mt === St && (mt = M(mt)), A(mt, Re.ADD_TAGS, _i)), + Re.ADD_ATTR && (gr === xn && (gr = M(gr)), A(gr, Re.ADD_ATTR, _i)), + Re.ADD_URI_SAFE_ATTR && A(O1, Re.ADD_URI_SAFE_ATTR, _i), + Re.FORBID_CONTENTS && (Xc === M1 && (Xc = M(Xc)), A(Xc, Re.FORBID_CONTENTS, _i)), + ur && (mt['#text'] = !0), + _a && A(mt, ['html', 'head', 'body']), + mt.table && (A(mt, ['tbody']), delete rn.tbody), + Re.TRUSTED_TYPES_POLICY) + ) { + if (typeof Re.TRUSTED_TYPES_POLICY.createHTML != 'function') + throw T( + 'TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.' + ); + if (typeof Re.TRUSTED_TYPES_POLICY.createScriptURL != 'function') + throw T( + 'TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.' + ); + (He = Re.TRUSTED_TYPES_POLICY), (ze = He.createHTML('')); + } else + He === void 0 && (He = De(we, _e)), + He !== null && typeof ze == 'string' && (ze = He.createHTML('')); + a && a(Re), (Wl = Re); + } + }, '_parseConfig'), + B1 = A({}, ['mi', 'mo', 'mn', 'ms', 'mtext']), + Gf = A({}, ['foreignobject', 'annotation-xml']), + F1 = A({}, ['title', 'style', 'font', 'a', 'script']), + La = A({}, [...I, ...C, ...O]), + vF = A({}, [...D, ...P]), + Ive = o(function (Re) { + let st = ye(Re); + (!st || !st.tagName) && (st = { namespaceURI: ah, tagName: 'template' }); + let Rt = m(Re.tagName), + bn = m(st.tagName); + return P1[Re.namespaceURI] + ? Re.namespaceURI === ih + ? st.namespaceURI === Us + ? Rt === 'svg' + : st.namespaceURI === ko + ? Rt === 'svg' && (bn === 'annotation-xml' || B1[bn]) + : !!La[Rt] + : Re.namespaceURI === ko + ? st.namespaceURI === Us + ? Rt === 'math' + : st.namespaceURI === ih + ? Rt === 'math' && Gf[bn] + : !!vF[Rt] + : Re.namespaceURI === Us + ? (st.namespaceURI === ih && !Gf[bn]) || (st.namespaceURI === ko && !B1[bn]) + ? !1 + : !vF[Rt] && (F1[Rt] || !La[Rt]) + : !!(jc === 'application/xhtml+xml' && P1[Re.namespaceURI]) + : !1; + }, '_checkValidNamespace'), + ql = o(function (Re) { + p(Se.removed, { element: Re }); + try { + ye(Re).removeChild(Re); + } catch { + Ae(Re); + } + }, '_forceRemove'), + Db = o(function (Re, st) { + try { + p(Se.removed, { attribute: st.getAttributeNode(Re), from: st }); + } catch { + p(Se.removed, { attribute: null, from: st }); + } + if ((st.removeAttribute(Re), Re === 'is' && !gr[Re])) + if (ht || At) + try { + ql(st); + } catch {} + else + try { + st.setAttribute(Re, ''); + } catch {} + }, '_removeAttribute'), + xF = o(function (Re) { + let st = null, + Rt = null; + if (qi) Re = '' + Re; + else { + let oa = y(Re, /^[\r\n\t ]+/); + Rt = oa && oa[0]; + } + jc === 'application/xhtml+xml' && + ah === Us && + (Re = + '' + + Re + + ''); + let bn = He ? He.createHTML(Re) : Re; + if (ah === Us) + try { + st = new ae().parseFromString(bn, jc); + } catch {} + if (!st || !st.documentElement) { + st = Ze.createDocument(ah, 'template', null); + try { + st.documentElement.innerHTML = Lb ? ze : bn; + } catch {} + } + let Da = st.body || st.documentElement; + return ( + Re && Rt && Da.insertBefore(Ue.createTextNode(Rt), Da.childNodes[0] || null), + ah === Us ? tt.call(st, _a ? 'html' : 'body')[0] : _a ? st.documentElement : Da + ); + }, '_initDocument'), + bF = o(function (Re) { + return gt.call( + Re.ownerDocument || Re, + Re, + re.SHOW_ELEMENT | + re.SHOW_COMMENT | + re.SHOW_TEXT | + re.SHOW_PROCESSING_INSTRUCTION | + re.SHOW_CDATA_SECTION, + null + ); + }, '_createNodeIterator'), + wF = o(function (Re) { + return ( + Re instanceof ne && + (typeof Re.nodeName != 'string' || + typeof Re.textContent != 'string' || + typeof Re.removeChild != 'function' || + !(Re.attributes instanceof he) || + typeof Re.removeAttribute != 'function' || + typeof Re.setAttribute != 'function' || + typeof Re.namespaceURI != 'string' || + typeof Re.insertBefore != 'function' || + typeof Re.hasChildNodes != 'function') + ); + }, '_isClobbered'), + TF = o(function (Re) { + return typeof fe == 'function' && Re instanceof fe; + }, '_isNode'), + Qc = o(function (Re, st, Rt) { + Je[Re] && + f(Je[Re], (bn) => { + bn.call(Se, st, Rt, Wl); + }); + }, '_executeHook'), + kF = o(function (Re) { + let st = null; + if ((Qc('beforeSanitizeElements', Re, null), wF(Re))) return ql(Re), !0; + let Rt = _i(Re.nodeName); + if ( + (Qc('uponSanitizeElement', Re, { tagName: Rt, allowedTags: mt }), + (Re.hasChildNodes() && + !TF(Re.firstElementChild) && + S(/<[/\w]/g, Re.innerHTML) && + S(/<[/\w]/g, Re.textContent)) || + Re.nodeType === ue.progressingInstruction || + (Ha && Re.nodeType === ue.comment && S(/<[/\w]/g, Re.data))) + ) + return ql(Re), !0; + if (!mt[Rt] || rn[Rt]) { + if ( + !rn[Rt] && + CF(Rt) && + ((jt.tagNameCheck instanceof RegExp && S(jt.tagNameCheck, Rt)) || + (jt.tagNameCheck instanceof Function && jt.tagNameCheck(Rt))) + ) + return !1; + if (ur && !Xc[Rt]) { + let bn = ye(Re) || Re.parentNode, + Da = Me(Re) || Re.childNodes; + if (Da && bn) { + let oa = Da.length; + for (let hs = oa - 1; hs >= 0; --hs) { + let Xl = Ce(Da[hs], !0); + (Xl.__removalCount = (Re.__removalCount || 0) + 1), bn.insertBefore(Xl, Ge(Re)); + } + } + } + return ql(Re), !0; + } + return (Re instanceof ge && !Ive(Re)) || + ((Rt === 'noscript' || Rt === 'noembed' || Rt === 'noframes') && + S(/<\/no(script|embed|frames)/i, Re.innerHTML)) + ? (ql(Re), !0) + : (Rn && + Re.nodeType === ue.text && + ((st = Re.textContent), + f([Ve, je, kt], (bn) => { + st = v(st, bn, ' '); + }), + Re.textContent !== st && + (p(Se.removed, { element: Re.cloneNode() }), (Re.textContent = st))), + Qc('afterSanitizeElements', Re, null), + !1); + }, '_sanitizeElements'), + EF = o(function (Re, st, Rt) { + if (rt && (st === 'id' || st === 'name') && (Rt in Ue || Rt in sh)) return !1; + if (!(hn && !Er[st] && S(at, st))) { + if (!(Kn && S(xt, st))) { + if (!gr[st] || Er[st]) { + if ( + !( + (CF(Re) && + ((jt.tagNameCheck instanceof RegExp && S(jt.tagNameCheck, Re)) || + (jt.tagNameCheck instanceof Function && jt.tagNameCheck(Re))) && + ((jt.attributeNameCheck instanceof RegExp && + S(jt.attributeNameCheck, st)) || + (jt.attributeNameCheck instanceof Function && + jt.attributeNameCheck(st)))) || + (st === 'is' && + jt.allowCustomizedBuiltInElements && + ((jt.tagNameCheck instanceof RegExp && S(jt.tagNameCheck, Rt)) || + (jt.tagNameCheck instanceof Function && jt.tagNameCheck(Rt)))) + ) + ) + return !1; + } else if (!O1[st]) { + if (!S(It, v(Rt, dt, ''))) { + if ( + !( + (st === 'src' || st === 'xlink:href' || st === 'href') && + Re !== 'script' && + x(Rt, 'data:') === 0 && + _b[Re] + ) + ) { + if (!(Qn && !S(it, v(Rt, dt, '')))) { + if (Rt) return !1; + } + } + } + } + } + } + return !0; + }, '_isValidAttribute'), + CF = o(function (Re) { + return Re !== 'annotation-xml' && y(Re, lt); + }, '_isBasicCustomElement'), + SF = o(function (Re) { + Qc('beforeSanitizeAttributes', Re, null); + let { attributes: st } = Re; + if (!st) return; + let Rt = { + attrName: '', + attrValue: '', + keepAttr: !0, + allowedAttributes: gr + }, + bn = st.length; + for (; bn--; ) { + let Da = st[bn], + { name: oa, namespaceURI: hs, value: Xl } = Da, + z1 = _i(oa), + Ya = oa === 'value' ? Xl : b(Xl); + if ( + ((Rt.attrName = z1), + (Rt.attrValue = Ya), + (Rt.keepAttr = !0), + (Rt.forceKeepAttr = void 0), + Qc('uponSanitizeAttribute', Re, Rt), + (Ya = Rt.attrValue), + Ha && S(/((--!?|])>)|<\/(style|title)/i, Ya)) + ) { + Db(oa, Re); + continue; + } + if (Rt.forceKeepAttr || (Db(oa, Re), !Rt.keepAttr)) continue; + if (!on && S(/\/>/i, Ya)) { + Db(oa, Re); + continue; + } + Rn && + f([Ve, je, kt], (_F) => { + Ya = v(Ya, _F, ' '); + }); + let AF = _i(Re.nodeName); + if (EF(AF, z1, Ya)) { + if ( + (Ot && (z1 === 'id' || z1 === 'name') && (Db(oa, Re), (Ya = pe + Ya)), + He && typeof we == 'object' && typeof we.getAttributeType == 'function' && !hs) + ) + switch (we.getAttributeType(AF, z1)) { + case 'TrustedHTML': { + Ya = He.createHTML(Ya); + break; + } + case 'TrustedScriptURL': { + Ya = He.createScriptURL(Ya); + break; + } + } + try { + hs ? Re.setAttributeNS(hs, oa, Ya) : Re.setAttribute(oa, Ya), + wF(Re) ? ql(Re) : d(Se.removed); + } catch {} + } + } + Qc('afterSanitizeAttributes', Re, null); + }, '_sanitizeAttributes'), + Ove = o(function Ft(Re) { + let st = null, + Rt = bF(Re); + for (Qc('beforeSanitizeShadowDOM', Re, null); (st = Rt.nextNode()); ) + Qc('uponSanitizeShadowNode', st, null), + !kF(st) && (st.content instanceof me && Ft(st.content), SF(st)); + Qc('afterSanitizeShadowDOM', Re, null); + }, '_sanitizeShadowDOM'); + return ( + (Se.sanitize = function (Ft) { + let Re = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, + st = null, + Rt = null, + bn = null, + Da = null; + if (((Lb = !Ft), Lb && (Ft = ''), typeof Ft != 'string' && !TF(Ft))) + if (typeof Ft.toString == 'function') { + if (((Ft = Ft.toString()), typeof Ft != 'string')) + throw T('dirty is not a string, aborting'); + } else throw T('toString is not a function'); + if (!Se.isSupported) return Ft; + if ((To || Hs(Re), (Se.removed = []), typeof Ft == 'string' && (be = !1), be)) { + if (Ft.nodeName) { + let Xl = _i(Ft.nodeName); + if (!mt[Xl] || rn[Xl]) + throw T('root node is forbidden and cannot be sanitized in-place'); + } + } else if (Ft instanceof fe) + (st = xF('')), + (Rt = st.ownerDocument.importNode(Ft, !0)), + (Rt.nodeType === ue.element && Rt.nodeName === 'BODY') || Rt.nodeName === 'HTML' + ? (st = Rt) + : st.appendChild(Rt); + else { + if (!ht && !Rn && !_a && Ft.indexOf('<') === -1) return He && $t ? He.createHTML(Ft) : Ft; + if (((st = xF(Ft)), !st)) return ht ? null : $t ? ze : ''; + } + st && qi && ql(st.firstChild); + let oa = bF(be ? Ft : st); + for (; (bn = oa.nextNode()); ) kF(bn) || (bn.content instanceof me && Ove(bn.content), SF(bn)); + if (be) return Ft; + if (ht) { + if (At) for (Da = yt.call(st.ownerDocument); st.firstChild; ) Da.appendChild(st.firstChild); + else Da = st; + return (gr.shadowroot || gr.shadowrootmode) && (Da = Ye.call(Pe, Da, !0)), Da; + } + let hs = _a ? st.outerHTML : st.innerHTML; + return ( + _a && + mt['!doctype'] && + st.ownerDocument && + st.ownerDocument.doctype && + st.ownerDocument.doctype.name && + S(K, st.ownerDocument.doctype.name) && + (hs = + ' +` + + hs), + Rn && + f([Ve, je, kt], (Xl) => { + hs = v(hs, Xl, ' '); + }), + He && $t ? He.createHTML(hs) : hs + ); + }), + (Se.setConfig = function () { + let Ft = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; + Hs(Ft), (To = !0); + }), + (Se.clearConfig = function () { + (Wl = null), (To = !1); + }), + (Se.isValidAttribute = function (Ft, Re, st) { + Wl || Hs({}); + let Rt = _i(Ft), + bn = _i(Re); + return EF(Rt, bn, st); + }), + (Se.addHook = function (Ft, Re) { + typeof Re == 'function' && ((Je[Ft] = Je[Ft] || []), p(Je[Ft], Re)); + }), + (Se.removeHook = function (Ft) { + if (Je[Ft]) return d(Je[Ft]); + }), + (Se.removeHooks = function (Ft) { + Je[Ft] && (Je[Ft] = []); + }), + (Se.removeAllHooks = function () { + Je = {}; + }), + Se + ); + } + o(oe, 'createDOMPurify'); + var ke = oe(); + return ke; + }); + }); + var k$ = {}; + hr(k$, { default: () => Ebe }); + function B2e(t) { + return String(t).replace(P2e, (e) => O2e[e]); + } + function $2e(t) { + if (t.default) return t.default; + var e = t.type, + r = Array.isArray(e) ? e[0] : e; + if (typeof r != 'string') return r.enum[0]; + switch (r) { + case 'boolean': + return !1; + case 'string': + return ''; + case 'number': + return 0; + case 'object': + return {}; + } + } + function X2e(t) { + for (var e = 0; e < b7.length; e++) + for (var r = b7[e], n = 0; n < r.blocks.length; n++) { + var i = r.blocks[n]; + if (t >= i[0] && t <= i[1]) return r.name; + } + return null; + } + function LG(t) { + for (var e = 0; e < h4.length; e += 2) if (t >= h4[e] && t <= h4[e + 1]) return !0; + return !1; + } + function axe(t, e) { + Zl[t] = e; + } + function M7(t, e, r) { + if (!Zl[e]) throw new Error('Font metrics not found for font: ' + e + '.'); + var n = t.charCodeAt(0), + i = Zl[e][n]; + if ( + (!i && t[0] in Zz && ((n = Zz[t[0]].charCodeAt(0)), (i = Zl[e][n])), + !i && r === 'text' && LG(n) && (i = Zl[e][77]), + i) + ) + return { + depth: i[0], + height: i[1], + italic: i[2], + skew: i[3], + width: i[4] + }; + } + function sxe(t) { + var e; + if ((t >= 5 ? (e = 0) : t >= 3 ? (e = 1) : (e = 2), !l7[e])) { + var r = (l7[e] = { cssEmPerMu: Jb.quad[e] / 18 }); + for (var n in Jb) Jb.hasOwnProperty(n) && (r[n] = Jb[n][e]); + } + return l7[e]; + } + function tG(t) { + if (t instanceof ms) return t; + throw new Error('Expected symbolNode but got ' + String(t) + '.'); + } + function uxe(t) { + if (t instanceof jf) return t; + throw new Error('Expected span but got ' + String(t) + '.'); + } + function G(t, e, r, n, i, a) { + (wn[t][i] = { font: e, group: r, replace: n }), a && n && (wn[t][n] = wn[t][i]); + } + function vt(t) { + for ( + var { type: e, names: r, props: n, handler: i, htmlBuilder: a, mathmlBuilder: s } = t, + l = { + type: e, + numArgs: n.numArgs, + argTypes: n.argTypes, + allowedInArgument: !!n.allowedInArgument, + allowedInText: !!n.allowedInText, + allowedInMath: n.allowedInMath === void 0 ? !0 : n.allowedInMath, + numOptionalArgs: n.numOptionalArgs || 0, + infix: !!n.infix, + primitive: !!n.primitive, + handler: i + }, + u = 0; + u < r.length; + ++u + ) + zG[r[u]] = l; + e && (a && (m4[e] = a), s && (g4[e] = s)); + } + function Kf(t) { + var { type: e, htmlBuilder: r, mathmlBuilder: n } = t; + vt({ + type: e, + names: [], + props: { numArgs: 0 }, + handler() { + throw new Error('Should never be called.'); + }, + htmlBuilder: r, + mathmlBuilder: n + }); + } + function s4(t, e) { + var r = su(['base'], t, e), + n = su(['strut']); + return ( + (n.style.height = ct(r.height + r.depth)), + r.depth && (n.style.verticalAlign = ct(-r.depth)), + r.children.unshift(n), + r + ); + } + function C7(t, e) { + var r = null; + t.length === 1 && t[0].type === 'tag' && ((r = t[0].tag), (t = t[0].body)); + var n = Ri(t, e, 'root'), + i; + n.length === 2 && n[1].hasClass('tag') && (i = n.pop()); + for (var a = [], s = [], l = 0; l < n.length; l++) + if ((s.push(n[l]), n[l].hasClass('mbin') || n[l].hasClass('mrel') || n[l].hasClass('allowbreak'))) { + for (var u = !1; l < n.length - 1 && n[l + 1].hasClass('mspace') && !n[l + 1].hasClass('newline'); ) + l++, s.push(n[l]), n[l].hasClass('nobreak') && (u = !0); + u || (a.push(s4(s, e)), (s = [])); + } else n[l].hasClass('newline') && (s.pop(), s.length > 0 && (a.push(s4(s, e)), (s = [])), a.push(n[l])); + s.length > 0 && a.push(s4(s, e)); + var h; + r ? ((h = s4(Ri(r, e, !0))), (h.classes = ['tag']), a.push(h)) : i && a.push(i); + var f = su(['katex-html'], a); + if ((f.setAttribute('aria-hidden', 'true'), h)) { + var d = h.children[0]; + (d.style.height = ct(f.height + f.depth)), f.depth && (d.style.verticalAlign = ct(-f.depth)); + } + return f; + } + function $G(t) { + return new Xf(t); + } + function sG(t, e, r, n, i) { + var a = gs(t, r), + s; + a.length === 1 && a[0] instanceof ps && Vt.contains(['mrow', 'mtable'], a[0].type) + ? (s = a[0]) + : (s = new et.MathNode('mrow', a)); + var l = new et.MathNode('annotation', [new et.TextNode(e)]); + l.setAttribute('encoding', 'application/x-tex'); + var u = new et.MathNode('semantics', [s, l]), + h = new et.MathNode('math', [u]); + h.setAttribute('xmlns', 'http://www.w3.org/1998/Math/MathML'), n && h.setAttribute('display', 'block'); + var f = i ? 'katex' : 'katex-mathml'; + return Be.makeSpan([f], [h]); + } + function ir(t, e) { + if (!t || t.type !== e) + throw new Error('Expected node of type ' + e + ', but got ' + (t ? 'node of type ' + t.type : String(t))); + return t; + } + function B7(t) { + var e = T4(t); + if (!e) + throw new Error( + 'Expected node of symbol group type, but got ' + (t ? 'node of type ' + t.type : String(t)) + ); + return e; + } + function T4(t) { + return t && (t.type === 'atom' || fxe.hasOwnProperty(t.type)) ? t : null; + } + function YG(t, e) { + var r = Ri(t.body, e, !0); + return Vxe([t.mclass], r, e); + } + function WG(t, e) { + var r, + n = gs(t.body, e); + return ( + t.mclass === 'minner' + ? (r = new et.MathNode('mpadded', n)) + : t.mclass === 'mord' + ? t.isCharacterBox + ? ((r = n[0]), (r.type = 'mi')) + : (r = new et.MathNode('mi', n)) + : (t.isCharacterBox ? ((r = n[0]), (r.type = 'mo')) : (r = new et.MathNode('mo', n)), + t.mclass === 'mbin' + ? ((r.attributes.lspace = '0.22em'), (r.attributes.rspace = '0.22em')) + : t.mclass === 'mpunct' + ? ((r.attributes.lspace = '0em'), (r.attributes.rspace = '0.17em')) + : t.mclass === 'mopen' || t.mclass === 'mclose' + ? ((r.attributes.lspace = '0em'), (r.attributes.rspace = '0em')) + : t.mclass === 'minner' && + ((r.attributes.lspace = '0.0556em'), (r.attributes.width = '+0.1111em'))), + r + ); + } + function Yxe(t, e, r) { + var n = Uxe[t]; + switch (n) { + case '\\\\cdrightarrow': + case '\\\\cdleftarrow': + return r.callFunction(n, [e[0]], [e[1]]); + case '\\uparrow': + case '\\downarrow': { + var i = r.callFunction('\\\\cdleft', [e[0]], []), + a = { type: 'atom', text: n, mode: 'math', family: 'rel' }, + s = r.callFunction('\\Big', [a], []), + l = r.callFunction('\\\\cdright', [e[1]], []), + u = { type: 'ordgroup', mode: 'math', body: [i, s, l] }; + return r.callFunction('\\\\cdparent', [u], []); + } + case '\\\\cdlongequal': + return r.callFunction('\\\\cdlongequal', [], []); + case '\\Vert': { + var h = { type: 'textord', text: '\\Vert', mode: 'math' }; + return r.callFunction('\\Big', [h], []); + } + default: + return { type: 'textord', text: ' ', mode: 'math' }; + } + } + function Wxe(t) { + var e = []; + for (t.gullet.beginGroup(), t.gullet.macros.set('\\cr', '\\\\\\relax'), t.gullet.beginGroup(); ; ) { + e.push(t.parseExpression(!1, '\\\\')), t.gullet.endGroup(), t.gullet.beginGroup(); + var r = t.fetch().text; + if (r === '&' || r === '\\\\') t.consume(); + else if (r === '\\end') { + e[e.length - 1].length === 0 && e.pop(); + break; + } else throw new nt('Expected \\\\ or \\cr or \\end', t.nextToken); + } + for (var n = [], i = [n], a = 0; a < e.length; a++) { + for (var s = e[a], l = oG(), u = 0; u < s.length; u++) + if (!lG(s[u])) l.body.push(s[u]); + else { + n.push(l), (u += 1); + var h = B7(s[u]).text, + f = new Array(2); + if ( + ((f[0] = { type: 'ordgroup', mode: 'math', body: [] }), + (f[1] = { type: 'ordgroup', mode: 'math', body: [] }), + !('=|.'.indexOf(h) > -1)) + ) + if ('<>AV'.indexOf(h) > -1) + for (var d = 0; d < 2; d++) { + for (var p = !0, m = u + 1; m < s.length; m++) { + if (Hxe(s[m], h)) { + (p = !1), (u = m); + break; + } + if (lG(s[m])) + throw new nt('Missing a ' + h + ' character to complete a CD arrow.', s[m]); + f[d].body.push(s[m]); + } + if (p) throw new nt('Missing a ' + h + ' character to complete a CD arrow.', s[u]); + } + else throw new nt('Expected one of "<>AV=|." after @', s[u]); + var g = Yxe(h, f, t), + y = { type: 'styling', body: [g], mode: 'math', style: 'display' }; + n.push(y), (l = oG()); + } + a % 2 === 0 ? n.push(l) : n.shift(), (n = []), i.push(n); + } + t.gullet.endGroup(), t.gullet.endGroup(); + var v = new Array(i[0].length).fill({ + type: 'align', + align: 'c', + pregap: 0.25, + postgap: 0.25 + }); + return { + type: 'array', + mode: 'math', + body: i, + arraystretch: 1, + addJot: !0, + rowGaps: [null], + cols: v, + colSeparationType: 'CD', + hLinesBeforeRow: new Array(i.length + 1).fill([]) + }; + } + function E4(t, e) { + var r = T4(t); + if (r && Vt.contains(abe, r.text)) return r; + throw r + ? new nt("Invalid delimiter '" + r.text + "' after '" + e.funcName + "'", t) + : new nt("Invalid delimiter type '" + t.type + "'", t); + } + function uG(t) { + if (!t.body) throw new Error("Bug: The leftright ParseNode wasn't fully parsed."); + } + function ec(t) { + for ( + var { type: e, names: r, props: n, handler: i, htmlBuilder: a, mathmlBuilder: s } = t, + l = { + type: e, + numArgs: n.numArgs || 0, + allowedInText: !1, + numOptionalArgs: 0, + handler: i + }, + u = 0; + u < r.length; + ++u + ) + a$[r[u]] = l; + a && (m4[e] = a), s && (g4[e] = s); + } + function le(t, e) { + s$[t] = e; + } + function hG(t) { + var e = []; + t.consumeSpaces(); + var r = t.fetch().text; + for ( + r === '\\relax' && (t.consume(), t.consumeSpaces(), (r = t.fetch().text)); + r === '\\hline' || r === '\\hdashline'; + + ) + t.consume(), e.push(r === '\\hdashline'), t.consumeSpaces(), (r = t.fetch().text); + return e; + } + function V7(t) { + if (t.indexOf('ed') === -1) return t.indexOf('*') === -1; + } + function mh(t, e, r) { + var { + hskipBeforeAndAfter: n, + addJot: i, + cols: a, + arraystretch: s, + colSeparationType: l, + autoTag: u, + singleRow: h, + emptySingleRow: f, + maxNumCols: d, + leqno: p + } = e; + if ((t.gullet.beginGroup(), h || t.gullet.macros.set('\\cr', '\\\\\\relax'), !s)) { + var m = t.gullet.expandMacroAsText('\\arraystretch'); + if (m == null) s = 1; + else if (((s = parseFloat(m)), !s || s < 0)) throw new nt('Invalid \\arraystretch: ' + m); + } + t.gullet.beginGroup(); + var g = [], + y = [g], + v = [], + x = [], + b = u != null ? [] : void 0; + function w() { + u && t.gullet.macros.set('\\@eqnsw', '1', !0); + } + o(w, 'beginRow'); + function S() { + b && + (t.gullet.macros.get('\\df@tag') + ? (b.push(t.subparse([new Ao('\\df@tag')])), t.gullet.macros.set('\\df@tag', void 0, !0)) + : b.push(!!u && t.gullet.macros.get('\\@eqnsw') === '1')); + } + for (o(S, 'endRow'), w(), x.push(hG(t)); ; ) { + var T = t.parseExpression(!1, h ? '\\end' : '\\\\'); + t.gullet.endGroup(), + t.gullet.beginGroup(), + (T = { type: 'ordgroup', mode: t.mode, body: T }), + r && (T = { type: 'styling', mode: t.mode, style: r, body: [T] }), + g.push(T); + var E = t.fetch().text; + if (E === '&') { + if (d && g.length === d) { + if (h || l) throw new nt('Too many tab characters: &', t.nextToken); + t.settings.reportNonstrict('textEnv', 'Too few columns specified in the {array} column argument.'); + } + t.consume(); + } else if (E === '\\end') { + S(), + g.length === 1 && + T.type === 'styling' && + T.body[0].body.length === 0 && + (y.length > 1 || !f) && + y.pop(), + x.length < y.length + 1 && x.push([]); + break; + } else if (E === '\\\\') { + t.consume(); + var _ = void 0; + t.gullet.future().text !== ' ' && (_ = t.parseSizeGroup(!0)), + v.push(_ ? _.value : null), + S(), + x.push(hG(t)), + (g = []), + y.push(g), + w(); + } else throw new nt('Expected & or \\\\ or \\cr or \\end', t.nextToken); + } + return ( + t.gullet.endGroup(), + t.gullet.endGroup(), + { + type: 'array', + mode: t.mode, + addJot: i, + arraystretch: s, + body: y, + cols: a, + rowGaps: v, + hskipBeforeAndAfter: n, + hLinesBeforeRow: x, + colSeparationType: l, + tags: b, + leqno: p + } + ); + } + function U7(t) { + return t.slice(0, 1) === 'd' ? 'display' : 'text'; + } + function m$(t, e, r) { + for (var n = Ri(t, e, !1), i = e.sizeMultiplier / r.sizeMultiplier, a = 0; a < n.length; a++) { + var s = n[a].classes.indexOf('sizing'); + s < 0 + ? Array.prototype.push.apply(n[a].classes, e.sizingClasses(r)) + : n[a].classes[s + 1] === 'reset-size' + e.size && (n[a].classes[s + 1] = 'reset-size' + r.size), + (n[a].height *= i), + (n[a].depth *= i); + } + return Be.makeFragment(n); + } + var Xs, + Ao, + nt, + R2e, + N2e, + M2e, + I2e, + O2e, + P2e, + _G, + F2e, + z2e, + G2e, + Vt, + u4, + ry, + Kl, + N7, + f4, + gp, + iu, + ny, + So, + yp, + qa, + Ql, + V2e, + U2e, + H2e, + Y2e, + W2e, + q2e, + Ht, + b7, + h4, + mp, + j2e, + K2e, + Q2e, + Z2e, + J2e, + exe, + txe, + rxe, + nxe, + Qz, + ixe, + Xf, + Zl, + Jb, + Zz, + l7, + oxe, + Jz, + eG, + d4, + w7, + lxe, + DG, + Hn, + ct, + dh, + RG, + NG, + MG, + jf, + iy, + T7, + cxe, + ms, + ll, + Jl, + ay, + hxe, + fxe, + wn, + U, + Qe, + ee, + ve, + Pn, + bt, + Xa, + vp, + Ut, + xi, + js, + b4, + xe, + lu, + Le, + IG, + rG, + c7, + e4, + nG, + u7, + t4, + p4, + Z1, + r4, + Xt, + Vn, + Ra, + ru, + hh, + k7, + J1, + n4, + i4, + iG, + dxe, + w4, + ol, + pxe, + mxe, + gxe, + yxe, + vxe, + I7, + ds, + OG, + xxe, + bxe, + PG, + wxe, + Txe, + kxe, + Exe, + a4, + BG, + FG, + Cxe, + Be, + Un, + Wf, + nu, + Sxe, + Axe, + zG, + m4, + g4, + y4, + ui, + su, + _xe, + Lxe, + Dxe, + Rxe, + Ri, + aG, + GG, + Nxe, + E7, + sy, + Cr, + ps, + qf, + S7, + et, + _o, + O7, + P7, + gs, + ph, + fn, + VG, + UG, + Mxe, + Ixe, + Oxe, + Pxe, + Bxe, + Fxe, + zxe, + Gxe, + ou, + F7, + HG, + $xe, + o4, + Vxe, + k4, + Uxe, + oG, + lG, + Hxe, + qG, + XG, + A7, + jG, + qxe, + KG, + ey, + z7, + QG, + Xxe, + jxe, + ZG, + h7, + f7, + _7, + l4, + Kxe, + Qxe, + JG, + d7, + p7, + m7, + Zxe, + e$, + Jxe, + t$, + ty, + ebe, + tbe, + rbe, + r$, + nbe, + n$, + i$, + ibe, + au, + cG, + abe, + G7, + $7, + a$, + s$, + C4, + tc, + sbe, + rc, + o$, + fG, + l$, + c$, + dG, + u$, + H7, + Y7, + pG, + mG, + h$, + obe, + g7, + gG, + f$, + d$, + xp, + oy, + lbe, + cbe, + p$, + ube, + yG, + hbe, + vG, + fbe, + g$, + y7, + v7, + xG, + bG, + wG, + dbe, + TG, + kG, + fh, + y$, + pbe, + mbe, + gbe, + ybe, + L7, + vbe, + xbe, + v4, + D7, + bbe, + EG, + W7, + CG, + q7, + v$, + x$, + b$, + R7, + SG, + c4, + x7, + AG, + x4, + X7, + w$, + wbe, + Tbe, + T$, + j7, + kbe, + Ebe, + E$ = R(() => { + 'use strict'; + (Xs = class t { + static { + o(this, 'SourceLocation'); + } + constructor(e, r, n) { + (this.lexer = void 0), + (this.start = void 0), + (this.end = void 0), + (this.lexer = e), + (this.start = r), + (this.end = n); + } + static range(e, r) { + return r + ? !e || !e.loc || !r.loc || e.loc.lexer !== r.loc.lexer + ? null + : new t(e.loc.lexer, e.loc.start, r.loc.end) + : e && e.loc; + } + }), + (Ao = class t { + static { + o(this, 'Token'); + } + constructor(e, r) { + (this.text = void 0), + (this.loc = void 0), + (this.noexpand = void 0), + (this.treatAsRelax = void 0), + (this.text = e), + (this.loc = r); + } + range(e, r) { + return new t(r, Xs.range(this, e)); + } + }), + (nt = class t { + static { + o(this, 'ParseError'); + } + constructor(e, r) { + (this.name = void 0), + (this.position = void 0), + (this.length = void 0), + (this.rawMessage = void 0); + var n = 'KaTeX parse error: ' + e, + i, + a, + s = r && r.loc; + if (s && s.start <= s.end) { + var l = s.lexer.input; + (i = s.start), + (a = s.end), + i === l.length ? (n += ' at end of input: ') : (n += ' at position ' + (i + 1) + ': '); + var u = l.slice(i, a).replace(/[^]/g, '$&\u0332'), + h; + i > 15 ? (h = '\u2026' + l.slice(i - 15, i)) : (h = l.slice(0, i)); + var f; + a + 15 < l.length ? (f = l.slice(a, a + 15) + '\u2026') : (f = l.slice(a)), + (n += h + u + f); + } + var d = new Error(n); + return ( + (d.name = 'ParseError'), + (d.__proto__ = t.prototype), + (d.position = i), + i != null && a != null && (d.length = a - i), + (d.rawMessage = e), + d + ); + } + }); + nt.prototype.__proto__ = Error.prototype; + (R2e = o(function (e, r) { + return e.indexOf(r) !== -1; + }, 'contains')), + (N2e = o(function (e, r) { + return e === void 0 ? r : e; + }, 'deflt')), + (M2e = /([A-Z])/g), + (I2e = o(function (e) { + return e.replace(M2e, '-$1').toLowerCase(); + }, 'hyphenate')), + (O2e = { + '&': '&', + '>': '>', + '<': '<', + '"': '"', + "'": ''' + }), + (P2e = /[&><"']/g); + o(B2e, 'escape'); + (_G = o(function t(e) { + return e.type === 'ordgroup' || e.type === 'color' + ? e.body.length === 1 + ? t(e.body[0]) + : e + : e.type === 'font' + ? t(e.body) + : e; + }, 'getBaseElem')), + (F2e = o(function (e) { + var r = _G(e); + return r.type === 'mathord' || r.type === 'textord' || r.type === 'atom'; + }, 'isCharacterBox')), + (z2e = o(function (e) { + if (!e) throw new Error('Expected non-null, but got ' + String(e)); + return e; + }, 'assert')), + (G2e = o(function (e) { + var r = /^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e); + return r + ? r[2] !== ':' || !/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(r[1]) + ? null + : r[1].toLowerCase() + : '_relative'; + }, 'protocolFromUrl')), + (Vt = { + contains: R2e, + deflt: N2e, + escape: B2e, + hyphenate: I2e, + getBaseElem: _G, + isCharacterBox: F2e, + protocolFromUrl: G2e + }), + (u4 = { + displayMode: { + type: 'boolean', + description: + 'Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.', + cli: '-d, --display-mode' + }, + output: { + type: { enum: ['htmlAndMathml', 'html', 'mathml'] }, + description: 'Determines the markup language of the output.', + cli: '-F, --format ' + }, + leqno: { + type: 'boolean', + description: 'Render display math in leqno style (left-justified tags).' + }, + fleqn: { + type: 'boolean', + description: 'Render display math flush left.' + }, + throwOnError: { + type: 'boolean', + default: !0, + cli: '-t, --no-throw-on-error', + cliDescription: + 'Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error.' + }, + errorColor: { + type: 'string', + default: '#cc0000', + cli: '-c, --error-color ', + cliDescription: + "A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.", + cliProcessor: o((t) => '#' + t, 'cliProcessor') + }, + macros: { + type: 'object', + cli: '-m, --macro ', + cliDescription: + "Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).", + cliDefault: [], + cliProcessor: o((t, e) => (e.push(t), e), 'cliProcessor') + }, + minRuleThickness: { + type: 'number', + description: + 'Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.', + processor: o((t) => Math.max(0, t), 'processor'), + cli: '--min-rule-thickness ', + cliProcessor: parseFloat + }, + colorIsTextColor: { + type: 'boolean', + description: + "Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.", + cli: '-b, --color-is-text-color' + }, + strict: { + type: [{ enum: ['warn', 'ignore', 'error'] }, 'boolean', 'function'], + description: + 'Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.', + cli: '-S, --strict', + cliDefault: !1 + }, + trust: { + type: ['boolean', 'function'], + description: 'Trust the input, enabling all HTML features such as \\url.', + cli: '-T, --trust' + }, + maxSize: { + type: 'number', + default: 1 / 0, + description: + 'If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large', + processor: o((t) => Math.max(0, t), 'processor'), + cli: '-s, --max-size ', + cliProcessor: parseInt + }, + maxExpand: { + type: 'number', + default: 1e3, + description: + 'Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.', + processor: o((t) => Math.max(0, t), 'processor'), + cli: '-e, --max-expand ', + cliProcessor: o((t) => (t === 'Infinity' ? 1 / 0 : parseInt(t)), 'cliProcessor') + }, + globalGroup: { type: 'boolean', cli: !1 } + }); + o($2e, 'getDefaultValue'); + (ry = class { + static { + o(this, 'Settings'); + } + constructor(e) { + (this.displayMode = void 0), + (this.output = void 0), + (this.leqno = void 0), + (this.fleqn = void 0), + (this.throwOnError = void 0), + (this.errorColor = void 0), + (this.macros = void 0), + (this.minRuleThickness = void 0), + (this.colorIsTextColor = void 0), + (this.strict = void 0), + (this.trust = void 0), + (this.maxSize = void 0), + (this.maxExpand = void 0), + (this.globalGroup = void 0), + (e = e || {}); + for (var r in u4) + if (u4.hasOwnProperty(r)) { + var n = u4[r]; + this[r] = e[r] !== void 0 ? (n.processor ? n.processor(e[r]) : e[r]) : $2e(n); + } + } + reportNonstrict(e, r, n) { + var i = this.strict; + if ((typeof i == 'function' && (i = i(e, r, n)), !(!i || i === 'ignore'))) { + if (i === !0 || i === 'error') + throw new nt( + "LaTeX-incompatible input and strict mode is set to 'error': " + (r + ' [' + e + ']'), + n + ); + i === 'warn' + ? typeof console < 'u' && + console.warn( + "LaTeX-incompatible input and strict mode is set to 'warn': " + (r + ' [' + e + ']') + ) + : typeof console < 'u' && + console.warn( + 'LaTeX-incompatible input and strict mode is set to ' + + ("unrecognized '" + i + "': " + r + ' [' + e + ']') + ); + } + } + useStrictBehavior(e, r, n) { + var i = this.strict; + if (typeof i == 'function') + try { + i = i(e, r, n); + } catch { + i = 'error'; + } + return !i || i === 'ignore' + ? !1 + : i === !0 || i === 'error' + ? !0 + : i === 'warn' + ? (typeof console < 'u' && + console.warn( + "LaTeX-incompatible input and strict mode is set to 'warn': " + (r + ' [' + e + ']') + ), + !1) + : (typeof console < 'u' && + console.warn( + 'LaTeX-incompatible input and strict mode is set to ' + + ("unrecognized '" + i + "': " + r + ' [' + e + ']') + ), + !1); + } + isTrusted(e) { + if (e.url && !e.protocol) { + var r = Vt.protocolFromUrl(e.url); + if (r == null) return !1; + e.protocol = r; + } + var n = typeof this.trust == 'function' ? this.trust(e) : this.trust; + return !!n; + } + }), + (Kl = class { + static { + o(this, 'Style'); + } + constructor(e, r, n) { + (this.id = void 0), + (this.size = void 0), + (this.cramped = void 0), + (this.id = e), + (this.size = r), + (this.cramped = n); + } + sup() { + return Ql[V2e[this.id]]; + } + sub() { + return Ql[U2e[this.id]]; + } + fracNum() { + return Ql[H2e[this.id]]; + } + fracDen() { + return Ql[Y2e[this.id]]; + } + cramp() { + return Ql[W2e[this.id]]; + } + text() { + return Ql[q2e[this.id]]; + } + isTight() { + return this.size >= 2; + } + }), + (N7 = 0), + (f4 = 1), + (gp = 2), + (iu = 3), + (ny = 4), + (So = 5), + (yp = 6), + (qa = 7), + (Ql = [ + new Kl(N7, 0, !1), + new Kl(f4, 0, !0), + new Kl(gp, 1, !1), + new Kl(iu, 1, !0), + new Kl(ny, 2, !1), + new Kl(So, 2, !0), + new Kl(yp, 3, !1), + new Kl(qa, 3, !0) + ]), + (V2e = [ny, So, ny, So, yp, qa, yp, qa]), + (U2e = [So, So, So, So, qa, qa, qa, qa]), + (H2e = [gp, iu, ny, So, yp, qa, yp, qa]), + (Y2e = [iu, iu, So, So, qa, qa, qa, qa]), + (W2e = [f4, f4, iu, iu, So, So, qa, qa]), + (q2e = [N7, f4, gp, iu, gp, iu, gp, iu]), + (Ht = { + DISPLAY: Ql[N7], + TEXT: Ql[gp], + SCRIPT: Ql[ny], + SCRIPTSCRIPT: Ql[yp] + }), + (b7 = [ + { + name: 'latin', + blocks: [ + [256, 591], + [768, 879] + ] + }, + { name: 'cyrillic', blocks: [[1024, 1279]] }, + { name: 'armenian', blocks: [[1328, 1423]] }, + { name: 'brahmic', blocks: [[2304, 4255]] }, + { name: 'georgian', blocks: [[4256, 4351]] }, + { + name: 'cjk', + blocks: [ + [12288, 12543], + [19968, 40879], + [65280, 65376] + ] + }, + { name: 'hangul', blocks: [[44032, 55215]] } + ]); + o(X2e, 'scriptFromCodepoint'); + h4 = []; + b7.forEach((t) => t.blocks.forEach((e) => h4.push(...e))); + o(LG, 'supportedCodepoint'); + (mp = 80), + (j2e = o(function (e, r) { + return ( + 'M95,' + + (622 + e + r) + + ` +c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14 +c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54 +c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10 +s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429 +c69,-144,104.5,-217.7,106.5,-221 +l` + + e / 2.075 + + ' -' + + e + + ` +c5.3,-9.3,12,-14,20,-14 +H400000v` + + (40 + e) + + `H845.2724 +s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7 +c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z +M` + + (834 + e) + + ' ' + + r + + 'h400000v' + + (40 + e) + + 'h-400000z' + ); + }, 'sqrtMain')), + (K2e = o(function (e, r) { + return ( + 'M263,' + + (601 + e + r) + + `c0.7,0,18,39.7,52,119 +c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120 +c340,-704.7,510.7,-1060.3,512,-1067 +l` + + e / 2.084 + + ' -' + + e + + ` +c4.7,-7.3,11,-11,19,-11 +H40000v` + + (40 + e) + + `H1012.3 +s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232 +c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1 +s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26 +c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z +M` + + (1001 + e) + + ' ' + + r + + 'h400000v' + + (40 + e) + + 'h-400000z' + ); + }, 'sqrtSize1')), + (Q2e = o(function (e, r) { + return ( + 'M983 ' + + (10 + e + r) + + ` +l` + + e / 3.13 + + ' -' + + e + + ` +c4,-6.7,10,-10,18,-10 H400000v` + + (40 + e) + + ` +H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7 +s-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744 +c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30 +c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722 +c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5 +c53.7,-170.3,84.5,-266.8,92.5,-289.5z +M` + + (1001 + e) + + ' ' + + r + + 'h400000v' + + (40 + e) + + 'h-400000z' + ); + }, 'sqrtSize2')), + (Z2e = o(function (e, r) { + return ( + 'M424,' + + (2398 + e + r) + + ` +c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514 +c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20 +s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121 +s209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081 +l` + + e / 4.223 + + ' -' + + e + + `c4,-6.7,10,-10,18,-10 H400000 +v` + + (40 + e) + + `H1014.6 +s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185 +c-2,6,-10,9,-24,9 +c-8,0,-12,-0.7,-12,-2z M` + + (1001 + e) + + ' ' + + r + + ` +h400000v` + + (40 + e) + + 'h-400000z' + ); + }, 'sqrtSize3')), + (J2e = o(function (e, r) { + return ( + 'M473,' + + (2713 + e + r) + + ` +c339.3,-1799.3,509.3,-2700,510,-2702 l` + + e / 5.298 + + ' -' + + e + + ` +c3.3,-7.3,9.3,-11,18,-11 H400000v` + + (40 + e) + + `H1017.7 +s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9 +c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200 +c0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26 +s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104, +606zM` + + (1001 + e) + + ' ' + + r + + 'h400000v' + + (40 + e) + + 'H1017.7z' + ); + }, 'sqrtSize4')), + (exe = o(function (e) { + var r = e / 2; + return 'M400000 ' + e + ' H0 L' + r + ' 0 l65 45 L145 ' + (e - 80) + ' H400000z'; + }, 'phasePath')), + (txe = o(function (e, r, n) { + var i = n - 54 - r - e; + return ( + 'M702 ' + + (e + r) + + 'H400000' + + (40 + e) + + ` +H742v` + + i + + `l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1 +h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170 +c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667 +219 661 l218 661zM702 ` + + r + + 'H400000v' + + (40 + e) + + 'H742z' + ); + }, 'sqrtTall')), + (rxe = o(function (e, r, n) { + r = 1e3 * r; + var i = ''; + switch (e) { + case 'sqrtMain': + i = j2e(r, mp); + break; + case 'sqrtSize1': + i = K2e(r, mp); + break; + case 'sqrtSize2': + i = Q2e(r, mp); + break; + case 'sqrtSize3': + i = Z2e(r, mp); + break; + case 'sqrtSize4': + i = J2e(r, mp); + break; + case 'sqrtTall': + i = txe(r, mp, n); + } + return i; + }, 'sqrtPath')), + (nxe = o(function (e, r) { + switch (e) { + case '\u239C': + return 'M291 0 H417 V' + r + ' H291z M291 0 H417 V' + r + ' H291z'; + case '\u2223': + return 'M145 0 H188 V' + r + ' H145z M145 0 H188 V' + r + ' H145z'; + case '\u2225': + return ( + 'M145 0 H188 V' + + r + + ' H145z M145 0 H188 V' + + r + + ' H145z' + + ('M367 0 H410 V' + r + ' H367z M367 0 H410 V' + r + ' H367z') + ); + case '\u239F': + return 'M457 0 H583 V' + r + ' H457z M457 0 H583 V' + r + ' H457z'; + case '\u23A2': + return 'M319 0 H403 V' + r + ' H319z M319 0 H403 V' + r + ' H319z'; + case '\u23A5': + return 'M263 0 H347 V' + r + ' H263z M263 0 H347 V' + r + ' H263z'; + case '\u23AA': + return 'M384 0 H504 V' + r + ' H384z M384 0 H504 V' + r + ' H384z'; + case '\u23D0': + return 'M312 0 H355 V' + r + ' H312z M312 0 H355 V' + r + ' H312z'; + case '\u2016': + return ( + 'M257 0 H300 V' + + r + + ' H257z M257 0 H300 V' + + r + + ' H257z' + + ('M478 0 H521 V' + r + ' H478z M478 0 H521 V' + r + ' H478z') + ); + default: + return ''; + } + }, 'innerPath')), + (Qz = { + doubleleftarrow: `M262 157 +l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3 + 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28 + 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5 +c2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5 + 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87 +-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7 +-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z +m8 0v40h399730v-40zm0 194v40h399730v-40z`, + doublerightarrow: `M399738 392l +-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5 + 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88 +-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68 +-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18 +-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782 +c-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3 +-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z`, + leftarrow: `M400000 241H110l3-3c68.7-52.7 113.7-120 + 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8 +-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247 +c-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208 + 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3 + 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202 + l-3-3h399890zM100 241v40h399900v-40z`, + leftbrace: `M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117 +-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7 + 5-6 9-10 13-.7 1-7.3 1-20 1H6z`, + leftbraceunder: `M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13 + 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688 + 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7 +-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`, + leftgroup: `M400000 80 +H435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0 + 435 0h399565z`, + leftgroupunder: `M400000 262 +H435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219 + 435 219h399565z`, + leftharpoon: `M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3 +-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5 +-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7 +-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z`, + leftharpoonplus: `M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5 + 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3 +-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7 +-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z +m0 0v40h400000v-40z`, + leftharpoondown: `M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333 + 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5 + 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667 +-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z`, + leftharpoondownplus: `M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12 + 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7 +-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0 +v40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z`, + lefthook: `M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5 +-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3 +-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21 + 71.5 23h399859zM103 281v-40h399897v40z`, + leftlinesegment: `M40 281 V428 H0 V94 H40 V241 H400000 v40z +M40 281 V428 H0 V94 H40 V241 H400000 v40z`, + leftmapsto: `M40 281 V448H0V74H40V241H400000v40z +M40 281 V448H0V74H40V241H400000v40z`, + leftToFrom: `M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23 +-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8 +c28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3 + 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`, + longequal: `M0 50 h400000 v40H0z m0 194h40000v40H0z +M0 50 h400000 v40H0z m0 194h40000v40H0z`, + midbrace: `M200428 334 +c-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14 +-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7 + 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11 + 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z`, + midbraceunder: `M199572 214 +c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14 + 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3 + 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0 +-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`, + oiintSize1: `M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6 +-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z +m368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8 +60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z`, + oiintSize2: `M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8 +-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z +m502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2 +c0 110 84 276 504 276s502.4-166 502.4-276z`, + oiiintSize1: `M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6 +-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z +m525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0 +85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z`, + oiiintSize2: `M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8 +-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z +m770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1 +c0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z`, + rightarrow: `M0 241v40h399891c-47.3 35.3-84 78-110 128 +-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 + 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 + 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85 +-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 +-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 + 151.7 139 205zm0 0v40h399900v-40z`, + rightbrace: `M400000 542l +-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5 +s-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1 +c124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z`, + rightbraceunder: `M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3 + 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237 +-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`, + rightgroup: `M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0 + 3-1 3-3v-38c-76-158-257-219-435-219H0z`, + rightgroupunder: `M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18 + 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z`, + rightharpoon: `M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3 +-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2 +-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 + 69.2 92 94.5zm0 0v40h399900v-40z`, + rightharpoonplus: `M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11 +-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7 + 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z +m0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z`, + rightharpoondown: `M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8 + 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5 +-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95 +-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z`, + rightharpoondownplus: `M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8 + 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 + 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3 +-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z +m0-194v40h400000v-40zm0 0v40h400000v-40z`, + righthook: `M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3 + 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0 +-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21 + 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`, + rightlinesegment: `M399960 241 V94 h40 V428 h-40 V281 H0 v-40z +M399960 241 V94 h40 V428 h-40 V281 H0 v-40z`, + rightToFrom: `M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23 + 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32 +-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142 +-167z M100 147v40h399900v-40zM0 341v40h399900v-40z`, + twoheadleftarrow: `M0 167c68 40 + 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69 +-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3 +-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19 +-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101 + 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z`, + twoheadrightarrow: `M400000 167 +c-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3 + 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42 + 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333 +-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70 + 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z`, + tilde1: `M200 55.538c-77 0-168 73.953-177 73.953-3 0-7 +-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0 + 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0 + 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128 +-68.267.847-113-73.952-191-73.952z`, + tilde2: `M344 55.266c-142 0-300.638 81.316-311.5 86.418 +-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9 + 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114 +c1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751 + 181.476 676 181.476c-149 0-189-126.21-332-126.21z`, + tilde3: `M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457 +-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0 + 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697 + 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696 + -338 0-409-156.573-744-156.573z`, + tilde4: `M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345 +-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409 + 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9 + 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409 + -175.236-744-175.236z`, + vec: `M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5 +3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11 +10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63 +-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1 +-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59 +H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359 +c-16-25.333-24-45-24-59z`, + widehat1: `M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22 +c-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z`, + widehat2: `M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`, + widehat3: `M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`, + widehat4: `M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`, + widecheck1: `M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1, +-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z`, + widecheck2: `M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`, + widecheck3: `M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`, + widecheck4: `M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`, + baraboveleftarrow: `M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202 +c4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5 +c-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130 +s-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47 +121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6 +s2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11 +c0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z +M100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z`, + rightarrowabovebar: `M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32 +-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0 +13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39 +-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5 +-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 +-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 +151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z`, + baraboveshortleftharpoon: `M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 +c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17 +c2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21 +c-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40 +c-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z +M0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z`, + rightharpoonaboveshortbar: `M0,241 l0,40c399126,0,399993,0,399993,0 +c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, +-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 +c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z +M0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z`, + shortbaraboveleftharpoon: `M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 +c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9, +1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7, +-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z +M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z`, + shortrightharpoonabovebar: `M53,241l0,40c398570,0,399437,0,399437,0 +c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, +-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 +c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z +M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z` + }), + (ixe = o(function (e, r) { + switch (e) { + case 'lbrack': + return ( + 'M403 1759 V84 H666 V0 H319 V1759 v' + + r + + ` v1759 h347 v-84 +H403z M403 1759 V0 H319 V1759 v` + + r + + ' v1759 h84z' + ); + case 'rbrack': + return ( + 'M347 1759 V0 H0 V84 H263 V1759 v' + + r + + ` v1759 H0 v84 H347z +M347 1759 V0 H263 V1759 v` + + r + + ' v1759 h84z' + ); + case 'vert': + return ( + 'M145 15 v585 v' + + r + + ` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v` + + -r + + ` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v` + + r + + ' v585 h43z' + ); + case 'doublevert': + return ( + 'M145 15 v585 v' + + r + + ` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v` + + -r + + ` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v` + + r + + ` v585 h43z +M367 15 v585 v` + + r + + ` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v` + + -r + + ` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M410 15 H367 v585 v` + + r + + ' v585 h43z' + ); + case 'lfloor': + return ( + 'M319 602 V0 H403 V602 v' + + r + + ` v1715 h263 v84 H319z +MM319 602 V0 H403 V602 v` + + r + + ' v1715 H319z' + ); + case 'rfloor': + return ( + 'M319 602 V0 H403 V602 v' + + r + + ` v1799 H0 v-84 H319z +MM319 602 V0 H403 V602 v` + + r + + ' v1715 H319z' + ); + case 'lceil': + return ( + 'M403 1759 V84 H666 V0 H319 V1759 v' + + r + + ` v602 h84z +M403 1759 V0 H319 V1759 v` + + r + + ' v602 h84z' + ); + case 'rceil': + return ( + 'M347 1759 V0 H0 V84 H263 V1759 v' + + r + + ` v602 h84z +M347 1759 V0 h-84 V1759 v` + + r + + ' v602 h84z' + ); + case 'lparen': + return ( + `M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1 +c-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349, +-36,557 l0,` + + (r + 84) + + `c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210, +949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9 +c0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5, +-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189 +l0,-` + + (r + 92) + + `c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3, +-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z` + ); + case 'rparen': + return ( + `M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3, +63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5 +c11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,` + + (r + 9) + + ` +c-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664 +c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11 +c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17 +c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558 +l0,-` + + (r + 144) + + `c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7, +-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z` + ); + default: + throw new Error('Unknown stretchy delimiter.'); + } + }, 'tallDelim')), + (Xf = class { + static { + o(this, 'DocumentFragment'); + } + constructor(e) { + (this.children = void 0), + (this.classes = void 0), + (this.height = void 0), + (this.depth = void 0), + (this.maxFontSize = void 0), + (this.style = void 0), + (this.children = e), + (this.classes = []), + (this.height = 0), + (this.depth = 0), + (this.maxFontSize = 0), + (this.style = {}); + } + hasClass(e) { + return Vt.contains(this.classes, e); + } + toNode() { + for (var e = document.createDocumentFragment(), r = 0; r < this.children.length; r++) + e.appendChild(this.children[r].toNode()); + return e; + } + toMarkup() { + for (var e = '', r = 0; r < this.children.length; r++) e += this.children[r].toMarkup(); + return e; + } + toText() { + var e = o((r) => r.toText(), 'toText'); + return this.children.map(e).join(''); + } + }), + (Zl = { + 'AMS-Regular': { + 32: [0, 0, 0, 0, 0.25], + 65: [0, 0.68889, 0, 0, 0.72222], + 66: [0, 0.68889, 0, 0, 0.66667], + 67: [0, 0.68889, 0, 0, 0.72222], + 68: [0, 0.68889, 0, 0, 0.72222], + 69: [0, 0.68889, 0, 0, 0.66667], + 70: [0, 0.68889, 0, 0, 0.61111], + 71: [0, 0.68889, 0, 0, 0.77778], + 72: [0, 0.68889, 0, 0, 0.77778], + 73: [0, 0.68889, 0, 0, 0.38889], + 74: [0.16667, 0.68889, 0, 0, 0.5], + 75: [0, 0.68889, 0, 0, 0.77778], + 76: [0, 0.68889, 0, 0, 0.66667], + 77: [0, 0.68889, 0, 0, 0.94445], + 78: [0, 0.68889, 0, 0, 0.72222], + 79: [0.16667, 0.68889, 0, 0, 0.77778], + 80: [0, 0.68889, 0, 0, 0.61111], + 81: [0.16667, 0.68889, 0, 0, 0.77778], + 82: [0, 0.68889, 0, 0, 0.72222], + 83: [0, 0.68889, 0, 0, 0.55556], + 84: [0, 0.68889, 0, 0, 0.66667], + 85: [0, 0.68889, 0, 0, 0.72222], + 86: [0, 0.68889, 0, 0, 0.72222], + 87: [0, 0.68889, 0, 0, 1], + 88: [0, 0.68889, 0, 0, 0.72222], + 89: [0, 0.68889, 0, 0, 0.72222], + 90: [0, 0.68889, 0, 0, 0.66667], + 107: [0, 0.68889, 0, 0, 0.55556], + 160: [0, 0, 0, 0, 0.25], + 165: [0, 0.675, 0.025, 0, 0.75], + 174: [0.15559, 0.69224, 0, 0, 0.94666], + 240: [0, 0.68889, 0, 0, 0.55556], + 295: [0, 0.68889, 0, 0, 0.54028], + 710: [0, 0.825, 0, 0, 2.33334], + 732: [0, 0.9, 0, 0, 2.33334], + 770: [0, 0.825, 0, 0, 2.33334], + 771: [0, 0.9, 0, 0, 2.33334], + 989: [0.08167, 0.58167, 0, 0, 0.77778], + 1008: [0, 0.43056, 0.04028, 0, 0.66667], + 8245: [0, 0.54986, 0, 0, 0.275], + 8463: [0, 0.68889, 0, 0, 0.54028], + 8487: [0, 0.68889, 0, 0, 0.72222], + 8498: [0, 0.68889, 0, 0, 0.55556], + 8502: [0, 0.68889, 0, 0, 0.66667], + 8503: [0, 0.68889, 0, 0, 0.44445], + 8504: [0, 0.68889, 0, 0, 0.66667], + 8513: [0, 0.68889, 0, 0, 0.63889], + 8592: [-0.03598, 0.46402, 0, 0, 0.5], + 8594: [-0.03598, 0.46402, 0, 0, 0.5], + 8602: [-0.13313, 0.36687, 0, 0, 1], + 8603: [-0.13313, 0.36687, 0, 0, 1], + 8606: [0.01354, 0.52239, 0, 0, 1], + 8608: [0.01354, 0.52239, 0, 0, 1], + 8610: [0.01354, 0.52239, 0, 0, 1.11111], + 8611: [0.01354, 0.52239, 0, 0, 1.11111], + 8619: [0, 0.54986, 0, 0, 1], + 8620: [0, 0.54986, 0, 0, 1], + 8621: [-0.13313, 0.37788, 0, 0, 1.38889], + 8622: [-0.13313, 0.36687, 0, 0, 1], + 8624: [0, 0.69224, 0, 0, 0.5], + 8625: [0, 0.69224, 0, 0, 0.5], + 8630: [0, 0.43056, 0, 0, 1], + 8631: [0, 0.43056, 0, 0, 1], + 8634: [0.08198, 0.58198, 0, 0, 0.77778], + 8635: [0.08198, 0.58198, 0, 0, 0.77778], + 8638: [0.19444, 0.69224, 0, 0, 0.41667], + 8639: [0.19444, 0.69224, 0, 0, 0.41667], + 8642: [0.19444, 0.69224, 0, 0, 0.41667], + 8643: [0.19444, 0.69224, 0, 0, 0.41667], + 8644: [0.1808, 0.675, 0, 0, 1], + 8646: [0.1808, 0.675, 0, 0, 1], + 8647: [0.1808, 0.675, 0, 0, 1], + 8648: [0.19444, 0.69224, 0, 0, 0.83334], + 8649: [0.1808, 0.675, 0, 0, 1], + 8650: [0.19444, 0.69224, 0, 0, 0.83334], + 8651: [0.01354, 0.52239, 0, 0, 1], + 8652: [0.01354, 0.52239, 0, 0, 1], + 8653: [-0.13313, 0.36687, 0, 0, 1], + 8654: [-0.13313, 0.36687, 0, 0, 1], + 8655: [-0.13313, 0.36687, 0, 0, 1], + 8666: [0.13667, 0.63667, 0, 0, 1], + 8667: [0.13667, 0.63667, 0, 0, 1], + 8669: [-0.13313, 0.37788, 0, 0, 1], + 8672: [-0.064, 0.437, 0, 0, 1.334], + 8674: [-0.064, 0.437, 0, 0, 1.334], + 8705: [0, 0.825, 0, 0, 0.5], + 8708: [0, 0.68889, 0, 0, 0.55556], + 8709: [0.08167, 0.58167, 0, 0, 0.77778], + 8717: [0, 0.43056, 0, 0, 0.42917], + 8722: [-0.03598, 0.46402, 0, 0, 0.5], + 8724: [0.08198, 0.69224, 0, 0, 0.77778], + 8726: [0.08167, 0.58167, 0, 0, 0.77778], + 8733: [0, 0.69224, 0, 0, 0.77778], + 8736: [0, 0.69224, 0, 0, 0.72222], + 8737: [0, 0.69224, 0, 0, 0.72222], + 8738: [0.03517, 0.52239, 0, 0, 0.72222], + 8739: [0.08167, 0.58167, 0, 0, 0.22222], + 8740: [0.25142, 0.74111, 0, 0, 0.27778], + 8741: [0.08167, 0.58167, 0, 0, 0.38889], + 8742: [0.25142, 0.74111, 0, 0, 0.5], + 8756: [0, 0.69224, 0, 0, 0.66667], + 8757: [0, 0.69224, 0, 0, 0.66667], + 8764: [-0.13313, 0.36687, 0, 0, 0.77778], + 8765: [-0.13313, 0.37788, 0, 0, 0.77778], + 8769: [-0.13313, 0.36687, 0, 0, 0.77778], + 8770: [-0.03625, 0.46375, 0, 0, 0.77778], + 8774: [0.30274, 0.79383, 0, 0, 0.77778], + 8776: [-0.01688, 0.48312, 0, 0, 0.77778], + 8778: [0.08167, 0.58167, 0, 0, 0.77778], + 8782: [0.06062, 0.54986, 0, 0, 0.77778], + 8783: [0.06062, 0.54986, 0, 0, 0.77778], + 8785: [0.08198, 0.58198, 0, 0, 0.77778], + 8786: [0.08198, 0.58198, 0, 0, 0.77778], + 8787: [0.08198, 0.58198, 0, 0, 0.77778], + 8790: [0, 0.69224, 0, 0, 0.77778], + 8791: [0.22958, 0.72958, 0, 0, 0.77778], + 8796: [0.08198, 0.91667, 0, 0, 0.77778], + 8806: [0.25583, 0.75583, 0, 0, 0.77778], + 8807: [0.25583, 0.75583, 0, 0, 0.77778], + 8808: [0.25142, 0.75726, 0, 0, 0.77778], + 8809: [0.25142, 0.75726, 0, 0, 0.77778], + 8812: [0.25583, 0.75583, 0, 0, 0.5], + 8814: [0.20576, 0.70576, 0, 0, 0.77778], + 8815: [0.20576, 0.70576, 0, 0, 0.77778], + 8816: [0.30274, 0.79383, 0, 0, 0.77778], + 8817: [0.30274, 0.79383, 0, 0, 0.77778], + 8818: [0.22958, 0.72958, 0, 0, 0.77778], + 8819: [0.22958, 0.72958, 0, 0, 0.77778], + 8822: [0.1808, 0.675, 0, 0, 0.77778], + 8823: [0.1808, 0.675, 0, 0, 0.77778], + 8828: [0.13667, 0.63667, 0, 0, 0.77778], + 8829: [0.13667, 0.63667, 0, 0, 0.77778], + 8830: [0.22958, 0.72958, 0, 0, 0.77778], + 8831: [0.22958, 0.72958, 0, 0, 0.77778], + 8832: [0.20576, 0.70576, 0, 0, 0.77778], + 8833: [0.20576, 0.70576, 0, 0, 0.77778], + 8840: [0.30274, 0.79383, 0, 0, 0.77778], + 8841: [0.30274, 0.79383, 0, 0, 0.77778], + 8842: [0.13597, 0.63597, 0, 0, 0.77778], + 8843: [0.13597, 0.63597, 0, 0, 0.77778], + 8847: [0.03517, 0.54986, 0, 0, 0.77778], + 8848: [0.03517, 0.54986, 0, 0, 0.77778], + 8858: [0.08198, 0.58198, 0, 0, 0.77778], + 8859: [0.08198, 0.58198, 0, 0, 0.77778], + 8861: [0.08198, 0.58198, 0, 0, 0.77778], + 8862: [0, 0.675, 0, 0, 0.77778], + 8863: [0, 0.675, 0, 0, 0.77778], + 8864: [0, 0.675, 0, 0, 0.77778], + 8865: [0, 0.675, 0, 0, 0.77778], + 8872: [0, 0.69224, 0, 0, 0.61111], + 8873: [0, 0.69224, 0, 0, 0.72222], + 8874: [0, 0.69224, 0, 0, 0.88889], + 8876: [0, 0.68889, 0, 0, 0.61111], + 8877: [0, 0.68889, 0, 0, 0.61111], + 8878: [0, 0.68889, 0, 0, 0.72222], + 8879: [0, 0.68889, 0, 0, 0.72222], + 8882: [0.03517, 0.54986, 0, 0, 0.77778], + 8883: [0.03517, 0.54986, 0, 0, 0.77778], + 8884: [0.13667, 0.63667, 0, 0, 0.77778], + 8885: [0.13667, 0.63667, 0, 0, 0.77778], + 8888: [0, 0.54986, 0, 0, 1.11111], + 8890: [0.19444, 0.43056, 0, 0, 0.55556], + 8891: [0.19444, 0.69224, 0, 0, 0.61111], + 8892: [0.19444, 0.69224, 0, 0, 0.61111], + 8901: [0, 0.54986, 0, 0, 0.27778], + 8903: [0.08167, 0.58167, 0, 0, 0.77778], + 8905: [0.08167, 0.58167, 0, 0, 0.77778], + 8906: [0.08167, 0.58167, 0, 0, 0.77778], + 8907: [0, 0.69224, 0, 0, 0.77778], + 8908: [0, 0.69224, 0, 0, 0.77778], + 8909: [-0.03598, 0.46402, 0, 0, 0.77778], + 8910: [0, 0.54986, 0, 0, 0.76042], + 8911: [0, 0.54986, 0, 0, 0.76042], + 8912: [0.03517, 0.54986, 0, 0, 0.77778], + 8913: [0.03517, 0.54986, 0, 0, 0.77778], + 8914: [0, 0.54986, 0, 0, 0.66667], + 8915: [0, 0.54986, 0, 0, 0.66667], + 8916: [0, 0.69224, 0, 0, 0.66667], + 8918: [0.0391, 0.5391, 0, 0, 0.77778], + 8919: [0.0391, 0.5391, 0, 0, 0.77778], + 8920: [0.03517, 0.54986, 0, 0, 1.33334], + 8921: [0.03517, 0.54986, 0, 0, 1.33334], + 8922: [0.38569, 0.88569, 0, 0, 0.77778], + 8923: [0.38569, 0.88569, 0, 0, 0.77778], + 8926: [0.13667, 0.63667, 0, 0, 0.77778], + 8927: [0.13667, 0.63667, 0, 0, 0.77778], + 8928: [0.30274, 0.79383, 0, 0, 0.77778], + 8929: [0.30274, 0.79383, 0, 0, 0.77778], + 8934: [0.23222, 0.74111, 0, 0, 0.77778], + 8935: [0.23222, 0.74111, 0, 0, 0.77778], + 8936: [0.23222, 0.74111, 0, 0, 0.77778], + 8937: [0.23222, 0.74111, 0, 0, 0.77778], + 8938: [0.20576, 0.70576, 0, 0, 0.77778], + 8939: [0.20576, 0.70576, 0, 0, 0.77778], + 8940: [0.30274, 0.79383, 0, 0, 0.77778], + 8941: [0.30274, 0.79383, 0, 0, 0.77778], + 8994: [0.19444, 0.69224, 0, 0, 0.77778], + 8995: [0.19444, 0.69224, 0, 0, 0.77778], + 9416: [0.15559, 0.69224, 0, 0, 0.90222], + 9484: [0, 0.69224, 0, 0, 0.5], + 9488: [0, 0.69224, 0, 0, 0.5], + 9492: [0, 0.37788, 0, 0, 0.5], + 9496: [0, 0.37788, 0, 0, 0.5], + 9585: [0.19444, 0.68889, 0, 0, 0.88889], + 9586: [0.19444, 0.74111, 0, 0, 0.88889], + 9632: [0, 0.675, 0, 0, 0.77778], + 9633: [0, 0.675, 0, 0, 0.77778], + 9650: [0, 0.54986, 0, 0, 0.72222], + 9651: [0, 0.54986, 0, 0, 0.72222], + 9654: [0.03517, 0.54986, 0, 0, 0.77778], + 9660: [0, 0.54986, 0, 0, 0.72222], + 9661: [0, 0.54986, 0, 0, 0.72222], + 9664: [0.03517, 0.54986, 0, 0, 0.77778], + 9674: [0.11111, 0.69224, 0, 0, 0.66667], + 9733: [0.19444, 0.69224, 0, 0, 0.94445], + 10003: [0, 0.69224, 0, 0, 0.83334], + 10016: [0, 0.69224, 0, 0, 0.83334], + 10731: [0.11111, 0.69224, 0, 0, 0.66667], + 10846: [0.19444, 0.75583, 0, 0, 0.61111], + 10877: [0.13667, 0.63667, 0, 0, 0.77778], + 10878: [0.13667, 0.63667, 0, 0, 0.77778], + 10885: [0.25583, 0.75583, 0, 0, 0.77778], + 10886: [0.25583, 0.75583, 0, 0, 0.77778], + 10887: [0.13597, 0.63597, 0, 0, 0.77778], + 10888: [0.13597, 0.63597, 0, 0, 0.77778], + 10889: [0.26167, 0.75726, 0, 0, 0.77778], + 10890: [0.26167, 0.75726, 0, 0, 0.77778], + 10891: [0.48256, 0.98256, 0, 0, 0.77778], + 10892: [0.48256, 0.98256, 0, 0, 0.77778], + 10901: [0.13667, 0.63667, 0, 0, 0.77778], + 10902: [0.13667, 0.63667, 0, 0, 0.77778], + 10933: [0.25142, 0.75726, 0, 0, 0.77778], + 10934: [0.25142, 0.75726, 0, 0, 0.77778], + 10935: [0.26167, 0.75726, 0, 0, 0.77778], + 10936: [0.26167, 0.75726, 0, 0, 0.77778], + 10937: [0.26167, 0.75726, 0, 0, 0.77778], + 10938: [0.26167, 0.75726, 0, 0, 0.77778], + 10949: [0.25583, 0.75583, 0, 0, 0.77778], + 10950: [0.25583, 0.75583, 0, 0, 0.77778], + 10955: [0.28481, 0.79383, 0, 0, 0.77778], + 10956: [0.28481, 0.79383, 0, 0, 0.77778], + 57350: [0.08167, 0.58167, 0, 0, 0.22222], + 57351: [0.08167, 0.58167, 0, 0, 0.38889], + 57352: [0.08167, 0.58167, 0, 0, 0.77778], + 57353: [0, 0.43056, 0.04028, 0, 0.66667], + 57356: [0.25142, 0.75726, 0, 0, 0.77778], + 57357: [0.25142, 0.75726, 0, 0, 0.77778], + 57358: [0.41951, 0.91951, 0, 0, 0.77778], + 57359: [0.30274, 0.79383, 0, 0, 0.77778], + 57360: [0.30274, 0.79383, 0, 0, 0.77778], + 57361: [0.41951, 0.91951, 0, 0, 0.77778], + 57366: [0.25142, 0.75726, 0, 0, 0.77778], + 57367: [0.25142, 0.75726, 0, 0, 0.77778], + 57368: [0.25142, 0.75726, 0, 0, 0.77778], + 57369: [0.25142, 0.75726, 0, 0, 0.77778], + 57370: [0.13597, 0.63597, 0, 0, 0.77778], + 57371: [0.13597, 0.63597, 0, 0, 0.77778] + }, + 'Caligraphic-Regular': { + 32: [0, 0, 0, 0, 0.25], + 65: [0, 0.68333, 0, 0.19445, 0.79847], + 66: [0, 0.68333, 0.03041, 0.13889, 0.65681], + 67: [0, 0.68333, 0.05834, 0.13889, 0.52653], + 68: [0, 0.68333, 0.02778, 0.08334, 0.77139], + 69: [0, 0.68333, 0.08944, 0.11111, 0.52778], + 70: [0, 0.68333, 0.09931, 0.11111, 0.71875], + 71: [0.09722, 0.68333, 0.0593, 0.11111, 0.59487], + 72: [0, 0.68333, 0.00965, 0.11111, 0.84452], + 73: [0, 0.68333, 0.07382, 0, 0.54452], + 74: [0.09722, 0.68333, 0.18472, 0.16667, 0.67778], + 75: [0, 0.68333, 0.01445, 0.05556, 0.76195], + 76: [0, 0.68333, 0, 0.13889, 0.68972], + 77: [0, 0.68333, 0, 0.13889, 1.2009], + 78: [0, 0.68333, 0.14736, 0.08334, 0.82049], + 79: [0, 0.68333, 0.02778, 0.11111, 0.79611], + 80: [0, 0.68333, 0.08222, 0.08334, 0.69556], + 81: [0.09722, 0.68333, 0, 0.11111, 0.81667], + 82: [0, 0.68333, 0, 0.08334, 0.8475], + 83: [0, 0.68333, 0.075, 0.13889, 0.60556], + 84: [0, 0.68333, 0.25417, 0, 0.54464], + 85: [0, 0.68333, 0.09931, 0.08334, 0.62583], + 86: [0, 0.68333, 0.08222, 0, 0.61278], + 87: [0, 0.68333, 0.08222, 0.08334, 0.98778], + 88: [0, 0.68333, 0.14643, 0.13889, 0.7133], + 89: [0.09722, 0.68333, 0.08222, 0.08334, 0.66834], + 90: [0, 0.68333, 0.07944, 0.13889, 0.72473], + 160: [0, 0, 0, 0, 0.25] + }, + 'Fraktur-Regular': { + 32: [0, 0, 0, 0, 0.25], + 33: [0, 0.69141, 0, 0, 0.29574], + 34: [0, 0.69141, 0, 0, 0.21471], + 38: [0, 0.69141, 0, 0, 0.73786], + 39: [0, 0.69141, 0, 0, 0.21201], + 40: [0.24982, 0.74947, 0, 0, 0.38865], + 41: [0.24982, 0.74947, 0, 0, 0.38865], + 42: [0, 0.62119, 0, 0, 0.27764], + 43: [0.08319, 0.58283, 0, 0, 0.75623], + 44: [0, 0.10803, 0, 0, 0.27764], + 45: [0.08319, 0.58283, 0, 0, 0.75623], + 46: [0, 0.10803, 0, 0, 0.27764], + 47: [0.24982, 0.74947, 0, 0, 0.50181], + 48: [0, 0.47534, 0, 0, 0.50181], + 49: [0, 0.47534, 0, 0, 0.50181], + 50: [0, 0.47534, 0, 0, 0.50181], + 51: [0.18906, 0.47534, 0, 0, 0.50181], + 52: [0.18906, 0.47534, 0, 0, 0.50181], + 53: [0.18906, 0.47534, 0, 0, 0.50181], + 54: [0, 0.69141, 0, 0, 0.50181], + 55: [0.18906, 0.47534, 0, 0, 0.50181], + 56: [0, 0.69141, 0, 0, 0.50181], + 57: [0.18906, 0.47534, 0, 0, 0.50181], + 58: [0, 0.47534, 0, 0, 0.21606], + 59: [0.12604, 0.47534, 0, 0, 0.21606], + 61: [-0.13099, 0.36866, 0, 0, 0.75623], + 63: [0, 0.69141, 0, 0, 0.36245], + 65: [0, 0.69141, 0, 0, 0.7176], + 66: [0, 0.69141, 0, 0, 0.88397], + 67: [0, 0.69141, 0, 0, 0.61254], + 68: [0, 0.69141, 0, 0, 0.83158], + 69: [0, 0.69141, 0, 0, 0.66278], + 70: [0.12604, 0.69141, 0, 0, 0.61119], + 71: [0, 0.69141, 0, 0, 0.78539], + 72: [0.06302, 0.69141, 0, 0, 0.7203], + 73: [0, 0.69141, 0, 0, 0.55448], + 74: [0.12604, 0.69141, 0, 0, 0.55231], + 75: [0, 0.69141, 0, 0, 0.66845], + 76: [0, 0.69141, 0, 0, 0.66602], + 77: [0, 0.69141, 0, 0, 1.04953], + 78: [0, 0.69141, 0, 0, 0.83212], + 79: [0, 0.69141, 0, 0, 0.82699], + 80: [0.18906, 0.69141, 0, 0, 0.82753], + 81: [0.03781, 0.69141, 0, 0, 0.82699], + 82: [0, 0.69141, 0, 0, 0.82807], + 83: [0, 0.69141, 0, 0, 0.82861], + 84: [0, 0.69141, 0, 0, 0.66899], + 85: [0, 0.69141, 0, 0, 0.64576], + 86: [0, 0.69141, 0, 0, 0.83131], + 87: [0, 0.69141, 0, 0, 1.04602], + 88: [0, 0.69141, 0, 0, 0.71922], + 89: [0.18906, 0.69141, 0, 0, 0.83293], + 90: [0.12604, 0.69141, 0, 0, 0.60201], + 91: [0.24982, 0.74947, 0, 0, 0.27764], + 93: [0.24982, 0.74947, 0, 0, 0.27764], + 94: [0, 0.69141, 0, 0, 0.49965], + 97: [0, 0.47534, 0, 0, 0.50046], + 98: [0, 0.69141, 0, 0, 0.51315], + 99: [0, 0.47534, 0, 0, 0.38946], + 100: [0, 0.62119, 0, 0, 0.49857], + 101: [0, 0.47534, 0, 0, 0.40053], + 102: [0.18906, 0.69141, 0, 0, 0.32626], + 103: [0.18906, 0.47534, 0, 0, 0.5037], + 104: [0.18906, 0.69141, 0, 0, 0.52126], + 105: [0, 0.69141, 0, 0, 0.27899], + 106: [0, 0.69141, 0, 0, 0.28088], + 107: [0, 0.69141, 0, 0, 0.38946], + 108: [0, 0.69141, 0, 0, 0.27953], + 109: [0, 0.47534, 0, 0, 0.76676], + 110: [0, 0.47534, 0, 0, 0.52666], + 111: [0, 0.47534, 0, 0, 0.48885], + 112: [0.18906, 0.52396, 0, 0, 0.50046], + 113: [0.18906, 0.47534, 0, 0, 0.48912], + 114: [0, 0.47534, 0, 0, 0.38919], + 115: [0, 0.47534, 0, 0, 0.44266], + 116: [0, 0.62119, 0, 0, 0.33301], + 117: [0, 0.47534, 0, 0, 0.5172], + 118: [0, 0.52396, 0, 0, 0.5118], + 119: [0, 0.52396, 0, 0, 0.77351], + 120: [0.18906, 0.47534, 0, 0, 0.38865], + 121: [0.18906, 0.47534, 0, 0, 0.49884], + 122: [0.18906, 0.47534, 0, 0, 0.39054], + 160: [0, 0, 0, 0, 0.25], + 8216: [0, 0.69141, 0, 0, 0.21471], + 8217: [0, 0.69141, 0, 0, 0.21471], + 58112: [0, 0.62119, 0, 0, 0.49749], + 58113: [0, 0.62119, 0, 0, 0.4983], + 58114: [0.18906, 0.69141, 0, 0, 0.33328], + 58115: [0.18906, 0.69141, 0, 0, 0.32923], + 58116: [0.18906, 0.47534, 0, 0, 0.50343], + 58117: [0, 0.69141, 0, 0, 0.33301], + 58118: [0, 0.62119, 0, 0, 0.33409], + 58119: [0, 0.47534, 0, 0, 0.50073] + }, + 'Main-Bold': { + 32: [0, 0, 0, 0, 0.25], + 33: [0, 0.69444, 0, 0, 0.35], + 34: [0, 0.69444, 0, 0, 0.60278], + 35: [0.19444, 0.69444, 0, 0, 0.95833], + 36: [0.05556, 0.75, 0, 0, 0.575], + 37: [0.05556, 0.75, 0, 0, 0.95833], + 38: [0, 0.69444, 0, 0, 0.89444], + 39: [0, 0.69444, 0, 0, 0.31944], + 40: [0.25, 0.75, 0, 0, 0.44722], + 41: [0.25, 0.75, 0, 0, 0.44722], + 42: [0, 0.75, 0, 0, 0.575], + 43: [0.13333, 0.63333, 0, 0, 0.89444], + 44: [0.19444, 0.15556, 0, 0, 0.31944], + 45: [0, 0.44444, 0, 0, 0.38333], + 46: [0, 0.15556, 0, 0, 0.31944], + 47: [0.25, 0.75, 0, 0, 0.575], + 48: [0, 0.64444, 0, 0, 0.575], + 49: [0, 0.64444, 0, 0, 0.575], + 50: [0, 0.64444, 0, 0, 0.575], + 51: [0, 0.64444, 0, 0, 0.575], + 52: [0, 0.64444, 0, 0, 0.575], + 53: [0, 0.64444, 0, 0, 0.575], + 54: [0, 0.64444, 0, 0, 0.575], + 55: [0, 0.64444, 0, 0, 0.575], + 56: [0, 0.64444, 0, 0, 0.575], + 57: [0, 0.64444, 0, 0, 0.575], + 58: [0, 0.44444, 0, 0, 0.31944], + 59: [0.19444, 0.44444, 0, 0, 0.31944], + 60: [0.08556, 0.58556, 0, 0, 0.89444], + 61: [-0.10889, 0.39111, 0, 0, 0.89444], + 62: [0.08556, 0.58556, 0, 0, 0.89444], + 63: [0, 0.69444, 0, 0, 0.54305], + 64: [0, 0.69444, 0, 0, 0.89444], + 65: [0, 0.68611, 0, 0, 0.86944], + 66: [0, 0.68611, 0, 0, 0.81805], + 67: [0, 0.68611, 0, 0, 0.83055], + 68: [0, 0.68611, 0, 0, 0.88194], + 69: [0, 0.68611, 0, 0, 0.75555], + 70: [0, 0.68611, 0, 0, 0.72361], + 71: [0, 0.68611, 0, 0, 0.90416], + 72: [0, 0.68611, 0, 0, 0.9], + 73: [0, 0.68611, 0, 0, 0.43611], + 74: [0, 0.68611, 0, 0, 0.59444], + 75: [0, 0.68611, 0, 0, 0.90138], + 76: [0, 0.68611, 0, 0, 0.69166], + 77: [0, 0.68611, 0, 0, 1.09166], + 78: [0, 0.68611, 0, 0, 0.9], + 79: [0, 0.68611, 0, 0, 0.86388], + 80: [0, 0.68611, 0, 0, 0.78611], + 81: [0.19444, 0.68611, 0, 0, 0.86388], + 82: [0, 0.68611, 0, 0, 0.8625], + 83: [0, 0.68611, 0, 0, 0.63889], + 84: [0, 0.68611, 0, 0, 0.8], + 85: [0, 0.68611, 0, 0, 0.88472], + 86: [0, 0.68611, 0.01597, 0, 0.86944], + 87: [0, 0.68611, 0.01597, 0, 1.18888], + 88: [0, 0.68611, 0, 0, 0.86944], + 89: [0, 0.68611, 0.02875, 0, 0.86944], + 90: [0, 0.68611, 0, 0, 0.70277], + 91: [0.25, 0.75, 0, 0, 0.31944], + 92: [0.25, 0.75, 0, 0, 0.575], + 93: [0.25, 0.75, 0, 0, 0.31944], + 94: [0, 0.69444, 0, 0, 0.575], + 95: [0.31, 0.13444, 0.03194, 0, 0.575], + 97: [0, 0.44444, 0, 0, 0.55902], + 98: [0, 0.69444, 0, 0, 0.63889], + 99: [0, 0.44444, 0, 0, 0.51111], + 100: [0, 0.69444, 0, 0, 0.63889], + 101: [0, 0.44444, 0, 0, 0.52708], + 102: [0, 0.69444, 0.10903, 0, 0.35139], + 103: [0.19444, 0.44444, 0.01597, 0, 0.575], + 104: [0, 0.69444, 0, 0, 0.63889], + 105: [0, 0.69444, 0, 0, 0.31944], + 106: [0.19444, 0.69444, 0, 0, 0.35139], + 107: [0, 0.69444, 0, 0, 0.60694], + 108: [0, 0.69444, 0, 0, 0.31944], + 109: [0, 0.44444, 0, 0, 0.95833], + 110: [0, 0.44444, 0, 0, 0.63889], + 111: [0, 0.44444, 0, 0, 0.575], + 112: [0.19444, 0.44444, 0, 0, 0.63889], + 113: [0.19444, 0.44444, 0, 0, 0.60694], + 114: [0, 0.44444, 0, 0, 0.47361], + 115: [0, 0.44444, 0, 0, 0.45361], + 116: [0, 0.63492, 0, 0, 0.44722], + 117: [0, 0.44444, 0, 0, 0.63889], + 118: [0, 0.44444, 0.01597, 0, 0.60694], + 119: [0, 0.44444, 0.01597, 0, 0.83055], + 120: [0, 0.44444, 0, 0, 0.60694], + 121: [0.19444, 0.44444, 0.01597, 0, 0.60694], + 122: [0, 0.44444, 0, 0, 0.51111], + 123: [0.25, 0.75, 0, 0, 0.575], + 124: [0.25, 0.75, 0, 0, 0.31944], + 125: [0.25, 0.75, 0, 0, 0.575], + 126: [0.35, 0.34444, 0, 0, 0.575], + 160: [0, 0, 0, 0, 0.25], + 163: [0, 0.69444, 0, 0, 0.86853], + 168: [0, 0.69444, 0, 0, 0.575], + 172: [0, 0.44444, 0, 0, 0.76666], + 176: [0, 0.69444, 0, 0, 0.86944], + 177: [0.13333, 0.63333, 0, 0, 0.89444], + 184: [0.17014, 0, 0, 0, 0.51111], + 198: [0, 0.68611, 0, 0, 1.04166], + 215: [0.13333, 0.63333, 0, 0, 0.89444], + 216: [0.04861, 0.73472, 0, 0, 0.89444], + 223: [0, 0.69444, 0, 0, 0.59722], + 230: [0, 0.44444, 0, 0, 0.83055], + 247: [0.13333, 0.63333, 0, 0, 0.89444], + 248: [0.09722, 0.54167, 0, 0, 0.575], + 305: [0, 0.44444, 0, 0, 0.31944], + 338: [0, 0.68611, 0, 0, 1.16944], + 339: [0, 0.44444, 0, 0, 0.89444], + 567: [0.19444, 0.44444, 0, 0, 0.35139], + 710: [0, 0.69444, 0, 0, 0.575], + 711: [0, 0.63194, 0, 0, 0.575], + 713: [0, 0.59611, 0, 0, 0.575], + 714: [0, 0.69444, 0, 0, 0.575], + 715: [0, 0.69444, 0, 0, 0.575], + 728: [0, 0.69444, 0, 0, 0.575], + 729: [0, 0.69444, 0, 0, 0.31944], + 730: [0, 0.69444, 0, 0, 0.86944], + 732: [0, 0.69444, 0, 0, 0.575], + 733: [0, 0.69444, 0, 0, 0.575], + 915: [0, 0.68611, 0, 0, 0.69166], + 916: [0, 0.68611, 0, 0, 0.95833], + 920: [0, 0.68611, 0, 0, 0.89444], + 923: [0, 0.68611, 0, 0, 0.80555], + 926: [0, 0.68611, 0, 0, 0.76666], + 928: [0, 0.68611, 0, 0, 0.9], + 931: [0, 0.68611, 0, 0, 0.83055], + 933: [0, 0.68611, 0, 0, 0.89444], + 934: [0, 0.68611, 0, 0, 0.83055], + 936: [0, 0.68611, 0, 0, 0.89444], + 937: [0, 0.68611, 0, 0, 0.83055], + 8211: [0, 0.44444, 0.03194, 0, 0.575], + 8212: [0, 0.44444, 0.03194, 0, 1.14999], + 8216: [0, 0.69444, 0, 0, 0.31944], + 8217: [0, 0.69444, 0, 0, 0.31944], + 8220: [0, 0.69444, 0, 0, 0.60278], + 8221: [0, 0.69444, 0, 0, 0.60278], + 8224: [0.19444, 0.69444, 0, 0, 0.51111], + 8225: [0.19444, 0.69444, 0, 0, 0.51111], + 8242: [0, 0.55556, 0, 0, 0.34444], + 8407: [0, 0.72444, 0.15486, 0, 0.575], + 8463: [0, 0.69444, 0, 0, 0.66759], + 8465: [0, 0.69444, 0, 0, 0.83055], + 8467: [0, 0.69444, 0, 0, 0.47361], + 8472: [0.19444, 0.44444, 0, 0, 0.74027], + 8476: [0, 0.69444, 0, 0, 0.83055], + 8501: [0, 0.69444, 0, 0, 0.70277], + 8592: [-0.10889, 0.39111, 0, 0, 1.14999], + 8593: [0.19444, 0.69444, 0, 0, 0.575], + 8594: [-0.10889, 0.39111, 0, 0, 1.14999], + 8595: [0.19444, 0.69444, 0, 0, 0.575], + 8596: [-0.10889, 0.39111, 0, 0, 1.14999], + 8597: [0.25, 0.75, 0, 0, 0.575], + 8598: [0.19444, 0.69444, 0, 0, 1.14999], + 8599: [0.19444, 0.69444, 0, 0, 1.14999], + 8600: [0.19444, 0.69444, 0, 0, 1.14999], + 8601: [0.19444, 0.69444, 0, 0, 1.14999], + 8636: [-0.10889, 0.39111, 0, 0, 1.14999], + 8637: [-0.10889, 0.39111, 0, 0, 1.14999], + 8640: [-0.10889, 0.39111, 0, 0, 1.14999], + 8641: [-0.10889, 0.39111, 0, 0, 1.14999], + 8656: [-0.10889, 0.39111, 0, 0, 1.14999], + 8657: [0.19444, 0.69444, 0, 0, 0.70277], + 8658: [-0.10889, 0.39111, 0, 0, 1.14999], + 8659: [0.19444, 0.69444, 0, 0, 0.70277], + 8660: [-0.10889, 0.39111, 0, 0, 1.14999], + 8661: [0.25, 0.75, 0, 0, 0.70277], + 8704: [0, 0.69444, 0, 0, 0.63889], + 8706: [0, 0.69444, 0.06389, 0, 0.62847], + 8707: [0, 0.69444, 0, 0, 0.63889], + 8709: [0.05556, 0.75, 0, 0, 0.575], + 8711: [0, 0.68611, 0, 0, 0.95833], + 8712: [0.08556, 0.58556, 0, 0, 0.76666], + 8715: [0.08556, 0.58556, 0, 0, 0.76666], + 8722: [0.13333, 0.63333, 0, 0, 0.89444], + 8723: [0.13333, 0.63333, 0, 0, 0.89444], + 8725: [0.25, 0.75, 0, 0, 0.575], + 8726: [0.25, 0.75, 0, 0, 0.575], + 8727: [-0.02778, 0.47222, 0, 0, 0.575], + 8728: [-0.02639, 0.47361, 0, 0, 0.575], + 8729: [-0.02639, 0.47361, 0, 0, 0.575], + 8730: [0.18, 0.82, 0, 0, 0.95833], + 8733: [0, 0.44444, 0, 0, 0.89444], + 8734: [0, 0.44444, 0, 0, 1.14999], + 8736: [0, 0.69224, 0, 0, 0.72222], + 8739: [0.25, 0.75, 0, 0, 0.31944], + 8741: [0.25, 0.75, 0, 0, 0.575], + 8743: [0, 0.55556, 0, 0, 0.76666], + 8744: [0, 0.55556, 0, 0, 0.76666], + 8745: [0, 0.55556, 0, 0, 0.76666], + 8746: [0, 0.55556, 0, 0, 0.76666], + 8747: [0.19444, 0.69444, 0.12778, 0, 0.56875], + 8764: [-0.10889, 0.39111, 0, 0, 0.89444], + 8768: [0.19444, 0.69444, 0, 0, 0.31944], + 8771: [0.00222, 0.50222, 0, 0, 0.89444], + 8773: [0.027, 0.638, 0, 0, 0.894], + 8776: [0.02444, 0.52444, 0, 0, 0.89444], + 8781: [0.00222, 0.50222, 0, 0, 0.89444], + 8801: [0.00222, 0.50222, 0, 0, 0.89444], + 8804: [0.19667, 0.69667, 0, 0, 0.89444], + 8805: [0.19667, 0.69667, 0, 0, 0.89444], + 8810: [0.08556, 0.58556, 0, 0, 1.14999], + 8811: [0.08556, 0.58556, 0, 0, 1.14999], + 8826: [0.08556, 0.58556, 0, 0, 0.89444], + 8827: [0.08556, 0.58556, 0, 0, 0.89444], + 8834: [0.08556, 0.58556, 0, 0, 0.89444], + 8835: [0.08556, 0.58556, 0, 0, 0.89444], + 8838: [0.19667, 0.69667, 0, 0, 0.89444], + 8839: [0.19667, 0.69667, 0, 0, 0.89444], + 8846: [0, 0.55556, 0, 0, 0.76666], + 8849: [0.19667, 0.69667, 0, 0, 0.89444], + 8850: [0.19667, 0.69667, 0, 0, 0.89444], + 8851: [0, 0.55556, 0, 0, 0.76666], + 8852: [0, 0.55556, 0, 0, 0.76666], + 8853: [0.13333, 0.63333, 0, 0, 0.89444], + 8854: [0.13333, 0.63333, 0, 0, 0.89444], + 8855: [0.13333, 0.63333, 0, 0, 0.89444], + 8856: [0.13333, 0.63333, 0, 0, 0.89444], + 8857: [0.13333, 0.63333, 0, 0, 0.89444], + 8866: [0, 0.69444, 0, 0, 0.70277], + 8867: [0, 0.69444, 0, 0, 0.70277], + 8868: [0, 0.69444, 0, 0, 0.89444], + 8869: [0, 0.69444, 0, 0, 0.89444], + 8900: [-0.02639, 0.47361, 0, 0, 0.575], + 8901: [-0.02639, 0.47361, 0, 0, 0.31944], + 8902: [-0.02778, 0.47222, 0, 0, 0.575], + 8968: [0.25, 0.75, 0, 0, 0.51111], + 8969: [0.25, 0.75, 0, 0, 0.51111], + 8970: [0.25, 0.75, 0, 0, 0.51111], + 8971: [0.25, 0.75, 0, 0, 0.51111], + 8994: [-0.13889, 0.36111, 0, 0, 1.14999], + 8995: [-0.13889, 0.36111, 0, 0, 1.14999], + 9651: [0.19444, 0.69444, 0, 0, 1.02222], + 9657: [-0.02778, 0.47222, 0, 0, 0.575], + 9661: [0.19444, 0.69444, 0, 0, 1.02222], + 9667: [-0.02778, 0.47222, 0, 0, 0.575], + 9711: [0.19444, 0.69444, 0, 0, 1.14999], + 9824: [0.12963, 0.69444, 0, 0, 0.89444], + 9825: [0.12963, 0.69444, 0, 0, 0.89444], + 9826: [0.12963, 0.69444, 0, 0, 0.89444], + 9827: [0.12963, 0.69444, 0, 0, 0.89444], + 9837: [0, 0.75, 0, 0, 0.44722], + 9838: [0.19444, 0.69444, 0, 0, 0.44722], + 9839: [0.19444, 0.69444, 0, 0, 0.44722], + 10216: [0.25, 0.75, 0, 0, 0.44722], + 10217: [0.25, 0.75, 0, 0, 0.44722], + 10815: [0, 0.68611, 0, 0, 0.9], + 10927: [0.19667, 0.69667, 0, 0, 0.89444], + 10928: [0.19667, 0.69667, 0, 0, 0.89444], + 57376: [0.19444, 0.69444, 0, 0, 0] + }, + 'Main-BoldItalic': { + 32: [0, 0, 0, 0, 0.25], + 33: [0, 0.69444, 0.11417, 0, 0.38611], + 34: [0, 0.69444, 0.07939, 0, 0.62055], + 35: [0.19444, 0.69444, 0.06833, 0, 0.94444], + 37: [0.05556, 0.75, 0.12861, 0, 0.94444], + 38: [0, 0.69444, 0.08528, 0, 0.88555], + 39: [0, 0.69444, 0.12945, 0, 0.35555], + 40: [0.25, 0.75, 0.15806, 0, 0.47333], + 41: [0.25, 0.75, 0.03306, 0, 0.47333], + 42: [0, 0.75, 0.14333, 0, 0.59111], + 43: [0.10333, 0.60333, 0.03306, 0, 0.88555], + 44: [0.19444, 0.14722, 0, 0, 0.35555], + 45: [0, 0.44444, 0.02611, 0, 0.41444], + 46: [0, 0.14722, 0, 0, 0.35555], + 47: [0.25, 0.75, 0.15806, 0, 0.59111], + 48: [0, 0.64444, 0.13167, 0, 0.59111], + 49: [0, 0.64444, 0.13167, 0, 0.59111], + 50: [0, 0.64444, 0.13167, 0, 0.59111], + 51: [0, 0.64444, 0.13167, 0, 0.59111], + 52: [0.19444, 0.64444, 0.13167, 0, 0.59111], + 53: [0, 0.64444, 0.13167, 0, 0.59111], + 54: [0, 0.64444, 0.13167, 0, 0.59111], + 55: [0.19444, 0.64444, 0.13167, 0, 0.59111], + 56: [0, 0.64444, 0.13167, 0, 0.59111], + 57: [0, 0.64444, 0.13167, 0, 0.59111], + 58: [0, 0.44444, 0.06695, 0, 0.35555], + 59: [0.19444, 0.44444, 0.06695, 0, 0.35555], + 61: [-0.10889, 0.39111, 0.06833, 0, 0.88555], + 63: [0, 0.69444, 0.11472, 0, 0.59111], + 64: [0, 0.69444, 0.09208, 0, 0.88555], + 65: [0, 0.68611, 0, 0, 0.86555], + 66: [0, 0.68611, 0.0992, 0, 0.81666], + 67: [0, 0.68611, 0.14208, 0, 0.82666], + 68: [0, 0.68611, 0.09062, 0, 0.87555], + 69: [0, 0.68611, 0.11431, 0, 0.75666], + 70: [0, 0.68611, 0.12903, 0, 0.72722], + 71: [0, 0.68611, 0.07347, 0, 0.89527], + 72: [0, 0.68611, 0.17208, 0, 0.8961], + 73: [0, 0.68611, 0.15681, 0, 0.47166], + 74: [0, 0.68611, 0.145, 0, 0.61055], + 75: [0, 0.68611, 0.14208, 0, 0.89499], + 76: [0, 0.68611, 0, 0, 0.69777], + 77: [0, 0.68611, 0.17208, 0, 1.07277], + 78: [0, 0.68611, 0.17208, 0, 0.8961], + 79: [0, 0.68611, 0.09062, 0, 0.85499], + 80: [0, 0.68611, 0.0992, 0, 0.78721], + 81: [0.19444, 0.68611, 0.09062, 0, 0.85499], + 82: [0, 0.68611, 0.02559, 0, 0.85944], + 83: [0, 0.68611, 0.11264, 0, 0.64999], + 84: [0, 0.68611, 0.12903, 0, 0.7961], + 85: [0, 0.68611, 0.17208, 0, 0.88083], + 86: [0, 0.68611, 0.18625, 0, 0.86555], + 87: [0, 0.68611, 0.18625, 0, 1.15999], + 88: [0, 0.68611, 0.15681, 0, 0.86555], + 89: [0, 0.68611, 0.19803, 0, 0.86555], + 90: [0, 0.68611, 0.14208, 0, 0.70888], + 91: [0.25, 0.75, 0.1875, 0, 0.35611], + 93: [0.25, 0.75, 0.09972, 0, 0.35611], + 94: [0, 0.69444, 0.06709, 0, 0.59111], + 95: [0.31, 0.13444, 0.09811, 0, 0.59111], + 97: [0, 0.44444, 0.09426, 0, 0.59111], + 98: [0, 0.69444, 0.07861, 0, 0.53222], + 99: [0, 0.44444, 0.05222, 0, 0.53222], + 100: [0, 0.69444, 0.10861, 0, 0.59111], + 101: [0, 0.44444, 0.085, 0, 0.53222], + 102: [0.19444, 0.69444, 0.21778, 0, 0.4], + 103: [0.19444, 0.44444, 0.105, 0, 0.53222], + 104: [0, 0.69444, 0.09426, 0, 0.59111], + 105: [0, 0.69326, 0.11387, 0, 0.35555], + 106: [0.19444, 0.69326, 0.1672, 0, 0.35555], + 107: [0, 0.69444, 0.11111, 0, 0.53222], + 108: [0, 0.69444, 0.10861, 0, 0.29666], + 109: [0, 0.44444, 0.09426, 0, 0.94444], + 110: [0, 0.44444, 0.09426, 0, 0.64999], + 111: [0, 0.44444, 0.07861, 0, 0.59111], + 112: [0.19444, 0.44444, 0.07861, 0, 0.59111], + 113: [0.19444, 0.44444, 0.105, 0, 0.53222], + 114: [0, 0.44444, 0.11111, 0, 0.50167], + 115: [0, 0.44444, 0.08167, 0, 0.48694], + 116: [0, 0.63492, 0.09639, 0, 0.385], + 117: [0, 0.44444, 0.09426, 0, 0.62055], + 118: [0, 0.44444, 0.11111, 0, 0.53222], + 119: [0, 0.44444, 0.11111, 0, 0.76777], + 120: [0, 0.44444, 0.12583, 0, 0.56055], + 121: [0.19444, 0.44444, 0.105, 0, 0.56166], + 122: [0, 0.44444, 0.13889, 0, 0.49055], + 126: [0.35, 0.34444, 0.11472, 0, 0.59111], + 160: [0, 0, 0, 0, 0.25], + 168: [0, 0.69444, 0.11473, 0, 0.59111], + 176: [0, 0.69444, 0, 0, 0.94888], + 184: [0.17014, 0, 0, 0, 0.53222], + 198: [0, 0.68611, 0.11431, 0, 1.02277], + 216: [0.04861, 0.73472, 0.09062, 0, 0.88555], + 223: [0.19444, 0.69444, 0.09736, 0, 0.665], + 230: [0, 0.44444, 0.085, 0, 0.82666], + 248: [0.09722, 0.54167, 0.09458, 0, 0.59111], + 305: [0, 0.44444, 0.09426, 0, 0.35555], + 338: [0, 0.68611, 0.11431, 0, 1.14054], + 339: [0, 0.44444, 0.085, 0, 0.82666], + 567: [0.19444, 0.44444, 0.04611, 0, 0.385], + 710: [0, 0.69444, 0.06709, 0, 0.59111], + 711: [0, 0.63194, 0.08271, 0, 0.59111], + 713: [0, 0.59444, 0.10444, 0, 0.59111], + 714: [0, 0.69444, 0.08528, 0, 0.59111], + 715: [0, 0.69444, 0, 0, 0.59111], + 728: [0, 0.69444, 0.10333, 0, 0.59111], + 729: [0, 0.69444, 0.12945, 0, 0.35555], + 730: [0, 0.69444, 0, 0, 0.94888], + 732: [0, 0.69444, 0.11472, 0, 0.59111], + 733: [0, 0.69444, 0.11472, 0, 0.59111], + 915: [0, 0.68611, 0.12903, 0, 0.69777], + 916: [0, 0.68611, 0, 0, 0.94444], + 920: [0, 0.68611, 0.09062, 0, 0.88555], + 923: [0, 0.68611, 0, 0, 0.80666], + 926: [0, 0.68611, 0.15092, 0, 0.76777], + 928: [0, 0.68611, 0.17208, 0, 0.8961], + 931: [0, 0.68611, 0.11431, 0, 0.82666], + 933: [0, 0.68611, 0.10778, 0, 0.88555], + 934: [0, 0.68611, 0.05632, 0, 0.82666], + 936: [0, 0.68611, 0.10778, 0, 0.88555], + 937: [0, 0.68611, 0.0992, 0, 0.82666], + 8211: [0, 0.44444, 0.09811, 0, 0.59111], + 8212: [0, 0.44444, 0.09811, 0, 1.18221], + 8216: [0, 0.69444, 0.12945, 0, 0.35555], + 8217: [0, 0.69444, 0.12945, 0, 0.35555], + 8220: [0, 0.69444, 0.16772, 0, 0.62055], + 8221: [0, 0.69444, 0.07939, 0, 0.62055] + }, + 'Main-Italic': { + 32: [0, 0, 0, 0, 0.25], + 33: [0, 0.69444, 0.12417, 0, 0.30667], + 34: [0, 0.69444, 0.06961, 0, 0.51444], + 35: [0.19444, 0.69444, 0.06616, 0, 0.81777], + 37: [0.05556, 0.75, 0.13639, 0, 0.81777], + 38: [0, 0.69444, 0.09694, 0, 0.76666], + 39: [0, 0.69444, 0.12417, 0, 0.30667], + 40: [0.25, 0.75, 0.16194, 0, 0.40889], + 41: [0.25, 0.75, 0.03694, 0, 0.40889], + 42: [0, 0.75, 0.14917, 0, 0.51111], + 43: [0.05667, 0.56167, 0.03694, 0, 0.76666], + 44: [0.19444, 0.10556, 0, 0, 0.30667], + 45: [0, 0.43056, 0.02826, 0, 0.35778], + 46: [0, 0.10556, 0, 0, 0.30667], + 47: [0.25, 0.75, 0.16194, 0, 0.51111], + 48: [0, 0.64444, 0.13556, 0, 0.51111], + 49: [0, 0.64444, 0.13556, 0, 0.51111], + 50: [0, 0.64444, 0.13556, 0, 0.51111], + 51: [0, 0.64444, 0.13556, 0, 0.51111], + 52: [0.19444, 0.64444, 0.13556, 0, 0.51111], + 53: [0, 0.64444, 0.13556, 0, 0.51111], + 54: [0, 0.64444, 0.13556, 0, 0.51111], + 55: [0.19444, 0.64444, 0.13556, 0, 0.51111], + 56: [0, 0.64444, 0.13556, 0, 0.51111], + 57: [0, 0.64444, 0.13556, 0, 0.51111], + 58: [0, 0.43056, 0.0582, 0, 0.30667], + 59: [0.19444, 0.43056, 0.0582, 0, 0.30667], + 61: [-0.13313, 0.36687, 0.06616, 0, 0.76666], + 63: [0, 0.69444, 0.1225, 0, 0.51111], + 64: [0, 0.69444, 0.09597, 0, 0.76666], + 65: [0, 0.68333, 0, 0, 0.74333], + 66: [0, 0.68333, 0.10257, 0, 0.70389], + 67: [0, 0.68333, 0.14528, 0, 0.71555], + 68: [0, 0.68333, 0.09403, 0, 0.755], + 69: [0, 0.68333, 0.12028, 0, 0.67833], + 70: [0, 0.68333, 0.13305, 0, 0.65277], + 71: [0, 0.68333, 0.08722, 0, 0.77361], + 72: [0, 0.68333, 0.16389, 0, 0.74333], + 73: [0, 0.68333, 0.15806, 0, 0.38555], + 74: [0, 0.68333, 0.14028, 0, 0.525], + 75: [0, 0.68333, 0.14528, 0, 0.76888], + 76: [0, 0.68333, 0, 0, 0.62722], + 77: [0, 0.68333, 0.16389, 0, 0.89666], + 78: [0, 0.68333, 0.16389, 0, 0.74333], + 79: [0, 0.68333, 0.09403, 0, 0.76666], + 80: [0, 0.68333, 0.10257, 0, 0.67833], + 81: [0.19444, 0.68333, 0.09403, 0, 0.76666], + 82: [0, 0.68333, 0.03868, 0, 0.72944], + 83: [0, 0.68333, 0.11972, 0, 0.56222], + 84: [0, 0.68333, 0.13305, 0, 0.71555], + 85: [0, 0.68333, 0.16389, 0, 0.74333], + 86: [0, 0.68333, 0.18361, 0, 0.74333], + 87: [0, 0.68333, 0.18361, 0, 0.99888], + 88: [0, 0.68333, 0.15806, 0, 0.74333], + 89: [0, 0.68333, 0.19383, 0, 0.74333], + 90: [0, 0.68333, 0.14528, 0, 0.61333], + 91: [0.25, 0.75, 0.1875, 0, 0.30667], + 93: [0.25, 0.75, 0.10528, 0, 0.30667], + 94: [0, 0.69444, 0.06646, 0, 0.51111], + 95: [0.31, 0.12056, 0.09208, 0, 0.51111], + 97: [0, 0.43056, 0.07671, 0, 0.51111], + 98: [0, 0.69444, 0.06312, 0, 0.46], + 99: [0, 0.43056, 0.05653, 0, 0.46], + 100: [0, 0.69444, 0.10333, 0, 0.51111], + 101: [0, 0.43056, 0.07514, 0, 0.46], + 102: [0.19444, 0.69444, 0.21194, 0, 0.30667], + 103: [0.19444, 0.43056, 0.08847, 0, 0.46], + 104: [0, 0.69444, 0.07671, 0, 0.51111], + 105: [0, 0.65536, 0.1019, 0, 0.30667], + 106: [0.19444, 0.65536, 0.14467, 0, 0.30667], + 107: [0, 0.69444, 0.10764, 0, 0.46], + 108: [0, 0.69444, 0.10333, 0, 0.25555], + 109: [0, 0.43056, 0.07671, 0, 0.81777], + 110: [0, 0.43056, 0.07671, 0, 0.56222], + 111: [0, 0.43056, 0.06312, 0, 0.51111], + 112: [0.19444, 0.43056, 0.06312, 0, 0.51111], + 113: [0.19444, 0.43056, 0.08847, 0, 0.46], + 114: [0, 0.43056, 0.10764, 0, 0.42166], + 115: [0, 0.43056, 0.08208, 0, 0.40889], + 116: [0, 0.61508, 0.09486, 0, 0.33222], + 117: [0, 0.43056, 0.07671, 0, 0.53666], + 118: [0, 0.43056, 0.10764, 0, 0.46], + 119: [0, 0.43056, 0.10764, 0, 0.66444], + 120: [0, 0.43056, 0.12042, 0, 0.46389], + 121: [0.19444, 0.43056, 0.08847, 0, 0.48555], + 122: [0, 0.43056, 0.12292, 0, 0.40889], + 126: [0.35, 0.31786, 0.11585, 0, 0.51111], + 160: [0, 0, 0, 0, 0.25], + 168: [0, 0.66786, 0.10474, 0, 0.51111], + 176: [0, 0.69444, 0, 0, 0.83129], + 184: [0.17014, 0, 0, 0, 0.46], + 198: [0, 0.68333, 0.12028, 0, 0.88277], + 216: [0.04861, 0.73194, 0.09403, 0, 0.76666], + 223: [0.19444, 0.69444, 0.10514, 0, 0.53666], + 230: [0, 0.43056, 0.07514, 0, 0.71555], + 248: [0.09722, 0.52778, 0.09194, 0, 0.51111], + 338: [0, 0.68333, 0.12028, 0, 0.98499], + 339: [0, 0.43056, 0.07514, 0, 0.71555], + 710: [0, 0.69444, 0.06646, 0, 0.51111], + 711: [0, 0.62847, 0.08295, 0, 0.51111], + 713: [0, 0.56167, 0.10333, 0, 0.51111], + 714: [0, 0.69444, 0.09694, 0, 0.51111], + 715: [0, 0.69444, 0, 0, 0.51111], + 728: [0, 0.69444, 0.10806, 0, 0.51111], + 729: [0, 0.66786, 0.11752, 0, 0.30667], + 730: [0, 0.69444, 0, 0, 0.83129], + 732: [0, 0.66786, 0.11585, 0, 0.51111], + 733: [0, 0.69444, 0.1225, 0, 0.51111], + 915: [0, 0.68333, 0.13305, 0, 0.62722], + 916: [0, 0.68333, 0, 0, 0.81777], + 920: [0, 0.68333, 0.09403, 0, 0.76666], + 923: [0, 0.68333, 0, 0, 0.69222], + 926: [0, 0.68333, 0.15294, 0, 0.66444], + 928: [0, 0.68333, 0.16389, 0, 0.74333], + 931: [0, 0.68333, 0.12028, 0, 0.71555], + 933: [0, 0.68333, 0.11111, 0, 0.76666], + 934: [0, 0.68333, 0.05986, 0, 0.71555], + 936: [0, 0.68333, 0.11111, 0, 0.76666], + 937: [0, 0.68333, 0.10257, 0, 0.71555], + 8211: [0, 0.43056, 0.09208, 0, 0.51111], + 8212: [0, 0.43056, 0.09208, 0, 1.02222], + 8216: [0, 0.69444, 0.12417, 0, 0.30667], + 8217: [0, 0.69444, 0.12417, 0, 0.30667], + 8220: [0, 0.69444, 0.1685, 0, 0.51444], + 8221: [0, 0.69444, 0.06961, 0, 0.51444], + 8463: [0, 0.68889, 0, 0, 0.54028] + }, + 'Main-Regular': { + 32: [0, 0, 0, 0, 0.25], + 33: [0, 0.69444, 0, 0, 0.27778], + 34: [0, 0.69444, 0, 0, 0.5], + 35: [0.19444, 0.69444, 0, 0, 0.83334], + 36: [0.05556, 0.75, 0, 0, 0.5], + 37: [0.05556, 0.75, 0, 0, 0.83334], + 38: [0, 0.69444, 0, 0, 0.77778], + 39: [0, 0.69444, 0, 0, 0.27778], + 40: [0.25, 0.75, 0, 0, 0.38889], + 41: [0.25, 0.75, 0, 0, 0.38889], + 42: [0, 0.75, 0, 0, 0.5], + 43: [0.08333, 0.58333, 0, 0, 0.77778], + 44: [0.19444, 0.10556, 0, 0, 0.27778], + 45: [0, 0.43056, 0, 0, 0.33333], + 46: [0, 0.10556, 0, 0, 0.27778], + 47: [0.25, 0.75, 0, 0, 0.5], + 48: [0, 0.64444, 0, 0, 0.5], + 49: [0, 0.64444, 0, 0, 0.5], + 50: [0, 0.64444, 0, 0, 0.5], + 51: [0, 0.64444, 0, 0, 0.5], + 52: [0, 0.64444, 0, 0, 0.5], + 53: [0, 0.64444, 0, 0, 0.5], + 54: [0, 0.64444, 0, 0, 0.5], + 55: [0, 0.64444, 0, 0, 0.5], + 56: [0, 0.64444, 0, 0, 0.5], + 57: [0, 0.64444, 0, 0, 0.5], + 58: [0, 0.43056, 0, 0, 0.27778], + 59: [0.19444, 0.43056, 0, 0, 0.27778], + 60: [0.0391, 0.5391, 0, 0, 0.77778], + 61: [-0.13313, 0.36687, 0, 0, 0.77778], + 62: [0.0391, 0.5391, 0, 0, 0.77778], + 63: [0, 0.69444, 0, 0, 0.47222], + 64: [0, 0.69444, 0, 0, 0.77778], + 65: [0, 0.68333, 0, 0, 0.75], + 66: [0, 0.68333, 0, 0, 0.70834], + 67: [0, 0.68333, 0, 0, 0.72222], + 68: [0, 0.68333, 0, 0, 0.76389], + 69: [0, 0.68333, 0, 0, 0.68056], + 70: [0, 0.68333, 0, 0, 0.65278], + 71: [0, 0.68333, 0, 0, 0.78472], + 72: [0, 0.68333, 0, 0, 0.75], + 73: [0, 0.68333, 0, 0, 0.36111], + 74: [0, 0.68333, 0, 0, 0.51389], + 75: [0, 0.68333, 0, 0, 0.77778], + 76: [0, 0.68333, 0, 0, 0.625], + 77: [0, 0.68333, 0, 0, 0.91667], + 78: [0, 0.68333, 0, 0, 0.75], + 79: [0, 0.68333, 0, 0, 0.77778], + 80: [0, 0.68333, 0, 0, 0.68056], + 81: [0.19444, 0.68333, 0, 0, 0.77778], + 82: [0, 0.68333, 0, 0, 0.73611], + 83: [0, 0.68333, 0, 0, 0.55556], + 84: [0, 0.68333, 0, 0, 0.72222], + 85: [0, 0.68333, 0, 0, 0.75], + 86: [0, 0.68333, 0.01389, 0, 0.75], + 87: [0, 0.68333, 0.01389, 0, 1.02778], + 88: [0, 0.68333, 0, 0, 0.75], + 89: [0, 0.68333, 0.025, 0, 0.75], + 90: [0, 0.68333, 0, 0, 0.61111], + 91: [0.25, 0.75, 0, 0, 0.27778], + 92: [0.25, 0.75, 0, 0, 0.5], + 93: [0.25, 0.75, 0, 0, 0.27778], + 94: [0, 0.69444, 0, 0, 0.5], + 95: [0.31, 0.12056, 0.02778, 0, 0.5], + 97: [0, 0.43056, 0, 0, 0.5], + 98: [0, 0.69444, 0, 0, 0.55556], + 99: [0, 0.43056, 0, 0, 0.44445], + 100: [0, 0.69444, 0, 0, 0.55556], + 101: [0, 0.43056, 0, 0, 0.44445], + 102: [0, 0.69444, 0.07778, 0, 0.30556], + 103: [0.19444, 0.43056, 0.01389, 0, 0.5], + 104: [0, 0.69444, 0, 0, 0.55556], + 105: [0, 0.66786, 0, 0, 0.27778], + 106: [0.19444, 0.66786, 0, 0, 0.30556], + 107: [0, 0.69444, 0, 0, 0.52778], + 108: [0, 0.69444, 0, 0, 0.27778], + 109: [0, 0.43056, 0, 0, 0.83334], + 110: [0, 0.43056, 0, 0, 0.55556], + 111: [0, 0.43056, 0, 0, 0.5], + 112: [0.19444, 0.43056, 0, 0, 0.55556], + 113: [0.19444, 0.43056, 0, 0, 0.52778], + 114: [0, 0.43056, 0, 0, 0.39167], + 115: [0, 0.43056, 0, 0, 0.39445], + 116: [0, 0.61508, 0, 0, 0.38889], + 117: [0, 0.43056, 0, 0, 0.55556], + 118: [0, 0.43056, 0.01389, 0, 0.52778], + 119: [0, 0.43056, 0.01389, 0, 0.72222], + 120: [0, 0.43056, 0, 0, 0.52778], + 121: [0.19444, 0.43056, 0.01389, 0, 0.52778], + 122: [0, 0.43056, 0, 0, 0.44445], + 123: [0.25, 0.75, 0, 0, 0.5], + 124: [0.25, 0.75, 0, 0, 0.27778], + 125: [0.25, 0.75, 0, 0, 0.5], + 126: [0.35, 0.31786, 0, 0, 0.5], + 160: [0, 0, 0, 0, 0.25], + 163: [0, 0.69444, 0, 0, 0.76909], + 167: [0.19444, 0.69444, 0, 0, 0.44445], + 168: [0, 0.66786, 0, 0, 0.5], + 172: [0, 0.43056, 0, 0, 0.66667], + 176: [0, 0.69444, 0, 0, 0.75], + 177: [0.08333, 0.58333, 0, 0, 0.77778], + 182: [0.19444, 0.69444, 0, 0, 0.61111], + 184: [0.17014, 0, 0, 0, 0.44445], + 198: [0, 0.68333, 0, 0, 0.90278], + 215: [0.08333, 0.58333, 0, 0, 0.77778], + 216: [0.04861, 0.73194, 0, 0, 0.77778], + 223: [0, 0.69444, 0, 0, 0.5], + 230: [0, 0.43056, 0, 0, 0.72222], + 247: [0.08333, 0.58333, 0, 0, 0.77778], + 248: [0.09722, 0.52778, 0, 0, 0.5], + 305: [0, 0.43056, 0, 0, 0.27778], + 338: [0, 0.68333, 0, 0, 1.01389], + 339: [0, 0.43056, 0, 0, 0.77778], + 567: [0.19444, 0.43056, 0, 0, 0.30556], + 710: [0, 0.69444, 0, 0, 0.5], + 711: [0, 0.62847, 0, 0, 0.5], + 713: [0, 0.56778, 0, 0, 0.5], + 714: [0, 0.69444, 0, 0, 0.5], + 715: [0, 0.69444, 0, 0, 0.5], + 728: [0, 0.69444, 0, 0, 0.5], + 729: [0, 0.66786, 0, 0, 0.27778], + 730: [0, 0.69444, 0, 0, 0.75], + 732: [0, 0.66786, 0, 0, 0.5], + 733: [0, 0.69444, 0, 0, 0.5], + 915: [0, 0.68333, 0, 0, 0.625], + 916: [0, 0.68333, 0, 0, 0.83334], + 920: [0, 0.68333, 0, 0, 0.77778], + 923: [0, 0.68333, 0, 0, 0.69445], + 926: [0, 0.68333, 0, 0, 0.66667], + 928: [0, 0.68333, 0, 0, 0.75], + 931: [0, 0.68333, 0, 0, 0.72222], + 933: [0, 0.68333, 0, 0, 0.77778], + 934: [0, 0.68333, 0, 0, 0.72222], + 936: [0, 0.68333, 0, 0, 0.77778], + 937: [0, 0.68333, 0, 0, 0.72222], + 8211: [0, 0.43056, 0.02778, 0, 0.5], + 8212: [0, 0.43056, 0.02778, 0, 1], + 8216: [0, 0.69444, 0, 0, 0.27778], + 8217: [0, 0.69444, 0, 0, 0.27778], + 8220: [0, 0.69444, 0, 0, 0.5], + 8221: [0, 0.69444, 0, 0, 0.5], + 8224: [0.19444, 0.69444, 0, 0, 0.44445], + 8225: [0.19444, 0.69444, 0, 0, 0.44445], + 8230: [0, 0.123, 0, 0, 1.172], + 8242: [0, 0.55556, 0, 0, 0.275], + 8407: [0, 0.71444, 0.15382, 0, 0.5], + 8463: [0, 0.68889, 0, 0, 0.54028], + 8465: [0, 0.69444, 0, 0, 0.72222], + 8467: [0, 0.69444, 0, 0.11111, 0.41667], + 8472: [0.19444, 0.43056, 0, 0.11111, 0.63646], + 8476: [0, 0.69444, 0, 0, 0.72222], + 8501: [0, 0.69444, 0, 0, 0.61111], + 8592: [-0.13313, 0.36687, 0, 0, 1], + 8593: [0.19444, 0.69444, 0, 0, 0.5], + 8594: [-0.13313, 0.36687, 0, 0, 1], + 8595: [0.19444, 0.69444, 0, 0, 0.5], + 8596: [-0.13313, 0.36687, 0, 0, 1], + 8597: [0.25, 0.75, 0, 0, 0.5], + 8598: [0.19444, 0.69444, 0, 0, 1], + 8599: [0.19444, 0.69444, 0, 0, 1], + 8600: [0.19444, 0.69444, 0, 0, 1], + 8601: [0.19444, 0.69444, 0, 0, 1], + 8614: [0.011, 0.511, 0, 0, 1], + 8617: [0.011, 0.511, 0, 0, 1.126], + 8618: [0.011, 0.511, 0, 0, 1.126], + 8636: [-0.13313, 0.36687, 0, 0, 1], + 8637: [-0.13313, 0.36687, 0, 0, 1], + 8640: [-0.13313, 0.36687, 0, 0, 1], + 8641: [-0.13313, 0.36687, 0, 0, 1], + 8652: [0.011, 0.671, 0, 0, 1], + 8656: [-0.13313, 0.36687, 0, 0, 1], + 8657: [0.19444, 0.69444, 0, 0, 0.61111], + 8658: [-0.13313, 0.36687, 0, 0, 1], + 8659: [0.19444, 0.69444, 0, 0, 0.61111], + 8660: [-0.13313, 0.36687, 0, 0, 1], + 8661: [0.25, 0.75, 0, 0, 0.61111], + 8704: [0, 0.69444, 0, 0, 0.55556], + 8706: [0, 0.69444, 0.05556, 0.08334, 0.5309], + 8707: [0, 0.69444, 0, 0, 0.55556], + 8709: [0.05556, 0.75, 0, 0, 0.5], + 8711: [0, 0.68333, 0, 0, 0.83334], + 8712: [0.0391, 0.5391, 0, 0, 0.66667], + 8715: [0.0391, 0.5391, 0, 0, 0.66667], + 8722: [0.08333, 0.58333, 0, 0, 0.77778], + 8723: [0.08333, 0.58333, 0, 0, 0.77778], + 8725: [0.25, 0.75, 0, 0, 0.5], + 8726: [0.25, 0.75, 0, 0, 0.5], + 8727: [-0.03472, 0.46528, 0, 0, 0.5], + 8728: [-0.05555, 0.44445, 0, 0, 0.5], + 8729: [-0.05555, 0.44445, 0, 0, 0.5], + 8730: [0.2, 0.8, 0, 0, 0.83334], + 8733: [0, 0.43056, 0, 0, 0.77778], + 8734: [0, 0.43056, 0, 0, 1], + 8736: [0, 0.69224, 0, 0, 0.72222], + 8739: [0.25, 0.75, 0, 0, 0.27778], + 8741: [0.25, 0.75, 0, 0, 0.5], + 8743: [0, 0.55556, 0, 0, 0.66667], + 8744: [0, 0.55556, 0, 0, 0.66667], + 8745: [0, 0.55556, 0, 0, 0.66667], + 8746: [0, 0.55556, 0, 0, 0.66667], + 8747: [0.19444, 0.69444, 0.11111, 0, 0.41667], + 8764: [-0.13313, 0.36687, 0, 0, 0.77778], + 8768: [0.19444, 0.69444, 0, 0, 0.27778], + 8771: [-0.03625, 0.46375, 0, 0, 0.77778], + 8773: [-0.022, 0.589, 0, 0, 0.778], + 8776: [-0.01688, 0.48312, 0, 0, 0.77778], + 8781: [-0.03625, 0.46375, 0, 0, 0.77778], + 8784: [-0.133, 0.673, 0, 0, 0.778], + 8801: [-0.03625, 0.46375, 0, 0, 0.77778], + 8804: [0.13597, 0.63597, 0, 0, 0.77778], + 8805: [0.13597, 0.63597, 0, 0, 0.77778], + 8810: [0.0391, 0.5391, 0, 0, 1], + 8811: [0.0391, 0.5391, 0, 0, 1], + 8826: [0.0391, 0.5391, 0, 0, 0.77778], + 8827: [0.0391, 0.5391, 0, 0, 0.77778], + 8834: [0.0391, 0.5391, 0, 0, 0.77778], + 8835: [0.0391, 0.5391, 0, 0, 0.77778], + 8838: [0.13597, 0.63597, 0, 0, 0.77778], + 8839: [0.13597, 0.63597, 0, 0, 0.77778], + 8846: [0, 0.55556, 0, 0, 0.66667], + 8849: [0.13597, 0.63597, 0, 0, 0.77778], + 8850: [0.13597, 0.63597, 0, 0, 0.77778], + 8851: [0, 0.55556, 0, 0, 0.66667], + 8852: [0, 0.55556, 0, 0, 0.66667], + 8853: [0.08333, 0.58333, 0, 0, 0.77778], + 8854: [0.08333, 0.58333, 0, 0, 0.77778], + 8855: [0.08333, 0.58333, 0, 0, 0.77778], + 8856: [0.08333, 0.58333, 0, 0, 0.77778], + 8857: [0.08333, 0.58333, 0, 0, 0.77778], + 8866: [0, 0.69444, 0, 0, 0.61111], + 8867: [0, 0.69444, 0, 0, 0.61111], + 8868: [0, 0.69444, 0, 0, 0.77778], + 8869: [0, 0.69444, 0, 0, 0.77778], + 8872: [0.249, 0.75, 0, 0, 0.867], + 8900: [-0.05555, 0.44445, 0, 0, 0.5], + 8901: [-0.05555, 0.44445, 0, 0, 0.27778], + 8902: [-0.03472, 0.46528, 0, 0, 0.5], + 8904: [0.005, 0.505, 0, 0, 0.9], + 8942: [0.03, 0.903, 0, 0, 0.278], + 8943: [-0.19, 0.313, 0, 0, 1.172], + 8945: [-0.1, 0.823, 0, 0, 1.282], + 8968: [0.25, 0.75, 0, 0, 0.44445], + 8969: [0.25, 0.75, 0, 0, 0.44445], + 8970: [0.25, 0.75, 0, 0, 0.44445], + 8971: [0.25, 0.75, 0, 0, 0.44445], + 8994: [-0.14236, 0.35764, 0, 0, 1], + 8995: [-0.14236, 0.35764, 0, 0, 1], + 9136: [0.244, 0.744, 0, 0, 0.412], + 9137: [0.244, 0.745, 0, 0, 0.412], + 9651: [0.19444, 0.69444, 0, 0, 0.88889], + 9657: [-0.03472, 0.46528, 0, 0, 0.5], + 9661: [0.19444, 0.69444, 0, 0, 0.88889], + 9667: [-0.03472, 0.46528, 0, 0, 0.5], + 9711: [0.19444, 0.69444, 0, 0, 1], + 9824: [0.12963, 0.69444, 0, 0, 0.77778], + 9825: [0.12963, 0.69444, 0, 0, 0.77778], + 9826: [0.12963, 0.69444, 0, 0, 0.77778], + 9827: [0.12963, 0.69444, 0, 0, 0.77778], + 9837: [0, 0.75, 0, 0, 0.38889], + 9838: [0.19444, 0.69444, 0, 0, 0.38889], + 9839: [0.19444, 0.69444, 0, 0, 0.38889], + 10216: [0.25, 0.75, 0, 0, 0.38889], + 10217: [0.25, 0.75, 0, 0, 0.38889], + 10222: [0.244, 0.744, 0, 0, 0.412], + 10223: [0.244, 0.745, 0, 0, 0.412], + 10229: [0.011, 0.511, 0, 0, 1.609], + 10230: [0.011, 0.511, 0, 0, 1.638], + 10231: [0.011, 0.511, 0, 0, 1.859], + 10232: [0.024, 0.525, 0, 0, 1.609], + 10233: [0.024, 0.525, 0, 0, 1.638], + 10234: [0.024, 0.525, 0, 0, 1.858], + 10236: [0.011, 0.511, 0, 0, 1.638], + 10815: [0, 0.68333, 0, 0, 0.75], + 10927: [0.13597, 0.63597, 0, 0, 0.77778], + 10928: [0.13597, 0.63597, 0, 0, 0.77778], + 57376: [0.19444, 0.69444, 0, 0, 0] + }, + 'Math-BoldItalic': { + 32: [0, 0, 0, 0, 0.25], + 48: [0, 0.44444, 0, 0, 0.575], + 49: [0, 0.44444, 0, 0, 0.575], + 50: [0, 0.44444, 0, 0, 0.575], + 51: [0.19444, 0.44444, 0, 0, 0.575], + 52: [0.19444, 0.44444, 0, 0, 0.575], + 53: [0.19444, 0.44444, 0, 0, 0.575], + 54: [0, 0.64444, 0, 0, 0.575], + 55: [0.19444, 0.44444, 0, 0, 0.575], + 56: [0, 0.64444, 0, 0, 0.575], + 57: [0.19444, 0.44444, 0, 0, 0.575], + 65: [0, 0.68611, 0, 0, 0.86944], + 66: [0, 0.68611, 0.04835, 0, 0.8664], + 67: [0, 0.68611, 0.06979, 0, 0.81694], + 68: [0, 0.68611, 0.03194, 0, 0.93812], + 69: [0, 0.68611, 0.05451, 0, 0.81007], + 70: [0, 0.68611, 0.15972, 0, 0.68889], + 71: [0, 0.68611, 0, 0, 0.88673], + 72: [0, 0.68611, 0.08229, 0, 0.98229], + 73: [0, 0.68611, 0.07778, 0, 0.51111], + 74: [0, 0.68611, 0.10069, 0, 0.63125], + 75: [0, 0.68611, 0.06979, 0, 0.97118], + 76: [0, 0.68611, 0, 0, 0.75555], + 77: [0, 0.68611, 0.11424, 0, 1.14201], + 78: [0, 0.68611, 0.11424, 0, 0.95034], + 79: [0, 0.68611, 0.03194, 0, 0.83666], + 80: [0, 0.68611, 0.15972, 0, 0.72309], + 81: [0.19444, 0.68611, 0, 0, 0.86861], + 82: [0, 0.68611, 0.00421, 0, 0.87235], + 83: [0, 0.68611, 0.05382, 0, 0.69271], + 84: [0, 0.68611, 0.15972, 0, 0.63663], + 85: [0, 0.68611, 0.11424, 0, 0.80027], + 86: [0, 0.68611, 0.25555, 0, 0.67778], + 87: [0, 0.68611, 0.15972, 0, 1.09305], + 88: [0, 0.68611, 0.07778, 0, 0.94722], + 89: [0, 0.68611, 0.25555, 0, 0.67458], + 90: [0, 0.68611, 0.06979, 0, 0.77257], + 97: [0, 0.44444, 0, 0, 0.63287], + 98: [0, 0.69444, 0, 0, 0.52083], + 99: [0, 0.44444, 0, 0, 0.51342], + 100: [0, 0.69444, 0, 0, 0.60972], + 101: [0, 0.44444, 0, 0, 0.55361], + 102: [0.19444, 0.69444, 0.11042, 0, 0.56806], + 103: [0.19444, 0.44444, 0.03704, 0, 0.5449], + 104: [0, 0.69444, 0, 0, 0.66759], + 105: [0, 0.69326, 0, 0, 0.4048], + 106: [0.19444, 0.69326, 0.0622, 0, 0.47083], + 107: [0, 0.69444, 0.01852, 0, 0.6037], + 108: [0, 0.69444, 0.0088, 0, 0.34815], + 109: [0, 0.44444, 0, 0, 1.0324], + 110: [0, 0.44444, 0, 0, 0.71296], + 111: [0, 0.44444, 0, 0, 0.58472], + 112: [0.19444, 0.44444, 0, 0, 0.60092], + 113: [0.19444, 0.44444, 0.03704, 0, 0.54213], + 114: [0, 0.44444, 0.03194, 0, 0.5287], + 115: [0, 0.44444, 0, 0, 0.53125], + 116: [0, 0.63492, 0, 0, 0.41528], + 117: [0, 0.44444, 0, 0, 0.68102], + 118: [0, 0.44444, 0.03704, 0, 0.56666], + 119: [0, 0.44444, 0.02778, 0, 0.83148], + 120: [0, 0.44444, 0, 0, 0.65903], + 121: [0.19444, 0.44444, 0.03704, 0, 0.59028], + 122: [0, 0.44444, 0.04213, 0, 0.55509], + 160: [0, 0, 0, 0, 0.25], + 915: [0, 0.68611, 0.15972, 0, 0.65694], + 916: [0, 0.68611, 0, 0, 0.95833], + 920: [0, 0.68611, 0.03194, 0, 0.86722], + 923: [0, 0.68611, 0, 0, 0.80555], + 926: [0, 0.68611, 0.07458, 0, 0.84125], + 928: [0, 0.68611, 0.08229, 0, 0.98229], + 931: [0, 0.68611, 0.05451, 0, 0.88507], + 933: [0, 0.68611, 0.15972, 0, 0.67083], + 934: [0, 0.68611, 0, 0, 0.76666], + 936: [0, 0.68611, 0.11653, 0, 0.71402], + 937: [0, 0.68611, 0.04835, 0, 0.8789], + 945: [0, 0.44444, 0, 0, 0.76064], + 946: [0.19444, 0.69444, 0.03403, 0, 0.65972], + 947: [0.19444, 0.44444, 0.06389, 0, 0.59003], + 948: [0, 0.69444, 0.03819, 0, 0.52222], + 949: [0, 0.44444, 0, 0, 0.52882], + 950: [0.19444, 0.69444, 0.06215, 0, 0.50833], + 951: [0.19444, 0.44444, 0.03704, 0, 0.6], + 952: [0, 0.69444, 0.03194, 0, 0.5618], + 953: [0, 0.44444, 0, 0, 0.41204], + 954: [0, 0.44444, 0, 0, 0.66759], + 955: [0, 0.69444, 0, 0, 0.67083], + 956: [0.19444, 0.44444, 0, 0, 0.70787], + 957: [0, 0.44444, 0.06898, 0, 0.57685], + 958: [0.19444, 0.69444, 0.03021, 0, 0.50833], + 959: [0, 0.44444, 0, 0, 0.58472], + 960: [0, 0.44444, 0.03704, 0, 0.68241], + 961: [0.19444, 0.44444, 0, 0, 0.6118], + 962: [0.09722, 0.44444, 0.07917, 0, 0.42361], + 963: [0, 0.44444, 0.03704, 0, 0.68588], + 964: [0, 0.44444, 0.13472, 0, 0.52083], + 965: [0, 0.44444, 0.03704, 0, 0.63055], + 966: [0.19444, 0.44444, 0, 0, 0.74722], + 967: [0.19444, 0.44444, 0, 0, 0.71805], + 968: [0.19444, 0.69444, 0.03704, 0, 0.75833], + 969: [0, 0.44444, 0.03704, 0, 0.71782], + 977: [0, 0.69444, 0, 0, 0.69155], + 981: [0.19444, 0.69444, 0, 0, 0.7125], + 982: [0, 0.44444, 0.03194, 0, 0.975], + 1009: [0.19444, 0.44444, 0, 0, 0.6118], + 1013: [0, 0.44444, 0, 0, 0.48333], + 57649: [0, 0.44444, 0, 0, 0.39352], + 57911: [0.19444, 0.44444, 0, 0, 0.43889] + }, + 'Math-Italic': { + 32: [0, 0, 0, 0, 0.25], + 48: [0, 0.43056, 0, 0, 0.5], + 49: [0, 0.43056, 0, 0, 0.5], + 50: [0, 0.43056, 0, 0, 0.5], + 51: [0.19444, 0.43056, 0, 0, 0.5], + 52: [0.19444, 0.43056, 0, 0, 0.5], + 53: [0.19444, 0.43056, 0, 0, 0.5], + 54: [0, 0.64444, 0, 0, 0.5], + 55: [0.19444, 0.43056, 0, 0, 0.5], + 56: [0, 0.64444, 0, 0, 0.5], + 57: [0.19444, 0.43056, 0, 0, 0.5], + 65: [0, 0.68333, 0, 0.13889, 0.75], + 66: [0, 0.68333, 0.05017, 0.08334, 0.75851], + 67: [0, 0.68333, 0.07153, 0.08334, 0.71472], + 68: [0, 0.68333, 0.02778, 0.05556, 0.82792], + 69: [0, 0.68333, 0.05764, 0.08334, 0.7382], + 70: [0, 0.68333, 0.13889, 0.08334, 0.64306], + 71: [0, 0.68333, 0, 0.08334, 0.78625], + 72: [0, 0.68333, 0.08125, 0.05556, 0.83125], + 73: [0, 0.68333, 0.07847, 0.11111, 0.43958], + 74: [0, 0.68333, 0.09618, 0.16667, 0.55451], + 75: [0, 0.68333, 0.07153, 0.05556, 0.84931], + 76: [0, 0.68333, 0, 0.02778, 0.68056], + 77: [0, 0.68333, 0.10903, 0.08334, 0.97014], + 78: [0, 0.68333, 0.10903, 0.08334, 0.80347], + 79: [0, 0.68333, 0.02778, 0.08334, 0.76278], + 80: [0, 0.68333, 0.13889, 0.08334, 0.64201], + 81: [0.19444, 0.68333, 0, 0.08334, 0.79056], + 82: [0, 0.68333, 0.00773, 0.08334, 0.75929], + 83: [0, 0.68333, 0.05764, 0.08334, 0.6132], + 84: [0, 0.68333, 0.13889, 0.08334, 0.58438], + 85: [0, 0.68333, 0.10903, 0.02778, 0.68278], + 86: [0, 0.68333, 0.22222, 0, 0.58333], + 87: [0, 0.68333, 0.13889, 0, 0.94445], + 88: [0, 0.68333, 0.07847, 0.08334, 0.82847], + 89: [0, 0.68333, 0.22222, 0, 0.58056], + 90: [0, 0.68333, 0.07153, 0.08334, 0.68264], + 97: [0, 0.43056, 0, 0, 0.52859], + 98: [0, 0.69444, 0, 0, 0.42917], + 99: [0, 0.43056, 0, 0.05556, 0.43276], + 100: [0, 0.69444, 0, 0.16667, 0.52049], + 101: [0, 0.43056, 0, 0.05556, 0.46563], + 102: [0.19444, 0.69444, 0.10764, 0.16667, 0.48959], + 103: [0.19444, 0.43056, 0.03588, 0.02778, 0.47697], + 104: [0, 0.69444, 0, 0, 0.57616], + 105: [0, 0.65952, 0, 0, 0.34451], + 106: [0.19444, 0.65952, 0.05724, 0, 0.41181], + 107: [0, 0.69444, 0.03148, 0, 0.5206], + 108: [0, 0.69444, 0.01968, 0.08334, 0.29838], + 109: [0, 0.43056, 0, 0, 0.87801], + 110: [0, 0.43056, 0, 0, 0.60023], + 111: [0, 0.43056, 0, 0.05556, 0.48472], + 112: [0.19444, 0.43056, 0, 0.08334, 0.50313], + 113: [0.19444, 0.43056, 0.03588, 0.08334, 0.44641], + 114: [0, 0.43056, 0.02778, 0.05556, 0.45116], + 115: [0, 0.43056, 0, 0.05556, 0.46875], + 116: [0, 0.61508, 0, 0.08334, 0.36111], + 117: [0, 0.43056, 0, 0.02778, 0.57246], + 118: [0, 0.43056, 0.03588, 0.02778, 0.48472], + 119: [0, 0.43056, 0.02691, 0.08334, 0.71592], + 120: [0, 0.43056, 0, 0.02778, 0.57153], + 121: [0.19444, 0.43056, 0.03588, 0.05556, 0.49028], + 122: [0, 0.43056, 0.04398, 0.05556, 0.46505], + 160: [0, 0, 0, 0, 0.25], + 915: [0, 0.68333, 0.13889, 0.08334, 0.61528], + 916: [0, 0.68333, 0, 0.16667, 0.83334], + 920: [0, 0.68333, 0.02778, 0.08334, 0.76278], + 923: [0, 0.68333, 0, 0.16667, 0.69445], + 926: [0, 0.68333, 0.07569, 0.08334, 0.74236], + 928: [0, 0.68333, 0.08125, 0.05556, 0.83125], + 931: [0, 0.68333, 0.05764, 0.08334, 0.77986], + 933: [0, 0.68333, 0.13889, 0.05556, 0.58333], + 934: [0, 0.68333, 0, 0.08334, 0.66667], + 936: [0, 0.68333, 0.11, 0.05556, 0.61222], + 937: [0, 0.68333, 0.05017, 0.08334, 0.7724], + 945: [0, 0.43056, 0.0037, 0.02778, 0.6397], + 946: [0.19444, 0.69444, 0.05278, 0.08334, 0.56563], + 947: [0.19444, 0.43056, 0.05556, 0, 0.51773], + 948: [0, 0.69444, 0.03785, 0.05556, 0.44444], + 949: [0, 0.43056, 0, 0.08334, 0.46632], + 950: [0.19444, 0.69444, 0.07378, 0.08334, 0.4375], + 951: [0.19444, 0.43056, 0.03588, 0.05556, 0.49653], + 952: [0, 0.69444, 0.02778, 0.08334, 0.46944], + 953: [0, 0.43056, 0, 0.05556, 0.35394], + 954: [0, 0.43056, 0, 0, 0.57616], + 955: [0, 0.69444, 0, 0, 0.58334], + 956: [0.19444, 0.43056, 0, 0.02778, 0.60255], + 957: [0, 0.43056, 0.06366, 0.02778, 0.49398], + 958: [0.19444, 0.69444, 0.04601, 0.11111, 0.4375], + 959: [0, 0.43056, 0, 0.05556, 0.48472], + 960: [0, 0.43056, 0.03588, 0, 0.57003], + 961: [0.19444, 0.43056, 0, 0.08334, 0.51702], + 962: [0.09722, 0.43056, 0.07986, 0.08334, 0.36285], + 963: [0, 0.43056, 0.03588, 0, 0.57141], + 964: [0, 0.43056, 0.1132, 0.02778, 0.43715], + 965: [0, 0.43056, 0.03588, 0.02778, 0.54028], + 966: [0.19444, 0.43056, 0, 0.08334, 0.65417], + 967: [0.19444, 0.43056, 0, 0.05556, 0.62569], + 968: [0.19444, 0.69444, 0.03588, 0.11111, 0.65139], + 969: [0, 0.43056, 0.03588, 0, 0.62245], + 977: [0, 0.69444, 0, 0.08334, 0.59144], + 981: [0.19444, 0.69444, 0, 0.08334, 0.59583], + 982: [0, 0.43056, 0.02778, 0, 0.82813], + 1009: [0.19444, 0.43056, 0, 0.08334, 0.51702], + 1013: [0, 0.43056, 0, 0.05556, 0.4059], + 57649: [0, 0.43056, 0, 0.02778, 0.32246], + 57911: [0.19444, 0.43056, 0, 0.08334, 0.38403] + }, + 'SansSerif-Bold': { + 32: [0, 0, 0, 0, 0.25], + 33: [0, 0.69444, 0, 0, 0.36667], + 34: [0, 0.69444, 0, 0, 0.55834], + 35: [0.19444, 0.69444, 0, 0, 0.91667], + 36: [0.05556, 0.75, 0, 0, 0.55], + 37: [0.05556, 0.75, 0, 0, 1.02912], + 38: [0, 0.69444, 0, 0, 0.83056], + 39: [0, 0.69444, 0, 0, 0.30556], + 40: [0.25, 0.75, 0, 0, 0.42778], + 41: [0.25, 0.75, 0, 0, 0.42778], + 42: [0, 0.75, 0, 0, 0.55], + 43: [0.11667, 0.61667, 0, 0, 0.85556], + 44: [0.10556, 0.13056, 0, 0, 0.30556], + 45: [0, 0.45833, 0, 0, 0.36667], + 46: [0, 0.13056, 0, 0, 0.30556], + 47: [0.25, 0.75, 0, 0, 0.55], + 48: [0, 0.69444, 0, 0, 0.55], + 49: [0, 0.69444, 0, 0, 0.55], + 50: [0, 0.69444, 0, 0, 0.55], + 51: [0, 0.69444, 0, 0, 0.55], + 52: [0, 0.69444, 0, 0, 0.55], + 53: [0, 0.69444, 0, 0, 0.55], + 54: [0, 0.69444, 0, 0, 0.55], + 55: [0, 0.69444, 0, 0, 0.55], + 56: [0, 0.69444, 0, 0, 0.55], + 57: [0, 0.69444, 0, 0, 0.55], + 58: [0, 0.45833, 0, 0, 0.30556], + 59: [0.10556, 0.45833, 0, 0, 0.30556], + 61: [-0.09375, 0.40625, 0, 0, 0.85556], + 63: [0, 0.69444, 0, 0, 0.51945], + 64: [0, 0.69444, 0, 0, 0.73334], + 65: [0, 0.69444, 0, 0, 0.73334], + 66: [0, 0.69444, 0, 0, 0.73334], + 67: [0, 0.69444, 0, 0, 0.70278], + 68: [0, 0.69444, 0, 0, 0.79445], + 69: [0, 0.69444, 0, 0, 0.64167], + 70: [0, 0.69444, 0, 0, 0.61111], + 71: [0, 0.69444, 0, 0, 0.73334], + 72: [0, 0.69444, 0, 0, 0.79445], + 73: [0, 0.69444, 0, 0, 0.33056], + 74: [0, 0.69444, 0, 0, 0.51945], + 75: [0, 0.69444, 0, 0, 0.76389], + 76: [0, 0.69444, 0, 0, 0.58056], + 77: [0, 0.69444, 0, 0, 0.97778], + 78: [0, 0.69444, 0, 0, 0.79445], + 79: [0, 0.69444, 0, 0, 0.79445], + 80: [0, 0.69444, 0, 0, 0.70278], + 81: [0.10556, 0.69444, 0, 0, 0.79445], + 82: [0, 0.69444, 0, 0, 0.70278], + 83: [0, 0.69444, 0, 0, 0.61111], + 84: [0, 0.69444, 0, 0, 0.73334], + 85: [0, 0.69444, 0, 0, 0.76389], + 86: [0, 0.69444, 0.01528, 0, 0.73334], + 87: [0, 0.69444, 0.01528, 0, 1.03889], + 88: [0, 0.69444, 0, 0, 0.73334], + 89: [0, 0.69444, 0.0275, 0, 0.73334], + 90: [0, 0.69444, 0, 0, 0.67223], + 91: [0.25, 0.75, 0, 0, 0.34306], + 93: [0.25, 0.75, 0, 0, 0.34306], + 94: [0, 0.69444, 0, 0, 0.55], + 95: [0.35, 0.10833, 0.03056, 0, 0.55], + 97: [0, 0.45833, 0, 0, 0.525], + 98: [0, 0.69444, 0, 0, 0.56111], + 99: [0, 0.45833, 0, 0, 0.48889], + 100: [0, 0.69444, 0, 0, 0.56111], + 101: [0, 0.45833, 0, 0, 0.51111], + 102: [0, 0.69444, 0.07639, 0, 0.33611], + 103: [0.19444, 0.45833, 0.01528, 0, 0.55], + 104: [0, 0.69444, 0, 0, 0.56111], + 105: [0, 0.69444, 0, 0, 0.25556], + 106: [0.19444, 0.69444, 0, 0, 0.28611], + 107: [0, 0.69444, 0, 0, 0.53056], + 108: [0, 0.69444, 0, 0, 0.25556], + 109: [0, 0.45833, 0, 0, 0.86667], + 110: [0, 0.45833, 0, 0, 0.56111], + 111: [0, 0.45833, 0, 0, 0.55], + 112: [0.19444, 0.45833, 0, 0, 0.56111], + 113: [0.19444, 0.45833, 0, 0, 0.56111], + 114: [0, 0.45833, 0.01528, 0, 0.37222], + 115: [0, 0.45833, 0, 0, 0.42167], + 116: [0, 0.58929, 0, 0, 0.40417], + 117: [0, 0.45833, 0, 0, 0.56111], + 118: [0, 0.45833, 0.01528, 0, 0.5], + 119: [0, 0.45833, 0.01528, 0, 0.74445], + 120: [0, 0.45833, 0, 0, 0.5], + 121: [0.19444, 0.45833, 0.01528, 0, 0.5], + 122: [0, 0.45833, 0, 0, 0.47639], + 126: [0.35, 0.34444, 0, 0, 0.55], + 160: [0, 0, 0, 0, 0.25], + 168: [0, 0.69444, 0, 0, 0.55], + 176: [0, 0.69444, 0, 0, 0.73334], + 180: [0, 0.69444, 0, 0, 0.55], + 184: [0.17014, 0, 0, 0, 0.48889], + 305: [0, 0.45833, 0, 0, 0.25556], + 567: [0.19444, 0.45833, 0, 0, 0.28611], + 710: [0, 0.69444, 0, 0, 0.55], + 711: [0, 0.63542, 0, 0, 0.55], + 713: [0, 0.63778, 0, 0, 0.55], + 728: [0, 0.69444, 0, 0, 0.55], + 729: [0, 0.69444, 0, 0, 0.30556], + 730: [0, 0.69444, 0, 0, 0.73334], + 732: [0, 0.69444, 0, 0, 0.55], + 733: [0, 0.69444, 0, 0, 0.55], + 915: [0, 0.69444, 0, 0, 0.58056], + 916: [0, 0.69444, 0, 0, 0.91667], + 920: [0, 0.69444, 0, 0, 0.85556], + 923: [0, 0.69444, 0, 0, 0.67223], + 926: [0, 0.69444, 0, 0, 0.73334], + 928: [0, 0.69444, 0, 0, 0.79445], + 931: [0, 0.69444, 0, 0, 0.79445], + 933: [0, 0.69444, 0, 0, 0.85556], + 934: [0, 0.69444, 0, 0, 0.79445], + 936: [0, 0.69444, 0, 0, 0.85556], + 937: [0, 0.69444, 0, 0, 0.79445], + 8211: [0, 0.45833, 0.03056, 0, 0.55], + 8212: [0, 0.45833, 0.03056, 0, 1.10001], + 8216: [0, 0.69444, 0, 0, 0.30556], + 8217: [0, 0.69444, 0, 0, 0.30556], + 8220: [0, 0.69444, 0, 0, 0.55834], + 8221: [0, 0.69444, 0, 0, 0.55834] + }, + 'SansSerif-Italic': { + 32: [0, 0, 0, 0, 0.25], + 33: [0, 0.69444, 0.05733, 0, 0.31945], + 34: [0, 0.69444, 0.00316, 0, 0.5], + 35: [0.19444, 0.69444, 0.05087, 0, 0.83334], + 36: [0.05556, 0.75, 0.11156, 0, 0.5], + 37: [0.05556, 0.75, 0.03126, 0, 0.83334], + 38: [0, 0.69444, 0.03058, 0, 0.75834], + 39: [0, 0.69444, 0.07816, 0, 0.27778], + 40: [0.25, 0.75, 0.13164, 0, 0.38889], + 41: [0.25, 0.75, 0.02536, 0, 0.38889], + 42: [0, 0.75, 0.11775, 0, 0.5], + 43: [0.08333, 0.58333, 0.02536, 0, 0.77778], + 44: [0.125, 0.08333, 0, 0, 0.27778], + 45: [0, 0.44444, 0.01946, 0, 0.33333], + 46: [0, 0.08333, 0, 0, 0.27778], + 47: [0.25, 0.75, 0.13164, 0, 0.5], + 48: [0, 0.65556, 0.11156, 0, 0.5], + 49: [0, 0.65556, 0.11156, 0, 0.5], + 50: [0, 0.65556, 0.11156, 0, 0.5], + 51: [0, 0.65556, 0.11156, 0, 0.5], + 52: [0, 0.65556, 0.11156, 0, 0.5], + 53: [0, 0.65556, 0.11156, 0, 0.5], + 54: [0, 0.65556, 0.11156, 0, 0.5], + 55: [0, 0.65556, 0.11156, 0, 0.5], + 56: [0, 0.65556, 0.11156, 0, 0.5], + 57: [0, 0.65556, 0.11156, 0, 0.5], + 58: [0, 0.44444, 0.02502, 0, 0.27778], + 59: [0.125, 0.44444, 0.02502, 0, 0.27778], + 61: [-0.13, 0.37, 0.05087, 0, 0.77778], + 63: [0, 0.69444, 0.11809, 0, 0.47222], + 64: [0, 0.69444, 0.07555, 0, 0.66667], + 65: [0, 0.69444, 0, 0, 0.66667], + 66: [0, 0.69444, 0.08293, 0, 0.66667], + 67: [0, 0.69444, 0.11983, 0, 0.63889], + 68: [0, 0.69444, 0.07555, 0, 0.72223], + 69: [0, 0.69444, 0.11983, 0, 0.59722], + 70: [0, 0.69444, 0.13372, 0, 0.56945], + 71: [0, 0.69444, 0.11983, 0, 0.66667], + 72: [0, 0.69444, 0.08094, 0, 0.70834], + 73: [0, 0.69444, 0.13372, 0, 0.27778], + 74: [0, 0.69444, 0.08094, 0, 0.47222], + 75: [0, 0.69444, 0.11983, 0, 0.69445], + 76: [0, 0.69444, 0, 0, 0.54167], + 77: [0, 0.69444, 0.08094, 0, 0.875], + 78: [0, 0.69444, 0.08094, 0, 0.70834], + 79: [0, 0.69444, 0.07555, 0, 0.73611], + 80: [0, 0.69444, 0.08293, 0, 0.63889], + 81: [0.125, 0.69444, 0.07555, 0, 0.73611], + 82: [0, 0.69444, 0.08293, 0, 0.64584], + 83: [0, 0.69444, 0.09205, 0, 0.55556], + 84: [0, 0.69444, 0.13372, 0, 0.68056], + 85: [0, 0.69444, 0.08094, 0, 0.6875], + 86: [0, 0.69444, 0.1615, 0, 0.66667], + 87: [0, 0.69444, 0.1615, 0, 0.94445], + 88: [0, 0.69444, 0.13372, 0, 0.66667], + 89: [0, 0.69444, 0.17261, 0, 0.66667], + 90: [0, 0.69444, 0.11983, 0, 0.61111], + 91: [0.25, 0.75, 0.15942, 0, 0.28889], + 93: [0.25, 0.75, 0.08719, 0, 0.28889], + 94: [0, 0.69444, 0.0799, 0, 0.5], + 95: [0.35, 0.09444, 0.08616, 0, 0.5], + 97: [0, 0.44444, 0.00981, 0, 0.48056], + 98: [0, 0.69444, 0.03057, 0, 0.51667], + 99: [0, 0.44444, 0.08336, 0, 0.44445], + 100: [0, 0.69444, 0.09483, 0, 0.51667], + 101: [0, 0.44444, 0.06778, 0, 0.44445], + 102: [0, 0.69444, 0.21705, 0, 0.30556], + 103: [0.19444, 0.44444, 0.10836, 0, 0.5], + 104: [0, 0.69444, 0.01778, 0, 0.51667], + 105: [0, 0.67937, 0.09718, 0, 0.23889], + 106: [0.19444, 0.67937, 0.09162, 0, 0.26667], + 107: [0, 0.69444, 0.08336, 0, 0.48889], + 108: [0, 0.69444, 0.09483, 0, 0.23889], + 109: [0, 0.44444, 0.01778, 0, 0.79445], + 110: [0, 0.44444, 0.01778, 0, 0.51667], + 111: [0, 0.44444, 0.06613, 0, 0.5], + 112: [0.19444, 0.44444, 0.0389, 0, 0.51667], + 113: [0.19444, 0.44444, 0.04169, 0, 0.51667], + 114: [0, 0.44444, 0.10836, 0, 0.34167], + 115: [0, 0.44444, 0.0778, 0, 0.38333], + 116: [0, 0.57143, 0.07225, 0, 0.36111], + 117: [0, 0.44444, 0.04169, 0, 0.51667], + 118: [0, 0.44444, 0.10836, 0, 0.46111], + 119: [0, 0.44444, 0.10836, 0, 0.68334], + 120: [0, 0.44444, 0.09169, 0, 0.46111], + 121: [0.19444, 0.44444, 0.10836, 0, 0.46111], + 122: [0, 0.44444, 0.08752, 0, 0.43472], + 126: [0.35, 0.32659, 0.08826, 0, 0.5], + 160: [0, 0, 0, 0, 0.25], + 168: [0, 0.67937, 0.06385, 0, 0.5], + 176: [0, 0.69444, 0, 0, 0.73752], + 184: [0.17014, 0, 0, 0, 0.44445], + 305: [0, 0.44444, 0.04169, 0, 0.23889], + 567: [0.19444, 0.44444, 0.04169, 0, 0.26667], + 710: [0, 0.69444, 0.0799, 0, 0.5], + 711: [0, 0.63194, 0.08432, 0, 0.5], + 713: [0, 0.60889, 0.08776, 0, 0.5], + 714: [0, 0.69444, 0.09205, 0, 0.5], + 715: [0, 0.69444, 0, 0, 0.5], + 728: [0, 0.69444, 0.09483, 0, 0.5], + 729: [0, 0.67937, 0.07774, 0, 0.27778], + 730: [0, 0.69444, 0, 0, 0.73752], + 732: [0, 0.67659, 0.08826, 0, 0.5], + 733: [0, 0.69444, 0.09205, 0, 0.5], + 915: [0, 0.69444, 0.13372, 0, 0.54167], + 916: [0, 0.69444, 0, 0, 0.83334], + 920: [0, 0.69444, 0.07555, 0, 0.77778], + 923: [0, 0.69444, 0, 0, 0.61111], + 926: [0, 0.69444, 0.12816, 0, 0.66667], + 928: [0, 0.69444, 0.08094, 0, 0.70834], + 931: [0, 0.69444, 0.11983, 0, 0.72222], + 933: [0, 0.69444, 0.09031, 0, 0.77778], + 934: [0, 0.69444, 0.04603, 0, 0.72222], + 936: [0, 0.69444, 0.09031, 0, 0.77778], + 937: [0, 0.69444, 0.08293, 0, 0.72222], + 8211: [0, 0.44444, 0.08616, 0, 0.5], + 8212: [0, 0.44444, 0.08616, 0, 1], + 8216: [0, 0.69444, 0.07816, 0, 0.27778], + 8217: [0, 0.69444, 0.07816, 0, 0.27778], + 8220: [0, 0.69444, 0.14205, 0, 0.5], + 8221: [0, 0.69444, 0.00316, 0, 0.5] + }, + 'SansSerif-Regular': { + 32: [0, 0, 0, 0, 0.25], + 33: [0, 0.69444, 0, 0, 0.31945], + 34: [0, 0.69444, 0, 0, 0.5], + 35: [0.19444, 0.69444, 0, 0, 0.83334], + 36: [0.05556, 0.75, 0, 0, 0.5], + 37: [0.05556, 0.75, 0, 0, 0.83334], + 38: [0, 0.69444, 0, 0, 0.75834], + 39: [0, 0.69444, 0, 0, 0.27778], + 40: [0.25, 0.75, 0, 0, 0.38889], + 41: [0.25, 0.75, 0, 0, 0.38889], + 42: [0, 0.75, 0, 0, 0.5], + 43: [0.08333, 0.58333, 0, 0, 0.77778], + 44: [0.125, 0.08333, 0, 0, 0.27778], + 45: [0, 0.44444, 0, 0, 0.33333], + 46: [0, 0.08333, 0, 0, 0.27778], + 47: [0.25, 0.75, 0, 0, 0.5], + 48: [0, 0.65556, 0, 0, 0.5], + 49: [0, 0.65556, 0, 0, 0.5], + 50: [0, 0.65556, 0, 0, 0.5], + 51: [0, 0.65556, 0, 0, 0.5], + 52: [0, 0.65556, 0, 0, 0.5], + 53: [0, 0.65556, 0, 0, 0.5], + 54: [0, 0.65556, 0, 0, 0.5], + 55: [0, 0.65556, 0, 0, 0.5], + 56: [0, 0.65556, 0, 0, 0.5], + 57: [0, 0.65556, 0, 0, 0.5], + 58: [0, 0.44444, 0, 0, 0.27778], + 59: [0.125, 0.44444, 0, 0, 0.27778], + 61: [-0.13, 0.37, 0, 0, 0.77778], + 63: [0, 0.69444, 0, 0, 0.47222], + 64: [0, 0.69444, 0, 0, 0.66667], + 65: [0, 0.69444, 0, 0, 0.66667], + 66: [0, 0.69444, 0, 0, 0.66667], + 67: [0, 0.69444, 0, 0, 0.63889], + 68: [0, 0.69444, 0, 0, 0.72223], + 69: [0, 0.69444, 0, 0, 0.59722], + 70: [0, 0.69444, 0, 0, 0.56945], + 71: [0, 0.69444, 0, 0, 0.66667], + 72: [0, 0.69444, 0, 0, 0.70834], + 73: [0, 0.69444, 0, 0, 0.27778], + 74: [0, 0.69444, 0, 0, 0.47222], + 75: [0, 0.69444, 0, 0, 0.69445], + 76: [0, 0.69444, 0, 0, 0.54167], + 77: [0, 0.69444, 0, 0, 0.875], + 78: [0, 0.69444, 0, 0, 0.70834], + 79: [0, 0.69444, 0, 0, 0.73611], + 80: [0, 0.69444, 0, 0, 0.63889], + 81: [0.125, 0.69444, 0, 0, 0.73611], + 82: [0, 0.69444, 0, 0, 0.64584], + 83: [0, 0.69444, 0, 0, 0.55556], + 84: [0, 0.69444, 0, 0, 0.68056], + 85: [0, 0.69444, 0, 0, 0.6875], + 86: [0, 0.69444, 0.01389, 0, 0.66667], + 87: [0, 0.69444, 0.01389, 0, 0.94445], + 88: [0, 0.69444, 0, 0, 0.66667], + 89: [0, 0.69444, 0.025, 0, 0.66667], + 90: [0, 0.69444, 0, 0, 0.61111], + 91: [0.25, 0.75, 0, 0, 0.28889], + 93: [0.25, 0.75, 0, 0, 0.28889], + 94: [0, 0.69444, 0, 0, 0.5], + 95: [0.35, 0.09444, 0.02778, 0, 0.5], + 97: [0, 0.44444, 0, 0, 0.48056], + 98: [0, 0.69444, 0, 0, 0.51667], + 99: [0, 0.44444, 0, 0, 0.44445], + 100: [0, 0.69444, 0, 0, 0.51667], + 101: [0, 0.44444, 0, 0, 0.44445], + 102: [0, 0.69444, 0.06944, 0, 0.30556], + 103: [0.19444, 0.44444, 0.01389, 0, 0.5], + 104: [0, 0.69444, 0, 0, 0.51667], + 105: [0, 0.67937, 0, 0, 0.23889], + 106: [0.19444, 0.67937, 0, 0, 0.26667], + 107: [0, 0.69444, 0, 0, 0.48889], + 108: [0, 0.69444, 0, 0, 0.23889], + 109: [0, 0.44444, 0, 0, 0.79445], + 110: [0, 0.44444, 0, 0, 0.51667], + 111: [0, 0.44444, 0, 0, 0.5], + 112: [0.19444, 0.44444, 0, 0, 0.51667], + 113: [0.19444, 0.44444, 0, 0, 0.51667], + 114: [0, 0.44444, 0.01389, 0, 0.34167], + 115: [0, 0.44444, 0, 0, 0.38333], + 116: [0, 0.57143, 0, 0, 0.36111], + 117: [0, 0.44444, 0, 0, 0.51667], + 118: [0, 0.44444, 0.01389, 0, 0.46111], + 119: [0, 0.44444, 0.01389, 0, 0.68334], + 120: [0, 0.44444, 0, 0, 0.46111], + 121: [0.19444, 0.44444, 0.01389, 0, 0.46111], + 122: [0, 0.44444, 0, 0, 0.43472], + 126: [0.35, 0.32659, 0, 0, 0.5], + 160: [0, 0, 0, 0, 0.25], + 168: [0, 0.67937, 0, 0, 0.5], + 176: [0, 0.69444, 0, 0, 0.66667], + 184: [0.17014, 0, 0, 0, 0.44445], + 305: [0, 0.44444, 0, 0, 0.23889], + 567: [0.19444, 0.44444, 0, 0, 0.26667], + 710: [0, 0.69444, 0, 0, 0.5], + 711: [0, 0.63194, 0, 0, 0.5], + 713: [0, 0.60889, 0, 0, 0.5], + 714: [0, 0.69444, 0, 0, 0.5], + 715: [0, 0.69444, 0, 0, 0.5], + 728: [0, 0.69444, 0, 0, 0.5], + 729: [0, 0.67937, 0, 0, 0.27778], + 730: [0, 0.69444, 0, 0, 0.66667], + 732: [0, 0.67659, 0, 0, 0.5], + 733: [0, 0.69444, 0, 0, 0.5], + 915: [0, 0.69444, 0, 0, 0.54167], + 916: [0, 0.69444, 0, 0, 0.83334], + 920: [0, 0.69444, 0, 0, 0.77778], + 923: [0, 0.69444, 0, 0, 0.61111], + 926: [0, 0.69444, 0, 0, 0.66667], + 928: [0, 0.69444, 0, 0, 0.70834], + 931: [0, 0.69444, 0, 0, 0.72222], + 933: [0, 0.69444, 0, 0, 0.77778], + 934: [0, 0.69444, 0, 0, 0.72222], + 936: [0, 0.69444, 0, 0, 0.77778], + 937: [0, 0.69444, 0, 0, 0.72222], + 8211: [0, 0.44444, 0.02778, 0, 0.5], + 8212: [0, 0.44444, 0.02778, 0, 1], + 8216: [0, 0.69444, 0, 0, 0.27778], + 8217: [0, 0.69444, 0, 0, 0.27778], + 8220: [0, 0.69444, 0, 0, 0.5], + 8221: [0, 0.69444, 0, 0, 0.5] + }, + 'Script-Regular': { + 32: [0, 0, 0, 0, 0.25], + 65: [0, 0.7, 0.22925, 0, 0.80253], + 66: [0, 0.7, 0.04087, 0, 0.90757], + 67: [0, 0.7, 0.1689, 0, 0.66619], + 68: [0, 0.7, 0.09371, 0, 0.77443], + 69: [0, 0.7, 0.18583, 0, 0.56162], + 70: [0, 0.7, 0.13634, 0, 0.89544], + 71: [0, 0.7, 0.17322, 0, 0.60961], + 72: [0, 0.7, 0.29694, 0, 0.96919], + 73: [0, 0.7, 0.19189, 0, 0.80907], + 74: [0.27778, 0.7, 0.19189, 0, 1.05159], + 75: [0, 0.7, 0.31259, 0, 0.91364], + 76: [0, 0.7, 0.19189, 0, 0.87373], + 77: [0, 0.7, 0.15981, 0, 1.08031], + 78: [0, 0.7, 0.3525, 0, 0.9015], + 79: [0, 0.7, 0.08078, 0, 0.73787], + 80: [0, 0.7, 0.08078, 0, 1.01262], + 81: [0, 0.7, 0.03305, 0, 0.88282], + 82: [0, 0.7, 0.06259, 0, 0.85], + 83: [0, 0.7, 0.19189, 0, 0.86767], + 84: [0, 0.7, 0.29087, 0, 0.74697], + 85: [0, 0.7, 0.25815, 0, 0.79996], + 86: [0, 0.7, 0.27523, 0, 0.62204], + 87: [0, 0.7, 0.27523, 0, 0.80532], + 88: [0, 0.7, 0.26006, 0, 0.94445], + 89: [0, 0.7, 0.2939, 0, 0.70961], + 90: [0, 0.7, 0.24037, 0, 0.8212], + 160: [0, 0, 0, 0, 0.25] + }, + 'Size1-Regular': { + 32: [0, 0, 0, 0, 0.25], + 40: [0.35001, 0.85, 0, 0, 0.45834], + 41: [0.35001, 0.85, 0, 0, 0.45834], + 47: [0.35001, 0.85, 0, 0, 0.57778], + 91: [0.35001, 0.85, 0, 0, 0.41667], + 92: [0.35001, 0.85, 0, 0, 0.57778], + 93: [0.35001, 0.85, 0, 0, 0.41667], + 123: [0.35001, 0.85, 0, 0, 0.58334], + 125: [0.35001, 0.85, 0, 0, 0.58334], + 160: [0, 0, 0, 0, 0.25], + 710: [0, 0.72222, 0, 0, 0.55556], + 732: [0, 0.72222, 0, 0, 0.55556], + 770: [0, 0.72222, 0, 0, 0.55556], + 771: [0, 0.72222, 0, 0, 0.55556], + 8214: [-99e-5, 0.601, 0, 0, 0.77778], + 8593: [1e-5, 0.6, 0, 0, 0.66667], + 8595: [1e-5, 0.6, 0, 0, 0.66667], + 8657: [1e-5, 0.6, 0, 0, 0.77778], + 8659: [1e-5, 0.6, 0, 0, 0.77778], + 8719: [0.25001, 0.75, 0, 0, 0.94445], + 8720: [0.25001, 0.75, 0, 0, 0.94445], + 8721: [0.25001, 0.75, 0, 0, 1.05556], + 8730: [0.35001, 0.85, 0, 0, 1], + 8739: [-0.00599, 0.606, 0, 0, 0.33333], + 8741: [-0.00599, 0.606, 0, 0, 0.55556], + 8747: [0.30612, 0.805, 0.19445, 0, 0.47222], + 8748: [0.306, 0.805, 0.19445, 0, 0.47222], + 8749: [0.306, 0.805, 0.19445, 0, 0.47222], + 8750: [0.30612, 0.805, 0.19445, 0, 0.47222], + 8896: [0.25001, 0.75, 0, 0, 0.83334], + 8897: [0.25001, 0.75, 0, 0, 0.83334], + 8898: [0.25001, 0.75, 0, 0, 0.83334], + 8899: [0.25001, 0.75, 0, 0, 0.83334], + 8968: [0.35001, 0.85, 0, 0, 0.47222], + 8969: [0.35001, 0.85, 0, 0, 0.47222], + 8970: [0.35001, 0.85, 0, 0, 0.47222], + 8971: [0.35001, 0.85, 0, 0, 0.47222], + 9168: [-99e-5, 0.601, 0, 0, 0.66667], + 10216: [0.35001, 0.85, 0, 0, 0.47222], + 10217: [0.35001, 0.85, 0, 0, 0.47222], + 10752: [0.25001, 0.75, 0, 0, 1.11111], + 10753: [0.25001, 0.75, 0, 0, 1.11111], + 10754: [0.25001, 0.75, 0, 0, 1.11111], + 10756: [0.25001, 0.75, 0, 0, 0.83334], + 10758: [0.25001, 0.75, 0, 0, 0.83334] + }, + 'Size2-Regular': { + 32: [0, 0, 0, 0, 0.25], + 40: [0.65002, 1.15, 0, 0, 0.59722], + 41: [0.65002, 1.15, 0, 0, 0.59722], + 47: [0.65002, 1.15, 0, 0, 0.81111], + 91: [0.65002, 1.15, 0, 0, 0.47222], + 92: [0.65002, 1.15, 0, 0, 0.81111], + 93: [0.65002, 1.15, 0, 0, 0.47222], + 123: [0.65002, 1.15, 0, 0, 0.66667], + 125: [0.65002, 1.15, 0, 0, 0.66667], + 160: [0, 0, 0, 0, 0.25], + 710: [0, 0.75, 0, 0, 1], + 732: [0, 0.75, 0, 0, 1], + 770: [0, 0.75, 0, 0, 1], + 771: [0, 0.75, 0, 0, 1], + 8719: [0.55001, 1.05, 0, 0, 1.27778], + 8720: [0.55001, 1.05, 0, 0, 1.27778], + 8721: [0.55001, 1.05, 0, 0, 1.44445], + 8730: [0.65002, 1.15, 0, 0, 1], + 8747: [0.86225, 1.36, 0.44445, 0, 0.55556], + 8748: [0.862, 1.36, 0.44445, 0, 0.55556], + 8749: [0.862, 1.36, 0.44445, 0, 0.55556], + 8750: [0.86225, 1.36, 0.44445, 0, 0.55556], + 8896: [0.55001, 1.05, 0, 0, 1.11111], + 8897: [0.55001, 1.05, 0, 0, 1.11111], + 8898: [0.55001, 1.05, 0, 0, 1.11111], + 8899: [0.55001, 1.05, 0, 0, 1.11111], + 8968: [0.65002, 1.15, 0, 0, 0.52778], + 8969: [0.65002, 1.15, 0, 0, 0.52778], + 8970: [0.65002, 1.15, 0, 0, 0.52778], + 8971: [0.65002, 1.15, 0, 0, 0.52778], + 10216: [0.65002, 1.15, 0, 0, 0.61111], + 10217: [0.65002, 1.15, 0, 0, 0.61111], + 10752: [0.55001, 1.05, 0, 0, 1.51112], + 10753: [0.55001, 1.05, 0, 0, 1.51112], + 10754: [0.55001, 1.05, 0, 0, 1.51112], + 10756: [0.55001, 1.05, 0, 0, 1.11111], + 10758: [0.55001, 1.05, 0, 0, 1.11111] + }, + 'Size3-Regular': { + 32: [0, 0, 0, 0, 0.25], + 40: [0.95003, 1.45, 0, 0, 0.73611], + 41: [0.95003, 1.45, 0, 0, 0.73611], + 47: [0.95003, 1.45, 0, 0, 1.04445], + 91: [0.95003, 1.45, 0, 0, 0.52778], + 92: [0.95003, 1.45, 0, 0, 1.04445], + 93: [0.95003, 1.45, 0, 0, 0.52778], + 123: [0.95003, 1.45, 0, 0, 0.75], + 125: [0.95003, 1.45, 0, 0, 0.75], + 160: [0, 0, 0, 0, 0.25], + 710: [0, 0.75, 0, 0, 1.44445], + 732: [0, 0.75, 0, 0, 1.44445], + 770: [0, 0.75, 0, 0, 1.44445], + 771: [0, 0.75, 0, 0, 1.44445], + 8730: [0.95003, 1.45, 0, 0, 1], + 8968: [0.95003, 1.45, 0, 0, 0.58334], + 8969: [0.95003, 1.45, 0, 0, 0.58334], + 8970: [0.95003, 1.45, 0, 0, 0.58334], + 8971: [0.95003, 1.45, 0, 0, 0.58334], + 10216: [0.95003, 1.45, 0, 0, 0.75], + 10217: [0.95003, 1.45, 0, 0, 0.75] + }, + 'Size4-Regular': { + 32: [0, 0, 0, 0, 0.25], + 40: [1.25003, 1.75, 0, 0, 0.79167], + 41: [1.25003, 1.75, 0, 0, 0.79167], + 47: [1.25003, 1.75, 0, 0, 1.27778], + 91: [1.25003, 1.75, 0, 0, 0.58334], + 92: [1.25003, 1.75, 0, 0, 1.27778], + 93: [1.25003, 1.75, 0, 0, 0.58334], + 123: [1.25003, 1.75, 0, 0, 0.80556], + 125: [1.25003, 1.75, 0, 0, 0.80556], + 160: [0, 0, 0, 0, 0.25], + 710: [0, 0.825, 0, 0, 1.8889], + 732: [0, 0.825, 0, 0, 1.8889], + 770: [0, 0.825, 0, 0, 1.8889], + 771: [0, 0.825, 0, 0, 1.8889], + 8730: [1.25003, 1.75, 0, 0, 1], + 8968: [1.25003, 1.75, 0, 0, 0.63889], + 8969: [1.25003, 1.75, 0, 0, 0.63889], + 8970: [1.25003, 1.75, 0, 0, 0.63889], + 8971: [1.25003, 1.75, 0, 0, 0.63889], + 9115: [0.64502, 1.155, 0, 0, 0.875], + 9116: [1e-5, 0.6, 0, 0, 0.875], + 9117: [0.64502, 1.155, 0, 0, 0.875], + 9118: [0.64502, 1.155, 0, 0, 0.875], + 9119: [1e-5, 0.6, 0, 0, 0.875], + 9120: [0.64502, 1.155, 0, 0, 0.875], + 9121: [0.64502, 1.155, 0, 0, 0.66667], + 9122: [-99e-5, 0.601, 0, 0, 0.66667], + 9123: [0.64502, 1.155, 0, 0, 0.66667], + 9124: [0.64502, 1.155, 0, 0, 0.66667], + 9125: [-99e-5, 0.601, 0, 0, 0.66667], + 9126: [0.64502, 1.155, 0, 0, 0.66667], + 9127: [1e-5, 0.9, 0, 0, 0.88889], + 9128: [0.65002, 1.15, 0, 0, 0.88889], + 9129: [0.90001, 0, 0, 0, 0.88889], + 9130: [0, 0.3, 0, 0, 0.88889], + 9131: [1e-5, 0.9, 0, 0, 0.88889], + 9132: [0.65002, 1.15, 0, 0, 0.88889], + 9133: [0.90001, 0, 0, 0, 0.88889], + 9143: [0.88502, 0.915, 0, 0, 1.05556], + 10216: [1.25003, 1.75, 0, 0, 0.80556], + 10217: [1.25003, 1.75, 0, 0, 0.80556], + 57344: [-0.00499, 0.605, 0, 0, 1.05556], + 57345: [-0.00499, 0.605, 0, 0, 1.05556], + 57680: [0, 0.12, 0, 0, 0.45], + 57681: [0, 0.12, 0, 0, 0.45], + 57682: [0, 0.12, 0, 0, 0.45], + 57683: [0, 0.12, 0, 0, 0.45] + }, + 'Typewriter-Regular': { + 32: [0, 0, 0, 0, 0.525], + 33: [0, 0.61111, 0, 0, 0.525], + 34: [0, 0.61111, 0, 0, 0.525], + 35: [0, 0.61111, 0, 0, 0.525], + 36: [0.08333, 0.69444, 0, 0, 0.525], + 37: [0.08333, 0.69444, 0, 0, 0.525], + 38: [0, 0.61111, 0, 0, 0.525], + 39: [0, 0.61111, 0, 0, 0.525], + 40: [0.08333, 0.69444, 0, 0, 0.525], + 41: [0.08333, 0.69444, 0, 0, 0.525], + 42: [0, 0.52083, 0, 0, 0.525], + 43: [-0.08056, 0.53055, 0, 0, 0.525], + 44: [0.13889, 0.125, 0, 0, 0.525], + 45: [-0.08056, 0.53055, 0, 0, 0.525], + 46: [0, 0.125, 0, 0, 0.525], + 47: [0.08333, 0.69444, 0, 0, 0.525], + 48: [0, 0.61111, 0, 0, 0.525], + 49: [0, 0.61111, 0, 0, 0.525], + 50: [0, 0.61111, 0, 0, 0.525], + 51: [0, 0.61111, 0, 0, 0.525], + 52: [0, 0.61111, 0, 0, 0.525], + 53: [0, 0.61111, 0, 0, 0.525], + 54: [0, 0.61111, 0, 0, 0.525], + 55: [0, 0.61111, 0, 0, 0.525], + 56: [0, 0.61111, 0, 0, 0.525], + 57: [0, 0.61111, 0, 0, 0.525], + 58: [0, 0.43056, 0, 0, 0.525], + 59: [0.13889, 0.43056, 0, 0, 0.525], + 60: [-0.05556, 0.55556, 0, 0, 0.525], + 61: [-0.19549, 0.41562, 0, 0, 0.525], + 62: [-0.05556, 0.55556, 0, 0, 0.525], + 63: [0, 0.61111, 0, 0, 0.525], + 64: [0, 0.61111, 0, 0, 0.525], + 65: [0, 0.61111, 0, 0, 0.525], + 66: [0, 0.61111, 0, 0, 0.525], + 67: [0, 0.61111, 0, 0, 0.525], + 68: [0, 0.61111, 0, 0, 0.525], + 69: [0, 0.61111, 0, 0, 0.525], + 70: [0, 0.61111, 0, 0, 0.525], + 71: [0, 0.61111, 0, 0, 0.525], + 72: [0, 0.61111, 0, 0, 0.525], + 73: [0, 0.61111, 0, 0, 0.525], + 74: [0, 0.61111, 0, 0, 0.525], + 75: [0, 0.61111, 0, 0, 0.525], + 76: [0, 0.61111, 0, 0, 0.525], + 77: [0, 0.61111, 0, 0, 0.525], + 78: [0, 0.61111, 0, 0, 0.525], + 79: [0, 0.61111, 0, 0, 0.525], + 80: [0, 0.61111, 0, 0, 0.525], + 81: [0.13889, 0.61111, 0, 0, 0.525], + 82: [0, 0.61111, 0, 0, 0.525], + 83: [0, 0.61111, 0, 0, 0.525], + 84: [0, 0.61111, 0, 0, 0.525], + 85: [0, 0.61111, 0, 0, 0.525], + 86: [0, 0.61111, 0, 0, 0.525], + 87: [0, 0.61111, 0, 0, 0.525], + 88: [0, 0.61111, 0, 0, 0.525], + 89: [0, 0.61111, 0, 0, 0.525], + 90: [0, 0.61111, 0, 0, 0.525], + 91: [0.08333, 0.69444, 0, 0, 0.525], + 92: [0.08333, 0.69444, 0, 0, 0.525], + 93: [0.08333, 0.69444, 0, 0, 0.525], + 94: [0, 0.61111, 0, 0, 0.525], + 95: [0.09514, 0, 0, 0, 0.525], + 96: [0, 0.61111, 0, 0, 0.525], + 97: [0, 0.43056, 0, 0, 0.525], + 98: [0, 0.61111, 0, 0, 0.525], + 99: [0, 0.43056, 0, 0, 0.525], + 100: [0, 0.61111, 0, 0, 0.525], + 101: [0, 0.43056, 0, 0, 0.525], + 102: [0, 0.61111, 0, 0, 0.525], + 103: [0.22222, 0.43056, 0, 0, 0.525], + 104: [0, 0.61111, 0, 0, 0.525], + 105: [0, 0.61111, 0, 0, 0.525], + 106: [0.22222, 0.61111, 0, 0, 0.525], + 107: [0, 0.61111, 0, 0, 0.525], + 108: [0, 0.61111, 0, 0, 0.525], + 109: [0, 0.43056, 0, 0, 0.525], + 110: [0, 0.43056, 0, 0, 0.525], + 111: [0, 0.43056, 0, 0, 0.525], + 112: [0.22222, 0.43056, 0, 0, 0.525], + 113: [0.22222, 0.43056, 0, 0, 0.525], + 114: [0, 0.43056, 0, 0, 0.525], + 115: [0, 0.43056, 0, 0, 0.525], + 116: [0, 0.55358, 0, 0, 0.525], + 117: [0, 0.43056, 0, 0, 0.525], + 118: [0, 0.43056, 0, 0, 0.525], + 119: [0, 0.43056, 0, 0, 0.525], + 120: [0, 0.43056, 0, 0, 0.525], + 121: [0.22222, 0.43056, 0, 0, 0.525], + 122: [0, 0.43056, 0, 0, 0.525], + 123: [0.08333, 0.69444, 0, 0, 0.525], + 124: [0.08333, 0.69444, 0, 0, 0.525], + 125: [0.08333, 0.69444, 0, 0, 0.525], + 126: [0, 0.61111, 0, 0, 0.525], + 127: [0, 0.61111, 0, 0, 0.525], + 160: [0, 0, 0, 0, 0.525], + 176: [0, 0.61111, 0, 0, 0.525], + 184: [0.19445, 0, 0, 0, 0.525], + 305: [0, 0.43056, 0, 0, 0.525], + 567: [0.22222, 0.43056, 0, 0, 0.525], + 711: [0, 0.56597, 0, 0, 0.525], + 713: [0, 0.56555, 0, 0, 0.525], + 714: [0, 0.61111, 0, 0, 0.525], + 715: [0, 0.61111, 0, 0, 0.525], + 728: [0, 0.61111, 0, 0, 0.525], + 730: [0, 0.61111, 0, 0, 0.525], + 770: [0, 0.61111, 0, 0, 0.525], + 771: [0, 0.61111, 0, 0, 0.525], + 776: [0, 0.61111, 0, 0, 0.525], + 915: [0, 0.61111, 0, 0, 0.525], + 916: [0, 0.61111, 0, 0, 0.525], + 920: [0, 0.61111, 0, 0, 0.525], + 923: [0, 0.61111, 0, 0, 0.525], + 926: [0, 0.61111, 0, 0, 0.525], + 928: [0, 0.61111, 0, 0, 0.525], + 931: [0, 0.61111, 0, 0, 0.525], + 933: [0, 0.61111, 0, 0, 0.525], + 934: [0, 0.61111, 0, 0, 0.525], + 936: [0, 0.61111, 0, 0, 0.525], + 937: [0, 0.61111, 0, 0, 0.525], + 8216: [0, 0.61111, 0, 0, 0.525], + 8217: [0, 0.61111, 0, 0, 0.525], + 8242: [0, 0.61111, 0, 0, 0.525], + 9251: [0.11111, 0.21944, 0, 0, 0.525] + } + }), + (Jb = { + slant: [0.25, 0.25, 0.25], + space: [0, 0, 0], + stretch: [0, 0, 0], + shrink: [0, 0, 0], + xHeight: [0.431, 0.431, 0.431], + quad: [1, 1.171, 1.472], + extraSpace: [0, 0, 0], + num1: [0.677, 0.732, 0.925], + num2: [0.394, 0.384, 0.387], + num3: [0.444, 0.471, 0.504], + denom1: [0.686, 0.752, 1.025], + denom2: [0.345, 0.344, 0.532], + sup1: [0.413, 0.503, 0.504], + sup2: [0.363, 0.431, 0.404], + sup3: [0.289, 0.286, 0.294], + sub1: [0.15, 0.143, 0.2], + sub2: [0.247, 0.286, 0.4], + supDrop: [0.386, 0.353, 0.494], + subDrop: [0.05, 0.071, 0.1], + delim1: [2.39, 1.7, 1.98], + delim2: [1.01, 1.157, 1.42], + axisHeight: [0.25, 0.25, 0.25], + defaultRuleThickness: [0.04, 0.049, 0.049], + bigOpSpacing1: [0.111, 0.111, 0.111], + bigOpSpacing2: [0.166, 0.166, 0.166], + bigOpSpacing3: [0.2, 0.2, 0.2], + bigOpSpacing4: [0.6, 0.611, 0.611], + bigOpSpacing5: [0.1, 0.143, 0.143], + sqrtRuleThickness: [0.04, 0.04, 0.04], + ptPerEm: [10, 10, 10], + doubleRuleSep: [0.2, 0.2, 0.2], + arrayRuleWidth: [0.04, 0.04, 0.04], + fboxsep: [0.3, 0.3, 0.3], + fboxrule: [0.04, 0.04, 0.04] + }), + (Zz = { + Å: 'A', + Ð: 'D', + Þ: 'o', + å: 'a', + ð: 'd', + þ: 'o', + А: 'A', + Б: 'B', + В: 'B', + Г: 'F', + Д: 'A', + Е: 'E', + Ж: 'K', + З: '3', + И: 'N', + Й: 'N', + К: 'K', + Л: 'N', + М: 'M', + Н: 'H', + О: 'O', + П: 'N', + Р: 'P', + С: 'C', + Т: 'T', + У: 'y', + Ф: 'O', + Х: 'X', + Ц: 'U', + Ч: 'h', + Ш: 'W', + Щ: 'W', + Ъ: 'B', + Ы: 'X', + Ь: 'B', + Э: '3', + Ю: 'X', + Я: 'R', + а: 'a', + б: 'b', + в: 'a', + г: 'r', + д: 'y', + е: 'e', + ж: 'm', + з: 'e', + и: 'n', + й: 'n', + к: 'n', + л: 'n', + м: 'm', + н: 'n', + о: 'o', + п: 'n', + р: 'p', + с: 'c', + т: 'o', + у: 'y', + ф: 'b', + х: 'x', + ц: 'n', + ч: 'n', + ш: 'w', + щ: 'w', + ъ: 'a', + ы: 'm', + ь: 'a', + э: 'e', + ю: 'm', + я: 'r' + }); + o(axe, 'setFontMetrics'); + o(M7, 'getCharacterMetrics'); + l7 = {}; + o(sxe, 'getGlobalMetrics'); + (oxe = [ + [1, 1, 1], + [2, 1, 1], + [3, 1, 1], + [4, 2, 1], + [5, 2, 1], + [6, 3, 1], + [7, 4, 2], + [8, 6, 3], + [9, 7, 6], + [10, 8, 7], + [11, 10, 9] + ]), + (Jz = [0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.2, 1.44, 1.728, 2.074, 2.488]), + (eG = o(function (e, r) { + return r.size < 2 ? e : oxe[e - 1][r.size - 1]; + }, 'sizeAtStyle')), + (d4 = class t { + static { + o(this, 'Options'); + } + constructor(e) { + (this.style = void 0), + (this.color = void 0), + (this.size = void 0), + (this.textSize = void 0), + (this.phantom = void 0), + (this.font = void 0), + (this.fontFamily = void 0), + (this.fontWeight = void 0), + (this.fontShape = void 0), + (this.sizeMultiplier = void 0), + (this.maxSize = void 0), + (this.minRuleThickness = void 0), + (this._fontMetrics = void 0), + (this.style = e.style), + (this.color = e.color), + (this.size = e.size || t.BASESIZE), + (this.textSize = e.textSize || this.size), + (this.phantom = !!e.phantom), + (this.font = e.font || ''), + (this.fontFamily = e.fontFamily || ''), + (this.fontWeight = e.fontWeight || ''), + (this.fontShape = e.fontShape || ''), + (this.sizeMultiplier = Jz[this.size - 1]), + (this.maxSize = e.maxSize), + (this.minRuleThickness = e.minRuleThickness), + (this._fontMetrics = void 0); + } + extend(e) { + var r = { + style: this.style, + size: this.size, + textSize: this.textSize, + color: this.color, + phantom: this.phantom, + font: this.font, + fontFamily: this.fontFamily, + fontWeight: this.fontWeight, + fontShape: this.fontShape, + maxSize: this.maxSize, + minRuleThickness: this.minRuleThickness + }; + for (var n in e) e.hasOwnProperty(n) && (r[n] = e[n]); + return new t(r); + } + havingStyle(e) { + return this.style === e ? this : this.extend({ style: e, size: eG(this.textSize, e) }); + } + havingCrampedStyle() { + return this.havingStyle(this.style.cramp()); + } + havingSize(e) { + return this.size === e && this.textSize === e + ? this + : this.extend({ + style: this.style.text(), + size: e, + textSize: e, + sizeMultiplier: Jz[e - 1] + }); + } + havingBaseStyle(e) { + e = e || this.style.text(); + var r = eG(t.BASESIZE, e); + return this.size === r && this.textSize === t.BASESIZE && this.style === e + ? this + : this.extend({ style: e, size: r }); + } + havingBaseSizing() { + var e; + switch (this.style.id) { + case 4: + case 5: + e = 3; + break; + case 6: + case 7: + e = 1; + break; + default: + e = 6; + } + return this.extend({ style: this.style.text(), size: e }); + } + withColor(e) { + return this.extend({ color: e }); + } + withPhantom() { + return this.extend({ phantom: !0 }); + } + withFont(e) { + return this.extend({ font: e }); + } + withTextFontFamily(e) { + return this.extend({ fontFamily: e, font: '' }); + } + withTextFontWeight(e) { + return this.extend({ fontWeight: e, font: '' }); + } + withTextFontShape(e) { + return this.extend({ fontShape: e, font: '' }); + } + sizingClasses(e) { + return e.size !== this.size ? ['sizing', 'reset-size' + e.size, 'size' + this.size] : []; + } + baseSizingClasses() { + return this.size !== t.BASESIZE + ? ['sizing', 'reset-size' + this.size, 'size' + t.BASESIZE] + : []; + } + fontMetrics() { + return this._fontMetrics || (this._fontMetrics = sxe(this.size)), this._fontMetrics; + } + getColor() { + return this.phantom ? 'transparent' : this.color; + } + }); + d4.BASESIZE = 6; + (w7 = { + pt: 1, + mm: 7227 / 2540, + cm: 7227 / 254, + in: 72.27, + bp: 803 / 800, + pc: 12, + dd: 1238 / 1157, + cc: 14856 / 1157, + nd: 685 / 642, + nc: 1370 / 107, + sp: 1 / 65536, + px: 803 / 800 + }), + (lxe = { ex: !0, em: !0, mu: !0 }), + (DG = o(function (e) { + return typeof e != 'string' && (e = e.unit), e in w7 || e in lxe || e === 'ex'; + }, 'validUnit')), + (Hn = o(function (e, r) { + var n; + if (e.unit in w7) n = w7[e.unit] / r.fontMetrics().ptPerEm / r.sizeMultiplier; + else if (e.unit === 'mu') n = r.fontMetrics().cssEmPerMu; + else { + var i; + if ((r.style.isTight() ? (i = r.havingStyle(r.style.text())) : (i = r), e.unit === 'ex')) + n = i.fontMetrics().xHeight; + else if (e.unit === 'em') n = i.fontMetrics().quad; + else throw new nt("Invalid unit: '" + e.unit + "'"); + i !== r && (n *= i.sizeMultiplier / r.sizeMultiplier); + } + return Math.min(e.number * n, r.maxSize); + }, 'calculateSize')), + (ct = o(function (e) { + return +e.toFixed(4) + 'em'; + }, 'makeEm')), + (dh = o(function (e) { + return e.filter((r) => r).join(' '); + }, 'createClass')), + (RG = o(function (e, r, n) { + if ( + ((this.classes = e || []), + (this.attributes = {}), + (this.height = 0), + (this.depth = 0), + (this.maxFontSize = 0), + (this.style = n || {}), + r) + ) { + r.style.isTight() && this.classes.push('mtight'); + var i = r.getColor(); + i && (this.style.color = i); + } + }, 'initNode')), + (NG = o(function (e) { + var r = document.createElement(e); + r.className = dh(this.classes); + for (var n in this.style) this.style.hasOwnProperty(n) && (r.style[n] = this.style[n]); + for (var i in this.attributes) + this.attributes.hasOwnProperty(i) && r.setAttribute(i, this.attributes[i]); + for (var a = 0; a < this.children.length; a++) r.appendChild(this.children[a].toNode()); + return r; + }, 'toNode')), + (MG = o(function (e) { + var r = '<' + e; + this.classes.length && (r += ' class="' + Vt.escape(dh(this.classes)) + '"'); + var n = ''; + for (var i in this.style) + this.style.hasOwnProperty(i) && (n += Vt.hyphenate(i) + ':' + this.style[i] + ';'); + n && (r += ' style="' + Vt.escape(n) + '"'); + for (var a in this.attributes) + this.attributes.hasOwnProperty(a) && + (r += ' ' + a + '="' + Vt.escape(this.attributes[a]) + '"'); + r += '>'; + for (var s = 0; s < this.children.length; s++) r += this.children[s].toMarkup(); + return (r += ''), r; + }, 'toMarkup')), + (jf = class { + static { + o(this, 'Span'); + } + constructor(e, r, n, i) { + (this.children = void 0), + (this.attributes = void 0), + (this.classes = void 0), + (this.height = void 0), + (this.depth = void 0), + (this.width = void 0), + (this.maxFontSize = void 0), + (this.style = void 0), + RG.call(this, e, n, i), + (this.children = r || []); + } + setAttribute(e, r) { + this.attributes[e] = r; + } + hasClass(e) { + return Vt.contains(this.classes, e); + } + toNode() { + return NG.call(this, 'span'); + } + toMarkup() { + return MG.call(this, 'span'); + } + }), + (iy = class { + static { + o(this, 'Anchor'); + } + constructor(e, r, n, i) { + (this.children = void 0), + (this.attributes = void 0), + (this.classes = void 0), + (this.height = void 0), + (this.depth = void 0), + (this.maxFontSize = void 0), + (this.style = void 0), + RG.call(this, r, i), + (this.children = n || []), + this.setAttribute('href', e); + } + setAttribute(e, r) { + this.attributes[e] = r; + } + hasClass(e) { + return Vt.contains(this.classes, e); + } + toNode() { + return NG.call(this, 'a'); + } + toMarkup() { + return MG.call(this, 'a'); + } + }), + (T7 = class { + static { + o(this, 'Img'); + } + constructor(e, r, n) { + (this.src = void 0), + (this.alt = void 0), + (this.classes = void 0), + (this.height = void 0), + (this.depth = void 0), + (this.maxFontSize = void 0), + (this.style = void 0), + (this.alt = r), + (this.src = e), + (this.classes = ['mord']), + (this.style = n); + } + hasClass(e) { + return Vt.contains(this.classes, e); + } + toNode() { + var e = document.createElement('img'); + (e.src = this.src), (e.alt = this.alt), (e.className = 'mord'); + for (var r in this.style) this.style.hasOwnProperty(r) && (e.style[r] = this.style[r]); + return e; + } + toMarkup() { + var e = '' + Vt.escape(this.alt) + ' 0 && + ((r = document.createElement('span')), (r.style.marginRight = ct(this.italic))), + this.classes.length > 0 && + ((r = r || document.createElement('span')), (r.className = dh(this.classes))); + for (var n in this.style) + this.style.hasOwnProperty(n) && + ((r = r || document.createElement('span')), (r.style[n] = this.style[n])); + return r ? (r.appendChild(e), r) : e; + } + toMarkup() { + var e = !1, + r = ' 0 && (n += 'margin-right:' + this.italic + 'em;'); + for (var i in this.style) + this.style.hasOwnProperty(i) && (n += Vt.hyphenate(i) + ':' + this.style[i] + ';'); + n && ((e = !0), (r += ' style="' + Vt.escape(n) + '"')); + var a = Vt.escape(this.text); + return e ? ((r += '>'), (r += a), (r += ''), r) : a; + } + }), + (ll = class { + static { + o(this, 'SvgNode'); + } + constructor(e, r) { + (this.children = void 0), + (this.attributes = void 0), + (this.children = e || []), + (this.attributes = r || {}); + } + toNode() { + var e = 'http://www.w3.org/2000/svg', + r = document.createElementNS(e, 'svg'); + for (var n in this.attributes) + Object.prototype.hasOwnProperty.call(this.attributes, n) && + r.setAttribute(n, this.attributes[n]); + for (var i = 0; i < this.children.length; i++) r.appendChild(this.children[i].toNode()); + return r; + } + toMarkup() { + var e = '' + : ''; + } + }), + (ay = class { + static { + o(this, 'LineNode'); + } + constructor(e) { + (this.attributes = void 0), (this.attributes = e || {}); + } + toNode() { + var e = 'http://www.w3.org/2000/svg', + r = document.createElementNS(e, 'line'); + for (var n in this.attributes) + Object.prototype.hasOwnProperty.call(this.attributes, n) && + r.setAttribute(n, this.attributes[n]); + return r; + } + toMarkup() { + var e = '', '\\gt', !0); + G(U, ee, xe, '\u2208', '\\in', !0); + G(U, ee, xe, '\uE020', '\\@not'); + G(U, ee, xe, '\u2282', '\\subset', !0); + G(U, ee, xe, '\u2283', '\\supset', !0); + G(U, ee, xe, '\u2286', '\\subseteq', !0); + G(U, ee, xe, '\u2287', '\\supseteq', !0); + G(U, ve, xe, '\u2288', '\\nsubseteq', !0); + G(U, ve, xe, '\u2289', '\\nsupseteq', !0); + G(U, ee, xe, '\u22A8', '\\models'); + G(U, ee, xe, '\u2190', '\\leftarrow', !0); + G(U, ee, xe, '\u2264', '\\le'); + G(U, ee, xe, '\u2264', '\\leq', !0); + G(U, ee, xe, '<', '\\lt', !0); + G(U, ee, xe, '\u2192', '\\rightarrow', !0); + G(U, ee, xe, '\u2192', '\\to'); + G(U, ve, xe, '\u2271', '\\ngeq', !0); + G(U, ve, xe, '\u2270', '\\nleq', !0); + G(U, ee, lu, '\xA0', '\\ '); + G(U, ee, lu, '\xA0', '\\space'); + G(U, ee, lu, '\xA0', '\\nobreakspace'); + G(Qe, ee, lu, '\xA0', '\\ '); + G(Qe, ee, lu, '\xA0', ' '); + G(Qe, ee, lu, '\xA0', '\\space'); + G(Qe, ee, lu, '\xA0', '\\nobreakspace'); + G(U, ee, lu, null, '\\nobreak'); + G(U, ee, lu, null, '\\allowbreak'); + G(U, ee, b4, ',', ','); + G(U, ee, b4, ';', ';'); + G(U, ve, bt, '\u22BC', '\\barwedge', !0); + G(U, ve, bt, '\u22BB', '\\veebar', !0); + G(U, ee, bt, '\u2299', '\\odot', !0); + G(U, ee, bt, '\u2295', '\\oplus', !0); + G(U, ee, bt, '\u2297', '\\otimes', !0); + G(U, ee, Le, '\u2202', '\\partial', !0); + G(U, ee, bt, '\u2298', '\\oslash', !0); + G(U, ve, bt, '\u229A', '\\circledcirc', !0); + G(U, ve, bt, '\u22A1', '\\boxdot', !0); + G(U, ee, bt, '\u25B3', '\\bigtriangleup'); + G(U, ee, bt, '\u25BD', '\\bigtriangledown'); + G(U, ee, bt, '\u2020', '\\dagger'); + G(U, ee, bt, '\u22C4', '\\diamond'); + G(U, ee, bt, '\u22C6', '\\star'); + G(U, ee, bt, '\u25C3', '\\triangleleft'); + G(U, ee, bt, '\u25B9', '\\triangleright'); + G(U, ee, js, '{', '\\{'); + G(Qe, ee, Le, '{', '\\{'); + G(Qe, ee, Le, '{', '\\textbraceleft'); + G(U, ee, Xa, '}', '\\}'); + G(Qe, ee, Le, '}', '\\}'); + G(Qe, ee, Le, '}', '\\textbraceright'); + G(U, ee, js, '{', '\\lbrace'); + G(U, ee, Xa, '}', '\\rbrace'); + G(U, ee, js, '[', '\\lbrack', !0); + G(Qe, ee, Le, '[', '\\lbrack', !0); + G(U, ee, Xa, ']', '\\rbrack', !0); + G(Qe, ee, Le, ']', '\\rbrack', !0); + G(U, ee, js, '(', '\\lparen', !0); + G(U, ee, Xa, ')', '\\rparen', !0); + G(Qe, ee, Le, '<', '\\textless', !0); + G(Qe, ee, Le, '>', '\\textgreater', !0); + G(U, ee, js, '\u230A', '\\lfloor', !0); + G(U, ee, Xa, '\u230B', '\\rfloor', !0); + G(U, ee, js, '\u2308', '\\lceil', !0); + G(U, ee, Xa, '\u2309', '\\rceil', !0); + G(U, ee, Le, '\\', '\\backslash'); + G(U, ee, Le, '\u2223', '|'); + G(U, ee, Le, '\u2223', '\\vert'); + G(Qe, ee, Le, '|', '\\textbar', !0); + G(U, ee, Le, '\u2225', '\\|'); + G(U, ee, Le, '\u2225', '\\Vert'); + G(Qe, ee, Le, '\u2225', '\\textbardbl'); + G(Qe, ee, Le, '~', '\\textasciitilde'); + G(Qe, ee, Le, '\\', '\\textbackslash'); + G(Qe, ee, Le, '^', '\\textasciicircum'); + G(U, ee, xe, '\u2191', '\\uparrow', !0); + G(U, ee, xe, '\u21D1', '\\Uparrow', !0); + G(U, ee, xe, '\u2193', '\\downarrow', !0); + G(U, ee, xe, '\u21D3', '\\Downarrow', !0); + G(U, ee, xe, '\u2195', '\\updownarrow', !0); + G(U, ee, xe, '\u21D5', '\\Updownarrow', !0); + G(U, ee, xi, '\u2210', '\\coprod'); + G(U, ee, xi, '\u22C1', '\\bigvee'); + G(U, ee, xi, '\u22C0', '\\bigwedge'); + G(U, ee, xi, '\u2A04', '\\biguplus'); + G(U, ee, xi, '\u22C2', '\\bigcap'); + G(U, ee, xi, '\u22C3', '\\bigcup'); + G(U, ee, xi, '\u222B', '\\int'); + G(U, ee, xi, '\u222B', '\\intop'); + G(U, ee, xi, '\u222C', '\\iint'); + G(U, ee, xi, '\u222D', '\\iiint'); + G(U, ee, xi, '\u220F', '\\prod'); + G(U, ee, xi, '\u2211', '\\sum'); + G(U, ee, xi, '\u2A02', '\\bigotimes'); + G(U, ee, xi, '\u2A01', '\\bigoplus'); + G(U, ee, xi, '\u2A00', '\\bigodot'); + G(U, ee, xi, '\u222E', '\\oint'); + G(U, ee, xi, '\u222F', '\\oiint'); + G(U, ee, xi, '\u2230', '\\oiiint'); + G(U, ee, xi, '\u2A06', '\\bigsqcup'); + G(U, ee, xi, '\u222B', '\\smallint'); + G(Qe, ee, vp, '\u2026', '\\textellipsis'); + G(U, ee, vp, '\u2026', '\\mathellipsis'); + G(Qe, ee, vp, '\u2026', '\\ldots', !0); + G(U, ee, vp, '\u2026', '\\ldots', !0); + G(U, ee, vp, '\u22EF', '\\@cdots', !0); + G(U, ee, vp, '\u22F1', '\\ddots', !0); + G(U, ee, Le, '\u22EE', '\\varvdots'); + G(U, ee, Pn, '\u02CA', '\\acute'); + G(U, ee, Pn, '\u02CB', '\\grave'); + G(U, ee, Pn, '\xA8', '\\ddot'); + G(U, ee, Pn, '~', '\\tilde'); + G(U, ee, Pn, '\u02C9', '\\bar'); + G(U, ee, Pn, '\u02D8', '\\breve'); + G(U, ee, Pn, '\u02C7', '\\check'); + G(U, ee, Pn, '^', '\\hat'); + G(U, ee, Pn, '\u20D7', '\\vec'); + G(U, ee, Pn, '\u02D9', '\\dot'); + G(U, ee, Pn, '\u02DA', '\\mathring'); + G(U, ee, Ut, '\uE131', '\\@imath'); + G(U, ee, Ut, '\uE237', '\\@jmath'); + G(U, ee, Le, '\u0131', '\u0131'); + G(U, ee, Le, '\u0237', '\u0237'); + G(Qe, ee, Le, '\u0131', '\\i', !0); + G(Qe, ee, Le, '\u0237', '\\j', !0); + G(Qe, ee, Le, '\xDF', '\\ss', !0); + G(Qe, ee, Le, '\xE6', '\\ae', !0); + G(Qe, ee, Le, '\u0153', '\\oe', !0); + G(Qe, ee, Le, '\xF8', '\\o', !0); + G(Qe, ee, Le, '\xC6', '\\AE', !0); + G(Qe, ee, Le, '\u0152', '\\OE', !0); + G(Qe, ee, Le, '\xD8', '\\O', !0); + G(Qe, ee, Pn, '\u02CA', "\\'"); + G(Qe, ee, Pn, '\u02CB', '\\`'); + G(Qe, ee, Pn, '\u02C6', '\\^'); + G(Qe, ee, Pn, '\u02DC', '\\~'); + G(Qe, ee, Pn, '\u02C9', '\\='); + G(Qe, ee, Pn, '\u02D8', '\\u'); + G(Qe, ee, Pn, '\u02D9', '\\.'); + G(Qe, ee, Pn, '\xB8', '\\c'); + G(Qe, ee, Pn, '\u02DA', '\\r'); + G(Qe, ee, Pn, '\u02C7', '\\v'); + G(Qe, ee, Pn, '\xA8', '\\"'); + G(Qe, ee, Pn, '\u02DD', '\\H'); + G(Qe, ee, Pn, '\u25EF', '\\textcircled'); + IG = { '--': !0, '---': !0, '``': !0, "''": !0 }; + G(Qe, ee, Le, '\u2013', '--', !0); + G(Qe, ee, Le, '\u2013', '\\textendash'); + G(Qe, ee, Le, '\u2014', '---', !0); + G(Qe, ee, Le, '\u2014', '\\textemdash'); + G(Qe, ee, Le, '\u2018', '`', !0); + G(Qe, ee, Le, '\u2018', '\\textquoteleft'); + G(Qe, ee, Le, '\u2019', "'", !0); + G(Qe, ee, Le, '\u2019', '\\textquoteright'); + G(Qe, ee, Le, '\u201C', '``', !0); + G(Qe, ee, Le, '\u201C', '\\textquotedblleft'); + G(Qe, ee, Le, '\u201D', "''", !0); + G(Qe, ee, Le, '\u201D', '\\textquotedblright'); + G(U, ee, Le, '\xB0', '\\degree', !0); + G(Qe, ee, Le, '\xB0', '\\degree'); + G(Qe, ee, Le, '\xB0', '\\textdegree', !0); + G(U, ee, Le, '\xA3', '\\pounds'); + G(U, ee, Le, '\xA3', '\\mathsterling', !0); + G(Qe, ee, Le, '\xA3', '\\pounds'); + G(Qe, ee, Le, '\xA3', '\\textsterling', !0); + G(U, ve, Le, '\u2720', '\\maltese'); + G(Qe, ve, Le, '\u2720', '\\maltese'); + rG = '0123456789/@."'; + for (e4 = 0; e4 < rG.length; e4++) (c7 = rG.charAt(e4)), G(U, ee, Le, c7, c7); + nG = '0123456789!@*()-=+";:?/.,'; + for (t4 = 0; t4 < nG.length; t4++) (u7 = nG.charAt(t4)), G(Qe, ee, Le, u7, u7); + p4 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; + for (r4 = 0; r4 < p4.length; r4++) (Z1 = p4.charAt(r4)), G(U, ee, Ut, Z1, Z1), G(Qe, ee, Le, Z1, Z1); + G(U, ve, Le, 'C', '\u2102'); + G(Qe, ve, Le, 'C', '\u2102'); + G(U, ve, Le, 'H', '\u210D'); + G(Qe, ve, Le, 'H', '\u210D'); + G(U, ve, Le, 'N', '\u2115'); + G(Qe, ve, Le, 'N', '\u2115'); + G(U, ve, Le, 'P', '\u2119'); + G(Qe, ve, Le, 'P', '\u2119'); + G(U, ve, Le, 'Q', '\u211A'); + G(Qe, ve, Le, 'Q', '\u211A'); + G(U, ve, Le, 'R', '\u211D'); + G(Qe, ve, Le, 'R', '\u211D'); + G(U, ve, Le, 'Z', '\u2124'); + G(Qe, ve, Le, 'Z', '\u2124'); + G(U, ee, Ut, 'h', '\u210E'); + G(Qe, ee, Ut, 'h', '\u210E'); + Xt = ''; + for (Ra = 0; Ra < p4.length; Ra++) + (Vn = p4.charAt(Ra)), + (Xt = String.fromCharCode(55349, 56320 + Ra)), + G(U, ee, Ut, Vn, Xt), + G(Qe, ee, Le, Vn, Xt), + (Xt = String.fromCharCode(55349, 56372 + Ra)), + G(U, ee, Ut, Vn, Xt), + G(Qe, ee, Le, Vn, Xt), + (Xt = String.fromCharCode(55349, 56424 + Ra)), + G(U, ee, Ut, Vn, Xt), + G(Qe, ee, Le, Vn, Xt), + (Xt = String.fromCharCode(55349, 56580 + Ra)), + G(U, ee, Ut, Vn, Xt), + G(Qe, ee, Le, Vn, Xt), + (Xt = String.fromCharCode(55349, 56684 + Ra)), + G(U, ee, Ut, Vn, Xt), + G(Qe, ee, Le, Vn, Xt), + (Xt = String.fromCharCode(55349, 56736 + Ra)), + G(U, ee, Ut, Vn, Xt), + G(Qe, ee, Le, Vn, Xt), + (Xt = String.fromCharCode(55349, 56788 + Ra)), + G(U, ee, Ut, Vn, Xt), + G(Qe, ee, Le, Vn, Xt), + (Xt = String.fromCharCode(55349, 56840 + Ra)), + G(U, ee, Ut, Vn, Xt), + G(Qe, ee, Le, Vn, Xt), + (Xt = String.fromCharCode(55349, 56944 + Ra)), + G(U, ee, Ut, Vn, Xt), + G(Qe, ee, Le, Vn, Xt), + Ra < 26 && + ((Xt = String.fromCharCode(55349, 56632 + Ra)), + G(U, ee, Ut, Vn, Xt), + G(Qe, ee, Le, Vn, Xt), + (Xt = String.fromCharCode(55349, 56476 + Ra)), + G(U, ee, Ut, Vn, Xt), + G(Qe, ee, Le, Vn, Xt)); + Xt = '\u{1D55C}'; + G(U, ee, Ut, 'k', Xt); + G(Qe, ee, Le, 'k', Xt); + for (hh = 0; hh < 10; hh++) + (ru = hh.toString()), + (Xt = String.fromCharCode(55349, 57294 + hh)), + G(U, ee, Ut, ru, Xt), + G(Qe, ee, Le, ru, Xt), + (Xt = String.fromCharCode(55349, 57314 + hh)), + G(U, ee, Ut, ru, Xt), + G(Qe, ee, Le, ru, Xt), + (Xt = String.fromCharCode(55349, 57324 + hh)), + G(U, ee, Ut, ru, Xt), + G(Qe, ee, Le, ru, Xt), + (Xt = String.fromCharCode(55349, 57334 + hh)), + G(U, ee, Ut, ru, Xt), + G(Qe, ee, Le, ru, Xt); + k7 = '\xD0\xDE\xFE'; + for (n4 = 0; n4 < k7.length; n4++) (J1 = k7.charAt(n4)), G(U, ee, Ut, J1, J1), G(Qe, ee, Le, J1, J1); + (i4 = [ + ['mathbf', 'textbf', 'Main-Bold'], + ['mathbf', 'textbf', 'Main-Bold'], + ['mathnormal', 'textit', 'Math-Italic'], + ['mathnormal', 'textit', 'Math-Italic'], + ['boldsymbol', 'boldsymbol', 'Main-BoldItalic'], + ['boldsymbol', 'boldsymbol', 'Main-BoldItalic'], + ['mathscr', 'textscr', 'Script-Regular'], + ['', '', ''], + ['', '', ''], + ['', '', ''], + ['mathfrak', 'textfrak', 'Fraktur-Regular'], + ['mathfrak', 'textfrak', 'Fraktur-Regular'], + ['mathbb', 'textbb', 'AMS-Regular'], + ['mathbb', 'textbb', 'AMS-Regular'], + ['mathboldfrak', 'textboldfrak', 'Fraktur-Regular'], + ['mathboldfrak', 'textboldfrak', 'Fraktur-Regular'], + ['mathsf', 'textsf', 'SansSerif-Regular'], + ['mathsf', 'textsf', 'SansSerif-Regular'], + ['mathboldsf', 'textboldsf', 'SansSerif-Bold'], + ['mathboldsf', 'textboldsf', 'SansSerif-Bold'], + ['mathitsf', 'textitsf', 'SansSerif-Italic'], + ['mathitsf', 'textitsf', 'SansSerif-Italic'], + ['', '', ''], + ['', '', ''], + ['mathtt', 'texttt', 'Typewriter-Regular'], + ['mathtt', 'texttt', 'Typewriter-Regular'] + ]), + (iG = [ + ['mathbf', 'textbf', 'Main-Bold'], + ['', '', ''], + ['mathsf', 'textsf', 'SansSerif-Regular'], + ['mathboldsf', 'textboldsf', 'SansSerif-Bold'], + ['mathtt', 'texttt', 'Typewriter-Regular'] + ]), + (dxe = o(function (e, r) { + var n = e.charCodeAt(0), + i = e.charCodeAt(1), + a = (n - 55296) * 1024 + (i - 56320) + 65536, + s = r === 'math' ? 0 : 1; + if (119808 <= a && a < 120484) { + var l = Math.floor((a - 119808) / 26); + return [i4[l][2], i4[l][s]]; + } else if (120782 <= a && a <= 120831) { + var u = Math.floor((a - 120782) / 10); + return [iG[u][2], iG[u][s]]; + } else { + if (a === 120485 || a === 120486) return [i4[0][2], i4[0][s]]; + if (120486 < a && a < 120782) return ['', '']; + throw new nt('Unsupported character: ' + e); + } + }, 'wideCharacterFont')), + (w4 = o(function (e, r, n) { + return wn[n][e] && wn[n][e].replace && (e = wn[n][e].replace), { value: e, metrics: M7(e, r, n) }; + }, 'lookupSymbol')), + (ol = o(function (e, r, n, i, a) { + var s = w4(e, r, n), + l = s.metrics; + e = s.value; + var u; + if (l) { + var h = l.italic; + (n === 'text' || (i && i.font === 'mathit')) && (h = 0), + (u = new ms(e, l.height, l.depth, h, l.skew, l.width, a)); + } else typeof console < 'u' && console.warn('No character metrics ' + ("for '" + e + "' in style '" + r + "' and mode '" + n + "'")), (u = new ms(e, 0, 0, 0, 0, 0, a)); + if (i) { + (u.maxFontSize = i.sizeMultiplier), i.style.isTight() && u.classes.push('mtight'); + var f = i.getColor(); + f && (u.style.color = f); + } + return u; + }, 'makeSymbol')), + (pxe = o(function (e, r, n, i) { + return ( + i === void 0 && (i = []), + n.font === 'boldsymbol' && w4(e, 'Main-Bold', r).metrics + ? ol(e, 'Main-Bold', r, n, i.concat(['mathbf'])) + : e === '\\' || wn[r][e].font === 'main' + ? ol(e, 'Main-Regular', r, n, i) + : ol(e, 'AMS-Regular', r, n, i.concat(['amsrm'])) + ); + }, 'mathsym')), + (mxe = o(function (e, r, n, i, a) { + return a !== 'textord' && w4(e, 'Math-BoldItalic', r).metrics + ? { fontName: 'Math-BoldItalic', fontClass: 'boldsymbol' } + : { fontName: 'Main-Bold', fontClass: 'mathbf' }; + }, 'boldsymbol')), + (gxe = o(function (e, r, n) { + var i = e.mode, + a = e.text, + s = ['mord'], + l = i === 'math' || (i === 'text' && r.font), + u = l ? r.font : r.fontFamily, + h = '', + f = ''; + if ((a.charCodeAt(0) === 55349 && ([h, f] = dxe(a, i)), h.length > 0)) + return ol(a, h, i, r, s.concat(f)); + if (u) { + var d, p; + if (u === 'boldsymbol') { + var m = mxe(a, i, r, s, n); + (d = m.fontName), (p = [m.fontClass]); + } else + l + ? ((d = BG[u].fontName), (p = [u])) + : ((d = a4(u, r.fontWeight, r.fontShape)), (p = [u, r.fontWeight, r.fontShape])); + if (w4(a, d, i).metrics) return ol(a, d, i, r, s.concat(p)); + if (IG.hasOwnProperty(a) && d.slice(0, 10) === 'Typewriter') { + for (var g = [], y = 0; y < a.length; y++) g.push(ol(a[y], d, i, r, s.concat(p))); + return PG(g); + } + } + if (n === 'mathord') return ol(a, 'Math-Italic', i, r, s.concat(['mathnormal'])); + if (n === 'textord') { + var v = wn[i][a] && wn[i][a].font; + if (v === 'ams') { + var x = a4('amsrm', r.fontWeight, r.fontShape); + return ol(a, x, i, r, s.concat('amsrm', r.fontWeight, r.fontShape)); + } else if (v === 'main' || !v) { + var b = a4('textrm', r.fontWeight, r.fontShape); + return ol(a, b, i, r, s.concat(r.fontWeight, r.fontShape)); + } else { + var w = a4(v, r.fontWeight, r.fontShape); + return ol(a, w, i, r, s.concat(w, r.fontWeight, r.fontShape)); + } + } else throw new Error('unexpected type: ' + n + ' in makeOrd'); + }, 'makeOrd')), + (yxe = o((t, e) => { + if (dh(t.classes) !== dh(e.classes) || t.skew !== e.skew || t.maxFontSize !== e.maxFontSize) + return !1; + if (t.classes.length === 1) { + var r = t.classes[0]; + if (r === 'mbin' || r === 'mord') return !1; + } + for (var n in t.style) if (t.style.hasOwnProperty(n) && t.style[n] !== e.style[n]) return !1; + for (var i in e.style) if (e.style.hasOwnProperty(i) && t.style[i] !== e.style[i]) return !1; + return !0; + }, 'canCombine')), + (vxe = o((t) => { + for (var e = 0; e < t.length - 1; e++) { + var r = t[e], + n = t[e + 1]; + r instanceof ms && + n instanceof ms && + yxe(r, n) && + ((r.text += n.text), + (r.height = Math.max(r.height, n.height)), + (r.depth = Math.max(r.depth, n.depth)), + (r.italic = n.italic), + t.splice(e + 1, 1), + e--); + } + return t; + }, 'tryCombineChars')), + (I7 = o(function (e) { + for (var r = 0, n = 0, i = 0, a = 0; a < e.children.length; a++) { + var s = e.children[a]; + s.height > r && (r = s.height), + s.depth > n && (n = s.depth), + s.maxFontSize > i && (i = s.maxFontSize); + } + (e.height = r), (e.depth = n), (e.maxFontSize = i); + }, 'sizeElementFromChildren')), + (ds = o(function (e, r, n, i) { + var a = new jf(e, r, n, i); + return I7(a), a; + }, 'makeSpan')), + (OG = o((t, e, r, n) => new jf(t, e, r, n), 'makeSvgSpan')), + (xxe = o(function (e, r, n) { + var i = ds([e], [], r); + return ( + (i.height = Math.max(n || r.fontMetrics().defaultRuleThickness, r.minRuleThickness)), + (i.style.borderBottomWidth = ct(i.height)), + (i.maxFontSize = 1), + i + ); + }, 'makeLineSpan')), + (bxe = o(function (e, r, n, i) { + var a = new iy(e, r, n, i); + return I7(a), a; + }, 'makeAnchor')), + (PG = o(function (e) { + var r = new Xf(e); + return I7(r), r; + }, 'makeFragment')), + (wxe = o(function (e, r) { + return e instanceof Xf ? ds([], [e], r) : e; + }, 'wrapFragment')), + (Txe = o(function (e) { + if (e.positionType === 'individualShift') { + for ( + var r = e.children, n = [r[0]], i = -r[0].shift - r[0].elem.depth, a = i, s = 1; + s < r.length; + s++ + ) { + var l = -r[s].shift - a - r[s].elem.depth, + u = l - (r[s - 1].elem.height + r[s - 1].elem.depth); + (a = a + l), n.push({ type: 'kern', size: u }), n.push(r[s]); + } + return { children: n, depth: i }; + } + var h; + if (e.positionType === 'top') { + for (var f = e.positionData, d = 0; d < e.children.length; d++) { + var p = e.children[d]; + f -= p.type === 'kern' ? p.size : p.elem.height + p.elem.depth; + } + h = f; + } else if (e.positionType === 'bottom') h = -e.positionData; + else { + var m = e.children[0]; + if (m.type !== 'elem') throw new Error('First child must have type "elem".'); + if (e.positionType === 'shift') h = -m.elem.depth - e.positionData; + else if (e.positionType === 'firstBaseline') h = -m.elem.depth; + else throw new Error('Invalid positionType ' + e.positionType + '.'); + } + return { children: e.children, depth: h }; + }, 'getVListChildrenAndDepth')), + (kxe = o(function (e, r) { + for (var { children: n, depth: i } = Txe(e), a = 0, s = 0; s < n.length; s++) { + var l = n[s]; + if (l.type === 'elem') { + var u = l.elem; + a = Math.max(a, u.maxFontSize, u.height); + } + } + a += 2; + var h = ds(['pstrut'], []); + h.style.height = ct(a); + for (var f = [], d = i, p = i, m = i, g = 0; g < n.length; g++) { + var y = n[g]; + if (y.type === 'kern') m += y.size; + else { + var v = y.elem, + x = y.wrapperClasses || [], + b = y.wrapperStyle || {}, + w = ds(x, [h, v], void 0, b); + (w.style.top = ct(-a - m - v.depth)), + y.marginLeft && (w.style.marginLeft = y.marginLeft), + y.marginRight && (w.style.marginRight = y.marginRight), + f.push(w), + (m += v.height + v.depth); + } + (d = Math.min(d, m)), (p = Math.max(p, m)); + } + var S = ds(['vlist'], f); + S.style.height = ct(p); + var T; + if (d < 0) { + var E = ds([], []), + _ = ds(['vlist'], [E]); + _.style.height = ct(-d); + var A = ds(['vlist-s'], [new ms('\u200B')]); + T = [ds(['vlist-r'], [S, A]), ds(['vlist-r'], [_])]; + } else T = [ds(['vlist-r'], [S])]; + var L = ds(['vlist-t'], T); + return T.length === 2 && L.classes.push('vlist-t2'), (L.height = p), (L.depth = -d), L; + }, 'makeVList')), + (Exe = o((t, e) => { + var r = ds(['mspace'], [], e), + n = Hn(t, e); + return (r.style.marginRight = ct(n)), r; + }, 'makeGlue')), + (a4 = o(function (e, r, n) { + var i = ''; + switch (e) { + case 'amsrm': + i = 'AMS'; + break; + case 'textrm': + i = 'Main'; + break; + case 'textsf': + i = 'SansSerif'; + break; + case 'texttt': + i = 'Typewriter'; + break; + default: + i = e; + } + var a; + return ( + r === 'textbf' && n === 'textit' + ? (a = 'BoldItalic') + : r === 'textbf' + ? (a = 'Bold') + : r === 'textit' + ? (a = 'Italic') + : (a = 'Regular'), + i + '-' + a + ); + }, 'retrieveTextFontName')), + (BG = { + mathbf: { variant: 'bold', fontName: 'Main-Bold' }, + mathrm: { variant: 'normal', fontName: 'Main-Regular' }, + textit: { variant: 'italic', fontName: 'Main-Italic' }, + mathit: { variant: 'italic', fontName: 'Main-Italic' }, + mathnormal: { variant: 'italic', fontName: 'Math-Italic' }, + mathbb: { variant: 'double-struck', fontName: 'AMS-Regular' }, + mathcal: { variant: 'script', fontName: 'Caligraphic-Regular' }, + mathfrak: { variant: 'fraktur', fontName: 'Fraktur-Regular' }, + mathscr: { variant: 'script', fontName: 'Script-Regular' }, + mathsf: { variant: 'sans-serif', fontName: 'SansSerif-Regular' }, + mathtt: { variant: 'monospace', fontName: 'Typewriter-Regular' } + }), + (FG = { + vec: ['vec', 0.471, 0.714], + oiintSize1: ['oiintSize1', 0.957, 0.499], + oiintSize2: ['oiintSize2', 1.472, 0.659], + oiiintSize1: ['oiiintSize1', 1.304, 0.499], + oiiintSize2: ['oiiintSize2', 1.98, 0.659] + }), + (Cxe = o(function (e, r) { + var [n, i, a] = FG[e], + s = new Jl(n), + l = new ll([s], { + width: ct(i), + height: ct(a), + style: 'width:' + ct(i), + viewBox: '0 0 ' + 1e3 * i + ' ' + 1e3 * a, + preserveAspectRatio: 'xMinYMin' + }), + u = OG(['overlay'], [l], r); + return (u.height = a), (u.style.height = ct(a)), (u.style.width = ct(i)), u; + }, 'staticSvg')), + (Be = { + fontMap: BG, + makeSymbol: ol, + mathsym: pxe, + makeSpan: ds, + makeSvgSpan: OG, + makeLineSpan: xxe, + makeAnchor: bxe, + makeFragment: PG, + wrapFragment: wxe, + makeVList: kxe, + makeOrd: gxe, + makeGlue: Exe, + staticSvg: Cxe, + svgData: FG, + tryCombineChars: vxe + }), + (Un = { number: 3, unit: 'mu' }), + (Wf = { number: 4, unit: 'mu' }), + (nu = { number: 5, unit: 'mu' }), + (Sxe = { + mord: { mop: Un, mbin: Wf, mrel: nu, minner: Un }, + mop: { mord: Un, mop: Un, mrel: nu, minner: Un }, + mbin: { mord: Wf, mop: Wf, mopen: Wf, minner: Wf }, + mrel: { mord: nu, mop: nu, mopen: nu, minner: nu }, + mopen: {}, + mclose: { mop: Un, mbin: Wf, mrel: nu, minner: Un }, + mpunct: { + mord: Un, + mop: Un, + mrel: nu, + mopen: Un, + mclose: Un, + mpunct: Un, + minner: Un + }, + minner: { + mord: Un, + mop: Un, + mbin: Wf, + mrel: nu, + mopen: Un, + mpunct: Un, + minner: Un + } + }), + (Axe = { + mord: { mop: Un }, + mop: { mord: Un, mop: Un }, + mbin: {}, + mrel: {}, + mopen: {}, + mclose: { mop: Un }, + mpunct: {}, + minner: { mop: Un } + }), + (zG = {}), + (m4 = {}), + (g4 = {}); + o(vt, 'defineFunction'); + o(Kf, 'defineFunctionBuilders'); + (y4 = o(function (e) { + return e.type === 'ordgroup' && e.body.length === 1 ? e.body[0] : e; + }, 'normalizeArgument')), + (ui = o(function (e) { + return e.type === 'ordgroup' ? e.body : [e]; + }, 'ordargument')), + (su = Be.makeSpan), + (_xe = ['leftmost', 'mbin', 'mopen', 'mrel', 'mop', 'mpunct']), + (Lxe = ['rightmost', 'mrel', 'mclose', 'mpunct']), + (Dxe = { + display: Ht.DISPLAY, + text: Ht.TEXT, + script: Ht.SCRIPT, + scriptscript: Ht.SCRIPTSCRIPT + }), + (Rxe = { + mord: 'mord', + mop: 'mop', + mbin: 'mbin', + mrel: 'mrel', + mopen: 'mopen', + mclose: 'mclose', + mpunct: 'mpunct', + minner: 'minner' + }), + (Ri = o(function (e, r, n, i) { + i === void 0 && (i = [null, null]); + for (var a = [], s = 0; s < e.length; s++) { + var l = Cr(e[s], r); + if (l instanceof Xf) { + var u = l.children; + a.push(...u); + } else a.push(l); + } + if ((Be.tryCombineChars(a), !n)) return a; + var h = r; + if (e.length === 1) { + var f = e[0]; + f.type === 'sizing' + ? (h = r.havingSize(f.size)) + : f.type === 'styling' && (h = r.havingStyle(Dxe[f.style])); + } + var d = su([i[0] || 'leftmost'], [], r), + p = su([i[1] || 'rightmost'], [], r), + m = n === 'root'; + return ( + aG( + a, + (g, y) => { + var v = y.classes[0], + x = g.classes[0]; + v === 'mbin' && Vt.contains(Lxe, x) + ? (y.classes[0] = 'mord') + : x === 'mbin' && Vt.contains(_xe, v) && (g.classes[0] = 'mord'); + }, + { node: d }, + p, + m + ), + aG( + a, + (g, y) => { + var v = E7(y), + x = E7(g), + b = v && x ? (g.hasClass('mtight') ? Axe[v][x] : Sxe[v][x]) : null; + if (b) return Be.makeGlue(b, h); + }, + { node: d }, + p, + m + ), + a + ); + }, 'buildExpression')), + (aG = o(function t(e, r, n, i, a) { + i && e.push(i); + for (var s = 0; s < e.length; s++) { + var l = e[s], + u = GG(l); + if (u) { + t(u.children, r, n, null, a); + continue; + } + var h = !l.hasClass('mspace'); + if (h) { + var f = r(l, n.node); + f && (n.insertAfter ? n.insertAfter(f) : (e.unshift(f), s++)); + } + h ? (n.node = l) : a && l.hasClass('newline') && (n.node = su(['leftmost'])), + (n.insertAfter = ((d) => (p) => { + e.splice(d + 1, 0, p), s++; + })(s)); + } + i && e.pop(); + }, 'traverseNonSpaceNodes')), + (GG = o(function (e) { + return e instanceof Xf || e instanceof iy || (e instanceof jf && e.hasClass('enclosing')) + ? e + : null; + }, 'checkPartialGroup')), + (Nxe = o(function t(e, r) { + var n = GG(e); + if (n) { + var i = n.children; + if (i.length) { + if (r === 'right') return t(i[i.length - 1], 'right'); + if (r === 'left') return t(i[0], 'left'); + } + } + return e; + }, 'getOutermostNode')), + (E7 = o(function (e, r) { + return e ? (r && (e = Nxe(e, r)), Rxe[e.classes[0]] || null) : null; + }, 'getTypeOfDomTree')), + (sy = o(function (e, r) { + var n = ['nulldelimiter'].concat(e.baseSizingClasses()); + return su(r.concat(n)); + }, 'makeNullDelimiter')), + (Cr = o(function (e, r, n) { + if (!e) return su(); + if (m4[e.type]) { + var i = m4[e.type](e, r); + if (n && r.size !== n.size) { + i = su(r.sizingClasses(n), [i], r); + var a = r.sizeMultiplier / n.sizeMultiplier; + (i.height *= a), (i.depth *= a); + } + return i; + } else throw new nt("Got group of unknown type: '" + e.type + "'"); + }, 'buildGroup')); + o(s4, 'buildHTMLUnbreakable'); + o(C7, 'buildHTML'); + o($G, 'newDocumentFragment'); + (ps = class { + static { + o(this, 'MathNode'); + } + constructor(e, r, n) { + (this.type = void 0), + (this.attributes = void 0), + (this.children = void 0), + (this.classes = void 0), + (this.type = e), + (this.attributes = {}), + (this.children = r || []), + (this.classes = n || []); + } + setAttribute(e, r) { + this.attributes[e] = r; + } + getAttribute(e) { + return this.attributes[e]; + } + toNode() { + var e = document.createElementNS('http://www.w3.org/1998/Math/MathML', this.type); + for (var r in this.attributes) + Object.prototype.hasOwnProperty.call(this.attributes, r) && + e.setAttribute(r, this.attributes[r]); + this.classes.length > 0 && (e.className = dh(this.classes)); + for (var n = 0; n < this.children.length; n++) e.appendChild(this.children[n].toNode()); + return e; + } + toMarkup() { + var e = '<' + this.type; + for (var r in this.attributes) + Object.prototype.hasOwnProperty.call(this.attributes, r) && + ((e += ' ' + r + '="'), (e += Vt.escape(this.attributes[r])), (e += '"')); + this.classes.length > 0 && (e += ' class ="' + Vt.escape(dh(this.classes)) + '"'), (e += '>'); + for (var n = 0; n < this.children.length; n++) e += this.children[n].toMarkup(); + return (e += ''), e; + } + toText() { + return this.children.map((e) => e.toText()).join(''); + } + }), + (qf = class { + static { + o(this, 'TextNode'); + } + constructor(e) { + (this.text = void 0), (this.text = e); + } + toNode() { + return document.createTextNode(this.text); + } + toMarkup() { + return Vt.escape(this.toText()); + } + toText() { + return this.text; + } + }), + (S7 = class { + static { + o(this, 'SpaceNode'); + } + constructor(e) { + (this.width = void 0), + (this.character = void 0), + (this.width = e), + e >= 0.05555 && e <= 0.05556 + ? (this.character = '\u200A') + : e >= 0.1666 && e <= 0.1667 + ? (this.character = '\u2009') + : e >= 0.2222 && e <= 0.2223 + ? (this.character = '\u2005') + : e >= 0.2777 && e <= 0.2778 + ? (this.character = '\u2005\u200A') + : e >= -0.05556 && e <= -0.05555 + ? (this.character = '\u200A\u2063') + : e >= -0.1667 && e <= -0.1666 + ? (this.character = '\u2009\u2063') + : e >= -0.2223 && e <= -0.2222 + ? (this.character = '\u205F\u2063') + : e >= -0.2778 && e <= -0.2777 + ? (this.character = '\u2005\u2063') + : (this.character = null); + } + toNode() { + if (this.character) return document.createTextNode(this.character); + var e = document.createElementNS('http://www.w3.org/1998/Math/MathML', 'mspace'); + return e.setAttribute('width', ct(this.width)), e; + } + toMarkup() { + return this.character + ? '' + this.character + '' + : ''; + } + toText() { + return this.character ? this.character : ' '; + } + }), + (et = { + MathNode: ps, + TextNode: qf, + SpaceNode: S7, + newDocumentFragment: $G + }), + (_o = o(function (e, r, n) { + return ( + wn[r][e] && + wn[r][e].replace && + e.charCodeAt(0) !== 55349 && + !( + IG.hasOwnProperty(e) && + n && + ((n.fontFamily && n.fontFamily.slice(4, 6) === 'tt') || + (n.font && n.font.slice(4, 6) === 'tt')) + ) && + (e = wn[r][e].replace), + new et.TextNode(e) + ); + }, 'makeText')), + (O7 = o(function (e) { + return e.length === 1 ? e[0] : new et.MathNode('mrow', e); + }, 'makeRow')), + (P7 = o(function (e, r) { + if (r.fontFamily === 'texttt') return 'monospace'; + if (r.fontFamily === 'textsf') + return r.fontShape === 'textit' && r.fontWeight === 'textbf' + ? 'sans-serif-bold-italic' + : r.fontShape === 'textit' + ? 'sans-serif-italic' + : r.fontWeight === 'textbf' + ? 'bold-sans-serif' + : 'sans-serif'; + if (r.fontShape === 'textit' && r.fontWeight === 'textbf') return 'bold-italic'; + if (r.fontShape === 'textit') return 'italic'; + if (r.fontWeight === 'textbf') return 'bold'; + var n = r.font; + if (!n || n === 'mathnormal') return null; + var i = e.mode; + if (n === 'mathit') return 'italic'; + if (n === 'boldsymbol') return e.type === 'textord' ? 'bold' : 'bold-italic'; + if (n === 'mathbf') return 'bold'; + if (n === 'mathbb') return 'double-struck'; + if (n === 'mathfrak') return 'fraktur'; + if (n === 'mathscr' || n === 'mathcal') return 'script'; + if (n === 'mathsf') return 'sans-serif'; + if (n === 'mathtt') return 'monospace'; + var a = e.text; + if (Vt.contains(['\\imath', '\\jmath'], a)) return null; + wn[i][a] && wn[i][a].replace && (a = wn[i][a].replace); + var s = Be.fontMap[n].fontName; + return M7(a, s, i) ? Be.fontMap[n].variant : null; + }, 'getVariant')), + (gs = o(function (e, r, n) { + if (e.length === 1) { + var i = fn(e[0], r); + return ( + n && + i instanceof ps && + i.type === 'mo' && + (i.setAttribute('lspace', '0em'), i.setAttribute('rspace', '0em')), + [i] + ); + } + for (var a = [], s, l = 0; l < e.length; l++) { + var u = fn(e[l], r); + if (u instanceof ps && s instanceof ps) { + if ( + u.type === 'mtext' && + s.type === 'mtext' && + u.getAttribute('mathvariant') === s.getAttribute('mathvariant') + ) { + s.children.push(...u.children); + continue; + } else if (u.type === 'mn' && s.type === 'mn') { + s.children.push(...u.children); + continue; + } else if (u.type === 'mi' && u.children.length === 1 && s.type === 'mn') { + var h = u.children[0]; + if (h instanceof qf && h.text === '.') { + s.children.push(...u.children); + continue; + } + } else if (s.type === 'mi' && s.children.length === 1) { + var f = s.children[0]; + if ( + f instanceof qf && + f.text === '\u0338' && + (u.type === 'mo' || u.type === 'mi' || u.type === 'mn') + ) { + var d = u.children[0]; + d instanceof qf && + d.text.length > 0 && + ((d.text = d.text.slice(0, 1) + '\u0338' + d.text.slice(1)), a.pop()); + } + } + } + a.push(u), (s = u); + } + return a; + }, 'buildExpression')), + (ph = o(function (e, r, n) { + return O7(gs(e, r, n)); + }, 'buildExpressionRow')), + (fn = o(function (e, r) { + if (!e) return new et.MathNode('mrow'); + if (g4[e.type]) { + var n = g4[e.type](e, r); + return n; + } else throw new nt("Got group of unknown type: '" + e.type + "'"); + }, 'buildGroup')); + o(sG, 'buildMathML'); + (VG = o(function (e) { + return new d4({ + style: e.displayMode ? Ht.DISPLAY : Ht.TEXT, + maxSize: e.maxSize, + minRuleThickness: e.minRuleThickness + }); + }, 'optionsFromSettings')), + (UG = o(function (e, r) { + if (r.displayMode) { + var n = ['katex-display']; + r.leqno && n.push('leqno'), r.fleqn && n.push('fleqn'), (e = Be.makeSpan(n, [e])); + } + return e; + }, 'displayWrap')), + (Mxe = o(function (e, r, n) { + var i = VG(n), + a; + if (n.output === 'mathml') return sG(e, r, i, n.displayMode, !0); + if (n.output === 'html') { + var s = C7(e, i); + a = Be.makeSpan(['katex'], [s]); + } else { + var l = sG(e, r, i, n.displayMode, !1), + u = C7(e, i); + a = Be.makeSpan(['katex'], [l, u]); + } + return UG(a, n); + }, 'buildTree')), + (Ixe = o(function (e, r, n) { + var i = VG(n), + a = C7(e, i), + s = Be.makeSpan(['katex'], [a]); + return UG(s, n); + }, 'buildHTMLTree')), + (Oxe = { + widehat: '^', + widecheck: '\u02C7', + widetilde: '~', + utilde: '~', + overleftarrow: '\u2190', + underleftarrow: '\u2190', + xleftarrow: '\u2190', + overrightarrow: '\u2192', + underrightarrow: '\u2192', + xrightarrow: '\u2192', + underbrace: '\u23DF', + overbrace: '\u23DE', + overgroup: '\u23E0', + undergroup: '\u23E1', + overleftrightarrow: '\u2194', + underleftrightarrow: '\u2194', + xleftrightarrow: '\u2194', + Overrightarrow: '\u21D2', + xRightarrow: '\u21D2', + overleftharpoon: '\u21BC', + xleftharpoonup: '\u21BC', + overrightharpoon: '\u21C0', + xrightharpoonup: '\u21C0', + xLeftarrow: '\u21D0', + xLeftrightarrow: '\u21D4', + xhookleftarrow: '\u21A9', + xhookrightarrow: '\u21AA', + xmapsto: '\u21A6', + xrightharpoondown: '\u21C1', + xleftharpoondown: '\u21BD', + xrightleftharpoons: '\u21CC', + xleftrightharpoons: '\u21CB', + xtwoheadleftarrow: '\u219E', + xtwoheadrightarrow: '\u21A0', + xlongequal: '=', + xtofrom: '\u21C4', + xrightleftarrows: '\u21C4', + xrightequilibrium: '\u21CC', + xleftequilibrium: '\u21CB', + '\\cdrightarrow': '\u2192', + '\\cdleftarrow': '\u2190', + '\\cdlongequal': '=' + }), + (Pxe = o(function (e) { + var r = new et.MathNode('mo', [new et.TextNode(Oxe[e.replace(/^\\/, '')])]); + return r.setAttribute('stretchy', 'true'), r; + }, 'mathMLnode')), + (Bxe = { + overrightarrow: [['rightarrow'], 0.888, 522, 'xMaxYMin'], + overleftarrow: [['leftarrow'], 0.888, 522, 'xMinYMin'], + underrightarrow: [['rightarrow'], 0.888, 522, 'xMaxYMin'], + underleftarrow: [['leftarrow'], 0.888, 522, 'xMinYMin'], + xrightarrow: [['rightarrow'], 1.469, 522, 'xMaxYMin'], + '\\cdrightarrow': [['rightarrow'], 3, 522, 'xMaxYMin'], + xleftarrow: [['leftarrow'], 1.469, 522, 'xMinYMin'], + '\\cdleftarrow': [['leftarrow'], 3, 522, 'xMinYMin'], + Overrightarrow: [['doublerightarrow'], 0.888, 560, 'xMaxYMin'], + xRightarrow: [['doublerightarrow'], 1.526, 560, 'xMaxYMin'], + xLeftarrow: [['doubleleftarrow'], 1.526, 560, 'xMinYMin'], + overleftharpoon: [['leftharpoon'], 0.888, 522, 'xMinYMin'], + xleftharpoonup: [['leftharpoon'], 0.888, 522, 'xMinYMin'], + xleftharpoondown: [['leftharpoondown'], 0.888, 522, 'xMinYMin'], + overrightharpoon: [['rightharpoon'], 0.888, 522, 'xMaxYMin'], + xrightharpoonup: [['rightharpoon'], 0.888, 522, 'xMaxYMin'], + xrightharpoondown: [['rightharpoondown'], 0.888, 522, 'xMaxYMin'], + xlongequal: [['longequal'], 0.888, 334, 'xMinYMin'], + '\\cdlongequal': [['longequal'], 3, 334, 'xMinYMin'], + xtwoheadleftarrow: [['twoheadleftarrow'], 0.888, 334, 'xMinYMin'], + xtwoheadrightarrow: [['twoheadrightarrow'], 0.888, 334, 'xMaxYMin'], + overleftrightarrow: [['leftarrow', 'rightarrow'], 0.888, 522], + overbrace: [['leftbrace', 'midbrace', 'rightbrace'], 1.6, 548], + underbrace: [['leftbraceunder', 'midbraceunder', 'rightbraceunder'], 1.6, 548], + underleftrightarrow: [['leftarrow', 'rightarrow'], 0.888, 522], + xleftrightarrow: [['leftarrow', 'rightarrow'], 1.75, 522], + xLeftrightarrow: [['doubleleftarrow', 'doublerightarrow'], 1.75, 560], + xrightleftharpoons: [['leftharpoondownplus', 'rightharpoonplus'], 1.75, 716], + xleftrightharpoons: [['leftharpoonplus', 'rightharpoondownplus'], 1.75, 716], + xhookleftarrow: [['leftarrow', 'righthook'], 1.08, 522], + xhookrightarrow: [['lefthook', 'rightarrow'], 1.08, 522], + overlinesegment: [['leftlinesegment', 'rightlinesegment'], 0.888, 522], + underlinesegment: [['leftlinesegment', 'rightlinesegment'], 0.888, 522], + overgroup: [['leftgroup', 'rightgroup'], 0.888, 342], + undergroup: [['leftgroupunder', 'rightgroupunder'], 0.888, 342], + xmapsto: [['leftmapsto', 'rightarrow'], 1.5, 522], + xtofrom: [['leftToFrom', 'rightToFrom'], 1.75, 528], + xrightleftarrows: [['baraboveleftarrow', 'rightarrowabovebar'], 1.75, 901], + xrightequilibrium: [['baraboveshortleftharpoon', 'rightharpoonaboveshortbar'], 1.75, 716], + xleftequilibrium: [['shortbaraboveleftharpoon', 'shortrightharpoonabovebar'], 1.75, 716] + }), + (Fxe = o(function (e) { + return e.type === 'ordgroup' ? e.body.length : 1; + }, 'groupLength')), + (zxe = o(function (e, r) { + function n() { + var l = 4e5, + u = e.label.slice(1); + if (Vt.contains(['widehat', 'widecheck', 'widetilde', 'utilde'], u)) { + var h = e, + f = Fxe(h.base), + d, + p, + m; + if (f > 5) + u === 'widehat' || u === 'widecheck' + ? ((d = 420), (l = 2364), (m = 0.42), (p = u + '4')) + : ((d = 312), (l = 2340), (m = 0.34), (p = 'tilde4')); + else { + var g = [1, 1, 2, 2, 3, 3][f]; + u === 'widehat' || u === 'widecheck' + ? ((l = [0, 1062, 2364, 2364, 2364][g]), + (d = [0, 239, 300, 360, 420][g]), + (m = [0, 0.24, 0.3, 0.3, 0.36, 0.42][g]), + (p = u + g)) + : ((l = [0, 600, 1033, 2339, 2340][g]), + (d = [0, 260, 286, 306, 312][g]), + (m = [0, 0.26, 0.286, 0.3, 0.306, 0.34][g]), + (p = 'tilde' + g)); + } + var y = new Jl(p), + v = new ll([y], { + width: '100%', + height: ct(m), + viewBox: '0 0 ' + l + ' ' + d, + preserveAspectRatio: 'none' + }); + return { + span: Be.makeSvgSpan([], [v], r), + minWidth: 0, + height: m + }; + } else { + var x = [], + b = Bxe[u], + [w, S, T] = b, + E = T / 1e3, + _ = w.length, + A, + L; + if (_ === 1) { + var M = b[3]; + (A = ['hide-tail']), (L = [M]); + } else if (_ === 2) + (A = ['halfarrow-left', 'halfarrow-right']), (L = ['xMinYMin', 'xMaxYMin']); + else if (_ === 3) + (A = ['brace-left', 'brace-center', 'brace-right']), + (L = ['xMinYMin', 'xMidYMin', 'xMaxYMin']); + else + throw new Error( + `Correct katexImagesData or update code here to support + ` + + _ + + ' children.' + ); + for (var N = 0; N < _; N++) { + var k = new Jl(w[N]), + I = new ll([k], { + width: '400em', + height: ct(E), + viewBox: '0 0 ' + l + ' ' + T, + preserveAspectRatio: L[N] + ' slice' + }), + C = Be.makeSvgSpan([A[N]], [I], r); + if (_ === 1) return { span: C, minWidth: S, height: E }; + (C.style.height = ct(E)), x.push(C); + } + return { + span: Be.makeSpan(['stretchy'], x, r), + minWidth: S, + height: E + }; + } + } + o(n, 'buildSvgSpan_'); + var { span: i, minWidth: a, height: s } = n(); + return (i.height = s), (i.style.height = ct(s)), a > 0 && (i.style.minWidth = ct(a)), i; + }, 'svgSpan')), + (Gxe = o(function (e, r, n, i, a) { + var s, + l = e.height + e.depth + n + i; + if (/fbox|color|angl/.test(r)) { + if (((s = Be.makeSpan(['stretchy', r], [], a)), r === 'fbox')) { + var u = a.color && a.getColor(); + u && (s.style.borderColor = u); + } + } else { + var h = []; + /^[bx]cancel$/.test(r) && + h.push( + new ay({ + x1: '0', + y1: '0', + x2: '100%', + y2: '100%', + 'stroke-width': '0.046em' + }) + ), + /^x?cancel$/.test(r) && + h.push( + new ay({ + x1: '0', + y1: '100%', + x2: '100%', + y2: '0', + 'stroke-width': '0.046em' + }) + ); + var f = new ll(h, { width: '100%', height: ct(l) }); + s = Be.makeSvgSpan([], [f], a); + } + return (s.height = l), (s.style.height = ct(l)), s; + }, 'encloseSpan')), + (ou = { encloseSpan: Gxe, mathMLnode: Pxe, svgSpan: zxe }); + o(ir, 'assertNodeType'); + o(B7, 'assertSymbolNodeType'); + o(T4, 'checkSymbolNodeType'); + (F7 = o((t, e) => { + var r, n, i; + t && t.type === 'supsub' + ? ((n = ir(t.base, 'accent')), (r = n.base), (t.base = r), (i = uxe(Cr(t, e))), (t.base = n)) + : ((n = ir(t, 'accent')), (r = n.base)); + var a = Cr(r, e.havingCrampedStyle()), + s = n.isShifty && Vt.isCharacterBox(r), + l = 0; + if (s) { + var u = Vt.getBaseElem(r), + h = Cr(u, e.havingCrampedStyle()); + l = tG(h).skew; + } + var f = n.label === '\\c', + d = f ? a.height + a.depth : Math.min(a.height, e.fontMetrics().xHeight), + p; + if (n.isStretchy) + (p = ou.svgSpan(n, e)), + (p = Be.makeVList( + { + positionType: 'firstBaseline', + children: [ + { type: 'elem', elem: a }, + { + type: 'elem', + elem: p, + wrapperClasses: ['svg-align'], + wrapperStyle: + l > 0 + ? { + width: 'calc(100% - ' + ct(2 * l) + ')', + marginLeft: ct(2 * l) + } + : void 0 + } + ] + }, + e + )); + else { + var m, g; + n.label === '\\vec' + ? ((m = Be.staticSvg('vec', e)), (g = Be.svgData.vec[1])) + : ((m = Be.makeOrd({ mode: n.mode, text: n.label }, e, 'textord')), + (m = tG(m)), + (m.italic = 0), + (g = m.width), + f && (d += m.depth)), + (p = Be.makeSpan(['accent-body'], [m])); + var y = n.label === '\\textcircled'; + y && (p.classes.push('accent-full'), (d = a.height)); + var v = l; + y || (v -= g / 2), + (p.style.left = ct(v)), + n.label === '\\textcircled' && (p.style.top = '.2em'), + (p = Be.makeVList( + { + positionType: 'firstBaseline', + children: [ + { type: 'elem', elem: a }, + { type: 'kern', size: -d }, + { type: 'elem', elem: p } + ] + }, + e + )); + } + var x = Be.makeSpan(['mord', 'accent'], [p], e); + return i + ? ((i.children[0] = x), (i.height = Math.max(x.height, i.height)), (i.classes[0] = 'mord'), i) + : x; + }, 'htmlBuilder$a')), + (HG = o((t, e) => { + var r = t.isStretchy ? ou.mathMLnode(t.label) : new et.MathNode('mo', [_o(t.label, t.mode)]), + n = new et.MathNode('mover', [fn(t.base, e), r]); + return n.setAttribute('accent', 'true'), n; + }, 'mathmlBuilder$9')), + ($xe = new RegExp( + [ + '\\acute', + '\\grave', + '\\ddot', + '\\tilde', + '\\bar', + '\\breve', + '\\check', + '\\hat', + '\\vec', + '\\dot', + '\\mathring' + ] + .map((t) => '\\' + t) + .join('|') + )); + vt({ + type: 'accent', + names: [ + '\\acute', + '\\grave', + '\\ddot', + '\\tilde', + '\\bar', + '\\breve', + '\\check', + '\\hat', + '\\vec', + '\\dot', + '\\mathring', + '\\widecheck', + '\\widehat', + '\\widetilde', + '\\overrightarrow', + '\\overleftarrow', + '\\Overrightarrow', + '\\overleftrightarrow', + '\\overgroup', + '\\overlinesegment', + '\\overleftharpoon', + '\\overrightharpoon' + ], + props: { numArgs: 1 }, + handler: o((t, e) => { + var r = y4(e[0]), + n = !$xe.test(t.funcName), + i = + !n || + t.funcName === '\\widehat' || + t.funcName === '\\widetilde' || + t.funcName === '\\widecheck'; + return { + type: 'accent', + mode: t.parser.mode, + label: t.funcName, + isStretchy: n, + isShifty: i, + base: r + }; + }, 'handler'), + htmlBuilder: F7, + mathmlBuilder: HG + }); + vt({ + type: 'accent', + names: [ + "\\'", + '\\`', + '\\^', + '\\~', + '\\=', + '\\u', + '\\.', + '\\"', + '\\c', + '\\r', + '\\H', + '\\v', + '\\textcircled' + ], + props: { + numArgs: 1, + allowedInText: !0, + allowedInMath: !0, + argTypes: ['primitive'] + }, + handler: o((t, e) => { + var r = e[0], + n = t.parser.mode; + return ( + n === 'math' && + (t.parser.settings.reportNonstrict( + 'mathVsTextAccents', + "LaTeX's accent " + t.funcName + ' works only in text mode' + ), + (n = 'text')), + { + type: 'accent', + mode: n, + label: t.funcName, + isStretchy: !1, + isShifty: !0, + base: r + } + ); + }, 'handler'), + htmlBuilder: F7, + mathmlBuilder: HG + }); + vt({ + type: 'accentUnder', + names: [ + '\\underleftarrow', + '\\underrightarrow', + '\\underleftrightarrow', + '\\undergroup', + '\\underlinesegment', + '\\utilde' + ], + props: { numArgs: 1 }, + handler: o((t, e) => { + var { parser: r, funcName: n } = t, + i = e[0]; + return { type: 'accentUnder', mode: r.mode, label: n, base: i }; + }, 'handler'), + htmlBuilder: o((t, e) => { + var r = Cr(t.base, e), + n = ou.svgSpan(t, e), + i = t.label === '\\utilde' ? 0.12 : 0, + a = Be.makeVList( + { + positionType: 'top', + positionData: r.height, + children: [ + { type: 'elem', elem: n, wrapperClasses: ['svg-align'] }, + { type: 'kern', size: i }, + { type: 'elem', elem: r } + ] + }, + e + ); + return Be.makeSpan(['mord', 'accentunder'], [a], e); + }, 'htmlBuilder'), + mathmlBuilder: o((t, e) => { + var r = ou.mathMLnode(t.label), + n = new et.MathNode('munder', [fn(t.base, e), r]); + return n.setAttribute('accentunder', 'true'), n; + }, 'mathmlBuilder') + }); + o4 = o((t) => { + var e = new et.MathNode('mpadded', t ? [t] : []); + return e.setAttribute('width', '+0.6em'), e.setAttribute('lspace', '0.3em'), e; + }, 'paddedNode'); + vt({ + type: 'xArrow', + names: [ + '\\xleftarrow', + '\\xrightarrow', + '\\xLeftarrow', + '\\xRightarrow', + '\\xleftrightarrow', + '\\xLeftrightarrow', + '\\xhookleftarrow', + '\\xhookrightarrow', + '\\xmapsto', + '\\xrightharpoondown', + '\\xrightharpoonup', + '\\xleftharpoondown', + '\\xleftharpoonup', + '\\xrightleftharpoons', + '\\xleftrightharpoons', + '\\xlongequal', + '\\xtwoheadrightarrow', + '\\xtwoheadleftarrow', + '\\xtofrom', + '\\xrightleftarrows', + '\\xrightequilibrium', + '\\xleftequilibrium', + '\\\\cdrightarrow', + '\\\\cdleftarrow', + '\\\\cdlongequal' + ], + props: { numArgs: 1, numOptionalArgs: 1 }, + handler(t, e, r) { + var { parser: n, funcName: i } = t; + return { + type: 'xArrow', + mode: n.mode, + label: i, + body: e[0], + below: r[0] + }; + }, + htmlBuilder(t, e) { + var r = e.style, + n = e.havingStyle(r.sup()), + i = Be.wrapFragment(Cr(t.body, n, e), e), + a = t.label.slice(0, 2) === '\\x' ? 'x' : 'cd'; + i.classes.push(a + '-arrow-pad'); + var s; + t.below && + ((n = e.havingStyle(r.sub())), + (s = Be.wrapFragment(Cr(t.below, n, e), e)), + s.classes.push(a + '-arrow-pad')); + var l = ou.svgSpan(t, e), + u = -e.fontMetrics().axisHeight + 0.5 * l.height, + h = -e.fontMetrics().axisHeight - 0.5 * l.height - 0.111; + (i.depth > 0.25 || t.label === '\\xleftequilibrium') && (h -= i.depth); + var f; + if (s) { + var d = -e.fontMetrics().axisHeight + s.height + 0.5 * l.height + 0.111; + f = Be.makeVList( + { + positionType: 'individualShift', + children: [ + { type: 'elem', elem: i, shift: h }, + { type: 'elem', elem: l, shift: u }, + { type: 'elem', elem: s, shift: d } + ] + }, + e + ); + } else + f = Be.makeVList( + { + positionType: 'individualShift', + children: [ + { type: 'elem', elem: i, shift: h }, + { type: 'elem', elem: l, shift: u } + ] + }, + e + ); + return ( + f.children[0].children[0].children[1].classes.push('svg-align'), + Be.makeSpan(['mrel', 'x-arrow'], [f], e) + ); + }, + mathmlBuilder(t, e) { + var r = ou.mathMLnode(t.label); + r.setAttribute('minsize', t.label.charAt(0) === 'x' ? '1.75em' : '3.0em'); + var n; + if (t.body) { + var i = o4(fn(t.body, e)); + if (t.below) { + var a = o4(fn(t.below, e)); + n = new et.MathNode('munderover', [r, a, i]); + } else n = new et.MathNode('mover', [r, i]); + } else if (t.below) { + var s = o4(fn(t.below, e)); + n = new et.MathNode('munder', [r, s]); + } else (n = o4()), (n = new et.MathNode('mover', [r, n])); + return n; + } + }); + Vxe = Be.makeSpan; + o(YG, 'htmlBuilder$9'); + o(WG, 'mathmlBuilder$8'); + vt({ + type: 'mclass', + names: [ + '\\mathord', + '\\mathbin', + '\\mathrel', + '\\mathopen', + '\\mathclose', + '\\mathpunct', + '\\mathinner' + ], + props: { numArgs: 1, primitive: !0 }, + handler(t, e) { + var { parser: r, funcName: n } = t, + i = e[0]; + return { + type: 'mclass', + mode: r.mode, + mclass: 'm' + n.slice(5), + body: ui(i), + isCharacterBox: Vt.isCharacterBox(i) + }; + }, + htmlBuilder: YG, + mathmlBuilder: WG + }); + k4 = o((t) => { + var e = t.type === 'ordgroup' && t.body.length ? t.body[0] : t; + return e.type === 'atom' && (e.family === 'bin' || e.family === 'rel') ? 'm' + e.family : 'mord'; + }, 'binrelClass'); + vt({ + type: 'mclass', + names: ['\\@binrel'], + props: { numArgs: 2 }, + handler(t, e) { + var { parser: r } = t; + return { + type: 'mclass', + mode: r.mode, + mclass: k4(e[0]), + body: ui(e[1]), + isCharacterBox: Vt.isCharacterBox(e[1]) + }; + } + }); + vt({ + type: 'mclass', + names: ['\\stackrel', '\\overset', '\\underset'], + props: { numArgs: 2 }, + handler(t, e) { + var { parser: r, funcName: n } = t, + i = e[1], + a = e[0], + s; + n !== '\\stackrel' ? (s = k4(i)) : (s = 'mrel'); + var l = { + type: 'op', + mode: i.mode, + limits: !0, + alwaysHandleSupSub: !0, + parentIsSupSub: !1, + symbol: !1, + suppressBaseShift: n !== '\\stackrel', + body: ui(i) + }, + u = { + type: 'supsub', + mode: a.mode, + base: l, + sup: n === '\\underset' ? null : a, + sub: n === '\\underset' ? a : null + }; + return { + type: 'mclass', + mode: r.mode, + mclass: s, + body: [u], + isCharacterBox: Vt.isCharacterBox(u) + }; + }, + htmlBuilder: YG, + mathmlBuilder: WG + }); + vt({ + type: 'pmb', + names: ['\\pmb'], + props: { numArgs: 1, allowedInText: !0 }, + handler(t, e) { + var { parser: r } = t; + return { + type: 'pmb', + mode: r.mode, + mclass: k4(e[0]), + body: ui(e[0]) + }; + }, + htmlBuilder(t, e) { + var r = Ri(t.body, e, !0), + n = Be.makeSpan([t.mclass], r, e); + return (n.style.textShadow = '0.02em 0.01em 0.04px'), n; + }, + mathmlBuilder(t, e) { + var r = gs(t.body, e), + n = new et.MathNode('mstyle', r); + return n.setAttribute('style', 'text-shadow: 0.02em 0.01em 0.04px'), n; + } + }); + (Uxe = { + '>': '\\\\cdrightarrow', + '<': '\\\\cdleftarrow', + '=': '\\\\cdlongequal', + A: '\\uparrow', + V: '\\downarrow', + '|': '\\Vert', + '.': 'no arrow' + }), + (oG = o(() => ({ type: 'styling', body: [], mode: 'math', style: 'display' }), 'newCell')), + (lG = o((t) => t.type === 'textord' && t.text === '@', 'isStartOfArrow')), + (Hxe = o((t, e) => (t.type === 'mathord' || t.type === 'atom') && t.text === e, 'isLabelEnd')); + o(Yxe, 'cdArrow'); + o(Wxe, 'parseCD'); + vt({ + type: 'cdlabel', + names: ['\\\\cdleft', '\\\\cdright'], + props: { numArgs: 1 }, + handler(t, e) { + var { parser: r, funcName: n } = t; + return { + type: 'cdlabel', + mode: r.mode, + side: n.slice(4), + label: e[0] + }; + }, + htmlBuilder(t, e) { + var r = e.havingStyle(e.style.sup()), + n = Be.wrapFragment(Cr(t.label, r, e), e); + return ( + n.classes.push('cd-label-' + t.side), + (n.style.bottom = ct(0.8 - n.depth)), + (n.height = 0), + (n.depth = 0), + n + ); + }, + mathmlBuilder(t, e) { + var r = new et.MathNode('mrow', [fn(t.label, e)]); + return ( + (r = new et.MathNode('mpadded', [r])), + r.setAttribute('width', '0'), + t.side === 'left' && r.setAttribute('lspace', '-1width'), + r.setAttribute('voffset', '0.7em'), + (r = new et.MathNode('mstyle', [r])), + r.setAttribute('displaystyle', 'false'), + r.setAttribute('scriptlevel', '1'), + r + ); + } + }); + vt({ + type: 'cdlabelparent', + names: ['\\\\cdparent'], + props: { numArgs: 1 }, + handler(t, e) { + var { parser: r } = t; + return { type: 'cdlabelparent', mode: r.mode, fragment: e[0] }; + }, + htmlBuilder(t, e) { + var r = Be.wrapFragment(Cr(t.fragment, e), e); + return r.classes.push('cd-vert-arrow'), r; + }, + mathmlBuilder(t, e) { + return new et.MathNode('mrow', [fn(t.fragment, e)]); + } + }); + vt({ + type: 'textord', + names: ['\\@char'], + props: { numArgs: 1, allowedInText: !0 }, + handler(t, e) { + for ( + var { parser: r } = t, n = ir(e[0], 'ordgroup'), i = n.body, a = '', s = 0; + s < i.length; + s++ + ) { + var l = ir(i[s], 'textord'); + a += l.text; + } + var u = parseInt(a), + h; + if (isNaN(u)) throw new nt('\\@char has non-numeric argument ' + a); + if (u < 0 || u >= 1114111) throw new nt('\\@char with invalid code point ' + a); + return ( + u <= 65535 + ? (h = String.fromCharCode(u)) + : ((u -= 65536), (h = String.fromCharCode((u >> 10) + 55296, (u & 1023) + 56320))), + { type: 'textord', mode: r.mode, text: h } + ); + } + }); + (qG = o((t, e) => { + var r = Ri(t.body, e.withColor(t.color), !1); + return Be.makeFragment(r); + }, 'htmlBuilder$8')), + (XG = o((t, e) => { + var r = gs(t.body, e.withColor(t.color)), + n = new et.MathNode('mstyle', r); + return n.setAttribute('mathcolor', t.color), n; + }, 'mathmlBuilder$7')); + vt({ + type: 'color', + names: ['\\textcolor'], + props: { + numArgs: 2, + allowedInText: !0, + argTypes: ['color', 'original'] + }, + handler(t, e) { + var { parser: r } = t, + n = ir(e[0], 'color-token').color, + i = e[1]; + return { type: 'color', mode: r.mode, color: n, body: ui(i) }; + }, + htmlBuilder: qG, + mathmlBuilder: XG + }); + vt({ + type: 'color', + names: ['\\color'], + props: { numArgs: 1, allowedInText: !0, argTypes: ['color'] }, + handler(t, e) { + var { parser: r, breakOnTokenText: n } = t, + i = ir(e[0], 'color-token').color; + r.gullet.macros.set('\\current@color', i); + var a = r.parseExpression(!0, n); + return { type: 'color', mode: r.mode, color: i, body: a }; + }, + htmlBuilder: qG, + mathmlBuilder: XG + }); + vt({ + type: 'cr', + names: ['\\\\'], + props: { numArgs: 0, numOptionalArgs: 0, allowedInText: !0 }, + handler(t, e, r) { + var { parser: n } = t, + i = n.gullet.future().text === '[' ? n.parseSizeGroup(!0) : null, + a = + !n.settings.displayMode || + !n.settings.useStrictBehavior( + 'newLineInDisplayMode', + 'In LaTeX, \\\\ or \\newline does nothing in display mode' + ); + return { + type: 'cr', + mode: n.mode, + newLine: a, + size: i && ir(i, 'size').value + }; + }, + htmlBuilder(t, e) { + var r = Be.makeSpan(['mspace'], [], e); + return ( + t.newLine && (r.classes.push('newline'), t.size && (r.style.marginTop = ct(Hn(t.size, e)))), r + ); + }, + mathmlBuilder(t, e) { + var r = new et.MathNode('mspace'); + return ( + t.newLine && + (r.setAttribute('linebreak', 'newline'), + t.size && r.setAttribute('height', ct(Hn(t.size, e)))), + r + ); + } + }); + (A7 = { + '\\global': '\\global', + '\\long': '\\\\globallong', + '\\\\globallong': '\\\\globallong', + '\\def': '\\gdef', + '\\gdef': '\\gdef', + '\\edef': '\\xdef', + '\\xdef': '\\xdef', + '\\let': '\\\\globallet', + '\\futurelet': '\\\\globalfuture' + }), + (jG = o((t) => { + var e = t.text; + if (/^(?:[\\{}$&#^_]|EOF)$/.test(e)) throw new nt('Expected a control sequence', t); + return e; + }, 'checkControlSequence')), + (qxe = o((t) => { + var e = t.gullet.popToken(); + return ( + e.text === '=' && ((e = t.gullet.popToken()), e.text === ' ' && (e = t.gullet.popToken())), e + ); + }, 'getRHS')), + (KG = o((t, e, r, n) => { + var i = t.gullet.macros.get(r.text); + i == null && + ((r.noexpand = !0), + (i = { + tokens: [r], + numArgs: 0, + unexpandable: !t.gullet.isExpandable(r.text) + })), + t.gullet.macros.set(e, i, n); + }, 'letCommand')); + vt({ + type: 'internal', + names: ['\\global', '\\long', '\\\\globallong'], + props: { numArgs: 0, allowedInText: !0 }, + handler(t) { + var { parser: e, funcName: r } = t; + e.consumeSpaces(); + var n = e.fetch(); + if (A7[n.text]) + return ( + (r === '\\global' || r === '\\\\globallong') && (n.text = A7[n.text]), + ir(e.parseFunction(), 'internal') + ); + throw new nt('Invalid token after macro prefix', n); + } + }); + vt({ + type: 'internal', + names: ['\\def', '\\gdef', '\\edef', '\\xdef'], + props: { numArgs: 0, allowedInText: !0, primitive: !0 }, + handler(t) { + var { parser: e, funcName: r } = t, + n = e.gullet.popToken(), + i = n.text; + if (/^(?:[\\{}$&#^_]|EOF)$/.test(i)) throw new nt('Expected a control sequence', n); + for (var a = 0, s, l = [[]]; e.gullet.future().text !== '{'; ) + if (((n = e.gullet.popToken()), n.text === '#')) { + if (e.gullet.future().text === '{') { + (s = e.gullet.future()), l[a].push('{'); + break; + } + if (((n = e.gullet.popToken()), !/^[1-9]$/.test(n.text))) + throw new nt('Invalid argument number "' + n.text + '"'); + if (parseInt(n.text) !== a + 1) + throw new nt('Argument number "' + n.text + '" out of order'); + a++, l.push([]); + } else { + if (n.text === 'EOF') throw new nt('Expected a macro definition'); + l[a].push(n.text); + } + var { tokens: u } = e.gullet.consumeArg(); + return ( + s && u.unshift(s), + (r === '\\edef' || r === '\\xdef') && ((u = e.gullet.expandTokens(u)), u.reverse()), + e.gullet.macros.set(i, { tokens: u, numArgs: a, delimiters: l }, r === A7[r]), + { type: 'internal', mode: e.mode } + ); + } + }); + vt({ + type: 'internal', + names: ['\\let', '\\\\globallet'], + props: { numArgs: 0, allowedInText: !0, primitive: !0 }, + handler(t) { + var { parser: e, funcName: r } = t, + n = jG(e.gullet.popToken()); + e.gullet.consumeSpaces(); + var i = qxe(e); + return KG(e, n, i, r === '\\\\globallet'), { type: 'internal', mode: e.mode }; + } + }); + vt({ + type: 'internal', + names: ['\\futurelet', '\\\\globalfuture'], + props: { numArgs: 0, allowedInText: !0, primitive: !0 }, + handler(t) { + var { parser: e, funcName: r } = t, + n = jG(e.gullet.popToken()), + i = e.gullet.popToken(), + a = e.gullet.popToken(); + return ( + KG(e, n, a, r === '\\\\globalfuture'), + e.gullet.pushToken(a), + e.gullet.pushToken(i), + { type: 'internal', mode: e.mode } + ); + } + }); + (ey = o(function (e, r, n) { + var i = wn.math[e] && wn.math[e].replace, + a = M7(i || e, r, n); + if (!a) throw new Error('Unsupported symbol ' + e + ' and font size ' + r + '.'); + return a; + }, 'getMetrics')), + (z7 = o(function (e, r, n, i) { + var a = n.havingBaseStyle(r), + s = Be.makeSpan(i.concat(a.sizingClasses(n)), [e], n), + l = a.sizeMultiplier / n.sizeMultiplier; + return (s.height *= l), (s.depth *= l), (s.maxFontSize = a.sizeMultiplier), s; + }, 'styleWrap')), + (QG = o(function (e, r, n) { + var i = r.havingBaseStyle(n), + a = (1 - r.sizeMultiplier / i.sizeMultiplier) * r.fontMetrics().axisHeight; + e.classes.push('delimcenter'), (e.style.top = ct(a)), (e.height -= a), (e.depth += a); + }, 'centerSpan')), + (Xxe = o(function (e, r, n, i, a, s) { + var l = Be.makeSymbol(e, 'Main-Regular', a, i), + u = z7(l, r, i, s); + return n && QG(u, i, r), u; + }, 'makeSmallDelim')), + (jxe = o(function (e, r, n, i) { + return Be.makeSymbol(e, 'Size' + r + '-Regular', n, i); + }, 'mathrmSize')), + (ZG = o(function (e, r, n, i, a, s) { + var l = jxe(e, r, a, i), + u = z7(Be.makeSpan(['delimsizing', 'size' + r], [l], i), Ht.TEXT, i, s); + return n && QG(u, i, Ht.TEXT), u; + }, 'makeLargeDelim')), + (h7 = o(function (e, r, n) { + var i; + r === 'Size1-Regular' ? (i = 'delim-size1') : (i = 'delim-size4'); + var a = Be.makeSpan(['delimsizinginner', i], [Be.makeSpan([], [Be.makeSymbol(e, r, n)])]); + return { type: 'elem', elem: a }; + }, 'makeGlyphSpan')), + (f7 = o(function (e, r, n) { + var i = Zl['Size4-Regular'][e.charCodeAt(0)] + ? Zl['Size4-Regular'][e.charCodeAt(0)][4] + : Zl['Size1-Regular'][e.charCodeAt(0)][4], + a = new Jl('inner', nxe(e, Math.round(1e3 * r))), + s = new ll([a], { + width: ct(i), + height: ct(r), + style: 'width:' + ct(i), + viewBox: '0 0 ' + 1e3 * i + ' ' + Math.round(1e3 * r), + preserveAspectRatio: 'xMinYMin' + }), + l = Be.makeSvgSpan([], [s], n); + return (l.height = r), (l.style.height = ct(r)), (l.style.width = ct(i)), { type: 'elem', elem: l }; + }, 'makeInner')), + (_7 = 0.008), + (l4 = { type: 'kern', size: -1 * _7 }), + (Kxe = ['|', '\\lvert', '\\rvert', '\\vert']), + (Qxe = ['\\|', '\\lVert', '\\rVert', '\\Vert']), + (JG = o(function (e, r, n, i, a, s) { + var l, + u, + h, + f, + d = '', + p = 0; + (l = h = f = e), (u = null); + var m = 'Size1-Regular'; + e === '\\uparrow' + ? (h = f = '\u23D0') + : e === '\\Uparrow' + ? (h = f = '\u2016') + : e === '\\downarrow' + ? (l = h = '\u23D0') + : e === '\\Downarrow' + ? (l = h = '\u2016') + : e === '\\updownarrow' + ? ((l = '\\uparrow'), (h = '\u23D0'), (f = '\\downarrow')) + : e === '\\Updownarrow' + ? ((l = '\\Uparrow'), (h = '\u2016'), (f = '\\Downarrow')) + : Vt.contains(Kxe, e) + ? ((h = '\u2223'), (d = 'vert'), (p = 333)) + : Vt.contains(Qxe, e) + ? ((h = '\u2225'), (d = 'doublevert'), (p = 556)) + : e === '[' || e === '\\lbrack' + ? ((l = '\u23A1'), + (h = '\u23A2'), + (f = '\u23A3'), + (m = 'Size4-Regular'), + (d = 'lbrack'), + (p = 667)) + : e === ']' || e === '\\rbrack' + ? ((l = '\u23A4'), + (h = '\u23A5'), + (f = '\u23A6'), + (m = 'Size4-Regular'), + (d = 'rbrack'), + (p = 667)) + : e === '\\lfloor' || e === '\u230A' + ? ((h = l = '\u23A2'), (f = '\u23A3'), (m = 'Size4-Regular'), (d = 'lfloor'), (p = 667)) + : e === '\\lceil' || e === '\u2308' + ? ((l = '\u23A1'), (h = f = '\u23A2'), (m = 'Size4-Regular'), (d = 'lceil'), (p = 667)) + : e === '\\rfloor' || e === '\u230B' + ? ((h = l = '\u23A5'), (f = '\u23A6'), (m = 'Size4-Regular'), (d = 'rfloor'), (p = 667)) + : e === '\\rceil' || e === '\u2309' + ? ((l = '\u23A4'), (h = f = '\u23A5'), (m = 'Size4-Regular'), (d = 'rceil'), (p = 667)) + : e === '(' || e === '\\lparen' + ? ((l = '\u239B'), + (h = '\u239C'), + (f = '\u239D'), + (m = 'Size4-Regular'), + (d = 'lparen'), + (p = 875)) + : e === ')' || e === '\\rparen' + ? ((l = '\u239E'), + (h = '\u239F'), + (f = '\u23A0'), + (m = 'Size4-Regular'), + (d = 'rparen'), + (p = 875)) + : e === '\\{' || e === '\\lbrace' + ? ((l = '\u23A7'), (u = '\u23A8'), (f = '\u23A9'), (h = '\u23AA'), (m = 'Size4-Regular')) + : e === '\\}' || e === '\\rbrace' + ? ((l = '\u23AB'), (u = '\u23AC'), (f = '\u23AD'), (h = '\u23AA'), (m = 'Size4-Regular')) + : e === '\\lgroup' || e === '\u27EE' + ? ((l = '\u23A7'), (f = '\u23A9'), (h = '\u23AA'), (m = 'Size4-Regular')) + : e === '\\rgroup' || e === '\u27EF' + ? ((l = '\u23AB'), (f = '\u23AD'), (h = '\u23AA'), (m = 'Size4-Regular')) + : e === '\\lmoustache' || e === '\u23B0' + ? ((l = '\u23A7'), (f = '\u23AD'), (h = '\u23AA'), (m = 'Size4-Regular')) + : (e === '\\rmoustache' || e === '\u23B1') && + ((l = '\u23AB'), (f = '\u23A9'), (h = '\u23AA'), (m = 'Size4-Regular')); + var g = ey(l, m, a), + y = g.height + g.depth, + v = ey(h, m, a), + x = v.height + v.depth, + b = ey(f, m, a), + w = b.height + b.depth, + S = 0, + T = 1; + if (u !== null) { + var E = ey(u, m, a); + (S = E.height + E.depth), (T = 2); + } + var _ = y + w + S, + A = Math.max(0, Math.ceil((r - _) / (T * x))), + L = _ + A * T * x, + M = i.fontMetrics().axisHeight; + n && (M *= i.sizeMultiplier); + var N = L / 2 - M, + k = []; + if (d.length > 0) { + var I = L - y - w, + C = Math.round(L * 1e3), + O = ixe(d, Math.round(I * 1e3)), + D = new Jl(d, O), + P = (p / 1e3).toFixed(3) + 'em', + F = (C / 1e3).toFixed(3) + 'em', + B = new ll([D], { + width: P, + height: F, + viewBox: '0 0 ' + p + ' ' + C + }), + $ = Be.makeSvgSpan([], [B], i); + ($.height = C / 1e3), + ($.style.width = P), + ($.style.height = F), + k.push({ type: 'elem', elem: $ }); + } else { + if ((k.push(h7(f, m, a)), k.push(l4), u === null)) { + var z = L - y - w + 2 * _7; + k.push(f7(h, z, i)); + } else { + var Y = (L - y - w - S) / 2 + 2 * _7; + k.push(f7(h, Y, i)), k.push(l4), k.push(h7(u, m, a)), k.push(l4), k.push(f7(h, Y, i)); + } + k.push(l4), k.push(h7(l, m, a)); + } + var Q = i.havingBaseStyle(Ht.TEXT), + X = Be.makeVList({ positionType: 'bottom', positionData: N, children: k }, Q); + return z7(Be.makeSpan(['delimsizing', 'mult'], [X], Q), Ht.TEXT, i, s); + }, 'makeStackedDelim')), + (d7 = 80), + (p7 = 0.08), + (m7 = o(function (e, r, n, i, a) { + var s = rxe(e, i, n), + l = new Jl(e, s), + u = new ll([l], { + width: '400em', + height: ct(r), + viewBox: '0 0 400000 ' + n, + preserveAspectRatio: 'xMinYMin slice' + }); + return Be.makeSvgSpan(['hide-tail'], [u], a); + }, 'sqrtSvg')), + (Zxe = o(function (e, r) { + var n = r.havingBaseSizing(), + i = n$('\\surd', e * n.sizeMultiplier, r$, n), + a = n.sizeMultiplier, + s = Math.max(0, r.minRuleThickness - r.fontMetrics().sqrtRuleThickness), + l, + u = 0, + h = 0, + f = 0, + d; + return ( + i.type === 'small' + ? ((f = 1e3 + 1e3 * s + d7), + e < 1 ? (a = 1) : e < 1.4 && (a = 0.7), + (u = (1 + s + p7) / a), + (h = (1 + s) / a), + (l = m7('sqrtMain', u, f, s, r)), + (l.style.minWidth = '0.853em'), + (d = 0.833 / a)) + : i.type === 'large' + ? ((f = (1e3 + d7) * ty[i.size]), + (h = (ty[i.size] + s) / a), + (u = (ty[i.size] + s + p7) / a), + (l = m7('sqrtSize' + i.size, u, f, s, r)), + (l.style.minWidth = '1.02em'), + (d = 1 / a)) + : ((u = e + s + p7), + (h = e + s), + (f = Math.floor(1e3 * e + s) + d7), + (l = m7('sqrtTall', u, f, s, r)), + (l.style.minWidth = '0.742em'), + (d = 1.056)), + (l.height = h), + (l.style.height = ct(u)), + { + span: l, + advanceWidth: d, + ruleWidth: (r.fontMetrics().sqrtRuleThickness + s) * a + } + ); + }, 'makeSqrtImage')), + (e$ = [ + '(', + '\\lparen', + ')', + '\\rparen', + '[', + '\\lbrack', + ']', + '\\rbrack', + '\\{', + '\\lbrace', + '\\}', + '\\rbrace', + '\\lfloor', + '\\rfloor', + '\u230A', + '\u230B', + '\\lceil', + '\\rceil', + '\u2308', + '\u2309', + '\\surd' + ]), + (Jxe = [ + '\\uparrow', + '\\downarrow', + '\\updownarrow', + '\\Uparrow', + '\\Downarrow', + '\\Updownarrow', + '|', + '\\|', + '\\vert', + '\\Vert', + '\\lvert', + '\\rvert', + '\\lVert', + '\\rVert', + '\\lgroup', + '\\rgroup', + '\u27EE', + '\u27EF', + '\\lmoustache', + '\\rmoustache', + '\u23B0', + '\u23B1' + ]), + (t$ = ['<', '>', '\\langle', '\\rangle', '/', '\\backslash', '\\lt', '\\gt']), + (ty = [0, 1.2, 1.8, 2.4, 3]), + (ebe = o(function (e, r, n, i, a) { + if ( + (e === '<' || e === '\\lt' || e === '\u27E8' + ? (e = '\\langle') + : (e === '>' || e === '\\gt' || e === '\u27E9') && (e = '\\rangle'), + Vt.contains(e$, e) || Vt.contains(t$, e)) + ) + return ZG(e, r, !1, n, i, a); + if (Vt.contains(Jxe, e)) return JG(e, ty[r], !1, n, i, a); + throw new nt("Illegal delimiter: '" + e + "'"); + }, 'makeSizedDelim')), + (tbe = [ + { type: 'small', style: Ht.SCRIPTSCRIPT }, + { type: 'small', style: Ht.SCRIPT }, + { type: 'small', style: Ht.TEXT }, + { type: 'large', size: 1 }, + { type: 'large', size: 2 }, + { type: 'large', size: 3 }, + { type: 'large', size: 4 } + ]), + (rbe = [ + { type: 'small', style: Ht.SCRIPTSCRIPT }, + { type: 'small', style: Ht.SCRIPT }, + { type: 'small', style: Ht.TEXT }, + { type: 'stack' } + ]), + (r$ = [ + { type: 'small', style: Ht.SCRIPTSCRIPT }, + { type: 'small', style: Ht.SCRIPT }, + { type: 'small', style: Ht.TEXT }, + { type: 'large', size: 1 }, + { type: 'large', size: 2 }, + { type: 'large', size: 3 }, + { type: 'large', size: 4 }, + { type: 'stack' } + ]), + (nbe = o(function (e) { + if (e.type === 'small') return 'Main-Regular'; + if (e.type === 'large') return 'Size' + e.size + '-Regular'; + if (e.type === 'stack') return 'Size4-Regular'; + throw new Error("Add support for delim type '" + e.type + "' here."); + }, 'delimTypeToFont')), + (n$ = o(function (e, r, n, i) { + for (var a = Math.min(2, 3 - i.style.size), s = a; s < n.length && n[s].type !== 'stack'; s++) { + var l = ey(e, nbe(n[s]), 'math'), + u = l.height + l.depth; + if (n[s].type === 'small') { + var h = i.havingBaseStyle(n[s].style); + u *= h.sizeMultiplier; + } + if (u > r) return n[s]; + } + return n[n.length - 1]; + }, 'traverseSequence')), + (i$ = o(function (e, r, n, i, a, s) { + e === '<' || e === '\\lt' || e === '\u27E8' + ? (e = '\\langle') + : (e === '>' || e === '\\gt' || e === '\u27E9') && (e = '\\rangle'); + var l; + Vt.contains(t$, e) ? (l = tbe) : Vt.contains(e$, e) ? (l = r$) : (l = rbe); + var u = n$(e, r, l, i); + return u.type === 'small' + ? Xxe(e, u.style, n, i, a, s) + : u.type === 'large' + ? ZG(e, u.size, n, i, a, s) + : JG(e, r, n, i, a, s); + }, 'makeCustomSizedDelim')), + (ibe = o(function (e, r, n, i, a, s) { + var l = i.fontMetrics().axisHeight * i.sizeMultiplier, + u = 901, + h = 5 / i.fontMetrics().ptPerEm, + f = Math.max(r - l, n + l), + d = Math.max((f / 500) * u, 2 * f - h); + return i$(e, d, !0, i, a, s); + }, 'makeLeftRightDelim')), + (au = { + sqrtImage: Zxe, + sizedDelim: ebe, + sizeToMaxHeight: ty, + customSizedDelim: i$, + leftRightDelim: ibe + }), + (cG = { + '\\bigl': { mclass: 'mopen', size: 1 }, + '\\Bigl': { mclass: 'mopen', size: 2 }, + '\\biggl': { mclass: 'mopen', size: 3 }, + '\\Biggl': { mclass: 'mopen', size: 4 }, + '\\bigr': { mclass: 'mclose', size: 1 }, + '\\Bigr': { mclass: 'mclose', size: 2 }, + '\\biggr': { mclass: 'mclose', size: 3 }, + '\\Biggr': { mclass: 'mclose', size: 4 }, + '\\bigm': { mclass: 'mrel', size: 1 }, + '\\Bigm': { mclass: 'mrel', size: 2 }, + '\\biggm': { mclass: 'mrel', size: 3 }, + '\\Biggm': { mclass: 'mrel', size: 4 }, + '\\big': { mclass: 'mord', size: 1 }, + '\\Big': { mclass: 'mord', size: 2 }, + '\\bigg': { mclass: 'mord', size: 3 }, + '\\Bigg': { mclass: 'mord', size: 4 } + }), + (abe = [ + '(', + '\\lparen', + ')', + '\\rparen', + '[', + '\\lbrack', + ']', + '\\rbrack', + '\\{', + '\\lbrace', + '\\}', + '\\rbrace', + '\\lfloor', + '\\rfloor', + '\u230A', + '\u230B', + '\\lceil', + '\\rceil', + '\u2308', + '\u2309', + '<', + '>', + '\\langle', + '\u27E8', + '\\rangle', + '\u27E9', + '\\lt', + '\\gt', + '\\lvert', + '\\rvert', + '\\lVert', + '\\rVert', + '\\lgroup', + '\\rgroup', + '\u27EE', + '\u27EF', + '\\lmoustache', + '\\rmoustache', + '\u23B0', + '\u23B1', + '/', + '\\backslash', + '|', + '\\vert', + '\\|', + '\\Vert', + '\\uparrow', + '\\Uparrow', + '\\downarrow', + '\\Downarrow', + '\\updownarrow', + '\\Updownarrow', + '.' + ]); + o(E4, 'checkDelimiter'); + vt({ + type: 'delimsizing', + names: [ + '\\bigl', + '\\Bigl', + '\\biggl', + '\\Biggl', + '\\bigr', + '\\Bigr', + '\\biggr', + '\\Biggr', + '\\bigm', + '\\Bigm', + '\\biggm', + '\\Biggm', + '\\big', + '\\Big', + '\\bigg', + '\\Bigg' + ], + props: { numArgs: 1, argTypes: ['primitive'] }, + handler: o((t, e) => { + var r = E4(e[0], t); + return { + type: 'delimsizing', + mode: t.parser.mode, + size: cG[t.funcName].size, + mclass: cG[t.funcName].mclass, + delim: r.text + }; + }, 'handler'), + htmlBuilder: o( + (t, e) => + t.delim === '.' + ? Be.makeSpan([t.mclass]) + : au.sizedDelim(t.delim, t.size, e, t.mode, [t.mclass]), + 'htmlBuilder' + ), + mathmlBuilder: o((t) => { + var e = []; + t.delim !== '.' && e.push(_o(t.delim, t.mode)); + var r = new et.MathNode('mo', e); + t.mclass === 'mopen' || t.mclass === 'mclose' + ? r.setAttribute('fence', 'true') + : r.setAttribute('fence', 'false'), + r.setAttribute('stretchy', 'true'); + var n = ct(au.sizeToMaxHeight[t.size]); + return r.setAttribute('minsize', n), r.setAttribute('maxsize', n), r; + }, 'mathmlBuilder') + }); + o(uG, 'assertParsed'); + vt({ + type: 'leftright-right', + names: ['\\right'], + props: { numArgs: 1, primitive: !0 }, + handler: o((t, e) => { + var r = t.parser.gullet.macros.get('\\current@color'); + if (r && typeof r != 'string') throw new nt('\\current@color set to non-string in \\right'); + return { + type: 'leftright-right', + mode: t.parser.mode, + delim: E4(e[0], t).text, + color: r + }; + }, 'handler') + }); + vt({ + type: 'leftright', + names: ['\\left'], + props: { numArgs: 1, primitive: !0 }, + handler: o((t, e) => { + var r = E4(e[0], t), + n = t.parser; + ++n.leftrightDepth; + var i = n.parseExpression(!1); + --n.leftrightDepth, n.expect('\\right', !1); + var a = ir(n.parseFunction(), 'leftright-right'); + return { + type: 'leftright', + mode: n.mode, + body: i, + left: r.text, + right: a.delim, + rightColor: a.color + }; + }, 'handler'), + htmlBuilder: o((t, e) => { + uG(t); + for (var r = Ri(t.body, e, !0, ['mopen', 'mclose']), n = 0, i = 0, a = !1, s = 0; s < r.length; s++) + r[s].isMiddle ? (a = !0) : ((n = Math.max(r[s].height, n)), (i = Math.max(r[s].depth, i))); + (n *= e.sizeMultiplier), (i *= e.sizeMultiplier); + var l; + if ( + (t.left === '.' + ? (l = sy(e, ['mopen'])) + : (l = au.leftRightDelim(t.left, n, i, e, t.mode, ['mopen'])), + r.unshift(l), + a) + ) + for (var u = 1; u < r.length; u++) { + var h = r[u], + f = h.isMiddle; + f && (r[u] = au.leftRightDelim(f.delim, n, i, f.options, t.mode, [])); + } + var d; + if (t.right === '.') d = sy(e, ['mclose']); + else { + var p = t.rightColor ? e.withColor(t.rightColor) : e; + d = au.leftRightDelim(t.right, n, i, p, t.mode, ['mclose']); + } + return r.push(d), Be.makeSpan(['minner'], r, e); + }, 'htmlBuilder'), + mathmlBuilder: o((t, e) => { + uG(t); + var r = gs(t.body, e); + if (t.left !== '.') { + var n = new et.MathNode('mo', [_o(t.left, t.mode)]); + n.setAttribute('fence', 'true'), r.unshift(n); + } + if (t.right !== '.') { + var i = new et.MathNode('mo', [_o(t.right, t.mode)]); + i.setAttribute('fence', 'true'), + t.rightColor && i.setAttribute('mathcolor', t.rightColor), + r.push(i); + } + return O7(r); + }, 'mathmlBuilder') + }); + vt({ + type: 'middle', + names: ['\\middle'], + props: { numArgs: 1, primitive: !0 }, + handler: o((t, e) => { + var r = E4(e[0], t); + if (!t.parser.leftrightDepth) throw new nt('\\middle without preceding \\left', r); + return { type: 'middle', mode: t.parser.mode, delim: r.text }; + }, 'handler'), + htmlBuilder: o((t, e) => { + var r; + if (t.delim === '.') r = sy(e, []); + else { + r = au.sizedDelim(t.delim, 1, e, t.mode, []); + var n = { delim: t.delim, options: e }; + r.isMiddle = n; + } + return r; + }, 'htmlBuilder'), + mathmlBuilder: o((t, e) => { + var r = t.delim === '\\vert' || t.delim === '|' ? _o('|', 'text') : _o(t.delim, t.mode), + n = new et.MathNode('mo', [r]); + return ( + n.setAttribute('fence', 'true'), + n.setAttribute('lspace', '0.05em'), + n.setAttribute('rspace', '0.05em'), + n + ); + }, 'mathmlBuilder') + }); + (G7 = o((t, e) => { + var r = Be.wrapFragment(Cr(t.body, e), e), + n = t.label.slice(1), + i = e.sizeMultiplier, + a, + s = 0, + l = Vt.isCharacterBox(t.body); + if (n === 'sout') + (a = Be.makeSpan(['stretchy', 'sout'])), + (a.height = e.fontMetrics().defaultRuleThickness / i), + (s = -0.5 * e.fontMetrics().xHeight); + else if (n === 'phase') { + var u = Hn({ number: 0.6, unit: 'pt' }, e), + h = Hn({ number: 0.35, unit: 'ex' }, e), + f = e.havingBaseSizing(); + i = i / f.sizeMultiplier; + var d = r.height + r.depth + u + h; + r.style.paddingLeft = ct(d / 2 + u); + var p = Math.floor(1e3 * d * i), + m = exe(p), + g = new ll([new Jl('phase', m)], { + width: '400em', + height: ct(p / 1e3), + viewBox: '0 0 400000 ' + p, + preserveAspectRatio: 'xMinYMin slice' + }); + (a = Be.makeSvgSpan(['hide-tail'], [g], e)), (a.style.height = ct(d)), (s = r.depth + u + h); + } else { + /cancel/.test(n) + ? l || r.classes.push('cancel-pad') + : n === 'angl' + ? r.classes.push('anglpad') + : r.classes.push('boxpad'); + var y = 0, + v = 0, + x = 0; + /box/.test(n) + ? ((x = Math.max(e.fontMetrics().fboxrule, e.minRuleThickness)), + (y = e.fontMetrics().fboxsep + (n === 'colorbox' ? 0 : x)), + (v = y)) + : n === 'angl' + ? ((x = Math.max(e.fontMetrics().defaultRuleThickness, e.minRuleThickness)), + (y = 4 * x), + (v = Math.max(0, 0.25 - r.depth))) + : ((y = l ? 0.2 : 0), (v = y)), + (a = ou.encloseSpan(r, n, y, v, e)), + /fbox|boxed|fcolorbox/.test(n) + ? ((a.style.borderStyle = 'solid'), (a.style.borderWidth = ct(x))) + : n === 'angl' && + x !== 0.049 && + ((a.style.borderTopWidth = ct(x)), (a.style.borderRightWidth = ct(x))), + (s = r.depth + v), + t.backgroundColor && + ((a.style.backgroundColor = t.backgroundColor), + t.borderColor && (a.style.borderColor = t.borderColor)); + } + var b; + if (t.backgroundColor) + b = Be.makeVList( + { + positionType: 'individualShift', + children: [ + { type: 'elem', elem: a, shift: s }, + { type: 'elem', elem: r, shift: 0 } + ] + }, + e + ); + else { + var w = /cancel|phase/.test(n) ? ['svg-align'] : []; + b = Be.makeVList( + { + positionType: 'individualShift', + children: [ + { type: 'elem', elem: r, shift: 0 }, + { type: 'elem', elem: a, shift: s, wrapperClasses: w } + ] + }, + e + ); + } + return ( + /cancel/.test(n) && ((b.height = r.height), (b.depth = r.depth)), + /cancel/.test(n) && !l ? Be.makeSpan(['mord', 'cancel-lap'], [b], e) : Be.makeSpan(['mord'], [b], e) + ); + }, 'htmlBuilder$7')), + ($7 = o((t, e) => { + var r = 0, + n = new et.MathNode(t.label.indexOf('colorbox') > -1 ? 'mpadded' : 'menclose', [fn(t.body, e)]); + switch (t.label) { + case '\\cancel': + n.setAttribute('notation', 'updiagonalstrike'); + break; + case '\\bcancel': + n.setAttribute('notation', 'downdiagonalstrike'); + break; + case '\\phase': + n.setAttribute('notation', 'phasorangle'); + break; + case '\\sout': + n.setAttribute('notation', 'horizontalstrike'); + break; + case '\\fbox': + n.setAttribute('notation', 'box'); + break; + case '\\angl': + n.setAttribute('notation', 'actuarial'); + break; + case '\\fcolorbox': + case '\\colorbox': + if ( + ((r = e.fontMetrics().fboxsep * e.fontMetrics().ptPerEm), + n.setAttribute('width', '+' + 2 * r + 'pt'), + n.setAttribute('height', '+' + 2 * r + 'pt'), + n.setAttribute('lspace', r + 'pt'), + n.setAttribute('voffset', r + 'pt'), + t.label === '\\fcolorbox') + ) { + var i = Math.max(e.fontMetrics().fboxrule, e.minRuleThickness); + n.setAttribute('style', 'border: ' + i + 'em solid ' + String(t.borderColor)); + } + break; + case '\\xcancel': + n.setAttribute('notation', 'updiagonalstrike downdiagonalstrike'); + break; + } + return t.backgroundColor && n.setAttribute('mathbackground', t.backgroundColor), n; + }, 'mathmlBuilder$6')); + vt({ + type: 'enclose', + names: ['\\colorbox'], + props: { numArgs: 2, allowedInText: !0, argTypes: ['color', 'text'] }, + handler(t, e, r) { + var { parser: n, funcName: i } = t, + a = ir(e[0], 'color-token').color, + s = e[1]; + return { + type: 'enclose', + mode: n.mode, + label: i, + backgroundColor: a, + body: s + }; + }, + htmlBuilder: G7, + mathmlBuilder: $7 + }); + vt({ + type: 'enclose', + names: ['\\fcolorbox'], + props: { + numArgs: 3, + allowedInText: !0, + argTypes: ['color', 'color', 'text'] + }, + handler(t, e, r) { + var { parser: n, funcName: i } = t, + a = ir(e[0], 'color-token').color, + s = ir(e[1], 'color-token').color, + l = e[2]; + return { + type: 'enclose', + mode: n.mode, + label: i, + backgroundColor: s, + borderColor: a, + body: l + }; + }, + htmlBuilder: G7, + mathmlBuilder: $7 + }); + vt({ + type: 'enclose', + names: ['\\fbox'], + props: { numArgs: 1, argTypes: ['hbox'], allowedInText: !0 }, + handler(t, e) { + var { parser: r } = t; + return { type: 'enclose', mode: r.mode, label: '\\fbox', body: e[0] }; + } + }); + vt({ + type: 'enclose', + names: ['\\cancel', '\\bcancel', '\\xcancel', '\\sout', '\\phase'], + props: { numArgs: 1 }, + handler(t, e) { + var { parser: r, funcName: n } = t, + i = e[0]; + return { type: 'enclose', mode: r.mode, label: n, body: i }; + }, + htmlBuilder: G7, + mathmlBuilder: $7 + }); + vt({ + type: 'enclose', + names: ['\\angl'], + props: { numArgs: 1, argTypes: ['hbox'], allowedInText: !1 }, + handler(t, e) { + var { parser: r } = t; + return { type: 'enclose', mode: r.mode, label: '\\angl', body: e[0] }; + } + }); + a$ = {}; + o(ec, 'defineEnvironment'); + s$ = {}; + o(le, 'defineMacro'); + o(hG, 'getHLines'); + C4 = o((t) => { + var e = t.parser.settings; + if (!e.displayMode) throw new nt('{' + t.envName + '} can be used only in display mode.'); + }, 'validateAmsEnvironmentContext'); + o(V7, 'getAutoTag'); + o(mh, 'parseArray'); + o(U7, 'dCellStyle'); + (tc = o(function (e, r) { + var n, + i, + a = e.body.length, + s = e.hLinesBeforeRow, + l = 0, + u = new Array(a), + h = [], + f = Math.max(r.fontMetrics().arrayRuleWidth, r.minRuleThickness), + d = 1 / r.fontMetrics().ptPerEm, + p = 5 * d; + if (e.colSeparationType && e.colSeparationType === 'small') { + var m = r.havingStyle(Ht.SCRIPT).sizeMultiplier; + p = 0.2778 * (m / r.sizeMultiplier); + } + var g = e.colSeparationType === 'CD' ? Hn({ number: 3, unit: 'ex' }, r) : 12 * d, + y = 3 * d, + v = e.arraystretch * g, + x = 0.7 * v, + b = 0.3 * v, + w = 0; + function S(ke) { + for (var Ie = 0; Ie < ke.length; ++Ie) Ie > 0 && (w += 0.25), h.push({ pos: w, isDashed: ke[Ie] }); + } + for (o(S, 'setHLinePos'), S(s[0]), n = 0; n < e.body.length; ++n) { + var T = e.body[n], + E = x, + _ = b; + l < T.length && (l = T.length); + var A = new Array(T.length); + for (i = 0; i < T.length; ++i) { + var L = Cr(T[i], r); + _ < L.depth && (_ = L.depth), E < L.height && (E = L.height), (A[i] = L); + } + var M = e.rowGaps[n], + N = 0; + M && ((N = Hn(M, r)), N > 0 && ((N += b), _ < N && (_ = N), (N = 0))), + e.addJot && (_ += y), + (A.height = E), + (A.depth = _), + (w += E), + (A.pos = w), + (w += _ + N), + (u[n] = A), + S(s[n + 1]); + } + var k = w / 2 + r.fontMetrics().axisHeight, + I = e.cols || [], + C = [], + O, + D, + P = []; + if (e.tags && e.tags.some((ke) => ke)) + for (n = 0; n < a; ++n) { + var F = u[n], + B = F.pos - k, + $ = e.tags[n], + z = void 0; + $ === !0 + ? (z = Be.makeSpan(['eqn-num'], [], r)) + : $ === !1 + ? (z = Be.makeSpan([], [], r)) + : (z = Be.makeSpan([], Ri($, r, !0), r)), + (z.depth = F.depth), + (z.height = F.height), + P.push({ type: 'elem', elem: z, shift: B }); + } + for (i = 0, D = 0; i < l || D < I.length; ++i, ++D) { + for (var Y = I[D] || {}, Q = !0; Y.type === 'separator'; ) { + if ( + (Q || + ((O = Be.makeSpan(['arraycolsep'], [])), + (O.style.width = ct(r.fontMetrics().doubleRuleSep)), + C.push(O)), + Y.separator === '|' || Y.separator === ':') + ) { + var X = Y.separator === '|' ? 'solid' : 'dashed', + ie = Be.makeSpan(['vertical-separator'], [], r); + (ie.style.height = ct(w)), + (ie.style.borderRightWidth = ct(f)), + (ie.style.borderRightStyle = X), + (ie.style.margin = '0 ' + ct(-f / 2)); + var j = w - k; + j && (ie.style.verticalAlign = ct(-j)), C.push(ie); + } else throw new nt('Invalid separator type: ' + Y.separator); + D++, (Y = I[D] || {}), (Q = !1); + } + if (!(i >= l)) { + var J = void 0; + (i > 0 || e.hskipBeforeAndAfter) && + ((J = Vt.deflt(Y.pregap, p)), + J !== 0 && ((O = Be.makeSpan(['arraycolsep'], [])), (O.style.width = ct(J)), C.push(O))); + var Z = []; + for (n = 0; n < a; ++n) { + var H = u[n], + q = H[i]; + if (q) { + var K = H.pos - k; + (q.depth = H.depth), (q.height = H.height), Z.push({ type: 'elem', elem: q, shift: K }); + } + } + (Z = Be.makeVList({ positionType: 'individualShift', children: Z }, r)), + (Z = Be.makeSpan(['col-align-' + (Y.align || 'c')], [Z])), + C.push(Z), + (i < l - 1 || e.hskipBeforeAndAfter) && + ((J = Vt.deflt(Y.postgap, p)), + J !== 0 && + ((O = Be.makeSpan(['arraycolsep'], [])), (O.style.width = ct(J)), C.push(O))); + } + } + if (((u = Be.makeSpan(['mtable'], C)), h.length > 0)) { + for ( + var se = Be.makeLineSpan('hline', r, f), + ce = Be.makeLineSpan('hdashline', r, f), + ue = [{ type: 'elem', elem: u, shift: 0 }]; + h.length > 0; + + ) { + var te = h.pop(), + De = te.pos - k; + te.isDashed + ? ue.push({ type: 'elem', elem: ce, shift: De }) + : ue.push({ type: 'elem', elem: se, shift: De }); + } + u = Be.makeVList({ positionType: 'individualShift', children: ue }, r); + } + if (P.length === 0) return Be.makeSpan(['mord'], [u], r); + var oe = Be.makeVList({ positionType: 'individualShift', children: P }, r); + return (oe = Be.makeSpan(['tag'], [oe], r)), Be.makeFragment([u, oe]); + }, 'htmlBuilder')), + (sbe = { c: 'center ', l: 'left ', r: 'right ' }), + (rc = o(function (e, r) { + for ( + var n = [], + i = new et.MathNode('mtd', [], ['mtr-glue']), + a = new et.MathNode('mtd', [], ['mml-eqn-num']), + s = 0; + s < e.body.length; + s++ + ) { + for (var l = e.body[s], u = [], h = 0; h < l.length; h++) + u.push(new et.MathNode('mtd', [fn(l[h], r)])); + e.tags && e.tags[s] && (u.unshift(i), u.push(i), e.leqno ? u.unshift(a) : u.push(a)), + n.push(new et.MathNode('mtr', u)); + } + var f = new et.MathNode('mtable', n), + d = e.arraystretch === 0.5 ? 0.1 : 0.16 + e.arraystretch - 1 + (e.addJot ? 0.09 : 0); + f.setAttribute('rowspacing', ct(d)); + var p = '', + m = ''; + if (e.cols && e.cols.length > 0) { + var g = e.cols, + y = '', + v = !1, + x = 0, + b = g.length; + g[0].type === 'separator' && ((p += 'top '), (x = 1)), + g[g.length - 1].type === 'separator' && ((p += 'bottom '), (b -= 1)); + for (var w = x; w < b; w++) + g[w].type === 'align' + ? ((m += sbe[g[w].align]), v && (y += 'none '), (v = !0)) + : g[w].type === 'separator' && + v && + ((y += g[w].separator === '|' ? 'solid ' : 'dashed '), (v = !1)); + f.setAttribute('columnalign', m.trim()), + /[sd]/.test(y) && f.setAttribute('columnlines', y.trim()); + } + if (e.colSeparationType === 'align') { + for (var S = e.cols || [], T = '', E = 1; E < S.length; E++) T += E % 2 ? '0em ' : '1em '; + f.setAttribute('columnspacing', T.trim()); + } else e.colSeparationType === 'alignat' || e.colSeparationType === 'gather' ? f.setAttribute('columnspacing', '0em') : e.colSeparationType === 'small' ? f.setAttribute('columnspacing', '0.2778em') : e.colSeparationType === 'CD' ? f.setAttribute('columnspacing', '0.5em') : f.setAttribute('columnspacing', '1em'); + var _ = '', + A = e.hLinesBeforeRow; + (p += A[0].length > 0 ? 'left ' : ''), (p += A[A.length - 1].length > 0 ? 'right ' : ''); + for (var L = 1; L < A.length - 1; L++) + _ += A[L].length === 0 ? 'none ' : A[L][0] ? 'dashed ' : 'solid '; + return ( + /[sd]/.test(_) && f.setAttribute('rowlines', _.trim()), + p !== '' && ((f = new et.MathNode('menclose', [f])), f.setAttribute('notation', p.trim())), + e.arraystretch && + e.arraystretch < 1 && + ((f = new et.MathNode('mstyle', [f])), f.setAttribute('scriptlevel', '1')), + f + ); + }, 'mathmlBuilder')), + (o$ = o(function (e, r) { + e.envName.indexOf('ed') === -1 && C4(e); + var n = [], + i = e.envName.indexOf('at') > -1 ? 'alignat' : 'align', + a = e.envName === 'split', + s = mh( + e.parser, + { + cols: n, + addJot: !0, + autoTag: a ? void 0 : V7(e.envName), + emptySingleRow: !0, + colSeparationType: i, + maxNumCols: a ? 2 : void 0, + leqno: e.parser.settings.leqno + }, + 'display' + ), + l, + u = 0, + h = { type: 'ordgroup', mode: e.mode, body: [] }; + if (r[0] && r[0].type === 'ordgroup') { + for (var f = '', d = 0; d < r[0].body.length; d++) { + var p = ir(r[0].body[d], 'textord'); + f += p.text; + } + (l = Number(f)), (u = l * 2); + } + var m = !u; + s.body.forEach(function (x) { + for (var b = 1; b < x.length; b += 2) { + var w = ir(x[b], 'styling'), + S = ir(w.body[0], 'ordgroup'); + S.body.unshift(h); + } + if (m) u < x.length && (u = x.length); + else { + var T = x.length / 2; + if (l < T) + throw new nt('Too many math in a row: ' + ('expected ' + l + ', but got ' + T), x[0]); + } + }); + for (var g = 0; g < u; ++g) { + var y = 'r', + v = 0; + g % 2 === 1 ? (y = 'l') : g > 0 && m && (v = 1), + (n[g] = { type: 'align', align: y, pregap: v, postgap: 0 }); + } + return (s.colSeparationType = m ? 'align' : 'alignat'), s; + }, 'alignedHandler')); + ec({ + type: 'array', + names: ['array', 'darray'], + props: { numArgs: 1 }, + handler(t, e) { + var r = T4(e[0]), + n = r ? [e[0]] : ir(e[0], 'ordgroup').body, + i = n.map(function (s) { + var l = B7(s), + u = l.text; + if ('lcr'.indexOf(u) !== -1) return { type: 'align', align: u }; + if (u === '|') return { type: 'separator', separator: '|' }; + if (u === ':') return { type: 'separator', separator: ':' }; + throw new nt('Unknown column alignment: ' + u, s); + }), + a = { cols: i, hskipBeforeAndAfter: !0, maxNumCols: i.length }; + return mh(t.parser, a, U7(t.envName)); + }, + htmlBuilder: tc, + mathmlBuilder: rc + }); + ec({ + type: 'array', + names: [ + 'matrix', + 'pmatrix', + 'bmatrix', + 'Bmatrix', + 'vmatrix', + 'Vmatrix', + 'matrix*', + 'pmatrix*', + 'bmatrix*', + 'Bmatrix*', + 'vmatrix*', + 'Vmatrix*' + ], + props: { numArgs: 0 }, + handler(t) { + var e = { + matrix: null, + pmatrix: ['(', ')'], + bmatrix: ['[', ']'], + Bmatrix: ['\\{', '\\}'], + vmatrix: ['|', '|'], + Vmatrix: ['\\Vert', '\\Vert'] + }[t.envName.replace('*', '')], + r = 'c', + n = { + hskipBeforeAndAfter: !1, + cols: [{ type: 'align', align: r }] + }; + if (t.envName.charAt(t.envName.length - 1) === '*') { + var i = t.parser; + if ((i.consumeSpaces(), i.fetch().text === '[')) { + if ((i.consume(), i.consumeSpaces(), (r = i.fetch().text), 'lcr'.indexOf(r) === -1)) + throw new nt('Expected l or c or r', i.nextToken); + i.consume(), + i.consumeSpaces(), + i.expect(']'), + i.consume(), + (n.cols = [{ type: 'align', align: r }]); + } + } + var a = mh(t.parser, n, U7(t.envName)), + s = Math.max(0, ...a.body.map((l) => l.length)); + return ( + (a.cols = new Array(s).fill({ type: 'align', align: r })), + e + ? { + type: 'leftright', + mode: t.mode, + body: [a], + left: e[0], + right: e[1], + rightColor: void 0 + } + : a + ); + }, + htmlBuilder: tc, + mathmlBuilder: rc + }); + ec({ + type: 'array', + names: ['smallmatrix'], + props: { numArgs: 0 }, + handler(t) { + var e = { arraystretch: 0.5 }, + r = mh(t.parser, e, 'script'); + return (r.colSeparationType = 'small'), r; + }, + htmlBuilder: tc, + mathmlBuilder: rc + }); + ec({ + type: 'array', + names: ['subarray'], + props: { numArgs: 1 }, + handler(t, e) { + var r = T4(e[0]), + n = r ? [e[0]] : ir(e[0], 'ordgroup').body, + i = n.map(function (s) { + var l = B7(s), + u = l.text; + if ('lc'.indexOf(u) !== -1) return { type: 'align', align: u }; + throw new nt('Unknown column alignment: ' + u, s); + }); + if (i.length > 1) throw new nt('{subarray} can contain only one column'); + var a = { cols: i, hskipBeforeAndAfter: !1, arraystretch: 0.5 }; + if (((a = mh(t.parser, a, 'script')), a.body.length > 0 && a.body[0].length > 1)) + throw new nt('{subarray} can contain only one column'); + return a; + }, + htmlBuilder: tc, + mathmlBuilder: rc + }); + ec({ + type: 'array', + names: ['cases', 'dcases', 'rcases', 'drcases'], + props: { numArgs: 0 }, + handler(t) { + var e = { + arraystretch: 1.2, + cols: [ + { type: 'align', align: 'l', pregap: 0, postgap: 1 }, + { type: 'align', align: 'l', pregap: 0, postgap: 0 } + ] + }, + r = mh(t.parser, e, U7(t.envName)); + return { + type: 'leftright', + mode: t.mode, + body: [r], + left: t.envName.indexOf('r') > -1 ? '.' : '\\{', + right: t.envName.indexOf('r') > -1 ? '\\}' : '.', + rightColor: void 0 + }; + }, + htmlBuilder: tc, + mathmlBuilder: rc + }); + ec({ + type: 'array', + names: ['align', 'align*', 'aligned', 'split'], + props: { numArgs: 0 }, + handler: o$, + htmlBuilder: tc, + mathmlBuilder: rc + }); + ec({ + type: 'array', + names: ['gathered', 'gather', 'gather*'], + props: { numArgs: 0 }, + handler(t) { + Vt.contains(['gather', 'gather*'], t.envName) && C4(t); + var e = { + cols: [{ type: 'align', align: 'c' }], + addJot: !0, + colSeparationType: 'gather', + autoTag: V7(t.envName), + emptySingleRow: !0, + leqno: t.parser.settings.leqno + }; + return mh(t.parser, e, 'display'); + }, + htmlBuilder: tc, + mathmlBuilder: rc + }); + ec({ + type: 'array', + names: ['alignat', 'alignat*', 'alignedat'], + props: { numArgs: 1 }, + handler: o$, + htmlBuilder: tc, + mathmlBuilder: rc + }); + ec({ + type: 'array', + names: ['equation', 'equation*'], + props: { numArgs: 0 }, + handler(t) { + C4(t); + var e = { + autoTag: V7(t.envName), + emptySingleRow: !0, + singleRow: !0, + maxNumCols: 1, + leqno: t.parser.settings.leqno + }; + return mh(t.parser, e, 'display'); + }, + htmlBuilder: tc, + mathmlBuilder: rc + }); + ec({ + type: 'array', + names: ['CD'], + props: { numArgs: 0 }, + handler(t) { + return C4(t), Wxe(t.parser); + }, + htmlBuilder: tc, + mathmlBuilder: rc + }); + le('\\nonumber', '\\gdef\\@eqnsw{0}'); + le('\\notag', '\\nonumber'); + vt({ + type: 'text', + names: ['\\hline', '\\hdashline'], + props: { numArgs: 0, allowedInText: !0, allowedInMath: !0 }, + handler(t, e) { + throw new nt(t.funcName + ' valid only within array environment'); + } + }); + fG = a$; + vt({ + type: 'environment', + names: ['\\begin', '\\end'], + props: { numArgs: 1, argTypes: ['text'] }, + handler(t, e) { + var { parser: r, funcName: n } = t, + i = e[0]; + if (i.type !== 'ordgroup') throw new nt('Invalid environment name', i); + for (var a = '', s = 0; s < i.body.length; ++s) a += ir(i.body[s], 'textord').text; + if (n === '\\begin') { + if (!fG.hasOwnProperty(a)) throw new nt('No such environment: ' + a, i); + var l = fG[a], + { args: u, optArgs: h } = r.parseArguments('\\begin{' + a + '}', l), + f = { mode: r.mode, envName: a, parser: r }, + d = l.handler(f, u, h); + r.expect('\\end', !1); + var p = r.nextToken, + m = ir(r.parseFunction(), 'environment'); + if (m.name !== a) + throw new nt('Mismatch: \\begin{' + a + '} matched by \\end{' + m.name + '}', p); + return d; + } + return { type: 'environment', mode: r.mode, name: a, nameGroup: i }; + } + }); + (l$ = o((t, e) => { + var r = t.font, + n = e.withFont(r); + return Cr(t.body, n); + }, 'htmlBuilder$5')), + (c$ = o((t, e) => { + var r = t.font, + n = e.withFont(r); + return fn(t.body, n); + }, 'mathmlBuilder$4')), + (dG = { + '\\Bbb': '\\mathbb', + '\\bold': '\\mathbf', + '\\frak': '\\mathfrak', + '\\bm': '\\boldsymbol' + }); + vt({ + type: 'font', + names: [ + '\\mathrm', + '\\mathit', + '\\mathbf', + '\\mathnormal', + '\\mathbb', + '\\mathcal', + '\\mathfrak', + '\\mathscr', + '\\mathsf', + '\\mathtt', + '\\Bbb', + '\\bold', + '\\frak' + ], + props: { numArgs: 1, allowedInArgument: !0 }, + handler: o((t, e) => { + var { parser: r, funcName: n } = t, + i = y4(e[0]), + a = n; + return a in dG && (a = dG[a]), { type: 'font', mode: r.mode, font: a.slice(1), body: i }; + }, 'handler'), + htmlBuilder: l$, + mathmlBuilder: c$ + }); + vt({ + type: 'mclass', + names: ['\\boldsymbol', '\\bm'], + props: { numArgs: 1 }, + handler: o((t, e) => { + var { parser: r } = t, + n = e[0], + i = Vt.isCharacterBox(n); + return { + type: 'mclass', + mode: r.mode, + mclass: k4(n), + body: [{ type: 'font', mode: r.mode, font: 'boldsymbol', body: n }], + isCharacterBox: i + }; + }, 'handler') + }); + vt({ + type: 'font', + names: ['\\rm', '\\sf', '\\tt', '\\bf', '\\it', '\\cal'], + props: { numArgs: 0, allowedInText: !0 }, + handler: o((t, e) => { + var { parser: r, funcName: n, breakOnTokenText: i } = t, + { mode: a } = r, + s = r.parseExpression(!0, i), + l = 'math' + n.slice(1); + return { + type: 'font', + mode: a, + font: l, + body: { type: 'ordgroup', mode: r.mode, body: s } + }; + }, 'handler'), + htmlBuilder: l$, + mathmlBuilder: c$ + }); + (u$ = o((t, e) => { + var r = e; + return ( + t === 'display' + ? (r = r.id >= Ht.SCRIPT.id ? r.text() : Ht.DISPLAY) + : t === 'text' && r.size === Ht.DISPLAY.size + ? (r = Ht.TEXT) + : t === 'script' + ? (r = Ht.SCRIPT) + : t === 'scriptscript' && (r = Ht.SCRIPTSCRIPT), + r + ); + }, 'adjustStyle')), + (H7 = o((t, e) => { + var r = u$(t.size, e.style), + n = r.fracNum(), + i = r.fracDen(), + a; + a = e.havingStyle(n); + var s = Cr(t.numer, a, e); + if (t.continued) { + var l = 8.5 / e.fontMetrics().ptPerEm, + u = 3.5 / e.fontMetrics().ptPerEm; + (s.height = s.height < l ? l : s.height), (s.depth = s.depth < u ? u : s.depth); + } + a = e.havingStyle(i); + var h = Cr(t.denom, a, e), + f, + d, + p; + t.hasBarLine + ? (t.barSize + ? ((d = Hn(t.barSize, e)), (f = Be.makeLineSpan('frac-line', e, d))) + : (f = Be.makeLineSpan('frac-line', e)), + (d = f.height), + (p = f.height)) + : ((f = null), (d = 0), (p = e.fontMetrics().defaultRuleThickness)); + var m, g, y; + r.size === Ht.DISPLAY.size || t.size === 'display' + ? ((m = e.fontMetrics().num1), d > 0 ? (g = 3 * p) : (g = 7 * p), (y = e.fontMetrics().denom1)) + : (d > 0 ? ((m = e.fontMetrics().num2), (g = p)) : ((m = e.fontMetrics().num3), (g = 3 * p)), + (y = e.fontMetrics().denom2)); + var v; + if (f) { + var b = e.fontMetrics().axisHeight; + m - s.depth - (b + 0.5 * d) < g && (m += g - (m - s.depth - (b + 0.5 * d))), + b - 0.5 * d - (h.height - y) < g && (y += g - (b - 0.5 * d - (h.height - y))); + var w = -(b - 0.5 * d); + v = Be.makeVList( + { + positionType: 'individualShift', + children: [ + { type: 'elem', elem: h, shift: y }, + { type: 'elem', elem: f, shift: w }, + { type: 'elem', elem: s, shift: -m } + ] + }, + e + ); + } else { + var x = m - s.depth - (h.height - y); + x < g && ((m += 0.5 * (g - x)), (y += 0.5 * (g - x))), + (v = Be.makeVList( + { + positionType: 'individualShift', + children: [ + { type: 'elem', elem: h, shift: y }, + { type: 'elem', elem: s, shift: -m } + ] + }, + e + )); + } + (a = e.havingStyle(r)), + (v.height *= a.sizeMultiplier / e.sizeMultiplier), + (v.depth *= a.sizeMultiplier / e.sizeMultiplier); + var S; + r.size === Ht.DISPLAY.size + ? (S = e.fontMetrics().delim1) + : r.size === Ht.SCRIPTSCRIPT.size + ? (S = e.havingStyle(Ht.SCRIPT).fontMetrics().delim2) + : (S = e.fontMetrics().delim2); + var T, E; + return ( + t.leftDelim == null + ? (T = sy(e, ['mopen'])) + : (T = au.customSizedDelim(t.leftDelim, S, !0, e.havingStyle(r), t.mode, ['mopen'])), + t.continued + ? (E = Be.makeSpan([])) + : t.rightDelim == null + ? (E = sy(e, ['mclose'])) + : (E = au.customSizedDelim(t.rightDelim, S, !0, e.havingStyle(r), t.mode, ['mclose'])), + Be.makeSpan(['mord'].concat(a.sizingClasses(e)), [T, Be.makeSpan(['mfrac'], [v]), E], e) + ); + }, 'htmlBuilder$4')), + (Y7 = o((t, e) => { + var r = new et.MathNode('mfrac', [fn(t.numer, e), fn(t.denom, e)]); + if (!t.hasBarLine) r.setAttribute('linethickness', '0px'); + else if (t.barSize) { + var n = Hn(t.barSize, e); + r.setAttribute('linethickness', ct(n)); + } + var i = u$(t.size, e.style); + if (i.size !== e.style.size) { + r = new et.MathNode('mstyle', [r]); + var a = i.size === Ht.DISPLAY.size ? 'true' : 'false'; + r.setAttribute('displaystyle', a), r.setAttribute('scriptlevel', '0'); + } + if (t.leftDelim != null || t.rightDelim != null) { + var s = []; + if (t.leftDelim != null) { + var l = new et.MathNode('mo', [new et.TextNode(t.leftDelim.replace('\\', ''))]); + l.setAttribute('fence', 'true'), s.push(l); + } + if ((s.push(r), t.rightDelim != null)) { + var u = new et.MathNode('mo', [new et.TextNode(t.rightDelim.replace('\\', ''))]); + u.setAttribute('fence', 'true'), s.push(u); + } + return O7(s); + } + return r; + }, 'mathmlBuilder$3')); + vt({ + type: 'genfrac', + names: [ + '\\dfrac', + '\\frac', + '\\tfrac', + '\\dbinom', + '\\binom', + '\\tbinom', + '\\\\atopfrac', + '\\\\bracefrac', + '\\\\brackfrac' + ], + props: { numArgs: 2, allowedInArgument: !0 }, + handler: o((t, e) => { + var { parser: r, funcName: n } = t, + i = e[0], + a = e[1], + s, + l = null, + u = null, + h = 'auto'; + switch (n) { + case '\\dfrac': + case '\\frac': + case '\\tfrac': + s = !0; + break; + case '\\\\atopfrac': + s = !1; + break; + case '\\dbinom': + case '\\binom': + case '\\tbinom': + (s = !1), (l = '('), (u = ')'); + break; + case '\\\\bracefrac': + (s = !1), (l = '\\{'), (u = '\\}'); + break; + case '\\\\brackfrac': + (s = !1), (l = '['), (u = ']'); + break; + default: + throw new Error('Unrecognized genfrac command'); + } + switch (n) { + case '\\dfrac': + case '\\dbinom': + h = 'display'; + break; + case '\\tfrac': + case '\\tbinom': + h = 'text'; + break; + } + return { + type: 'genfrac', + mode: r.mode, + continued: !1, + numer: i, + denom: a, + hasBarLine: s, + leftDelim: l, + rightDelim: u, + size: h, + barSize: null + }; + }, 'handler'), + htmlBuilder: H7, + mathmlBuilder: Y7 + }); + vt({ + type: 'genfrac', + names: ['\\cfrac'], + props: { numArgs: 2 }, + handler: o((t, e) => { + var { parser: r, funcName: n } = t, + i = e[0], + a = e[1]; + return { + type: 'genfrac', + mode: r.mode, + continued: !0, + numer: i, + denom: a, + hasBarLine: !0, + leftDelim: null, + rightDelim: null, + size: 'display', + barSize: null + }; + }, 'handler') + }); + vt({ + type: 'infix', + names: ['\\over', '\\choose', '\\atop', '\\brace', '\\brack'], + props: { numArgs: 0, infix: !0 }, + handler(t) { + var { parser: e, funcName: r, token: n } = t, + i; + switch (r) { + case '\\over': + i = '\\frac'; + break; + case '\\choose': + i = '\\binom'; + break; + case '\\atop': + i = '\\\\atopfrac'; + break; + case '\\brace': + i = '\\\\bracefrac'; + break; + case '\\brack': + i = '\\\\brackfrac'; + break; + default: + throw new Error('Unrecognized infix genfrac command'); + } + return { type: 'infix', mode: e.mode, replaceWith: i, token: n }; + } + }); + (pG = ['display', 'text', 'script', 'scriptscript']), + (mG = o(function (e) { + var r = null; + return e.length > 0 && ((r = e), (r = r === '.' ? null : r)), r; + }, 'delimFromValue')); + vt({ + type: 'genfrac', + names: ['\\genfrac'], + props: { + numArgs: 6, + allowedInArgument: !0, + argTypes: ['math', 'math', 'size', 'text', 'math', 'math'] + }, + handler(t, e) { + var { parser: r } = t, + n = e[4], + i = e[5], + a = y4(e[0]), + s = a.type === 'atom' && a.family === 'open' ? mG(a.text) : null, + l = y4(e[1]), + u = l.type === 'atom' && l.family === 'close' ? mG(l.text) : null, + h = ir(e[2], 'size'), + f, + d = null; + h.isBlank ? (f = !0) : ((d = h.value), (f = d.number > 0)); + var p = 'auto', + m = e[3]; + if (m.type === 'ordgroup') { + if (m.body.length > 0) { + var g = ir(m.body[0], 'textord'); + p = pG[Number(g.text)]; + } + } else (m = ir(m, 'textord')), (p = pG[Number(m.text)]); + return { + type: 'genfrac', + mode: r.mode, + numer: n, + denom: i, + continued: !1, + hasBarLine: f, + barSize: d, + leftDelim: s, + rightDelim: u, + size: p + }; + }, + htmlBuilder: H7, + mathmlBuilder: Y7 + }); + vt({ + type: 'infix', + names: ['\\above'], + props: { numArgs: 1, argTypes: ['size'], infix: !0 }, + handler(t, e) { + var { parser: r, funcName: n, token: i } = t; + return { + type: 'infix', + mode: r.mode, + replaceWith: '\\\\abovefrac', + size: ir(e[0], 'size').value, + token: i + }; + } + }); + vt({ + type: 'genfrac', + names: ['\\\\abovefrac'], + props: { numArgs: 3, argTypes: ['math', 'size', 'math'] }, + handler: o((t, e) => { + var { parser: r, funcName: n } = t, + i = e[0], + a = z2e(ir(e[1], 'infix').size), + s = e[2], + l = a.number > 0; + return { + type: 'genfrac', + mode: r.mode, + numer: i, + denom: s, + continued: !1, + hasBarLine: l, + barSize: a, + leftDelim: null, + rightDelim: null, + size: 'auto' + }; + }, 'handler'), + htmlBuilder: H7, + mathmlBuilder: Y7 + }); + (h$ = o((t, e) => { + var r = e.style, + n, + i; + t.type === 'supsub' + ? ((n = t.sup ? Cr(t.sup, e.havingStyle(r.sup()), e) : Cr(t.sub, e.havingStyle(r.sub()), e)), + (i = ir(t.base, 'horizBrace'))) + : (i = ir(t, 'horizBrace')); + var a = Cr(i.base, e.havingBaseStyle(Ht.DISPLAY)), + s = ou.svgSpan(i, e), + l; + if ( + (i.isOver + ? ((l = Be.makeVList( + { + positionType: 'firstBaseline', + children: [ + { type: 'elem', elem: a }, + { type: 'kern', size: 0.1 }, + { type: 'elem', elem: s } + ] + }, + e + )), + l.children[0].children[0].children[1].classes.push('svg-align')) + : ((l = Be.makeVList( + { + positionType: 'bottom', + positionData: a.depth + 0.1 + s.height, + children: [ + { type: 'elem', elem: s }, + { type: 'kern', size: 0.1 }, + { type: 'elem', elem: a } + ] + }, + e + )), + l.children[0].children[0].children[0].classes.push('svg-align')), + n) + ) { + var u = Be.makeSpan(['mord', i.isOver ? 'mover' : 'munder'], [l], e); + i.isOver + ? (l = Be.makeVList( + { + positionType: 'firstBaseline', + children: [ + { type: 'elem', elem: u }, + { type: 'kern', size: 0.2 }, + { type: 'elem', elem: n } + ] + }, + e + )) + : (l = Be.makeVList( + { + positionType: 'bottom', + positionData: u.depth + 0.2 + n.height + n.depth, + children: [ + { type: 'elem', elem: n }, + { type: 'kern', size: 0.2 }, + { type: 'elem', elem: u } + ] + }, + e + )); + } + return Be.makeSpan(['mord', i.isOver ? 'mover' : 'munder'], [l], e); + }, 'htmlBuilder$3')), + (obe = o((t, e) => { + var r = ou.mathMLnode(t.label); + return new et.MathNode(t.isOver ? 'mover' : 'munder', [fn(t.base, e), r]); + }, 'mathmlBuilder$2')); + vt({ + type: 'horizBrace', + names: ['\\overbrace', '\\underbrace'], + props: { numArgs: 1 }, + handler(t, e) { + var { parser: r, funcName: n } = t; + return { + type: 'horizBrace', + mode: r.mode, + label: n, + isOver: /^\\over/.test(n), + base: e[0] + }; + }, + htmlBuilder: h$, + mathmlBuilder: obe + }); + vt({ + type: 'href', + names: ['\\href'], + props: { numArgs: 2, argTypes: ['url', 'original'], allowedInText: !0 }, + handler: o((t, e) => { + var { parser: r } = t, + n = e[1], + i = ir(e[0], 'url').url; + return r.settings.isTrusted({ command: '\\href', url: i }) + ? { type: 'href', mode: r.mode, href: i, body: ui(n) } + : r.formatUnsupportedCmd('\\href'); + }, 'handler'), + htmlBuilder: o((t, e) => { + var r = Ri(t.body, e, !1); + return Be.makeAnchor(t.href, [], r, e); + }, 'htmlBuilder'), + mathmlBuilder: o((t, e) => { + var r = ph(t.body, e); + return r instanceof ps || (r = new ps('mrow', [r])), r.setAttribute('href', t.href), r; + }, 'mathmlBuilder') + }); + vt({ + type: 'href', + names: ['\\url'], + props: { numArgs: 1, argTypes: ['url'], allowedInText: !0 }, + handler: o((t, e) => { + var { parser: r } = t, + n = ir(e[0], 'url').url; + if (!r.settings.isTrusted({ command: '\\url', url: n })) return r.formatUnsupportedCmd('\\url'); + for (var i = [], a = 0; a < n.length; a++) { + var s = n[a]; + s === '~' && (s = '\\textasciitilde'), i.push({ type: 'textord', mode: 'text', text: s }); + } + var l = { type: 'text', mode: r.mode, font: '\\texttt', body: i }; + return { type: 'href', mode: r.mode, href: n, body: ui(l) }; + }, 'handler') + }); + vt({ + type: 'hbox', + names: ['\\hbox'], + props: { + numArgs: 1, + argTypes: ['text'], + allowedInText: !0, + primitive: !0 + }, + handler(t, e) { + var { parser: r } = t; + return { type: 'hbox', mode: r.mode, body: ui(e[0]) }; + }, + htmlBuilder(t, e) { + var r = Ri(t.body, e, !1); + return Be.makeFragment(r); + }, + mathmlBuilder(t, e) { + return new et.MathNode('mrow', gs(t.body, e)); + } + }); + vt({ + type: 'html', + names: ['\\htmlClass', '\\htmlId', '\\htmlStyle', '\\htmlData'], + props: { numArgs: 2, argTypes: ['raw', 'original'], allowedInText: !0 }, + handler: o((t, e) => { + var { parser: r, funcName: n, token: i } = t, + a = ir(e[0], 'raw').string, + s = e[1]; + r.settings.strict && + r.settings.reportNonstrict('htmlExtension', 'HTML extension is disabled on strict mode'); + var l, + u = {}; + switch (n) { + case '\\htmlClass': + (u.class = a), (l = { command: '\\htmlClass', class: a }); + break; + case '\\htmlId': + (u.id = a), (l = { command: '\\htmlId', id: a }); + break; + case '\\htmlStyle': + (u.style = a), (l = { command: '\\htmlStyle', style: a }); + break; + case '\\htmlData': { + for (var h = a.split(','), f = 0; f < h.length; f++) { + var d = h[f].split('='); + if (d.length !== 2) throw new nt('Error parsing key-value for \\htmlData'); + u['data-' + d[0].trim()] = d[1].trim(); + } + l = { command: '\\htmlData', attributes: u }; + break; + } + default: + throw new Error('Unrecognized html command'); + } + return r.settings.isTrusted(l) + ? { type: 'html', mode: r.mode, attributes: u, body: ui(s) } + : r.formatUnsupportedCmd(n); + }, 'handler'), + htmlBuilder: o((t, e) => { + var r = Ri(t.body, e, !1), + n = ['enclosing']; + t.attributes.class && n.push(...t.attributes.class.trim().split(/\s+/)); + var i = Be.makeSpan(n, r, e); + for (var a in t.attributes) + a !== 'class' && t.attributes.hasOwnProperty(a) && i.setAttribute(a, t.attributes[a]); + return i; + }, 'htmlBuilder'), + mathmlBuilder: o((t, e) => ph(t.body, e), 'mathmlBuilder') + }); + vt({ + type: 'htmlmathml', + names: ['\\html@mathml'], + props: { numArgs: 2, allowedInText: !0 }, + handler: o((t, e) => { + var { parser: r } = t; + return { + type: 'htmlmathml', + mode: r.mode, + html: ui(e[0]), + mathml: ui(e[1]) + }; + }, 'handler'), + htmlBuilder: o((t, e) => { + var r = Ri(t.html, e, !1); + return Be.makeFragment(r); + }, 'htmlBuilder'), + mathmlBuilder: o((t, e) => ph(t.mathml, e), 'mathmlBuilder') + }); + g7 = o(function (e) { + if (/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e)) return { number: +e, unit: 'bp' }; + var r = /([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e); + if (!r) throw new nt("Invalid size: '" + e + "' in \\includegraphics"); + var n = { number: +(r[1] + r[2]), unit: r[3] }; + if (!DG(n)) throw new nt("Invalid unit: '" + n.unit + "' in \\includegraphics."); + return n; + }, 'sizeData'); + vt({ + type: 'includegraphics', + names: ['\\includegraphics'], + props: { + numArgs: 1, + numOptionalArgs: 1, + argTypes: ['raw', 'url'], + allowedInText: !1 + }, + handler: o((t, e, r) => { + var { parser: n } = t, + i = { number: 0, unit: 'em' }, + a = { number: 0.9, unit: 'em' }, + s = { number: 0, unit: 'em' }, + l = ''; + if (r[0]) + for (var u = ir(r[0], 'raw').string, h = u.split(','), f = 0; f < h.length; f++) { + var d = h[f].split('='); + if (d.length === 2) { + var p = d[1].trim(); + switch (d[0].trim()) { + case 'alt': + l = p; + break; + case 'width': + i = g7(p); + break; + case 'height': + a = g7(p); + break; + case 'totalheight': + s = g7(p); + break; + default: + throw new nt("Invalid key: '" + d[0] + "' in \\includegraphics."); + } + } + } + var m = ir(e[0], 'url').url; + return ( + l === '' && + ((l = m), (l = l.replace(/^.*[\\/]/, '')), (l = l.substring(0, l.lastIndexOf('.')))), + n.settings.isTrusted({ command: '\\includegraphics', url: m }) + ? { + type: 'includegraphics', + mode: n.mode, + alt: l, + width: i, + height: a, + totalheight: s, + src: m + } + : n.formatUnsupportedCmd('\\includegraphics') + ); + }, 'handler'), + htmlBuilder: o((t, e) => { + var r = Hn(t.height, e), + n = 0; + t.totalheight.number > 0 && (n = Hn(t.totalheight, e) - r); + var i = 0; + t.width.number > 0 && (i = Hn(t.width, e)); + var a = { height: ct(r + n) }; + i > 0 && (a.width = ct(i)), n > 0 && (a.verticalAlign = ct(-n)); + var s = new T7(t.src, t.alt, a); + return (s.height = r), (s.depth = n), s; + }, 'htmlBuilder'), + mathmlBuilder: o((t, e) => { + var r = new et.MathNode('mglyph', []); + r.setAttribute('alt', t.alt); + var n = Hn(t.height, e), + i = 0; + if ( + (t.totalheight.number > 0 && ((i = Hn(t.totalheight, e) - n), r.setAttribute('valign', ct(-i))), + r.setAttribute('height', ct(n + i)), + t.width.number > 0) + ) { + var a = Hn(t.width, e); + r.setAttribute('width', ct(a)); + } + return r.setAttribute('src', t.src), r; + }, 'mathmlBuilder') + }); + vt({ + type: 'kern', + names: ['\\kern', '\\mkern', '\\hskip', '\\mskip'], + props: { + numArgs: 1, + argTypes: ['size'], + primitive: !0, + allowedInText: !0 + }, + handler(t, e) { + var { parser: r, funcName: n } = t, + i = ir(e[0], 'size'); + if (r.settings.strict) { + var a = n[1] === 'm', + s = i.value.unit === 'mu'; + a + ? (s || + r.settings.reportNonstrict( + 'mathVsTextUnits', + "LaTeX's " + n + ' supports only mu units, ' + ('not ' + i.value.unit + ' units') + ), + r.mode !== 'math' && + r.settings.reportNonstrict( + 'mathVsTextUnits', + "LaTeX's " + n + ' works only in math mode' + )) + : s && + r.settings.reportNonstrict( + 'mathVsTextUnits', + "LaTeX's " + n + " doesn't support mu units" + ); + } + return { type: 'kern', mode: r.mode, dimension: i.value }; + }, + htmlBuilder(t, e) { + return Be.makeGlue(t.dimension, e); + }, + mathmlBuilder(t, e) { + var r = Hn(t.dimension, e); + return new et.SpaceNode(r); + } + }); + vt({ + type: 'lap', + names: ['\\mathllap', '\\mathrlap', '\\mathclap'], + props: { numArgs: 1, allowedInText: !0 }, + handler: o((t, e) => { + var { parser: r, funcName: n } = t, + i = e[0]; + return { type: 'lap', mode: r.mode, alignment: n.slice(5), body: i }; + }, 'handler'), + htmlBuilder: o((t, e) => { + var r; + t.alignment === 'clap' + ? ((r = Be.makeSpan([], [Cr(t.body, e)])), (r = Be.makeSpan(['inner'], [r], e))) + : (r = Be.makeSpan(['inner'], [Cr(t.body, e)])); + var n = Be.makeSpan(['fix'], []), + i = Be.makeSpan([t.alignment], [r, n], e), + a = Be.makeSpan(['strut']); + return ( + (a.style.height = ct(i.height + i.depth)), + i.depth && (a.style.verticalAlign = ct(-i.depth)), + i.children.unshift(a), + (i = Be.makeSpan(['thinbox'], [i], e)), + Be.makeSpan(['mord', 'vbox'], [i], e) + ); + }, 'htmlBuilder'), + mathmlBuilder: o((t, e) => { + var r = new et.MathNode('mpadded', [fn(t.body, e)]); + if (t.alignment !== 'rlap') { + var n = t.alignment === 'llap' ? '-1' : '-0.5'; + r.setAttribute('lspace', n + 'width'); + } + return r.setAttribute('width', '0px'), r; + }, 'mathmlBuilder') + }); + vt({ + type: 'styling', + names: ['\\(', '$'], + props: { numArgs: 0, allowedInText: !0, allowedInMath: !1 }, + handler(t, e) { + var { funcName: r, parser: n } = t, + i = n.mode; + n.switchMode('math'); + var a = r === '\\(' ? '\\)' : '$', + s = n.parseExpression(!1, a); + return n.expect(a), n.switchMode(i), { type: 'styling', mode: n.mode, style: 'text', body: s }; + } + }); + vt({ + type: 'text', + names: ['\\)', '\\]'], + props: { numArgs: 0, allowedInText: !0, allowedInMath: !1 }, + handler(t, e) { + throw new nt('Mismatched ' + t.funcName); + } + }); + gG = o((t, e) => { + switch (e.style.size) { + case Ht.DISPLAY.size: + return t.display; + case Ht.TEXT.size: + return t.text; + case Ht.SCRIPT.size: + return t.script; + case Ht.SCRIPTSCRIPT.size: + return t.scriptscript; + default: + return t.text; + } + }, 'chooseMathStyle'); + vt({ + type: 'mathchoice', + names: ['\\mathchoice'], + props: { numArgs: 4, primitive: !0 }, + handler: o((t, e) => { + var { parser: r } = t; + return { + type: 'mathchoice', + mode: r.mode, + display: ui(e[0]), + text: ui(e[1]), + script: ui(e[2]), + scriptscript: ui(e[3]) + }; + }, 'handler'), + htmlBuilder: o((t, e) => { + var r = gG(t, e), + n = Ri(r, e, !1); + return Be.makeFragment(n); + }, 'htmlBuilder'), + mathmlBuilder: o((t, e) => { + var r = gG(t, e); + return ph(r, e); + }, 'mathmlBuilder') + }); + (f$ = o((t, e, r, n, i, a, s) => { + t = Be.makeSpan([], [t]); + var l = r && Vt.isCharacterBox(r), + u, + h; + if (e) { + var f = Cr(e, n.havingStyle(i.sup()), n); + h = { + elem: f, + kern: Math.max(n.fontMetrics().bigOpSpacing1, n.fontMetrics().bigOpSpacing3 - f.depth) + }; + } + if (r) { + var d = Cr(r, n.havingStyle(i.sub()), n); + u = { + elem: d, + kern: Math.max(n.fontMetrics().bigOpSpacing2, n.fontMetrics().bigOpSpacing4 - d.height) + }; + } + var p; + if (h && u) { + var m = n.fontMetrics().bigOpSpacing5 + u.elem.height + u.elem.depth + u.kern + t.depth + s; + p = Be.makeVList( + { + positionType: 'bottom', + positionData: m, + children: [ + { type: 'kern', size: n.fontMetrics().bigOpSpacing5 }, + { type: 'elem', elem: u.elem, marginLeft: ct(-a) }, + { type: 'kern', size: u.kern }, + { type: 'elem', elem: t }, + { type: 'kern', size: h.kern }, + { type: 'elem', elem: h.elem, marginLeft: ct(a) }, + { type: 'kern', size: n.fontMetrics().bigOpSpacing5 } + ] + }, + n + ); + } else if (u) { + var g = t.height - s; + p = Be.makeVList( + { + positionType: 'top', + positionData: g, + children: [ + { type: 'kern', size: n.fontMetrics().bigOpSpacing5 }, + { type: 'elem', elem: u.elem, marginLeft: ct(-a) }, + { type: 'kern', size: u.kern }, + { type: 'elem', elem: t } + ] + }, + n + ); + } else if (h) { + var y = t.depth + s; + p = Be.makeVList( + { + positionType: 'bottom', + positionData: y, + children: [ + { type: 'elem', elem: t }, + { type: 'kern', size: h.kern }, + { type: 'elem', elem: h.elem, marginLeft: ct(a) }, + { type: 'kern', size: n.fontMetrics().bigOpSpacing5 } + ] + }, + n + ); + } else return t; + var v = [p]; + if (u && a !== 0 && !l) { + var x = Be.makeSpan(['mspace'], [], n); + (x.style.marginRight = ct(a)), v.unshift(x); + } + return Be.makeSpan(['mop', 'op-limits'], v, n); + }, 'assembleSupSub')), + (d$ = ['\\smallint']), + (xp = o((t, e) => { + var r, + n, + i = !1, + a; + t.type === 'supsub' + ? ((r = t.sup), (n = t.sub), (a = ir(t.base, 'op')), (i = !0)) + : (a = ir(t, 'op')); + var s = e.style, + l = !1; + s.size === Ht.DISPLAY.size && a.symbol && !Vt.contains(d$, a.name) && (l = !0); + var u; + if (a.symbol) { + var h = l ? 'Size2-Regular' : 'Size1-Regular', + f = ''; + if ( + ((a.name === '\\oiint' || a.name === '\\oiiint') && + ((f = a.name.slice(1)), (a.name = f === 'oiint' ? '\\iint' : '\\iiint')), + (u = Be.makeSymbol(a.name, h, 'math', e, [ + 'mop', + 'op-symbol', + l ? 'large-op' : 'small-op' + ])), + f.length > 0) + ) { + var d = u.italic, + p = Be.staticSvg(f + 'Size' + (l ? '2' : '1'), e); + (u = Be.makeVList( + { + positionType: 'individualShift', + children: [ + { type: 'elem', elem: u, shift: 0 }, + { type: 'elem', elem: p, shift: l ? 0.08 : 0 } + ] + }, + e + )), + (a.name = '\\' + f), + u.classes.unshift('mop'), + (u.italic = d); + } + } else if (a.body) { + var m = Ri(a.body, e, !0); + m.length === 1 && m[0] instanceof ms + ? ((u = m[0]), (u.classes[0] = 'mop')) + : (u = Be.makeSpan(['mop'], m, e)); + } else { + for (var g = [], y = 1; y < a.name.length; y++) g.push(Be.mathsym(a.name[y], a.mode, e)); + u = Be.makeSpan(['mop'], g, e); + } + var v = 0, + x = 0; + return ( + (u instanceof ms || a.name === '\\oiint' || a.name === '\\oiiint') && + !a.suppressBaseShift && + ((v = (u.height - u.depth) / 2 - e.fontMetrics().axisHeight), (x = u.italic)), + i ? f$(u, r, n, e, s, x, v) : (v && ((u.style.position = 'relative'), (u.style.top = ct(v))), u) + ); + }, 'htmlBuilder$2')), + (oy = o((t, e) => { + var r; + if (t.symbol) + (r = new ps('mo', [_o(t.name, t.mode)])), + Vt.contains(d$, t.name) && r.setAttribute('largeop', 'false'); + else if (t.body) r = new ps('mo', gs(t.body, e)); + else { + r = new ps('mi', [new qf(t.name.slice(1))]); + var n = new ps('mo', [_o('\u2061', 'text')]); + t.parentIsSupSub ? (r = new ps('mrow', [r, n])) : (r = $G([r, n])); + } + return r; + }, 'mathmlBuilder$1')), + (lbe = { + '\u220F': '\\prod', + '\u2210': '\\coprod', + '\u2211': '\\sum', + '\u22C0': '\\bigwedge', + '\u22C1': '\\bigvee', + '\u22C2': '\\bigcap', + '\u22C3': '\\bigcup', + '\u2A00': '\\bigodot', + '\u2A01': '\\bigoplus', + '\u2A02': '\\bigotimes', + '\u2A04': '\\biguplus', + '\u2A06': '\\bigsqcup' + }); + vt({ + type: 'op', + names: [ + '\\coprod', + '\\bigvee', + '\\bigwedge', + '\\biguplus', + '\\bigcap', + '\\bigcup', + '\\intop', + '\\prod', + '\\sum', + '\\bigotimes', + '\\bigoplus', + '\\bigodot', + '\\bigsqcup', + '\\smallint', + '\u220F', + '\u2210', + '\u2211', + '\u22C0', + '\u22C1', + '\u22C2', + '\u22C3', + '\u2A00', + '\u2A01', + '\u2A02', + '\u2A04', + '\u2A06' + ], + props: { numArgs: 0 }, + handler: o((t, e) => { + var { parser: r, funcName: n } = t, + i = n; + return ( + i.length === 1 && (i = lbe[i]), + { + type: 'op', + mode: r.mode, + limits: !0, + parentIsSupSub: !1, + symbol: !0, + name: i + } + ); + }, 'handler'), + htmlBuilder: xp, + mathmlBuilder: oy + }); + vt({ + type: 'op', + names: ['\\mathop'], + props: { numArgs: 1, primitive: !0 }, + handler: o((t, e) => { + var { parser: r } = t, + n = e[0]; + return { + type: 'op', + mode: r.mode, + limits: !1, + parentIsSupSub: !1, + symbol: !1, + body: ui(n) + }; + }, 'handler'), + htmlBuilder: xp, + mathmlBuilder: oy + }); + cbe = { + '\u222B': '\\int', + '\u222C': '\\iint', + '\u222D': '\\iiint', + '\u222E': '\\oint', + '\u222F': '\\oiint', + '\u2230': '\\oiiint' + }; + vt({ + type: 'op', + names: [ + '\\arcsin', + '\\arccos', + '\\arctan', + '\\arctg', + '\\arcctg', + '\\arg', + '\\ch', + '\\cos', + '\\cosec', + '\\cosh', + '\\cot', + '\\cotg', + '\\coth', + '\\csc', + '\\ctg', + '\\cth', + '\\deg', + '\\dim', + '\\exp', + '\\hom', + '\\ker', + '\\lg', + '\\ln', + '\\log', + '\\sec', + '\\sin', + '\\sinh', + '\\sh', + '\\tan', + '\\tanh', + '\\tg', + '\\th' + ], + props: { numArgs: 0 }, + handler(t) { + var { parser: e, funcName: r } = t; + return { + type: 'op', + mode: e.mode, + limits: !1, + parentIsSupSub: !1, + symbol: !1, + name: r + }; + }, + htmlBuilder: xp, + mathmlBuilder: oy + }); + vt({ + type: 'op', + names: ['\\det', '\\gcd', '\\inf', '\\lim', '\\max', '\\min', '\\Pr', '\\sup'], + props: { numArgs: 0 }, + handler(t) { + var { parser: e, funcName: r } = t; + return { + type: 'op', + mode: e.mode, + limits: !0, + parentIsSupSub: !1, + symbol: !1, + name: r + }; + }, + htmlBuilder: xp, + mathmlBuilder: oy + }); + vt({ + type: 'op', + names: [ + '\\int', + '\\iint', + '\\iiint', + '\\oint', + '\\oiint', + '\\oiiint', + '\u222B', + '\u222C', + '\u222D', + '\u222E', + '\u222F', + '\u2230' + ], + props: { numArgs: 0 }, + handler(t) { + var { parser: e, funcName: r } = t, + n = r; + return ( + n.length === 1 && (n = cbe[n]), + { + type: 'op', + mode: e.mode, + limits: !1, + parentIsSupSub: !1, + symbol: !0, + name: n + } + ); + }, + htmlBuilder: xp, + mathmlBuilder: oy + }); + (p$ = o((t, e) => { + var r, + n, + i = !1, + a; + t.type === 'supsub' + ? ((r = t.sup), (n = t.sub), (a = ir(t.base, 'operatorname')), (i = !0)) + : (a = ir(t, 'operatorname')); + var s; + if (a.body.length > 0) { + for ( + var l = a.body.map((d) => { + var p = d.text; + return typeof p == 'string' ? { type: 'textord', mode: d.mode, text: p } : d; + }), + u = Ri(l, e.withFont('mathrm'), !0), + h = 0; + h < u.length; + h++ + ) { + var f = u[h]; + f instanceof ms && (f.text = f.text.replace(/\u2212/, '-').replace(/\u2217/, '*')); + } + s = Be.makeSpan(['mop'], u, e); + } else s = Be.makeSpan(['mop'], [], e); + return i ? f$(s, r, n, e, e.style, 0, 0) : s; + }, 'htmlBuilder$1')), + (ube = o((t, e) => { + for (var r = gs(t.body, e.withFont('mathrm')), n = !0, i = 0; i < r.length; i++) { + var a = r[i]; + if (!(a instanceof et.SpaceNode)) + if (a instanceof et.MathNode) + switch (a.type) { + case 'mi': + case 'mn': + case 'ms': + case 'mspace': + case 'mtext': + break; + case 'mo': { + var s = a.children[0]; + a.children.length === 1 && s instanceof et.TextNode + ? (s.text = s.text.replace(/\u2212/, '-').replace(/\u2217/, '*')) + : (n = !1); + break; + } + default: + n = !1; + } + else n = !1; + } + if (n) { + var l = r.map((f) => f.toText()).join(''); + r = [new et.TextNode(l)]; + } + var u = new et.MathNode('mi', r); + u.setAttribute('mathvariant', 'normal'); + var h = new et.MathNode('mo', [_o('\u2061', 'text')]); + return t.parentIsSupSub ? new et.MathNode('mrow', [u, h]) : et.newDocumentFragment([u, h]); + }, 'mathmlBuilder')); + vt({ + type: 'operatorname', + names: ['\\operatorname@', '\\operatornamewithlimits'], + props: { numArgs: 1 }, + handler: o((t, e) => { + var { parser: r, funcName: n } = t, + i = e[0]; + return { + type: 'operatorname', + mode: r.mode, + body: ui(i), + alwaysHandleSupSub: n === '\\operatornamewithlimits', + limits: !1, + parentIsSupSub: !1 + }; + }, 'handler'), + htmlBuilder: p$, + mathmlBuilder: ube + }); + le('\\operatorname', '\\@ifstar\\operatornamewithlimits\\operatorname@'); + Kf({ + type: 'ordgroup', + htmlBuilder(t, e) { + return t.semisimple + ? Be.makeFragment(Ri(t.body, e, !1)) + : Be.makeSpan(['mord'], Ri(t.body, e, !0), e); + }, + mathmlBuilder(t, e) { + return ph(t.body, e, !0); + } + }); + vt({ + type: 'overline', + names: ['\\overline'], + props: { numArgs: 1 }, + handler(t, e) { + var { parser: r } = t, + n = e[0]; + return { type: 'overline', mode: r.mode, body: n }; + }, + htmlBuilder(t, e) { + var r = Cr(t.body, e.havingCrampedStyle()), + n = Be.makeLineSpan('overline-line', e), + i = e.fontMetrics().defaultRuleThickness, + a = Be.makeVList( + { + positionType: 'firstBaseline', + children: [ + { type: 'elem', elem: r }, + { type: 'kern', size: 3 * i }, + { type: 'elem', elem: n }, + { type: 'kern', size: i } + ] + }, + e + ); + return Be.makeSpan(['mord', 'overline'], [a], e); + }, + mathmlBuilder(t, e) { + var r = new et.MathNode('mo', [new et.TextNode('\u203E')]); + r.setAttribute('stretchy', 'true'); + var n = new et.MathNode('mover', [fn(t.body, e), r]); + return n.setAttribute('accent', 'true'), n; + } + }); + vt({ + type: 'phantom', + names: ['\\phantom'], + props: { numArgs: 1, allowedInText: !0 }, + handler: o((t, e) => { + var { parser: r } = t, + n = e[0]; + return { type: 'phantom', mode: r.mode, body: ui(n) }; + }, 'handler'), + htmlBuilder: o((t, e) => { + var r = Ri(t.body, e.withPhantom(), !1); + return Be.makeFragment(r); + }, 'htmlBuilder'), + mathmlBuilder: o((t, e) => { + var r = gs(t.body, e); + return new et.MathNode('mphantom', r); + }, 'mathmlBuilder') + }); + vt({ + type: 'hphantom', + names: ['\\hphantom'], + props: { numArgs: 1, allowedInText: !0 }, + handler: o((t, e) => { + var { parser: r } = t, + n = e[0]; + return { type: 'hphantom', mode: r.mode, body: n }; + }, 'handler'), + htmlBuilder: o((t, e) => { + var r = Be.makeSpan([], [Cr(t.body, e.withPhantom())]); + if (((r.height = 0), (r.depth = 0), r.children)) + for (var n = 0; n < r.children.length; n++) + (r.children[n].height = 0), (r.children[n].depth = 0); + return ( + (r = Be.makeVList( + { + positionType: 'firstBaseline', + children: [{ type: 'elem', elem: r }] + }, + e + )), + Be.makeSpan(['mord'], [r], e) + ); + }, 'htmlBuilder'), + mathmlBuilder: o((t, e) => { + var r = gs(ui(t.body), e), + n = new et.MathNode('mphantom', r), + i = new et.MathNode('mpadded', [n]); + return i.setAttribute('height', '0px'), i.setAttribute('depth', '0px'), i; + }, 'mathmlBuilder') + }); + vt({ + type: 'vphantom', + names: ['\\vphantom'], + props: { numArgs: 1, allowedInText: !0 }, + handler: o((t, e) => { + var { parser: r } = t, + n = e[0]; + return { type: 'vphantom', mode: r.mode, body: n }; + }, 'handler'), + htmlBuilder: o((t, e) => { + var r = Be.makeSpan(['inner'], [Cr(t.body, e.withPhantom())]), + n = Be.makeSpan(['fix'], []); + return Be.makeSpan(['mord', 'rlap'], [r, n], e); + }, 'htmlBuilder'), + mathmlBuilder: o((t, e) => { + var r = gs(ui(t.body), e), + n = new et.MathNode('mphantom', r), + i = new et.MathNode('mpadded', [n]); + return i.setAttribute('width', '0px'), i; + }, 'mathmlBuilder') + }); + vt({ + type: 'raisebox', + names: ['\\raisebox'], + props: { numArgs: 2, argTypes: ['size', 'hbox'], allowedInText: !0 }, + handler(t, e) { + var { parser: r } = t, + n = ir(e[0], 'size').value, + i = e[1]; + return { type: 'raisebox', mode: r.mode, dy: n, body: i }; + }, + htmlBuilder(t, e) { + var r = Cr(t.body, e), + n = Hn(t.dy, e); + return Be.makeVList( + { + positionType: 'shift', + positionData: -n, + children: [{ type: 'elem', elem: r }] + }, + e + ); + }, + mathmlBuilder(t, e) { + var r = new et.MathNode('mpadded', [fn(t.body, e)]), + n = t.dy.number + t.dy.unit; + return r.setAttribute('voffset', n), r; + } + }); + vt({ + type: 'internal', + names: ['\\relax'], + props: { numArgs: 0, allowedInText: !0 }, + handler(t) { + var { parser: e } = t; + return { type: 'internal', mode: e.mode }; + } + }); + vt({ + type: 'rule', + names: ['\\rule'], + props: { + numArgs: 2, + numOptionalArgs: 1, + argTypes: ['size', 'size', 'size'] + }, + handler(t, e, r) { + var { parser: n } = t, + i = r[0], + a = ir(e[0], 'size'), + s = ir(e[1], 'size'); + return { + type: 'rule', + mode: n.mode, + shift: i && ir(i, 'size').value, + width: a.value, + height: s.value + }; + }, + htmlBuilder(t, e) { + var r = Be.makeSpan(['mord', 'rule'], [], e), + n = Hn(t.width, e), + i = Hn(t.height, e), + a = t.shift ? Hn(t.shift, e) : 0; + return ( + (r.style.borderRightWidth = ct(n)), + (r.style.borderTopWidth = ct(i)), + (r.style.bottom = ct(a)), + (r.width = n), + (r.height = i + a), + (r.depth = -a), + (r.maxFontSize = i * 1.125 * e.sizeMultiplier), + r + ); + }, + mathmlBuilder(t, e) { + var r = Hn(t.width, e), + n = Hn(t.height, e), + i = t.shift ? Hn(t.shift, e) : 0, + a = (e.color && e.getColor()) || 'black', + s = new et.MathNode('mspace'); + s.setAttribute('mathbackground', a), + s.setAttribute('width', ct(r)), + s.setAttribute('height', ct(n)); + var l = new et.MathNode('mpadded', [s]); + return ( + i >= 0 + ? l.setAttribute('height', ct(i)) + : (l.setAttribute('height', ct(i)), l.setAttribute('depth', ct(-i))), + l.setAttribute('voffset', ct(i)), + l + ); + } + }); + o(m$, 'sizingGroup'); + (yG = [ + '\\tiny', + '\\sixptsize', + '\\scriptsize', + '\\footnotesize', + '\\small', + '\\normalsize', + '\\large', + '\\Large', + '\\LARGE', + '\\huge', + '\\Huge' + ]), + (hbe = o((t, e) => { + var r = e.havingSize(t.size); + return m$(t.body, r, e); + }, 'htmlBuilder')); + vt({ + type: 'sizing', + names: yG, + props: { numArgs: 0, allowedInText: !0 }, + handler: o((t, e) => { + var { breakOnTokenText: r, funcName: n, parser: i } = t, + a = i.parseExpression(!1, r); + return { + type: 'sizing', + mode: i.mode, + size: yG.indexOf(n) + 1, + body: a + }; + }, 'handler'), + htmlBuilder: hbe, + mathmlBuilder: o((t, e) => { + var r = e.havingSize(t.size), + n = gs(t.body, r), + i = new et.MathNode('mstyle', n); + return i.setAttribute('mathsize', ct(r.sizeMultiplier)), i; + }, 'mathmlBuilder') + }); + vt({ + type: 'smash', + names: ['\\smash'], + props: { numArgs: 1, numOptionalArgs: 1, allowedInText: !0 }, + handler: o((t, e, r) => { + var { parser: n } = t, + i = !1, + a = !1, + s = r[0] && ir(r[0], 'ordgroup'); + if (s) + for (var l = '', u = 0; u < s.body.length; ++u) { + var h = s.body[u]; + if (((l = h.text), l === 't')) i = !0; + else if (l === 'b') a = !0; + else { + (i = !1), (a = !1); + break; + } + } + else (i = !0), (a = !0); + var f = e[0]; + return { + type: 'smash', + mode: n.mode, + body: f, + smashHeight: i, + smashDepth: a + }; + }, 'handler'), + htmlBuilder: o((t, e) => { + var r = Be.makeSpan([], [Cr(t.body, e)]); + if (!t.smashHeight && !t.smashDepth) return r; + if (t.smashHeight && ((r.height = 0), r.children)) + for (var n = 0; n < r.children.length; n++) r.children[n].height = 0; + if (t.smashDepth && ((r.depth = 0), r.children)) + for (var i = 0; i < r.children.length; i++) r.children[i].depth = 0; + var a = Be.makeVList( + { + positionType: 'firstBaseline', + children: [{ type: 'elem', elem: r }] + }, + e + ); + return Be.makeSpan(['mord'], [a], e); + }, 'htmlBuilder'), + mathmlBuilder: o((t, e) => { + var r = new et.MathNode('mpadded', [fn(t.body, e)]); + return ( + t.smashHeight && r.setAttribute('height', '0px'), + t.smashDepth && r.setAttribute('depth', '0px'), + r + ); + }, 'mathmlBuilder') + }); + vt({ + type: 'sqrt', + names: ['\\sqrt'], + props: { numArgs: 1, numOptionalArgs: 1 }, + handler(t, e, r) { + var { parser: n } = t, + i = r[0], + a = e[0]; + return { type: 'sqrt', mode: n.mode, body: a, index: i }; + }, + htmlBuilder(t, e) { + var r = Cr(t.body, e.havingCrampedStyle()); + r.height === 0 && (r.height = e.fontMetrics().xHeight), (r = Be.wrapFragment(r, e)); + var n = e.fontMetrics(), + i = n.defaultRuleThickness, + a = i; + e.style.id < Ht.TEXT.id && (a = e.fontMetrics().xHeight); + var s = i + a / 4, + l = r.height + r.depth + s + i, + { span: u, ruleWidth: h, advanceWidth: f } = au.sqrtImage(l, e), + d = u.height - h; + d > r.height + r.depth + s && (s = (s + d - r.height - r.depth) / 2); + var p = u.height - r.height - s - h; + r.style.paddingLeft = ct(f); + var m = Be.makeVList( + { + positionType: 'firstBaseline', + children: [ + { type: 'elem', elem: r, wrapperClasses: ['svg-align'] }, + { type: 'kern', size: -(r.height + p) }, + { type: 'elem', elem: u }, + { type: 'kern', size: h } + ] + }, + e + ); + if (t.index) { + var g = e.havingStyle(Ht.SCRIPTSCRIPT), + y = Cr(t.index, g, e), + v = 0.6 * (m.height - m.depth), + x = Be.makeVList( + { + positionType: 'shift', + positionData: -v, + children: [{ type: 'elem', elem: y }] + }, + e + ), + b = Be.makeSpan(['root'], [x]); + return Be.makeSpan(['mord', 'sqrt'], [b, m], e); + } else return Be.makeSpan(['mord', 'sqrt'], [m], e); + }, + mathmlBuilder(t, e) { + var { body: r, index: n } = t; + return n ? new et.MathNode('mroot', [fn(r, e), fn(n, e)]) : new et.MathNode('msqrt', [fn(r, e)]); + } + }); + vG = { + display: Ht.DISPLAY, + text: Ht.TEXT, + script: Ht.SCRIPT, + scriptscript: Ht.SCRIPTSCRIPT + }; + vt({ + type: 'styling', + names: ['\\displaystyle', '\\textstyle', '\\scriptstyle', '\\scriptscriptstyle'], + props: { numArgs: 0, allowedInText: !0, primitive: !0 }, + handler(t, e) { + var { breakOnTokenText: r, funcName: n, parser: i } = t, + a = i.parseExpression(!0, r), + s = n.slice(1, n.length - 5); + return { type: 'styling', mode: i.mode, style: s, body: a }; + }, + htmlBuilder(t, e) { + var r = vG[t.style], + n = e.havingStyle(r).withFont(''); + return m$(t.body, n, e); + }, + mathmlBuilder(t, e) { + var r = vG[t.style], + n = e.havingStyle(r), + i = gs(t.body, n), + a = new et.MathNode('mstyle', i), + s = { + display: ['0', 'true'], + text: ['0', 'false'], + script: ['1', 'false'], + scriptscript: ['2', 'false'] + }, + l = s[t.style]; + return a.setAttribute('scriptlevel', l[0]), a.setAttribute('displaystyle', l[1]), a; + } + }); + fbe = o(function (e, r) { + var n = e.base; + if (n) + if (n.type === 'op') { + var i = n.limits && (r.style.size === Ht.DISPLAY.size || n.alwaysHandleSupSub); + return i ? xp : null; + } else if (n.type === 'operatorname') { + var a = n.alwaysHandleSupSub && (r.style.size === Ht.DISPLAY.size || n.limits); + return a ? p$ : null; + } else { + if (n.type === 'accent') return Vt.isCharacterBox(n.base) ? F7 : null; + if (n.type === 'horizBrace') { + var s = !e.sub; + return s === n.isOver ? h$ : null; + } else return null; + } + else return null; + }, 'htmlBuilderDelegate'); + Kf({ + type: 'supsub', + htmlBuilder(t, e) { + var r = fbe(t, e); + if (r) return r(t, e); + var { base: n, sup: i, sub: a } = t, + s = Cr(n, e), + l, + u, + h = e.fontMetrics(), + f = 0, + d = 0, + p = n && Vt.isCharacterBox(n); + if (i) { + var m = e.havingStyle(e.style.sup()); + (l = Cr(i, m, e)), + p || (f = s.height - (m.fontMetrics().supDrop * m.sizeMultiplier) / e.sizeMultiplier); + } + if (a) { + var g = e.havingStyle(e.style.sub()); + (u = Cr(a, g, e)), + p || (d = s.depth + (g.fontMetrics().subDrop * g.sizeMultiplier) / e.sizeMultiplier); + } + var y; + e.style === Ht.DISPLAY ? (y = h.sup1) : e.style.cramped ? (y = h.sup3) : (y = h.sup2); + var v = e.sizeMultiplier, + x = ct(0.5 / h.ptPerEm / v), + b = null; + if (u) { + var w = + t.base && + t.base.type === 'op' && + t.base.name && + (t.base.name === '\\oiint' || t.base.name === '\\oiiint'); + (s instanceof ms || w) && (b = ct(-s.italic)); + } + var S; + if (l && u) { + (f = Math.max(f, y, l.depth + 0.25 * h.xHeight)), (d = Math.max(d, h.sub2)); + var T = h.defaultRuleThickness, + E = 4 * T; + if (f - l.depth - (u.height - d) < E) { + d = E - (f - l.depth) + u.height; + var _ = 0.8 * h.xHeight - (f - l.depth); + _ > 0 && ((f += _), (d -= _)); + } + var A = [ + { + type: 'elem', + elem: u, + shift: d, + marginRight: x, + marginLeft: b + }, + { type: 'elem', elem: l, shift: -f, marginRight: x } + ]; + S = Be.makeVList({ positionType: 'individualShift', children: A }, e); + } else if (u) { + d = Math.max(d, h.sub1, u.height - 0.8 * h.xHeight); + var L = [{ type: 'elem', elem: u, marginLeft: b, marginRight: x }]; + S = Be.makeVList({ positionType: 'shift', positionData: d, children: L }, e); + } else if (l) + (f = Math.max(f, y, l.depth + 0.25 * h.xHeight)), + (S = Be.makeVList( + { + positionType: 'shift', + positionData: -f, + children: [{ type: 'elem', elem: l, marginRight: x }] + }, + e + )); + else throw new Error('supsub must have either sup or sub.'); + var M = E7(s, 'right') || 'mord'; + return Be.makeSpan([M], [s, Be.makeSpan(['msupsub'], [S])], e); + }, + mathmlBuilder(t, e) { + var r = !1, + n, + i; + t.base && + t.base.type === 'horizBrace' && + ((i = !!t.sup), i === t.base.isOver && ((r = !0), (n = t.base.isOver))), + t.base && + (t.base.type === 'op' || t.base.type === 'operatorname') && + (t.base.parentIsSupSub = !0); + var a = [fn(t.base, e)]; + t.sub && a.push(fn(t.sub, e)), t.sup && a.push(fn(t.sup, e)); + var s; + if (r) s = n ? 'mover' : 'munder'; + else if (t.sub) + if (t.sup) { + var h = t.base; + (h && h.type === 'op' && h.limits && e.style === Ht.DISPLAY) || + (h && + h.type === 'operatorname' && + h.alwaysHandleSupSub && + (e.style === Ht.DISPLAY || h.limits)) + ? (s = 'munderover') + : (s = 'msubsup'); + } else { + var u = t.base; + (u && u.type === 'op' && u.limits && (e.style === Ht.DISPLAY || u.alwaysHandleSupSub)) || + (u && + u.type === 'operatorname' && + u.alwaysHandleSupSub && + (u.limits || e.style === Ht.DISPLAY)) + ? (s = 'munder') + : (s = 'msub'); + } + else { + var l = t.base; + (l && l.type === 'op' && l.limits && (e.style === Ht.DISPLAY || l.alwaysHandleSupSub)) || + (l && l.type === 'operatorname' && l.alwaysHandleSupSub && (l.limits || e.style === Ht.DISPLAY)) + ? (s = 'mover') + : (s = 'msup'); + } + return new et.MathNode(s, a); + } + }); + Kf({ + type: 'atom', + htmlBuilder(t, e) { + return Be.mathsym(t.text, t.mode, e, ['m' + t.family]); + }, + mathmlBuilder(t, e) { + var r = new et.MathNode('mo', [_o(t.text, t.mode)]); + if (t.family === 'bin') { + var n = P7(t, e); + n === 'bold-italic' && r.setAttribute('mathvariant', n); + } else + t.family === 'punct' + ? r.setAttribute('separator', 'true') + : (t.family === 'open' || t.family === 'close') && r.setAttribute('stretchy', 'false'); + return r; + } + }); + g$ = { mi: 'italic', mn: 'normal', mtext: 'normal' }; + Kf({ + type: 'mathord', + htmlBuilder(t, e) { + return Be.makeOrd(t, e, 'mathord'); + }, + mathmlBuilder(t, e) { + var r = new et.MathNode('mi', [_o(t.text, t.mode, e)]), + n = P7(t, e) || 'italic'; + return n !== g$[r.type] && r.setAttribute('mathvariant', n), r; + } + }); + Kf({ + type: 'textord', + htmlBuilder(t, e) { + return Be.makeOrd(t, e, 'textord'); + }, + mathmlBuilder(t, e) { + var r = _o(t.text, t.mode, e), + n = P7(t, e) || 'normal', + i; + return ( + t.mode === 'text' + ? (i = new et.MathNode('mtext', [r])) + : /[0-9]/.test(t.text) + ? (i = new et.MathNode('mn', [r])) + : t.text === '\\prime' + ? (i = new et.MathNode('mo', [r])) + : (i = new et.MathNode('mi', [r])), + n !== g$[i.type] && i.setAttribute('mathvariant', n), + i + ); + } + }); + (y7 = { '\\nobreak': 'nobreak', '\\allowbreak': 'allowbreak' }), + (v7 = { + ' ': {}, + '\\ ': {}, + '~': { className: 'nobreak' }, + '\\space': {}, + '\\nobreakspace': { className: 'nobreak' } + }); + Kf({ + type: 'spacing', + htmlBuilder(t, e) { + if (v7.hasOwnProperty(t.text)) { + var r = v7[t.text].className || ''; + if (t.mode === 'text') { + var n = Be.makeOrd(t, e, 'textord'); + return n.classes.push(r), n; + } else return Be.makeSpan(['mspace', r], [Be.mathsym(t.text, t.mode, e)], e); + } else { + if (y7.hasOwnProperty(t.text)) return Be.makeSpan(['mspace', y7[t.text]], [], e); + throw new nt('Unknown type of space "' + t.text + '"'); + } + }, + mathmlBuilder(t, e) { + var r; + if (v7.hasOwnProperty(t.text)) r = new et.MathNode('mtext', [new et.TextNode('\xA0')]); + else { + if (y7.hasOwnProperty(t.text)) return new et.MathNode('mspace'); + throw new nt('Unknown type of space "' + t.text + '"'); + } + return r; + } + }); + xG = o(() => { + var t = new et.MathNode('mtd', []); + return t.setAttribute('width', '50%'), t; + }, 'pad'); + Kf({ + type: 'tag', + mathmlBuilder(t, e) { + var r = new et.MathNode('mtable', [ + new et.MathNode('mtr', [ + xG(), + new et.MathNode('mtd', [ph(t.body, e)]), + xG(), + new et.MathNode('mtd', [ph(t.tag, e)]) + ]) + ]); + return r.setAttribute('width', '100%'), r; + } + }); + (bG = { + '\\text': void 0, + '\\textrm': 'textrm', + '\\textsf': 'textsf', + '\\texttt': 'texttt', + '\\textnormal': 'textrm' + }), + (wG = { '\\textbf': 'textbf', '\\textmd': 'textmd' }), + (dbe = { '\\textit': 'textit', '\\textup': 'textup' }), + (TG = o((t, e) => { + var r = t.font; + if (r) { + if (bG[r]) return e.withTextFontFamily(bG[r]); + if (wG[r]) return e.withTextFontWeight(wG[r]); + if (r === '\\emph') + return e.fontShape === 'textit' + ? e.withTextFontShape('textup') + : e.withTextFontShape('textit'); + } else return e; + return e.withTextFontShape(dbe[r]); + }, 'optionsWithFont')); + vt({ + type: 'text', + names: [ + '\\text', + '\\textrm', + '\\textsf', + '\\texttt', + '\\textnormal', + '\\textbf', + '\\textmd', + '\\textit', + '\\textup', + '\\emph' + ], + props: { + numArgs: 1, + argTypes: ['text'], + allowedInArgument: !0, + allowedInText: !0 + }, + handler(t, e) { + var { parser: r, funcName: n } = t, + i = e[0]; + return { type: 'text', mode: r.mode, body: ui(i), font: n }; + }, + htmlBuilder(t, e) { + var r = TG(t, e), + n = Ri(t.body, r, !0); + return Be.makeSpan(['mord', 'text'], n, r); + }, + mathmlBuilder(t, e) { + var r = TG(t, e); + return ph(t.body, r); + } + }); + vt({ + type: 'underline', + names: ['\\underline'], + props: { numArgs: 1, allowedInText: !0 }, + handler(t, e) { + var { parser: r } = t; + return { type: 'underline', mode: r.mode, body: e[0] }; + }, + htmlBuilder(t, e) { + var r = Cr(t.body, e), + n = Be.makeLineSpan('underline-line', e), + i = e.fontMetrics().defaultRuleThickness, + a = Be.makeVList( + { + positionType: 'top', + positionData: r.height, + children: [ + { type: 'kern', size: i }, + { type: 'elem', elem: n }, + { type: 'kern', size: 3 * i }, + { type: 'elem', elem: r } + ] + }, + e + ); + return Be.makeSpan(['mord', 'underline'], [a], e); + }, + mathmlBuilder(t, e) { + var r = new et.MathNode('mo', [new et.TextNode('\u203E')]); + r.setAttribute('stretchy', 'true'); + var n = new et.MathNode('munder', [fn(t.body, e), r]); + return n.setAttribute('accentunder', 'true'), n; + } + }); + vt({ + type: 'vcenter', + names: ['\\vcenter'], + props: { numArgs: 1, argTypes: ['original'], allowedInText: !1 }, + handler(t, e) { + var { parser: r } = t; + return { type: 'vcenter', mode: r.mode, body: e[0] }; + }, + htmlBuilder(t, e) { + var r = Cr(t.body, e), + n = e.fontMetrics().axisHeight, + i = 0.5 * (r.height - n - (r.depth + n)); + return Be.makeVList( + { + positionType: 'shift', + positionData: i, + children: [{ type: 'elem', elem: r }] + }, + e + ); + }, + mathmlBuilder(t, e) { + return new et.MathNode('mpadded', [fn(t.body, e)], ['vcenter']); + } + }); + vt({ + type: 'verb', + names: ['\\verb'], + props: { numArgs: 0, allowedInText: !0 }, + handler(t, e, r) { + throw new nt('\\verb ended by end of line instead of matching delimiter'); + }, + htmlBuilder(t, e) { + for (var r = kG(t), n = [], i = e.havingStyle(e.style.text()), a = 0; a < r.length; a++) { + var s = r[a]; + s === '~' && (s = '\\textasciitilde'), + n.push(Be.makeSymbol(s, 'Typewriter-Regular', t.mode, i, ['mord', 'texttt'])); + } + return Be.makeSpan(['mord', 'text'].concat(i.sizingClasses(e)), Be.tryCombineChars(n), i); + }, + mathmlBuilder(t, e) { + var r = new et.TextNode(kG(t)), + n = new et.MathNode('mtext', [r]); + return n.setAttribute('mathvariant', 'monospace'), n; + } + }); + (kG = o((t) => t.body.replace(/ /g, t.star ? '\u2423' : '\xA0'), 'makeVerb')), + (fh = zG), + (y$ = `[ \r + ]`), + (pbe = '\\\\[a-zA-Z@]+'), + (mbe = '\\\\[^\uD800-\uDFFF]'), + (gbe = '(' + pbe + ')' + y$ + '*'), + (ybe = `\\\\( +|[ \r ]+ +?)[ \r ]*`), + (L7 = '[\u0300-\u036F]'), + (vbe = new RegExp(L7 + '+$')), + (xbe = + '(' + + y$ + + '+)|' + + (ybe + '|') + + '([!-\\[\\]-\u2027\u202A-\uD7FF\uF900-\uFFFF]' + + (L7 + '*') + + '|[\uD800-\uDBFF][\uDC00-\uDFFF]' + + (L7 + '*') + + '|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5' + + ('|' + gbe) + + ('|' + mbe + ')')), + (v4 = class { + static { + o(this, 'Lexer'); + } + constructor(e, r) { + (this.input = void 0), + (this.settings = void 0), + (this.tokenRegex = void 0), + (this.catcodes = void 0), + (this.input = e), + (this.settings = r), + (this.tokenRegex = new RegExp(xbe, 'g')), + (this.catcodes = { '%': 14, '~': 13 }); + } + setCatcode(e, r) { + this.catcodes[e] = r; + } + lex() { + var e = this.input, + r = this.tokenRegex.lastIndex; + if (r === e.length) return new Ao('EOF', new Xs(this, r, r)); + var n = this.tokenRegex.exec(e); + if (n === null || n.index !== r) + throw new nt("Unexpected character: '" + e[r] + "'", new Ao(e[r], new Xs(this, r, r + 1))); + var i = n[6] || n[3] || (n[2] ? '\\ ' : ' '); + if (this.catcodes[i] === 14) { + var a = e.indexOf( + ` +`, + this.tokenRegex.lastIndex + ); + return ( + a === -1 + ? ((this.tokenRegex.lastIndex = e.length), + this.settings.reportNonstrict( + 'commentAtEnd', + '% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)' + )) + : (this.tokenRegex.lastIndex = a + 1), + this.lex() + ); + } + return new Ao(i, new Xs(this, r, this.tokenRegex.lastIndex)); + } + }), + (D7 = class { + static { + o(this, 'Namespace'); + } + constructor(e, r) { + e === void 0 && (e = {}), + r === void 0 && (r = {}), + (this.current = void 0), + (this.builtins = void 0), + (this.undefStack = void 0), + (this.current = r), + (this.builtins = e), + (this.undefStack = []); + } + beginGroup() { + this.undefStack.push({}); + } + endGroup() { + if (this.undefStack.length === 0) + throw new nt( + 'Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug' + ); + var e = this.undefStack.pop(); + for (var r in e) + e.hasOwnProperty(r) && (e[r] == null ? delete this.current[r] : (this.current[r] = e[r])); + } + endGroups() { + for (; this.undefStack.length > 0; ) this.endGroup(); + } + has(e) { + return this.current.hasOwnProperty(e) || this.builtins.hasOwnProperty(e); + } + get(e) { + return this.current.hasOwnProperty(e) ? this.current[e] : this.builtins[e]; + } + set(e, r, n) { + if ((n === void 0 && (n = !1), n)) { + for (var i = 0; i < this.undefStack.length; i++) delete this.undefStack[i][e]; + this.undefStack.length > 0 && (this.undefStack[this.undefStack.length - 1][e] = r); + } else { + var a = this.undefStack[this.undefStack.length - 1]; + a && !a.hasOwnProperty(e) && (a[e] = this.current[e]); + } + r == null ? delete this.current[e] : (this.current[e] = r); + } + }), + (bbe = s$); + le('\\noexpand', function (t) { + var e = t.popToken(); + return ( + t.isExpandable(e.text) && ((e.noexpand = !0), (e.treatAsRelax = !0)), { tokens: [e], numArgs: 0 } + ); + }); + le('\\expandafter', function (t) { + var e = t.popToken(); + return t.expandOnce(!0), { tokens: [e], numArgs: 0 }; + }); + le('\\@firstoftwo', function (t) { + var e = t.consumeArgs(2); + return { tokens: e[0], numArgs: 0 }; + }); + le('\\@secondoftwo', function (t) { + var e = t.consumeArgs(2); + return { tokens: e[1], numArgs: 0 }; + }); + le('\\@ifnextchar', function (t) { + var e = t.consumeArgs(3); + t.consumeSpaces(); + var r = t.future(); + return e[0].length === 1 && e[0][0].text === r.text + ? { tokens: e[1], numArgs: 0 } + : { tokens: e[2], numArgs: 0 }; + }); + le('\\@ifstar', '\\@ifnextchar *{\\@firstoftwo{#1}}'); + le('\\TextOrMath', function (t) { + var e = t.consumeArgs(2); + return t.mode === 'text' ? { tokens: e[0], numArgs: 0 } : { tokens: e[1], numArgs: 0 }; + }); + EG = { + 0: 0, + 1: 1, + 2: 2, + 3: 3, + 4: 4, + 5: 5, + 6: 6, + 7: 7, + 8: 8, + 9: 9, + a: 10, + A: 10, + b: 11, + B: 11, + c: 12, + C: 12, + d: 13, + D: 13, + e: 14, + E: 14, + f: 15, + F: 15 + }; + le('\\char', function (t) { + var e = t.popToken(), + r, + n = ''; + if (e.text === "'") (r = 8), (e = t.popToken()); + else if (e.text === '"') (r = 16), (e = t.popToken()); + else if (e.text === '`') + if (((e = t.popToken()), e.text[0] === '\\')) n = e.text.charCodeAt(1); + else { + if (e.text === 'EOF') throw new nt('\\char` missing argument'); + n = e.text.charCodeAt(0); + } + else r = 10; + if (r) { + if (((n = EG[e.text]), n == null || n >= r)) throw new nt('Invalid base-' + r + ' digit ' + e.text); + for (var i; (i = EG[t.future().text]) != null && i < r; ) (n *= r), (n += i), t.popToken(); + } + return '\\@char{' + n + '}'; + }); + W7 = o((t, e, r) => { + var n = t.consumeArg().tokens; + if (n.length !== 1) throw new nt("\\newcommand's first argument must be a macro name"); + var i = n[0].text, + a = t.isDefined(i); + if (a && !e) + throw new nt('\\newcommand{' + i + '} attempting to redefine ' + (i + '; use \\renewcommand')); + if (!a && !r) + throw new nt( + '\\renewcommand{' + i + '} when command ' + i + ' does not yet exist; use \\newcommand' + ); + var s = 0; + if (((n = t.consumeArg().tokens), n.length === 1 && n[0].text === '[')) { + for (var l = '', u = t.expandNextToken(); u.text !== ']' && u.text !== 'EOF'; ) + (l += u.text), (u = t.expandNextToken()); + if (!l.match(/^\s*[0-9]+\s*$/)) throw new nt('Invalid number of arguments: ' + l); + (s = parseInt(l)), (n = t.consumeArg().tokens); + } + return t.macros.set(i, { tokens: n, numArgs: s }), ''; + }, 'newcommand'); + le('\\newcommand', (t) => W7(t, !1, !0)); + le('\\renewcommand', (t) => W7(t, !0, !1)); + le('\\providecommand', (t) => W7(t, !0, !0)); + le('\\message', (t) => { + var e = t.consumeArgs(1)[0]; + return ( + console.log( + e + .reverse() + .map((r) => r.text) + .join('') + ), + '' + ); + }); + le('\\errmessage', (t) => { + var e = t.consumeArgs(1)[0]; + return ( + console.error( + e + .reverse() + .map((r) => r.text) + .join('') + ), + '' + ); + }); + le('\\show', (t) => { + var e = t.popToken(), + r = e.text; + return console.log(e, t.macros.get(r), fh[r], wn.math[r], wn.text[r]), ''; + }); + le('\\bgroup', '{'); + le('\\egroup', '}'); + le('~', '\\nobreakspace'); + le('\\lq', '`'); + le('\\rq', "'"); + le('\\aa', '\\r a'); + le('\\AA', '\\r A'); + le('\\textcopyright', '\\html@mathml{\\textcircled{c}}{\\char`\xA9}'); + le('\\copyright', '\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}'); + le('\\textregistered', '\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`\xAE}'); + le('\u212C', '\\mathscr{B}'); + le('\u2130', '\\mathscr{E}'); + le('\u2131', '\\mathscr{F}'); + le('\u210B', '\\mathscr{H}'); + le('\u2110', '\\mathscr{I}'); + le('\u2112', '\\mathscr{L}'); + le('\u2133', '\\mathscr{M}'); + le('\u211B', '\\mathscr{R}'); + le('\u212D', '\\mathfrak{C}'); + le('\u210C', '\\mathfrak{H}'); + le('\u2128', '\\mathfrak{Z}'); + le('\\Bbbk', '\\Bbb{k}'); + le('\xB7', '\\cdotp'); + le('\\llap', '\\mathllap{\\textrm{#1}}'); + le('\\rlap', '\\mathrlap{\\textrm{#1}}'); + le('\\clap', '\\mathclap{\\textrm{#1}}'); + le('\\mathstrut', '\\vphantom{(}'); + le('\\underbar', '\\underline{\\text{#1}}'); + le('\\not', '\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}'); + le('\\neq', '\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`\u2260}}'); + le('\\ne', '\\neq'); + le('\u2260', '\\neq'); + le('\\notin', '\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`\u2209}}'); + le('\u2209', '\\notin'); + le( + '\u2258', + '\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`\u2258}}' + ); + le('\u2259', '\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}'); + le('\u225A', '\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225A}}'); + le('\u225B', '\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`\u225B}}'); + le('\u225D', '\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`\u225D}}'); + le('\u225E', '\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`\u225E}}'); + le('\u225F', '\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225F}}'); + le('\u27C2', '\\perp'); + le('\u203C', '\\mathclose{!\\mkern-0.8mu!}'); + le('\u220C', '\\notni'); + le('\u231C', '\\ulcorner'); + le('\u231D', '\\urcorner'); + le('\u231E', '\\llcorner'); + le('\u231F', '\\lrcorner'); + le('\xA9', '\\copyright'); + le('\xAE', '\\textregistered'); + le('\uFE0F', '\\textregistered'); + le('\\ulcorner', '\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}'); + le('\\urcorner', '\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}'); + le('\\llcorner', '\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}'); + le('\\lrcorner', '\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}'); + le('\\vdots', '\\mathord{\\varvdots\\rule{0pt}{15pt}}'); + le('\u22EE', '\\vdots'); + le('\\varGamma', '\\mathit{\\Gamma}'); + le('\\varDelta', '\\mathit{\\Delta}'); + le('\\varTheta', '\\mathit{\\Theta}'); + le('\\varLambda', '\\mathit{\\Lambda}'); + le('\\varXi', '\\mathit{\\Xi}'); + le('\\varPi', '\\mathit{\\Pi}'); + le('\\varSigma', '\\mathit{\\Sigma}'); + le('\\varUpsilon', '\\mathit{\\Upsilon}'); + le('\\varPhi', '\\mathit{\\Phi}'); + le('\\varPsi', '\\mathit{\\Psi}'); + le('\\varOmega', '\\mathit{\\Omega}'); + le('\\substack', '\\begin{subarray}{c}#1\\end{subarray}'); + le( + '\\colon', + '\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax' + ); + le('\\boxed', '\\fbox{$\\displaystyle{#1}$}'); + le('\\iff', '\\DOTSB\\;\\Longleftrightarrow\\;'); + le('\\implies', '\\DOTSB\\;\\Longrightarrow\\;'); + le('\\impliedby', '\\DOTSB\\;\\Longleftarrow\\;'); + CG = { + ',': '\\dotsc', + '\\not': '\\dotsb', + '+': '\\dotsb', + '=': '\\dotsb', + '<': '\\dotsb', + '>': '\\dotsb', + '-': '\\dotsb', + '*': '\\dotsb', + ':': '\\dotsb', + '\\DOTSB': '\\dotsb', + '\\coprod': '\\dotsb', + '\\bigvee': '\\dotsb', + '\\bigwedge': '\\dotsb', + '\\biguplus': '\\dotsb', + '\\bigcap': '\\dotsb', + '\\bigcup': '\\dotsb', + '\\prod': '\\dotsb', + '\\sum': '\\dotsb', + '\\bigotimes': '\\dotsb', + '\\bigoplus': '\\dotsb', + '\\bigodot': '\\dotsb', + '\\bigsqcup': '\\dotsb', + '\\And': '\\dotsb', + '\\longrightarrow': '\\dotsb', + '\\Longrightarrow': '\\dotsb', + '\\longleftarrow': '\\dotsb', + '\\Longleftarrow': '\\dotsb', + '\\longleftrightarrow': '\\dotsb', + '\\Longleftrightarrow': '\\dotsb', + '\\mapsto': '\\dotsb', + '\\longmapsto': '\\dotsb', + '\\hookrightarrow': '\\dotsb', + '\\doteq': '\\dotsb', + '\\mathbin': '\\dotsb', + '\\mathrel': '\\dotsb', + '\\relbar': '\\dotsb', + '\\Relbar': '\\dotsb', + '\\xrightarrow': '\\dotsb', + '\\xleftarrow': '\\dotsb', + '\\DOTSI': '\\dotsi', + '\\int': '\\dotsi', + '\\oint': '\\dotsi', + '\\iint': '\\dotsi', + '\\iiint': '\\dotsi', + '\\iiiint': '\\dotsi', + '\\idotsint': '\\dotsi', + '\\DOTSX': '\\dotsx' + }; + le('\\dots', function (t) { + var e = '\\dotso', + r = t.expandAfterFuture().text; + return ( + r in CG + ? (e = CG[r]) + : (r.slice(0, 4) === '\\not' || + (r in wn.math && Vt.contains(['bin', 'rel'], wn.math[r].group))) && + (e = '\\dotsb'), + e + ); + }); + q7 = { + ')': !0, + ']': !0, + '\\rbrack': !0, + '\\}': !0, + '\\rbrace': !0, + '\\rangle': !0, + '\\rceil': !0, + '\\rfloor': !0, + '\\rgroup': !0, + '\\rmoustache': !0, + '\\right': !0, + '\\bigr': !0, + '\\biggr': !0, + '\\Bigr': !0, + '\\Biggr': !0, + $: !0, + ';': !0, + '.': !0, + ',': !0 + }; + le('\\dotso', function (t) { + var e = t.future().text; + return e in q7 ? '\\ldots\\,' : '\\ldots'; + }); + le('\\dotsc', function (t) { + var e = t.future().text; + return e in q7 && e !== ',' ? '\\ldots\\,' : '\\ldots'; + }); + le('\\cdots', function (t) { + var e = t.future().text; + return e in q7 ? '\\@cdots\\,' : '\\@cdots'; + }); + le('\\dotsb', '\\cdots'); + le('\\dotsm', '\\cdots'); + le('\\dotsi', '\\!\\cdots'); + le('\\dotsx', '\\ldots\\,'); + le('\\DOTSI', '\\relax'); + le('\\DOTSB', '\\relax'); + le('\\DOTSX', '\\relax'); + le('\\tmspace', '\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax'); + le('\\,', '\\tmspace+{3mu}{.1667em}'); + le('\\thinspace', '\\,'); + le('\\>', '\\mskip{4mu}'); + le('\\:', '\\tmspace+{4mu}{.2222em}'); + le('\\medspace', '\\:'); + le('\\;', '\\tmspace+{5mu}{.2777em}'); + le('\\thickspace', '\\;'); + le('\\!', '\\tmspace-{3mu}{.1667em}'); + le('\\negthinspace', '\\!'); + le('\\negmedspace', '\\tmspace-{4mu}{.2222em}'); + le('\\negthickspace', '\\tmspace-{5mu}{.277em}'); + le('\\enspace', '\\kern.5em '); + le('\\enskip', '\\hskip.5em\\relax'); + le('\\quad', '\\hskip1em\\relax'); + le('\\qquad', '\\hskip2em\\relax'); + le('\\tag', '\\@ifstar\\tag@literal\\tag@paren'); + le('\\tag@paren', '\\tag@literal{({#1})}'); + le('\\tag@literal', (t) => { + if (t.macros.get('\\df@tag')) throw new nt('Multiple \\tag'); + return '\\gdef\\df@tag{\\text{#1}}'; + }); + le( + '\\bmod', + '\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}' + ); + le('\\pod', '\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)'); + le('\\pmod', '\\pod{{\\rm mod}\\mkern6mu#1}'); + le( + '\\mod', + '\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1' + ); + le('\\newline', '\\\\\\relax'); + le('\\TeX', '\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}'); + v$ = ct(Zl['Main-Regular'][84][1] - 0.7 * Zl['Main-Regular'][65][1]); + le( + '\\LaTeX', + '\\textrm{\\html@mathml{' + + ('L\\kern-.36em\\raisebox{' + v$ + '}{\\scriptstyle A}') + + '\\kern-.15em\\TeX}{LaTeX}}' + ); + le( + '\\KaTeX', + '\\textrm{\\html@mathml{' + + ('K\\kern-.17em\\raisebox{' + v$ + '}{\\scriptstyle A}') + + '\\kern-.15em\\TeX}{KaTeX}}' + ); + le('\\hspace', '\\@ifstar\\@hspacer\\@hspace'); + le('\\@hspace', '\\hskip #1\\relax'); + le('\\@hspacer', '\\rule{0pt}{0pt}\\hskip #1\\relax'); + le('\\ordinarycolon', ':'); + le('\\vcentcolon', '\\mathrel{\\mathop\\ordinarycolon}'); + le( + '\\dblcolon', + '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}' + ); + le('\\coloneqq', '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}'); + le( + '\\Coloneqq', + '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}' + ); + le( + '\\coloneq', + '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}' + ); + le( + '\\Coloneq', + '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}' + ); + le('\\eqqcolon', '\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}'); + le( + '\\Eqqcolon', + '\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}' + ); + le( + '\\eqcolon', + '\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}' + ); + le( + '\\Eqcolon', + '\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}' + ); + le( + '\\colonapprox', + '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}' + ); + le( + '\\Colonapprox', + '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}' + ); + le( + '\\colonsim', + '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}' + ); + le( + '\\Colonsim', + '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}' + ); + le('\u2237', '\\dblcolon'); + le('\u2239', '\\eqcolon'); + le('\u2254', '\\coloneqq'); + le('\u2255', '\\eqqcolon'); + le('\u2A74', '\\Coloneqq'); + le('\\ratio', '\\vcentcolon'); + le('\\coloncolon', '\\dblcolon'); + le('\\colonequals', '\\coloneqq'); + le('\\coloncolonequals', '\\Coloneqq'); + le('\\equalscolon', '\\eqqcolon'); + le('\\equalscoloncolon', '\\Eqqcolon'); + le('\\colonminus', '\\coloneq'); + le('\\coloncolonminus', '\\Coloneq'); + le('\\minuscolon', '\\eqcolon'); + le('\\minuscoloncolon', '\\Eqcolon'); + le('\\coloncolonapprox', '\\Colonapprox'); + le('\\coloncolonsim', '\\Colonsim'); + le('\\simcolon', '\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}'); + le('\\simcoloncolon', '\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}'); + le('\\approxcolon', '\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}'); + le('\\approxcoloncolon', '\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}'); + le('\\notni', '\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220C}}'); + le('\\limsup', '\\DOTSB\\operatorname*{lim\\,sup}'); + le('\\liminf', '\\DOTSB\\operatorname*{lim\\,inf}'); + le('\\injlim', '\\DOTSB\\operatorname*{inj\\,lim}'); + le('\\projlim', '\\DOTSB\\operatorname*{proj\\,lim}'); + le('\\varlimsup', '\\DOTSB\\operatorname*{\\overline{lim}}'); + le('\\varliminf', '\\DOTSB\\operatorname*{\\underline{lim}}'); + le('\\varinjlim', '\\DOTSB\\operatorname*{\\underrightarrow{lim}}'); + le('\\varprojlim', '\\DOTSB\\operatorname*{\\underleftarrow{lim}}'); + le('\\gvertneqq', '\\html@mathml{\\@gvertneqq}{\u2269}'); + le('\\lvertneqq', '\\html@mathml{\\@lvertneqq}{\u2268}'); + le('\\ngeqq', '\\html@mathml{\\@ngeqq}{\u2271}'); + le('\\ngeqslant', '\\html@mathml{\\@ngeqslant}{\u2271}'); + le('\\nleqq', '\\html@mathml{\\@nleqq}{\u2270}'); + le('\\nleqslant', '\\html@mathml{\\@nleqslant}{\u2270}'); + le('\\nshortmid', '\\html@mathml{\\@nshortmid}{\u2224}'); + le('\\nshortparallel', '\\html@mathml{\\@nshortparallel}{\u2226}'); + le('\\nsubseteqq', '\\html@mathml{\\@nsubseteqq}{\u2288}'); + le('\\nsupseteqq', '\\html@mathml{\\@nsupseteqq}{\u2289}'); + le('\\varsubsetneq', '\\html@mathml{\\@varsubsetneq}{\u228A}'); + le('\\varsubsetneqq', '\\html@mathml{\\@varsubsetneqq}{\u2ACB}'); + le('\\varsupsetneq', '\\html@mathml{\\@varsupsetneq}{\u228B}'); + le('\\varsupsetneqq', '\\html@mathml{\\@varsupsetneqq}{\u2ACC}'); + le('\\imath', '\\html@mathml{\\@imath}{\u0131}'); + le('\\jmath', '\\html@mathml{\\@jmath}{\u0237}'); + le('\\llbracket', '\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27E6}}'); + le('\\rrbracket', '\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27E7}}'); + le('\u27E6', '\\llbracket'); + le('\u27E7', '\\rrbracket'); + le('\\lBrace', '\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}'); + le('\\rBrace', '\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}'); + le('\u2983', '\\lBrace'); + le('\u2984', '\\rBrace'); + le( + '\\minuso', + '\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29B5}}' + ); + le('\u29B5', '\\minuso'); + le('\\darr', '\\downarrow'); + le('\\dArr', '\\Downarrow'); + le('\\Darr', '\\Downarrow'); + le('\\lang', '\\langle'); + le('\\rang', '\\rangle'); + le('\\uarr', '\\uparrow'); + le('\\uArr', '\\Uparrow'); + le('\\Uarr', '\\Uparrow'); + le('\\N', '\\mathbb{N}'); + le('\\R', '\\mathbb{R}'); + le('\\Z', '\\mathbb{Z}'); + le('\\alef', '\\aleph'); + le('\\alefsym', '\\aleph'); + le('\\Alpha', '\\mathrm{A}'); + le('\\Beta', '\\mathrm{B}'); + le('\\bull', '\\bullet'); + le('\\Chi', '\\mathrm{X}'); + le('\\clubs', '\\clubsuit'); + le('\\cnums', '\\mathbb{C}'); + le('\\Complex', '\\mathbb{C}'); + le('\\Dagger', '\\ddagger'); + le('\\diamonds', '\\diamondsuit'); + le('\\empty', '\\emptyset'); + le('\\Epsilon', '\\mathrm{E}'); + le('\\Eta', '\\mathrm{H}'); + le('\\exist', '\\exists'); + le('\\harr', '\\leftrightarrow'); + le('\\hArr', '\\Leftrightarrow'); + le('\\Harr', '\\Leftrightarrow'); + le('\\hearts', '\\heartsuit'); + le('\\image', '\\Im'); + le('\\infin', '\\infty'); + le('\\Iota', '\\mathrm{I}'); + le('\\isin', '\\in'); + le('\\Kappa', '\\mathrm{K}'); + le('\\larr', '\\leftarrow'); + le('\\lArr', '\\Leftarrow'); + le('\\Larr', '\\Leftarrow'); + le('\\lrarr', '\\leftrightarrow'); + le('\\lrArr', '\\Leftrightarrow'); + le('\\Lrarr', '\\Leftrightarrow'); + le('\\Mu', '\\mathrm{M}'); + le('\\natnums', '\\mathbb{N}'); + le('\\Nu', '\\mathrm{N}'); + le('\\Omicron', '\\mathrm{O}'); + le('\\plusmn', '\\pm'); + le('\\rarr', '\\rightarrow'); + le('\\rArr', '\\Rightarrow'); + le('\\Rarr', '\\Rightarrow'); + le('\\real', '\\Re'); + le('\\reals', '\\mathbb{R}'); + le('\\Reals', '\\mathbb{R}'); + le('\\Rho', '\\mathrm{P}'); + le('\\sdot', '\\cdot'); + le('\\sect', '\\S'); + le('\\spades', '\\spadesuit'); + le('\\sub', '\\subset'); + le('\\sube', '\\subseteq'); + le('\\supe', '\\supseteq'); + le('\\Tau', '\\mathrm{T}'); + le('\\thetasym', '\\vartheta'); + le('\\weierp', '\\wp'); + le('\\Zeta', '\\mathrm{Z}'); + le('\\argmin', '\\DOTSB\\operatorname*{arg\\,min}'); + le('\\argmax', '\\DOTSB\\operatorname*{arg\\,max}'); + le('\\plim', '\\DOTSB\\mathop{\\operatorname{plim}}\\limits'); + le('\\bra', '\\mathinner{\\langle{#1}|}'); + le('\\ket', '\\mathinner{|{#1}\\rangle}'); + le('\\braket', '\\mathinner{\\langle{#1}\\rangle}'); + le('\\Bra', '\\left\\langle#1\\right|'); + le('\\Ket', '\\left|#1\\right\\rangle'); + x$ = o( + (t) => (e) => { + var r = e.consumeArg().tokens, + n = e.consumeArg().tokens, + i = e.consumeArg().tokens, + a = e.consumeArg().tokens, + s = e.macros.get('|'), + l = e.macros.get('\\|'); + e.macros.beginGroup(); + var u = o( + (d) => (p) => { + t && (p.macros.set('|', s), i.length && p.macros.set('\\|', l)); + var m = d; + if (!d && i.length) { + var g = p.future(); + g.text === '|' && (p.popToken(), (m = !0)); + } + return { tokens: m ? i : n, numArgs: 0 }; + }, + 'midMacro' + ); + e.macros.set('|', u(!1)), i.length && e.macros.set('\\|', u(!0)); + var h = e.consumeArg().tokens, + f = e.expandTokens([...a, ...h, ...r]); + return e.macros.endGroup(), { tokens: f.reverse(), numArgs: 0 }; + }, + 'braketHelper' + ); + le('\\bra@ket', x$(!1)); + le('\\bra@set', x$(!0)); + le('\\Braket', '\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}'); + le('\\Set', '\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}'); + le('\\set', '\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}'); + le('\\angln', '{\\angl n}'); + le('\\blue', '\\textcolor{##6495ed}{#1}'); + le('\\orange', '\\textcolor{##ffa500}{#1}'); + le('\\pink', '\\textcolor{##ff00af}{#1}'); + le('\\red', '\\textcolor{##df0030}{#1}'); + le('\\green', '\\textcolor{##28ae7b}{#1}'); + le('\\gray', '\\textcolor{gray}{#1}'); + le('\\purple', '\\textcolor{##9d38bd}{#1}'); + le('\\blueA', '\\textcolor{##ccfaff}{#1}'); + le('\\blueB', '\\textcolor{##80f6ff}{#1}'); + le('\\blueC', '\\textcolor{##63d9ea}{#1}'); + le('\\blueD', '\\textcolor{##11accd}{#1}'); + le('\\blueE', '\\textcolor{##0c7f99}{#1}'); + le('\\tealA', '\\textcolor{##94fff5}{#1}'); + le('\\tealB', '\\textcolor{##26edd5}{#1}'); + le('\\tealC', '\\textcolor{##01d1c1}{#1}'); + le('\\tealD', '\\textcolor{##01a995}{#1}'); + le('\\tealE', '\\textcolor{##208170}{#1}'); + le('\\greenA', '\\textcolor{##b6ffb0}{#1}'); + le('\\greenB', '\\textcolor{##8af281}{#1}'); + le('\\greenC', '\\textcolor{##74cf70}{#1}'); + le('\\greenD', '\\textcolor{##1fab54}{#1}'); + le('\\greenE', '\\textcolor{##0d923f}{#1}'); + le('\\goldA', '\\textcolor{##ffd0a9}{#1}'); + le('\\goldB', '\\textcolor{##ffbb71}{#1}'); + le('\\goldC', '\\textcolor{##ff9c39}{#1}'); + le('\\goldD', '\\textcolor{##e07d10}{#1}'); + le('\\goldE', '\\textcolor{##a75a05}{#1}'); + le('\\redA', '\\textcolor{##fca9a9}{#1}'); + le('\\redB', '\\textcolor{##ff8482}{#1}'); + le('\\redC', '\\textcolor{##f9685d}{#1}'); + le('\\redD', '\\textcolor{##e84d39}{#1}'); + le('\\redE', '\\textcolor{##bc2612}{#1}'); + le('\\maroonA', '\\textcolor{##ffbde0}{#1}'); + le('\\maroonB', '\\textcolor{##ff92c6}{#1}'); + le('\\maroonC', '\\textcolor{##ed5fa6}{#1}'); + le('\\maroonD', '\\textcolor{##ca337c}{#1}'); + le('\\maroonE', '\\textcolor{##9e034e}{#1}'); + le('\\purpleA', '\\textcolor{##ddd7ff}{#1}'); + le('\\purpleB', '\\textcolor{##c6b9fc}{#1}'); + le('\\purpleC', '\\textcolor{##aa87ff}{#1}'); + le('\\purpleD', '\\textcolor{##7854ab}{#1}'); + le('\\purpleE', '\\textcolor{##543b78}{#1}'); + le('\\mintA', '\\textcolor{##f5f9e8}{#1}'); + le('\\mintB', '\\textcolor{##edf2df}{#1}'); + le('\\mintC', '\\textcolor{##e0e5cc}{#1}'); + le('\\grayA', '\\textcolor{##f6f7f7}{#1}'); + le('\\grayB', '\\textcolor{##f0f1f2}{#1}'); + le('\\grayC', '\\textcolor{##e3e5e6}{#1}'); + le('\\grayD', '\\textcolor{##d6d8da}{#1}'); + le('\\grayE', '\\textcolor{##babec2}{#1}'); + le('\\grayF', '\\textcolor{##888d93}{#1}'); + le('\\grayG', '\\textcolor{##626569}{#1}'); + le('\\grayH', '\\textcolor{##3b3e40}{#1}'); + le('\\grayI', '\\textcolor{##21242c}{#1}'); + le('\\kaBlue', '\\textcolor{##314453}{#1}'); + le('\\kaGreen', '\\textcolor{##71B307}{#1}'); + (b$ = { '^': !0, _: !0, '\\limits': !0, '\\nolimits': !0 }), + (R7 = class { + static { + o(this, 'MacroExpander'); + } + constructor(e, r, n) { + (this.settings = void 0), + (this.expansionCount = void 0), + (this.lexer = void 0), + (this.macros = void 0), + (this.stack = void 0), + (this.mode = void 0), + (this.settings = r), + (this.expansionCount = 0), + this.feed(e), + (this.macros = new D7(bbe, r.macros)), + (this.mode = n), + (this.stack = []); + } + feed(e) { + this.lexer = new v4(e, this.settings); + } + switchMode(e) { + this.mode = e; + } + beginGroup() { + this.macros.beginGroup(); + } + endGroup() { + this.macros.endGroup(); + } + endGroups() { + this.macros.endGroups(); + } + future() { + return ( + this.stack.length === 0 && this.pushToken(this.lexer.lex()), + this.stack[this.stack.length - 1] + ); + } + popToken() { + return this.future(), this.stack.pop(); + } + pushToken(e) { + this.stack.push(e); + } + pushTokens(e) { + this.stack.push(...e); + } + scanArgument(e) { + var r, n, i; + if (e) { + if ((this.consumeSpaces(), this.future().text !== '[')) return null; + (r = this.popToken()), ({ tokens: i, end: n } = this.consumeArg([']'])); + } else ({ tokens: i, start: r, end: n } = this.consumeArg()); + return this.pushToken(new Ao('EOF', n.loc)), this.pushTokens(i), r.range(n, ''); + } + consumeSpaces() { + for (;;) { + var e = this.future(); + if (e.text === ' ') this.stack.pop(); + else break; + } + } + consumeArg(e) { + var r = [], + n = e && e.length > 0; + n || this.consumeSpaces(); + var i = this.future(), + a, + s = 0, + l = 0; + do { + if (((a = this.popToken()), r.push(a), a.text === '{')) ++s; + else if (a.text === '}') { + if ((--s, s === -1)) throw new nt('Extra }', a); + } else if (a.text === 'EOF') + throw new nt( + "Unexpected end of input in a macro argument, expected '" + + (e && n ? e[l] : '}') + + "'", + a + ); + if (e && n) + if ((s === 0 || (s === 1 && e[l] === '{')) && a.text === e[l]) { + if ((++l, l === e.length)) { + r.splice(-l, l); + break; + } + } else l = 0; + } while (s !== 0 || n); + return ( + i.text === '{' && r[r.length - 1].text === '}' && (r.pop(), r.shift()), + r.reverse(), + { tokens: r, start: i, end: a } + ); + } + consumeArgs(e, r) { + if (r) { + if (r.length !== e + 1) + throw new nt("The length of delimiters doesn't match the number of args!"); + for (var n = r[0], i = 0; i < n.length; i++) { + var a = this.popToken(); + if (n[i] !== a.text) throw new nt("Use of the macro doesn't match its definition", a); + } + } + for (var s = [], l = 0; l < e; l++) s.push(this.consumeArg(r && r[l + 1]).tokens); + return s; + } + countExpansion(e) { + if (((this.expansionCount += e), this.expansionCount > this.settings.maxExpand)) + throw new nt('Too many expansions: infinite loop or need to increase maxExpand setting'); + } + expandOnce(e) { + var r = this.popToken(), + n = r.text, + i = r.noexpand ? null : this._getExpansion(n); + if (i == null || (e && i.unexpandable)) { + if (e && i == null && n[0] === '\\' && !this.isDefined(n)) + throw new nt('Undefined control sequence: ' + n); + return this.pushToken(r), !1; + } + this.countExpansion(1); + var a = i.tokens, + s = this.consumeArgs(i.numArgs, i.delimiters); + if (i.numArgs) { + a = a.slice(); + for (var l = a.length - 1; l >= 0; --l) { + var u = a[l]; + if (u.text === '#') { + if (l === 0) throw new nt('Incomplete placeholder at end of macro body', u); + if (((u = a[--l]), u.text === '#')) a.splice(l + 1, 1); + else if (/^[1-9]$/.test(u.text)) a.splice(l, 2, ...s[+u.text - 1]); + else throw new nt('Not a valid argument number', u); + } + } + } + return this.pushTokens(a), a.length; + } + expandAfterFuture() { + return this.expandOnce(), this.future(); + } + expandNextToken() { + for (;;) + if (this.expandOnce() === !1) { + var e = this.stack.pop(); + return e.treatAsRelax && (e.text = '\\relax'), e; + } + throw new Error(); + } + expandMacro(e) { + return this.macros.has(e) ? this.expandTokens([new Ao(e)]) : void 0; + } + expandTokens(e) { + var r = [], + n = this.stack.length; + for (this.pushTokens(e); this.stack.length > n; ) + if (this.expandOnce(!0) === !1) { + var i = this.stack.pop(); + i.treatAsRelax && ((i.noexpand = !1), (i.treatAsRelax = !1)), r.push(i); + } + return this.countExpansion(r.length), r; + } + expandMacroAsText(e) { + var r = this.expandMacro(e); + return r && r.map((n) => n.text).join(''); + } + _getExpansion(e) { + var r = this.macros.get(e); + if (r == null) return r; + if (e.length === 1) { + var n = this.lexer.catcodes[e]; + if (n != null && n !== 13) return; + } + var i = typeof r == 'function' ? r(this) : r; + if (typeof i == 'string') { + var a = 0; + if (i.indexOf('#') !== -1) + for (var s = i.replace(/##/g, ''); s.indexOf('#' + (a + 1)) !== -1; ) ++a; + for (var l = new v4(i, this.settings), u = [], h = l.lex(); h.text !== 'EOF'; ) + u.push(h), (h = l.lex()); + u.reverse(); + var f = { tokens: u, numArgs: a }; + return f; + } + return i; + } + isDefined(e) { + return ( + this.macros.has(e) || + fh.hasOwnProperty(e) || + wn.math.hasOwnProperty(e) || + wn.text.hasOwnProperty(e) || + b$.hasOwnProperty(e) + ); + } + isExpandable(e) { + var r = this.macros.get(e); + return r != null + ? typeof r == 'string' || typeof r == 'function' || !r.unexpandable + : fh.hasOwnProperty(e) && !fh[e].primitive; + } + }), + (SG = /^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/), + (c4 = Object.freeze({ + '\u208A': '+', + '\u208B': '-', + '\u208C': '=', + '\u208D': '(', + '\u208E': ')', + '\u2080': '0', + '\u2081': '1', + '\u2082': '2', + '\u2083': '3', + '\u2084': '4', + '\u2085': '5', + '\u2086': '6', + '\u2087': '7', + '\u2088': '8', + '\u2089': '9', + '\u2090': 'a', + '\u2091': 'e', + '\u2095': 'h', + '\u1D62': 'i', + '\u2C7C': 'j', + '\u2096': 'k', + '\u2097': 'l', + '\u2098': 'm', + '\u2099': 'n', + '\u2092': 'o', + '\u209A': 'p', + '\u1D63': 'r', + '\u209B': 's', + '\u209C': 't', + '\u1D64': 'u', + '\u1D65': 'v', + '\u2093': 'x', + '\u1D66': '\u03B2', + '\u1D67': '\u03B3', + '\u1D68': '\u03C1', + '\u1D69': '\u03D5', + '\u1D6A': '\u03C7', + '\u207A': '+', + '\u207B': '-', + '\u207C': '=', + '\u207D': '(', + '\u207E': ')', + '\u2070': '0', + '\xB9': '1', + '\xB2': '2', + '\xB3': '3', + '\u2074': '4', + '\u2075': '5', + '\u2076': '6', + '\u2077': '7', + '\u2078': '8', + '\u2079': '9', + '\u1D2C': 'A', + '\u1D2E': 'B', + '\u1D30': 'D', + '\u1D31': 'E', + '\u1D33': 'G', + '\u1D34': 'H', + '\u1D35': 'I', + '\u1D36': 'J', + '\u1D37': 'K', + '\u1D38': 'L', + '\u1D39': 'M', + '\u1D3A': 'N', + '\u1D3C': 'O', + '\u1D3E': 'P', + '\u1D3F': 'R', + '\u1D40': 'T', + '\u1D41': 'U', + '\u2C7D': 'V', + '\u1D42': 'W', + '\u1D43': 'a', + '\u1D47': 'b', + '\u1D9C': 'c', + '\u1D48': 'd', + '\u1D49': 'e', + '\u1DA0': 'f', + '\u1D4D': 'g', + ʰ: 'h', + '\u2071': 'i', + ʲ: 'j', + '\u1D4F': 'k', + ˡ: 'l', + '\u1D50': 'm', + ⁿ: 'n', + '\u1D52': 'o', + '\u1D56': 'p', + ʳ: 'r', + ˢ: 's', + '\u1D57': 't', + '\u1D58': 'u', + '\u1D5B': 'v', + ʷ: 'w', + ˣ: 'x', + ʸ: 'y', + '\u1DBB': 'z', + '\u1D5D': '\u03B2', + '\u1D5E': '\u03B3', + '\u1D5F': '\u03B4', + '\u1D60': '\u03D5', + '\u1D61': '\u03C7', + '\u1DBF': '\u03B8' + })), + (x7 = { + '\u0301': { text: "\\'", math: '\\acute' }, + '\u0300': { text: '\\`', math: '\\grave' }, + '\u0308': { text: '\\"', math: '\\ddot' }, + '\u0303': { text: '\\~', math: '\\tilde' }, + '\u0304': { text: '\\=', math: '\\bar' }, + '\u0306': { text: '\\u', math: '\\breve' }, + '\u030C': { text: '\\v', math: '\\check' }, + '\u0302': { text: '\\^', math: '\\hat' }, + '\u0307': { text: '\\.', math: '\\dot' }, + '\u030A': { text: '\\r', math: '\\mathring' }, + '\u030B': { text: '\\H' }, + '\u0327': { text: '\\c' } + }), + (AG = { + á: 'a\u0301', + à: 'a\u0300', + ä: 'a\u0308', + ǟ: 'a\u0308\u0304', + ã: 'a\u0303', + ā: 'a\u0304', + ă: 'a\u0306', + ắ: 'a\u0306\u0301', + ằ: 'a\u0306\u0300', + ẵ: 'a\u0306\u0303', + ǎ: 'a\u030C', + â: 'a\u0302', + ấ: 'a\u0302\u0301', + ầ: 'a\u0302\u0300', + ẫ: 'a\u0302\u0303', + ȧ: 'a\u0307', + ǡ: 'a\u0307\u0304', + å: 'a\u030A', + ǻ: 'a\u030A\u0301', + ḃ: 'b\u0307', + ć: 'c\u0301', + ḉ: 'c\u0327\u0301', + č: 'c\u030C', + ĉ: 'c\u0302', + ċ: 'c\u0307', + ç: 'c\u0327', + ď: 'd\u030C', + ḋ: 'd\u0307', + ḑ: 'd\u0327', + é: 'e\u0301', + è: 'e\u0300', + ë: 'e\u0308', + ẽ: 'e\u0303', + ē: 'e\u0304', + ḗ: 'e\u0304\u0301', + ḕ: 'e\u0304\u0300', + ĕ: 'e\u0306', + ḝ: 'e\u0327\u0306', + ě: 'e\u030C', + ê: 'e\u0302', + ế: 'e\u0302\u0301', + ề: 'e\u0302\u0300', + ễ: 'e\u0302\u0303', + ė: 'e\u0307', + ȩ: 'e\u0327', + ḟ: 'f\u0307', + ǵ: 'g\u0301', + ḡ: 'g\u0304', + ğ: 'g\u0306', + ǧ: 'g\u030C', + ĝ: 'g\u0302', + ġ: 'g\u0307', + ģ: 'g\u0327', + ḧ: 'h\u0308', + ȟ: 'h\u030C', + ĥ: 'h\u0302', + ḣ: 'h\u0307', + ḩ: 'h\u0327', + í: 'i\u0301', + ì: 'i\u0300', + ï: 'i\u0308', + ḯ: 'i\u0308\u0301', + ĩ: 'i\u0303', + ī: 'i\u0304', + ĭ: 'i\u0306', + ǐ: 'i\u030C', + î: 'i\u0302', + ǰ: 'j\u030C', + ĵ: 'j\u0302', + ḱ: 'k\u0301', + ǩ: 'k\u030C', + ķ: 'k\u0327', + ĺ: 'l\u0301', + ľ: 'l\u030C', + ļ: 'l\u0327', + ḿ: 'm\u0301', + ṁ: 'm\u0307', + ń: 'n\u0301', + ǹ: 'n\u0300', + ñ: 'n\u0303', + ň: 'n\u030C', + ṅ: 'n\u0307', + ņ: 'n\u0327', + ó: 'o\u0301', + ò: 'o\u0300', + ö: 'o\u0308', + ȫ: 'o\u0308\u0304', + õ: 'o\u0303', + ṍ: 'o\u0303\u0301', + ṏ: 'o\u0303\u0308', + ȭ: 'o\u0303\u0304', + ō: 'o\u0304', + ṓ: 'o\u0304\u0301', + ṑ: 'o\u0304\u0300', + ŏ: 'o\u0306', + ǒ: 'o\u030C', + ô: 'o\u0302', + ố: 'o\u0302\u0301', + ồ: 'o\u0302\u0300', + ỗ: 'o\u0302\u0303', + ȯ: 'o\u0307', + ȱ: 'o\u0307\u0304', + ő: 'o\u030B', + ṕ: 'p\u0301', + ṗ: 'p\u0307', + ŕ: 'r\u0301', + ř: 'r\u030C', + ṙ: 'r\u0307', + ŗ: 'r\u0327', + ś: 's\u0301', + ṥ: 's\u0301\u0307', + š: 's\u030C', + ṧ: 's\u030C\u0307', + ŝ: 's\u0302', + ṡ: 's\u0307', + ş: 's\u0327', + ẗ: 't\u0308', + ť: 't\u030C', + ṫ: 't\u0307', + ţ: 't\u0327', + ú: 'u\u0301', + ù: 'u\u0300', + ü: 'u\u0308', + ǘ: 'u\u0308\u0301', + ǜ: 'u\u0308\u0300', + ǖ: 'u\u0308\u0304', + ǚ: 'u\u0308\u030C', + ũ: 'u\u0303', + ṹ: 'u\u0303\u0301', + ū: 'u\u0304', + ṻ: 'u\u0304\u0308', + ŭ: 'u\u0306', + ǔ: 'u\u030C', + û: 'u\u0302', + ů: 'u\u030A', + ű: 'u\u030B', + ṽ: 'v\u0303', + ẃ: 'w\u0301', + ẁ: 'w\u0300', + ẅ: 'w\u0308', + ŵ: 'w\u0302', + ẇ: 'w\u0307', + ẘ: 'w\u030A', + ẍ: 'x\u0308', + ẋ: 'x\u0307', + ý: 'y\u0301', + ỳ: 'y\u0300', + ÿ: 'y\u0308', + ỹ: 'y\u0303', + ȳ: 'y\u0304', + ŷ: 'y\u0302', + ẏ: 'y\u0307', + ẙ: 'y\u030A', + ź: 'z\u0301', + ž: 'z\u030C', + ẑ: 'z\u0302', + ż: 'z\u0307', + Á: 'A\u0301', + À: 'A\u0300', + Ä: 'A\u0308', + Ǟ: 'A\u0308\u0304', + Ã: 'A\u0303', + Ā: 'A\u0304', + Ă: 'A\u0306', + Ắ: 'A\u0306\u0301', + Ằ: 'A\u0306\u0300', + Ẵ: 'A\u0306\u0303', + Ǎ: 'A\u030C', + Â: 'A\u0302', + Ấ: 'A\u0302\u0301', + Ầ: 'A\u0302\u0300', + Ẫ: 'A\u0302\u0303', + Ȧ: 'A\u0307', + Ǡ: 'A\u0307\u0304', + Å: 'A\u030A', + Ǻ: 'A\u030A\u0301', + Ḃ: 'B\u0307', + Ć: 'C\u0301', + Ḉ: 'C\u0327\u0301', + Č: 'C\u030C', + Ĉ: 'C\u0302', + Ċ: 'C\u0307', + Ç: 'C\u0327', + Ď: 'D\u030C', + Ḋ: 'D\u0307', + Ḑ: 'D\u0327', + É: 'E\u0301', + È: 'E\u0300', + Ë: 'E\u0308', + Ẽ: 'E\u0303', + Ē: 'E\u0304', + Ḗ: 'E\u0304\u0301', + Ḕ: 'E\u0304\u0300', + Ĕ: 'E\u0306', + Ḝ: 'E\u0327\u0306', + Ě: 'E\u030C', + Ê: 'E\u0302', + Ế: 'E\u0302\u0301', + Ề: 'E\u0302\u0300', + Ễ: 'E\u0302\u0303', + Ė: 'E\u0307', + Ȩ: 'E\u0327', + Ḟ: 'F\u0307', + Ǵ: 'G\u0301', + Ḡ: 'G\u0304', + Ğ: 'G\u0306', + Ǧ: 'G\u030C', + Ĝ: 'G\u0302', + Ġ: 'G\u0307', + Ģ: 'G\u0327', + Ḧ: 'H\u0308', + Ȟ: 'H\u030C', + Ĥ: 'H\u0302', + Ḣ: 'H\u0307', + Ḩ: 'H\u0327', + Í: 'I\u0301', + Ì: 'I\u0300', + Ï: 'I\u0308', + Ḯ: 'I\u0308\u0301', + Ĩ: 'I\u0303', + Ī: 'I\u0304', + Ĭ: 'I\u0306', + Ǐ: 'I\u030C', + Î: 'I\u0302', + İ: 'I\u0307', + Ĵ: 'J\u0302', + Ḱ: 'K\u0301', + Ǩ: 'K\u030C', + Ķ: 'K\u0327', + Ĺ: 'L\u0301', + Ľ: 'L\u030C', + Ļ: 'L\u0327', + Ḿ: 'M\u0301', + Ṁ: 'M\u0307', + Ń: 'N\u0301', + Ǹ: 'N\u0300', + Ñ: 'N\u0303', + Ň: 'N\u030C', + Ṅ: 'N\u0307', + Ņ: 'N\u0327', + Ó: 'O\u0301', + Ò: 'O\u0300', + Ö: 'O\u0308', + Ȫ: 'O\u0308\u0304', + Õ: 'O\u0303', + Ṍ: 'O\u0303\u0301', + Ṏ: 'O\u0303\u0308', + Ȭ: 'O\u0303\u0304', + Ō: 'O\u0304', + Ṓ: 'O\u0304\u0301', + Ṑ: 'O\u0304\u0300', + Ŏ: 'O\u0306', + Ǒ: 'O\u030C', + Ô: 'O\u0302', + Ố: 'O\u0302\u0301', + Ồ: 'O\u0302\u0300', + Ỗ: 'O\u0302\u0303', + Ȯ: 'O\u0307', + Ȱ: 'O\u0307\u0304', + Ő: 'O\u030B', + Ṕ: 'P\u0301', + Ṗ: 'P\u0307', + Ŕ: 'R\u0301', + Ř: 'R\u030C', + Ṙ: 'R\u0307', + Ŗ: 'R\u0327', + Ś: 'S\u0301', + Ṥ: 'S\u0301\u0307', + Š: 'S\u030C', + Ṧ: 'S\u030C\u0307', + Ŝ: 'S\u0302', + Ṡ: 'S\u0307', + Ş: 'S\u0327', + Ť: 'T\u030C', + Ṫ: 'T\u0307', + Ţ: 'T\u0327', + Ú: 'U\u0301', + Ù: 'U\u0300', + Ü: 'U\u0308', + Ǘ: 'U\u0308\u0301', + Ǜ: 'U\u0308\u0300', + Ǖ: 'U\u0308\u0304', + Ǚ: 'U\u0308\u030C', + Ũ: 'U\u0303', + Ṹ: 'U\u0303\u0301', + Ū: 'U\u0304', + Ṻ: 'U\u0304\u0308', + Ŭ: 'U\u0306', + Ǔ: 'U\u030C', + Û: 'U\u0302', + Ů: 'U\u030A', + Ű: 'U\u030B', + Ṽ: 'V\u0303', + Ẃ: 'W\u0301', + Ẁ: 'W\u0300', + Ẅ: 'W\u0308', + Ŵ: 'W\u0302', + Ẇ: 'W\u0307', + Ẍ: 'X\u0308', + Ẋ: 'X\u0307', + Ý: 'Y\u0301', + Ỳ: 'Y\u0300', + Ÿ: 'Y\u0308', + Ỹ: 'Y\u0303', + Ȳ: 'Y\u0304', + Ŷ: 'Y\u0302', + Ẏ: 'Y\u0307', + Ź: 'Z\u0301', + Ž: 'Z\u030C', + Ẑ: 'Z\u0302', + Ż: 'Z\u0307', + ά: '\u03B1\u0301', + ὰ: '\u03B1\u0300', + ᾱ: '\u03B1\u0304', + ᾰ: '\u03B1\u0306', + έ: '\u03B5\u0301', + ὲ: '\u03B5\u0300', + ή: '\u03B7\u0301', + ὴ: '\u03B7\u0300', + ί: '\u03B9\u0301', + ὶ: '\u03B9\u0300', + ϊ: '\u03B9\u0308', + ΐ: '\u03B9\u0308\u0301', + ῒ: '\u03B9\u0308\u0300', + ῑ: '\u03B9\u0304', + ῐ: '\u03B9\u0306', + ό: '\u03BF\u0301', + ὸ: '\u03BF\u0300', + ύ: '\u03C5\u0301', + ὺ: '\u03C5\u0300', + ϋ: '\u03C5\u0308', + ΰ: '\u03C5\u0308\u0301', + ῢ: '\u03C5\u0308\u0300', + ῡ: '\u03C5\u0304', + ῠ: '\u03C5\u0306', + ώ: '\u03C9\u0301', + ὼ: '\u03C9\u0300', + Ύ: '\u03A5\u0301', + Ὺ: '\u03A5\u0300', + Ϋ: '\u03A5\u0308', + Ῡ: '\u03A5\u0304', + Ῠ: '\u03A5\u0306', + Ώ: '\u03A9\u0301', + Ὼ: '\u03A9\u0300' + }), + (x4 = class t { + static { + o(this, 'Parser'); + } + constructor(e, r) { + (this.mode = void 0), + (this.gullet = void 0), + (this.settings = void 0), + (this.leftrightDepth = void 0), + (this.nextToken = void 0), + (this.mode = 'math'), + (this.gullet = new R7(e, r, this.mode)), + (this.settings = r), + (this.leftrightDepth = 0); + } + expect(e, r) { + if ((r === void 0 && (r = !0), this.fetch().text !== e)) + throw new nt("Expected '" + e + "', got '" + this.fetch().text + "'", this.fetch()); + r && this.consume(); + } + consume() { + this.nextToken = null; + } + fetch() { + return ( + this.nextToken == null && (this.nextToken = this.gullet.expandNextToken()), this.nextToken + ); + } + switchMode(e) { + (this.mode = e), this.gullet.switchMode(e); + } + parse() { + this.settings.globalGroup || this.gullet.beginGroup(), + this.settings.colorIsTextColor && this.gullet.macros.set('\\color', '\\textcolor'); + try { + var e = this.parseExpression(!1); + return this.expect('EOF'), this.settings.globalGroup || this.gullet.endGroup(), e; + } finally { + this.gullet.endGroups(); + } + } + subparse(e) { + var r = this.nextToken; + this.consume(), this.gullet.pushToken(new Ao('}')), this.gullet.pushTokens(e); + var n = this.parseExpression(!1); + return this.expect('}'), (this.nextToken = r), n; + } + parseExpression(e, r) { + for (var n = []; ; ) { + this.mode === 'math' && this.consumeSpaces(); + var i = this.fetch(); + if ( + t.endOfExpression.indexOf(i.text) !== -1 || + (r && i.text === r) || + (e && fh[i.text] && fh[i.text].infix) + ) + break; + var a = this.parseAtom(r); + if (a) { + if (a.type === 'internal') continue; + } else break; + n.push(a); + } + return this.mode === 'text' && this.formLigatures(n), this.handleInfixNodes(n); + } + handleInfixNodes(e) { + for (var r = -1, n, i = 0; i < e.length; i++) + if (e[i].type === 'infix') { + if (r !== -1) throw new nt('only one infix operator per group', e[i].token); + (r = i), (n = e[i].replaceWith); + } + if (r !== -1 && n) { + var a, + s, + l = e.slice(0, r), + u = e.slice(r + 1); + l.length === 1 && l[0].type === 'ordgroup' + ? (a = l[0]) + : (a = { type: 'ordgroup', mode: this.mode, body: l }), + u.length === 1 && u[0].type === 'ordgroup' + ? (s = u[0]) + : (s = { type: 'ordgroup', mode: this.mode, body: u }); + var h; + return ( + n === '\\\\abovefrac' + ? (h = this.callFunction(n, [a, e[r], s], [])) + : (h = this.callFunction(n, [a, s], [])), + [h] + ); + } else return e; + } + handleSupSubscript(e) { + var r = this.fetch(), + n = r.text; + this.consume(), this.consumeSpaces(); + var i = this.parseGroup(e); + if (!i) throw new nt("Expected group after '" + n + "'", r); + return i; + } + formatUnsupportedCmd(e) { + for (var r = [], n = 0; n < e.length; n++) + r.push({ type: 'textord', mode: 'text', text: e[n] }); + var i = { type: 'text', mode: this.mode, body: r }, + a = { + type: 'color', + mode: this.mode, + color: this.settings.errorColor, + body: [i] + }; + return a; + } + parseAtom(e) { + var r = this.parseGroup('atom', e); + if (this.mode === 'text') return r; + for (var n, i; ; ) { + this.consumeSpaces(); + var a = this.fetch(); + if (a.text === '\\limits' || a.text === '\\nolimits') { + if (r && r.type === 'op') { + var s = a.text === '\\limits'; + (r.limits = s), (r.alwaysHandleSupSub = !0); + } else if (r && r.type === 'operatorname') + r.alwaysHandleSupSub && (r.limits = a.text === '\\limits'); + else throw new nt('Limit controls must follow a math operator', a); + this.consume(); + } else if (a.text === '^') { + if (n) throw new nt('Double superscript', a); + n = this.handleSupSubscript('superscript'); + } else if (a.text === '_') { + if (i) throw new nt('Double subscript', a); + i = this.handleSupSubscript('subscript'); + } else if (a.text === "'") { + if (n) throw new nt('Double superscript', a); + var l = { type: 'textord', mode: this.mode, text: '\\prime' }, + u = [l]; + for (this.consume(); this.fetch().text === "'"; ) u.push(l), this.consume(); + this.fetch().text === '^' && u.push(this.handleSupSubscript('superscript')), + (n = { type: 'ordgroup', mode: this.mode, body: u }); + } else if (c4[a.text]) { + var h = SG.test(a.text), + f = []; + for (f.push(new Ao(c4[a.text])), this.consume(); ; ) { + var d = this.fetch().text; + if (!c4[d] || SG.test(d) !== h) break; + f.unshift(new Ao(c4[d])), this.consume(); + } + var p = this.subparse(f); + h + ? (i = { type: 'ordgroup', mode: 'math', body: p }) + : (n = { type: 'ordgroup', mode: 'math', body: p }); + } else break; + } + return n || i ? { type: 'supsub', mode: this.mode, base: r, sup: n, sub: i } : r; + } + parseFunction(e, r) { + var n = this.fetch(), + i = n.text, + a = fh[i]; + if (!a) return null; + if ((this.consume(), r && r !== 'atom' && !a.allowedInArgument)) + throw new nt("Got function '" + i + "' with no arguments" + (r ? ' as ' + r : ''), n); + if (this.mode === 'text' && !a.allowedInText) + throw new nt("Can't use function '" + i + "' in text mode", n); + if (this.mode === 'math' && a.allowedInMath === !1) + throw new nt("Can't use function '" + i + "' in math mode", n); + var { args: s, optArgs: l } = this.parseArguments(i, a); + return this.callFunction(i, s, l, n, e); + } + callFunction(e, r, n, i, a) { + var s = { + funcName: e, + parser: this, + token: i, + breakOnTokenText: a + }, + l = fh[e]; + if (l && l.handler) return l.handler(s, r, n); + throw new nt('No function handler for ' + e); + } + parseArguments(e, r) { + var n = r.numArgs + r.numOptionalArgs; + if (n === 0) return { args: [], optArgs: [] }; + for (var i = [], a = [], s = 0; s < n; s++) { + var l = r.argTypes && r.argTypes[s], + u = s < r.numOptionalArgs; + ((r.primitive && l == null) || (r.type === 'sqrt' && s === 1 && a[0] == null)) && + (l = 'primitive'); + var h = this.parseGroupOfType("argument to '" + e + "'", l, u); + if (u) a.push(h); + else if (h != null) i.push(h); + else throw new nt('Null argument, please report this as a bug'); + } + return { args: i, optArgs: a }; + } + parseGroupOfType(e, r, n) { + switch (r) { + case 'color': + return this.parseColorGroup(n); + case 'size': + return this.parseSizeGroup(n); + case 'url': + return this.parseUrlGroup(n); + case 'math': + case 'text': + return this.parseArgumentGroup(n, r); + case 'hbox': { + var i = this.parseArgumentGroup(n, 'text'); + return i != null ? { type: 'styling', mode: i.mode, body: [i], style: 'text' } : null; + } + case 'raw': { + var a = this.parseStringGroup('raw', n); + return a != null ? { type: 'raw', mode: 'text', string: a.text } : null; + } + case 'primitive': { + if (n) throw new nt('A primitive argument cannot be optional'); + var s = this.parseGroup(e); + if (s == null) throw new nt('Expected group as ' + e, this.fetch()); + return s; + } + case 'original': + case null: + case void 0: + return this.parseArgumentGroup(n); + default: + throw new nt('Unknown group type as ' + e, this.fetch()); + } + } + consumeSpaces() { + for (; this.fetch().text === ' '; ) this.consume(); + } + parseStringGroup(e, r) { + var n = this.gullet.scanArgument(r); + if (n == null) return null; + for (var i = '', a; (a = this.fetch()).text !== 'EOF'; ) (i += a.text), this.consume(); + return this.consume(), (n.text = i), n; + } + parseRegexGroup(e, r) { + for ( + var n = this.fetch(), i = n, a = '', s; + (s = this.fetch()).text !== 'EOF' && e.test(a + s.text); + + ) + (i = s), (a += i.text), this.consume(); + if (a === '') throw new nt('Invalid ' + r + ": '" + n.text + "'", n); + return n.range(i, a); + } + parseColorGroup(e) { + var r = this.parseStringGroup('color', e); + if (r == null) return null; + var n = /^(#[a-f0-9]{3}|#?[a-f0-9]{6}|[a-z]+)$/i.exec(r.text); + if (!n) throw new nt("Invalid color: '" + r.text + "'", r); + var i = n[0]; + return ( + /^[0-9a-f]{6}$/i.test(i) && (i = '#' + i), + { type: 'color-token', mode: this.mode, color: i } + ); + } + parseSizeGroup(e) { + var r, + n = !1; + if ( + (this.gullet.consumeSpaces(), + !e && this.gullet.future().text !== '{' + ? (r = this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/, 'size')) + : (r = this.parseStringGroup('size', e)), + !r) + ) + return null; + !e && r.text.length === 0 && ((r.text = '0pt'), (n = !0)); + var i = /([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(r.text); + if (!i) throw new nt("Invalid size: '" + r.text + "'", r); + var a = { number: +(i[1] + i[2]), unit: i[3] }; + if (!DG(a)) throw new nt("Invalid unit: '" + a.unit + "'", r); + return { type: 'size', mode: this.mode, value: a, isBlank: n }; + } + parseUrlGroup(e) { + this.gullet.lexer.setCatcode('%', 13), this.gullet.lexer.setCatcode('~', 12); + var r = this.parseStringGroup('url', e); + if ((this.gullet.lexer.setCatcode('%', 14), this.gullet.lexer.setCatcode('~', 13), r == null)) + return null; + var n = r.text.replace(/\\([#$%&~_^{}])/g, '$1'); + return { type: 'url', mode: this.mode, url: n }; + } + parseArgumentGroup(e, r) { + var n = this.gullet.scanArgument(e); + if (n == null) return null; + var i = this.mode; + r && this.switchMode(r), this.gullet.beginGroup(); + var a = this.parseExpression(!1, 'EOF'); + this.expect('EOF'), this.gullet.endGroup(); + var s = { type: 'ordgroup', mode: this.mode, loc: n.loc, body: a }; + return r && this.switchMode(i), s; + } + parseGroup(e, r) { + var n = this.fetch(), + i = n.text, + a; + if (i === '{' || i === '\\begingroup') { + this.consume(); + var s = i === '{' ? '}' : '\\endgroup'; + this.gullet.beginGroup(); + var l = this.parseExpression(!1, s), + u = this.fetch(); + this.expect(s), + this.gullet.endGroup(), + (a = { + type: 'ordgroup', + mode: this.mode, + loc: Xs.range(n, u), + body: l, + semisimple: i === '\\begingroup' || void 0 + }); + } else if ( + ((a = this.parseFunction(r, e) || this.parseSymbol()), + a == null && i[0] === '\\' && !b$.hasOwnProperty(i)) + ) { + if (this.settings.throwOnError) throw new nt('Undefined control sequence: ' + i, n); + (a = this.formatUnsupportedCmd(i)), this.consume(); + } + return a; + } + formLigatures(e) { + for (var r = e.length - 1, n = 0; n < r; ++n) { + var i = e[n], + a = i.text; + a === '-' && + e[n + 1].text === '-' && + (n + 1 < r && e[n + 2].text === '-' + ? (e.splice(n, 3, { + type: 'textord', + mode: 'text', + loc: Xs.range(i, e[n + 2]), + text: '---' + }), + (r -= 2)) + : (e.splice(n, 2, { + type: 'textord', + mode: 'text', + loc: Xs.range(i, e[n + 1]), + text: '--' + }), + (r -= 1))), + (a === "'" || a === '`') && + e[n + 1].text === a && + (e.splice(n, 2, { + type: 'textord', + mode: 'text', + loc: Xs.range(i, e[n + 1]), + text: a + a + }), + (r -= 1)); + } + } + parseSymbol() { + var e = this.fetch(), + r = e.text; + if (/^\\verb[^a-zA-Z]/.test(r)) { + this.consume(); + var n = r.slice(5), + i = n.charAt(0) === '*'; + if ((i && (n = n.slice(1)), n.length < 2 || n.charAt(0) !== n.slice(-1))) + throw new nt(`\\verb assertion failed -- + please report what input caused this bug`); + return (n = n.slice(1, -1)), { type: 'verb', mode: 'text', body: n, star: i }; + } + AG.hasOwnProperty(r[0]) && + !wn[this.mode][r[0]] && + (this.settings.strict && + this.mode === 'math' && + this.settings.reportNonstrict( + 'unicodeTextInMathMode', + 'Accented Unicode text character "' + r[0] + '" used in math mode', + e + ), + (r = AG[r[0]] + r.slice(1))); + var a = vbe.exec(r); + a && ((r = r.substring(0, a.index)), r === 'i' ? (r = '\u0131') : r === 'j' && (r = '\u0237')); + var s; + if (wn[this.mode][r]) { + this.settings.strict && + this.mode === 'math' && + k7.indexOf(r) >= 0 && + this.settings.reportNonstrict( + 'unicodeTextInMathMode', + 'Latin-1/Unicode text character "' + r[0] + '" used in math mode', + e + ); + var l = wn[this.mode][r].group, + u = Xs.range(e), + h; + if (hxe.hasOwnProperty(l)) { + var f = l; + h = { + type: 'atom', + mode: this.mode, + family: f, + loc: u, + text: r + }; + } else h = { type: l, mode: this.mode, loc: u, text: r }; + s = h; + } else if (r.charCodeAt(0) >= 128) + this.settings.strict && + (LG(r.charCodeAt(0)) + ? this.mode === 'math' && + this.settings.reportNonstrict( + 'unicodeTextInMathMode', + 'Unicode text character "' + r[0] + '" used in math mode', + e + ) + : this.settings.reportNonstrict( + 'unknownSymbol', + 'Unrecognized Unicode character "' + + r[0] + + '"' + + (' (' + r.charCodeAt(0) + ')'), + e + )), + (s = { + type: 'textord', + mode: 'text', + loc: Xs.range(e), + text: r + }); + else return null; + if ((this.consume(), a)) + for (var d = 0; d < a[0].length; d++) { + var p = a[0][d]; + if (!x7[p]) throw new nt("Unknown accent ' " + p + "'", e); + var m = x7[p][this.mode] || x7[p].text; + if (!m) throw new nt('Accent ' + p + ' unsupported in ' + this.mode + ' mode', e); + s = { + type: 'accent', + mode: this.mode, + loc: Xs.range(e), + label: m, + isStretchy: !1, + isShifty: !0, + base: s + }; + } + return s; + } + }); + x4.endOfExpression = ['}', '\\endgroup', '\\end', '\\right', '&']; + (X7 = o(function (e, r) { + if (!(typeof e == 'string' || e instanceof String)) + throw new TypeError('KaTeX can only parse string typed expression'); + var n = new x4(e, r); + delete n.gullet.macros.current['\\df@tag']; + var i = n.parse(); + if ( + (delete n.gullet.macros.current['\\current@color'], + delete n.gullet.macros.current['\\color'], + n.gullet.macros.get('\\df@tag')) + ) { + if (!r.displayMode) throw new nt('\\tag works only in display equations'); + i = [ + { + type: 'tag', + mode: 'text', + body: i, + tag: n.subparse([new Ao('\\df@tag')]) + } + ]; + } + return i; + }, 'parseTree')), + (w$ = o(function (e, r, n) { + r.textContent = ''; + var i = j7(e, n).toNode(); + r.appendChild(i); + }, 'render')); + typeof document < 'u' && + document.compatMode !== 'CSS1Compat' && + (typeof console < 'u' && + console.warn( + "Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype." + ), + (w$ = o(function () { + throw new nt("KaTeX doesn't work in quirks mode."); + }, 'render'))); + (wbe = o(function (e, r) { + var n = j7(e, r).toMarkup(); + return n; + }, 'renderToString')), + (Tbe = o(function (e, r) { + var n = new ry(r); + return X7(e, n); + }, 'generateParseTree')), + (T$ = o(function (e, r, n) { + if (n.throwOnError || !(e instanceof nt)) throw e; + var i = Be.makeSpan(['katex-error'], [new ms(r)]); + return i.setAttribute('title', e.toString()), i.setAttribute('style', 'color:' + n.errorColor), i; + }, 'renderError')), + (j7 = o(function (e, r) { + var n = new ry(r); + try { + var i = X7(e, n); + return Mxe(i, e, n); + } catch (a) { + return T$(a, e, n); + } + }, 'renderToDomTree')), + (kbe = o(function (e, r) { + var n = new ry(r); + try { + var i = X7(e, n); + return Ixe(i, e, n); + } catch (a) { + return T$(a, e, n); + } + }, 'renderToHTMLTree')), + (Ebe = { + version: '0.16.11', + render: w$, + renderToString: wbe, + ParseError: nt, + SETTINGS_SCHEMA: u4, + __parse: Tbe, + __renderToDomTree: j7, + __renderToHTMLTree: kbe, + __setFontMetrics: axe, + __defineSymbol: G, + __defineFunction: vt, + __defineMacro: le, + __domTree: { + Span: jf, + Anchor: iy, + SymbolNode: ms, + SvgNode: ll, + PathNode: Jl, + LineNode: ay + } + }); + }); + function Abe() { + let t = 'data-temp-href-target'; + bp.default.addHook('beforeSanitizeAttributes', (e) => { + e.tagName === 'A' && e.hasAttribute('target') && e.setAttribute(t, e.getAttribute('target') ?? ''); + }), + bp.default.addHook('afterSanitizeAttributes', (e) => { + e.tagName === 'A' && + e.hasAttribute(t) && + (e.setAttribute('target', e.getAttribute(t) ?? ''), + e.removeAttribute(t), + e.getAttribute('target') === '_blank' && e.setAttribute('rel', 'noopener')); + }); + } + var bp, + Qf, + Cbe, + Sbe, + A$, + C$, + qr, + _be, + Lbe, + Dbe, + Rbe, + _$, + Nbe, + yr, + Mbe, + Ibe, + gh, + K7, + Obe, + Pbe, + S$, + Q7, + Ni, + Zf, + yh, + We, + rr = R(() => { + 'use strict'; + (bp = Xi(o7(), 1)), + (Qf = //gi), + (Cbe = o((t) => (t ? _$(t).replace(/\\n/g, '#br#').split('#br#') : ['']), 'getRows')), + (Sbe = (() => { + let t = !1; + return () => { + t || (Abe(), (t = !0)); + }; + })()); + o(Abe, 'setupDompurifyHooks'); + (A$ = o((t) => (Sbe(), bp.default.sanitize(t)), 'removeScript')), + (C$ = o((t, e) => { + if (e.flowchart?.htmlLabels !== !1) { + let r = e.securityLevel; + r === 'antiscript' || r === 'strict' + ? (t = A$(t)) + : r !== 'loose' && + ((t = _$(t)), + (t = t.replace(//g, '>')), + (t = t.replace(/=/g, '=')), + (t = Rbe(t))); + } + return t; + }, 'sanitizeMore')), + (qr = o( + (t, e) => + t && + (e.dompurifyConfig + ? (t = bp.default.sanitize(C$(t, e), e.dompurifyConfig).toString()) + : (t = bp.default.sanitize(C$(t, e), { FORBID_TAGS: ['style'] }).toString()), + t), + 'sanitizeText' + )), + (_be = o( + (t, e) => (typeof t == 'string' ? qr(t, e) : t.flat().map((r) => qr(r, e))), + 'sanitizeTextOrArray' + )), + (Lbe = o((t) => Qf.test(t), 'hasBreaks')), + (Dbe = o((t) => t.split(Qf), 'splitBreaks')), + (Rbe = o((t) => t.replace(/#br#/g, '
'), 'placeholderToBreak')), + (_$ = o((t) => t.replace(Qf, '#br#'), 'breakToPlaceholder')), + (Nbe = o((t) => { + let e = ''; + return ( + t && + ((e = + window.location.protocol + + '//' + + window.location.host + + window.location.pathname + + window.location.search), + (e = e.replaceAll(/\(/g, '\\(')), + (e = e.replaceAll(/\)/g, '\\)'))), + e + ); + }, 'getUrl')), + (yr = o( + (t) => !(t === !1 || ['false', 'null', '0'].includes(String(t).trim().toLowerCase())), + 'evaluate' + )), + (Mbe = o(function (...t) { + let e = t.filter((r) => !isNaN(r)); + return Math.max(...e); + }, 'getMax')), + (Ibe = o(function (...t) { + let e = t.filter((r) => !isNaN(r)); + return Math.min(...e); + }, 'getMin')), + (gh = o(function (t) { + let e = t.split(/(,)/), + r = []; + for (let n = 0; n < e.length; n++) { + let i = e[n]; + if (i === ',' && n > 0 && n + 1 < e.length) { + let a = e[n - 1], + s = e[n + 1]; + Obe(a, s) && ((i = a + ',' + s), n++, r.pop()); + } + r.push(Pbe(i)); + } + return r.join(''); + }, 'parseGenericTypes')), + (K7 = o((t, e) => Math.max(0, t.split(e).length - 1), 'countOccurrence')), + (Obe = o((t, e) => { + let r = K7(t, '~'), + n = K7(e, '~'); + return r === 1 && n === 1; + }, 'shouldCombineSets')), + (Pbe = o((t) => { + let e = K7(t, '~'), + r = !1; + if (e <= 1) return t; + e % 2 !== 0 && t.startsWith('~') && ((t = t.substring(1)), (r = !0)); + let n = [...t], + i = n.indexOf('~'), + a = n.lastIndexOf('~'); + for (; i !== -1 && a !== -1 && i !== a; ) + (n[i] = '<'), (n[a] = '>'), (i = n.indexOf('~')), (a = n.lastIndexOf('~')); + return r && n.unshift('~'), n.join(''); + }, 'processSet')), + (S$ = o(() => window.MathMLElement !== void 0, 'isMathMLSupported')), + (Q7 = /\$\$(.*)\$\$/g), + (Ni = o((t) => (t.match(Q7)?.length ?? 0) > 0, 'hasKatex')), + (Zf = o(async (t, e) => { + t = await yh(t, e); + let r = document.createElement('div'); + (r.innerHTML = t), + (r.id = 'katex-temp'), + (r.style.visibility = 'hidden'), + (r.style.position = 'absolute'), + (r.style.top = '0'), + document.querySelector('body')?.insertAdjacentElement('beforeend', r); + let i = { width: r.clientWidth, height: r.clientHeight }; + return r.remove(), i; + }, 'calculateMathMLDimensions')), + (yh = o(async (t, e) => { + if (!Ni(t)) return t; + if (!(S$() || e.legacyMathML || e.forceLegacyMathML)) + return t.replace(Q7, 'MathML is unsupported in this environment.'); + let { default: r } = await Promise.resolve().then(() => (E$(), k$)), + n = e.forceLegacyMathML || (!S$() && e.legacyMathML) ? 'htmlAndMathml' : 'mathml'; + return t + .split(Qf) + .map((i) => + Ni(i) + ? `
${i}
` + : `
${i}
` + ) + .join('') + .replace(Q7, (i, a) => + r + .renderToString(a, { + throwOnError: !0, + displayMode: !0, + output: n + }) + .replace(/\n/g, ' ') + .replace(//g, '') + ); + }, 'renderKatex')), + (We = { + getRows: Cbe, + sanitizeText: qr, + sanitizeTextOrArray: _be, + hasBreaks: Lbe, + splitBreaks: Dbe, + lineBreakRegex: Qf, + removeScript: A$, + getUrl: Nbe, + evaluate: yr, + getMax: Mbe, + getMin: Ibe + }); + }); + var Bbe, + Fbe, + Sr, + Lo, + Yn = R(() => { + 'use strict'; + ut(); + (Bbe = o(function (t, e) { + for (let r of e) t.attr(r[0], r[1]); + }, 'd3Attrs')), + (Fbe = o(function (t, e, r) { + let n = new Map(); + return ( + r + ? (n.set('width', '100%'), n.set('style', `max-width: ${e}px;`)) + : (n.set('height', t), n.set('width', e)), + n + ); + }, 'calculateSvgSizeAttrs')), + (Sr = o(function (t, e, r, n) { + let i = Fbe(e, r, n); + Bbe(t, i); + }, 'configureSvgSize')), + (Lo = o(function (t, e, r, n) { + let i = e.node().getBBox(), + a = i.width, + s = i.height; + V.info(`SVG bounds: ${a}x${s}`, i); + let l = 0, + u = 0; + V.info(`Graph bounds: ${l}x${u}`, t), + (l = a + r * 2), + (u = s + r * 2), + V.info(`Calculated bounds: ${l}x${u}`), + Sr(e, u, l, n); + let h = `${i.x - r} ${i.y - r} ${i.width + 2 * r} ${i.height + 2 * r}`; + e.attr('viewBox', h); + }, 'setupGraphViewbox')); + }); + var S4, + zbe, + L$, + D$, + Z7 = R(() => { + 'use strict'; + ut(); + (S4 = {}), + (zbe = o((t, e, r) => { + let n = ''; + return ( + t in S4 && S4[t] ? (n = S4[t](r)) : V.warn(`No theme found for ${t}`), + ` & { + font-family: ${r.fontFamily}; + font-size: ${r.fontSize}; + fill: ${r.textColor} + } + + /* Classes common for multiple diagrams */ + + & .error-icon { + fill: ${r.errorBkgColor}; + } + & .error-text { + fill: ${r.errorTextColor}; + stroke: ${r.errorTextColor}; + } + + & .edge-thickness-normal { + stroke-width: 1px; + } + & .edge-thickness-thick { + stroke-width: 3.5px + } + & .edge-pattern-solid { + stroke-dasharray: 0; + } + & .edge-thickness-invisible { + stroke-width: 0; + fill: none; + } + & .edge-pattern-dashed{ + stroke-dasharray: 3; + } + .edge-pattern-dotted { + stroke-dasharray: 2; + } + + & .marker { + fill: ${r.lineColor}; + stroke: ${r.lineColor}; + } + & .marker.cross { + stroke: ${r.lineColor}; + } + + & svg { + font-family: ${r.fontFamily}; + font-size: ${r.fontSize}; + } + & p { + margin: 0 + } + + ${n} + + ${e} +` + ); + }, 'getStyles')), + (L$ = o((t, e) => { + e !== void 0 && (S4[t] = e); + }, 'addStylesForDiagram')), + (D$ = zbe); + }); + var ly = {}; + hr(ly, { + clear: () => vr, + getAccDescription: () => Lr, + getAccTitle: () => Ar, + getDiagramTitle: () => Xr, + setAccDescription: () => _r, + setAccTitle: () => kr, + setDiagramTitle: () => nn + }); + var J7, + eS, + tS, + rS, + vr, + kr, + Ar, + _r, + Lr, + nn, + Xr, + bi = R(() => { + 'use strict'; + rr(); + qs(); + (J7 = ''), + (eS = ''), + (tS = ''), + (rS = o((t) => qr(t, Or()), 'sanitizeText')), + (vr = o(() => { + (J7 = ''), (tS = ''), (eS = ''); + }, 'clear')), + (kr = o((t) => { + J7 = rS(t).replace(/^\s+/g, ''); + }, 'setAccTitle')), + (Ar = o(() => J7, 'getAccTitle')), + (_r = o((t) => { + tS = rS(t).replace( + /\n\s+/g, + ` +` + ); + }, 'setAccDescription')), + (Lr = o(() => tS, 'getAccDescription')), + (nn = o((t) => { + eS = rS(t); + }, 'setDiagramTitle')), + (Xr = o(() => eS, 'getDiagramTitle')); + }); + var R$, + Gbe, + de, + iS, + _4, + $be, + aS, + Vbe, + A4, + Jf, + cy, + nS, + _t = R(() => { + 'use strict'; + Hf(); + ut(); + qs(); + rr(); + Yn(); + Z7(); + bi(); + (R$ = V), + (Gbe = $1), + (de = Or), + (iS = Zb), + (_4 = uh), + ($be = o((t) => qr(t, de()), 'sanitizeText')), + (aS = Lo), + (Vbe = o(() => ly, 'getCommonDb')), + (A4 = {}), + (Jf = o((t, e, r) => { + A4[t] && R$.warn(`Diagram with id ${t} already registered. Overwriting.`), + (A4[t] = e), + r && $C(t, r), + L$(t, e.styles), + e.injectUtils?.(R$, Gbe, de, $be, aS, Vbe(), () => {}); + }, 'registerDiagram')), + (cy = o((t) => { + if (t in A4) return A4[t]; + throw new nS(t); + }, 'getDiagram')), + (nS = class extends Error { + static { + o(this, 'DiagramNotFoundError'); + } + constructor(e) { + super(`Diagram ${e} not found.`); + } + }); + }); + var ul, + vh, + ja, + cl, + nc, + uy, + sS, + oS, + L4, + D4, + N$, + Ube, + Hbe, + Ybe, + Wbe, + qbe, + Xbe, + jbe, + Kbe, + Qbe, + Zbe, + Jbe, + e4e, + t4e, + r4e, + n4e, + i4e, + a4e, + M$, + s4e, + o4e, + I$, + l4e, + c4e, + u4e, + h4e, + xh, + f4e, + d4e, + p4e, + m4e, + g4e, + hy, + lS = R(() => { + 'use strict'; + _t(); + rr(); + bi(); + (ul = []), + (vh = ['']), + (ja = 'global'), + (cl = ''), + (nc = [ + { + alias: 'global', + label: { text: 'global' }, + type: { text: 'global' }, + tags: null, + link: null, + parentBoundary: '' + } + ]), + (uy = []), + (sS = ''), + (oS = !1), + (L4 = 4), + (D4 = 2), + (Ube = o(function () { + return N$; + }, 'getC4Type')), + (Hbe = o(function (t) { + N$ = qr(t, de()); + }, 'setC4Type')), + (Ybe = o(function (t, e, r, n, i, a, s, l, u) { + if ( + t == null || + e === void 0 || + e === null || + r === void 0 || + r === null || + n === void 0 || + n === null + ) + return; + let h = {}, + f = uy.find((d) => d.from === e && d.to === r); + if ( + (f ? (h = f) : uy.push(h), + (h.type = t), + (h.from = e), + (h.to = r), + (h.label = { text: n }), + i == null) + ) + h.techn = { text: '' }; + else if (typeof i == 'object') { + let [d, p] = Object.entries(i)[0]; + h[d] = { text: p }; + } else h.techn = { text: i }; + if (a == null) h.descr = { text: '' }; + else if (typeof a == 'object') { + let [d, p] = Object.entries(a)[0]; + h[d] = { text: p }; + } else h.descr = { text: a }; + if (typeof s == 'object') { + let [d, p] = Object.entries(s)[0]; + h[d] = p; + } else h.sprite = s; + if (typeof l == 'object') { + let [d, p] = Object.entries(l)[0]; + h[d] = p; + } else h.tags = l; + if (typeof u == 'object') { + let [d, p] = Object.entries(u)[0]; + h[d] = p; + } else h.link = u; + h.wrap = xh(); + }, 'addRel')), + (Wbe = o(function (t, e, r, n, i, a, s) { + if (e === null || r === null) return; + let l = {}, + u = ul.find((h) => h.alias === e); + if ( + (u && e === u.alias ? (l = u) : ((l.alias = e), ul.push(l)), + r == null ? (l.label = { text: '' }) : (l.label = { text: r }), + n == null) + ) + l.descr = { text: '' }; + else if (typeof n == 'object') { + let [h, f] = Object.entries(n)[0]; + l[h] = { text: f }; + } else l.descr = { text: n }; + if (typeof i == 'object') { + let [h, f] = Object.entries(i)[0]; + l[h] = f; + } else l.sprite = i; + if (typeof a == 'object') { + let [h, f] = Object.entries(a)[0]; + l[h] = f; + } else l.tags = a; + if (typeof s == 'object') { + let [h, f] = Object.entries(s)[0]; + l[h] = f; + } else l.link = s; + (l.typeC4Shape = { text: t }), (l.parentBoundary = ja), (l.wrap = xh()); + }, 'addPersonOrSystem')), + (qbe = o(function (t, e, r, n, i, a, s, l) { + if (e === null || r === null) return; + let u = {}, + h = ul.find((f) => f.alias === e); + if ( + (h && e === h.alias ? (u = h) : ((u.alias = e), ul.push(u)), + r == null ? (u.label = { text: '' }) : (u.label = { text: r }), + n == null) + ) + u.techn = { text: '' }; + else if (typeof n == 'object') { + let [f, d] = Object.entries(n)[0]; + u[f] = { text: d }; + } else u.techn = { text: n }; + if (i == null) u.descr = { text: '' }; + else if (typeof i == 'object') { + let [f, d] = Object.entries(i)[0]; + u[f] = { text: d }; + } else u.descr = { text: i }; + if (typeof a == 'object') { + let [f, d] = Object.entries(a)[0]; + u[f] = d; + } else u.sprite = a; + if (typeof s == 'object') { + let [f, d] = Object.entries(s)[0]; + u[f] = d; + } else u.tags = s; + if (typeof l == 'object') { + let [f, d] = Object.entries(l)[0]; + u[f] = d; + } else u.link = l; + (u.wrap = xh()), (u.typeC4Shape = { text: t }), (u.parentBoundary = ja); + }, 'addContainer')), + (Xbe = o(function (t, e, r, n, i, a, s, l) { + if (e === null || r === null) return; + let u = {}, + h = ul.find((f) => f.alias === e); + if ( + (h && e === h.alias ? (u = h) : ((u.alias = e), ul.push(u)), + r == null ? (u.label = { text: '' }) : (u.label = { text: r }), + n == null) + ) + u.techn = { text: '' }; + else if (typeof n == 'object') { + let [f, d] = Object.entries(n)[0]; + u[f] = { text: d }; + } else u.techn = { text: n }; + if (i == null) u.descr = { text: '' }; + else if (typeof i == 'object') { + let [f, d] = Object.entries(i)[0]; + u[f] = { text: d }; + } else u.descr = { text: i }; + if (typeof a == 'object') { + let [f, d] = Object.entries(a)[0]; + u[f] = d; + } else u.sprite = a; + if (typeof s == 'object') { + let [f, d] = Object.entries(s)[0]; + u[f] = d; + } else u.tags = s; + if (typeof l == 'object') { + let [f, d] = Object.entries(l)[0]; + u[f] = d; + } else u.link = l; + (u.wrap = xh()), (u.typeC4Shape = { text: t }), (u.parentBoundary = ja); + }, 'addComponent')), + (jbe = o(function (t, e, r, n, i) { + if (t === null || e === null) return; + let a = {}, + s = nc.find((l) => l.alias === t); + if ( + (s && t === s.alias ? (a = s) : ((a.alias = t), nc.push(a)), + e == null ? (a.label = { text: '' }) : (a.label = { text: e }), + r == null) + ) + a.type = { text: 'system' }; + else if (typeof r == 'object') { + let [l, u] = Object.entries(r)[0]; + a[l] = { text: u }; + } else a.type = { text: r }; + if (typeof n == 'object') { + let [l, u] = Object.entries(n)[0]; + a[l] = u; + } else a.tags = n; + if (typeof i == 'object') { + let [l, u] = Object.entries(i)[0]; + a[l] = u; + } else a.link = i; + (a.parentBoundary = ja), (a.wrap = xh()), (cl = ja), (ja = t), vh.push(cl); + }, 'addPersonOrSystemBoundary')), + (Kbe = o(function (t, e, r, n, i) { + if (t === null || e === null) return; + let a = {}, + s = nc.find((l) => l.alias === t); + if ( + (s && t === s.alias ? (a = s) : ((a.alias = t), nc.push(a)), + e == null ? (a.label = { text: '' }) : (a.label = { text: e }), + r == null) + ) + a.type = { text: 'container' }; + else if (typeof r == 'object') { + let [l, u] = Object.entries(r)[0]; + a[l] = { text: u }; + } else a.type = { text: r }; + if (typeof n == 'object') { + let [l, u] = Object.entries(n)[0]; + a[l] = u; + } else a.tags = n; + if (typeof i == 'object') { + let [l, u] = Object.entries(i)[0]; + a[l] = u; + } else a.link = i; + (a.parentBoundary = ja), (a.wrap = xh()), (cl = ja), (ja = t), vh.push(cl); + }, 'addContainerBoundary')), + (Qbe = o(function (t, e, r, n, i, a, s, l) { + if (e === null || r === null) return; + let u = {}, + h = nc.find((f) => f.alias === e); + if ( + (h && e === h.alias ? (u = h) : ((u.alias = e), nc.push(u)), + r == null ? (u.label = { text: '' }) : (u.label = { text: r }), + n == null) + ) + u.type = { text: 'node' }; + else if (typeof n == 'object') { + let [f, d] = Object.entries(n)[0]; + u[f] = { text: d }; + } else u.type = { text: n }; + if (i == null) u.descr = { text: '' }; + else if (typeof i == 'object') { + let [f, d] = Object.entries(i)[0]; + u[f] = { text: d }; + } else u.descr = { text: i }; + if (typeof s == 'object') { + let [f, d] = Object.entries(s)[0]; + u[f] = d; + } else u.tags = s; + if (typeof l == 'object') { + let [f, d] = Object.entries(l)[0]; + u[f] = d; + } else u.link = l; + (u.nodeType = t), (u.parentBoundary = ja), (u.wrap = xh()), (cl = ja), (ja = e), vh.push(cl); + }, 'addDeploymentNode')), + (Zbe = o(function () { + (ja = cl), vh.pop(), (cl = vh.pop()), vh.push(cl); + }, 'popBoundaryParseStack')), + (Jbe = o(function (t, e, r, n, i, a, s, l, u, h, f) { + let d = ul.find((p) => p.alias === e); + if (!(d === void 0 && ((d = nc.find((p) => p.alias === e)), d === void 0))) { + if (r != null) + if (typeof r == 'object') { + let [p, m] = Object.entries(r)[0]; + d[p] = m; + } else d.bgColor = r; + if (n != null) + if (typeof n == 'object') { + let [p, m] = Object.entries(n)[0]; + d[p] = m; + } else d.fontColor = n; + if (i != null) + if (typeof i == 'object') { + let [p, m] = Object.entries(i)[0]; + d[p] = m; + } else d.borderColor = i; + if (a != null) + if (typeof a == 'object') { + let [p, m] = Object.entries(a)[0]; + d[p] = m; + } else d.shadowing = a; + if (s != null) + if (typeof s == 'object') { + let [p, m] = Object.entries(s)[0]; + d[p] = m; + } else d.shape = s; + if (l != null) + if (typeof l == 'object') { + let [p, m] = Object.entries(l)[0]; + d[p] = m; + } else d.sprite = l; + if (u != null) + if (typeof u == 'object') { + let [p, m] = Object.entries(u)[0]; + d[p] = m; + } else d.techn = u; + if (h != null) + if (typeof h == 'object') { + let [p, m] = Object.entries(h)[0]; + d[p] = m; + } else d.legendText = h; + if (f != null) + if (typeof f == 'object') { + let [p, m] = Object.entries(f)[0]; + d[p] = m; + } else d.legendSprite = f; + } + }, 'updateElStyle')), + (e4e = o(function (t, e, r, n, i, a, s) { + let l = uy.find((u) => u.from === e && u.to === r); + if (l !== void 0) { + if (n != null) + if (typeof n == 'object') { + let [u, h] = Object.entries(n)[0]; + l[u] = h; + } else l.textColor = n; + if (i != null) + if (typeof i == 'object') { + let [u, h] = Object.entries(i)[0]; + l[u] = h; + } else l.lineColor = i; + if (a != null) + if (typeof a == 'object') { + let [u, h] = Object.entries(a)[0]; + l[u] = parseInt(h); + } else l.offsetX = parseInt(a); + if (s != null) + if (typeof s == 'object') { + let [u, h] = Object.entries(s)[0]; + l[u] = parseInt(h); + } else l.offsetY = parseInt(s); + } + }, 'updateRelStyle')), + (t4e = o(function (t, e, r) { + let n = L4, + i = D4; + if (typeof e == 'object') { + let a = Object.values(e)[0]; + n = parseInt(a); + } else n = parseInt(e); + if (typeof r == 'object') { + let a = Object.values(r)[0]; + i = parseInt(a); + } else i = parseInt(r); + n >= 1 && (L4 = n), i >= 1 && (D4 = i); + }, 'updateLayoutConfig')), + (r4e = o(function () { + return L4; + }, 'getC4ShapeInRow')), + (n4e = o(function () { + return D4; + }, 'getC4BoundaryInRow')), + (i4e = o(function () { + return ja; + }, 'getCurrentBoundaryParse')), + (a4e = o(function () { + return cl; + }, 'getParentBoundaryParse')), + (M$ = o(function (t) { + return t == null ? ul : ul.filter((e) => e.parentBoundary === t); + }, 'getC4ShapeArray')), + (s4e = o(function (t) { + return ul.find((e) => e.alias === t); + }, 'getC4Shape')), + (o4e = o(function (t) { + return Object.keys(M$(t)); + }, 'getC4ShapeKeys')), + (I$ = o(function (t) { + return t == null ? nc : nc.filter((e) => e.parentBoundary === t); + }, 'getBoundaries')), + (l4e = I$), + (c4e = o(function () { + return uy; + }, 'getRels')), + (u4e = o(function () { + return sS; + }, 'getTitle')), + (h4e = o(function (t) { + oS = t; + }, 'setWrap')), + (xh = o(function () { + return oS; + }, 'autoWrap')), + (f4e = o(function () { + (ul = []), + (nc = [ + { + alias: 'global', + label: { text: 'global' }, + type: { text: 'global' }, + tags: null, + link: null, + parentBoundary: '' + } + ]), + (cl = ''), + (ja = 'global'), + (vh = ['']), + (uy = []), + (vh = ['']), + (sS = ''), + (oS = !1), + (L4 = 4), + (D4 = 2); + }, 'clear')), + (d4e = { + SOLID: 0, + DOTTED: 1, + NOTE: 2, + SOLID_CROSS: 3, + DOTTED_CROSS: 4, + SOLID_OPEN: 5, + DOTTED_OPEN: 6, + LOOP_START: 10, + LOOP_END: 11, + ALT_START: 12, + ALT_ELSE: 13, + ALT_END: 14, + OPT_START: 15, + OPT_END: 16, + ACTIVE_START: 17, + ACTIVE_END: 18, + PAR_START: 19, + PAR_AND: 20, + PAR_END: 21, + RECT_START: 22, + RECT_END: 23, + SOLID_POINT: 24, + DOTTED_POINT: 25 + }), + (p4e = { FILLED: 0, OPEN: 1 }), + (m4e = { LEFTOF: 0, RIGHTOF: 1, OVER: 2 }), + (g4e = o(function (t) { + sS = qr(t, de()); + }, 'setTitle')), + (hy = { + addPersonOrSystem: Wbe, + addPersonOrSystemBoundary: jbe, + addContainer: qbe, + addContainerBoundary: Kbe, + addComponent: Xbe, + addDeploymentNode: Qbe, + popBoundaryParseStack: Zbe, + addRel: Ybe, + updateElStyle: Jbe, + updateRelStyle: e4e, + updateLayoutConfig: t4e, + autoWrap: xh, + setWrap: h4e, + getC4ShapeArray: M$, + getC4Shape: s4e, + getC4ShapeKeys: o4e, + getBoundaries: I$, + getBoundarys: l4e, + getCurrentBoundaryParse: i4e, + getParentBoundaryParse: a4e, + getRels: c4e, + getTitle: u4e, + getC4Type: Ube, + getC4ShapeInRow: r4e, + getC4BoundaryInRow: n4e, + setAccTitle: kr, + getAccTitle: Ar, + getAccDescription: Lr, + setAccDescription: _r, + getConfig: o(() => de().c4, 'getConfig'), + clear: f4e, + LINETYPE: d4e, + ARROWTYPE: p4e, + PLACEMENT: m4e, + setTitle: g4e, + setC4Type: Hbe + }); + }); + function ed(t, e) { + return t == null || e == null ? NaN : t < e ? -1 : t > e ? 1 : t >= e ? 0 : NaN; + } + var cS = R(() => { + 'use strict'; + o(ed, 'ascending'); + }); + function uS(t, e) { + return t == null || e == null ? NaN : e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN; + } + var O$ = R(() => { + 'use strict'; + o(uS, 'descending'); + }); + function td(t) { + let e, r, n; + t.length !== 2 + ? ((e = ed), (r = o((l, u) => ed(t(l), u), 'compare2')), (n = o((l, u) => t(l) - u, 'delta'))) + : ((e = t === ed || t === uS ? t : y4e), (r = t), (n = t)); + function i(l, u, h = 0, f = l.length) { + if (h < f) { + if (e(u, u) !== 0) return f; + do { + let d = (h + f) >>> 1; + r(l[d], u) < 0 ? (h = d + 1) : (f = d); + } while (h < f); + } + return h; + } + o(i, 'left'); + function a(l, u, h = 0, f = l.length) { + if (h < f) { + if (e(u, u) !== 0) return f; + do { + let d = (h + f) >>> 1; + r(l[d], u) <= 0 ? (h = d + 1) : (f = d); + } while (h < f); + } + return h; + } + o(a, 'right'); + function s(l, u, h = 0, f = l.length) { + let d = i(l, u, h, f - 1); + return d > h && n(l[d - 1], u) > -n(l[d], u) ? d - 1 : d; + } + return o(s, 'center'), { left: i, center: s, right: a }; + } + function y4e() { + return 0; + } + var hS = R(() => { + 'use strict'; + cS(); + O$(); + o(td, 'bisector'); + o(y4e, 'zero'); + }); + function fS(t) { + return t === null ? NaN : +t; + } + var P$ = R(() => { + 'use strict'; + o(fS, 'number'); + }); + var B$, + F$, + v4e, + x4e, + dS, + z$ = R(() => { + 'use strict'; + cS(); + hS(); + P$(); + (B$ = td(ed)), (F$ = B$.right), (v4e = B$.left), (x4e = td(fS).center), (dS = F$); + }); + function G$({ _intern: t, _key: e }, r) { + let n = e(r); + return t.has(n) ? t.get(n) : r; + } + function b4e({ _intern: t, _key: e }, r) { + let n = e(r); + return t.has(n) ? t.get(n) : (t.set(n, r), r); + } + function w4e({ _intern: t, _key: e }, r) { + let n = e(r); + return t.has(n) && ((r = t.get(n)), t.delete(n)), r; + } + function T4e(t) { + return t !== null && typeof t == 'object' ? t.valueOf() : t; + } + var wp, + $$ = R(() => { + 'use strict'; + wp = class extends Map { + static { + o(this, 'InternMap'); + } + constructor(e, r = T4e) { + if ( + (super(), + Object.defineProperties(this, { + _intern: { value: new Map() }, + _key: { value: r } + }), + e != null) + ) + for (let [n, i] of e) this.set(n, i); + } + get(e) { + return super.get(G$(this, e)); + } + has(e) { + return super.has(G$(this, e)); + } + set(e, r) { + return super.set(b4e(this, e), r); + } + delete(e) { + return super.delete(w4e(this, e)); + } + }; + o(G$, 'intern_get'); + o(b4e, 'intern_set'); + o(w4e, 'intern_delete'); + o(T4e, 'keyof'); + }); + function R4(t, e, r) { + let n = (e - t) / Math.max(0, r), + i = Math.floor(Math.log10(n)), + a = n / Math.pow(10, i), + s = a >= k4e ? 10 : a >= E4e ? 5 : a >= C4e ? 2 : 1, + l, + u, + h; + return ( + i < 0 + ? ((h = Math.pow(10, -i) / s), + (l = Math.round(t * h)), + (u = Math.round(e * h)), + l / h < t && ++l, + u / h > e && --u, + (h = -h)) + : ((h = Math.pow(10, i) * s), + (l = Math.round(t / h)), + (u = Math.round(e / h)), + l * h < t && ++l, + u * h > e && --u), + u < l && 0.5 <= r && r < 2 ? R4(t, e, r * 2) : [l, u, h] + ); + } + function N4(t, e, r) { + if (((e = +e), (t = +t), (r = +r), !(r > 0))) return []; + if (t === e) return [t]; + let n = e < t, + [i, a, s] = n ? R4(e, t, r) : R4(t, e, r); + if (!(a >= i)) return []; + let l = a - i + 1, + u = new Array(l); + if (n) + if (s < 0) for (let h = 0; h < l; ++h) u[h] = (a - h) / -s; + else for (let h = 0; h < l; ++h) u[h] = (a - h) * s; + else if (s < 0) for (let h = 0; h < l; ++h) u[h] = (i + h) / -s; + else for (let h = 0; h < l; ++h) u[h] = (i + h) * s; + return u; + } + function fy(t, e, r) { + return (e = +e), (t = +t), (r = +r), R4(t, e, r)[2]; + } + function Tp(t, e, r) { + (e = +e), (t = +t), (r = +r); + let n = e < t, + i = n ? fy(e, t, r) : fy(t, e, r); + return (n ? -1 : 1) * (i < 0 ? 1 / -i : i); + } + var k4e, + E4e, + C4e, + V$ = R(() => { + 'use strict'; + (k4e = Math.sqrt(50)), (E4e = Math.sqrt(10)), (C4e = Math.sqrt(2)); + o(R4, 'tickSpec'); + o(N4, 'ticks'); + o(fy, 'tickIncrement'); + o(Tp, 'tickStep'); + }); + function M4(t, e) { + let r; + if (e === void 0) for (let n of t) n != null && (r < n || (r === void 0 && n >= n)) && (r = n); + else { + let n = -1; + for (let i of t) (i = e(i, ++n, t)) != null && (r < i || (r === void 0 && i >= i)) && (r = i); + } + return r; + } + var U$ = R(() => { + 'use strict'; + o(M4, 'max'); + }); + function I4(t, e) { + let r; + if (e === void 0) for (let n of t) n != null && (r > n || (r === void 0 && n >= n)) && (r = n); + else { + let n = -1; + for (let i of t) (i = e(i, ++n, t)) != null && (r > i || (r === void 0 && i >= i)) && (r = i); + } + return r; + } + var H$ = R(() => { + 'use strict'; + o(I4, 'min'); + }); + function O4(t, e, r) { + (t = +t), (e = +e), (r = (i = arguments.length) < 2 ? ((e = t), (t = 0), 1) : i < 3 ? 1 : +r); + for (var n = -1, i = Math.max(0, Math.ceil((e - t) / r)) | 0, a = new Array(i); ++n < i; ) a[n] = t + n * r; + return a; + } + var Y$ = R(() => { + 'use strict'; + o(O4, 'range'); + }); + var bh = R(() => { + 'use strict'; + z$(); + hS(); + U$(); + H$(); + Y$(); + V$(); + $$(); + }); + function pS(t) { + return t; + } + var W$ = R(() => { + 'use strict'; + o(pS, 'default'); + }); + function S4e(t) { + return 'translate(' + t + ',0)'; + } + function A4e(t) { + return 'translate(0,' + t + ')'; + } + function _4e(t) { + return (e) => +t(e); + } + function L4e(t, e) { + return (e = Math.max(0, t.bandwidth() - e * 2) / 2), t.round() && (e = Math.round(e)), (r) => +t(r) + e; + } + function D4e() { + return !this.__axis; + } + function X$(t, e) { + var r = [], + n = null, + i = null, + a = 6, + s = 6, + l = 3, + u = typeof window < 'u' && window.devicePixelRatio > 1 ? 0 : 0.5, + h = t === B4 || t === P4 ? -1 : 1, + f = t === P4 || t === mS ? 'x' : 'y', + d = t === B4 || t === gS ? S4e : A4e; + function p(m) { + var g = n ?? (e.ticks ? e.ticks.apply(e, r) : e.domain()), + y = i ?? (e.tickFormat ? e.tickFormat.apply(e, r) : pS), + v = Math.max(a, 0) + l, + x = e.range(), + b = +x[0] + u, + w = +x[x.length - 1] + u, + S = (e.bandwidth ? L4e : _4e)(e.copy(), u), + T = m.selection ? m.selection() : m, + E = T.selectAll('.domain').data([null]), + _ = T.selectAll('.tick').data(g, e).order(), + A = _.exit(), + L = _.enter().append('g').attr('class', 'tick'), + M = _.select('line'), + N = _.select('text'); + (E = E.merge(E.enter().insert('path', '.tick').attr('class', 'domain').attr('stroke', 'currentColor'))), + (_ = _.merge(L)), + (M = M.merge( + L.append('line') + .attr('stroke', 'currentColor') + .attr(f + '2', h * a) + )), + (N = N.merge( + L.append('text') + .attr('fill', 'currentColor') + .attr(f, h * v) + .attr('dy', t === B4 ? '0em' : t === gS ? '0.71em' : '0.32em') + )), + m !== T && + ((E = E.transition(m)), + (_ = _.transition(m)), + (M = M.transition(m)), + (N = N.transition(m)), + (A = A.transition(m) + .attr('opacity', q$) + .attr('transform', function (k) { + return isFinite((k = S(k))) ? d(k + u) : this.getAttribute('transform'); + })), + L.attr('opacity', q$).attr('transform', function (k) { + var I = this.parentNode.__axis; + return d((I && isFinite((I = I(k))) ? I : S(k)) + u); + })), + A.remove(), + E.attr( + 'd', + t === P4 || t === mS + ? s + ? 'M' + h * s + ',' + b + 'H' + u + 'V' + w + 'H' + h * s + : 'M' + u + ',' + b + 'V' + w + : s + ? 'M' + b + ',' + h * s + 'V' + u + 'H' + w + 'V' + h * s + : 'M' + b + ',' + u + 'H' + w + ), + _.attr('opacity', 1).attr('transform', function (k) { + return d(S(k) + u); + }), + M.attr(f + '2', h * a), + N.attr(f, h * v).text(y), + T.filter(D4e) + .attr('fill', 'none') + .attr('font-size', 10) + .attr('font-family', 'sans-serif') + .attr('text-anchor', t === mS ? 'start' : t === P4 ? 'end' : 'middle'), + T.each(function () { + this.__axis = S; + }); + } + return ( + o(p, 'axis'), + (p.scale = function (m) { + return arguments.length ? ((e = m), p) : e; + }), + (p.ticks = function () { + return (r = Array.from(arguments)), p; + }), + (p.tickArguments = function (m) { + return arguments.length ? ((r = m == null ? [] : Array.from(m)), p) : r.slice(); + }), + (p.tickValues = function (m) { + return arguments.length ? ((n = m == null ? null : Array.from(m)), p) : n && n.slice(); + }), + (p.tickFormat = function (m) { + return arguments.length ? ((i = m), p) : i; + }), + (p.tickSize = function (m) { + return arguments.length ? ((a = s = +m), p) : a; + }), + (p.tickSizeInner = function (m) { + return arguments.length ? ((a = +m), p) : a; + }), + (p.tickSizeOuter = function (m) { + return arguments.length ? ((s = +m), p) : s; + }), + (p.tickPadding = function (m) { + return arguments.length ? ((l = +m), p) : l; + }), + (p.offset = function (m) { + return arguments.length ? ((u = +m), p) : u; + }), + p + ); + } + function yS(t) { + return X$(B4, t); + } + function vS(t) { + return X$(gS, t); + } + var B4, + mS, + gS, + P4, + q$, + j$ = R(() => { + 'use strict'; + W$(); + (B4 = 1), (mS = 2), (gS = 3), (P4 = 4), (q$ = 1e-6); + o(S4e, 'translateX'); + o(A4e, 'translateY'); + o(_4e, 'number'); + o(L4e, 'center'); + o(D4e, 'entering'); + o(X$, 'axis'); + o(yS, 'axisTop'); + o(vS, 'axisBottom'); + }); + var K$ = R(() => { + 'use strict'; + j$(); + }); + function Z$() { + for (var t = 0, e = arguments.length, r = {}, n; t < e; ++t) { + if (!(n = arguments[t] + '') || n in r || /[\s.]/.test(n)) throw new Error('illegal type: ' + n); + r[n] = []; + } + return new F4(r); + } + function F4(t) { + this._ = t; + } + function N4e(t, e) { + return t + .trim() + .split(/^|\s+/) + .map(function (r) { + var n = '', + i = r.indexOf('.'); + if ((i >= 0 && ((n = r.slice(i + 1)), (r = r.slice(0, i))), r && !e.hasOwnProperty(r))) + throw new Error('unknown type: ' + r); + return { type: r, name: n }; + }); + } + function M4e(t, e) { + for (var r = 0, n = t.length, i; r < n; ++r) if ((i = t[r]).name === e) return i.value; + } + function Q$(t, e, r) { + for (var n = 0, i = t.length; n < i; ++n) + if (t[n].name === e) { + (t[n] = R4e), (t = t.slice(0, n).concat(t.slice(n + 1))); + break; + } + return r != null && t.push({ name: e, value: r }), t; + } + var R4e, + xS, + J$ = R(() => { + 'use strict'; + R4e = { value: o(() => {}, 'value') }; + o(Z$, 'dispatch'); + o(F4, 'Dispatch'); + o(N4e, 'parseTypenames'); + F4.prototype = Z$.prototype = { + constructor: F4, + on: o(function (t, e) { + var r = this._, + n = N4e(t + '', r), + i, + a = -1, + s = n.length; + if (arguments.length < 2) { + for (; ++a < s; ) if ((i = (t = n[a]).type) && (i = M4e(r[i], t.name))) return i; + return; + } + if (e != null && typeof e != 'function') throw new Error('invalid callback: ' + e); + for (; ++a < s; ) + if ((i = (t = n[a]).type)) r[i] = Q$(r[i], t.name, e); + else if (e == null) for (i in r) r[i] = Q$(r[i], t.name, null); + return this; + }, 'on'), + copy: o(function () { + var t = {}, + e = this._; + for (var r in e) t[r] = e[r].slice(); + return new F4(t); + }, 'copy'), + call: o(function (t, e) { + if ((i = arguments.length - 2) > 0) + for (var r = new Array(i), n = 0, i, a; n < i; ++n) r[n] = arguments[n + 2]; + if (!this._.hasOwnProperty(t)) throw new Error('unknown type: ' + t); + for (a = this._[t], n = 0, i = a.length; n < i; ++n) a[n].value.apply(e, r); + }, 'call'), + apply: o(function (t, e, r) { + if (!this._.hasOwnProperty(t)) throw new Error('unknown type: ' + t); + for (var n = this._[t], i = 0, a = n.length; i < a; ++i) n[i].value.apply(e, r); + }, 'apply') + }; + o(M4e, 'get'); + o(Q$, 'set'); + xS = Z$; + }); + var bS = R(() => { + 'use strict'; + J$(); + }); + var z4, + wS, + TS = R(() => { + 'use strict'; + (z4 = 'http://www.w3.org/1999/xhtml'), + (wS = { + svg: 'http://www.w3.org/2000/svg', + xhtml: z4, + xlink: 'http://www.w3.org/1999/xlink', + xml: 'http://www.w3.org/XML/1998/namespace', + xmlns: 'http://www.w3.org/2000/xmlns/' + }); + }); + function ic(t) { + var e = (t += ''), + r = e.indexOf(':'); + return ( + r >= 0 && (e = t.slice(0, r)) !== 'xmlns' && (t = t.slice(r + 1)), + wS.hasOwnProperty(e) ? { space: wS[e], local: t } : t + ); + } + var G4 = R(() => { + 'use strict'; + TS(); + o(ic, 'default'); + }); + function I4e(t) { + return function () { + var e = this.ownerDocument, + r = this.namespaceURI; + return r === z4 && e.documentElement.namespaceURI === z4 ? e.createElement(t) : e.createElementNS(r, t); + }; + } + function O4e(t) { + return function () { + return this.ownerDocument.createElementNS(t.space, t.local); + }; + } + function dy(t) { + var e = ic(t); + return (e.local ? O4e : I4e)(e); + } + var kS = R(() => { + 'use strict'; + G4(); + TS(); + o(I4e, 'creatorInherit'); + o(O4e, 'creatorFixed'); + o(dy, 'default'); + }); + function P4e() {} + function wh(t) { + return t == null + ? P4e + : function () { + return this.querySelector(t); + }; + } + var $4 = R(() => { + 'use strict'; + o(P4e, 'none'); + o(wh, 'default'); + }); + function ES(t) { + typeof t != 'function' && (t = wh(t)); + for (var e = this._groups, r = e.length, n = new Array(r), i = 0; i < r; ++i) + for (var a = e[i], s = a.length, l = (n[i] = new Array(s)), u, h, f = 0; f < s; ++f) + (u = a[f]) && + (h = t.call(u, u.__data__, f, a)) && + ('__data__' in u && (h.__data__ = u.__data__), (l[f] = h)); + return new Zn(n, this._parents); + } + var eV = R(() => { + 'use strict'; + hl(); + $4(); + o(ES, 'default'); + }); + function CS(t) { + return t == null ? [] : Array.isArray(t) ? t : Array.from(t); + } + var tV = R(() => { + 'use strict'; + o(CS, 'array'); + }); + function B4e() { + return []; + } + function kp(t) { + return t == null + ? B4e + : function () { + return this.querySelectorAll(t); + }; + } + var SS = R(() => { + 'use strict'; + o(B4e, 'empty'); + o(kp, 'default'); + }); + function F4e(t) { + return function () { + return CS(t.apply(this, arguments)); + }; + } + function AS(t) { + typeof t == 'function' ? (t = F4e(t)) : (t = kp(t)); + for (var e = this._groups, r = e.length, n = [], i = [], a = 0; a < r; ++a) + for (var s = e[a], l = s.length, u, h = 0; h < l; ++h) + (u = s[h]) && (n.push(t.call(u, u.__data__, h, s)), i.push(u)); + return new Zn(n, i); + } + var rV = R(() => { + 'use strict'; + hl(); + tV(); + SS(); + o(F4e, 'arrayAll'); + o(AS, 'default'); + }); + function Ep(t) { + return function () { + return this.matches(t); + }; + } + function V4(t) { + return function (e) { + return e.matches(t); + }; + } + var py = R(() => { + 'use strict'; + o(Ep, 'default'); + o(V4, 'childMatcher'); + }); + function G4e(t) { + return function () { + return z4e.call(this.children, t); + }; + } + function $4e() { + return this.firstElementChild; + } + function _S(t) { + return this.select(t == null ? $4e : G4e(typeof t == 'function' ? t : V4(t))); + } + var z4e, + nV = R(() => { + 'use strict'; + py(); + z4e = Array.prototype.find; + o(G4e, 'childFind'); + o($4e, 'childFirst'); + o(_S, 'default'); + }); + function U4e() { + return Array.from(this.children); + } + function H4e(t) { + return function () { + return V4e.call(this.children, t); + }; + } + function LS(t) { + return this.selectAll(t == null ? U4e : H4e(typeof t == 'function' ? t : V4(t))); + } + var V4e, + iV = R(() => { + 'use strict'; + py(); + V4e = Array.prototype.filter; + o(U4e, 'children'); + o(H4e, 'childrenFilter'); + o(LS, 'default'); + }); + function DS(t) { + typeof t != 'function' && (t = Ep(t)); + for (var e = this._groups, r = e.length, n = new Array(r), i = 0; i < r; ++i) + for (var a = e[i], s = a.length, l = (n[i] = []), u, h = 0; h < s; ++h) + (u = a[h]) && t.call(u, u.__data__, h, a) && l.push(u); + return new Zn(n, this._parents); + } + var aV = R(() => { + 'use strict'; + hl(); + py(); + o(DS, 'default'); + }); + function my(t) { + return new Array(t.length); + } + var RS = R(() => { + 'use strict'; + o(my, 'default'); + }); + function NS() { + return new Zn(this._enter || this._groups.map(my), this._parents); + } + function gy(t, e) { + (this.ownerDocument = t.ownerDocument), + (this.namespaceURI = t.namespaceURI), + (this._next = null), + (this._parent = t), + (this.__data__ = e); + } + var MS = R(() => { + 'use strict'; + RS(); + hl(); + o(NS, 'default'); + o(gy, 'EnterNode'); + gy.prototype = { + constructor: gy, + appendChild: o(function (t) { + return this._parent.insertBefore(t, this._next); + }, 'appendChild'), + insertBefore: o(function (t, e) { + return this._parent.insertBefore(t, e); + }, 'insertBefore'), + querySelector: o(function (t) { + return this._parent.querySelector(t); + }, 'querySelector'), + querySelectorAll: o(function (t) { + return this._parent.querySelectorAll(t); + }, 'querySelectorAll') + }; + }); + function IS(t) { + return function () { + return t; + }; + } + var sV = R(() => { + 'use strict'; + o(IS, 'default'); + }); + function Y4e(t, e, r, n, i, a) { + for (var s = 0, l, u = e.length, h = a.length; s < h; ++s) + (l = e[s]) ? ((l.__data__ = a[s]), (n[s] = l)) : (r[s] = new gy(t, a[s])); + for (; s < u; ++s) (l = e[s]) && (i[s] = l); + } + function W4e(t, e, r, n, i, a, s) { + var l, + u, + h = new Map(), + f = e.length, + d = a.length, + p = new Array(f), + m; + for (l = 0; l < f; ++l) + (u = e[l]) && ((p[l] = m = s.call(u, u.__data__, l, e) + ''), h.has(m) ? (i[l] = u) : h.set(m, u)); + for (l = 0; l < d; ++l) + (m = s.call(t, a[l], l, a) + ''), + (u = h.get(m)) ? ((n[l] = u), (u.__data__ = a[l]), h.delete(m)) : (r[l] = new gy(t, a[l])); + for (l = 0; l < f; ++l) (u = e[l]) && h.get(p[l]) === u && (i[l] = u); + } + function q4e(t) { + return t.__data__; + } + function OS(t, e) { + if (!arguments.length) return Array.from(this, q4e); + var r = e ? W4e : Y4e, + n = this._parents, + i = this._groups; + typeof t != 'function' && (t = IS(t)); + for (var a = i.length, s = new Array(a), l = new Array(a), u = new Array(a), h = 0; h < a; ++h) { + var f = n[h], + d = i[h], + p = d.length, + m = X4e(t.call(f, f && f.__data__, h, n)), + g = m.length, + y = (l[h] = new Array(g)), + v = (s[h] = new Array(g)), + x = (u[h] = new Array(p)); + r(f, d, y, v, x, m, e); + for (var b = 0, w = 0, S, T; b < g; ++b) + if ((S = y[b])) { + for (b >= w && (w = b + 1); !(T = v[w]) && ++w < g; ); + S._next = T || null; + } + } + return (s = new Zn(s, n)), (s._enter = l), (s._exit = u), s; + } + function X4e(t) { + return typeof t == 'object' && 'length' in t ? t : Array.from(t); + } + var oV = R(() => { + 'use strict'; + hl(); + MS(); + sV(); + o(Y4e, 'bindIndex'); + o(W4e, 'bindKey'); + o(q4e, 'datum'); + o(OS, 'default'); + o(X4e, 'arraylike'); + }); + function PS() { + return new Zn(this._exit || this._groups.map(my), this._parents); + } + var lV = R(() => { + 'use strict'; + RS(); + hl(); + o(PS, 'default'); + }); + function BS(t, e, r) { + var n = this.enter(), + i = this, + a = this.exit(); + return ( + typeof t == 'function' ? ((n = t(n)), n && (n = n.selection())) : (n = n.append(t + '')), + e != null && ((i = e(i)), i && (i = i.selection())), + r == null ? a.remove() : r(a), + n && i ? n.merge(i).order() : i + ); + } + var cV = R(() => { + 'use strict'; + o(BS, 'default'); + }); + function FS(t) { + for ( + var e = t.selection ? t.selection() : t, + r = this._groups, + n = e._groups, + i = r.length, + a = n.length, + s = Math.min(i, a), + l = new Array(i), + u = 0; + u < s; + ++u + ) + for (var h = r[u], f = n[u], d = h.length, p = (l[u] = new Array(d)), m, g = 0; g < d; ++g) + (m = h[g] || f[g]) && (p[g] = m); + for (; u < i; ++u) l[u] = r[u]; + return new Zn(l, this._parents); + } + var uV = R(() => { + 'use strict'; + hl(); + o(FS, 'default'); + }); + function zS() { + for (var t = this._groups, e = -1, r = t.length; ++e < r; ) + for (var n = t[e], i = n.length - 1, a = n[i], s; --i >= 0; ) + (s = n[i]) && (a && s.compareDocumentPosition(a) ^ 4 && a.parentNode.insertBefore(s, a), (a = s)); + return this; + } + var hV = R(() => { + 'use strict'; + o(zS, 'default'); + }); + function GS(t) { + t || (t = j4e); + function e(d, p) { + return d && p ? t(d.__data__, p.__data__) : !d - !p; + } + o(e, 'compareNode'); + for (var r = this._groups, n = r.length, i = new Array(n), a = 0; a < n; ++a) { + for (var s = r[a], l = s.length, u = (i[a] = new Array(l)), h, f = 0; f < l; ++f) (h = s[f]) && (u[f] = h); + u.sort(e); + } + return new Zn(i, this._parents).order(); + } + function j4e(t, e) { + return t < e ? -1 : t > e ? 1 : t >= e ? 0 : NaN; + } + var fV = R(() => { + 'use strict'; + hl(); + o(GS, 'default'); + o(j4e, 'ascending'); + }); + function $S() { + var t = arguments[0]; + return (arguments[0] = this), t.apply(null, arguments), this; + } + var dV = R(() => { + 'use strict'; + o($S, 'default'); + }); + function VS() { + return Array.from(this); + } + var pV = R(() => { + 'use strict'; + o(VS, 'default'); + }); + function US() { + for (var t = this._groups, e = 0, r = t.length; e < r; ++e) + for (var n = t[e], i = 0, a = n.length; i < a; ++i) { + var s = n[i]; + if (s) return s; + } + return null; + } + var mV = R(() => { + 'use strict'; + o(US, 'default'); + }); + function HS() { + let t = 0; + for (let e of this) ++t; + return t; + } + var gV = R(() => { + 'use strict'; + o(HS, 'default'); + }); + function YS() { + return !this.node(); + } + var yV = R(() => { + 'use strict'; + o(YS, 'default'); + }); + function WS(t) { + for (var e = this._groups, r = 0, n = e.length; r < n; ++r) + for (var i = e[r], a = 0, s = i.length, l; a < s; ++a) (l = i[a]) && t.call(l, l.__data__, a, i); + return this; + } + var vV = R(() => { + 'use strict'; + o(WS, 'default'); + }); + function K4e(t) { + return function () { + this.removeAttribute(t); + }; + } + function Q4e(t) { + return function () { + this.removeAttributeNS(t.space, t.local); + }; + } + function Z4e(t, e) { + return function () { + this.setAttribute(t, e); + }; + } + function J4e(t, e) { + return function () { + this.setAttributeNS(t.space, t.local, e); + }; + } + function e3e(t, e) { + return function () { + var r = e.apply(this, arguments); + r == null ? this.removeAttribute(t) : this.setAttribute(t, r); + }; + } + function t3e(t, e) { + return function () { + var r = e.apply(this, arguments); + r == null ? this.removeAttributeNS(t.space, t.local) : this.setAttributeNS(t.space, t.local, r); + }; + } + function qS(t, e) { + var r = ic(t); + if (arguments.length < 2) { + var n = this.node(); + return r.local ? n.getAttributeNS(r.space, r.local) : n.getAttribute(r); + } + return this.each( + (e == null ? (r.local ? Q4e : K4e) : typeof e == 'function' ? (r.local ? t3e : e3e) : r.local ? J4e : Z4e)( + r, + e + ) + ); + } + var xV = R(() => { + 'use strict'; + G4(); + o(K4e, 'attrRemove'); + o(Q4e, 'attrRemoveNS'); + o(Z4e, 'attrConstant'); + o(J4e, 'attrConstantNS'); + o(e3e, 'attrFunction'); + o(t3e, 'attrFunctionNS'); + o(qS, 'default'); + }); + function yy(t) { + return (t.ownerDocument && t.ownerDocument.defaultView) || (t.document && t) || t.defaultView; + } + var XS = R(() => { + 'use strict'; + o(yy, 'default'); + }); + function r3e(t) { + return function () { + this.style.removeProperty(t); + }; + } + function n3e(t, e, r) { + return function () { + this.style.setProperty(t, e, r); + }; + } + function i3e(t, e, r) { + return function () { + var n = e.apply(this, arguments); + n == null ? this.style.removeProperty(t) : this.style.setProperty(t, n, r); + }; + } + function jS(t, e, r) { + return arguments.length > 1 + ? this.each((e == null ? r3e : typeof e == 'function' ? i3e : n3e)(t, e, r ?? '')) + : Th(this.node(), t); + } + function Th(t, e) { + return t.style.getPropertyValue(e) || yy(t).getComputedStyle(t, null).getPropertyValue(e); + } + var KS = R(() => { + 'use strict'; + XS(); + o(r3e, 'styleRemove'); + o(n3e, 'styleConstant'); + o(i3e, 'styleFunction'); + o(jS, 'default'); + o(Th, 'styleValue'); + }); + function a3e(t) { + return function () { + delete this[t]; + }; + } + function s3e(t, e) { + return function () { + this[t] = e; + }; + } + function o3e(t, e) { + return function () { + var r = e.apply(this, arguments); + r == null ? delete this[t] : (this[t] = r); + }; + } + function QS(t, e) { + return arguments.length > 1 + ? this.each((e == null ? a3e : typeof e == 'function' ? o3e : s3e)(t, e)) + : this.node()[t]; + } + var bV = R(() => { + 'use strict'; + o(a3e, 'propertyRemove'); + o(s3e, 'propertyConstant'); + o(o3e, 'propertyFunction'); + o(QS, 'default'); + }); + function wV(t) { + return t.trim().split(/^|\s+/); + } + function ZS(t) { + return t.classList || new TV(t); + } + function TV(t) { + (this._node = t), (this._names = wV(t.getAttribute('class') || '')); + } + function kV(t, e) { + for (var r = ZS(t), n = -1, i = e.length; ++n < i; ) r.add(e[n]); + } + function EV(t, e) { + for (var r = ZS(t), n = -1, i = e.length; ++n < i; ) r.remove(e[n]); + } + function l3e(t) { + return function () { + kV(this, t); + }; + } + function c3e(t) { + return function () { + EV(this, t); + }; + } + function u3e(t, e) { + return function () { + (e.apply(this, arguments) ? kV : EV)(this, t); + }; + } + function JS(t, e) { + var r = wV(t + ''); + if (arguments.length < 2) { + for (var n = ZS(this.node()), i = -1, a = r.length; ++i < a; ) if (!n.contains(r[i])) return !1; + return !0; + } + return this.each((typeof e == 'function' ? u3e : e ? l3e : c3e)(r, e)); + } + var CV = R(() => { + 'use strict'; + o(wV, 'classArray'); + o(ZS, 'classList'); + o(TV, 'ClassList'); + TV.prototype = { + add: o(function (t) { + var e = this._names.indexOf(t); + e < 0 && (this._names.push(t), this._node.setAttribute('class', this._names.join(' '))); + }, 'add'), + remove: o(function (t) { + var e = this._names.indexOf(t); + e >= 0 && (this._names.splice(e, 1), this._node.setAttribute('class', this._names.join(' '))); + }, 'remove'), + contains: o(function (t) { + return this._names.indexOf(t) >= 0; + }, 'contains') + }; + o(kV, 'classedAdd'); + o(EV, 'classedRemove'); + o(l3e, 'classedTrue'); + o(c3e, 'classedFalse'); + o(u3e, 'classedFunction'); + o(JS, 'default'); + }); + function h3e() { + this.textContent = ''; + } + function f3e(t) { + return function () { + this.textContent = t; + }; + } + function d3e(t) { + return function () { + var e = t.apply(this, arguments); + this.textContent = e ?? ''; + }; + } + function eA(t) { + return arguments.length + ? this.each(t == null ? h3e : (typeof t == 'function' ? d3e : f3e)(t)) + : this.node().textContent; + } + var SV = R(() => { + 'use strict'; + o(h3e, 'textRemove'); + o(f3e, 'textConstant'); + o(d3e, 'textFunction'); + o(eA, 'default'); + }); + function p3e() { + this.innerHTML = ''; + } + function m3e(t) { + return function () { + this.innerHTML = t; + }; + } + function g3e(t) { + return function () { + var e = t.apply(this, arguments); + this.innerHTML = e ?? ''; + }; + } + function tA(t) { + return arguments.length + ? this.each(t == null ? p3e : (typeof t == 'function' ? g3e : m3e)(t)) + : this.node().innerHTML; + } + var AV = R(() => { + 'use strict'; + o(p3e, 'htmlRemove'); + o(m3e, 'htmlConstant'); + o(g3e, 'htmlFunction'); + o(tA, 'default'); + }); + function y3e() { + this.nextSibling && this.parentNode.appendChild(this); + } + function rA() { + return this.each(y3e); + } + var _V = R(() => { + 'use strict'; + o(y3e, 'raise'); + o(rA, 'default'); + }); + function v3e() { + this.previousSibling && this.parentNode.insertBefore(this, this.parentNode.firstChild); + } + function nA() { + return this.each(v3e); + } + var LV = R(() => { + 'use strict'; + o(v3e, 'lower'); + o(nA, 'default'); + }); + function iA(t) { + var e = typeof t == 'function' ? t : dy(t); + return this.select(function () { + return this.appendChild(e.apply(this, arguments)); + }); + } + var DV = R(() => { + 'use strict'; + kS(); + o(iA, 'default'); + }); + function x3e() { + return null; + } + function aA(t, e) { + var r = typeof t == 'function' ? t : dy(t), + n = e == null ? x3e : typeof e == 'function' ? e : wh(e); + return this.select(function () { + return this.insertBefore(r.apply(this, arguments), n.apply(this, arguments) || null); + }); + } + var RV = R(() => { + 'use strict'; + kS(); + $4(); + o(x3e, 'constantNull'); + o(aA, 'default'); + }); + function b3e() { + var t = this.parentNode; + t && t.removeChild(this); + } + function sA() { + return this.each(b3e); + } + var NV = R(() => { + 'use strict'; + o(b3e, 'remove'); + o(sA, 'default'); + }); + function w3e() { + var t = this.cloneNode(!1), + e = this.parentNode; + return e ? e.insertBefore(t, this.nextSibling) : t; + } + function T3e() { + var t = this.cloneNode(!0), + e = this.parentNode; + return e ? e.insertBefore(t, this.nextSibling) : t; + } + function oA(t) { + return this.select(t ? T3e : w3e); + } + var MV = R(() => { + 'use strict'; + o(w3e, 'selection_cloneShallow'); + o(T3e, 'selection_cloneDeep'); + o(oA, 'default'); + }); + function lA(t) { + return arguments.length ? this.property('__data__', t) : this.node().__data__; + } + var IV = R(() => { + 'use strict'; + o(lA, 'default'); + }); + function k3e(t) { + return function (e) { + t.call(this, e, this.__data__); + }; + } + function E3e(t) { + return t + .trim() + .split(/^|\s+/) + .map(function (e) { + var r = '', + n = e.indexOf('.'); + return n >= 0 && ((r = e.slice(n + 1)), (e = e.slice(0, n))), { type: e, name: r }; + }); + } + function C3e(t) { + return function () { + var e = this.__on; + if (e) { + for (var r = 0, n = -1, i = e.length, a; r < i; ++r) + (a = e[r]), + (!t.type || a.type === t.type) && a.name === t.name + ? this.removeEventListener(a.type, a.listener, a.options) + : (e[++n] = a); + ++n ? (e.length = n) : delete this.__on; + } + }; + } + function S3e(t, e, r) { + return function () { + var n = this.__on, + i, + a = k3e(e); + if (n) { + for (var s = 0, l = n.length; s < l; ++s) + if ((i = n[s]).type === t.type && i.name === t.name) { + this.removeEventListener(i.type, i.listener, i.options), + this.addEventListener(i.type, (i.listener = a), (i.options = r)), + (i.value = e); + return; + } + } + this.addEventListener(t.type, a, r), + (i = { type: t.type, name: t.name, value: e, listener: a, options: r }), + n ? n.push(i) : (this.__on = [i]); + }; + } + function cA(t, e, r) { + var n = E3e(t + ''), + i, + a = n.length, + s; + if (arguments.length < 2) { + var l = this.node().__on; + if (l) { + for (var u = 0, h = l.length, f; u < h; ++u) + for (i = 0, f = l[u]; i < a; ++i) + if ((s = n[i]).type === f.type && s.name === f.name) return f.value; + } + return; + } + for (l = e ? S3e : C3e, i = 0; i < a; ++i) this.each(l(n[i], e, r)); + return this; + } + var OV = R(() => { + 'use strict'; + o(k3e, 'contextListener'); + o(E3e, 'parseTypenames'); + o(C3e, 'onRemove'); + o(S3e, 'onAdd'); + o(cA, 'default'); + }); + function PV(t, e, r) { + var n = yy(t), + i = n.CustomEvent; + typeof i == 'function' + ? (i = new i(e, r)) + : ((i = n.document.createEvent('Event')), + r ? (i.initEvent(e, r.bubbles, r.cancelable), (i.detail = r.detail)) : i.initEvent(e, !1, !1)), + t.dispatchEvent(i); + } + function A3e(t, e) { + return function () { + return PV(this, t, e); + }; + } + function _3e(t, e) { + return function () { + return PV(this, t, e.apply(this, arguments)); + }; + } + function uA(t, e) { + return this.each((typeof e == 'function' ? _3e : A3e)(t, e)); + } + var BV = R(() => { + 'use strict'; + XS(); + o(PV, 'dispatchEvent'); + o(A3e, 'dispatchConstant'); + o(_3e, 'dispatchFunction'); + o(uA, 'default'); + }); + function* hA() { + for (var t = this._groups, e = 0, r = t.length; e < r; ++e) + for (var n = t[e], i = 0, a = n.length, s; i < a; ++i) (s = n[i]) && (yield s); + } + var FV = R(() => { + 'use strict'; + o(hA, 'default'); + }); + function Zn(t, e) { + (this._groups = t), (this._parents = e); + } + function zV() { + return new Zn([[document.documentElement]], fA); + } + function L3e() { + return this; + } + var fA, + cu, + hl = R(() => { + 'use strict'; + eV(); + rV(); + nV(); + iV(); + aV(); + oV(); + MS(); + lV(); + cV(); + uV(); + hV(); + fV(); + dV(); + pV(); + mV(); + gV(); + yV(); + vV(); + xV(); + KS(); + bV(); + CV(); + SV(); + AV(); + _V(); + LV(); + DV(); + RV(); + NV(); + MV(); + IV(); + OV(); + BV(); + FV(); + fA = [null]; + o(Zn, 'Selection'); + o(zV, 'selection'); + o(L3e, 'selection_selection'); + Zn.prototype = zV.prototype = { + constructor: Zn, + select: ES, + selectAll: AS, + selectChild: _S, + selectChildren: LS, + filter: DS, + data: OS, + enter: NS, + exit: PS, + join: BS, + merge: FS, + selection: L3e, + order: zS, + sort: GS, + call: $S, + nodes: VS, + node: US, + size: HS, + empty: YS, + each: WS, + attr: qS, + style: jS, + property: QS, + classed: JS, + text: eA, + html: tA, + raise: rA, + lower: nA, + append: iA, + insert: aA, + remove: sA, + clone: oA, + datum: lA, + on: cA, + dispatch: uA, + [Symbol.iterator]: hA + }; + cu = zV; + }); + function $e(t) { + return typeof t == 'string' + ? new Zn([[document.querySelector(t)]], [document.documentElement]) + : new Zn([[t]], fA); + } + var GV = R(() => { + 'use strict'; + hl(); + o($e, 'default'); + }); + var fl = R(() => { + 'use strict'; + py(); + G4(); + GV(); + hl(); + $4(); + SS(); + KS(); + }); + var $V = R(() => { + 'use strict'; + }); + function kh(t, e, r) { + (t.prototype = e.prototype = r), (r.constructor = t); + } + function Cp(t, e) { + var r = Object.create(t.prototype); + for (var n in e) r[n] = e[n]; + return r; + } + var dA = R(() => { + 'use strict'; + o(kh, 'default'); + o(Cp, 'extend'); + }); + function Eh() {} + function UV() { + return this.rgb().formatHex(); + } + function B3e() { + return this.rgb().formatHex8(); + } + function F3e() { + return KV(this).formatHsl(); + } + function HV() { + return this.rgb().formatRgb(); + } + function pl(t) { + var e, r; + return ( + (t = (t + '').trim().toLowerCase()), + (e = D3e.exec(t)) + ? ((r = e[1].length), + (e = parseInt(e[1], 16)), + r === 6 + ? YV(e) + : r === 3 + ? new la( + ((e >> 8) & 15) | ((e >> 4) & 240), + ((e >> 4) & 15) | (e & 240), + ((e & 15) << 4) | (e & 15), + 1 + ) + : r === 8 + ? U4((e >> 24) & 255, (e >> 16) & 255, (e >> 8) & 255, (e & 255) / 255) + : r === 4 + ? U4( + ((e >> 12) & 15) | ((e >> 8) & 240), + ((e >> 8) & 15) | ((e >> 4) & 240), + ((e >> 4) & 15) | (e & 240), + (((e & 15) << 4) | (e & 15)) / 255 + ) + : null) + : (e = R3e.exec(t)) + ? new la(e[1], e[2], e[3], 1) + : (e = N3e.exec(t)) + ? new la((e[1] * 255) / 100, (e[2] * 255) / 100, (e[3] * 255) / 100, 1) + : (e = M3e.exec(t)) + ? U4(e[1], e[2], e[3], e[4]) + : (e = I3e.exec(t)) + ? U4((e[1] * 255) / 100, (e[2] * 255) / 100, (e[3] * 255) / 100, e[4]) + : (e = O3e.exec(t)) + ? XV(e[1], e[2] / 100, e[3] / 100, 1) + : (e = P3e.exec(t)) + ? XV(e[1], e[2] / 100, e[3] / 100, e[4]) + : VV.hasOwnProperty(t) + ? YV(VV[t]) + : t === 'transparent' + ? new la(NaN, NaN, NaN, 0) + : null + ); + } + function YV(t) { + return new la((t >> 16) & 255, (t >> 8) & 255, t & 255, 1); + } + function U4(t, e, r, n) { + return n <= 0 && (t = e = r = NaN), new la(t, e, r, n); + } + function mA(t) { + return t instanceof Eh || (t = pl(t)), t ? ((t = t.rgb()), new la(t.r, t.g, t.b, t.opacity)) : new la(); + } + function Ap(t, e, r, n) { + return arguments.length === 1 ? mA(t) : new la(t, e, r, n ?? 1); + } + function la(t, e, r, n) { + (this.r = +t), (this.g = +e), (this.b = +r), (this.opacity = +n); + } + function WV() { + return `#${rd(this.r)}${rd(this.g)}${rd(this.b)}`; + } + function z3e() { + return `#${rd(this.r)}${rd(this.g)}${rd(this.b)}${rd((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`; + } + function qV() { + let t = W4(this.opacity); + return `${t === 1 ? 'rgb(' : 'rgba('}${nd(this.r)}, ${nd(this.g)}, ${nd(this.b)}${t === 1 ? ')' : `, ${t})`}`; + } + function W4(t) { + return isNaN(t) ? 1 : Math.max(0, Math.min(1, t)); + } + function nd(t) { + return Math.max(0, Math.min(255, Math.round(t) || 0)); + } + function rd(t) { + return (t = nd(t)), (t < 16 ? '0' : '') + t.toString(16); + } + function XV(t, e, r, n) { + return n <= 0 ? (t = e = r = NaN) : r <= 0 || r >= 1 ? (t = e = NaN) : e <= 0 && (t = NaN), new dl(t, e, r, n); + } + function KV(t) { + if (t instanceof dl) return new dl(t.h, t.s, t.l, t.opacity); + if ((t instanceof Eh || (t = pl(t)), !t)) return new dl(); + if (t instanceof dl) return t; + t = t.rgb(); + var e = t.r / 255, + r = t.g / 255, + n = t.b / 255, + i = Math.min(e, r, n), + a = Math.max(e, r, n), + s = NaN, + l = a - i, + u = (a + i) / 2; + return ( + l + ? (e === a ? (s = (r - n) / l + (r < n) * 6) : r === a ? (s = (n - e) / l + 2) : (s = (e - r) / l + 4), + (l /= u < 0.5 ? a + i : 2 - a - i), + (s *= 60)) + : (l = u > 0 && u < 1 ? 0 : s), + new dl(s, l, u, t.opacity) + ); + } + function QV(t, e, r, n) { + return arguments.length === 1 ? KV(t) : new dl(t, e, r, n ?? 1); + } + function dl(t, e, r, n) { + (this.h = +t), (this.s = +e), (this.l = +r), (this.opacity = +n); + } + function jV(t) { + return (t = (t || 0) % 360), t < 0 ? t + 360 : t; + } + function H4(t) { + return Math.max(0, Math.min(1, t || 0)); + } + function pA(t, e, r) { + return (t < 60 ? e + ((r - e) * t) / 60 : t < 180 ? r : t < 240 ? e + ((r - e) * (240 - t)) / 60 : e) * 255; + } + var vy, + Y4, + Sp, + xy, + ac, + D3e, + R3e, + N3e, + M3e, + I3e, + O3e, + P3e, + VV, + gA = R(() => { + 'use strict'; + dA(); + o(Eh, 'Color'); + (vy = 0.7), + (Y4 = 1 / vy), + (Sp = '\\s*([+-]?\\d+)\\s*'), + (xy = '\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*'), + (ac = '\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*'), + (D3e = /^#([0-9a-f]{3,8})$/), + (R3e = new RegExp(`^rgb\\(${Sp},${Sp},${Sp}\\)$`)), + (N3e = new RegExp(`^rgb\\(${ac},${ac},${ac}\\)$`)), + (M3e = new RegExp(`^rgba\\(${Sp},${Sp},${Sp},${xy}\\)$`)), + (I3e = new RegExp(`^rgba\\(${ac},${ac},${ac},${xy}\\)$`)), + (O3e = new RegExp(`^hsl\\(${xy},${ac},${ac}\\)$`)), + (P3e = new RegExp(`^hsla\\(${xy},${ac},${ac},${xy}\\)$`)), + (VV = { + aliceblue: 15792383, + antiquewhite: 16444375, + aqua: 65535, + aquamarine: 8388564, + azure: 15794175, + beige: 16119260, + bisque: 16770244, + black: 0, + blanchedalmond: 16772045, + blue: 255, + blueviolet: 9055202, + brown: 10824234, + burlywood: 14596231, + cadetblue: 6266528, + chartreuse: 8388352, + chocolate: 13789470, + coral: 16744272, + cornflowerblue: 6591981, + cornsilk: 16775388, + crimson: 14423100, + cyan: 65535, + darkblue: 139, + darkcyan: 35723, + darkgoldenrod: 12092939, + darkgray: 11119017, + darkgreen: 25600, + darkgrey: 11119017, + darkkhaki: 12433259, + darkmagenta: 9109643, + darkolivegreen: 5597999, + darkorange: 16747520, + darkorchid: 10040012, + darkred: 9109504, + darksalmon: 15308410, + darkseagreen: 9419919, + darkslateblue: 4734347, + darkslategray: 3100495, + darkslategrey: 3100495, + darkturquoise: 52945, + darkviolet: 9699539, + deeppink: 16716947, + deepskyblue: 49151, + dimgray: 6908265, + dimgrey: 6908265, + dodgerblue: 2003199, + firebrick: 11674146, + floralwhite: 16775920, + forestgreen: 2263842, + fuchsia: 16711935, + gainsboro: 14474460, + ghostwhite: 16316671, + gold: 16766720, + goldenrod: 14329120, + gray: 8421504, + green: 32768, + greenyellow: 11403055, + grey: 8421504, + honeydew: 15794160, + hotpink: 16738740, + indianred: 13458524, + indigo: 4915330, + ivory: 16777200, + khaki: 15787660, + lavender: 15132410, + lavenderblush: 16773365, + lawngreen: 8190976, + lemonchiffon: 16775885, + lightblue: 11393254, + lightcoral: 15761536, + lightcyan: 14745599, + lightgoldenrodyellow: 16448210, + lightgray: 13882323, + lightgreen: 9498256, + lightgrey: 13882323, + lightpink: 16758465, + lightsalmon: 16752762, + lightseagreen: 2142890, + lightskyblue: 8900346, + lightslategray: 7833753, + lightslategrey: 7833753, + lightsteelblue: 11584734, + lightyellow: 16777184, + lime: 65280, + limegreen: 3329330, + linen: 16445670, + magenta: 16711935, + maroon: 8388608, + mediumaquamarine: 6737322, + mediumblue: 205, + mediumorchid: 12211667, + mediumpurple: 9662683, + mediumseagreen: 3978097, + mediumslateblue: 8087790, + mediumspringgreen: 64154, + mediumturquoise: 4772300, + mediumvioletred: 13047173, + midnightblue: 1644912, + mintcream: 16121850, + mistyrose: 16770273, + moccasin: 16770229, + navajowhite: 16768685, + navy: 128, + oldlace: 16643558, + olive: 8421376, + olivedrab: 7048739, + orange: 16753920, + orangered: 16729344, + orchid: 14315734, + palegoldenrod: 15657130, + palegreen: 10025880, + paleturquoise: 11529966, + palevioletred: 14381203, + papayawhip: 16773077, + peachpuff: 16767673, + peru: 13468991, + pink: 16761035, + plum: 14524637, + powderblue: 11591910, + purple: 8388736, + rebeccapurple: 6697881, + red: 16711680, + rosybrown: 12357519, + royalblue: 4286945, + saddlebrown: 9127187, + salmon: 16416882, + sandybrown: 16032864, + seagreen: 3050327, + seashell: 16774638, + sienna: 10506797, + silver: 12632256, + skyblue: 8900331, + slateblue: 6970061, + slategray: 7372944, + slategrey: 7372944, + snow: 16775930, + springgreen: 65407, + steelblue: 4620980, + tan: 13808780, + teal: 32896, + thistle: 14204888, + tomato: 16737095, + turquoise: 4251856, + violet: 15631086, + wheat: 16113331, + white: 16777215, + whitesmoke: 16119285, + yellow: 16776960, + yellowgreen: 10145074 + }); + kh(Eh, pl, { + copy(t) { + return Object.assign(new this.constructor(), this, t); + }, + displayable() { + return this.rgb().displayable(); + }, + hex: UV, + formatHex: UV, + formatHex8: B3e, + formatHsl: F3e, + formatRgb: HV, + toString: HV + }); + o(UV, 'color_formatHex'); + o(B3e, 'color_formatHex8'); + o(F3e, 'color_formatHsl'); + o(HV, 'color_formatRgb'); + o(pl, 'color'); + o(YV, 'rgbn'); + o(U4, 'rgba'); + o(mA, 'rgbConvert'); + o(Ap, 'rgb'); + o(la, 'Rgb'); + kh( + la, + Ap, + Cp(Eh, { + brighter(t) { + return ( + (t = t == null ? Y4 : Math.pow(Y4, t)), + new la(this.r * t, this.g * t, this.b * t, this.opacity) + ); + }, + darker(t) { + return ( + (t = t == null ? vy : Math.pow(vy, t)), + new la(this.r * t, this.g * t, this.b * t, this.opacity) + ); + }, + rgb() { + return this; + }, + clamp() { + return new la(nd(this.r), nd(this.g), nd(this.b), W4(this.opacity)); + }, + displayable() { + return ( + -0.5 <= this.r && + this.r < 255.5 && + -0.5 <= this.g && + this.g < 255.5 && + -0.5 <= this.b && + this.b < 255.5 && + 0 <= this.opacity && + this.opacity <= 1 + ); + }, + hex: WV, + formatHex: WV, + formatHex8: z3e, + formatRgb: qV, + toString: qV + }) + ); + o(WV, 'rgb_formatHex'); + o(z3e, 'rgb_formatHex8'); + o(qV, 'rgb_formatRgb'); + o(W4, 'clampa'); + o(nd, 'clampi'); + o(rd, 'hex'); + o(XV, 'hsla'); + o(KV, 'hslConvert'); + o(QV, 'hsl'); + o(dl, 'Hsl'); + kh( + dl, + QV, + Cp(Eh, { + brighter(t) { + return (t = t == null ? Y4 : Math.pow(Y4, t)), new dl(this.h, this.s, this.l * t, this.opacity); + }, + darker(t) { + return (t = t == null ? vy : Math.pow(vy, t)), new dl(this.h, this.s, this.l * t, this.opacity); + }, + rgb() { + var t = (this.h % 360) + (this.h < 0) * 360, + e = isNaN(t) || isNaN(this.s) ? 0 : this.s, + r = this.l, + n = r + (r < 0.5 ? r : 1 - r) * e, + i = 2 * r - n; + return new la( + pA(t >= 240 ? t - 240 : t + 120, i, n), + pA(t, i, n), + pA(t < 120 ? t + 240 : t - 120, i, n), + this.opacity + ); + }, + clamp() { + return new dl(jV(this.h), H4(this.s), H4(this.l), W4(this.opacity)); + }, + displayable() { + return ( + ((0 <= this.s && this.s <= 1) || isNaN(this.s)) && + 0 <= this.l && + this.l <= 1 && + 0 <= this.opacity && + this.opacity <= 1 + ); + }, + formatHsl() { + let t = W4(this.opacity); + return `${t === 1 ? 'hsl(' : 'hsla('}${jV(this.h)}, ${H4(this.s) * 100}%, ${H4(this.l) * 100}%${ + t === 1 ? ')' : `, ${t})` + }`; + } + }) + ); + o(jV, 'clamph'); + o(H4, 'clampt'); + o(pA, 'hsl2rgb'); + }); + var ZV, + JV, + eU = R(() => { + 'use strict'; + (ZV = Math.PI / 180), (JV = 180 / Math.PI); + }); + function sU(t) { + if (t instanceof sc) return new sc(t.l, t.a, t.b, t.opacity); + if (t instanceof uu) return oU(t); + t instanceof la || (t = mA(t)); + var e = bA(t.r), + r = bA(t.g), + n = bA(t.b), + i = yA((0.2225045 * e + 0.7168786 * r + 0.0606169 * n) / rU), + a, + s; + return ( + e === r && r === n + ? (a = s = i) + : ((a = yA((0.4360747 * e + 0.3850649 * r + 0.1430804 * n) / tU)), + (s = yA((0.0139322 * e + 0.0971045 * r + 0.7141733 * n) / nU))), + new sc(116 * i - 16, 500 * (a - i), 200 * (i - s), t.opacity) + ); + } + function wA(t, e, r, n) { + return arguments.length === 1 ? sU(t) : new sc(t, e, r, n ?? 1); + } + function sc(t, e, r, n) { + (this.l = +t), (this.a = +e), (this.b = +r), (this.opacity = +n); + } + function yA(t) { + return t > G3e ? Math.pow(t, 1 / 3) : t / aU + iU; + } + function vA(t) { + return t > _p ? t * t * t : aU * (t - iU); + } + function xA(t) { + return 255 * (t <= 0.0031308 ? 12.92 * t : 1.055 * Math.pow(t, 1 / 2.4) - 0.055); + } + function bA(t) { + return (t /= 255) <= 0.04045 ? t / 12.92 : Math.pow((t + 0.055) / 1.055, 2.4); + } + function $3e(t) { + if (t instanceof uu) return new uu(t.h, t.c, t.l, t.opacity); + if ((t instanceof sc || (t = sU(t)), t.a === 0 && t.b === 0)) + return new uu(NaN, 0 < t.l && t.l < 100 ? 0 : NaN, t.l, t.opacity); + var e = Math.atan2(t.b, t.a) * JV; + return new uu(e < 0 ? e + 360 : e, Math.sqrt(t.a * t.a + t.b * t.b), t.l, t.opacity); + } + function by(t, e, r, n) { + return arguments.length === 1 ? $3e(t) : new uu(t, e, r, n ?? 1); + } + function uu(t, e, r, n) { + (this.h = +t), (this.c = +e), (this.l = +r), (this.opacity = +n); + } + function oU(t) { + if (isNaN(t.h)) return new sc(t.l, 0, 0, t.opacity); + var e = t.h * ZV; + return new sc(t.l, Math.cos(e) * t.c, Math.sin(e) * t.c, t.opacity); + } + var q4, + tU, + rU, + nU, + iU, + _p, + aU, + G3e, + lU = R(() => { + 'use strict'; + dA(); + gA(); + eU(); + (q4 = 18), + (tU = 0.96422), + (rU = 1), + (nU = 0.82521), + (iU = 4 / 29), + (_p = 6 / 29), + (aU = 3 * _p * _p), + (G3e = _p * _p * _p); + o(sU, 'labConvert'); + o(wA, 'lab'); + o(sc, 'Lab'); + kh( + sc, + wA, + Cp(Eh, { + brighter(t) { + return new sc(this.l + q4 * (t ?? 1), this.a, this.b, this.opacity); + }, + darker(t) { + return new sc(this.l - q4 * (t ?? 1), this.a, this.b, this.opacity); + }, + rgb() { + var t = (this.l + 16) / 116, + e = isNaN(this.a) ? t : t + this.a / 500, + r = isNaN(this.b) ? t : t - this.b / 200; + return ( + (e = tU * vA(e)), + (t = rU * vA(t)), + (r = nU * vA(r)), + new la( + xA(3.1338561 * e - 1.6168667 * t - 0.4906146 * r), + xA(-0.9787684 * e + 1.9161415 * t + 0.033454 * r), + xA(0.0719453 * e - 0.2289914 * t + 1.4052427 * r), + this.opacity + ) + ); + } + }) + ); + o(yA, 'xyz2lab'); + o(vA, 'lab2xyz'); + o(xA, 'lrgb2rgb'); + o(bA, 'rgb2lrgb'); + o($3e, 'hclConvert'); + o(by, 'hcl'); + o(uu, 'Hcl'); + o(oU, 'hcl2lab'); + kh( + uu, + by, + Cp(Eh, { + brighter(t) { + return new uu(this.h, this.c, this.l + q4 * (t ?? 1), this.opacity); + }, + darker(t) { + return new uu(this.h, this.c, this.l - q4 * (t ?? 1), this.opacity); + }, + rgb() { + return oU(this).rgb(); + } + }) + ); + }); + var Lp = R(() => { + 'use strict'; + gA(); + lU(); + }); + function TA(t, e, r, n, i) { + var a = t * t, + s = a * t; + return ((1 - 3 * t + 3 * a - s) * e + (4 - 6 * a + 3 * s) * r + (1 + 3 * t + 3 * a - 3 * s) * n + s * i) / 6; + } + function kA(t) { + var e = t.length - 1; + return function (r) { + var n = r <= 0 ? (r = 0) : r >= 1 ? ((r = 1), e - 1) : Math.floor(r * e), + i = t[n], + a = t[n + 1], + s = n > 0 ? t[n - 1] : 2 * i - a, + l = n < e - 1 ? t[n + 2] : 2 * a - i; + return TA((r - n / e) * e, s, i, a, l); + }; + } + var EA = R(() => { + 'use strict'; + o(TA, 'basis'); + o(kA, 'default'); + }); + function CA(t) { + var e = t.length; + return function (r) { + var n = Math.floor(((r %= 1) < 0 ? ++r : r) * e), + i = t[(n + e - 1) % e], + a = t[n % e], + s = t[(n + 1) % e], + l = t[(n + 2) % e]; + return TA((r - n / e) * e, i, a, s, l); + }; + } + var cU = R(() => { + 'use strict'; + EA(); + o(CA, 'default'); + }); + var Dp, + SA = R(() => { + 'use strict'; + Dp = o((t) => () => t, 'default'); + }); + function uU(t, e) { + return function (r) { + return t + r * e; + }; + } + function V3e(t, e, r) { + return ( + (t = Math.pow(t, r)), + (e = Math.pow(e, r) - t), + (r = 1 / r), + function (n) { + return Math.pow(t + n * e, r); + } + ); + } + function hU(t, e) { + var r = e - t; + return r ? uU(t, r > 180 || r < -180 ? r - 360 * Math.round(r / 360) : r) : Dp(isNaN(t) ? e : t); + } + function fU(t) { + return (t = +t) == 1 + ? hu + : function (e, r) { + return r - e ? V3e(e, r, t) : Dp(isNaN(e) ? r : e); + }; + } + function hu(t, e) { + var r = e - t; + return r ? uU(t, r) : Dp(isNaN(t) ? e : t); + } + var AA = R(() => { + 'use strict'; + SA(); + o(uU, 'linear'); + o(V3e, 'exponential'); + o(hU, 'hue'); + o(fU, 'gamma'); + o(hu, 'nogamma'); + }); + function dU(t) { + return function (e) { + var r = e.length, + n = new Array(r), + i = new Array(r), + a = new Array(r), + s, + l; + for (s = 0; s < r; ++s) (l = Ap(e[s])), (n[s] = l.r || 0), (i[s] = l.g || 0), (a[s] = l.b || 0); + return ( + (n = t(n)), + (i = t(i)), + (a = t(a)), + (l.opacity = 1), + function (u) { + return (l.r = n(u)), (l.g = i(u)), (l.b = a(u)), l + ''; + } + ); + }; + } + var id, + U3e, + H3e, + _A = R(() => { + 'use strict'; + Lp(); + EA(); + cU(); + AA(); + id = o(function t(e) { + var r = fU(e); + function n(i, a) { + var s = r((i = Ap(i)).r, (a = Ap(a)).r), + l = r(i.g, a.g), + u = r(i.b, a.b), + h = hu(i.opacity, a.opacity); + return function (f) { + return (i.r = s(f)), (i.g = l(f)), (i.b = u(f)), (i.opacity = h(f)), i + ''; + }; + } + return o(n, 'rgb'), (n.gamma = t), n; + }, 'rgbGamma')(1); + o(dU, 'rgbSpline'); + (U3e = dU(kA)), (H3e = dU(CA)); + }); + function LA(t, e) { + e || (e = []); + var r = t ? Math.min(e.length, t.length) : 0, + n = e.slice(), + i; + return function (a) { + for (i = 0; i < r; ++i) n[i] = t[i] * (1 - a) + e[i] * a; + return n; + }; + } + function pU(t) { + return ArrayBuffer.isView(t) && !(t instanceof DataView); + } + var mU = R(() => { + 'use strict'; + o(LA, 'default'); + o(pU, 'isNumberArray'); + }); + function gU(t, e) { + var r = e ? e.length : 0, + n = t ? Math.min(r, t.length) : 0, + i = new Array(n), + a = new Array(r), + s; + for (s = 0; s < n; ++s) i[s] = Ch(t[s], e[s]); + for (; s < r; ++s) a[s] = e[s]; + return function (l) { + for (s = 0; s < n; ++s) a[s] = i[s](l); + return a; + }; + } + var yU = R(() => { + 'use strict'; + X4(); + o(gU, 'genericArray'); + }); + function DA(t, e) { + var r = new Date(); + return ( + (t = +t), + (e = +e), + function (n) { + return r.setTime(t * (1 - n) + e * n), r; + } + ); + } + var vU = R(() => { + 'use strict'; + o(DA, 'default'); + }); + function ji(t, e) { + return ( + (t = +t), + (e = +e), + function (r) { + return t * (1 - r) + e * r; + } + ); + } + var wy = R(() => { + 'use strict'; + o(ji, 'default'); + }); + function RA(t, e) { + var r = {}, + n = {}, + i; + (t === null || typeof t != 'object') && (t = {}), (e === null || typeof e != 'object') && (e = {}); + for (i in e) i in t ? (r[i] = Ch(t[i], e[i])) : (n[i] = e[i]); + return function (a) { + for (i in r) n[i] = r[i](a); + return n; + }; + } + var xU = R(() => { + 'use strict'; + X4(); + o(RA, 'default'); + }); + function Y3e(t) { + return function () { + return t; + }; + } + function W3e(t) { + return function (e) { + return t(e) + ''; + }; + } + function Rp(t, e) { + var r = (MA.lastIndex = NA.lastIndex = 0), + n, + i, + a, + s = -1, + l = [], + u = []; + for (t = t + '', e = e + ''; (n = MA.exec(t)) && (i = NA.exec(e)); ) + (a = i.index) > r && ((a = e.slice(r, a)), l[s] ? (l[s] += a) : (l[++s] = a)), + (n = n[0]) === (i = i[0]) + ? l[s] + ? (l[s] += i) + : (l[++s] = i) + : ((l[++s] = null), u.push({ i: s, x: ji(n, i) })), + (r = NA.lastIndex); + return ( + r < e.length && ((a = e.slice(r)), l[s] ? (l[s] += a) : (l[++s] = a)), + l.length < 2 + ? u[0] + ? W3e(u[0].x) + : Y3e(e) + : ((e = u.length), + function (h) { + for (var f = 0, d; f < e; ++f) l[(d = u[f]).i] = d.x(h); + return l.join(''); + }) + ); + } + var MA, + NA, + IA = R(() => { + 'use strict'; + wy(); + (MA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g), (NA = new RegExp(MA.source, 'g')); + o(Y3e, 'zero'); + o(W3e, 'one'); + o(Rp, 'default'); + }); + function Ch(t, e) { + var r = typeof e, + n; + return e == null || r === 'boolean' + ? Dp(e) + : (r === 'number' + ? ji + : r === 'string' + ? (n = pl(e)) + ? ((e = n), id) + : Rp + : e instanceof pl + ? id + : e instanceof Date + ? DA + : pU(e) + ? LA + : Array.isArray(e) + ? gU + : (typeof e.valueOf != 'function' && typeof e.toString != 'function') || isNaN(e) + ? RA + : ji)(t, e); + } + var X4 = R(() => { + 'use strict'; + Lp(); + _A(); + yU(); + vU(); + wy(); + xU(); + IA(); + SA(); + mU(); + o(Ch, 'default'); + }); + function j4(t, e) { + return ( + (t = +t), + (e = +e), + function (r) { + return Math.round(t * (1 - r) + e * r); + } + ); + } + var bU = R(() => { + 'use strict'; + o(j4, 'default'); + }); + function Q4(t, e, r, n, i, a) { + var s, l, u; + return ( + (s = Math.sqrt(t * t + e * e)) && ((t /= s), (e /= s)), + (u = t * r + e * n) && ((r -= t * u), (n -= e * u)), + (l = Math.sqrt(r * r + n * n)) && ((r /= l), (n /= l), (u /= l)), + t * n < e * r && ((t = -t), (e = -e), (u = -u), (s = -s)), + { + translateX: i, + translateY: a, + rotate: Math.atan2(e, t) * wU, + skewX: Math.atan(u) * wU, + scaleX: s, + scaleY: l + } + ); + } + var wU, + K4, + TU = R(() => { + 'use strict'; + (wU = 180 / Math.PI), + (K4 = { + translateX: 0, + translateY: 0, + rotate: 0, + skewX: 0, + scaleX: 1, + scaleY: 1 + }); + o(Q4, 'default'); + }); + function kU(t) { + let e = new (typeof DOMMatrix == 'function' ? DOMMatrix : WebKitCSSMatrix)(t + ''); + return e.isIdentity ? K4 : Q4(e.a, e.b, e.c, e.d, e.e, e.f); + } + function EU(t) { + return t == null + ? K4 + : (Z4 || (Z4 = document.createElementNS('http://www.w3.org/2000/svg', 'g')), + Z4.setAttribute('transform', t), + (t = Z4.transform.baseVal.consolidate()) ? ((t = t.matrix), Q4(t.a, t.b, t.c, t.d, t.e, t.f)) : K4); + } + var Z4, + CU = R(() => { + 'use strict'; + TU(); + o(kU, 'parseCss'); + o(EU, 'parseSvg'); + }); + function SU(t, e, r, n) { + function i(h) { + return h.length ? h.pop() + ' ' : ''; + } + o(i, 'pop'); + function a(h, f, d, p, m, g) { + if (h !== d || f !== p) { + var y = m.push('translate(', null, e, null, r); + g.push({ i: y - 4, x: ji(h, d) }, { i: y - 2, x: ji(f, p) }); + } else (d || p) && m.push('translate(' + d + e + p + r); + } + o(a, 'translate'); + function s(h, f, d, p) { + h !== f + ? (h - f > 180 ? (f += 360) : f - h > 180 && (h += 360), + p.push({ i: d.push(i(d) + 'rotate(', null, n) - 2, x: ji(h, f) })) + : f && d.push(i(d) + 'rotate(' + f + n); + } + o(s, 'rotate'); + function l(h, f, d, p) { + h !== f + ? p.push({ i: d.push(i(d) + 'skewX(', null, n) - 2, x: ji(h, f) }) + : f && d.push(i(d) + 'skewX(' + f + n); + } + o(l, 'skewX'); + function u(h, f, d, p, m, g) { + if (h !== d || f !== p) { + var y = m.push(i(m) + 'scale(', null, ',', null, ')'); + g.push({ i: y - 4, x: ji(h, d) }, { i: y - 2, x: ji(f, p) }); + } else (d !== 1 || p !== 1) && m.push(i(m) + 'scale(' + d + ',' + p + ')'); + } + return ( + o(u, 'scale'), + function (h, f) { + var d = [], + p = []; + return ( + (h = t(h)), + (f = t(f)), + a(h.translateX, h.translateY, f.translateX, f.translateY, d, p), + s(h.rotate, f.rotate, d, p), + l(h.skewX, f.skewX, d, p), + u(h.scaleX, h.scaleY, f.scaleX, f.scaleY, d, p), + (h = f = null), + function (m) { + for (var g = -1, y = p.length, v; ++g < y; ) d[(v = p[g]).i] = v.x(m); + return d.join(''); + } + ); + } + ); + } + var OA, + PA, + AU = R(() => { + 'use strict'; + wy(); + CU(); + o(SU, 'interpolateTransform'); + (OA = SU(kU, 'px, ', 'px)', 'deg)')), (PA = SU(EU, ', ', ')', ')')); + }); + function _U(t) { + return function (e, r) { + var n = t((e = by(e)).h, (r = by(r)).h), + i = hu(e.c, r.c), + a = hu(e.l, r.l), + s = hu(e.opacity, r.opacity); + return function (l) { + return (e.h = n(l)), (e.c = i(l)), (e.l = a(l)), (e.opacity = s(l)), e + ''; + }; + }; + } + var BA, + q3e, + LU = R(() => { + 'use strict'; + Lp(); + AA(); + o(_U, 'hcl'); + (BA = _U(hU)), (q3e = _U(hu)); + }); + var Np = R(() => { + 'use strict'; + X4(); + wy(); + bU(); + IA(); + AU(); + _A(); + LU(); + }); + function Ay() { + return ad || (NU(X3e), (ad = Cy.now() + t3)); + } + function X3e() { + ad = 0; + } + function Sy() { + this._call = this._time = this._next = null; + } + function r3(t, e, r) { + var n = new Sy(); + return n.restart(t, e, r), n; + } + function MU() { + Ay(), ++Mp; + for (var t = J4, e; t; ) (e = ad - t._time) >= 0 && t._call.call(void 0, e), (t = t._next); + --Mp; + } + function DU() { + (ad = (e3 = Cy.now()) + t3), (Mp = ky = 0); + try { + MU(); + } finally { + (Mp = 0), K3e(), (ad = 0); + } + } + function j3e() { + var t = Cy.now(), + e = t - e3; + e > RU && ((t3 -= e), (e3 = t)); + } + function K3e() { + for (var t, e = J4, r, n = 1 / 0; e; ) + e._call + ? (n > e._time && (n = e._time), (t = e), (e = e._next)) + : ((r = e._next), (e._next = null), (e = t ? (t._next = r) : (J4 = r))); + (Ey = t), FA(n); + } + function FA(t) { + if (!Mp) { + ky && (ky = clearTimeout(ky)); + var e = t - ad; + e > 24 + ? (t < 1 / 0 && (ky = setTimeout(DU, t - Cy.now() - t3)), Ty && (Ty = clearInterval(Ty))) + : (Ty || ((e3 = Cy.now()), (Ty = setInterval(j3e, RU))), (Mp = 1), NU(DU)); + } + } + var Mp, + ky, + Ty, + RU, + J4, + Ey, + e3, + ad, + t3, + Cy, + NU, + zA = R(() => { + 'use strict'; + (Mp = 0), + (ky = 0), + (Ty = 0), + (RU = 1e3), + (e3 = 0), + (ad = 0), + (t3 = 0), + (Cy = typeof performance == 'object' && performance.now ? performance : Date), + (NU = + typeof window == 'object' && window.requestAnimationFrame + ? window.requestAnimationFrame.bind(window) + : function (t) { + setTimeout(t, 17); + }); + o(Ay, 'now'); + o(X3e, 'clearNow'); + o(Sy, 'Timer'); + Sy.prototype = r3.prototype = { + constructor: Sy, + restart: o(function (t, e, r) { + if (typeof t != 'function') throw new TypeError('callback is not a function'); + (r = (r == null ? Ay() : +r) + (e == null ? 0 : +e)), + !this._next && Ey !== this && (Ey ? (Ey._next = this) : (J4 = this), (Ey = this)), + (this._call = t), + (this._time = r), + FA(); + }, 'restart'), + stop: o(function () { + this._call && ((this._call = null), (this._time = 1 / 0), FA()); + }, 'stop') + }; + o(r3, 'timer'); + o(MU, 'timerFlush'); + o(DU, 'wake'); + o(j3e, 'poke'); + o(K3e, 'nap'); + o(FA, 'sleep'); + }); + function _y(t, e, r) { + var n = new Sy(); + return ( + (e = e == null ? 0 : +e), + n.restart( + (i) => { + n.stop(), t(i + e); + }, + e, + r + ), + n + ); + } + var IU = R(() => { + 'use strict'; + zA(); + o(_y, 'default'); + }); + var n3 = R(() => { + 'use strict'; + zA(); + IU(); + }); + function fu(t, e, r, n, i, a) { + var s = t.__transition; + if (!s) t.__transition = {}; + else if (r in s) return; + J3e(t, r, { + name: e, + index: n, + group: i, + on: Q3e, + tween: Z3e, + time: a.time, + delay: a.delay, + duration: a.duration, + ease: a.ease, + timer: null, + state: BU + }); + } + function Dy(t, e) { + var r = Mi(t, e); + if (r.state > BU) throw new Error('too late; already scheduled'); + return r; + } + function ca(t, e) { + var r = Mi(t, e); + if (r.state > i3) throw new Error('too late; already running'); + return r; + } + function Mi(t, e) { + var r = t.__transition; + if (!r || !(r = r[e])) throw new Error('transition not found'); + return r; + } + function J3e(t, e, r) { + var n = t.__transition, + i; + (n[e] = r), (r.timer = r3(a, 0, r.time)); + function a(h) { + (r.state = OU), r.timer.restart(s, r.delay, r.time), r.delay <= h && s(h - r.delay); + } + o(a, 'schedule'); + function s(h) { + var f, d, p, m; + if (r.state !== OU) return u(); + for (f in n) + if (((m = n[f]), m.name === r.name)) { + if (m.state === i3) return _y(s); + m.state === PU + ? ((m.state = Ly), + m.timer.stop(), + m.on.call('interrupt', t, t.__data__, m.index, m.group), + delete n[f]) + : +f < e && + ((m.state = Ly), + m.timer.stop(), + m.on.call('cancel', t, t.__data__, m.index, m.group), + delete n[f]); + } + if ( + (_y(function () { + r.state === i3 && ((r.state = PU), r.timer.restart(l, r.delay, r.time), l(h)); + }), + (r.state = a3), + r.on.call('start', t, t.__data__, r.index, r.group), + r.state === a3) + ) { + for (r.state = i3, i = new Array((p = r.tween.length)), f = 0, d = -1; f < p; ++f) + (m = r.tween[f].value.call(t, t.__data__, r.index, r.group)) && (i[++d] = m); + i.length = d + 1; + } + } + o(s, 'start'); + function l(h) { + for ( + var f = h < r.duration ? r.ease.call(null, h / r.duration) : (r.timer.restart(u), (r.state = s3), 1), + d = -1, + p = i.length; + ++d < p; + + ) + i[d].call(t, f); + r.state === s3 && (r.on.call('end', t, t.__data__, r.index, r.group), u()); + } + o(l, 'tick'); + function u() { + (r.state = Ly), r.timer.stop(), delete n[e]; + for (var h in n) return; + delete t.__transition; + } + o(u, 'stop'); + } + var Q3e, + Z3e, + BU, + OU, + a3, + i3, + PU, + s3, + Ly, + ys = R(() => { + 'use strict'; + bS(); + n3(); + (Q3e = xS('start', 'end', 'cancel', 'interrupt')), + (Z3e = []), + (BU = 0), + (OU = 1), + (a3 = 2), + (i3 = 3), + (PU = 4), + (s3 = 5), + (Ly = 6); + o(fu, 'default'); + o(Dy, 'init'); + o(ca, 'set'); + o(Mi, 'get'); + o(J3e, 'create'); + }); + function Ry(t, e) { + var r = t.__transition, + n, + i, + a = !0, + s; + if (r) { + e = e == null ? null : e + ''; + for (s in r) { + if ((n = r[s]).name !== e) { + a = !1; + continue; + } + (i = n.state > a3 && n.state < s3), + (n.state = Ly), + n.timer.stop(), + n.on.call(i ? 'interrupt' : 'cancel', t, t.__data__, n.index, n.group), + delete r[s]; + } + a && delete t.__transition; + } + } + var FU = R(() => { + 'use strict'; + ys(); + o(Ry, 'default'); + }); + function GA(t) { + return this.each(function () { + Ry(this, t); + }); + } + var zU = R(() => { + 'use strict'; + FU(); + o(GA, 'default'); + }); + function e5e(t, e) { + var r, n; + return function () { + var i = ca(this, t), + a = i.tween; + if (a !== r) { + n = r = a; + for (var s = 0, l = n.length; s < l; ++s) + if (n[s].name === e) { + (n = n.slice()), n.splice(s, 1); + break; + } + } + i.tween = n; + }; + } + function t5e(t, e, r) { + var n, i; + if (typeof r != 'function') throw new Error(); + return function () { + var a = ca(this, t), + s = a.tween; + if (s !== n) { + i = (n = s).slice(); + for (var l = { name: e, value: r }, u = 0, h = i.length; u < h; ++u) + if (i[u].name === e) { + i[u] = l; + break; + } + u === h && i.push(l); + } + a.tween = i; + }; + } + function $A(t, e) { + var r = this._id; + if (((t += ''), arguments.length < 2)) { + for (var n = Mi(this.node(), r).tween, i = 0, a = n.length, s; i < a; ++i) + if ((s = n[i]).name === t) return s.value; + return null; + } + return this.each((e == null ? e5e : t5e)(r, t, e)); + } + function Ip(t, e, r) { + var n = t._id; + return ( + t.each(function () { + var i = ca(this, n); + (i.value || (i.value = {}))[e] = r.apply(this, arguments); + }), + function (i) { + return Mi(i, n).value[e]; + } + ); + } + var Ny = R(() => { + 'use strict'; + ys(); + o(e5e, 'tweenRemove'); + o(t5e, 'tweenFunction'); + o($A, 'default'); + o(Ip, 'tweenValue'); + }); + function My(t, e) { + var r; + return (typeof e == 'number' ? ji : e instanceof pl ? id : (r = pl(e)) ? ((e = r), id) : Rp)(t, e); + } + var VA = R(() => { + 'use strict'; + Lp(); + Np(); + o(My, 'default'); + }); + function r5e(t) { + return function () { + this.removeAttribute(t); + }; + } + function n5e(t) { + return function () { + this.removeAttributeNS(t.space, t.local); + }; + } + function i5e(t, e, r) { + var n, + i = r + '', + a; + return function () { + var s = this.getAttribute(t); + return s === i ? null : s === n ? a : (a = e((n = s), r)); + }; + } + function a5e(t, e, r) { + var n, + i = r + '', + a; + return function () { + var s = this.getAttributeNS(t.space, t.local); + return s === i ? null : s === n ? a : (a = e((n = s), r)); + }; + } + function s5e(t, e, r) { + var n, i, a; + return function () { + var s, + l = r(this), + u; + return l == null + ? void this.removeAttribute(t) + : ((s = this.getAttribute(t)), + (u = l + ''), + s === u ? null : s === n && u === i ? a : ((i = u), (a = e((n = s), l)))); + }; + } + function o5e(t, e, r) { + var n, i, a; + return function () { + var s, + l = r(this), + u; + return l == null + ? void this.removeAttributeNS(t.space, t.local) + : ((s = this.getAttributeNS(t.space, t.local)), + (u = l + ''), + s === u ? null : s === n && u === i ? a : ((i = u), (a = e((n = s), l)))); + }; + } + function UA(t, e) { + var r = ic(t), + n = r === 'transform' ? PA : My; + return this.attrTween( + t, + typeof e == 'function' + ? (r.local ? o5e : s5e)(r, n, Ip(this, 'attr.' + t, e)) + : e == null + ? (r.local ? n5e : r5e)(r) + : (r.local ? a5e : i5e)(r, n, e) + ); + } + var GU = R(() => { + 'use strict'; + Np(); + fl(); + Ny(); + VA(); + o(r5e, 'attrRemove'); + o(n5e, 'attrRemoveNS'); + o(i5e, 'attrConstant'); + o(a5e, 'attrConstantNS'); + o(s5e, 'attrFunction'); + o(o5e, 'attrFunctionNS'); + o(UA, 'default'); + }); + function l5e(t, e) { + return function (r) { + this.setAttribute(t, e.call(this, r)); + }; + } + function c5e(t, e) { + return function (r) { + this.setAttributeNS(t.space, t.local, e.call(this, r)); + }; + } + function u5e(t, e) { + var r, n; + function i() { + var a = e.apply(this, arguments); + return a !== n && (r = (n = a) && c5e(t, a)), r; + } + return o(i, 'tween'), (i._value = e), i; + } + function h5e(t, e) { + var r, n; + function i() { + var a = e.apply(this, arguments); + return a !== n && (r = (n = a) && l5e(t, a)), r; + } + return o(i, 'tween'), (i._value = e), i; + } + function HA(t, e) { + var r = 'attr.' + t; + if (arguments.length < 2) return (r = this.tween(r)) && r._value; + if (e == null) return this.tween(r, null); + if (typeof e != 'function') throw new Error(); + var n = ic(t); + return this.tween(r, (n.local ? u5e : h5e)(n, e)); + } + var $U = R(() => { + 'use strict'; + fl(); + o(l5e, 'attrInterpolate'); + o(c5e, 'attrInterpolateNS'); + o(u5e, 'attrTweenNS'); + o(h5e, 'attrTween'); + o(HA, 'default'); + }); + function f5e(t, e) { + return function () { + Dy(this, t).delay = +e.apply(this, arguments); + }; + } + function d5e(t, e) { + return ( + (e = +e), + function () { + Dy(this, t).delay = e; + } + ); + } + function YA(t) { + var e = this._id; + return arguments.length ? this.each((typeof t == 'function' ? f5e : d5e)(e, t)) : Mi(this.node(), e).delay; + } + var VU = R(() => { + 'use strict'; + ys(); + o(f5e, 'delayFunction'); + o(d5e, 'delayConstant'); + o(YA, 'default'); + }); + function p5e(t, e) { + return function () { + ca(this, t).duration = +e.apply(this, arguments); + }; + } + function m5e(t, e) { + return ( + (e = +e), + function () { + ca(this, t).duration = e; + } + ); + } + function WA(t) { + var e = this._id; + return arguments.length ? this.each((typeof t == 'function' ? p5e : m5e)(e, t)) : Mi(this.node(), e).duration; + } + var UU = R(() => { + 'use strict'; + ys(); + o(p5e, 'durationFunction'); + o(m5e, 'durationConstant'); + o(WA, 'default'); + }); + function g5e(t, e) { + if (typeof e != 'function') throw new Error(); + return function () { + ca(this, t).ease = e; + }; + } + function qA(t) { + var e = this._id; + return arguments.length ? this.each(g5e(e, t)) : Mi(this.node(), e).ease; + } + var HU = R(() => { + 'use strict'; + ys(); + o(g5e, 'easeConstant'); + o(qA, 'default'); + }); + function y5e(t, e) { + return function () { + var r = e.apply(this, arguments); + if (typeof r != 'function') throw new Error(); + ca(this, t).ease = r; + }; + } + function XA(t) { + if (typeof t != 'function') throw new Error(); + return this.each(y5e(this._id, t)); + } + var YU = R(() => { + 'use strict'; + ys(); + o(y5e, 'easeVarying'); + o(XA, 'default'); + }); + function jA(t) { + typeof t != 'function' && (t = Ep(t)); + for (var e = this._groups, r = e.length, n = new Array(r), i = 0; i < r; ++i) + for (var a = e[i], s = a.length, l = (n[i] = []), u, h = 0; h < s; ++h) + (u = a[h]) && t.call(u, u.__data__, h, a) && l.push(u); + return new Ka(n, this._parents, this._name, this._id); + } + var WU = R(() => { + 'use strict'; + fl(); + sd(); + o(jA, 'default'); + }); + function KA(t) { + if (t._id !== this._id) throw new Error(); + for ( + var e = this._groups, + r = t._groups, + n = e.length, + i = r.length, + a = Math.min(n, i), + s = new Array(n), + l = 0; + l < a; + ++l + ) + for (var u = e[l], h = r[l], f = u.length, d = (s[l] = new Array(f)), p, m = 0; m < f; ++m) + (p = u[m] || h[m]) && (d[m] = p); + for (; l < n; ++l) s[l] = e[l]; + return new Ka(s, this._parents, this._name, this._id); + } + var qU = R(() => { + 'use strict'; + sd(); + o(KA, 'default'); + }); + function v5e(t) { + return (t + '') + .trim() + .split(/^|\s+/) + .every(function (e) { + var r = e.indexOf('.'); + return r >= 0 && (e = e.slice(0, r)), !e || e === 'start'; + }); + } + function x5e(t, e, r) { + var n, + i, + a = v5e(e) ? Dy : ca; + return function () { + var s = a(this, t), + l = s.on; + l !== n && (i = (n = l).copy()).on(e, r), (s.on = i); + }; + } + function QA(t, e) { + var r = this._id; + return arguments.length < 2 ? Mi(this.node(), r).on.on(t) : this.each(x5e(r, t, e)); + } + var XU = R(() => { + 'use strict'; + ys(); + o(v5e, 'start'); + o(x5e, 'onFunction'); + o(QA, 'default'); + }); + function b5e(t) { + return function () { + var e = this.parentNode; + for (var r in this.__transition) if (+r !== t) return; + e && e.removeChild(this); + }; + } + function ZA() { + return this.on('end.remove', b5e(this._id)); + } + var jU = R(() => { + 'use strict'; + o(b5e, 'removeFunction'); + o(ZA, 'default'); + }); + function JA(t) { + var e = this._name, + r = this._id; + typeof t != 'function' && (t = wh(t)); + for (var n = this._groups, i = n.length, a = new Array(i), s = 0; s < i; ++s) + for (var l = n[s], u = l.length, h = (a[s] = new Array(u)), f, d, p = 0; p < u; ++p) + (f = l[p]) && + (d = t.call(f, f.__data__, p, l)) && + ('__data__' in f && (d.__data__ = f.__data__), (h[p] = d), fu(h[p], e, r, p, h, Mi(f, r))); + return new Ka(a, this._parents, e, r); + } + var KU = R(() => { + 'use strict'; + fl(); + sd(); + ys(); + o(JA, 'default'); + }); + function e8(t) { + var e = this._name, + r = this._id; + typeof t != 'function' && (t = kp(t)); + for (var n = this._groups, i = n.length, a = [], s = [], l = 0; l < i; ++l) + for (var u = n[l], h = u.length, f, d = 0; d < h; ++d) + if ((f = u[d])) { + for (var p = t.call(f, f.__data__, d, u), m, g = Mi(f, r), y = 0, v = p.length; y < v; ++y) + (m = p[y]) && fu(m, e, r, y, p, g); + a.push(p), s.push(f); + } + return new Ka(a, s, e, r); + } + var QU = R(() => { + 'use strict'; + fl(); + sd(); + ys(); + o(e8, 'default'); + }); + function t8() { + return new w5e(this._groups, this._parents); + } + var w5e, + ZU = R(() => { + 'use strict'; + fl(); + w5e = cu.prototype.constructor; + o(t8, 'default'); + }); + function T5e(t, e) { + var r, n, i; + return function () { + var a = Th(this, t), + s = (this.style.removeProperty(t), Th(this, t)); + return a === s ? null : a === r && s === n ? i : (i = e((r = a), (n = s))); + }; + } + function JU(t) { + return function () { + this.style.removeProperty(t); + }; + } + function k5e(t, e, r) { + var n, + i = r + '', + a; + return function () { + var s = Th(this, t); + return s === i ? null : s === n ? a : (a = e((n = s), r)); + }; + } + function E5e(t, e, r) { + var n, i, a; + return function () { + var s = Th(this, t), + l = r(this), + u = l + ''; + return ( + l == null && (u = l = (this.style.removeProperty(t), Th(this, t))), + s === u ? null : s === n && u === i ? a : ((i = u), (a = e((n = s), l))) + ); + }; + } + function C5e(t, e) { + var r, + n, + i, + a = 'style.' + e, + s = 'end.' + a, + l; + return function () { + var u = ca(this, t), + h = u.on, + f = u.value[a] == null ? l || (l = JU(e)) : void 0; + (h !== r || i !== f) && (n = (r = h).copy()).on(s, (i = f)), (u.on = n); + }; + } + function r8(t, e, r) { + var n = (t += '') == 'transform' ? OA : My; + return e == null + ? this.styleTween(t, T5e(t, n)).on('end.style.' + t, JU(t)) + : typeof e == 'function' + ? this.styleTween(t, E5e(t, n, Ip(this, 'style.' + t, e))).each(C5e(this._id, t)) + : this.styleTween(t, k5e(t, n, e), r).on('end.style.' + t, null); + } + var eH = R(() => { + 'use strict'; + Np(); + fl(); + ys(); + Ny(); + VA(); + o(T5e, 'styleNull'); + o(JU, 'styleRemove'); + o(k5e, 'styleConstant'); + o(E5e, 'styleFunction'); + o(C5e, 'styleMaybeRemove'); + o(r8, 'default'); + }); + function S5e(t, e, r) { + return function (n) { + this.style.setProperty(t, e.call(this, n), r); + }; + } + function A5e(t, e, r) { + var n, i; + function a() { + var s = e.apply(this, arguments); + return s !== i && (n = (i = s) && S5e(t, s, r)), n; + } + return o(a, 'tween'), (a._value = e), a; + } + function n8(t, e, r) { + var n = 'style.' + (t += ''); + if (arguments.length < 2) return (n = this.tween(n)) && n._value; + if (e == null) return this.tween(n, null); + if (typeof e != 'function') throw new Error(); + return this.tween(n, A5e(t, e, r ?? '')); + } + var tH = R(() => { + 'use strict'; + o(S5e, 'styleInterpolate'); + o(A5e, 'styleTween'); + o(n8, 'default'); + }); + function _5e(t) { + return function () { + this.textContent = t; + }; + } + function L5e(t) { + return function () { + var e = t(this); + this.textContent = e ?? ''; + }; + } + function i8(t) { + return this.tween('text', typeof t == 'function' ? L5e(Ip(this, 'text', t)) : _5e(t == null ? '' : t + '')); + } + var rH = R(() => { + 'use strict'; + Ny(); + o(_5e, 'textConstant'); + o(L5e, 'textFunction'); + o(i8, 'default'); + }); + function D5e(t) { + return function (e) { + this.textContent = t.call(this, e); + }; + } + function R5e(t) { + var e, r; + function n() { + var i = t.apply(this, arguments); + return i !== r && (e = (r = i) && D5e(i)), e; + } + return o(n, 'tween'), (n._value = t), n; + } + function a8(t) { + var e = 'text'; + if (arguments.length < 1) return (e = this.tween(e)) && e._value; + if (t == null) return this.tween(e, null); + if (typeof t != 'function') throw new Error(); + return this.tween(e, R5e(t)); + } + var nH = R(() => { + 'use strict'; + o(D5e, 'textInterpolate'); + o(R5e, 'textTween'); + o(a8, 'default'); + }); + function s8() { + for (var t = this._name, e = this._id, r = o3(), n = this._groups, i = n.length, a = 0; a < i; ++a) + for (var s = n[a], l = s.length, u, h = 0; h < l; ++h) + if ((u = s[h])) { + var f = Mi(u, e); + fu(u, t, r, h, s, { + time: f.time + f.delay + f.duration, + delay: 0, + duration: f.duration, + ease: f.ease + }); + } + return new Ka(n, this._parents, t, r); + } + var iH = R(() => { + 'use strict'; + sd(); + ys(); + o(s8, 'default'); + }); + function o8() { + var t, + e, + r = this, + n = r._id, + i = r.size(); + return new Promise(function (a, s) { + var l = { value: s }, + u = { + value: o(function () { + --i === 0 && a(); + }, 'value') + }; + r.each(function () { + var h = ca(this, n), + f = h.on; + f !== t && ((e = (t = f).copy()), e._.cancel.push(l), e._.interrupt.push(l), e._.end.push(u)), + (h.on = e); + }), + i === 0 && a(); + }); + } + var aH = R(() => { + 'use strict'; + ys(); + o(o8, 'default'); + }); + function Ka(t, e, r, n) { + (this._groups = t), (this._parents = e), (this._name = r), (this._id = n); + } + function sH(t) { + return cu().transition(t); + } + function o3() { + return ++N5e; + } + var N5e, + du, + sd = R(() => { + 'use strict'; + fl(); + GU(); + $U(); + VU(); + UU(); + HU(); + YU(); + WU(); + qU(); + XU(); + jU(); + KU(); + QU(); + ZU(); + eH(); + tH(); + rH(); + nH(); + iH(); + Ny(); + aH(); + N5e = 0; + o(Ka, 'Transition'); + o(sH, 'transition'); + o(o3, 'newId'); + du = cu.prototype; + Ka.prototype = sH.prototype = { + constructor: Ka, + select: JA, + selectAll: e8, + selectChild: du.selectChild, + selectChildren: du.selectChildren, + filter: jA, + merge: KA, + selection: t8, + transition: s8, + call: du.call, + nodes: du.nodes, + node: du.node, + size: du.size, + empty: du.empty, + each: du.each, + on: QA, + attr: UA, + attrTween: HA, + style: r8, + styleTween: n8, + text: i8, + textTween: a8, + remove: ZA, + tween: $A, + delay: YA, + duration: WA, + ease: qA, + easeVarying: XA, + end: o8, + [Symbol.iterator]: du[Symbol.iterator] + }; + }); + function l3(t) { + return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2; + } + var oH = R(() => { + 'use strict'; + o(l3, 'cubicInOut'); + }); + var l8 = R(() => { + 'use strict'; + oH(); + }); + function I5e(t, e) { + for (var r; !(r = t.__transition) || !(r = r[e]); ) + if (!(t = t.parentNode)) throw new Error(`transition ${e} not found`); + return r; + } + function c8(t) { + var e, r; + t instanceof Ka + ? ((e = t._id), (t = t._name)) + : ((e = o3()), ((r = M5e).time = Ay()), (t = t == null ? null : t + '')); + for (var n = this._groups, i = n.length, a = 0; a < i; ++a) + for (var s = n[a], l = s.length, u, h = 0; h < l; ++h) (u = s[h]) && fu(u, t, e, h, s, r || I5e(u, e)); + return new Ka(n, this._parents, t, e); + } + var M5e, + lH = R(() => { + 'use strict'; + sd(); + ys(); + l8(); + n3(); + M5e = { time: null, delay: 0, duration: 250, ease: l3 }; + o(I5e, 'inherit'); + o(c8, 'default'); + }); + var cH = R(() => { + 'use strict'; + fl(); + zU(); + lH(); + cu.prototype.interrupt = GA; + cu.prototype.transition = c8; + }); + var c3 = R(() => { + 'use strict'; + cH(); + }); + var uH = R(() => { + 'use strict'; + }); + var hH = R(() => { + 'use strict'; + }); + var fH = R(() => { + 'use strict'; + }); + function dH(t) { + return [+t[0], +t[1]]; + } + function O5e(t) { + return [dH(t[0]), dH(t[1])]; + } + function u8(t) { + return { type: t }; + } + var Kpt, + Qpt, + Zpt, + Jpt, + emt, + tmt, + pH = R(() => { + 'use strict'; + c3(); + uH(); + hH(); + fH(); + ({ abs: Kpt, max: Qpt, min: Zpt } = Math); + o(dH, 'number1'); + o(O5e, 'number2'); + (Jpt = { + name: 'x', + handles: ['w', 'e'].map(u8), + input: o(function (t, e) { + return t == null + ? null + : [ + [+t[0], e[0][1]], + [+t[1], e[1][1]] + ]; + }, 'input'), + output: o(function (t) { + return t && [t[0][0], t[1][0]]; + }, 'output') + }), + (emt = { + name: 'y', + handles: ['n', 's'].map(u8), + input: o(function (t, e) { + return t == null + ? null + : [ + [e[0][0], +t[0]], + [e[1][0], +t[1]] + ]; + }, 'input'), + output: o(function (t) { + return t && [t[0][1], t[1][1]]; + }, 'output') + }), + (tmt = { + name: 'xy', + handles: ['n', 'w', 'e', 's', 'nw', 'ne', 'sw', 'se'].map(u8), + input: o(function (t) { + return t == null ? null : O5e(t); + }, 'input'), + output: o(function (t) { + return t; + }, 'output') + }); + o(u8, 'type'); + }); + var mH = R(() => { + 'use strict'; + pH(); + }); + function gH(t) { + this._ += t[0]; + for (let e = 1, r = t.length; e < r; ++e) this._ += arguments[e] + t[e]; + } + function B5e(t) { + let e = Math.floor(t); + if (!(e >= 0)) throw new Error(`invalid digits: ${t}`); + if (e > 15) return gH; + let r = 10 ** e; + return function (n) { + this._ += n[0]; + for (let i = 1, a = n.length; i < a; ++i) this._ += Math.round(arguments[i] * r) / r + n[i]; + }; + } + function yH() { + return new ld(); + } + var h8, + f8, + od, + P5e, + ld, + vH = R(() => { + 'use strict'; + (h8 = Math.PI), (f8 = 2 * h8), (od = 1e-6), (P5e = f8 - od); + o(gH, 'append'); + o(B5e, 'appendRound'); + ld = class { + static { + o(this, 'Path'); + } + constructor(e) { + (this._x0 = this._y0 = this._x1 = this._y1 = null), + (this._ = ''), + (this._append = e == null ? gH : B5e(e)); + } + moveTo(e, r) { + this._append`M${(this._x0 = this._x1 = +e)},${(this._y0 = this._y1 = +r)}`; + } + closePath() { + this._x1 !== null && ((this._x1 = this._x0), (this._y1 = this._y0), this._append`Z`); + } + lineTo(e, r) { + this._append`L${(this._x1 = +e)},${(this._y1 = +r)}`; + } + quadraticCurveTo(e, r, n, i) { + this._append`Q${+e},${+r},${(this._x1 = +n)},${(this._y1 = +i)}`; + } + bezierCurveTo(e, r, n, i, a, s) { + this._append`C${+e},${+r},${+n},${+i},${(this._x1 = +a)},${(this._y1 = +s)}`; + } + arcTo(e, r, n, i, a) { + if (((e = +e), (r = +r), (n = +n), (i = +i), (a = +a), a < 0)) + throw new Error(`negative radius: ${a}`); + let s = this._x1, + l = this._y1, + u = n - e, + h = i - r, + f = s - e, + d = l - r, + p = f * f + d * d; + if (this._x1 === null) this._append`M${(this._x1 = e)},${(this._y1 = r)}`; + else if (p > od) + if (!(Math.abs(d * u - h * f) > od) || !a) this._append`L${(this._x1 = e)},${(this._y1 = r)}`; + else { + let m = n - s, + g = i - l, + y = u * u + h * h, + v = m * m + g * g, + x = Math.sqrt(y), + b = Math.sqrt(p), + w = a * Math.tan((h8 - Math.acos((y + p - v) / (2 * x * b))) / 2), + S = w / b, + T = w / x; + Math.abs(S - 1) > od && this._append`L${e + S * f},${r + S * d}`, + this._append`A${a},${a},0,0,${+(d * m > f * g)},${(this._x1 = e + T * u)},${(this._y1 = + r + T * h)}`; + } + } + arc(e, r, n, i, a, s) { + if (((e = +e), (r = +r), (n = +n), (s = !!s), n < 0)) throw new Error(`negative radius: ${n}`); + let l = n * Math.cos(i), + u = n * Math.sin(i), + h = e + l, + f = r + u, + d = 1 ^ s, + p = s ? i - a : a - i; + this._x1 === null + ? this._append`M${h},${f}` + : (Math.abs(this._x1 - h) > od || Math.abs(this._y1 - f) > od) && this._append`L${h},${f}`, + n && + (p < 0 && (p = (p % f8) + f8), + p > P5e + ? this._append`A${n},${n},0,1,${d},${e - l},${r - u}A${n},${n},0,1,${d},${(this._x1 = + h)},${(this._y1 = f)}` + : p > od && + this._append`A${n},${n},0,${+(p >= h8)},${d},${(this._x1 = + e + n * Math.cos(a))},${(this._y1 = r + n * Math.sin(a))}`); + } + rect(e, r, n, i) { + this._append`M${(this._x0 = this._x1 = +e)},${(this._y0 = this._y1 = +r)}h${(n = +n)}v${+i}h${-n}Z`; + } + toString() { + return this._; + } + }; + o(yH, 'path'); + yH.prototype = ld.prototype; + }); + var d8 = R(() => { + 'use strict'; + vH(); + }); + var xH = R(() => { + 'use strict'; + }); + var bH = R(() => { + 'use strict'; + }); + var wH = R(() => { + 'use strict'; + }); + var TH = R(() => { + 'use strict'; + }); + var kH = R(() => { + 'use strict'; + }); + var EH = R(() => { + 'use strict'; + }); + var CH = R(() => { + 'use strict'; + }); + function p8(t) { + return Math.abs((t = Math.round(t))) >= 1e21 ? t.toLocaleString('en').replace(/,/g, '') : t.toString(10); + } + function cd(t, e) { + if ((r = (t = e ? t.toExponential(e - 1) : t.toExponential()).indexOf('e')) < 0) return null; + var r, + n = t.slice(0, r); + return [n.length > 1 ? n[0] + n.slice(2) : n, +t.slice(r + 1)]; + } + var Iy = R(() => { + 'use strict'; + o(p8, 'default'); + o(cd, 'formatDecimalParts'); + }); + function ml(t) { + return (t = cd(Math.abs(t))), t ? t[1] : NaN; + } + var Oy = R(() => { + 'use strict'; + Iy(); + o(ml, 'default'); + }); + function m8(t, e) { + return function (r, n) { + for ( + var i = r.length, a = [], s = 0, l = t[0], u = 0; + i > 0 && + l > 0 && + (u + l + 1 > n && (l = Math.max(1, n - u)), a.push(r.substring((i -= l), i + l)), !((u += l + 1) > n)); + + ) + l = t[(s = (s + 1) % t.length)]; + return a.reverse().join(e); + }; + } + var SH = R(() => { + 'use strict'; + o(m8, 'default'); + }); + function g8(t) { + return function (e) { + return e.replace(/[0-9]/g, function (r) { + return t[+r]; + }); + }; + } + var AH = R(() => { + 'use strict'; + o(g8, 'default'); + }); + function Sh(t) { + if (!(e = F5e.exec(t))) throw new Error('invalid format: ' + t); + var e; + return new u3({ + fill: e[1], + align: e[2], + sign: e[3], + symbol: e[4], + zero: e[5], + width: e[6], + comma: e[7], + precision: e[8] && e[8].slice(1), + trim: e[9], + type: e[10] + }); + } + function u3(t) { + (this.fill = t.fill === void 0 ? ' ' : t.fill + ''), + (this.align = t.align === void 0 ? '>' : t.align + ''), + (this.sign = t.sign === void 0 ? '-' : t.sign + ''), + (this.symbol = t.symbol === void 0 ? '' : t.symbol + ''), + (this.zero = !!t.zero), + (this.width = t.width === void 0 ? void 0 : +t.width), + (this.comma = !!t.comma), + (this.precision = t.precision === void 0 ? void 0 : +t.precision), + (this.trim = !!t.trim), + (this.type = t.type === void 0 ? '' : t.type + ''); + } + var F5e, + y8 = R(() => { + 'use strict'; + F5e = /^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i; + o(Sh, 'formatSpecifier'); + Sh.prototype = u3.prototype; + o(u3, 'FormatSpecifier'); + u3.prototype.toString = function () { + return ( + this.fill + + this.align + + this.sign + + this.symbol + + (this.zero ? '0' : '') + + (this.width === void 0 ? '' : Math.max(1, this.width | 0)) + + (this.comma ? ',' : '') + + (this.precision === void 0 ? '' : '.' + Math.max(0, this.precision | 0)) + + (this.trim ? '~' : '') + + this.type + ); + }; + }); + function v8(t) { + e: for (var e = t.length, r = 1, n = -1, i; r < e; ++r) + switch (t[r]) { + case '.': + n = i = r; + break; + case '0': + n === 0 && (n = r), (i = r); + break; + default: + if (!+t[r]) break e; + n > 0 && (n = 0); + break; + } + return n > 0 ? t.slice(0, n) + t.slice(i + 1) : t; + } + var _H = R(() => { + 'use strict'; + o(v8, 'default'); + }); + function b8(t, e) { + var r = cd(t, e); + if (!r) return t + ''; + var n = r[0], + i = r[1], + a = i - (x8 = Math.max(-8, Math.min(8, Math.floor(i / 3))) * 3) + 1, + s = n.length; + return a === s + ? n + : a > s + ? n + new Array(a - s + 1).join('0') + : a > 0 + ? n.slice(0, a) + '.' + n.slice(a) + : '0.' + new Array(1 - a).join('0') + cd(t, Math.max(0, e + a - 1))[0]; + } + var x8, + w8 = R(() => { + 'use strict'; + Iy(); + o(b8, 'default'); + }); + function h3(t, e) { + var r = cd(t, e); + if (!r) return t + ''; + var n = r[0], + i = r[1]; + return i < 0 + ? '0.' + new Array(-i).join('0') + n + : n.length > i + 1 + ? n.slice(0, i + 1) + '.' + n.slice(i + 1) + : n + new Array(i - n.length + 2).join('0'); + } + var LH = R(() => { + 'use strict'; + Iy(); + o(h3, 'default'); + }); + var T8, + DH = R(() => { + 'use strict'; + Iy(); + w8(); + LH(); + T8 = { + '%': o((t, e) => (t * 100).toFixed(e), '%'), + b: o((t) => Math.round(t).toString(2), 'b'), + c: o((t) => t + '', 'c'), + d: p8, + e: o((t, e) => t.toExponential(e), 'e'), + f: o((t, e) => t.toFixed(e), 'f'), + g: o((t, e) => t.toPrecision(e), 'g'), + o: o((t) => Math.round(t).toString(8), 'o'), + p: o((t, e) => h3(t * 100, e), 'p'), + r: h3, + s: b8, + X: o((t) => Math.round(t).toString(16).toUpperCase(), 'X'), + x: o((t) => Math.round(t).toString(16), 'x') + }; + }); + function f3(t) { + return t; + } + var RH = R(() => { + 'use strict'; + o(f3, 'default'); + }); + function k8(t) { + var e = + t.grouping === void 0 || t.thousands === void 0 + ? f3 + : m8(NH.call(t.grouping, Number), t.thousands + ''), + r = t.currency === void 0 ? '' : t.currency[0] + '', + n = t.currency === void 0 ? '' : t.currency[1] + '', + i = t.decimal === void 0 ? '.' : t.decimal + '', + a = t.numerals === void 0 ? f3 : g8(NH.call(t.numerals, String)), + s = t.percent === void 0 ? '%' : t.percent + '', + l = t.minus === void 0 ? '\u2212' : t.minus + '', + u = t.nan === void 0 ? 'NaN' : t.nan + ''; + function h(d) { + d = Sh(d); + var p = d.fill, + m = d.align, + g = d.sign, + y = d.symbol, + v = d.zero, + x = d.width, + b = d.comma, + w = d.precision, + S = d.trim, + T = d.type; + T === 'n' ? ((b = !0), (T = 'g')) : T8[T] || (w === void 0 && (w = 12), (S = !0), (T = 'g')), + (v || (p === '0' && m === '=')) && ((v = !0), (p = '0'), (m = '=')); + var E = y === '$' ? r : y === '#' && /[boxX]/.test(T) ? '0' + T.toLowerCase() : '', + _ = y === '$' ? n : /[%p]/.test(T) ? s : '', + A = T8[T], + L = /[defgprs%]/.test(T); + w = w === void 0 ? 6 : /[gprs]/.test(T) ? Math.max(1, Math.min(21, w)) : Math.max(0, Math.min(20, w)); + function M(N) { + var k = E, + I = _, + C, + O, + D; + if (T === 'c') (I = A(N) + I), (N = ''); + else { + N = +N; + var P = N < 0 || 1 / N < 0; + if ( + ((N = isNaN(N) ? u : A(Math.abs(N), w)), + S && (N = v8(N)), + P && +N == 0 && g !== '+' && (P = !1), + (k = (P ? (g === '(' ? g : l) : g === '-' || g === '(' ? '' : g) + k), + (I = (T === 's' ? MH[8 + x8 / 3] : '') + I + (P && g === '(' ? ')' : '')), + L) + ) { + for (C = -1, O = N.length; ++C < O; ) + if (((D = N.charCodeAt(C)), 48 > D || D > 57)) { + (I = (D === 46 ? i + N.slice(C + 1) : N.slice(C)) + I), (N = N.slice(0, C)); + break; + } + } + } + b && !v && (N = e(N, 1 / 0)); + var F = k.length + N.length + I.length, + B = F < x ? new Array(x - F + 1).join(p) : ''; + switch ((b && v && ((N = e(B + N, B.length ? x - I.length : 1 / 0)), (B = '')), m)) { + case '<': + N = k + N + I + B; + break; + case '=': + N = k + B + N + I; + break; + case '^': + N = B.slice(0, (F = B.length >> 1)) + k + N + I + B.slice(F); + break; + default: + N = B + k + N + I; + break; + } + return a(N); + } + return ( + o(M, 'format'), + (M.toString = function () { + return d + ''; + }), + M + ); + } + o(h, 'newFormat'); + function f(d, p) { + var m = h(((d = Sh(d)), (d.type = 'f'), d)), + g = Math.max(-8, Math.min(8, Math.floor(ml(p) / 3))) * 3, + y = Math.pow(10, -g), + v = MH[8 + g / 3]; + return function (x) { + return m(y * x) + v; + }; + } + return o(f, 'formatPrefix'), { format: h, formatPrefix: f }; + } + var NH, + MH, + IH = R(() => { + 'use strict'; + Oy(); + SH(); + AH(); + y8(); + _H(); + DH(); + w8(); + RH(); + (NH = Array.prototype.map), + (MH = ['y', 'z', 'a', 'f', 'p', 'n', '\xB5', 'm', '', 'k', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y']); + o(k8, 'default'); + }); + function E8(t) { + return (d3 = k8(t)), (p3 = d3.format), (m3 = d3.formatPrefix), d3; + } + var d3, + p3, + m3, + OH = R(() => { + 'use strict'; + IH(); + E8({ thousands: ',', grouping: [3], currency: ['$', ''] }); + o(E8, 'defaultLocale'); + }); + function g3(t) { + return Math.max(0, -ml(Math.abs(t))); + } + var PH = R(() => { + 'use strict'; + Oy(); + o(g3, 'default'); + }); + function y3(t, e) { + return Math.max(0, Math.max(-8, Math.min(8, Math.floor(ml(e) / 3))) * 3 - ml(Math.abs(t))); + } + var BH = R(() => { + 'use strict'; + Oy(); + o(y3, 'default'); + }); + function v3(t, e) { + return (t = Math.abs(t)), (e = Math.abs(e) - t), Math.max(0, ml(e) - ml(t)) + 1; + } + var FH = R(() => { + 'use strict'; + Oy(); + o(v3, 'default'); + }); + var C8 = R(() => { + 'use strict'; + OH(); + y8(); + PH(); + BH(); + FH(); + }); + var zH = R(() => { + 'use strict'; + }); + var GH = R(() => { + 'use strict'; + }); + var $H = R(() => { + 'use strict'; + }); + var VH = R(() => { + 'use strict'; + }); + function Ah(t, e) { + switch (arguments.length) { + case 0: + break; + case 1: + this.range(t); + break; + default: + this.range(e).domain(t); + break; + } + return this; + } + var Py = R(() => { + 'use strict'; + o(Ah, 'initRange'); + }); + function pu() { + var t = new wp(), + e = [], + r = [], + n = S8; + function i(a) { + let s = t.get(a); + if (s === void 0) { + if (n !== S8) return n; + t.set(a, (s = e.push(a) - 1)); + } + return r[s % r.length]; + } + return ( + o(i, 'scale'), + (i.domain = function (a) { + if (!arguments.length) return e.slice(); + (e = []), (t = new wp()); + for (let s of a) t.has(s) || t.set(s, e.push(s) - 1); + return i; + }), + (i.range = function (a) { + return arguments.length ? ((r = Array.from(a)), i) : r.slice(); + }), + (i.unknown = function (a) { + return arguments.length ? ((n = a), i) : n; + }), + (i.copy = function () { + return pu(e, r).unknown(n); + }), + Ah.apply(i, arguments), + i + ); + } + var S8, + A8 = R(() => { + 'use strict'; + bh(); + Py(); + S8 = Symbol('implicit'); + o(pu, 'ordinal'); + }); + function Op() { + var t = pu().unknown(void 0), + e = t.domain, + r = t.range, + n = 0, + i = 1, + a, + s, + l = !1, + u = 0, + h = 0, + f = 0.5; + delete t.unknown; + function d() { + var p = e().length, + m = i < n, + g = m ? i : n, + y = m ? n : i; + (a = (y - g) / Math.max(1, p - u + h * 2)), + l && (a = Math.floor(a)), + (g += (y - g - a * (p - u)) * f), + (s = a * (1 - u)), + l && ((g = Math.round(g)), (s = Math.round(s))); + var v = O4(p).map(function (x) { + return g + a * x; + }); + return r(m ? v.reverse() : v); + } + return ( + o(d, 'rescale'), + (t.domain = function (p) { + return arguments.length ? (e(p), d()) : e(); + }), + (t.range = function (p) { + return arguments.length ? (([n, i] = p), (n = +n), (i = +i), d()) : [n, i]; + }), + (t.rangeRound = function (p) { + return ([n, i] = p), (n = +n), (i = +i), (l = !0), d(); + }), + (t.bandwidth = function () { + return s; + }), + (t.step = function () { + return a; + }), + (t.round = function (p) { + return arguments.length ? ((l = !!p), d()) : l; + }), + (t.padding = function (p) { + return arguments.length ? ((u = Math.min(1, (h = +p))), d()) : u; + }), + (t.paddingInner = function (p) { + return arguments.length ? ((u = Math.min(1, p)), d()) : u; + }), + (t.paddingOuter = function (p) { + return arguments.length ? ((h = +p), d()) : h; + }), + (t.align = function (p) { + return arguments.length ? ((f = Math.max(0, Math.min(1, p))), d()) : f; + }), + (t.copy = function () { + return Op(e(), [n, i]).round(l).paddingInner(u).paddingOuter(h).align(f); + }), + Ah.apply(d(), arguments) + ); + } + var UH = R(() => { + 'use strict'; + bh(); + Py(); + A8(); + o(Op, 'band'); + }); + function _8(t) { + return function () { + return t; + }; + } + var HH = R(() => { + 'use strict'; + o(_8, 'constants'); + }); + function L8(t) { + return +t; + } + var YH = R(() => { + 'use strict'; + o(L8, 'number'); + }); + function Pp(t) { + return t; + } + function D8(t, e) { + return (e -= t = +t) + ? function (r) { + return (r - t) / e; + } + : _8(isNaN(e) ? NaN : 0.5); + } + function z5e(t, e) { + var r; + return ( + t > e && ((r = t), (t = e), (e = r)), + function (n) { + return Math.max(t, Math.min(e, n)); + } + ); + } + function G5e(t, e, r) { + var n = t[0], + i = t[1], + a = e[0], + s = e[1]; + return ( + i < n ? ((n = D8(i, n)), (a = r(s, a))) : ((n = D8(n, i)), (a = r(a, s))), + function (l) { + return a(n(l)); + } + ); + } + function $5e(t, e, r) { + var n = Math.min(t.length, e.length) - 1, + i = new Array(n), + a = new Array(n), + s = -1; + for (t[n] < t[0] && ((t = t.slice().reverse()), (e = e.slice().reverse())); ++s < n; ) + (i[s] = D8(t[s], t[s + 1])), (a[s] = r(e[s], e[s + 1])); + return function (l) { + var u = dS(t, l, 1, n) - 1; + return a[u](i[u](l)); + }; + } + function x3(t, e) { + return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown()); + } + function V5e() { + var t = WH, + e = WH, + r = Ch, + n, + i, + a, + s = Pp, + l, + u, + h; + function f() { + var p = Math.min(t.length, e.length); + return s !== Pp && (s = z5e(t[0], t[p - 1])), (l = p > 2 ? $5e : G5e), (u = h = null), d; + } + o(f, 'rescale'); + function d(p) { + return p == null || isNaN((p = +p)) ? a : (u || (u = l(t.map(n), e, r)))(n(s(p))); + } + return ( + o(d, 'scale'), + (d.invert = function (p) { + return s(i((h || (h = l(e, t.map(n), ji)))(p))); + }), + (d.domain = function (p) { + return arguments.length ? ((t = Array.from(p, L8)), f()) : t.slice(); + }), + (d.range = function (p) { + return arguments.length ? ((e = Array.from(p)), f()) : e.slice(); + }), + (d.rangeRound = function (p) { + return (e = Array.from(p)), (r = j4), f(); + }), + (d.clamp = function (p) { + return arguments.length ? ((s = p ? !0 : Pp), f()) : s !== Pp; + }), + (d.interpolate = function (p) { + return arguments.length ? ((r = p), f()) : r; + }), + (d.unknown = function (p) { + return arguments.length ? ((a = p), d) : a; + }), + function (p, m) { + return (n = p), (i = m), f(); + } + ); + } + function By() { + return V5e()(Pp, Pp); + } + var WH, + R8 = R(() => { + 'use strict'; + bh(); + Np(); + HH(); + YH(); + WH = [0, 1]; + o(Pp, 'identity'); + o(D8, 'normalize'); + o(z5e, 'clamper'); + o(G5e, 'bimap'); + o($5e, 'polymap'); + o(x3, 'copy'); + o(V5e, 'transformer'); + o(By, 'continuous'); + }); + function N8(t, e, r, n) { + var i = Tp(t, e, r), + a; + switch (((n = Sh(n ?? ',f')), n.type)) { + case 's': { + var s = Math.max(Math.abs(t), Math.abs(e)); + return n.precision == null && !isNaN((a = y3(i, s))) && (n.precision = a), m3(n, s); + } + case '': + case 'e': + case 'g': + case 'p': + case 'r': { + n.precision == null && + !isNaN((a = v3(i, Math.max(Math.abs(t), Math.abs(e))))) && + (n.precision = a - (n.type === 'e')); + break; + } + case 'f': + case '%': { + n.precision == null && !isNaN((a = g3(i))) && (n.precision = a - (n.type === '%') * 2); + break; + } + } + return p3(n); + } + var qH = R(() => { + 'use strict'; + bh(); + C8(); + o(N8, 'tickFormat'); + }); + function U5e(t) { + var e = t.domain; + return ( + (t.ticks = function (r) { + var n = e(); + return N4(n[0], n[n.length - 1], r ?? 10); + }), + (t.tickFormat = function (r, n) { + var i = e(); + return N8(i[0], i[i.length - 1], r ?? 10, n); + }), + (t.nice = function (r) { + r == null && (r = 10); + var n = e(), + i = 0, + a = n.length - 1, + s = n[i], + l = n[a], + u, + h, + f = 10; + for (l < s && ((h = s), (s = l), (l = h), (h = i), (i = a), (a = h)); f-- > 0; ) { + if (((h = fy(s, l, r)), h === u)) return (n[i] = s), (n[a] = l), e(n); + if (h > 0) (s = Math.floor(s / h) * h), (l = Math.ceil(l / h) * h); + else if (h < 0) (s = Math.ceil(s * h) / h), (l = Math.floor(l * h) / h); + else break; + u = h; + } + return t; + }), + t + ); + } + function gl() { + var t = By(); + return ( + (t.copy = function () { + return x3(t, gl()); + }), + Ah.apply(t, arguments), + U5e(t) + ); + } + var XH = R(() => { + 'use strict'; + bh(); + R8(); + Py(); + qH(); + o(U5e, 'linearish'); + o(gl, 'linear'); + }); + function M8(t, e) { + t = t.slice(); + var r = 0, + n = t.length - 1, + i = t[r], + a = t[n], + s; + return ( + a < i && ((s = r), (r = n), (n = s), (s = i), (i = a), (a = s)), (t[r] = e.floor(i)), (t[n] = e.ceil(a)), t + ); + } + var jH = R(() => { + 'use strict'; + o(M8, 'nice'); + }); + function dn(t, e, r, n) { + function i(a) { + return t((a = arguments.length === 0 ? new Date() : new Date(+a))), a; + } + return ( + o(i, 'interval'), + (i.floor = (a) => (t((a = new Date(+a))), a)), + (i.ceil = (a) => (t((a = new Date(a - 1))), e(a, 1), t(a), a)), + (i.round = (a) => { + let s = i(a), + l = i.ceil(a); + return a - s < l - a ? s : l; + }), + (i.offset = (a, s) => (e((a = new Date(+a)), s == null ? 1 : Math.floor(s)), a)), + (i.range = (a, s, l) => { + let u = []; + if (((a = i.ceil(a)), (l = l == null ? 1 : Math.floor(l)), !(a < s) || !(l > 0))) return u; + let h; + do u.push((h = new Date(+a))), e(a, l), t(a); + while (h < a && a < s); + return u; + }), + (i.filter = (a) => + dn( + (s) => { + if (s >= s) for (; t(s), !a(s); ) s.setTime(s - 1); + }, + (s, l) => { + if (s >= s) + if (l < 0) for (; ++l <= 0; ) for (; e(s, -1), !a(s); ); + else for (; --l >= 0; ) for (; e(s, 1), !a(s); ); + } + )), + r && + ((i.count = (a, s) => (I8.setTime(+a), O8.setTime(+s), t(I8), t(O8), Math.floor(r(I8, O8)))), + (i.every = (a) => ( + (a = Math.floor(a)), + !isFinite(a) || !(a > 0) + ? null + : a > 1 + ? i.filter(n ? (s) => n(s) % a === 0 : (s) => i.count(0, s) % a === 0) + : i + ))), + i + ); + } + var I8, + O8, + mu = R(() => { + 'use strict'; + (I8 = new Date()), (O8 = new Date()); + o(dn, 'timeInterval'); + }); + var oc, + KH, + P8 = R(() => { + 'use strict'; + mu(); + oc = dn( + () => {}, + (t, e) => { + t.setTime(+t + e); + }, + (t, e) => e - t + ); + oc.every = (t) => ( + (t = Math.floor(t)), + !isFinite(t) || !(t > 0) + ? null + : t > 1 + ? dn( + (e) => { + e.setTime(Math.floor(e / t) * t); + }, + (e, r) => { + e.setTime(+e + r * t); + }, + (e, r) => (r - e) / t + ) + : oc + ); + KH = oc.range; + }); + var Ks, + QH, + B8 = R(() => { + 'use strict'; + mu(); + (Ks = dn( + (t) => { + t.setTime(t - t.getMilliseconds()); + }, + (t, e) => { + t.setTime(+t + e * 1e3); + }, + (t, e) => (e - t) / 1e3, + (t) => t.getUTCSeconds() + )), + (QH = Ks.range); + }); + var gu, + H5e, + b3, + Y5e, + F8 = R(() => { + 'use strict'; + mu(); + (gu = dn( + (t) => { + t.setTime(t - t.getMilliseconds() - t.getSeconds() * 1e3); + }, + (t, e) => { + t.setTime(+t + e * 6e4); + }, + (t, e) => (e - t) / 6e4, + (t) => t.getMinutes() + )), + (H5e = gu.range), + (b3 = dn( + (t) => { + t.setUTCSeconds(0, 0); + }, + (t, e) => { + t.setTime(+t + e * 6e4); + }, + (t, e) => (e - t) / 6e4, + (t) => t.getUTCMinutes() + )), + (Y5e = b3.range); + }); + var yu, + W5e, + w3, + q5e, + z8 = R(() => { + 'use strict'; + mu(); + (yu = dn( + (t) => { + t.setTime(t - t.getMilliseconds() - t.getSeconds() * 1e3 - t.getMinutes() * 6e4); + }, + (t, e) => { + t.setTime(+t + e * 36e5); + }, + (t, e) => (e - t) / 36e5, + (t) => t.getHours() + )), + (W5e = yu.range), + (w3 = dn( + (t) => { + t.setUTCMinutes(0, 0, 0); + }, + (t, e) => { + t.setTime(+t + e * 36e5); + }, + (t, e) => (e - t) / 36e5, + (t) => t.getUTCHours() + )), + (q5e = w3.range); + }); + var Do, + X5e, + zy, + j5e, + T3, + K5e, + G8 = R(() => { + 'use strict'; + mu(); + (Do = dn( + (t) => t.setHours(0, 0, 0, 0), + (t, e) => t.setDate(t.getDate() + e), + (t, e) => (e - t - (e.getTimezoneOffset() - t.getTimezoneOffset()) * 6e4) / 864e5, + (t) => t.getDate() - 1 + )), + (X5e = Do.range), + (zy = dn( + (t) => { + t.setUTCHours(0, 0, 0, 0); + }, + (t, e) => { + t.setUTCDate(t.getUTCDate() + e); + }, + (t, e) => (e - t) / 864e5, + (t) => t.getUTCDate() - 1 + )), + (j5e = zy.range), + (T3 = dn( + (t) => { + t.setUTCHours(0, 0, 0, 0); + }, + (t, e) => { + t.setUTCDate(t.getUTCDate() + e); + }, + (t, e) => (e - t) / 864e5, + (t) => Math.floor(t / 864e5) + )), + (K5e = T3.range); + }); + function fd(t) { + return dn( + (e) => { + e.setDate(e.getDate() - ((e.getDay() + 7 - t) % 7)), e.setHours(0, 0, 0, 0); + }, + (e, r) => { + e.setDate(e.getDate() + r * 7); + }, + (e, r) => (r - e - (r.getTimezoneOffset() - e.getTimezoneOffset()) * 6e4) / 6048e5 + ); + } + function dd(t) { + return dn( + (e) => { + e.setUTCDate(e.getUTCDate() - ((e.getUTCDay() + 7 - t) % 7)), e.setUTCHours(0, 0, 0, 0); + }, + (e, r) => { + e.setUTCDate(e.getUTCDate() + r * 7); + }, + (e, r) => (r - e) / 6048e5 + ); + } + var yl, + _h, + k3, + E3, + cc, + C3, + S3, + JH, + Q5e, + Z5e, + J5e, + ewe, + twe, + rwe, + pd, + Bp, + eY, + tY, + Lh, + rY, + nY, + iY, + nwe, + iwe, + awe, + swe, + owe, + lwe, + $8 = R(() => { + 'use strict'; + mu(); + o(fd, 'timeWeekday'); + (yl = fd(0)), + (_h = fd(1)), + (k3 = fd(2)), + (E3 = fd(3)), + (cc = fd(4)), + (C3 = fd(5)), + (S3 = fd(6)), + (JH = yl.range), + (Q5e = _h.range), + (Z5e = k3.range), + (J5e = E3.range), + (ewe = cc.range), + (twe = C3.range), + (rwe = S3.range); + o(dd, 'utcWeekday'); + (pd = dd(0)), + (Bp = dd(1)), + (eY = dd(2)), + (tY = dd(3)), + (Lh = dd(4)), + (rY = dd(5)), + (nY = dd(6)), + (iY = pd.range), + (nwe = Bp.range), + (iwe = eY.range), + (awe = tY.range), + (swe = Lh.range), + (owe = rY.range), + (lwe = nY.range); + }); + var vu, + cwe, + A3, + uwe, + V8 = R(() => { + 'use strict'; + mu(); + (vu = dn( + (t) => { + t.setDate(1), t.setHours(0, 0, 0, 0); + }, + (t, e) => { + t.setMonth(t.getMonth() + e); + }, + (t, e) => e.getMonth() - t.getMonth() + (e.getFullYear() - t.getFullYear()) * 12, + (t) => t.getMonth() + )), + (cwe = vu.range), + (A3 = dn( + (t) => { + t.setUTCDate(1), t.setUTCHours(0, 0, 0, 0); + }, + (t, e) => { + t.setUTCMonth(t.getUTCMonth() + e); + }, + (t, e) => e.getUTCMonth() - t.getUTCMonth() + (e.getUTCFullYear() - t.getUTCFullYear()) * 12, + (t) => t.getUTCMonth() + )), + (uwe = A3.range); + }); + var Qs, + hwe, + vl, + fwe, + U8 = R(() => { + 'use strict'; + mu(); + Qs = dn( + (t) => { + t.setMonth(0, 1), t.setHours(0, 0, 0, 0); + }, + (t, e) => { + t.setFullYear(t.getFullYear() + e); + }, + (t, e) => e.getFullYear() - t.getFullYear(), + (t) => t.getFullYear() + ); + Qs.every = (t) => + !isFinite((t = Math.floor(t))) || !(t > 0) + ? null + : dn( + (e) => { + e.setFullYear(Math.floor(e.getFullYear() / t) * t), + e.setMonth(0, 1), + e.setHours(0, 0, 0, 0); + }, + (e, r) => { + e.setFullYear(e.getFullYear() + r * t); + } + ); + (hwe = Qs.range), + (vl = dn( + (t) => { + t.setUTCMonth(0, 1), t.setUTCHours(0, 0, 0, 0); + }, + (t, e) => { + t.setUTCFullYear(t.getUTCFullYear() + e); + }, + (t, e) => e.getUTCFullYear() - t.getUTCFullYear(), + (t) => t.getUTCFullYear() + )); + vl.every = (t) => + !isFinite((t = Math.floor(t))) || !(t > 0) + ? null + : dn( + (e) => { + e.setUTCFullYear(Math.floor(e.getUTCFullYear() / t) * t), + e.setUTCMonth(0, 1), + e.setUTCHours(0, 0, 0, 0); + }, + (e, r) => { + e.setUTCFullYear(e.getUTCFullYear() + r * t); + } + ); + fwe = vl.range; + }); + function sY(t, e, r, n, i, a) { + let s = [ + [Ks, 1, 1e3], + [Ks, 5, 5 * 1e3], + [Ks, 15, 15 * 1e3], + [Ks, 30, 30 * 1e3], + [a, 1, 6e4], + [a, 5, 5 * 6e4], + [a, 15, 15 * 6e4], + [a, 30, 30 * 6e4], + [i, 1, 36e5], + [i, 3, 3 * 36e5], + [i, 6, 6 * 36e5], + [i, 12, 12 * 36e5], + [n, 1, 864e5], + [n, 2, 2 * 864e5], + [r, 1, 6048e5], + [e, 1, 2592e6], + [e, 3, 3 * 2592e6], + [t, 1, 31536e6] + ]; + function l(h, f, d) { + let p = f < h; + p && ([h, f] = [f, h]); + let m = d && typeof d.range == 'function' ? d : u(h, f, d), + g = m ? m.range(h, +f + 1) : []; + return p ? g.reverse() : g; + } + o(l, 'ticks'); + function u(h, f, d) { + let p = Math.abs(f - h) / d, + m = td(([, , v]) => v).right(s, p); + if (m === s.length) return t.every(Tp(h / 31536e6, f / 31536e6, d)); + if (m === 0) return oc.every(Math.max(Tp(h, f, d), 1)); + let [g, y] = s[p / s[m - 1][2] < s[m][2] / p ? m - 1 : m]; + return g.every(y); + } + return o(u, 'tickInterval'), [l, u]; + } + var pwe, + mwe, + H8, + Y8, + oY = R(() => { + 'use strict'; + bh(); + P8(); + B8(); + F8(); + z8(); + G8(); + $8(); + V8(); + U8(); + o(sY, 'ticker'); + ([pwe, mwe] = sY(vl, A3, pd, T3, w3, b3)), ([H8, Y8] = sY(Qs, vu, yl, Do, yu, gu)); + }); + var _3 = R(() => { + 'use strict'; + P8(); + B8(); + F8(); + z8(); + G8(); + $8(); + V8(); + U8(); + oY(); + }); + function W8(t) { + if (0 <= t.y && t.y < 100) { + var e = new Date(-1, t.m, t.d, t.H, t.M, t.S, t.L); + return e.setFullYear(t.y), e; + } + return new Date(t.y, t.m, t.d, t.H, t.M, t.S, t.L); + } + function q8(t) { + if (0 <= t.y && t.y < 100) { + var e = new Date(Date.UTC(-1, t.m, t.d, t.H, t.M, t.S, t.L)); + return e.setUTCFullYear(t.y), e; + } + return new Date(Date.UTC(t.y, t.m, t.d, t.H, t.M, t.S, t.L)); + } + function Gy(t, e, r) { + return { y: t, m: e, d: r, H: 0, M: 0, S: 0, L: 0 }; + } + function X8(t) { + var e = t.dateTime, + r = t.date, + n = t.time, + i = t.periods, + a = t.days, + s = t.shortDays, + l = t.months, + u = t.shortMonths, + h = $y(i), + f = Vy(i), + d = $y(a), + p = Vy(a), + m = $y(s), + g = Vy(s), + y = $y(l), + v = Vy(l), + x = $y(u), + b = Vy(u), + w = { + a: P, + A: F, + b: B, + B: $, + c: null, + d: dY, + e: dY, + f: Fwe, + g: Xwe, + G: Kwe, + H: Owe, + I: Pwe, + j: Bwe, + L: vY, + m: zwe, + M: Gwe, + p: z, + q: Y, + Q: gY, + s: yY, + S: $we, + u: Vwe, + U: Uwe, + V: Hwe, + w: Ywe, + W: Wwe, + x: null, + X: null, + y: qwe, + Y: jwe, + Z: Qwe, + '%': mY + }, + S = { + a: Q, + A: X, + b: ie, + B: j, + c: null, + d: pY, + e: pY, + f: tTe, + g: hTe, + G: dTe, + H: Zwe, + I: Jwe, + j: eTe, + L: bY, + m: rTe, + M: nTe, + p: J, + q: Z, + Q: gY, + s: yY, + S: iTe, + u: aTe, + U: sTe, + V: oTe, + w: lTe, + W: cTe, + x: null, + X: null, + y: uTe, + Y: fTe, + Z: pTe, + '%': mY + }, + T = { + a: M, + A: N, + b: k, + B: I, + c: C, + d: hY, + e: hY, + f: Rwe, + g: uY, + G: cY, + H: fY, + I: fY, + j: Awe, + L: Dwe, + m: Swe, + M: _we, + p: L, + q: Cwe, + Q: Mwe, + s: Iwe, + S: Lwe, + u: bwe, + U: wwe, + V: Twe, + w: xwe, + W: kwe, + x: O, + X: D, + y: uY, + Y: cY, + Z: Ewe, + '%': Nwe + }; + (w.x = E(r, w)), (w.X = E(n, w)), (w.c = E(e, w)), (S.x = E(r, S)), (S.X = E(n, S)), (S.c = E(e, S)); + function E(H, q) { + return function (K) { + var se = [], + ce = -1, + ue = 0, + te = H.length, + De, + oe, + ke; + for (K instanceof Date || (K = new Date(+K)); ++ce < te; ) + H.charCodeAt(ce) === 37 && + (se.push(H.slice(ue, ce)), + (oe = lY[(De = H.charAt(++ce))]) != null + ? (De = H.charAt(++ce)) + : (oe = De === 'e' ? ' ' : '0'), + (ke = q[De]) && (De = ke(K, oe)), + se.push(De), + (ue = ce + 1)); + return se.push(H.slice(ue, ce)), se.join(''); + }; + } + o(E, 'newFormat'); + function _(H, q) { + return function (K) { + var se = Gy(1900, void 0, 1), + ce = A(se, H, (K += ''), 0), + ue, + te; + if (ce != K.length) return null; + if ('Q' in se) return new Date(se.Q); + if ('s' in se) return new Date(se.s * 1e3 + ('L' in se ? se.L : 0)); + if ( + (q && !('Z' in se) && (se.Z = 0), + 'p' in se && (se.H = (se.H % 12) + se.p * 12), + se.m === void 0 && (se.m = 'q' in se ? se.q : 0), + 'V' in se) + ) { + if (se.V < 1 || se.V > 53) return null; + 'w' in se || (se.w = 1), + 'Z' in se + ? ((ue = q8(Gy(se.y, 0, 1))), + (te = ue.getUTCDay()), + (ue = te > 4 || te === 0 ? Bp.ceil(ue) : Bp(ue)), + (ue = zy.offset(ue, (se.V - 1) * 7)), + (se.y = ue.getUTCFullYear()), + (se.m = ue.getUTCMonth()), + (se.d = ue.getUTCDate() + ((se.w + 6) % 7))) + : ((ue = W8(Gy(se.y, 0, 1))), + (te = ue.getDay()), + (ue = te > 4 || te === 0 ? _h.ceil(ue) : _h(ue)), + (ue = Do.offset(ue, (se.V - 1) * 7)), + (se.y = ue.getFullYear()), + (se.m = ue.getMonth()), + (se.d = ue.getDate() + ((se.w + 6) % 7))); + } else + ('W' in se || 'U' in se) && + ('w' in se || (se.w = 'u' in se ? se.u % 7 : 'W' in se ? 1 : 0), + (te = 'Z' in se ? q8(Gy(se.y, 0, 1)).getUTCDay() : W8(Gy(se.y, 0, 1)).getDay()), + (se.m = 0), + (se.d = + 'W' in se + ? ((se.w + 6) % 7) + se.W * 7 - ((te + 5) % 7) + : se.w + se.U * 7 - ((te + 6) % 7))); + return 'Z' in se ? ((se.H += (se.Z / 100) | 0), (se.M += se.Z % 100), q8(se)) : W8(se); + }; + } + o(_, 'newParse'); + function A(H, q, K, se) { + for (var ce = 0, ue = q.length, te = K.length, De, oe; ce < ue; ) { + if (se >= te) return -1; + if (((De = q.charCodeAt(ce++)), De === 37)) { + if ( + ((De = q.charAt(ce++)), + (oe = T[De in lY ? q.charAt(ce++) : De]), + !oe || (se = oe(H, K, se)) < 0) + ) + return -1; + } else if (De != K.charCodeAt(se++)) return -1; + } + return se; + } + o(A, 'parseSpecifier'); + function L(H, q, K) { + var se = h.exec(q.slice(K)); + return se ? ((H.p = f.get(se[0].toLowerCase())), K + se[0].length) : -1; + } + o(L, 'parsePeriod'); + function M(H, q, K) { + var se = m.exec(q.slice(K)); + return se ? ((H.w = g.get(se[0].toLowerCase())), K + se[0].length) : -1; + } + o(M, 'parseShortWeekday'); + function N(H, q, K) { + var se = d.exec(q.slice(K)); + return se ? ((H.w = p.get(se[0].toLowerCase())), K + se[0].length) : -1; + } + o(N, 'parseWeekday'); + function k(H, q, K) { + var se = x.exec(q.slice(K)); + return se ? ((H.m = b.get(se[0].toLowerCase())), K + se[0].length) : -1; + } + o(k, 'parseShortMonth'); + function I(H, q, K) { + var se = y.exec(q.slice(K)); + return se ? ((H.m = v.get(se[0].toLowerCase())), K + se[0].length) : -1; + } + o(I, 'parseMonth'); + function C(H, q, K) { + return A(H, e, q, K); + } + o(C, 'parseLocaleDateTime'); + function O(H, q, K) { + return A(H, r, q, K); + } + o(O, 'parseLocaleDate'); + function D(H, q, K) { + return A(H, n, q, K); + } + o(D, 'parseLocaleTime'); + function P(H) { + return s[H.getDay()]; + } + o(P, 'formatShortWeekday'); + function F(H) { + return a[H.getDay()]; + } + o(F, 'formatWeekday'); + function B(H) { + return u[H.getMonth()]; + } + o(B, 'formatShortMonth'); + function $(H) { + return l[H.getMonth()]; + } + o($, 'formatMonth'); + function z(H) { + return i[+(H.getHours() >= 12)]; + } + o(z, 'formatPeriod'); + function Y(H) { + return 1 + ~~(H.getMonth() / 3); + } + o(Y, 'formatQuarter'); + function Q(H) { + return s[H.getUTCDay()]; + } + o(Q, 'formatUTCShortWeekday'); + function X(H) { + return a[H.getUTCDay()]; + } + o(X, 'formatUTCWeekday'); + function ie(H) { + return u[H.getUTCMonth()]; + } + o(ie, 'formatUTCShortMonth'); + function j(H) { + return l[H.getUTCMonth()]; + } + o(j, 'formatUTCMonth'); + function J(H) { + return i[+(H.getUTCHours() >= 12)]; + } + o(J, 'formatUTCPeriod'); + function Z(H) { + return 1 + ~~(H.getUTCMonth() / 3); + } + return ( + o(Z, 'formatUTCQuarter'), + { + format: o(function (H) { + var q = E((H += ''), w); + return ( + (q.toString = function () { + return H; + }), + q + ); + }, 'format'), + parse: o(function (H) { + var q = _((H += ''), !1); + return ( + (q.toString = function () { + return H; + }), + q + ); + }, 'parse'), + utcFormat: o(function (H) { + var q = E((H += ''), S); + return ( + (q.toString = function () { + return H; + }), + q + ); + }, 'utcFormat'), + utcParse: o(function (H) { + var q = _((H += ''), !0); + return ( + (q.toString = function () { + return H; + }), + q + ); + }, 'utcParse') + } + ); + } + function Pr(t, e, r) { + var n = t < 0 ? '-' : '', + i = (n ? -t : t) + '', + a = i.length; + return n + (a < r ? new Array(r - a + 1).join(e) + i : i); + } + function vwe(t) { + return t.replace(ywe, '\\$&'); + } + function $y(t) { + return new RegExp('^(?:' + t.map(vwe).join('|') + ')', 'i'); + } + function Vy(t) { + return new Map(t.map((e, r) => [e.toLowerCase(), r])); + } + function xwe(t, e, r) { + var n = Ki.exec(e.slice(r, r + 1)); + return n ? ((t.w = +n[0]), r + n[0].length) : -1; + } + function bwe(t, e, r) { + var n = Ki.exec(e.slice(r, r + 1)); + return n ? ((t.u = +n[0]), r + n[0].length) : -1; + } + function wwe(t, e, r) { + var n = Ki.exec(e.slice(r, r + 2)); + return n ? ((t.U = +n[0]), r + n[0].length) : -1; + } + function Twe(t, e, r) { + var n = Ki.exec(e.slice(r, r + 2)); + return n ? ((t.V = +n[0]), r + n[0].length) : -1; + } + function kwe(t, e, r) { + var n = Ki.exec(e.slice(r, r + 2)); + return n ? ((t.W = +n[0]), r + n[0].length) : -1; + } + function cY(t, e, r) { + var n = Ki.exec(e.slice(r, r + 4)); + return n ? ((t.y = +n[0]), r + n[0].length) : -1; + } + function uY(t, e, r) { + var n = Ki.exec(e.slice(r, r + 2)); + return n ? ((t.y = +n[0] + (+n[0] > 68 ? 1900 : 2e3)), r + n[0].length) : -1; + } + function Ewe(t, e, r) { + var n = /^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r, r + 6)); + return n ? ((t.Z = n[1] ? 0 : -(n[2] + (n[3] || '00'))), r + n[0].length) : -1; + } + function Cwe(t, e, r) { + var n = Ki.exec(e.slice(r, r + 1)); + return n ? ((t.q = n[0] * 3 - 3), r + n[0].length) : -1; + } + function Swe(t, e, r) { + var n = Ki.exec(e.slice(r, r + 2)); + return n ? ((t.m = n[0] - 1), r + n[0].length) : -1; + } + function hY(t, e, r) { + var n = Ki.exec(e.slice(r, r + 2)); + return n ? ((t.d = +n[0]), r + n[0].length) : -1; + } + function Awe(t, e, r) { + var n = Ki.exec(e.slice(r, r + 3)); + return n ? ((t.m = 0), (t.d = +n[0]), r + n[0].length) : -1; + } + function fY(t, e, r) { + var n = Ki.exec(e.slice(r, r + 2)); + return n ? ((t.H = +n[0]), r + n[0].length) : -1; + } + function _we(t, e, r) { + var n = Ki.exec(e.slice(r, r + 2)); + return n ? ((t.M = +n[0]), r + n[0].length) : -1; + } + function Lwe(t, e, r) { + var n = Ki.exec(e.slice(r, r + 2)); + return n ? ((t.S = +n[0]), r + n[0].length) : -1; + } + function Dwe(t, e, r) { + var n = Ki.exec(e.slice(r, r + 3)); + return n ? ((t.L = +n[0]), r + n[0].length) : -1; + } + function Rwe(t, e, r) { + var n = Ki.exec(e.slice(r, r + 6)); + return n ? ((t.L = Math.floor(n[0] / 1e3)), r + n[0].length) : -1; + } + function Nwe(t, e, r) { + var n = gwe.exec(e.slice(r, r + 1)); + return n ? r + n[0].length : -1; + } + function Mwe(t, e, r) { + var n = Ki.exec(e.slice(r)); + return n ? ((t.Q = +n[0]), r + n[0].length) : -1; + } + function Iwe(t, e, r) { + var n = Ki.exec(e.slice(r)); + return n ? ((t.s = +n[0]), r + n[0].length) : -1; + } + function dY(t, e) { + return Pr(t.getDate(), e, 2); + } + function Owe(t, e) { + return Pr(t.getHours(), e, 2); + } + function Pwe(t, e) { + return Pr(t.getHours() % 12 || 12, e, 2); + } + function Bwe(t, e) { + return Pr(1 + Do.count(Qs(t), t), e, 3); + } + function vY(t, e) { + return Pr(t.getMilliseconds(), e, 3); + } + function Fwe(t, e) { + return vY(t, e) + '000'; + } + function zwe(t, e) { + return Pr(t.getMonth() + 1, e, 2); + } + function Gwe(t, e) { + return Pr(t.getMinutes(), e, 2); + } + function $we(t, e) { + return Pr(t.getSeconds(), e, 2); + } + function Vwe(t) { + var e = t.getDay(); + return e === 0 ? 7 : e; + } + function Uwe(t, e) { + return Pr(yl.count(Qs(t) - 1, t), e, 2); + } + function xY(t) { + var e = t.getDay(); + return e >= 4 || e === 0 ? cc(t) : cc.ceil(t); + } + function Hwe(t, e) { + return (t = xY(t)), Pr(cc.count(Qs(t), t) + (Qs(t).getDay() === 4), e, 2); + } + function Ywe(t) { + return t.getDay(); + } + function Wwe(t, e) { + return Pr(_h.count(Qs(t) - 1, t), e, 2); + } + function qwe(t, e) { + return Pr(t.getFullYear() % 100, e, 2); + } + function Xwe(t, e) { + return (t = xY(t)), Pr(t.getFullYear() % 100, e, 2); + } + function jwe(t, e) { + return Pr(t.getFullYear() % 1e4, e, 4); + } + function Kwe(t, e) { + var r = t.getDay(); + return (t = r >= 4 || r === 0 ? cc(t) : cc.ceil(t)), Pr(t.getFullYear() % 1e4, e, 4); + } + function Qwe(t) { + var e = t.getTimezoneOffset(); + return (e > 0 ? '-' : ((e *= -1), '+')) + Pr((e / 60) | 0, '0', 2) + Pr(e % 60, '0', 2); + } + function pY(t, e) { + return Pr(t.getUTCDate(), e, 2); + } + function Zwe(t, e) { + return Pr(t.getUTCHours(), e, 2); + } + function Jwe(t, e) { + return Pr(t.getUTCHours() % 12 || 12, e, 2); + } + function eTe(t, e) { + return Pr(1 + zy.count(vl(t), t), e, 3); + } + function bY(t, e) { + return Pr(t.getUTCMilliseconds(), e, 3); + } + function tTe(t, e) { + return bY(t, e) + '000'; + } + function rTe(t, e) { + return Pr(t.getUTCMonth() + 1, e, 2); + } + function nTe(t, e) { + return Pr(t.getUTCMinutes(), e, 2); + } + function iTe(t, e) { + return Pr(t.getUTCSeconds(), e, 2); + } + function aTe(t) { + var e = t.getUTCDay(); + return e === 0 ? 7 : e; + } + function sTe(t, e) { + return Pr(pd.count(vl(t) - 1, t), e, 2); + } + function wY(t) { + var e = t.getUTCDay(); + return e >= 4 || e === 0 ? Lh(t) : Lh.ceil(t); + } + function oTe(t, e) { + return (t = wY(t)), Pr(Lh.count(vl(t), t) + (vl(t).getUTCDay() === 4), e, 2); + } + function lTe(t) { + return t.getUTCDay(); + } + function cTe(t, e) { + return Pr(Bp.count(vl(t) - 1, t), e, 2); + } + function uTe(t, e) { + return Pr(t.getUTCFullYear() % 100, e, 2); + } + function hTe(t, e) { + return (t = wY(t)), Pr(t.getUTCFullYear() % 100, e, 2); + } + function fTe(t, e) { + return Pr(t.getUTCFullYear() % 1e4, e, 4); + } + function dTe(t, e) { + var r = t.getUTCDay(); + return (t = r >= 4 || r === 0 ? Lh(t) : Lh.ceil(t)), Pr(t.getUTCFullYear() % 1e4, e, 4); + } + function pTe() { + return '+0000'; + } + function mY() { + return '%'; + } + function gY(t) { + return +t; + } + function yY(t) { + return Math.floor(+t / 1e3); + } + var lY, + Ki, + gwe, + ywe, + TY = R(() => { + 'use strict'; + _3(); + o(W8, 'localDate'); + o(q8, 'utcDate'); + o(Gy, 'newDate'); + o(X8, 'formatLocale'); + (lY = { '-': '', _: ' ', 0: '0' }), (Ki = /^\s*\d+/), (gwe = /^%/), (ywe = /[\\^$*+?|[\]().{}]/g); + o(Pr, 'pad'); + o(vwe, 'requote'); + o($y, 'formatRe'); + o(Vy, 'formatLookup'); + o(xwe, 'parseWeekdayNumberSunday'); + o(bwe, 'parseWeekdayNumberMonday'); + o(wwe, 'parseWeekNumberSunday'); + o(Twe, 'parseWeekNumberISO'); + o(kwe, 'parseWeekNumberMonday'); + o(cY, 'parseFullYear'); + o(uY, 'parseYear'); + o(Ewe, 'parseZone'); + o(Cwe, 'parseQuarter'); + o(Swe, 'parseMonthNumber'); + o(hY, 'parseDayOfMonth'); + o(Awe, 'parseDayOfYear'); + o(fY, 'parseHour24'); + o(_we, 'parseMinutes'); + o(Lwe, 'parseSeconds'); + o(Dwe, 'parseMilliseconds'); + o(Rwe, 'parseMicroseconds'); + o(Nwe, 'parseLiteralPercent'); + o(Mwe, 'parseUnixTimestamp'); + o(Iwe, 'parseUnixTimestampSeconds'); + o(dY, 'formatDayOfMonth'); + o(Owe, 'formatHour24'); + o(Pwe, 'formatHour12'); + o(Bwe, 'formatDayOfYear'); + o(vY, 'formatMilliseconds'); + o(Fwe, 'formatMicroseconds'); + o(zwe, 'formatMonthNumber'); + o(Gwe, 'formatMinutes'); + o($we, 'formatSeconds'); + o(Vwe, 'formatWeekdayNumberMonday'); + o(Uwe, 'formatWeekNumberSunday'); + o(xY, 'dISO'); + o(Hwe, 'formatWeekNumberISO'); + o(Ywe, 'formatWeekdayNumberSunday'); + o(Wwe, 'formatWeekNumberMonday'); + o(qwe, 'formatYear'); + o(Xwe, 'formatYearISO'); + o(jwe, 'formatFullYear'); + o(Kwe, 'formatFullYearISO'); + o(Qwe, 'formatZone'); + o(pY, 'formatUTCDayOfMonth'); + o(Zwe, 'formatUTCHour24'); + o(Jwe, 'formatUTCHour12'); + o(eTe, 'formatUTCDayOfYear'); + o(bY, 'formatUTCMilliseconds'); + o(tTe, 'formatUTCMicroseconds'); + o(rTe, 'formatUTCMonthNumber'); + o(nTe, 'formatUTCMinutes'); + o(iTe, 'formatUTCSeconds'); + o(aTe, 'formatUTCWeekdayNumberMonday'); + o(sTe, 'formatUTCWeekNumberSunday'); + o(wY, 'UTCdISO'); + o(oTe, 'formatUTCWeekNumberISO'); + o(lTe, 'formatUTCWeekdayNumberSunday'); + o(cTe, 'formatUTCWeekNumberMonday'); + o(uTe, 'formatUTCYear'); + o(hTe, 'formatUTCYearISO'); + o(fTe, 'formatUTCFullYear'); + o(dTe, 'formatUTCFullYearISO'); + o(pTe, 'formatUTCZone'); + o(mY, 'formatLiteralPercent'); + o(gY, 'formatUnixTimestamp'); + o(yY, 'formatUnixTimestampSeconds'); + }); + function j8(t) { + return (Fp = X8(t)), (md = Fp.format), (kY = Fp.parse), (EY = Fp.utcFormat), (CY = Fp.utcParse), Fp; + } + var Fp, + md, + kY, + EY, + CY, + SY = R(() => { + 'use strict'; + TY(); + j8({ + dateTime: '%x, %X', + date: '%-m/%-d/%Y', + time: '%-I:%M:%S %p', + periods: ['AM', 'PM'], + days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + shortDays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + months: [ + 'January', + 'February', + 'March', + 'April', + 'May', + 'June', + 'July', + 'August', + 'September', + 'October', + 'November', + 'December' + ], + shortMonths: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] + }); + o(j8, 'defaultLocale'); + }); + var K8 = R(() => { + 'use strict'; + SY(); + }); + function mTe(t) { + return new Date(t); + } + function gTe(t) { + return t instanceof Date ? +t : +new Date(+t); + } + function AY(t, e, r, n, i, a, s, l, u, h) { + var f = By(), + d = f.invert, + p = f.domain, + m = h('.%L'), + g = h(':%S'), + y = h('%I:%M'), + v = h('%I %p'), + x = h('%a %d'), + b = h('%b %d'), + w = h('%B'), + S = h('%Y'); + function T(E) { + return ( + u(E) < E + ? m + : l(E) < E + ? g + : s(E) < E + ? y + : a(E) < E + ? v + : n(E) < E + ? i(E) < E + ? x + : b + : r(E) < E + ? w + : S + )(E); + } + return ( + o(T, 'tickFormat'), + (f.invert = function (E) { + return new Date(d(E)); + }), + (f.domain = function (E) { + return arguments.length ? p(Array.from(E, gTe)) : p().map(mTe); + }), + (f.ticks = function (E) { + var _ = p(); + return t(_[0], _[_.length - 1], E ?? 10); + }), + (f.tickFormat = function (E, _) { + return _ == null ? T : h(_); + }), + (f.nice = function (E) { + var _ = p(); + return ( + (!E || typeof E.range != 'function') && (E = e(_[0], _[_.length - 1], E ?? 10)), E ? p(M8(_, E)) : f + ); + }), + (f.copy = function () { + return x3(f, AY(t, e, r, n, i, a, s, l, u, h)); + }), + f + ); + } + function L3() { + return Ah.apply( + AY(H8, Y8, Qs, vu, yl, Do, yu, gu, Ks, md).domain([new Date(2e3, 0, 1), new Date(2e3, 0, 2)]), + arguments + ); + } + var _Y = R(() => { + 'use strict'; + _3(); + K8(); + R8(); + Py(); + jH(); + o(mTe, 'date'); + o(gTe, 'number'); + o(AY, 'calendar'); + o(L3, 'time'); + }); + var LY = R(() => { + 'use strict'; + UH(); + XH(); + A8(); + _Y(); + }); + function Q8(t) { + for (var e = (t.length / 6) | 0, r = new Array(e), n = 0; n < e; ) r[n] = '#' + t.slice(n * 6, ++n * 6); + return r; + } + var DY = R(() => { + 'use strict'; + o(Q8, 'default'); + }); + var Z8, + RY = R(() => { + 'use strict'; + DY(); + Z8 = Q8('4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab'); + }); + var NY = R(() => { + 'use strict'; + RY(); + }); + function Nn(t) { + return o(function () { + return t; + }, 'constant'); + } + var D3 = R(() => { + 'use strict'; + o(Nn, 'default'); + }); + function IY(t) { + return t > 1 ? 0 : t < -1 ? zp : Math.acos(t); + } + function e_(t) { + return t >= 1 ? Uy : t <= -1 ? -Uy : Math.asin(t); + } + var J8, + ua, + Dh, + MY, + R3, + xl, + gd, + Qi, + zp, + Uy, + Gp, + N3 = R(() => { + 'use strict'; + (J8 = Math.abs), + (ua = Math.atan2), + (Dh = Math.cos), + (MY = Math.max), + (R3 = Math.min), + (xl = Math.sin), + (gd = Math.sqrt), + (Qi = 1e-12), + (zp = Math.PI), + (Uy = zp / 2), + (Gp = 2 * zp); + o(IY, 'acos'); + o(e_, 'asin'); + }); + function M3(t) { + let e = 3; + return ( + (t.digits = function (r) { + if (!arguments.length) return e; + if (r == null) e = null; + else { + let n = Math.floor(r); + if (!(n >= 0)) throw new RangeError(`invalid digits: ${r}`); + e = n; + } + return t; + }), + () => new ld(e) + ); + } + var t_ = R(() => { + 'use strict'; + d8(); + o(M3, 'withPath'); + }); + function yTe(t) { + return t.innerRadius; + } + function vTe(t) { + return t.outerRadius; + } + function xTe(t) { + return t.startAngle; + } + function bTe(t) { + return t.endAngle; + } + function wTe(t) { + return t && t.padAngle; + } + function TTe(t, e, r, n, i, a, s, l) { + var u = r - t, + h = n - e, + f = s - i, + d = l - a, + p = d * u - f * h; + if (!(p * p < Qi)) return (p = (f * (e - a) - d * (t - i)) / p), [t + p * u, e + p * h]; + } + function I3(t, e, r, n, i, a, s) { + var l = t - r, + u = e - n, + h = (s ? a : -a) / gd(l * l + u * u), + f = h * u, + d = -h * l, + p = t + f, + m = e + d, + g = r + f, + y = n + d, + v = (p + g) / 2, + x = (m + y) / 2, + b = g - p, + w = y - m, + S = b * b + w * w, + T = i - a, + E = p * y - g * m, + _ = (w < 0 ? -1 : 1) * gd(MY(0, T * T * S - E * E)), + A = (E * w - b * _) / S, + L = (-E * b - w * _) / S, + M = (E * w + b * _) / S, + N = (-E * b + w * _) / S, + k = A - v, + I = L - x, + C = M - v, + O = N - x; + return ( + k * k + I * I > C * C + O * O && ((A = M), (L = N)), + { + cx: A, + cy: L, + x01: -f, + y01: -d, + x11: A * (i / T - 1), + y11: L * (i / T - 1) + } + ); + } + function bl() { + var t = yTe, + e = vTe, + r = Nn(0), + n = null, + i = xTe, + a = bTe, + s = wTe, + l = null, + u = M3(h); + function h() { + var f, + d, + p = +t.apply(this, arguments), + m = +e.apply(this, arguments), + g = i.apply(this, arguments) - Uy, + y = a.apply(this, arguments) - Uy, + v = J8(y - g), + x = y > g; + if ((l || (l = f = u()), m < p && ((d = m), (m = p), (p = d)), !(m > Qi))) l.moveTo(0, 0); + else if (v > Gp - Qi) + l.moveTo(m * Dh(g), m * xl(g)), + l.arc(0, 0, m, g, y, !x), + p > Qi && (l.moveTo(p * Dh(y), p * xl(y)), l.arc(0, 0, p, y, g, x)); + else { + var b = g, + w = y, + S = g, + T = y, + E = v, + _ = v, + A = s.apply(this, arguments) / 2, + L = A > Qi && (n ? +n.apply(this, arguments) : gd(p * p + m * m)), + M = R3(J8(m - p) / 2, +r.apply(this, arguments)), + N = M, + k = M, + I, + C; + if (L > Qi) { + var O = e_((L / p) * xl(A)), + D = e_((L / m) * xl(A)); + (E -= O * 2) > Qi ? ((O *= x ? 1 : -1), (S += O), (T -= O)) : ((E = 0), (S = T = (g + y) / 2)), + (_ -= D * 2) > Qi ? ((D *= x ? 1 : -1), (b += D), (w -= D)) : ((_ = 0), (b = w = (g + y) / 2)); + } + var P = m * Dh(b), + F = m * xl(b), + B = p * Dh(T), + $ = p * xl(T); + if (M > Qi) { + var z = m * Dh(w), + Y = m * xl(w), + Q = p * Dh(S), + X = p * xl(S), + ie; + if (v < zp) + if ((ie = TTe(P, F, Q, X, z, Y, B, $))) { + var j = P - ie[0], + J = F - ie[1], + Z = z - ie[0], + H = Y - ie[1], + q = 1 / xl(IY((j * Z + J * H) / (gd(j * j + J * J) * gd(Z * Z + H * H))) / 2), + K = gd(ie[0] * ie[0] + ie[1] * ie[1]); + (N = R3(M, (p - K) / (q - 1))), (k = R3(M, (m - K) / (q + 1))); + } else N = k = 0; + } + _ > Qi + ? k > Qi + ? ((I = I3(Q, X, P, F, m, k, x)), + (C = I3(z, Y, B, $, m, k, x)), + l.moveTo(I.cx + I.x01, I.cy + I.y01), + k < M + ? l.arc(I.cx, I.cy, k, ua(I.y01, I.x01), ua(C.y01, C.x01), !x) + : (l.arc(I.cx, I.cy, k, ua(I.y01, I.x01), ua(I.y11, I.x11), !x), + l.arc(0, 0, m, ua(I.cy + I.y11, I.cx + I.x11), ua(C.cy + C.y11, C.cx + C.x11), !x), + l.arc(C.cx, C.cy, k, ua(C.y11, C.x11), ua(C.y01, C.x01), !x))) + : (l.moveTo(P, F), l.arc(0, 0, m, b, w, !x)) + : l.moveTo(P, F), + !(p > Qi) || !(E > Qi) + ? l.lineTo(B, $) + : N > Qi + ? ((I = I3(B, $, z, Y, p, -N, x)), + (C = I3(P, F, Q, X, p, -N, x)), + l.lineTo(I.cx + I.x01, I.cy + I.y01), + N < M + ? l.arc(I.cx, I.cy, N, ua(I.y01, I.x01), ua(C.y01, C.x01), !x) + : (l.arc(I.cx, I.cy, N, ua(I.y01, I.x01), ua(I.y11, I.x11), !x), + l.arc(0, 0, p, ua(I.cy + I.y11, I.cx + I.x11), ua(C.cy + C.y11, C.cx + C.x11), x), + l.arc(C.cx, C.cy, N, ua(C.y11, C.x11), ua(C.y01, C.x01), !x))) + : l.arc(0, 0, p, T, S, x); + } + if ((l.closePath(), f)) return (l = null), f + '' || null; + } + return ( + o(h, 'arc'), + (h.centroid = function () { + var f = (+t.apply(this, arguments) + +e.apply(this, arguments)) / 2, + d = (+i.apply(this, arguments) + +a.apply(this, arguments)) / 2 - zp / 2; + return [Dh(d) * f, xl(d) * f]; + }), + (h.innerRadius = function (f) { + return arguments.length ? ((t = typeof f == 'function' ? f : Nn(+f)), h) : t; + }), + (h.outerRadius = function (f) { + return arguments.length ? ((e = typeof f == 'function' ? f : Nn(+f)), h) : e; + }), + (h.cornerRadius = function (f) { + return arguments.length ? ((r = typeof f == 'function' ? f : Nn(+f)), h) : r; + }), + (h.padRadius = function (f) { + return arguments.length ? ((n = f == null ? null : typeof f == 'function' ? f : Nn(+f)), h) : n; + }), + (h.startAngle = function (f) { + return arguments.length ? ((i = typeof f == 'function' ? f : Nn(+f)), h) : i; + }), + (h.endAngle = function (f) { + return arguments.length ? ((a = typeof f == 'function' ? f : Nn(+f)), h) : a; + }), + (h.padAngle = function (f) { + return arguments.length ? ((s = typeof f == 'function' ? f : Nn(+f)), h) : s; + }), + (h.context = function (f) { + return arguments.length ? ((l = f ?? null), h) : l; + }), + h + ); + } + var OY = R(() => { + 'use strict'; + D3(); + N3(); + t_(); + o(yTe, 'arcInnerRadius'); + o(vTe, 'arcOuterRadius'); + o(xTe, 'arcStartAngle'); + o(bTe, 'arcEndAngle'); + o(wTe, 'arcPadAngle'); + o(TTe, 'intersect'); + o(I3, 'cornerTangents'); + o(bl, 'default'); + }); + function Hy(t) { + return typeof t == 'object' && 'length' in t ? t : Array.from(t); + } + var Dyt, + r_ = R(() => { + 'use strict'; + Dyt = Array.prototype.slice; + o(Hy, 'default'); + }); + function PY(t) { + this._context = t; + } + function xu(t) { + return new PY(t); + } + var n_ = R(() => { + 'use strict'; + o(PY, 'Linear'); + PY.prototype = { + areaStart: o(function () { + this._line = 0; + }, 'areaStart'), + areaEnd: o(function () { + this._line = NaN; + }, 'areaEnd'), + lineStart: o(function () { + this._point = 0; + }, 'lineStart'), + lineEnd: o(function () { + (this._line || (this._line !== 0 && this._point === 1)) && this._context.closePath(), + (this._line = 1 - this._line); + }, 'lineEnd'), + point: o(function (t, e) { + switch (((t = +t), (e = +e), this._point)) { + case 0: + (this._point = 1), this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e); + break; + case 1: + this._point = 2; + default: + this._context.lineTo(t, e); + break; + } + }, 'point') + }; + o(xu, 'default'); + }); + function BY(t) { + return t[0]; + } + function FY(t) { + return t[1]; + } + var zY = R(() => { + 'use strict'; + o(BY, 'x'); + o(FY, 'y'); + }); + function ha(t, e) { + var r = Nn(!0), + n = null, + i = xu, + a = null, + s = M3(l); + (t = typeof t == 'function' ? t : t === void 0 ? BY : Nn(t)), + (e = typeof e == 'function' ? e : e === void 0 ? FY : Nn(e)); + function l(u) { + var h, + f = (u = Hy(u)).length, + d, + p = !1, + m; + for (n == null && (a = i((m = s()))), h = 0; h <= f; ++h) + !(h < f && r((d = u[h]), h, u)) === p && ((p = !p) ? a.lineStart() : a.lineEnd()), + p && a.point(+t(d, h, u), +e(d, h, u)); + if (m) return (a = null), m + '' || null; + } + return ( + o(l, 'line'), + (l.x = function (u) { + return arguments.length ? ((t = typeof u == 'function' ? u : Nn(+u)), l) : t; + }), + (l.y = function (u) { + return arguments.length ? ((e = typeof u == 'function' ? u : Nn(+u)), l) : e; + }), + (l.defined = function (u) { + return arguments.length ? ((r = typeof u == 'function' ? u : Nn(!!u)), l) : r; + }), + (l.curve = function (u) { + return arguments.length ? ((i = u), n != null && (a = i(n)), l) : i; + }), + (l.context = function (u) { + return arguments.length ? (u == null ? (n = a = null) : (a = i((n = u))), l) : n; + }), + l + ); + } + var GY = R(() => { + 'use strict'; + r_(); + D3(); + n_(); + t_(); + zY(); + o(ha, 'default'); + }); + function i_(t, e) { + return e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN; + } + var $Y = R(() => { + 'use strict'; + o(i_, 'default'); + }); + function a_(t) { + return t; + } + var VY = R(() => { + 'use strict'; + o(a_, 'default'); + }); + function O3() { + var t = a_, + e = i_, + r = null, + n = Nn(0), + i = Nn(Gp), + a = Nn(0); + function s(l) { + var u, + h = (l = Hy(l)).length, + f, + d, + p = 0, + m = new Array(h), + g = new Array(h), + y = +n.apply(this, arguments), + v = Math.min(Gp, Math.max(-Gp, i.apply(this, arguments) - y)), + x, + b = Math.min(Math.abs(v) / h, a.apply(this, arguments)), + w = b * (v < 0 ? -1 : 1), + S; + for (u = 0; u < h; ++u) (S = g[(m[u] = u)] = +t(l[u], u, l)) > 0 && (p += S); + for ( + e != null + ? m.sort(function (T, E) { + return e(g[T], g[E]); + }) + : r != null && + m.sort(function (T, E) { + return r(l[T], l[E]); + }), + u = 0, + d = p ? (v - h * w) / p : 0; + u < h; + ++u, y = x + ) + (f = m[u]), + (S = g[f]), + (x = y + (S > 0 ? S * d : 0) + w), + (g[f] = { + data: l[f], + index: u, + value: S, + startAngle: y, + endAngle: x, + padAngle: b + }); + return g; + } + return ( + o(s, 'pie'), + (s.value = function (l) { + return arguments.length ? ((t = typeof l == 'function' ? l : Nn(+l)), s) : t; + }), + (s.sortValues = function (l) { + return arguments.length ? ((e = l), (r = null), s) : e; + }), + (s.sort = function (l) { + return arguments.length ? ((r = l), (e = null), s) : r; + }), + (s.startAngle = function (l) { + return arguments.length ? ((n = typeof l == 'function' ? l : Nn(+l)), s) : n; + }), + (s.endAngle = function (l) { + return arguments.length ? ((i = typeof l == 'function' ? l : Nn(+l)), s) : i; + }), + (s.padAngle = function (l) { + return arguments.length ? ((a = typeof l == 'function' ? l : Nn(+l)), s) : a; + }), + s + ); + } + var UY = R(() => { + 'use strict'; + r_(); + D3(); + $Y(); + VY(); + N3(); + o(O3, 'default'); + }); + function s_(t) { + return new P3(t, !0); + } + function o_(t) { + return new P3(t, !1); + } + var P3, + HY = R(() => { + 'use strict'; + P3 = class { + static { + o(this, 'Bump'); + } + constructor(e, r) { + (this._context = e), (this._x = r); + } + areaStart() { + this._line = 0; + } + areaEnd() { + this._line = NaN; + } + lineStart() { + this._point = 0; + } + lineEnd() { + (this._line || (this._line !== 0 && this._point === 1)) && this._context.closePath(), + (this._line = 1 - this._line); + } + point(e, r) { + switch (((e = +e), (r = +r), this._point)) { + case 0: { + (this._point = 1), this._line ? this._context.lineTo(e, r) : this._context.moveTo(e, r); + break; + } + case 1: + this._point = 2; + default: { + this._x + ? this._context.bezierCurveTo( + (this._x0 = (this._x0 + e) / 2), + this._y0, + this._x0, + r, + e, + r + ) + : this._context.bezierCurveTo( + this._x0, + (this._y0 = (this._y0 + r) / 2), + e, + this._y0, + e, + r + ); + break; + } + } + (this._x0 = e), (this._y0 = r); + } + }; + o(s_, 'bumpX'); + o(o_, 'bumpY'); + }); + function Zs() {} + var Yy = R(() => { + 'use strict'; + o(Zs, 'default'); + }); + function $p(t, e, r) { + t._context.bezierCurveTo( + (2 * t._x0 + t._x1) / 3, + (2 * t._y0 + t._y1) / 3, + (t._x0 + 2 * t._x1) / 3, + (t._y0 + 2 * t._y1) / 3, + (t._x0 + 4 * t._x1 + e) / 6, + (t._y0 + 4 * t._y1 + r) / 6 + ); + } + function Wy(t) { + this._context = t; + } + function vs(t) { + return new Wy(t); + } + var qy = R(() => { + 'use strict'; + o($p, 'point'); + o(Wy, 'Basis'); + Wy.prototype = { + areaStart: o(function () { + this._line = 0; + }, 'areaStart'), + areaEnd: o(function () { + this._line = NaN; + }, 'areaEnd'), + lineStart: o(function () { + (this._x0 = this._x1 = this._y0 = this._y1 = NaN), (this._point = 0); + }, 'lineStart'), + lineEnd: o(function () { + switch (this._point) { + case 3: + $p(this, this._x1, this._y1); + case 2: + this._context.lineTo(this._x1, this._y1); + break; + } + (this._line || (this._line !== 0 && this._point === 1)) && this._context.closePath(), + (this._line = 1 - this._line); + }, 'lineEnd'), + point: o(function (t, e) { + switch (((t = +t), (e = +e), this._point)) { + case 0: + (this._point = 1), this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e); + break; + case 1: + this._point = 2; + break; + case 2: + (this._point = 3), + this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6); + default: + $p(this, t, e); + break; + } + (this._x0 = this._x1), (this._x1 = t), (this._y0 = this._y1), (this._y1 = e); + }, 'point') + }; + o(vs, 'default'); + }); + function YY(t) { + this._context = t; + } + function B3(t) { + return new YY(t); + } + var WY = R(() => { + 'use strict'; + Yy(); + qy(); + o(YY, 'BasisClosed'); + YY.prototype = { + areaStart: Zs, + areaEnd: Zs, + lineStart: o(function () { + (this._x0 = + this._x1 = + this._x2 = + this._x3 = + this._x4 = + this._y0 = + this._y1 = + this._y2 = + this._y3 = + this._y4 = + NaN), + (this._point = 0); + }, 'lineStart'), + lineEnd: o(function () { + switch (this._point) { + case 1: { + this._context.moveTo(this._x2, this._y2), this._context.closePath(); + break; + } + case 2: { + this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3), + this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3), + this._context.closePath(); + break; + } + case 3: { + this.point(this._x2, this._y2), this.point(this._x3, this._y3), this.point(this._x4, this._y4); + break; + } + } + }, 'lineEnd'), + point: o(function (t, e) { + switch (((t = +t), (e = +e), this._point)) { + case 0: + (this._point = 1), (this._x2 = t), (this._y2 = e); + break; + case 1: + (this._point = 2), (this._x3 = t), (this._y3 = e); + break; + case 2: + (this._point = 3), + (this._x4 = t), + (this._y4 = e), + this._context.moveTo((this._x0 + 4 * this._x1 + t) / 6, (this._y0 + 4 * this._y1 + e) / 6); + break; + default: + $p(this, t, e); + break; + } + (this._x0 = this._x1), (this._x1 = t), (this._y0 = this._y1), (this._y1 = e); + }, 'point') + }; + o(B3, 'default'); + }); + function qY(t) { + this._context = t; + } + function F3(t) { + return new qY(t); + } + var XY = R(() => { + 'use strict'; + qy(); + o(qY, 'BasisOpen'); + qY.prototype = { + areaStart: o(function () { + this._line = 0; + }, 'areaStart'), + areaEnd: o(function () { + this._line = NaN; + }, 'areaEnd'), + lineStart: o(function () { + (this._x0 = this._x1 = this._y0 = this._y1 = NaN), (this._point = 0); + }, 'lineStart'), + lineEnd: o(function () { + (this._line || (this._line !== 0 && this._point === 3)) && this._context.closePath(), + (this._line = 1 - this._line); + }, 'lineEnd'), + point: o(function (t, e) { + switch (((t = +t), (e = +e), this._point)) { + case 0: + this._point = 1; + break; + case 1: + this._point = 2; + break; + case 2: + this._point = 3; + var r = (this._x0 + 4 * this._x1 + t) / 6, + n = (this._y0 + 4 * this._y1 + e) / 6; + this._line ? this._context.lineTo(r, n) : this._context.moveTo(r, n); + break; + case 3: + this._point = 4; + default: + $p(this, t, e); + break; + } + (this._x0 = this._x1), (this._x1 = t), (this._y0 = this._y1), (this._y1 = e); + }, 'point') + }; + o(F3, 'default'); + }); + function jY(t, e) { + (this._basis = new Wy(t)), (this._beta = e); + } + var l_, + KY = R(() => { + 'use strict'; + qy(); + o(jY, 'Bundle'); + jY.prototype = { + lineStart: o(function () { + (this._x = []), (this._y = []), this._basis.lineStart(); + }, 'lineStart'), + lineEnd: o(function () { + var t = this._x, + e = this._y, + r = t.length - 1; + if (r > 0) + for (var n = t[0], i = e[0], a = t[r] - n, s = e[r] - i, l = -1, u; ++l <= r; ) + (u = l / r), + this._basis.point( + this._beta * t[l] + (1 - this._beta) * (n + u * a), + this._beta * e[l] + (1 - this._beta) * (i + u * s) + ); + (this._x = this._y = null), this._basis.lineEnd(); + }, 'lineEnd'), + point: o(function (t, e) { + this._x.push(+t), this._y.push(+e); + }, 'point') + }; + l_ = o(function t(e) { + function r(n) { + return e === 1 ? new Wy(n) : new jY(n, e); + } + return ( + o(r, 'bundle'), + (r.beta = function (n) { + return t(+n); + }), + r + ); + }, 'custom')(0.85); + }); + function Vp(t, e, r) { + t._context.bezierCurveTo( + t._x1 + t._k * (t._x2 - t._x0), + t._y1 + t._k * (t._y2 - t._y0), + t._x2 + t._k * (t._x1 - e), + t._y2 + t._k * (t._y1 - r), + t._x2, + t._y2 + ); + } + function z3(t, e) { + (this._context = t), (this._k = (1 - e) / 6); + } + var c_, + Xy = R(() => { + 'use strict'; + o(Vp, 'point'); + o(z3, 'Cardinal'); + z3.prototype = { + areaStart: o(function () { + this._line = 0; + }, 'areaStart'), + areaEnd: o(function () { + this._line = NaN; + }, 'areaEnd'), + lineStart: o(function () { + (this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN), (this._point = 0); + }, 'lineStart'), + lineEnd: o(function () { + switch (this._point) { + case 2: + this._context.lineTo(this._x2, this._y2); + break; + case 3: + Vp(this, this._x1, this._y1); + break; + } + (this._line || (this._line !== 0 && this._point === 1)) && this._context.closePath(), + (this._line = 1 - this._line); + }, 'lineEnd'), + point: o(function (t, e) { + switch (((t = +t), (e = +e), this._point)) { + case 0: + (this._point = 1), this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e); + break; + case 1: + (this._point = 2), (this._x1 = t), (this._y1 = e); + break; + case 2: + this._point = 3; + default: + Vp(this, t, e); + break; + } + (this._x0 = this._x1), + (this._x1 = this._x2), + (this._x2 = t), + (this._y0 = this._y1), + (this._y1 = this._y2), + (this._y2 = e); + }, 'point') + }; + c_ = o(function t(e) { + function r(n) { + return new z3(n, e); + } + return ( + o(r, 'cardinal'), + (r.tension = function (n) { + return t(+n); + }), + r + ); + }, 'custom')(0); + }); + function G3(t, e) { + (this._context = t), (this._k = (1 - e) / 6); + } + var u_, + h_ = R(() => { + 'use strict'; + Yy(); + Xy(); + o(G3, 'CardinalClosed'); + G3.prototype = { + areaStart: Zs, + areaEnd: Zs, + lineStart: o(function () { + (this._x0 = + this._x1 = + this._x2 = + this._x3 = + this._x4 = + this._x5 = + this._y0 = + this._y1 = + this._y2 = + this._y3 = + this._y4 = + this._y5 = + NaN), + (this._point = 0); + }, 'lineStart'), + lineEnd: o(function () { + switch (this._point) { + case 1: { + this._context.moveTo(this._x3, this._y3), this._context.closePath(); + break; + } + case 2: { + this._context.lineTo(this._x3, this._y3), this._context.closePath(); + break; + } + case 3: { + this.point(this._x3, this._y3), + this.point(this._x4, this._y4), + this.point(this._x5, this._y5); + break; + } + } + }, 'lineEnd'), + point: o(function (t, e) { + switch (((t = +t), (e = +e), this._point)) { + case 0: + (this._point = 1), (this._x3 = t), (this._y3 = e); + break; + case 1: + (this._point = 2), this._context.moveTo((this._x4 = t), (this._y4 = e)); + break; + case 2: + (this._point = 3), (this._x5 = t), (this._y5 = e); + break; + default: + Vp(this, t, e); + break; + } + (this._x0 = this._x1), + (this._x1 = this._x2), + (this._x2 = t), + (this._y0 = this._y1), + (this._y1 = this._y2), + (this._y2 = e); + }, 'point') + }; + u_ = o(function t(e) { + function r(n) { + return new G3(n, e); + } + return ( + o(r, 'cardinal'), + (r.tension = function (n) { + return t(+n); + }), + r + ); + }, 'custom')(0); + }); + function $3(t, e) { + (this._context = t), (this._k = (1 - e) / 6); + } + var f_, + d_ = R(() => { + 'use strict'; + Xy(); + o($3, 'CardinalOpen'); + $3.prototype = { + areaStart: o(function () { + this._line = 0; + }, 'areaStart'), + areaEnd: o(function () { + this._line = NaN; + }, 'areaEnd'), + lineStart: o(function () { + (this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN), (this._point = 0); + }, 'lineStart'), + lineEnd: o(function () { + (this._line || (this._line !== 0 && this._point === 3)) && this._context.closePath(), + (this._line = 1 - this._line); + }, 'lineEnd'), + point: o(function (t, e) { + switch (((t = +t), (e = +e), this._point)) { + case 0: + this._point = 1; + break; + case 1: + this._point = 2; + break; + case 2: + (this._point = 3), + this._line + ? this._context.lineTo(this._x2, this._y2) + : this._context.moveTo(this._x2, this._y2); + break; + case 3: + this._point = 4; + default: + Vp(this, t, e); + break; + } + (this._x0 = this._x1), + (this._x1 = this._x2), + (this._x2 = t), + (this._y0 = this._y1), + (this._y1 = this._y2), + (this._y2 = e); + }, 'point') + }; + f_ = o(function t(e) { + function r(n) { + return new $3(n, e); + } + return ( + o(r, 'cardinal'), + (r.tension = function (n) { + return t(+n); + }), + r + ); + }, 'custom')(0); + }); + function jy(t, e, r) { + var n = t._x1, + i = t._y1, + a = t._x2, + s = t._y2; + if (t._l01_a > Qi) { + var l = 2 * t._l01_2a + 3 * t._l01_a * t._l12_a + t._l12_2a, + u = 3 * t._l01_a * (t._l01_a + t._l12_a); + (n = (n * l - t._x0 * t._l12_2a + t._x2 * t._l01_2a) / u), + (i = (i * l - t._y0 * t._l12_2a + t._y2 * t._l01_2a) / u); + } + if (t._l23_a > Qi) { + var h = 2 * t._l23_2a + 3 * t._l23_a * t._l12_a + t._l12_2a, + f = 3 * t._l23_a * (t._l23_a + t._l12_a); + (a = (a * h + t._x1 * t._l23_2a - e * t._l12_2a) / f), + (s = (s * h + t._y1 * t._l23_2a - r * t._l12_2a) / f); + } + t._context.bezierCurveTo(n, i, a, s, t._x2, t._y2); + } + function QY(t, e) { + (this._context = t), (this._alpha = e); + } + var p_, + V3 = R(() => { + 'use strict'; + N3(); + Xy(); + o(jy, 'point'); + o(QY, 'CatmullRom'); + QY.prototype = { + areaStart: o(function () { + this._line = 0; + }, 'areaStart'), + areaEnd: o(function () { + this._line = NaN; + }, 'areaEnd'), + lineStart: o(function () { + (this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN), + (this._l01_a = + this._l12_a = + this._l23_a = + this._l01_2a = + this._l12_2a = + this._l23_2a = + this._point = + 0); + }, 'lineStart'), + lineEnd: o(function () { + switch (this._point) { + case 2: + this._context.lineTo(this._x2, this._y2); + break; + case 3: + this.point(this._x2, this._y2); + break; + } + (this._line || (this._line !== 0 && this._point === 1)) && this._context.closePath(), + (this._line = 1 - this._line); + }, 'lineEnd'), + point: o(function (t, e) { + if (((t = +t), (e = +e), this._point)) { + var r = this._x2 - t, + n = this._y2 - e; + this._l23_a = Math.sqrt((this._l23_2a = Math.pow(r * r + n * n, this._alpha))); + } + switch (this._point) { + case 0: + (this._point = 1), this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e); + break; + case 1: + this._point = 2; + break; + case 2: + this._point = 3; + default: + jy(this, t, e); + break; + } + (this._l01_a = this._l12_a), + (this._l12_a = this._l23_a), + (this._l01_2a = this._l12_2a), + (this._l12_2a = this._l23_2a), + (this._x0 = this._x1), + (this._x1 = this._x2), + (this._x2 = t), + (this._y0 = this._y1), + (this._y1 = this._y2), + (this._y2 = e); + }, 'point') + }; + p_ = o(function t(e) { + function r(n) { + return e ? new QY(n, e) : new z3(n, 0); + } + return ( + o(r, 'catmullRom'), + (r.alpha = function (n) { + return t(+n); + }), + r + ); + }, 'custom')(0.5); + }); + function ZY(t, e) { + (this._context = t), (this._alpha = e); + } + var m_, + JY = R(() => { + 'use strict'; + h_(); + Yy(); + V3(); + o(ZY, 'CatmullRomClosed'); + ZY.prototype = { + areaStart: Zs, + areaEnd: Zs, + lineStart: o(function () { + (this._x0 = + this._x1 = + this._x2 = + this._x3 = + this._x4 = + this._x5 = + this._y0 = + this._y1 = + this._y2 = + this._y3 = + this._y4 = + this._y5 = + NaN), + (this._l01_a = + this._l12_a = + this._l23_a = + this._l01_2a = + this._l12_2a = + this._l23_2a = + this._point = + 0); + }, 'lineStart'), + lineEnd: o(function () { + switch (this._point) { + case 1: { + this._context.moveTo(this._x3, this._y3), this._context.closePath(); + break; + } + case 2: { + this._context.lineTo(this._x3, this._y3), this._context.closePath(); + break; + } + case 3: { + this.point(this._x3, this._y3), + this.point(this._x4, this._y4), + this.point(this._x5, this._y5); + break; + } + } + }, 'lineEnd'), + point: o(function (t, e) { + if (((t = +t), (e = +e), this._point)) { + var r = this._x2 - t, + n = this._y2 - e; + this._l23_a = Math.sqrt((this._l23_2a = Math.pow(r * r + n * n, this._alpha))); + } + switch (this._point) { + case 0: + (this._point = 1), (this._x3 = t), (this._y3 = e); + break; + case 1: + (this._point = 2), this._context.moveTo((this._x4 = t), (this._y4 = e)); + break; + case 2: + (this._point = 3), (this._x5 = t), (this._y5 = e); + break; + default: + jy(this, t, e); + break; + } + (this._l01_a = this._l12_a), + (this._l12_a = this._l23_a), + (this._l01_2a = this._l12_2a), + (this._l12_2a = this._l23_2a), + (this._x0 = this._x1), + (this._x1 = this._x2), + (this._x2 = t), + (this._y0 = this._y1), + (this._y1 = this._y2), + (this._y2 = e); + }, 'point') + }; + m_ = o(function t(e) { + function r(n) { + return e ? new ZY(n, e) : new G3(n, 0); + } + return ( + o(r, 'catmullRom'), + (r.alpha = function (n) { + return t(+n); + }), + r + ); + }, 'custom')(0.5); + }); + function eW(t, e) { + (this._context = t), (this._alpha = e); + } + var g_, + tW = R(() => { + 'use strict'; + d_(); + V3(); + o(eW, 'CatmullRomOpen'); + eW.prototype = { + areaStart: o(function () { + this._line = 0; + }, 'areaStart'), + areaEnd: o(function () { + this._line = NaN; + }, 'areaEnd'), + lineStart: o(function () { + (this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN), + (this._l01_a = + this._l12_a = + this._l23_a = + this._l01_2a = + this._l12_2a = + this._l23_2a = + this._point = + 0); + }, 'lineStart'), + lineEnd: o(function () { + (this._line || (this._line !== 0 && this._point === 3)) && this._context.closePath(), + (this._line = 1 - this._line); + }, 'lineEnd'), + point: o(function (t, e) { + if (((t = +t), (e = +e), this._point)) { + var r = this._x2 - t, + n = this._y2 - e; + this._l23_a = Math.sqrt((this._l23_2a = Math.pow(r * r + n * n, this._alpha))); + } + switch (this._point) { + case 0: + this._point = 1; + break; + case 1: + this._point = 2; + break; + case 2: + (this._point = 3), + this._line + ? this._context.lineTo(this._x2, this._y2) + : this._context.moveTo(this._x2, this._y2); + break; + case 3: + this._point = 4; + default: + jy(this, t, e); + break; + } + (this._l01_a = this._l12_a), + (this._l12_a = this._l23_a), + (this._l01_2a = this._l12_2a), + (this._l12_2a = this._l23_2a), + (this._x0 = this._x1), + (this._x1 = this._x2), + (this._x2 = t), + (this._y0 = this._y1), + (this._y1 = this._y2), + (this._y2 = e); + }, 'point') + }; + g_ = o(function t(e) { + function r(n) { + return e ? new eW(n, e) : new $3(n, 0); + } + return ( + o(r, 'catmullRom'), + (r.alpha = function (n) { + return t(+n); + }), + r + ); + }, 'custom')(0.5); + }); + function rW(t) { + this._context = t; + } + function U3(t) { + return new rW(t); + } + var nW = R(() => { + 'use strict'; + Yy(); + o(rW, 'LinearClosed'); + rW.prototype = { + areaStart: Zs, + areaEnd: Zs, + lineStart: o(function () { + this._point = 0; + }, 'lineStart'), + lineEnd: o(function () { + this._point && this._context.closePath(); + }, 'lineEnd'), + point: o(function (t, e) { + (t = +t), + (e = +e), + this._point ? this._context.lineTo(t, e) : ((this._point = 1), this._context.moveTo(t, e)); + }, 'point') + }; + o(U3, 'default'); + }); + function iW(t) { + return t < 0 ? -1 : 1; + } + function aW(t, e, r) { + var n = t._x1 - t._x0, + i = e - t._x1, + a = (t._y1 - t._y0) / (n || (i < 0 && -0)), + s = (r - t._y1) / (i || (n < 0 && -0)), + l = (a * i + s * n) / (n + i); + return (iW(a) + iW(s)) * Math.min(Math.abs(a), Math.abs(s), 0.5 * Math.abs(l)) || 0; + } + function sW(t, e) { + var r = t._x1 - t._x0; + return r ? ((3 * (t._y1 - t._y0)) / r - e) / 2 : e; + } + function y_(t, e, r) { + var n = t._x0, + i = t._y0, + a = t._x1, + s = t._y1, + l = (a - n) / 3; + t._context.bezierCurveTo(n + l, i + l * e, a - l, s - l * r, a, s); + } + function H3(t) { + this._context = t; + } + function oW(t) { + this._context = new lW(t); + } + function lW(t) { + this._context = t; + } + function v_(t) { + return new H3(t); + } + function x_(t) { + return new oW(t); + } + var cW = R(() => { + 'use strict'; + o(iW, 'sign'); + o(aW, 'slope3'); + o(sW, 'slope2'); + o(y_, 'point'); + o(H3, 'MonotoneX'); + H3.prototype = { + areaStart: o(function () { + this._line = 0; + }, 'areaStart'), + areaEnd: o(function () { + this._line = NaN; + }, 'areaEnd'), + lineStart: o(function () { + (this._x0 = this._x1 = this._y0 = this._y1 = this._t0 = NaN), (this._point = 0); + }, 'lineStart'), + lineEnd: o(function () { + switch (this._point) { + case 2: + this._context.lineTo(this._x1, this._y1); + break; + case 3: + y_(this, this._t0, sW(this, this._t0)); + break; + } + (this._line || (this._line !== 0 && this._point === 1)) && this._context.closePath(), + (this._line = 1 - this._line); + }, 'lineEnd'), + point: o(function (t, e) { + var r = NaN; + if (((t = +t), (e = +e), !(t === this._x1 && e === this._y1))) { + switch (this._point) { + case 0: + (this._point = 1), this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e); + break; + case 1: + this._point = 2; + break; + case 2: + (this._point = 3), y_(this, sW(this, (r = aW(this, t, e))), r); + break; + default: + y_(this, this._t0, (r = aW(this, t, e))); + break; + } + (this._x0 = this._x1), (this._x1 = t), (this._y0 = this._y1), (this._y1 = e), (this._t0 = r); + } + }, 'point') + }; + o(oW, 'MonotoneY'); + (oW.prototype = Object.create(H3.prototype)).point = function (t, e) { + H3.prototype.point.call(this, e, t); + }; + o(lW, 'ReflectContext'); + lW.prototype = { + moveTo: o(function (t, e) { + this._context.moveTo(e, t); + }, 'moveTo'), + closePath: o(function () { + this._context.closePath(); + }, 'closePath'), + lineTo: o(function (t, e) { + this._context.lineTo(e, t); + }, 'lineTo'), + bezierCurveTo: o(function (t, e, r, n, i, a) { + this._context.bezierCurveTo(e, t, n, r, a, i); + }, 'bezierCurveTo') + }; + o(v_, 'monotoneX'); + o(x_, 'monotoneY'); + }); + function hW(t) { + this._context = t; + } + function uW(t) { + var e, + r = t.length - 1, + n, + i = new Array(r), + a = new Array(r), + s = new Array(r); + for (i[0] = 0, a[0] = 2, s[0] = t[0] + 2 * t[1], e = 1; e < r - 1; ++e) + (i[e] = 1), (a[e] = 4), (s[e] = 4 * t[e] + 2 * t[e + 1]); + for (i[r - 1] = 2, a[r - 1] = 7, s[r - 1] = 8 * t[r - 1] + t[r], e = 1; e < r; ++e) + (n = i[e] / a[e - 1]), (a[e] -= n), (s[e] -= n * s[e - 1]); + for (i[r - 1] = s[r - 1] / a[r - 1], e = r - 2; e >= 0; --e) i[e] = (s[e] - i[e + 1]) / a[e]; + for (a[r - 1] = (t[r] + i[r - 1]) / 2, e = 0; e < r - 1; ++e) a[e] = 2 * t[e + 1] - i[e + 1]; + return [i, a]; + } + function Y3(t) { + return new hW(t); + } + var fW = R(() => { + 'use strict'; + o(hW, 'Natural'); + hW.prototype = { + areaStart: o(function () { + this._line = 0; + }, 'areaStart'), + areaEnd: o(function () { + this._line = NaN; + }, 'areaEnd'), + lineStart: o(function () { + (this._x = []), (this._y = []); + }, 'lineStart'), + lineEnd: o(function () { + var t = this._x, + e = this._y, + r = t.length; + if (r) + if ((this._line ? this._context.lineTo(t[0], e[0]) : this._context.moveTo(t[0], e[0]), r === 2)) + this._context.lineTo(t[1], e[1]); + else + for (var n = uW(t), i = uW(e), a = 0, s = 1; s < r; ++a, ++s) + this._context.bezierCurveTo(n[0][a], i[0][a], n[1][a], i[1][a], t[s], e[s]); + (this._line || (this._line !== 0 && r === 1)) && this._context.closePath(), + (this._line = 1 - this._line), + (this._x = this._y = null); + }, 'lineEnd'), + point: o(function (t, e) { + this._x.push(+t), this._y.push(+e); + }, 'point') + }; + o(uW, 'controlPoints'); + o(Y3, 'default'); + }); + function W3(t, e) { + (this._context = t), (this._t = e); + } + function q3(t) { + return new W3(t, 0.5); + } + function b_(t) { + return new W3(t, 0); + } + function w_(t) { + return new W3(t, 1); + } + var dW = R(() => { + 'use strict'; + o(W3, 'Step'); + W3.prototype = { + areaStart: o(function () { + this._line = 0; + }, 'areaStart'), + areaEnd: o(function () { + this._line = NaN; + }, 'areaEnd'), + lineStart: o(function () { + (this._x = this._y = NaN), (this._point = 0); + }, 'lineStart'), + lineEnd: o(function () { + 0 < this._t && this._t < 1 && this._point === 2 && this._context.lineTo(this._x, this._y), + (this._line || (this._line !== 0 && this._point === 1)) && this._context.closePath(), + this._line >= 0 && ((this._t = 1 - this._t), (this._line = 1 - this._line)); + }, 'lineEnd'), + point: o(function (t, e) { + switch (((t = +t), (e = +e), this._point)) { + case 0: + (this._point = 1), this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e); + break; + case 1: + this._point = 2; + default: { + if (this._t <= 0) this._context.lineTo(this._x, e), this._context.lineTo(t, e); + else { + var r = this._x * (1 - this._t) + t * this._t; + this._context.lineTo(r, this._y), this._context.lineTo(r, e); + } + break; + } + } + (this._x = t), (this._y = e); + }, 'point') + }; + o(q3, 'default'); + o(b_, 'stepBefore'); + o(w_, 'stepAfter'); + }); + var pW = R(() => { + 'use strict'; + OY(); + GY(); + UY(); + WY(); + XY(); + qy(); + HY(); + KY(); + h_(); + d_(); + Xy(); + JY(); + tW(); + V3(); + nW(); + n_(); + cW(); + fW(); + dW(); + }); + var mW = R(() => { + 'use strict'; + }); + var gW = R(() => { + 'use strict'; + }); + function Rh(t, e, r) { + (this.k = t), (this.x = e), (this.y = r); + } + function k_(t) { + for (; !t.__zoom; ) if (!(t = t.parentNode)) return T_; + return t.__zoom; + } + var T_, + E_ = R(() => { + 'use strict'; + o(Rh, 'Transform'); + Rh.prototype = { + constructor: Rh, + scale: o(function (t) { + return t === 1 ? this : new Rh(this.k * t, this.x, this.y); + }, 'scale'), + translate: o(function (t, e) { + return (t === 0) & (e === 0) ? this : new Rh(this.k, this.x + this.k * t, this.y + this.k * e); + }, 'translate'), + apply: o(function (t) { + return [t[0] * this.k + this.x, t[1] * this.k + this.y]; + }, 'apply'), + applyX: o(function (t) { + return t * this.k + this.x; + }, 'applyX'), + applyY: o(function (t) { + return t * this.k + this.y; + }, 'applyY'), + invert: o(function (t) { + return [(t[0] - this.x) / this.k, (t[1] - this.y) / this.k]; + }, 'invert'), + invertX: o(function (t) { + return (t - this.x) / this.k; + }, 'invertX'), + invertY: o(function (t) { + return (t - this.y) / this.k; + }, 'invertY'), + rescaleX: o(function (t) { + return t.copy().domain(t.range().map(this.invertX, this).map(t.invert, t)); + }, 'rescaleX'), + rescaleY: o(function (t) { + return t.copy().domain(t.range().map(this.invertY, this).map(t.invert, t)); + }, 'rescaleY'), + toString: o(function () { + return 'translate(' + this.x + ',' + this.y + ') scale(' + this.k + ')'; + }, 'toString') + }; + T_ = new Rh(1, 0, 0); + k_.prototype = Rh.prototype; + o(k_, 'transform'); + }); + var yW = R(() => { + 'use strict'; + }); + var vW = R(() => { + 'use strict'; + c3(); + mW(); + gW(); + E_(); + yW(); + }); + var xW = R(() => { + 'use strict'; + vW(); + E_(); + }); + var Zt = R(() => { + 'use strict'; + bh(); + K$(); + mH(); + xH(); + Lp(); + bH(); + wH(); + bS(); + $V(); + TH(); + l8(); + kH(); + CH(); + C8(); + zH(); + GH(); + Np(); + d8(); + $H(); + EH(); + VH(); + LY(); + NY(); + fl(); + pW(); + _3(); + K8(); + n3(); + c3(); + xW(); + }); + var bW = gi((Zi) => { + 'use strict'; + Object.defineProperty(Zi, '__esModule', { value: !0 }); + Zi.BLANK_URL = + Zi.relativeFirstCharacters = + Zi.whitespaceEscapeCharsRegex = + Zi.urlSchemeRegex = + Zi.ctrlCharactersRegex = + Zi.htmlCtrlEntityRegex = + Zi.htmlEntitiesRegex = + Zi.invalidProtocolRegex = + void 0; + Zi.invalidProtocolRegex = /^([^\w]*)(javascript|data|vbscript)/im; + Zi.htmlEntitiesRegex = /&#(\w+)(^\w|;)?/g; + Zi.htmlCtrlEntityRegex = /&(newline|tab);/gi; + Zi.ctrlCharactersRegex = /[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim; + Zi.urlSchemeRegex = /^.+(:|:)/gim; + Zi.whitespaceEscapeCharsRegex = /(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g; + Zi.relativeFirstCharacters = ['.', '/']; + Zi.BLANK_URL = 'about:blank'; + }); + var Up = gi((X3) => { + 'use strict'; + Object.defineProperty(X3, '__esModule', { value: !0 }); + X3.sanitizeUrl = void 0; + var Na = bW(); + function kTe(t) { + return Na.relativeFirstCharacters.indexOf(t[0]) > -1; + } + o(kTe, 'isRelativeUrlWithoutProtocol'); + function ETe(t) { + var e = t.replace(Na.ctrlCharactersRegex, ''); + return e.replace(Na.htmlEntitiesRegex, function (r, n) { + return String.fromCharCode(n); + }); + } + o(ETe, 'decodeHtmlCharacters'); + function CTe(t) { + return URL.canParse(t); + } + o(CTe, 'isValidUrl'); + function wW(t) { + try { + return decodeURIComponent(t); + } catch { + return t; + } + } + o(wW, 'decodeURI'); + function STe(t) { + if (!t) return Na.BLANK_URL; + var e, + r = wW(t.trim()); + do + (r = ETe(r) + .replace(Na.htmlCtrlEntityRegex, '') + .replace(Na.ctrlCharactersRegex, '') + .replace(Na.whitespaceEscapeCharsRegex, '') + .trim()), + (r = wW(r)), + (e = + r.match(Na.ctrlCharactersRegex) || + r.match(Na.htmlEntitiesRegex) || + r.match(Na.htmlCtrlEntityRegex) || + r.match(Na.whitespaceEscapeCharsRegex)); + while (e && e.length > 0); + var n = r; + if (!n) return Na.BLANK_URL; + if (kTe(n)) return n; + var i = n.trimStart(), + a = i.match(Na.urlSchemeRegex); + if (!a) return n; + var s = a[0].toLowerCase().trim(); + if (Na.invalidProtocolRegex.test(s)) return Na.BLANK_URL; + var l = i.replace(/\\/g, '/'); + if (s === 'mailto:' || s.includes('://')) return l; + if (s === 'http:' || s === 'https:') { + if (!CTe(l)) return Na.BLANK_URL; + var u = new URL(l); + return (u.protocol = u.protocol.toLowerCase()), (u.hostname = u.hostname.toLowerCase()), u.toString(); + } + return l; + } + o(STe, 'sanitizeUrl'); + X3.sanitizeUrl = STe; + }); + var C_, + yd, + j3, + TW, + kW, + EW, + wl, + Ky, + Qy = R(() => { + 'use strict'; + C_ = Xi(Up(), 1); + rr(); + (yd = o((t, e) => { + let r = t.append('rect'); + if ( + (r.attr('x', e.x), + r.attr('y', e.y), + r.attr('fill', e.fill), + r.attr('stroke', e.stroke), + r.attr('width', e.width), + r.attr('height', e.height), + e.name && r.attr('name', e.name), + e.rx && r.attr('rx', e.rx), + e.ry && r.attr('ry', e.ry), + e.attrs !== void 0) + ) + for (let n in e.attrs) r.attr(n, e.attrs[n]); + return e.class && r.attr('class', e.class), r; + }, 'drawRect')), + (j3 = o((t, e) => { + let r = { + x: e.startx, + y: e.starty, + width: e.stopx - e.startx, + height: e.stopy - e.starty, + fill: e.fill, + stroke: e.stroke, + class: 'rect' + }; + yd(t, r).lower(); + }, 'drawBackgroundRect')), + (TW = o((t, e) => { + let r = e.text.replace(Qf, ' '), + n = t.append('text'); + n.attr('x', e.x), + n.attr('y', e.y), + n.attr('class', 'legend'), + n.style('text-anchor', e.anchor), + e.class && n.attr('class', e.class); + let i = n.append('tspan'); + return i.attr('x', e.x + e.textMargin * 2), i.text(r), n; + }, 'drawText')), + (kW = o((t, e, r, n) => { + let i = t.append('image'); + i.attr('x', e), i.attr('y', r); + let a = (0, C_.sanitizeUrl)(n); + i.attr('xlink:href', a); + }, 'drawImage')), + (EW = o((t, e, r, n) => { + let i = t.append('use'); + i.attr('x', e), i.attr('y', r); + let a = (0, C_.sanitizeUrl)(n); + i.attr('xlink:href', `#${a}`); + }, 'drawEmbeddedImage')), + (wl = o( + () => ({ + x: 0, + y: 0, + width: 100, + height: 100, + fill: '#EDF2AE', + stroke: '#666', + anchor: 'start', + rx: 0, + ry: 0 + }), + 'getNoteRect' + )), + (Ky = o( + () => ({ + x: 0, + y: 0, + width: 100, + height: 100, + 'text-anchor': 'start', + style: '#666', + textMargin: 0, + rx: 0, + ry: 0, + tspan: !0 + }), + 'getTextObj' + )); + }); + var CW, + S_, + SW, + ATe, + _Te, + LTe, + DTe, + RTe, + NTe, + MTe, + ITe, + OTe, + PTe, + BTe, + FTe, + bu, + Tl, + AW = R(() => { + 'use strict'; + rr(); + Qy(); + (CW = Xi(Up(), 1)), + (S_ = o(function (t, e) { + return yd(t, e); + }, 'drawRect')), + (SW = o(function (t, e, r, n, i, a) { + let s = t.append('image'); + s.attr('width', e), s.attr('height', r), s.attr('x', n), s.attr('y', i); + let l = a.startsWith('data:image/png;base64') ? a : (0, CW.sanitizeUrl)(a); + s.attr('xlink:href', l); + }, 'drawImage')), + (ATe = o((t, e, r) => { + let n = t.append('g'), + i = 0; + for (let a of e) { + let s = a.textColor ? a.textColor : '#444444', + l = a.lineColor ? a.lineColor : '#444444', + u = a.offsetX ? parseInt(a.offsetX) : 0, + h = a.offsetY ? parseInt(a.offsetY) : 0, + f = ''; + if (i === 0) { + let p = n.append('line'); + p.attr('x1', a.startPoint.x), + p.attr('y1', a.startPoint.y), + p.attr('x2', a.endPoint.x), + p.attr('y2', a.endPoint.y), + p.attr('stroke-width', '1'), + p.attr('stroke', l), + p.style('fill', 'none'), + a.type !== 'rel_b' && p.attr('marker-end', 'url(' + f + '#arrowhead)'), + (a.type === 'birel' || a.type === 'rel_b') && + p.attr('marker-start', 'url(' + f + '#arrowend)'), + (i = -1); + } else { + let p = n.append('path'); + p + .attr('fill', 'none') + .attr('stroke-width', '1') + .attr('stroke', l) + .attr( + 'd', + 'Mstartx,starty Qcontrolx,controly stopx,stopy ' + .replaceAll('startx', a.startPoint.x) + .replaceAll('starty', a.startPoint.y) + .replaceAll( + 'controlx', + a.startPoint.x + + (a.endPoint.x - a.startPoint.x) / 2 - + (a.endPoint.x - a.startPoint.x) / 4 + ) + .replaceAll('controly', a.startPoint.y + (a.endPoint.y - a.startPoint.y) / 2) + .replaceAll('stopx', a.endPoint.x) + .replaceAll('stopy', a.endPoint.y) + ), + a.type !== 'rel_b' && p.attr('marker-end', 'url(' + f + '#arrowhead)'), + (a.type === 'birel' || a.type === 'rel_b') && + p.attr('marker-start', 'url(' + f + '#arrowend)'); + } + let d = r.messageFont(); + bu(r)( + a.label.text, + n, + Math.min(a.startPoint.x, a.endPoint.x) + Math.abs(a.endPoint.x - a.startPoint.x) / 2 + u, + Math.min(a.startPoint.y, a.endPoint.y) + Math.abs(a.endPoint.y - a.startPoint.y) / 2 + h, + a.label.width, + a.label.height, + { fill: s }, + d + ), + a.techn && + a.techn.text !== '' && + ((d = r.messageFont()), + bu(r)( + '[' + a.techn.text + ']', + n, + Math.min(a.startPoint.x, a.endPoint.x) + + Math.abs(a.endPoint.x - a.startPoint.x) / 2 + + u, + Math.min(a.startPoint.y, a.endPoint.y) + + Math.abs(a.endPoint.y - a.startPoint.y) / 2 + + r.messageFontSize + + 5 + + h, + Math.max(a.label.width, a.techn.width), + a.techn.height, + { fill: s, 'font-style': 'italic' }, + d + )); + } + }, 'drawRels')), + (_Te = o(function (t, e, r) { + let n = t.append('g'), + i = e.bgColor ? e.bgColor : 'none', + a = e.borderColor ? e.borderColor : '#444444', + s = e.fontColor ? e.fontColor : 'black', + l = { 'stroke-width': 1, 'stroke-dasharray': '7.0,7.0' }; + e.nodeType && (l = { 'stroke-width': 1 }); + let u = { + x: e.x, + y: e.y, + fill: i, + stroke: a, + width: e.width, + height: e.height, + rx: 2.5, + ry: 2.5, + attrs: l + }; + S_(n, u); + let h = r.boundaryFont(); + (h.fontWeight = 'bold'), + (h.fontSize = h.fontSize + 2), + (h.fontColor = s), + bu(r)(e.label.text, n, e.x, e.y + e.label.Y, e.width, e.height, { fill: '#444444' }, h), + e.type && + e.type.text !== '' && + ((h = r.boundaryFont()), + (h.fontColor = s), + bu(r)(e.type.text, n, e.x, e.y + e.type.Y, e.width, e.height, { fill: '#444444' }, h)), + e.descr && + e.descr.text !== '' && + ((h = r.boundaryFont()), + (h.fontSize = h.fontSize - 2), + (h.fontColor = s), + bu(r)(e.descr.text, n, e.x, e.y + e.descr.Y, e.width, e.height, { fill: '#444444' }, h)); + }, 'drawBoundary')), + (LTe = o(function (t, e, r) { + let n = e.bgColor ? e.bgColor : r[e.typeC4Shape.text + '_bg_color'], + i = e.borderColor ? e.borderColor : r[e.typeC4Shape.text + '_border_color'], + a = e.fontColor ? e.fontColor : '#FFFFFF', + s = + 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII='; + switch (e.typeC4Shape.text) { + case 'person': + s = + 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII='; + break; + case 'external_person': + s = + 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII='; + break; + } + let l = t.append('g'); + l.attr('class', 'person-man'); + let u = wl(); + switch (e.typeC4Shape.text) { + case 'person': + case 'external_person': + case 'system': + case 'external_system': + case 'container': + case 'external_container': + case 'component': + case 'external_component': + (u.x = e.x), + (u.y = e.y), + (u.fill = n), + (u.width = e.width), + (u.height = e.height), + (u.stroke = i), + (u.rx = 2.5), + (u.ry = 2.5), + (u.attrs = { 'stroke-width': 0.5 }), + S_(l, u); + break; + case 'system_db': + case 'external_system_db': + case 'container_db': + case 'external_container_db': + case 'component_db': + case 'external_component_db': + l + .append('path') + .attr('fill', n) + .attr('stroke-width', '0.5') + .attr('stroke', i) + .attr( + 'd', + 'Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height' + .replaceAll('startx', e.x) + .replaceAll('starty', e.y) + .replaceAll('half', e.width / 2) + .replaceAll('height', e.height) + ), + l + .append('path') + .attr('fill', 'none') + .attr('stroke-width', '0.5') + .attr('stroke', i) + .attr( + 'd', + 'Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10' + .replaceAll('startx', e.x) + .replaceAll('starty', e.y) + .replaceAll('half', e.width / 2) + ); + break; + case 'system_queue': + case 'external_system_queue': + case 'container_queue': + case 'external_container_queue': + case 'component_queue': + case 'external_component_queue': + l + .append('path') + .attr('fill', n) + .attr('stroke-width', '0.5') + .attr('stroke', i) + .attr( + 'd', + 'Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half' + .replaceAll('startx', e.x) + .replaceAll('starty', e.y) + .replaceAll('width', e.width) + .replaceAll('half', e.height / 2) + ), + l + .append('path') + .attr('fill', 'none') + .attr('stroke-width', '0.5') + .attr('stroke', i) + .attr( + 'd', + 'Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half' + .replaceAll('startx', e.x + e.width) + .replaceAll('starty', e.y) + .replaceAll('half', e.height / 2) + ); + break; + } + let h = FTe(r, e.typeC4Shape.text); + switch ( + (l + .append('text') + .attr('fill', a) + .attr('font-family', h.fontFamily) + .attr('font-size', h.fontSize - 2) + .attr('font-style', 'italic') + .attr('lengthAdjust', 'spacing') + .attr('textLength', e.typeC4Shape.width) + .attr('x', e.x + e.width / 2 - e.typeC4Shape.width / 2) + .attr('y', e.y + e.typeC4Shape.Y) + .text('<<' + e.typeC4Shape.text + '>>'), + e.typeC4Shape.text) + ) { + case 'person': + case 'external_person': + SW(l, 48, 48, e.x + e.width / 2 - 24, e.y + e.image.Y, s); + break; + } + let f = r[e.typeC4Shape.text + 'Font'](); + return ( + (f.fontWeight = 'bold'), + (f.fontSize = f.fontSize + 2), + (f.fontColor = a), + bu(r)(e.label.text, l, e.x, e.y + e.label.Y, e.width, e.height, { fill: a }, f), + (f = r[e.typeC4Shape.text + 'Font']()), + (f.fontColor = a), + e.techn && e.techn?.text !== '' + ? bu(r)( + e.techn.text, + l, + e.x, + e.y + e.techn.Y, + e.width, + e.height, + { fill: a, 'font-style': 'italic' }, + f + ) + : e.type && + e.type.text !== '' && + bu(r)( + e.type.text, + l, + e.x, + e.y + e.type.Y, + e.width, + e.height, + { fill: a, 'font-style': 'italic' }, + f + ), + e.descr && + e.descr.text !== '' && + ((f = r.personFont()), + (f.fontColor = a), + bu(r)(e.descr.text, l, e.x, e.y + e.descr.Y, e.width, e.height, { fill: a }, f)), + e.height + ); + }, 'drawC4Shape')), + (DTe = o(function (t) { + t.append('defs') + .append('symbol') + .attr('id', 'database') + .attr('fill-rule', 'evenodd') + .attr('clip-rule', 'evenodd') + .append('path') + .attr('transform', 'scale(.5)') + .attr( + 'd', + 'M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z' + ); + }, 'insertDatabaseIcon')), + (RTe = o(function (t) { + t.append('defs') + .append('symbol') + .attr('id', 'computer') + .attr('width', '24') + .attr('height', '24') + .append('path') + .attr('transform', 'scale(.5)') + .attr( + 'd', + 'M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z' + ); + }, 'insertComputerIcon')), + (NTe = o(function (t) { + t.append('defs') + .append('symbol') + .attr('id', 'clock') + .attr('width', '24') + .attr('height', '24') + .append('path') + .attr('transform', 'scale(.5)') + .attr( + 'd', + 'M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z' + ); + }, 'insertClockIcon')), + (MTe = o(function (t) { + t.append('defs') + .append('marker') + .attr('id', 'arrowhead') + .attr('refX', 9) + .attr('refY', 5) + .attr('markerUnits', 'userSpaceOnUse') + .attr('markerWidth', 12) + .attr('markerHeight', 12) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 0 0 L 10 5 L 0 10 z'); + }, 'insertArrowHead')), + (ITe = o(function (t) { + t.append('defs') + .append('marker') + .attr('id', 'arrowend') + .attr('refX', 1) + .attr('refY', 5) + .attr('markerUnits', 'userSpaceOnUse') + .attr('markerWidth', 12) + .attr('markerHeight', 12) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 10 0 L 0 5 L 10 10 z'); + }, 'insertArrowEnd')), + (OTe = o(function (t) { + t.append('defs') + .append('marker') + .attr('id', 'filled-head') + .attr('refX', 18) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L14,7 L9,1 Z'); + }, 'insertArrowFilledHead')), + (PTe = o(function (t) { + t.append('defs') + .append('marker') + .attr('id', 'sequencenumber') + .attr('refX', 15) + .attr('refY', 15) + .attr('markerWidth', 60) + .attr('markerHeight', 40) + .attr('orient', 'auto') + .append('circle') + .attr('cx', 15) + .attr('cy', 15) + .attr('r', 6); + }, 'insertDynamicNumber')), + (BTe = o(function (t) { + let r = t + .append('defs') + .append('marker') + .attr('id', 'crosshead') + .attr('markerWidth', 15) + .attr('markerHeight', 8) + .attr('orient', 'auto') + .attr('refX', 16) + .attr('refY', 4); + r + .append('path') + .attr('fill', 'black') + .attr('stroke', '#000000') + .style('stroke-dasharray', '0, 0') + .attr('stroke-width', '1px') + .attr('d', 'M 9,2 V 6 L16,4 Z'), + r + .append('path') + .attr('fill', 'none') + .attr('stroke', '#000000') + .style('stroke-dasharray', '0, 0') + .attr('stroke-width', '1px') + .attr('d', 'M 0,1 L 6,7 M 6,1 L 0,7'); + }, 'insertArrowCrossHead')), + (FTe = o( + (t, e) => ({ + fontFamily: t[e + 'FontFamily'], + fontSize: t[e + 'FontSize'], + fontWeight: t[e + 'FontWeight'] + }), + 'getC4ShapeFont' + )), + (bu = (function () { + function t(i, a, s, l, u, h, f) { + let d = a + .append('text') + .attr('x', s + u / 2) + .attr('y', l + h / 2 + 5) + .style('text-anchor', 'middle') + .text(i); + n(d, f); + } + o(t, 'byText'); + function e(i, a, s, l, u, h, f, d) { + let { fontSize: p, fontFamily: m, fontWeight: g } = d, + y = i.split(We.lineBreakRegex); + for (let v = 0; v < y.length; v++) { + let x = v * p - (p * (y.length - 1)) / 2, + b = a + .append('text') + .attr('x', s + u / 2) + .attr('y', l) + .style('text-anchor', 'middle') + .attr('dominant-baseline', 'middle') + .style('font-size', p) + .style('font-weight', g) + .style('font-family', m); + b.append('tspan').attr('dy', x).text(y[v]).attr('alignment-baseline', 'mathematical'), + n(b, f); + } + } + o(e, 'byTspan'); + function r(i, a, s, l, u, h, f, d) { + let p = a.append('switch'), + g = p + .append('foreignObject') + .attr('x', s) + .attr('y', l) + .attr('width', u) + .attr('height', h) + .append('xhtml:div') + .style('display', 'table') + .style('height', '100%') + .style('width', '100%'); + g + .append('div') + .style('display', 'table-cell') + .style('text-align', 'center') + .style('vertical-align', 'middle') + .text(i), + e(i, p, s, l, u, h, f, d), + n(g, f); + } + o(r, 'byFo'); + function n(i, a) { + for (let s in a) a.hasOwnProperty(s) && i.attr(s, a[s]); + } + return ( + o(n, '_setTextAttrs'), + function (i) { + return i.textPlacement === 'fo' ? r : i.textPlacement === 'old' ? t : e; + } + ); + })()), + (Tl = { + drawRect: S_, + drawBoundary: _Te, + drawC4Shape: LTe, + drawRels: ATe, + drawImage: SW, + insertArrowHead: MTe, + insertArrowEnd: ITe, + insertArrowFilledHead: OTe, + insertDynamicNumber: PTe, + insertArrowCrossHead: BTe, + insertDatabaseIcon: DTe, + insertComputerIcon: RTe, + insertClockIcon: NTe + }); + }); + var zTe, + Q3, + A_ = R(() => { + 'use strict'; + (zTe = typeof global == 'object' && global && global.Object === Object && global), (Q3 = zTe); + }); + var GTe, + $Te, + Jn, + Ro = R(() => { + 'use strict'; + A_(); + (GTe = typeof self == 'object' && self && self.Object === Object && self), + ($Te = Q3 || GTe || Function('return this')()), + (Jn = $Te); + }); + var VTe, + Ji, + vd = R(() => { + 'use strict'; + Ro(); + (VTe = Jn.Symbol), (Ji = VTe); + }); + function YTe(t) { + var e = UTe.call(t, Zy), + r = t[Zy]; + try { + t[Zy] = void 0; + var n = !0; + } catch {} + var i = HTe.call(t); + return n && (e ? (t[Zy] = r) : delete t[Zy]), i; + } + var _W, + UTe, + HTe, + Zy, + LW, + DW = R(() => { + 'use strict'; + vd(); + (_W = Object.prototype), + (UTe = _W.hasOwnProperty), + (HTe = _W.toString), + (Zy = Ji ? Ji.toStringTag : void 0); + o(YTe, 'getRawTag'); + LW = YTe; + }); + function XTe(t) { + return qTe.call(t); + } + var WTe, + qTe, + RW, + NW = R(() => { + 'use strict'; + (WTe = Object.prototype), (qTe = WTe.toString); + o(XTe, 'objectToString'); + RW = XTe; + }); + function QTe(t) { + return t == null ? (t === void 0 ? KTe : jTe) : MW && MW in Object(t) ? LW(t) : RW(t); + } + var jTe, + KTe, + MW, + fa, + wu = R(() => { + 'use strict'; + vd(); + DW(); + NW(); + (jTe = '[object Null]'), (KTe = '[object Undefined]'), (MW = Ji ? Ji.toStringTag : void 0); + o(QTe, 'baseGetTag'); + fa = QTe; + }); + function ZTe(t) { + var e = typeof t; + return t != null && (e == 'object' || e == 'function'); + } + var pn, + Js = R(() => { + 'use strict'; + o(ZTe, 'isObject'); + pn = ZTe; + }); + function nke(t) { + if (!pn(t)) return !1; + var e = fa(t); + return e == eke || e == tke || e == JTe || e == rke; + } + var JTe, + eke, + tke, + rke, + wi, + Jy = R(() => { + 'use strict'; + wu(); + Js(); + (JTe = '[object AsyncFunction]'), + (eke = '[object Function]'), + (tke = '[object GeneratorFunction]'), + (rke = '[object Proxy]'); + o(nke, 'isFunction'); + wi = nke; + }); + var ike, + Z3, + IW = R(() => { + 'use strict'; + Ro(); + (ike = Jn['__core-js_shared__']), (Z3 = ike); + }); + function ake(t) { + return !!OW && OW in t; + } + var OW, + PW, + BW = R(() => { + 'use strict'; + IW(); + OW = (function () { + var t = /[^.]+$/.exec((Z3 && Z3.keys && Z3.keys.IE_PROTO) || ''); + return t ? 'Symbol(src)_1.' + t : ''; + })(); + o(ake, 'isMasked'); + PW = ake; + }); + function lke(t) { + if (t != null) { + try { + return oke.call(t); + } catch {} + try { + return t + ''; + } catch {} + } + return ''; + } + var ske, + oke, + Tu, + __ = R(() => { + 'use strict'; + (ske = Function.prototype), (oke = ske.toString); + o(lke, 'toSource'); + Tu = lke; + }); + function gke(t) { + if (!pn(t) || PW(t)) return !1; + var e = wi(t) ? mke : uke; + return e.test(Tu(t)); + } + var cke, + uke, + hke, + fke, + dke, + pke, + mke, + FW, + zW = R(() => { + 'use strict'; + Jy(); + BW(); + Js(); + __(); + (cke = /[\\^$.*+?()[\]{}|]/g), + (uke = /^\[object .+?Constructor\]$/), + (hke = Function.prototype), + (fke = Object.prototype), + (dke = hke.toString), + (pke = fke.hasOwnProperty), + (mke = RegExp( + '^' + + dke + .call(pke) + .replace(cke, '\\$&') + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + + '$' + )); + o(gke, 'baseIsNative'); + FW = gke; + }); + function yke(t, e) { + return t?.[e]; + } + var GW, + $W = R(() => { + 'use strict'; + o(yke, 'getValue'); + GW = yke; + }); + function vke(t, e) { + var r = GW(t, e); + return FW(r) ? r : void 0; + } + var xs, + Nh = R(() => { + 'use strict'; + zW(); + $W(); + o(vke, 'getNative'); + xs = vke; + }); + var xke, + ku, + ev = R(() => { + 'use strict'; + Nh(); + (xke = xs(Object, 'create')), (ku = xke); + }); + function bke() { + (this.__data__ = ku ? ku(null) : {}), (this.size = 0); + } + var VW, + UW = R(() => { + 'use strict'; + ev(); + o(bke, 'hashClear'); + VW = bke; + }); + function wke(t) { + var e = this.has(t) && delete this.__data__[t]; + return (this.size -= e ? 1 : 0), e; + } + var HW, + YW = R(() => { + 'use strict'; + o(wke, 'hashDelete'); + HW = wke; + }); + function Cke(t) { + var e = this.__data__; + if (ku) { + var r = e[t]; + return r === Tke ? void 0 : r; + } + return Eke.call(e, t) ? e[t] : void 0; + } + var Tke, + kke, + Eke, + WW, + qW = R(() => { + 'use strict'; + ev(); + (Tke = '__lodash_hash_undefined__'), (kke = Object.prototype), (Eke = kke.hasOwnProperty); + o(Cke, 'hashGet'); + WW = Cke; + }); + function _ke(t) { + var e = this.__data__; + return ku ? e[t] !== void 0 : Ake.call(e, t); + } + var Ske, + Ake, + XW, + jW = R(() => { + 'use strict'; + ev(); + (Ske = Object.prototype), (Ake = Ske.hasOwnProperty); + o(_ke, 'hashHas'); + XW = _ke; + }); + function Dke(t, e) { + var r = this.__data__; + return (this.size += this.has(t) ? 0 : 1), (r[t] = ku && e === void 0 ? Lke : e), this; + } + var Lke, + KW, + QW = R(() => { + 'use strict'; + ev(); + Lke = '__lodash_hash_undefined__'; + o(Dke, 'hashSet'); + KW = Dke; + }); + function Hp(t) { + var e = -1, + r = t == null ? 0 : t.length; + for (this.clear(); ++e < r; ) { + var n = t[e]; + this.set(n[0], n[1]); + } + } + var L_, + ZW = R(() => { + 'use strict'; + UW(); + YW(); + qW(); + jW(); + QW(); + o(Hp, 'Hash'); + Hp.prototype.clear = VW; + Hp.prototype.delete = HW; + Hp.prototype.get = WW; + Hp.prototype.has = XW; + Hp.prototype.set = KW; + L_ = Hp; + }); + function Rke() { + (this.__data__ = []), (this.size = 0); + } + var JW, + eq = R(() => { + 'use strict'; + o(Rke, 'listCacheClear'); + JW = Rke; + }); + function Nke(t, e) { + return t === e || (t !== t && e !== e); + } + var No, + xd = R(() => { + 'use strict'; + o(Nke, 'eq'); + No = Nke; + }); + function Mke(t, e) { + for (var r = t.length; r--; ) if (No(t[r][0], e)) return r; + return -1; + } + var Mh, + tv = R(() => { + 'use strict'; + xd(); + o(Mke, 'assocIndexOf'); + Mh = Mke; + }); + function Pke(t) { + var e = this.__data__, + r = Mh(e, t); + if (r < 0) return !1; + var n = e.length - 1; + return r == n ? e.pop() : Oke.call(e, r, 1), --this.size, !0; + } + var Ike, + Oke, + tq, + rq = R(() => { + 'use strict'; + tv(); + (Ike = Array.prototype), (Oke = Ike.splice); + o(Pke, 'listCacheDelete'); + tq = Pke; + }); + function Bke(t) { + var e = this.__data__, + r = Mh(e, t); + return r < 0 ? void 0 : e[r][1]; + } + var nq, + iq = R(() => { + 'use strict'; + tv(); + o(Bke, 'listCacheGet'); + nq = Bke; + }); + function Fke(t) { + return Mh(this.__data__, t) > -1; + } + var aq, + sq = R(() => { + 'use strict'; + tv(); + o(Fke, 'listCacheHas'); + aq = Fke; + }); + function zke(t, e) { + var r = this.__data__, + n = Mh(r, t); + return n < 0 ? (++this.size, r.push([t, e])) : (r[n][1] = e), this; + } + var oq, + lq = R(() => { + 'use strict'; + tv(); + o(zke, 'listCacheSet'); + oq = zke; + }); + function Yp(t) { + var e = -1, + r = t == null ? 0 : t.length; + for (this.clear(); ++e < r; ) { + var n = t[e]; + this.set(n[0], n[1]); + } + } + var Ih, + rv = R(() => { + 'use strict'; + eq(); + rq(); + iq(); + sq(); + lq(); + o(Yp, 'ListCache'); + Yp.prototype.clear = JW; + Yp.prototype.delete = tq; + Yp.prototype.get = nq; + Yp.prototype.has = aq; + Yp.prototype.set = oq; + Ih = Yp; + }); + var Gke, + Oh, + J3 = R(() => { + 'use strict'; + Nh(); + Ro(); + (Gke = xs(Jn, 'Map')), (Oh = Gke); + }); + function $ke() { + (this.size = 0), + (this.__data__ = { + hash: new L_(), + map: new (Oh || Ih)(), + string: new L_() + }); + } + var cq, + uq = R(() => { + 'use strict'; + ZW(); + rv(); + J3(); + o($ke, 'mapCacheClear'); + cq = $ke; + }); + function Vke(t) { + var e = typeof t; + return e == 'string' || e == 'number' || e == 'symbol' || e == 'boolean' ? t !== '__proto__' : t === null; + } + var hq, + fq = R(() => { + 'use strict'; + o(Vke, 'isKeyable'); + hq = Vke; + }); + function Uke(t, e) { + var r = t.__data__; + return hq(e) ? r[typeof e == 'string' ? 'string' : 'hash'] : r.map; + } + var Ph, + nv = R(() => { + 'use strict'; + fq(); + o(Uke, 'getMapData'); + Ph = Uke; + }); + function Hke(t) { + var e = Ph(this, t).delete(t); + return (this.size -= e ? 1 : 0), e; + } + var dq, + pq = R(() => { + 'use strict'; + nv(); + o(Hke, 'mapCacheDelete'); + dq = Hke; + }); + function Yke(t) { + return Ph(this, t).get(t); + } + var mq, + gq = R(() => { + 'use strict'; + nv(); + o(Yke, 'mapCacheGet'); + mq = Yke; + }); + function Wke(t) { + return Ph(this, t).has(t); + } + var yq, + vq = R(() => { + 'use strict'; + nv(); + o(Wke, 'mapCacheHas'); + yq = Wke; + }); + function qke(t, e) { + var r = Ph(this, t), + n = r.size; + return r.set(t, e), (this.size += r.size == n ? 0 : 1), this; + } + var xq, + bq = R(() => { + 'use strict'; + nv(); + o(qke, 'mapCacheSet'); + xq = qke; + }); + function Wp(t) { + var e = -1, + r = t == null ? 0 : t.length; + for (this.clear(); ++e < r; ) { + var n = t[e]; + this.set(n[0], n[1]); + } + } + var bd, + e5 = R(() => { + 'use strict'; + uq(); + pq(); + gq(); + vq(); + bq(); + o(Wp, 'MapCache'); + Wp.prototype.clear = cq; + Wp.prototype.delete = dq; + Wp.prototype.get = mq; + Wp.prototype.has = yq; + Wp.prototype.set = xq; + bd = Wp; + }); + function D_(t, e) { + if (typeof t != 'function' || (e != null && typeof e != 'function')) throw new TypeError(Xke); + var r = o(function () { + var n = arguments, + i = e ? e.apply(this, n) : n[0], + a = r.cache; + if (a.has(i)) return a.get(i); + var s = t.apply(this, n); + return (r.cache = a.set(i, s) || a), s; + }, 'memoized'); + return (r.cache = new (D_.Cache || bd)()), r; + } + var Xke, + qp, + R_ = R(() => { + 'use strict'; + e5(); + Xke = 'Expected a function'; + o(D_, 'memoize'); + D_.Cache = bd; + qp = D_; + }); + function jke() { + (this.__data__ = new Ih()), (this.size = 0); + } + var wq, + Tq = R(() => { + 'use strict'; + rv(); + o(jke, 'stackClear'); + wq = jke; + }); + function Kke(t) { + var e = this.__data__, + r = e.delete(t); + return (this.size = e.size), r; + } + var kq, + Eq = R(() => { + 'use strict'; + o(Kke, 'stackDelete'); + kq = Kke; + }); + function Qke(t) { + return this.__data__.get(t); + } + var Cq, + Sq = R(() => { + 'use strict'; + o(Qke, 'stackGet'); + Cq = Qke; + }); + function Zke(t) { + return this.__data__.has(t); + } + var Aq, + _q = R(() => { + 'use strict'; + o(Zke, 'stackHas'); + Aq = Zke; + }); + function eEe(t, e) { + var r = this.__data__; + if (r instanceof Ih) { + var n = r.__data__; + if (!Oh || n.length < Jke - 1) return n.push([t, e]), (this.size = ++r.size), this; + r = this.__data__ = new bd(n); + } + return r.set(t, e), (this.size = r.size), this; + } + var Jke, + Lq, + Dq = R(() => { + 'use strict'; + rv(); + J3(); + e5(); + Jke = 200; + o(eEe, 'stackSet'); + Lq = eEe; + }); + function Xp(t) { + var e = (this.__data__ = new Ih(t)); + this.size = e.size; + } + var uc, + iv = R(() => { + 'use strict'; + rv(); + Tq(); + Eq(); + Sq(); + _q(); + Dq(); + o(Xp, 'Stack'); + Xp.prototype.clear = wq; + Xp.prototype.delete = kq; + Xp.prototype.get = Cq; + Xp.prototype.has = Aq; + Xp.prototype.set = Lq; + uc = Xp; + }); + var tEe, + jp, + N_ = R(() => { + 'use strict'; + Nh(); + (tEe = (function () { + try { + var t = xs(Object, 'defineProperty'); + return t({}, '', {}), t; + } catch {} + })()), + (jp = tEe); + }); + function rEe(t, e, r) { + e == '__proto__' && jp ? jp(t, e, { configurable: !0, enumerable: !0, value: r, writable: !0 }) : (t[e] = r); + } + var hc, + Kp = R(() => { + 'use strict'; + N_(); + o(rEe, 'baseAssignValue'); + hc = rEe; + }); + function nEe(t, e, r) { + ((r !== void 0 && !No(t[e], r)) || (r === void 0 && !(e in t))) && hc(t, e, r); + } + var av, + M_ = R(() => { + 'use strict'; + Kp(); + xd(); + o(nEe, 'assignMergeValue'); + av = nEe; + }); + function iEe(t) { + return function (e, r, n) { + for (var i = -1, a = Object(e), s = n(e), l = s.length; l--; ) { + var u = s[t ? l : ++i]; + if (r(a[u], u, a) === !1) break; + } + return e; + }; + } + var Rq, + Nq = R(() => { + 'use strict'; + o(iEe, 'createBaseFor'); + Rq = iEe; + }); + var aEe, + Qp, + t5 = R(() => { + 'use strict'; + Nq(); + (aEe = Rq()), (Qp = aEe); + }); + function oEe(t, e) { + if (e) return t.slice(); + var r = t.length, + n = Oq ? Oq(r) : new t.constructor(r); + return t.copy(n), n; + } + var Pq, + Mq, + sEe, + Iq, + Oq, + r5, + I_ = R(() => { + 'use strict'; + Ro(); + (Pq = typeof exports == 'object' && exports && !exports.nodeType && exports), + (Mq = Pq && typeof module == 'object' && module && !module.nodeType && module), + (sEe = Mq && Mq.exports === Pq), + (Iq = sEe ? Jn.Buffer : void 0), + (Oq = Iq ? Iq.allocUnsafe : void 0); + o(oEe, 'cloneBuffer'); + r5 = oEe; + }); + var lEe, + Zp, + O_ = R(() => { + 'use strict'; + Ro(); + (lEe = Jn.Uint8Array), (Zp = lEe); + }); + function cEe(t) { + var e = new t.constructor(t.byteLength); + return new Zp(e).set(new Zp(t)), e; + } + var Jp, + n5 = R(() => { + 'use strict'; + O_(); + o(cEe, 'cloneArrayBuffer'); + Jp = cEe; + }); + function uEe(t, e) { + var r = e ? Jp(t.buffer) : t.buffer; + return new t.constructor(r, t.byteOffset, t.length); + } + var i5, + P_ = R(() => { + 'use strict'; + n5(); + o(uEe, 'cloneTypedArray'); + i5 = uEe; + }); + function hEe(t, e) { + var r = -1, + n = t.length; + for (e || (e = Array(n)); ++r < n; ) e[r] = t[r]; + return e; + } + var a5, + B_ = R(() => { + 'use strict'; + o(hEe, 'copyArray'); + a5 = hEe; + }); + var Bq, + fEe, + Fq, + zq = R(() => { + 'use strict'; + Js(); + (Bq = Object.create), + (fEe = (function () { + function t() {} + return ( + o(t, 'object'), + function (e) { + if (!pn(e)) return {}; + if (Bq) return Bq(e); + t.prototype = e; + var r = new t(); + return (t.prototype = void 0), r; + } + ); + })()), + (Fq = fEe); + }); + function dEe(t, e) { + return function (r) { + return t(e(r)); + }; + } + var s5, + F_ = R(() => { + 'use strict'; + o(dEe, 'overArg'); + s5 = dEe; + }); + var pEe, + em, + o5 = R(() => { + 'use strict'; + F_(); + (pEe = s5(Object.getPrototypeOf, Object)), (em = pEe); + }); + function gEe(t) { + var e = t && t.constructor, + r = (typeof e == 'function' && e.prototype) || mEe; + return t === r; + } + var mEe, + fc, + tm = R(() => { + 'use strict'; + mEe = Object.prototype; + o(gEe, 'isPrototype'); + fc = gEe; + }); + function yEe(t) { + return typeof t.constructor == 'function' && !fc(t) ? Fq(em(t)) : {}; + } + var l5, + z_ = R(() => { + 'use strict'; + zq(); + o5(); + tm(); + o(yEe, 'initCloneObject'); + l5 = yEe; + }); + function vEe(t) { + return t != null && typeof t == 'object'; + } + var Wn, + Mo = R(() => { + 'use strict'; + o(vEe, 'isObjectLike'); + Wn = vEe; + }); + function bEe(t) { + return Wn(t) && fa(t) == xEe; + } + var xEe, + G_, + Gq = R(() => { + 'use strict'; + wu(); + Mo(); + xEe = '[object Arguments]'; + o(bEe, 'baseIsArguments'); + G_ = bEe; + }); + var $q, + wEe, + TEe, + kEe, + kl, + rm = R(() => { + 'use strict'; + Gq(); + Mo(); + ($q = Object.prototype), + (wEe = $q.hasOwnProperty), + (TEe = $q.propertyIsEnumerable), + (kEe = G_( + (function () { + return arguments; + })() + ) + ? G_ + : function (t) { + return Wn(t) && wEe.call(t, 'callee') && !TEe.call(t, 'callee'); + }), + (kl = kEe); + }); + var EEe, + wt, + Bn = R(() => { + 'use strict'; + (EEe = Array.isArray), (wt = EEe); + }); + function SEe(t) { + return typeof t == 'number' && t > -1 && t % 1 == 0 && t <= CEe; + } + var CEe, + nm, + c5 = R(() => { + 'use strict'; + CEe = 9007199254740991; + o(SEe, 'isLength'); + nm = SEe; + }); + function AEe(t) { + return t != null && nm(t.length) && !wi(t); + } + var ei, + Io = R(() => { + 'use strict'; + Jy(); + c5(); + o(AEe, 'isArrayLike'); + ei = AEe; + }); + function _Ee(t) { + return Wn(t) && ei(t); + } + var wd, + u5 = R(() => { + 'use strict'; + Io(); + Mo(); + o(_Ee, 'isArrayLikeObject'); + wd = _Ee; + }); + function LEe() { + return !1; + } + var Vq, + Uq = R(() => { + 'use strict'; + o(LEe, 'stubFalse'); + Vq = LEe; + }); + var Wq, + Hq, + DEe, + Yq, + REe, + NEe, + El, + im = R(() => { + 'use strict'; + Ro(); + Uq(); + (Wq = typeof exports == 'object' && exports && !exports.nodeType && exports), + (Hq = Wq && typeof module == 'object' && module && !module.nodeType && module), + (DEe = Hq && Hq.exports === Wq), + (Yq = DEe ? Jn.Buffer : void 0), + (REe = Yq ? Yq.isBuffer : void 0), + (NEe = REe || Vq), + (El = NEe); + }); + function FEe(t) { + if (!Wn(t) || fa(t) != MEe) return !1; + var e = em(t); + if (e === null) return !0; + var r = PEe.call(e, 'constructor') && e.constructor; + return typeof r == 'function' && r instanceof r && qq.call(r) == BEe; + } + var MEe, + IEe, + OEe, + qq, + PEe, + BEe, + Xq, + jq = R(() => { + 'use strict'; + wu(); + o5(); + Mo(); + (MEe = '[object Object]'), + (IEe = Function.prototype), + (OEe = Object.prototype), + (qq = IEe.toString), + (PEe = OEe.hasOwnProperty), + (BEe = qq.call(Object)); + o(FEe, 'isPlainObject'); + Xq = FEe; + }); + function c6e(t) { + return Wn(t) && nm(t.length) && !!Mn[fa(t)]; + } + var zEe, + GEe, + $Ee, + VEe, + UEe, + HEe, + YEe, + WEe, + qEe, + XEe, + jEe, + KEe, + QEe, + ZEe, + JEe, + e6e, + t6e, + r6e, + n6e, + i6e, + a6e, + s6e, + o6e, + l6e, + Mn, + Kq, + Qq = R(() => { + 'use strict'; + wu(); + c5(); + Mo(); + (zEe = '[object Arguments]'), + (GEe = '[object Array]'), + ($Ee = '[object Boolean]'), + (VEe = '[object Date]'), + (UEe = '[object Error]'), + (HEe = '[object Function]'), + (YEe = '[object Map]'), + (WEe = '[object Number]'), + (qEe = '[object Object]'), + (XEe = '[object RegExp]'), + (jEe = '[object Set]'), + (KEe = '[object String]'), + (QEe = '[object WeakMap]'), + (ZEe = '[object ArrayBuffer]'), + (JEe = '[object DataView]'), + (e6e = '[object Float32Array]'), + (t6e = '[object Float64Array]'), + (r6e = '[object Int8Array]'), + (n6e = '[object Int16Array]'), + (i6e = '[object Int32Array]'), + (a6e = '[object Uint8Array]'), + (s6e = '[object Uint8ClampedArray]'), + (o6e = '[object Uint16Array]'), + (l6e = '[object Uint32Array]'), + (Mn = {}); + Mn[e6e] = Mn[t6e] = Mn[r6e] = Mn[n6e] = Mn[i6e] = Mn[a6e] = Mn[s6e] = Mn[o6e] = Mn[l6e] = !0; + Mn[zEe] = + Mn[GEe] = + Mn[ZEe] = + Mn[$Ee] = + Mn[JEe] = + Mn[VEe] = + Mn[UEe] = + Mn[HEe] = + Mn[YEe] = + Mn[WEe] = + Mn[qEe] = + Mn[XEe] = + Mn[jEe] = + Mn[KEe] = + Mn[QEe] = + !1; + o(c6e, 'baseIsTypedArray'); + Kq = c6e; + }); + function u6e(t) { + return function (e) { + return t(e); + }; + } + var Oo, + Td = R(() => { + 'use strict'; + o(u6e, 'baseUnary'); + Oo = u6e; + }); + var Zq, + sv, + h6e, + $_, + f6e, + Po, + ov = R(() => { + 'use strict'; + A_(); + (Zq = typeof exports == 'object' && exports && !exports.nodeType && exports), + (sv = Zq && typeof module == 'object' && module && !module.nodeType && module), + (h6e = sv && sv.exports === Zq), + ($_ = h6e && Q3.process), + (f6e = (function () { + try { + var t = sv && sv.require && sv.require('util').types; + return t || ($_ && $_.binding && $_.binding('util')); + } catch {} + })()), + (Po = f6e); + }); + var Jq, + d6e, + Bh, + lv = R(() => { + 'use strict'; + Qq(); + Td(); + ov(); + (Jq = Po && Po.isTypedArray), (d6e = Jq ? Oo(Jq) : Kq), (Bh = d6e); + }); + function p6e(t, e) { + if (!(e === 'constructor' && typeof t[e] == 'function') && e != '__proto__') return t[e]; + } + var cv, + V_ = R(() => { + 'use strict'; + o(p6e, 'safeGet'); + cv = p6e; + }); + function y6e(t, e, r) { + var n = t[e]; + (!(g6e.call(t, e) && No(n, r)) || (r === void 0 && !(e in t))) && hc(t, e, r); + } + var m6e, + g6e, + dc, + am = R(() => { + 'use strict'; + Kp(); + xd(); + (m6e = Object.prototype), (g6e = m6e.hasOwnProperty); + o(y6e, 'assignValue'); + dc = y6e; + }); + function v6e(t, e, r, n) { + var i = !r; + r || (r = {}); + for (var a = -1, s = e.length; ++a < s; ) { + var l = e[a], + u = n ? n(r[l], t[l], l, r, t) : void 0; + u === void 0 && (u = t[l]), i ? hc(r, l, u) : dc(r, l, u); + } + return r; + } + var Bo, + kd = R(() => { + 'use strict'; + am(); + Kp(); + o(v6e, 'copyObject'); + Bo = v6e; + }); + function x6e(t, e) { + for (var r = -1, n = Array(t); ++r < t; ) n[r] = e(r); + return n; + } + var eX, + tX = R(() => { + 'use strict'; + o(x6e, 'baseTimes'); + eX = x6e; + }); + function T6e(t, e) { + var r = typeof t; + return ( + (e = e ?? b6e), !!e && (r == 'number' || (r != 'symbol' && w6e.test(t))) && t > -1 && t % 1 == 0 && t < e + ); + } + var b6e, + w6e, + Fh, + uv = R(() => { + 'use strict'; + (b6e = 9007199254740991), (w6e = /^(?:0|[1-9]\d*)$/); + o(T6e, 'isIndex'); + Fh = T6e; + }); + function C6e(t, e) { + var r = wt(t), + n = !r && kl(t), + i = !r && !n && El(t), + a = !r && !n && !i && Bh(t), + s = r || n || i || a, + l = s ? eX(t.length, String) : [], + u = l.length; + for (var h in t) + (e || E6e.call(t, h)) && + !( + s && + (h == 'length' || + (i && (h == 'offset' || h == 'parent')) || + (a && (h == 'buffer' || h == 'byteLength' || h == 'byteOffset')) || + Fh(h, u)) + ) && + l.push(h); + return l; + } + var k6e, + E6e, + h5, + U_ = R(() => { + 'use strict'; + tX(); + rm(); + Bn(); + im(); + uv(); + lv(); + (k6e = Object.prototype), (E6e = k6e.hasOwnProperty); + o(C6e, 'arrayLikeKeys'); + h5 = C6e; + }); + function S6e(t) { + var e = []; + if (t != null) for (var r in Object(t)) e.push(r); + return e; + } + var rX, + nX = R(() => { + 'use strict'; + o(S6e, 'nativeKeysIn'); + rX = S6e; + }); + function L6e(t) { + if (!pn(t)) return rX(t); + var e = fc(t), + r = []; + for (var n in t) (n == 'constructor' && (e || !_6e.call(t, n))) || r.push(n); + return r; + } + var A6e, + _6e, + iX, + aX = R(() => { + 'use strict'; + Js(); + tm(); + nX(); + (A6e = Object.prototype), (_6e = A6e.hasOwnProperty); + o(L6e, 'baseKeysIn'); + iX = L6e; + }); + function D6e(t) { + return ei(t) ? h5(t, !0) : iX(t); + } + var bs, + zh = R(() => { + 'use strict'; + U_(); + aX(); + Io(); + o(D6e, 'keysIn'); + bs = D6e; + }); + function R6e(t) { + return Bo(t, bs(t)); + } + var sX, + oX = R(() => { + 'use strict'; + kd(); + zh(); + o(R6e, 'toPlainObject'); + sX = R6e; + }); + function N6e(t, e, r, n, i, a, s) { + var l = cv(t, r), + u = cv(e, r), + h = s.get(u); + if (h) { + av(t, r, h); + return; + } + var f = a ? a(l, u, r + '', t, e, s) : void 0, + d = f === void 0; + if (d) { + var p = wt(u), + m = !p && El(u), + g = !p && !m && Bh(u); + (f = u), + p || m || g + ? wt(l) + ? (f = l) + : wd(l) + ? (f = a5(l)) + : m + ? ((d = !1), (f = r5(u, !0))) + : g + ? ((d = !1), (f = i5(u, !0))) + : (f = []) + : Xq(u) || kl(u) + ? ((f = l), kl(l) ? (f = sX(l)) : (!pn(l) || wi(l)) && (f = l5(u))) + : (d = !1); + } + d && (s.set(u, f), i(f, u, n, a, s), s.delete(u)), av(t, r, f); + } + var lX, + cX = R(() => { + 'use strict'; + M_(); + I_(); + P_(); + B_(); + z_(); + rm(); + Bn(); + u5(); + im(); + Jy(); + Js(); + jq(); + lv(); + V_(); + oX(); + o(N6e, 'baseMergeDeep'); + lX = N6e; + }); + function uX(t, e, r, n, i) { + t !== e && + Qp( + e, + function (a, s) { + if ((i || (i = new uc()), pn(a))) lX(t, e, s, r, uX, n, i); + else { + var l = n ? n(cv(t, s), a, s + '', t, e, i) : void 0; + l === void 0 && (l = a), av(t, s, l); + } + }, + bs + ); + } + var hX, + fX = R(() => { + 'use strict'; + iv(); + M_(); + t5(); + cX(); + Js(); + zh(); + V_(); + o(uX, 'baseMerge'); + hX = uX; + }); + function M6e(t) { + return t; + } + var ea, + Eu = R(() => { + 'use strict'; + o(M6e, 'identity'); + ea = M6e; + }); + function I6e(t, e, r) { + switch (r.length) { + case 0: + return t.call(e); + case 1: + return t.call(e, r[0]); + case 2: + return t.call(e, r[0], r[1]); + case 3: + return t.call(e, r[0], r[1], r[2]); + } + return t.apply(e, r); + } + var dX, + pX = R(() => { + 'use strict'; + o(I6e, 'apply'); + dX = I6e; + }); + function O6e(t, e, r) { + return ( + (e = mX(e === void 0 ? t.length - 1 : e, 0)), + function () { + for (var n = arguments, i = -1, a = mX(n.length - e, 0), s = Array(a); ++i < a; ) s[i] = n[e + i]; + i = -1; + for (var l = Array(e + 1); ++i < e; ) l[i] = n[i]; + return (l[e] = r(s)), dX(t, this, l); + } + ); + } + var mX, + f5, + H_ = R(() => { + 'use strict'; + pX(); + mX = Math.max; + o(O6e, 'overRest'); + f5 = O6e; + }); + function P6e(t) { + return function () { + return t; + }; + } + var ws, + Y_ = R(() => { + 'use strict'; + o(P6e, 'constant'); + ws = P6e; + }); + var B6e, + gX, + yX = R(() => { + 'use strict'; + Y_(); + N_(); + Eu(); + (B6e = jp + ? function (t, e) { + return jp(t, 'toString', { + configurable: !0, + enumerable: !1, + value: ws(e), + writable: !0 + }); + } + : ea), + (gX = B6e); + }); + function $6e(t) { + var e = 0, + r = 0; + return function () { + var n = G6e(), + i = z6e - (n - r); + if (((r = n), i > 0)) { + if (++e >= F6e) return arguments[0]; + } else e = 0; + return t.apply(void 0, arguments); + }; + } + var F6e, + z6e, + G6e, + vX, + xX = R(() => { + 'use strict'; + (F6e = 800), (z6e = 16), (G6e = Date.now); + o($6e, 'shortOut'); + vX = $6e; + }); + var V6e, + d5, + W_ = R(() => { + 'use strict'; + yX(); + xX(); + (V6e = vX(gX)), (d5 = V6e); + }); + function U6e(t, e) { + return d5(f5(t, e, ea), t + ''); + } + var pc, + sm = R(() => { + 'use strict'; + Eu(); + H_(); + W_(); + o(U6e, 'baseRest'); + pc = U6e; + }); + function H6e(t, e, r) { + if (!pn(r)) return !1; + var n = typeof e; + return (n == 'number' ? ei(r) && Fh(e, r.length) : n == 'string' && e in r) ? No(r[e], t) : !1; + } + var eo, + Ed = R(() => { + 'use strict'; + xd(); + Io(); + uv(); + Js(); + o(H6e, 'isIterateeCall'); + eo = H6e; + }); + function Y6e(t) { + return pc(function (e, r) { + var n = -1, + i = r.length, + a = i > 1 ? r[i - 1] : void 0, + s = i > 2 ? r[2] : void 0; + for ( + a = t.length > 3 && typeof a == 'function' ? (i--, a) : void 0, + s && eo(r[0], r[1], s) && ((a = i < 3 ? void 0 : a), (i = 1)), + e = Object(e); + ++n < i; + + ) { + var l = r[n]; + l && t(e, l, n, a); + } + return e; + }); + } + var p5, + q_ = R(() => { + 'use strict'; + sm(); + Ed(); + o(Y6e, 'createAssigner'); + p5 = Y6e; + }); + var W6e, + Gh, + X_ = R(() => { + 'use strict'; + fX(); + q_(); + (W6e = p5(function (t, e, r) { + hX(t, e, r); + })), + (Gh = W6e); + }); + function om(t, e) { + if (!t) return e; + let r = `curve${t.charAt(0).toUpperCase() + t.slice(1)}`; + return q6e[r] ?? e; + } + function Q6e(t, e) { + let r = t.trim(); + if (r) return e.securityLevel !== 'loose' ? (0, TX.sanitizeUrl)(r) : r; + } + function CX(t, e) { + return !t || !e ? 0 : Math.sqrt(Math.pow(e.x - t.x, 2) + Math.pow(e.y - t.y, 2)); + } + function J6e(t) { + let e, + r = 0; + t.forEach((i) => { + (r += CX(i, e)), (e = i); + }); + let n = r / 2; + return Q_(t, n); + } + function eCe(t) { + return t.length === 1 ? t[0] : J6e(t); + } + function rCe(t, e, r) { + let n = structuredClone(r); + V.info('our points', n), e !== 'start_left' && e !== 'start_right' && n.reverse(); + let i = 25 + t, + a = Q_(n, i), + s = 10 + t * 0.5, + l = Math.atan2(n[0].y - a.y, n[0].x - a.x), + u = { x: 0, y: 0 }; + return ( + e === 'start_left' + ? ((u.x = Math.sin(l + Math.PI) * s + (n[0].x + a.x) / 2), + (u.y = -Math.cos(l + Math.PI) * s + (n[0].y + a.y) / 2)) + : e === 'end_right' + ? ((u.x = Math.sin(l - Math.PI) * s + (n[0].x + a.x) / 2 - 5), + (u.y = -Math.cos(l - Math.PI) * s + (n[0].y + a.y) / 2 - 5)) + : e === 'end_left' + ? ((u.x = Math.sin(l) * s + (n[0].x + a.x) / 2 - 5), (u.y = -Math.cos(l) * s + (n[0].y + a.y) / 2 - 5)) + : ((u.x = Math.sin(l) * s + (n[0].x + a.x) / 2), (u.y = -Math.cos(l) * s + (n[0].y + a.y) / 2)), + u + ); + } + function lm(t) { + let e = '', + r = ''; + for (let n of t) + n !== void 0 && + (n.startsWith('color:') || n.startsWith('text-align:') ? (r = r + n + ';') : (e = e + n + ';')); + return { style: e, labelStyle: r }; + } + function nCe(t) { + let e = '', + r = '0123456789abcdef', + n = r.length; + for (let i = 0; i < t; i++) e += r.charAt(Math.floor(Math.random() * n)); + return e; + } + function g5(t, e) { + return t9(t, e).height; + } + function Cl(t, e) { + return t9(t, e).width; + } + function r9(t) { + return 'str' in t; + } + function Ts(t, e) { + return Gh({}, t, e); + } + var TX, + K_, + q6e, + X6e, + j6e, + kX, + EX, + K6e, + Z6e, + bX, + Q_, + tCe, + wX, + Z_, + J_, + iCe, + aCe, + e9, + sCe, + t9, + j_, + m5, + oCe, + lCe, + mc, + Lt, + SX, + to, + y5, + xr = R(() => { + 'use strict'; + TX = Xi(Up(), 1); + Zt(); + rr(); + r7(); + ut(); + Hf(); + cp(); + R_(); + X_(); + Vb(); + (K_ = '\u200B'), + (q6e = { + curveBasis: vs, + curveBasisClosed: B3, + curveBasisOpen: F3, + curveBumpX: s_, + curveBumpY: o_, + curveBundle: l_, + curveCardinalClosed: u_, + curveCardinalOpen: f_, + curveCardinal: c_, + curveCatmullRomClosed: m_, + curveCatmullRomOpen: g_, + curveCatmullRom: p_, + curveLinear: xu, + curveLinearClosed: U3, + curveMonotoneX: v_, + curveMonotoneY: x_, + curveNatural: Y3, + curveStep: q3, + curveStepAfter: w_, + curveStepBefore: b_ + }), + (X6e = /\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi), + (j6e = o(function (t, e) { + let r = kX(t, /(?:init\b)|(?:initialize\b)/), + n = {}; + if (Array.isArray(r)) { + let s = r.map((l) => l.args); + fp(s), (n = On(n, [...s])); + } else n = r.args; + if (!n) return; + let i = lp(t, e), + a = 'config'; + return ( + n[a] !== void 0 && (i === 'flowchart-v2' && (i = 'flowchart'), (n[i] = n[a]), delete n[a]), n + ); + }, 'detectInit')), + (kX = o(function (t, e = null) { + try { + let r = new RegExp( + `[%]{2}(?![{]${X6e.source})(?=[}][%]{2}).* +`, + 'ig' + ); + (t = t.trim().replace(r, '').replace(/'/gm, '"')), + V.debug( + `Detecting diagram directive${e !== null ? ' type:' + e : ''} based on the text:${t}` + ); + let n, + i = []; + for (; (n = Vf.exec(t)) !== null; ) + if ( + (n.index === Vf.lastIndex && Vf.lastIndex++, + (n && !e) || (e && n[1]?.match(e)) || (e && n[2]?.match(e))) + ) { + let a = n[1] ? n[1] : n[2], + s = n[3] ? n[3].trim() : n[4] ? JSON.parse(n[4].trim()) : null; + i.push({ type: a, args: s }); + } + return i.length === 0 ? { type: t, args: null } : i.length === 1 ? i[0] : i; + } catch (r) { + return ( + V.error( + `ERROR: ${r.message} - Unable to parse directive type: '${e}' based on the text: '${t}'` + ), + { type: void 0, args: null } + ); + } + }, 'detectDirective')), + (EX = o(function (t) { + return t.replace(Vf, ''); + }, 'removeDirectives')), + (K6e = o(function (t, e) { + for (let [r, n] of e.entries()) if (n.match(t)) return r; + return -1; + }, 'isSubstringInArray')); + o(om, 'interpolateToCurve'); + o(Q6e, 'formatUrl'); + Z6e = o((t, ...e) => { + let r = t.split('.'), + n = r.length - 1, + i = r[n], + a = window; + for (let s = 0; s < n; s++) + if (((a = a[r[s]]), !a)) { + V.error(`Function name: ${t} not found in window`); + return; + } + a[i](...e); + }, 'runFunc'); + o(CX, 'distance'); + o(J6e, 'traverseEdge'); + o(eCe, 'calcLabelPosition'); + (bX = o((t, e = 2) => { + let r = Math.pow(10, e); + return Math.round(t * r) / r; + }, 'roundNumber')), + (Q_ = o((t, e) => { + let r, + n = e; + for (let i of t) { + if (r) { + let a = CX(i, r); + if (a < n) n -= a; + else { + let s = n / a; + if (s <= 0) return r; + if (s >= 1) return { x: i.x, y: i.y }; + if (s > 0 && s < 1) + return { + x: bX((1 - s) * r.x + s * i.x, 5), + y: bX((1 - s) * r.y + s * i.y, 5) + }; + } + } + r = i; + } + throw new Error('Could not find a suitable point for the given distance'); + }, 'calculatePoint')), + (tCe = o((t, e, r) => { + V.info(`our points ${JSON.stringify(e)}`), e[0] !== r && (e = e.reverse()); + let i = Q_(e, 25), + a = t ? 10 : 5, + s = Math.atan2(e[0].y - i.y, e[0].x - i.x), + l = { x: 0, y: 0 }; + return ( + (l.x = Math.sin(s) * a + (e[0].x + i.x) / 2), (l.y = -Math.cos(s) * a + (e[0].y + i.y) / 2), l + ); + }, 'calcCardinalityPosition')); + o(rCe, 'calcTerminalLabelPosition'); + o(lm, 'getStylesFromArray'); + (wX = 0), (Z_ = o(() => (wX++, 'id-' + Math.random().toString(36).substr(2, 12) + '-' + wX), 'generateId')); + o(nCe, 'makeRandomHex'); + (J_ = o((t) => nCe(t.length), 'random')), + (iCe = o(function () { + return { + x: 0, + y: 0, + fill: void 0, + anchor: 'start', + style: '#666', + width: 100, + height: 100, + textMargin: 0, + rx: 0, + ry: 0, + valign: void 0, + text: '' + }; + }, 'getTextObj')), + (aCe = o(function (t, e) { + let r = e.text.replace(We.lineBreakRegex, ' '), + [, n] = mc(e.fontSize), + i = t.append('text'); + i.attr('x', e.x), + i.attr('y', e.y), + i.style('text-anchor', e.anchor), + i.style('font-family', e.fontFamily), + i.style('font-size', n), + i.style('font-weight', e.fontWeight), + i.attr('fill', e.fill), + e.class !== void 0 && i.attr('class', e.class); + let a = i.append('tspan'); + return a.attr('x', e.x + e.textMargin * 2), a.attr('fill', e.fill), a.text(r), i; + }, 'drawSimpleText')), + (e9 = qp( + (t, e, r) => { + if ( + !t || + ((r = Object.assign( + { + fontSize: 12, + fontWeight: 400, + fontFamily: 'Arial', + joinWith: '
' + }, + r + )), + We.lineBreakRegex.test(t)) + ) + return t; + let n = t.split(' ').filter(Boolean), + i = [], + a = ''; + return ( + n.forEach((s, l) => { + let u = Cl(`${s} `, r), + h = Cl(a, r); + if (u > e) { + let { hyphenatedStrings: p, remainingWord: m } = sCe(s, e, '-', r); + i.push(a, ...p), (a = m); + } else h + u >= e ? (i.push(a), (a = s)) : (a = [a, s].filter(Boolean).join(' ')); + l + 1 === n.length && i.push(a); + }), + i.filter((s) => s !== '').join(r.joinWith) + ); + }, + (t, e, r) => `${t}${e}${r.fontSize}${r.fontWeight}${r.fontFamily}${r.joinWith}` + )), + (sCe = qp( + (t, e, r = '-', n) => { + n = Object.assign({ fontSize: 12, fontWeight: 400, fontFamily: 'Arial', margin: 0 }, n); + let i = [...t], + a = [], + s = ''; + return ( + i.forEach((l, u) => { + let h = `${s}${l}`; + if (Cl(h, n) >= e) { + let d = u + 1, + p = i.length === d, + m = `${h}${r}`; + a.push(p ? h : m), (s = ''); + } else s = h; + }), + { hyphenatedStrings: a, remainingWord: s } + ); + }, + (t, e, r = '-', n) => `${t}${e}${r}${n.fontSize}${n.fontWeight}${n.fontFamily}` + )); + o(g5, 'calculateTextHeight'); + o(Cl, 'calculateTextWidth'); + (t9 = qp( + (t, e) => { + let { fontSize: r = 12, fontFamily: n = 'Arial', fontWeight: i = 400 } = e; + if (!t) return { width: 0, height: 0 }; + let [, a] = mc(r), + s = ['sans-serif', n], + l = t.split(We.lineBreakRegex), + u = [], + h = $e('body'); + if (!h.remove) return { width: 0, height: 0, lineHeight: 0 }; + let f = h.append('svg'); + for (let p of s) { + let m = 0, + g = { width: 0, height: 0, lineHeight: 0 }; + for (let y of l) { + let v = iCe(); + v.text = y || K_; + let x = aCe(f, v).style('font-size', a).style('font-weight', i).style('font-family', p), + b = (x._groups || x)[0][0].getBBox(); + if (b.width === 0 && b.height === 0) throw new Error('svg element not in render tree'); + (g.width = Math.round(Math.max(g.width, b.width))), + (m = Math.round(b.height)), + (g.height += m), + (g.lineHeight = Math.round(Math.max(g.lineHeight, m))); + } + u.push(g); + } + f.remove(); + let d = + isNaN(u[1].height) || + isNaN(u[1].width) || + isNaN(u[1].lineHeight) || + (u[0].height > u[1].height && u[0].width > u[1].width && u[0].lineHeight > u[1].lineHeight) + ? 0 + : 1; + return u[d]; + }, + (t, e) => `${t}${e.fontSize}${e.fontWeight}${e.fontFamily}` + )), + (j_ = class { + constructor(e = !1, r) { + this.count = 0; + (this.count = r ? r.length : 0), (this.next = e ? () => this.count++ : () => Date.now()); + } + static { + o(this, 'InitIDGenerator'); + } + }), + (oCe = o(function (t) { + return ( + (m5 = m5 || document.createElement('div')), + (t = escape(t).replace(/%26/g, '&').replace(/%23/g, '#').replace(/%3B/g, ';')), + (m5.innerHTML = t), + unescape(m5.textContent) + ); + }, 'entityDecode')); + o(r9, 'isDetailedError'); + (lCe = o((t, e, r, n) => { + if (!n) return; + let i = t.node()?.getBBox(); + i && + t + .append('text') + .text(n) + .attr('x', i.x + i.width / 2) + .attr('y', -r) + .attr('class', e); + }, 'insertTitle')), + (mc = o((t) => { + if (typeof t == 'number') return [t, t + 'px']; + let e = parseInt(t ?? '', 10); + return Number.isNaN(e) ? [void 0, void 0] : t === String(e) ? [e, t + 'px'] : [e, t]; + }, 'parseFontSize')); + o(Ts, 'cleanAndMerge'); + (Lt = { + assignWithDepth: On, + wrapLabel: e9, + calculateTextHeight: g5, + calculateTextWidth: Cl, + calculateTextDimensions: t9, + cleanAndMerge: Ts, + detectInit: j6e, + detectDirective: kX, + isSubstringInArray: K6e, + interpolateToCurve: om, + calcLabelPosition: eCe, + calcCardinalityPosition: tCe, + calcTerminalLabelPosition: rCe, + formatUrl: Q6e, + getStylesFromArray: lm, + generateId: Z_, + random: J_, + runFunc: Z6e, + entityDecode: oCe, + insertTitle: lCe, + parseFontSize: mc, + InitIDGenerator: j_ + }), + (SX = o(function (t) { + let e = t; + return ( + (e = e.replace(/style.*:\S*#.*;/g, function (r) { + return r.substring(0, r.length - 1); + })), + (e = e.replace(/classDef.*:\S*#.*;/g, function (r) { + return r.substring(0, r.length - 1); + })), + (e = e.replace(/#\w+;/g, function (r) { + let n = r.substring(1, r.length - 1); + return /^\+?\d+$/.test(n) + ? '\uFB02\xB0\xB0' + n + '\xB6\xDF' + : '\uFB02\xB0' + n + '\xB6\xDF'; + })), + e + ); + }, 'encodeEntities')), + (to = o(function (t) { + return t.replace(/fl°°/g, '&#').replace(/fl°/g, '&').replace(/¶ß/g, ';'); + }, 'decodeEntities')), + (y5 = o( + (t, e, { counter: r = 0, prefix: n, suffix: i }) => + `${n ? `${n}_` : ''}${t}_${e}_${r}${i ? `_${i}` : ''}`, + 'getEdgeId' + )); + }); + function Sl(t, e, r, n, i) { + if (!e[t].width) + if (r) + (e[t].text = e9(e[t].text, i, n)), + (e[t].textLines = e[t].text.split(We.lineBreakRegex).length), + (e[t].width = i), + (e[t].height = g5(e[t].text, n)); + else { + let a = e[t].text.split(We.lineBreakRegex); + e[t].textLines = a.length; + let s = 0; + (e[t].height = 0), (e[t].width = 0); + for (let l of a) + (e[t].width = Math.max(Cl(l, n), e[t].width)), (s = g5(l, n)), (e[t].height = e[t].height + s); + } + } + function RX(t, e, r, n, i) { + let a = new w5(i); + a.data.widthLimit = r.data.widthLimit / Math.min(n9, n.length); + for (let [s, l] of n.entries()) { + let u = 0; + (l.image = { width: 0, height: 0, Y: 0 }), + l.sprite && + ((l.image.width = 48), (l.image.height = 48), (l.image.Y = u), (u = l.image.Y + l.image.height)); + let h = l.wrap && Nt.wrap, + f = v5(Nt); + if ( + ((f.fontSize = f.fontSize + 2), + (f.fontWeight = 'bold'), + Sl('label', l, h, f, a.data.widthLimit), + (l.label.Y = u + 8), + (u = l.label.Y + l.label.height), + l.type && l.type.text !== '') + ) { + l.type.text = '[' + l.type.text + ']'; + let g = v5(Nt); + Sl('type', l, h, g, a.data.widthLimit), (l.type.Y = u + 5), (u = l.type.Y + l.type.height); + } + if (l.descr && l.descr.text !== '') { + let g = v5(Nt); + (g.fontSize = g.fontSize - 2), + Sl('descr', l, h, g, a.data.widthLimit), + (l.descr.Y = u + 20), + (u = l.descr.Y + l.descr.height); + } + if (s == 0 || s % n9 === 0) { + let g = r.data.startx + Nt.diagramMarginX, + y = r.data.stopy + Nt.diagramMarginY + u; + a.setData(g, g, y, y); + } else { + let g = a.data.stopx !== a.data.startx ? a.data.stopx + Nt.diagramMarginX : a.data.startx, + y = a.data.starty; + a.setData(g, g, y, y); + } + a.name = l.alias; + let d = i.db.getC4ShapeArray(l.alias), + p = i.db.getC4ShapeKeys(l.alias); + p.length > 0 && DX(a, t, d, p), (e = l.alias); + let m = i.db.getBoundarys(e); + m.length > 0 && RX(t, e, a, m, i), + l.alias !== 'global' && LX(t, l, a), + (r.data.stopy = Math.max(a.data.stopy + Nt.c4ShapeMargin, r.data.stopy)), + (r.data.stopx = Math.max(a.data.stopx + Nt.c4ShapeMargin, r.data.stopx)), + (x5 = Math.max(x5, r.data.stopx)), + (b5 = Math.max(b5, r.data.stopy)); + } + } + var x5, + b5, + _X, + n9, + Nt, + w5, + i9, + hv, + v5, + cCe, + LX, + DX, + ks, + AX, + uCe, + hCe, + fCe, + a9, + NX = R(() => { + 'use strict'; + Zt(); + AW(); + ut(); + VC(); + rr(); + lS(); + _t(); + cp(); + xr(); + Yn(); + (x5 = 0), (b5 = 0), (_X = 4), (n9 = 2); + U1.yy = hy; + (Nt = {}), + (w5 = class { + static { + o(this, 'Bounds'); + } + constructor(e) { + (this.name = ''), + (this.data = {}), + (this.data.startx = void 0), + (this.data.stopx = void 0), + (this.data.starty = void 0), + (this.data.stopy = void 0), + (this.data.widthLimit = void 0), + (this.nextData = {}), + (this.nextData.startx = void 0), + (this.nextData.stopx = void 0), + (this.nextData.starty = void 0), + (this.nextData.stopy = void 0), + (this.nextData.cnt = 0), + i9(e.db.getConfig()); + } + setData(e, r, n, i) { + (this.nextData.startx = this.data.startx = e), + (this.nextData.stopx = this.data.stopx = r), + (this.nextData.starty = this.data.starty = n), + (this.nextData.stopy = this.data.stopy = i); + } + updateVal(e, r, n, i) { + e[r] === void 0 ? (e[r] = n) : (e[r] = i(n, e[r])); + } + insert(e) { + this.nextData.cnt = this.nextData.cnt + 1; + let r = + this.nextData.startx === this.nextData.stopx + ? this.nextData.stopx + e.margin + : this.nextData.stopx + e.margin * 2, + n = r + e.width, + i = this.nextData.starty + e.margin * 2, + a = i + e.height; + (r >= this.data.widthLimit || n >= this.data.widthLimit || this.nextData.cnt > _X) && + ((r = this.nextData.startx + e.margin + Nt.nextLinePaddingX), + (i = this.nextData.stopy + e.margin * 2), + (this.nextData.stopx = n = r + e.width), + (this.nextData.starty = this.nextData.stopy), + (this.nextData.stopy = a = i + e.height), + (this.nextData.cnt = 1)), + (e.x = r), + (e.y = i), + this.updateVal(this.data, 'startx', r, Math.min), + this.updateVal(this.data, 'starty', i, Math.min), + this.updateVal(this.data, 'stopx', n, Math.max), + this.updateVal(this.data, 'stopy', a, Math.max), + this.updateVal(this.nextData, 'startx', r, Math.min), + this.updateVal(this.nextData, 'starty', i, Math.min), + this.updateVal(this.nextData, 'stopx', n, Math.max), + this.updateVal(this.nextData, 'stopy', a, Math.max); + } + init(e) { + (this.name = ''), + (this.data = { + startx: void 0, + stopx: void 0, + starty: void 0, + stopy: void 0, + widthLimit: void 0 + }), + (this.nextData = { + startx: void 0, + stopx: void 0, + starty: void 0, + stopy: void 0, + cnt: 0 + }), + i9(e.db.getConfig()); + } + bumpLastMargin(e) { + (this.data.stopx += e), (this.data.stopy += e); + } + }), + (i9 = o(function (t) { + On(Nt, t), + t.fontFamily && + (Nt.personFontFamily = Nt.systemFontFamily = Nt.messageFontFamily = t.fontFamily), + t.fontSize && (Nt.personFontSize = Nt.systemFontSize = Nt.messageFontSize = t.fontSize), + t.fontWeight && + (Nt.personFontWeight = Nt.systemFontWeight = Nt.messageFontWeight = t.fontWeight); + }, 'setConf')), + (hv = o( + (t, e) => ({ + fontFamily: t[e + 'FontFamily'], + fontSize: t[e + 'FontSize'], + fontWeight: t[e + 'FontWeight'] + }), + 'c4ShapeFont' + )), + (v5 = o( + (t) => ({ + fontFamily: t.boundaryFontFamily, + fontSize: t.boundaryFontSize, + fontWeight: t.boundaryFontWeight + }), + 'boundaryFont' + )), + (cCe = o( + (t) => ({ + fontFamily: t.messageFontFamily, + fontSize: t.messageFontSize, + fontWeight: t.messageFontWeight + }), + 'messageFont' + )); + o(Sl, 'calcC4ShapeTextWH'); + (LX = o(function (t, e, r) { + (e.x = r.data.startx), + (e.y = r.data.starty), + (e.width = r.data.stopx - r.data.startx), + (e.height = r.data.stopy - r.data.starty), + (e.label.y = Nt.c4ShapeMargin - 35); + let n = e.wrap && Nt.wrap, + i = v5(Nt); + (i.fontSize = i.fontSize + 2), (i.fontWeight = 'bold'); + let a = Cl(e.label.text, i); + Sl('label', e, n, i, a), Tl.drawBoundary(t, e, Nt); + }, 'drawBoundary')), + (DX = o(function (t, e, r, n) { + let i = 0; + for (let a of n) { + i = 0; + let s = r[a], + l = hv(Nt, s.typeC4Shape.text); + switch ( + ((l.fontSize = l.fontSize - 2), + (s.typeC4Shape.width = Cl('\xAB' + s.typeC4Shape.text + '\xBB', l)), + (s.typeC4Shape.height = l.fontSize + 2), + (s.typeC4Shape.Y = Nt.c4ShapePadding), + (i = s.typeC4Shape.Y + s.typeC4Shape.height - 4), + (s.image = { width: 0, height: 0, Y: 0 }), + s.typeC4Shape.text) + ) { + case 'person': + case 'external_person': + (s.image.width = 48), + (s.image.height = 48), + (s.image.Y = i), + (i = s.image.Y + s.image.height); + break; + } + s.sprite && + ((s.image.width = 48), + (s.image.height = 48), + (s.image.Y = i), + (i = s.image.Y + s.image.height)); + let u = s.wrap && Nt.wrap, + h = Nt.width - Nt.c4ShapePadding * 2, + f = hv(Nt, s.typeC4Shape.text); + if ( + ((f.fontSize = f.fontSize + 2), + (f.fontWeight = 'bold'), + Sl('label', s, u, f, h), + (s.label.Y = i + 8), + (i = s.label.Y + s.label.height), + s.type && s.type.text !== '') + ) { + s.type.text = '[' + s.type.text + ']'; + let m = hv(Nt, s.typeC4Shape.text); + Sl('type', s, u, m, h), (s.type.Y = i + 5), (i = s.type.Y + s.type.height); + } else if (s.techn && s.techn.text !== '') { + s.techn.text = '[' + s.techn.text + ']'; + let m = hv(Nt, s.techn.text); + Sl('techn', s, u, m, h), (s.techn.Y = i + 5), (i = s.techn.Y + s.techn.height); + } + let d = i, + p = s.label.width; + if (s.descr && s.descr.text !== '') { + let m = hv(Nt, s.typeC4Shape.text); + Sl('descr', s, u, m, h), + (s.descr.Y = i + 20), + (i = s.descr.Y + s.descr.height), + (p = Math.max(s.label.width, s.descr.width)), + (d = i - s.descr.textLines * 5); + } + (p = p + Nt.c4ShapePadding), + (s.width = Math.max(s.width || Nt.width, p, Nt.width)), + (s.height = Math.max(s.height || Nt.height, d, Nt.height)), + (s.margin = s.margin || Nt.c4ShapeMargin), + t.insert(s), + Tl.drawC4Shape(e, s, Nt); + } + t.bumpLastMargin(Nt.c4ShapeMargin); + }, 'drawC4ShapeArray')), + (ks = class { + static { + o(this, 'Point'); + } + constructor(e, r) { + (this.x = e), (this.y = r); + } + }), + (AX = o(function (t, e) { + let r = t.x, + n = t.y, + i = e.x, + a = e.y, + s = r + t.width / 2, + l = n + t.height / 2, + u = Math.abs(r - i), + h = Math.abs(n - a), + f = h / u, + d = t.height / t.width, + p = null; + return ( + n == a && r < i + ? (p = new ks(r + t.width, l)) + : n == a && r > i + ? (p = new ks(r, l)) + : r == i && n < a + ? (p = new ks(s, n + t.height)) + : r == i && n > a && (p = new ks(s, n)), + r > i && n < a + ? d >= f + ? (p = new ks(r, l + (f * t.width) / 2)) + : (p = new ks(s - ((u / h) * t.height) / 2, n + t.height)) + : r < i && n < a + ? d >= f + ? (p = new ks(r + t.width, l + (f * t.width) / 2)) + : (p = new ks(s + ((u / h) * t.height) / 2, n + t.height)) + : r < i && n > a + ? d >= f + ? (p = new ks(r + t.width, l - (f * t.width) / 2)) + : (p = new ks(s + ((t.height / 2) * u) / h, n)) + : r > i && + n > a && + (d >= f + ? (p = new ks(r, l - (t.width / 2) * f)) + : (p = new ks(s - ((t.height / 2) * u) / h, n))), + p + ); + }, 'getIntersectPoint')), + (uCe = o(function (t, e) { + let r = { x: 0, y: 0 }; + (r.x = e.x + e.width / 2), (r.y = e.y + e.height / 2); + let n = AX(t, r); + (r.x = t.x + t.width / 2), (r.y = t.y + t.height / 2); + let i = AX(e, r); + return { startPoint: n, endPoint: i }; + }, 'getIntersectPoints')), + (hCe = o(function (t, e, r, n) { + let i = 0; + for (let a of e) { + i = i + 1; + let s = a.wrap && Nt.wrap, + l = cCe(Nt); + n.db.getC4Type() === 'C4Dynamic' && (a.label.text = i + ': ' + a.label.text); + let h = Cl(a.label.text, l); + Sl('label', a, s, l, h), + a.techn && a.techn.text !== '' && ((h = Cl(a.techn.text, l)), Sl('techn', a, s, l, h)), + a.descr && a.descr.text !== '' && ((h = Cl(a.descr.text, l)), Sl('descr', a, s, l, h)); + let f = r(a.from), + d = r(a.to), + p = uCe(f, d); + (a.startPoint = p.startPoint), (a.endPoint = p.endPoint); + } + Tl.drawRels(t, e, Nt); + }, 'drawRels')); + o(RX, 'drawInsideBoundary'); + (fCe = o(function (t, e, r, n) { + Nt = de().c4; + let i = de().securityLevel, + a; + i === 'sandbox' && (a = $e('#i' + e)); + let s = i === 'sandbox' ? $e(a.nodes()[0].contentDocument.body) : $e('body'), + l = n.db; + n.db.setWrap(Nt.wrap), + (_X = l.getC4ShapeInRow()), + (n9 = l.getC4BoundaryInRow()), + V.debug(`C:${JSON.stringify(Nt, null, 2)}`); + let u = i === 'sandbox' ? s.select(`[id="${e}"]`) : $e(`[id="${e}"]`); + Tl.insertComputerIcon(u), Tl.insertDatabaseIcon(u), Tl.insertClockIcon(u); + let h = new w5(n); + h.setData(Nt.diagramMarginX, Nt.diagramMarginX, Nt.diagramMarginY, Nt.diagramMarginY), + (h.data.widthLimit = screen.availWidth), + (x5 = Nt.diagramMarginX), + (b5 = Nt.diagramMarginY); + let f = n.db.getTitle(), + d = n.db.getBoundarys(''); + RX(u, '', h, d, n), + Tl.insertArrowHead(u), + Tl.insertArrowEnd(u), + Tl.insertArrowCrossHead(u), + Tl.insertArrowFilledHead(u), + hCe(u, n.db.getRels(), n.db.getC4Shape, n), + (h.data.stopx = x5), + (h.data.stopy = b5); + let p = h.data, + g = p.stopy - p.starty + 2 * Nt.diagramMarginY, + v = p.stopx - p.startx + 2 * Nt.diagramMarginX; + f && + u + .append('text') + .text(f) + .attr('x', (p.stopx - p.startx) / 2 - 4 * Nt.diagramMarginX) + .attr('y', p.starty + Nt.diagramMarginY), + Sr(u, g, v, Nt.useMaxWidth); + let x = f ? 60 : 0; + u.attr( + 'viewBox', + p.startx - Nt.diagramMarginX + ' -' + (Nt.diagramMarginY + x) + ' ' + v + ' ' + (g + x) + ), + V.debug('models:', p); + }, 'draw')), + (a9 = { + drawPersonOrSystemArray: DX, + drawBoundary: LX, + setConf: i9, + draw: fCe + }); + }); + var dCe, + MX, + IX = R(() => { + 'use strict'; + (dCe = o( + (t) => `.person { + stroke: ${t.personBorder}; + fill: ${t.personBkg}; + } +`, + 'getStyles' + )), + (MX = dCe); + }); + var OX = {}; + hr(OX, { diagram: () => pCe }); + var pCe, + PX = R(() => { + 'use strict'; + VC(); + lS(); + NX(); + IX(); + pCe = { + parser: rz, + db: hy, + renderer: a9, + styles: MX, + init: o(({ c4: t, wrap: e }) => { + a9.setConf(t), hy.setWrap(e); + }, 'init') + }; + }); + function o9(t) { + let e = []; + for (let r of t) { + let n = dv.get(r); + n?.styles && (e = [...e, ...(n.styles ?? [])].map((i) => i.trim())), + n?.textStyles && (e = [...e, ...(n.textStyles ?? [])].map((i) => i.trim())); + } + return e; + } + var vCe, + zX, + cm, + $h, + Es, + dv, + Cu, + l9, + c9, + T5, + s9, + Fo, + k5, + E5, + C5, + S5, + xCe, + bCe, + wCe, + TCe, + kCe, + ECe, + CCe, + u9, + SCe, + ACe, + _Ce, + GX, + LCe, + DCe, + h9, + $X, + VX, + RCe, + UX, + NCe, + MCe, + ICe, + OCe, + PCe, + fv, + HX, + YX, + BCe, + FCe, + WX, + zCe, + GCe, + $Ce, + VCe, + UCe, + qX, + XX, + HCe, + YCe, + WCe, + qCe, + XCe, + jCe, + A5, + f9 = R(() => { + 'use strict'; + Zt(); + xr(); + _t(); + rr(); + ut(); + bi(); + (vCe = 'flowchart-'), + (zX = 0), + (cm = de()), + ($h = new Map()), + (Es = []), + (dv = new Map()), + (Cu = []), + (l9 = new Map()), + (c9 = new Map()), + (T5 = 0), + (s9 = !0), + (E5 = []), + (C5 = o((t) => We.sanitizeText(t, cm), 'sanitizeText')), + (S5 = o(function (t) { + for (let e of $h.values()) if (e.id === t) return e.domId; + return t; + }, 'lookUpDomId')), + (xCe = o(function (t, e, r, n, i, a, s = {}) { + if (!t || t.trim().length === 0) return; + let l, + u = $h.get(t); + u === void 0 && + ((u = { + id: t, + labelType: 'text', + domId: vCe + t + '-' + zX, + styles: [], + classes: [] + }), + $h.set(t, u)), + zX++, + e !== void 0 + ? ((cm = de()), + (l = C5(e.text.trim())), + (u.labelType = e.type), + l.startsWith('"') && l.endsWith('"') && (l = l.substring(1, l.length - 1)), + (u.text = l)) + : u.text === void 0 && (u.text = t), + r !== void 0 && (u.type = r), + n?.forEach(function (h) { + u.styles.push(h); + }), + i?.forEach(function (h) { + u.classes.push(h); + }), + a !== void 0 && (u.dir = a), + u.props === void 0 ? (u.props = s) : s !== void 0 && Object.assign(u.props, s); + }, 'addVertex')), + (bCe = o(function (t, e, r) { + let a = { + start: t, + end: e, + type: void 0, + text: '', + labelType: 'text' + }; + V.info('abc78 Got edge...', a); + let s = r.text; + if ( + (s !== void 0 && + ((a.text = C5(s.text.trim())), + a.text.startsWith('"') && + a.text.endsWith('"') && + (a.text = a.text.substring(1, a.text.length - 1)), + (a.labelType = s.type)), + r !== void 0 && + ((a.type = r.type), (a.stroke = r.stroke), (a.length = r.length > 10 ? 10 : r.length)), + Es.length < (cm.maxEdges ?? 500)) + ) + V.info('Pushing edge...'), Es.push(a); + else + throw new Error(`Edge limit exceeded. ${Es.length} edges found, but the limit is ${cm.maxEdges}. + +Initialize mermaid with maxEdges set to a higher number to allow more edges. +You cannot set this config via configuration inside the diagram as it is a secure config. +You have to call mermaid.initialize.`); + }, 'addSingleLink')), + (wCe = o(function (t, e, r) { + V.info('addLink', t, e, r); + for (let n of t) for (let i of e) bCe(n, i, r); + }, 'addLink')), + (TCe = o(function (t, e) { + t.forEach(function (r) { + r === 'default' ? (Es.defaultInterpolate = e) : (Es[r].interpolate = e); + }); + }, 'updateLinkInterpolate')), + (kCe = o(function (t, e) { + t.forEach(function (r) { + if (typeof r == 'number' && r >= Es.length) + throw new Error( + `The index ${r} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${ + Es.length - 1 + }. (Help: Ensure that the index is within the range of existing edges.)` + ); + r === 'default' + ? (Es.defaultStyle = e) + : ((Es[r].style = e), + (Es[r]?.style?.length ?? 0) > 0 && + !Es[r]?.style?.some((n) => n?.startsWith('fill')) && + Es[r]?.style?.push('fill:none')); + }); + }, 'updateLink')), + (ECe = o(function (t, e) { + t.split(',').forEach(function (r) { + let n = dv.get(r); + n === void 0 && ((n = { id: r, styles: [], textStyles: [] }), dv.set(r, n)), + e?.forEach(function (i) { + if (/color/.exec(i)) { + let a = i.replace('fill', 'bgFill'); + n.textStyles.push(a); + } + n.styles.push(i); + }); + }); + }, 'addClass')), + (CCe = o(function (t) { + (Fo = t), + /.*/.exec(Fo) && (Fo = 'LR'), + /.*v/.exec(Fo) && (Fo = 'TB'), + Fo === 'TD' && (Fo = 'TB'); + }, 'setDirection')), + (u9 = o(function (t, e) { + for (let r of t.split(',')) { + let n = $h.get(r); + n && n.classes.push(e); + let i = l9.get(r); + i && i.classes.push(e); + } + }, 'setClass')), + (SCe = o(function (t, e) { + if (e !== void 0) { + e = C5(e); + for (let r of t.split(',')) c9.set(k5 === 'gen-1' ? S5(r) : r, e); + } + }, 'setTooltip')), + (ACe = o(function (t, e, r) { + let n = S5(t); + if (de().securityLevel !== 'loose' || e === void 0) return; + let i = []; + if (typeof r == 'string') { + i = r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/); + for (let s = 0; s < i.length; s++) { + let l = i[s].trim(); + l.startsWith('"') && l.endsWith('"') && (l = l.substr(1, l.length - 2)), (i[s] = l); + } + } + i.length === 0 && i.push(t); + let a = $h.get(t); + a && + ((a.haveCallback = !0), + E5.push(function () { + let s = document.querySelector(`[id="${n}"]`); + s !== null && + s.addEventListener( + 'click', + function () { + Lt.runFunc(e, ...i); + }, + !1 + ); + })); + }, 'setClickFun')), + (_Ce = o(function (t, e, r) { + t.split(',').forEach(function (n) { + let i = $h.get(n); + i !== void 0 && ((i.link = Lt.formatUrl(e, cm)), (i.linkTarget = r)); + }), + u9(t, 'clickable'); + }, 'setLink')), + (GX = o(function (t) { + return c9.get(t); + }, 'getTooltip')), + (LCe = o(function (t, e, r) { + t.split(',').forEach(function (n) { + ACe(n, e, r); + }), + u9(t, 'clickable'); + }, 'setClickEvent')), + (DCe = o(function (t) { + E5.forEach(function (e) { + e(t); + }); + }, 'bindFunctions')), + (h9 = o(function () { + return Fo.trim(); + }, 'getDirection')), + ($X = o(function () { + return $h; + }, 'getVertices')), + (VX = o(function () { + return Es; + }, 'getEdges')), + (RCe = o(function () { + return dv; + }, 'getClasses')), + (UX = o(function (t) { + let e = $e('.mermaidTooltip'); + (e._groups || e)[0][0] === null && + (e = $e('body').append('div').attr('class', 'mermaidTooltip').style('opacity', 0)), + $e(t) + .select('svg') + .selectAll('g.node') + .on('mouseover', function () { + let i = $e(this); + if (i.attr('title') === null) return; + let s = this?.getBoundingClientRect(); + e.transition().duration(200).style('opacity', '.9'), + e + .text(i.attr('title')) + .style('left', window.scrollX + s.left + (s.right - s.left) / 2 + 'px') + .style('top', window.scrollY + s.bottom + 'px'), + e.html(e.html().replace(/<br\/>/g, '
')), + i.classed('hover', !0); + }) + .on('mouseout', function () { + e.transition().duration(500).style('opacity', 0), $e(this).classed('hover', !1); + }); + }, 'setupToolTips')); + E5.push(UX); + (NCe = o(function (t = 'gen-1') { + ($h = new Map()), + (dv = new Map()), + (Es = []), + (E5 = [UX]), + (Cu = []), + (l9 = new Map()), + (T5 = 0), + (c9 = new Map()), + (s9 = !0), + (k5 = t), + (cm = de()), + vr(); + }, 'clear')), + (MCe = o((t) => { + k5 = t || 'gen-2'; + }, 'setGen')), + (ICe = o(function () { + return 'fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;'; + }, 'defaultStyle')), + (OCe = o(function (t, e, r) { + let n = t.text.trim(), + i = r.text; + t === r && /\s/.exec(r.text) && (n = void 0); + function a(h) { + let f = { boolean: {}, number: {}, string: {} }, + d = [], + p; + return { + nodeList: h.filter(function (g) { + let y = typeof g; + return g.stmt && g.stmt === 'dir' + ? ((p = g.value), !1) + : g.trim() === '' + ? !1 + : y in f + ? f[y].hasOwnProperty(g) + ? !1 + : (f[y][g] = !0) + : d.includes(g) + ? !1 + : d.push(g); + }), + dir: p + }; + } + o(a, 'uniq'); + let { nodeList: s, dir: l } = a(e.flat()); + if (k5 === 'gen-1') for (let h = 0; h < s.length; h++) s[h] = S5(s[h]); + (n = n ?? 'subGraph' + T5), (i = i || ''), (i = C5(i)), (T5 = T5 + 1); + let u = { + id: n, + nodes: s, + title: i.trim(), + classes: [], + dir: l, + labelType: r.type + }; + return ( + V.info('Adding', u.id, u.nodes, u.dir), (u.nodes = XX(u, Cu).nodes), Cu.push(u), l9.set(n, u), n + ); + }, 'addSubGraph')), + (PCe = o(function (t) { + for (let [e, r] of Cu.entries()) if (r.id === t) return e; + return -1; + }, 'getPosForId')), + (fv = -1), + (HX = []), + (YX = o(function (t, e) { + let r = Cu[e].nodes; + if (((fv = fv + 1), fv > 2e3)) return { result: !1, count: 0 }; + if (((HX[fv] = e), Cu[e].id === t)) return { result: !0, count: 0 }; + let n = 0, + i = 1; + for (; n < r.length; ) { + let a = PCe(r[n]); + if (a >= 0) { + let s = YX(t, a); + if (s.result) return { result: !0, count: i + s.count }; + i = i + s.count; + } + n = n + 1; + } + return { result: !1, count: i }; + }, 'indexNodes2')), + (BCe = o(function (t) { + return HX[t]; + }, 'getDepthFirstPos')), + (FCe = o(function () { + (fv = -1), Cu.length > 0 && YX('none', Cu.length - 1); + }, 'indexNodes')), + (WX = o(function () { + return Cu; + }, 'getSubGraphs')), + (zCe = o(() => (s9 ? ((s9 = !1), !0) : !1), 'firstGraph')), + (GCe = o((t) => { + let e = t.trim(), + r = 'arrow_open'; + switch (e[0]) { + case '<': + (r = 'arrow_point'), (e = e.slice(1)); + break; + case 'x': + (r = 'arrow_cross'), (e = e.slice(1)); + break; + case 'o': + (r = 'arrow_circle'), (e = e.slice(1)); + break; + } + let n = 'normal'; + return e.includes('=') && (n = 'thick'), e.includes('.') && (n = 'dotted'), { type: r, stroke: n }; + }, 'destructStartLink')), + ($Ce = o((t, e) => { + let r = e.length, + n = 0; + for (let i = 0; i < r; ++i) e[i] === t && ++n; + return n; + }, 'countChar')), + (VCe = o((t) => { + let e = t.trim(), + r = e.slice(0, -1), + n = 'arrow_open'; + switch (e.slice(-1)) { + case 'x': + (n = 'arrow_cross'), e.startsWith('x') && ((n = 'double_' + n), (r = r.slice(1))); + break; + case '>': + (n = 'arrow_point'), e.startsWith('<') && ((n = 'double_' + n), (r = r.slice(1))); + break; + case 'o': + (n = 'arrow_circle'), e.startsWith('o') && ((n = 'double_' + n), (r = r.slice(1))); + break; + } + let i = 'normal', + a = r.length - 1; + r.startsWith('=') && (i = 'thick'), r.startsWith('~') && (i = 'invisible'); + let s = $Ce('.', r); + return s && ((i = 'dotted'), (a = s)), { type: n, stroke: i, length: a }; + }, 'destructEndLink')), + (UCe = o((t, e) => { + let r = VCe(t), + n; + if (e) { + if (((n = GCe(e)), n.stroke !== r.stroke)) return { type: 'INVALID', stroke: 'INVALID' }; + if (n.type === 'arrow_open') n.type = r.type; + else { + if (n.type !== r.type) return { type: 'INVALID', stroke: 'INVALID' }; + n.type = 'double_' + n.type; + } + return n.type === 'double_arrow' && (n.type = 'double_arrow_point'), (n.length = r.length), n; + } + return r; + }, 'destructLink')), + (qX = o((t, e) => { + for (let r of t) if (r.nodes.includes(e)) return !0; + return !1; + }, 'exists')), + (XX = o((t, e) => { + let r = []; + return ( + t.nodes.forEach((n, i) => { + qX(e, n) || r.push(t.nodes[i]); + }), + { nodes: r } + ); + }, 'makeUniq')), + (HCe = { firstGraph: zCe }), + (YCe = o( + (t) => + t.type === 'square' + ? 'squareRect' + : t.type === 'round' + ? 'roundedRect' + : t.type ?? 'squareRect', + 'getTypeFromVertex' + )), + (WCe = o((t, e) => t.find((r) => r.id === e), 'findNode')), + (qCe = o((t) => { + let e = 'none', + r = 'arrow_point'; + switch (t) { + case 'arrow_point': + case 'arrow_circle': + case 'arrow_cross': + r = t; + break; + case 'double_arrow_point': + case 'double_arrow_circle': + case 'double_arrow_cross': + (e = t.replace('double_', '')), (r = e); + break; + } + return { arrowTypeStart: e, arrowTypeEnd: r }; + }, 'destructEdgeType')), + (XCe = o((t, e, r, n, i, a) => { + let s = r.get(t.id), + l = n.get(t.id) ?? !1, + u = WCe(e, t.id); + u + ? ((u.cssStyles = t.styles), + (u.cssCompiledStyles = o9(t.classes)), + (u.cssClasses = t.classes.join(' '))) + : e.push({ + id: t.id, + label: t.text, + labelStyle: '', + parentId: s, + padding: i.flowchart?.padding || 8, + cssStyles: t.styles, + cssCompiledStyles: o9(['default', 'node', ...t.classes]), + cssClasses: 'default ' + t.classes.join(' '), + shape: YCe(t), + dir: t.dir, + domId: t.domId, + isGroup: l, + look: a, + link: t.link, + linkTarget: t.linkTarget, + tooltip: GX(t.id) + }); + }, 'addNodeFromVertex')); + o(o9, 'getCompiledStyles'); + (jCe = o(() => { + let t = de(), + e = [], + r = [], + n = WX(), + i = new Map(), + a = new Map(); + for (let u = n.length - 1; u >= 0; u--) { + let h = n[u]; + h.nodes.length > 0 && a.set(h.id, !0); + for (let f of h.nodes) i.set(f, h.id); + } + for (let u = n.length - 1; u >= 0; u--) { + let h = n[u]; + e.push({ + id: h.id, + label: h.title, + labelStyle: '', + parentId: i.get(h.id), + padding: 8, + cssCompiledStyles: o9(h.classes), + cssClasses: h.classes.join(' '), + shape: 'rect', + dir: h.dir, + isGroup: !0, + look: t.look + }); + } + $X().forEach((u) => { + XCe(u, e, i, a, t, t.look || 'classic'); + }); + let l = VX(); + return ( + l.forEach((u, h) => { + let { arrowTypeStart: f, arrowTypeEnd: d } = qCe(u.type), + p = [...(l.defaultStyle ?? [])]; + u.style && p.push(...u.style); + let m = { + id: y5(u.start, u.end, { counter: h, prefix: 'L' }), + start: u.start, + end: u.end, + type: u.type ?? 'normal', + label: u.text, + labelpos: 'c', + thickness: u.stroke, + minlen: u.length, + classes: + u?.stroke === 'invisible' + ? '' + : 'edge-thickness-normal edge-pattern-solid flowchart-link', + arrowTypeStart: u?.stroke === 'invisible' ? 'none' : f, + arrowTypeEnd: u?.stroke === 'invisible' ? 'none' : d, + arrowheadStyle: 'fill: #333', + labelStyle: p, + style: p, + pattern: u.stroke, + look: t.look + }; + r.push(m); + }), + { nodes: e, edges: r, other: {}, config: t } + ); + }, 'getData')), + (A5 = { + defaultConfig: o(() => _4.flowchart, 'defaultConfig'), + setAccTitle: kr, + getAccTitle: Ar, + getAccDescription: Lr, + getData: jCe, + setAccDescription: _r, + addVertex: xCe, + lookUpDomId: S5, + addLink: wCe, + updateLinkInterpolate: TCe, + updateLink: kCe, + addClass: ECe, + setDirection: CCe, + setClass: u9, + setTooltip: SCe, + getTooltip: GX, + setClickEvent: LCe, + setLink: _Ce, + bindFunctions: DCe, + getDirection: h9, + getVertices: $X, + getEdges: VX, + getClasses: RCe, + clear: NCe, + setGen: MCe, + defaultStyle: ICe, + addSubGraph: OCe, + getDepthFirstPos: BCe, + indexNodes: FCe, + getSubGraphs: WX, + destructLink: UCe, + lex: HCe, + exists: qX, + makeUniq: XX, + setDiagramTitle: nn, + getDiagramTitle: Xr + }); + }); + var KCe, + jX, + KX = R(() => { + 'use strict'; + (KCe = o((t) => { + let e = new Set(); + for (let r of t) + switch (r) { + case 'x': + e.add('right'), e.add('left'); + break; + case 'y': + e.add('up'), e.add('down'); + break; + default: + e.add(r); + break; + } + return e; + }, 'expandAndDeduplicateDirections')), + (jX = o((t, e, r) => { + let n = KCe(t), + i = 2, + a = e.height + 2 * r.padding, + s = a / i, + l = e.width + 2 * s + r.padding, + u = r.padding / 2; + return n.has('right') && n.has('left') && n.has('up') && n.has('down') + ? [ + { x: 0, y: 0 }, + { x: s, y: 0 }, + { x: l / 2, y: 2 * u }, + { x: l - s, y: 0 }, + { x: l, y: 0 }, + { x: l, y: -a / 3 }, + { x: l + 2 * u, y: -a / 2 }, + { x: l, y: (-2 * a) / 3 }, + { x: l, y: -a }, + { x: l - s, y: -a }, + { x: l / 2, y: -a - 2 * u }, + { x: s, y: -a }, + { x: 0, y: -a }, + { x: 0, y: (-2 * a) / 3 }, + { x: -2 * u, y: -a / 2 }, + { x: 0, y: -a / 3 } + ] + : n.has('right') && n.has('left') && n.has('up') + ? [ + { x: s, y: 0 }, + { x: l - s, y: 0 }, + { x: l, y: -a / 2 }, + { x: l - s, y: -a }, + { x: s, y: -a }, + { x: 0, y: -a / 2 } + ] + : n.has('right') && n.has('left') && n.has('down') + ? [ + { x: 0, y: 0 }, + { x: s, y: -a }, + { x: l - s, y: -a }, + { x: l, y: 0 } + ] + : n.has('right') && n.has('up') && n.has('down') + ? [ + { x: 0, y: 0 }, + { x: l, y: -s }, + { x: l, y: -a + s }, + { x: 0, y: -a } + ] + : n.has('left') && n.has('up') && n.has('down') + ? [ + { x: l, y: 0 }, + { x: 0, y: -s }, + { x: 0, y: -a + s }, + { x: l, y: -a } + ] + : n.has('right') && n.has('left') + ? [ + { x: s, y: 0 }, + { x: s, y: -u }, + { x: l - s, y: -u }, + { x: l - s, y: 0 }, + { x: l, y: -a / 2 }, + { x: l - s, y: -a }, + { x: l - s, y: -a + u }, + { x: s, y: -a + u }, + { x: s, y: -a }, + { x: 0, y: -a / 2 } + ] + : n.has('up') && n.has('down') + ? [ + { x: l / 2, y: 0 }, + { x: 0, y: -u }, + { x: s, y: -u }, + { x: s, y: -a + u }, + { x: 0, y: -a + u }, + { x: l / 2, y: -a }, + { x: l, y: -a + u }, + { x: l - s, y: -a + u }, + { x: l - s, y: -u }, + { x: l, y: -u } + ] + : n.has('right') && n.has('up') + ? [ + { x: 0, y: 0 }, + { x: l, y: -s }, + { x: 0, y: -a } + ] + : n.has('right') && n.has('down') + ? [ + { x: 0, y: 0 }, + { x: l, y: 0 }, + { x: 0, y: -a } + ] + : n.has('left') && n.has('up') + ? [ + { x: l, y: 0 }, + { x: 0, y: -s }, + { x: l, y: -a } + ] + : n.has('left') && n.has('down') + ? [ + { x: l, y: 0 }, + { x: 0, y: 0 }, + { x: l, y: -a } + ] + : n.has('right') + ? [ + { x: s, y: -u }, + { x: s, y: -u }, + { x: l - s, y: -u }, + { x: l - s, y: 0 }, + { x: l, y: -a / 2 }, + { x: l - s, y: -a }, + { x: l - s, y: -a + u }, + { x: s, y: -a + u }, + { x: s, y: -a + u } + ] + : n.has('left') + ? [ + { x: s, y: 0 }, + { x: s, y: -u }, + { x: l - s, y: -u }, + { x: l - s, y: -a + u }, + { x: s, y: -a + u }, + { x: s, y: -a }, + { x: 0, y: -a / 2 } + ] + : n.has('up') + ? [ + { x: s, y: -u }, + { x: s, y: -a + u }, + { x: 0, y: -a + u }, + { x: l / 2, y: -a }, + { x: l, y: -a + u }, + { x: l - s, y: -a + u }, + { x: l - s, y: -u } + ] + : n.has('down') + ? [ + { x: l / 2, y: 0 }, + { x: 0, y: -u }, + { x: s, y: -u }, + { x: s, y: -a + u }, + { x: l - s, y: -a + u }, + { x: l - s, y: -u }, + { x: l, y: -u } + ] + : [{ x: 0, y: 0 }]; + }, 'getArrowPoints')); + }); + function m9() { + return { + async: !1, + breaks: !1, + extensions: null, + gfm: !0, + hooks: null, + pedantic: !1, + renderer: null, + silent: !1, + tokenizer: null, + walkTokens: null + }; + } + function rj(t) { + Sd = t; + } + function ro(t, e) { + if (e) { + if (nj.test(t)) return t.replace(QCe, QX); + } else if (ij.test(t)) return t.replace(ZCe, QX); + return t; + } + function t7e(t) { + return t.replace( + e7e, + (e, r) => ( + (r = r.toLowerCase()), + r === 'colon' + ? ':' + : r.charAt(0) === '#' + ? r.charAt(1) === 'x' + ? String.fromCharCode(parseInt(r.substring(2), 16)) + : String.fromCharCode(+r.substring(1)) + : '' + ) + ); + } + function ln(t, e) { + let r = typeof t == 'string' ? t : t.source; + e = e || ''; + let n = { + replace: o((i, a) => { + let s = typeof a == 'string' ? a : a.source; + return (s = s.replace(r7e, '$1')), (r = r.replace(i, s)), n; + }, 'replace'), + getRegex: o(() => new RegExp(r, e), 'getRegex') + }; + return n; + } + function ZX(t) { + try { + t = encodeURI(t).replace(/%25/g, '%'); + } catch { + return null; + } + return t; + } + function JX(t, e) { + let r = t.replace(/\|/g, (a, s, l) => { + let u = !1, + h = s; + for (; --h >= 0 && l[h] === '\\'; ) u = !u; + return u ? '|' : ' |'; + }), + n = r.split(/ \|/), + i = 0; + if ((n[0].trim() || n.shift(), n.length > 0 && !n[n.length - 1].trim() && n.pop(), e)) + if (n.length > e) n.splice(e); + else for (; n.length < e; ) n.push(''); + for (; i < n.length; i++) n[i] = n[i].trim().replace(/\\\|/g, '|'); + return n; + } + function pv(t, e, r) { + let n = t.length; + if (n === 0) return ''; + let i = 0; + for (; i < n; ) { + let a = t.charAt(n - i - 1); + if (a === e && !r) i++; + else if (a !== e && r) i++; + else break; + } + return t.slice(0, n - i); + } + function n7e(t, e) { + if (t.indexOf(e[1]) === -1) return -1; + let r = 0; + for (let n = 0; n < t.length; n++) + if (t[n] === '\\') n++; + else if (t[n] === e[0]) r++; + else if (t[n] === e[1] && (r--, r < 0)) return n; + return -1; + } + function ej(t, e, r, n) { + let i = e.href, + a = e.title ? ro(e.title) : null, + s = t[1].replace(/\\([\[\]])/g, '$1'); + if (t[0].charAt(0) !== '!') { + n.state.inLink = !0; + let l = { + type: 'link', + raw: r, + href: i, + title: a, + text: s, + tokens: n.inlineTokens(s) + }; + return (n.state.inLink = !1), l; + } + return { type: 'image', raw: r, href: i, title: a, text: ro(s) }; + } + function i7e(t, e) { + let r = t.match(/^(\s+)(?:```)/); + if (r === null) return e; + let n = r[1]; + return e + .split( + ` +` + ) + .map((i) => { + let a = i.match(/^\s+/); + if (a === null) return i; + let [s] = a; + return s.length >= n.length ? i.slice(n.length) : i; + }).join(` +`); + } + function jr(t, e) { + return Cd.parse(t, e); + } + var Sd, + nj, + QCe, + ij, + ZCe, + JCe, + QX, + e7e, + r7e, + gv, + hm, + a7e, + s7e, + o7e, + vv, + l7e, + aj, + sj, + g9, + c7e, + y9, + u7e, + h7e, + D5, + v9, + f7e, + oj, + d7e, + x9, + tj, + p7e, + m7e, + lj, + g7e, + cj, + y7e, + xv, + v7e, + x7e, + b7e, + w7e, + T7e, + k7e, + E7e, + C7e, + S7e, + L5, + A7e, + uj, + hj, + _7e, + b9, + L7e, + d9, + D7e, + _5, + mv, + Su, + fm, + yv, + Au, + um, + p9, + Cd, + mkt, + gkt, + ykt, + vkt, + xkt, + bkt, + wkt, + fj = R(() => { + 'use strict'; + o(m9, '_getDefaults'); + Sd = m9(); + o(rj, 'changeDefaults'); + (nj = /[&<>"']/), + (QCe = new RegExp(nj.source, 'g')), + (ij = /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/), + (ZCe = new RegExp(ij.source, 'g')), + (JCe = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''' + }), + (QX = o((t) => JCe[t], 'getEscapeReplacement')); + o(ro, 'escape$1'); + e7e = /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi; + o(t7e, 'unescape'); + r7e = /(^|[^\[])\^/g; + o(ln, 'edit'); + o(ZX, 'cleanUrl'); + gv = { exec: o(() => null, 'exec') }; + o(JX, 'splitCells'); + o(pv, 'rtrim'); + o(n7e, 'findClosingBracket'); + o(ej, 'outputLink'); + o(i7e, 'indentCodeCompensation'); + (hm = class { + static { + o(this, '_Tokenizer'); + } + options; + rules; + lexer; + constructor(e) { + this.options = e || Sd; + } + space(e) { + let r = this.rules.block.newline.exec(e); + if (r && r[0].length > 0) return { type: 'space', raw: r[0] }; + } + code(e) { + let r = this.rules.block.code.exec(e); + if (r) { + let n = r[0].replace(/^ {1,4}/gm, ''); + return { + type: 'code', + raw: r[0], + codeBlockStyle: 'indented', + text: this.options.pedantic + ? n + : pv( + n, + ` +` + ) + }; + } + } + fences(e) { + let r = this.rules.block.fences.exec(e); + if (r) { + let n = r[0], + i = i7e(n, r[3] || ''); + return { + type: 'code', + raw: n, + lang: r[2] ? r[2].trim().replace(this.rules.inline.anyPunctuation, '$1') : r[2], + text: i + }; + } + } + heading(e) { + let r = this.rules.block.heading.exec(e); + if (r) { + let n = r[2].trim(); + if (/#$/.test(n)) { + let i = pv(n, '#'); + (this.options.pedantic || !i || / $/.test(i)) && (n = i.trim()); + } + return { + type: 'heading', + raw: r[0], + depth: r[1].length, + text: n, + tokens: this.lexer.inline(n) + }; + } + } + hr(e) { + let r = this.rules.block.hr.exec(e); + if (r) + return { + type: 'hr', + raw: pv( + r[0], + ` +` + ) + }; + } + blockquote(e) { + let r = this.rules.block.blockquote.exec(e); + if (r) { + let n = pv( + r[0], + ` +` + ).split(` +`), + i = '', + a = '', + s = []; + for (; n.length > 0; ) { + let l = !1, + u = [], + h; + for (h = 0; h < n.length; h++) + if (/^ {0,3}>/.test(n[h])) u.push(n[h]), (l = !0); + else if (!l) u.push(n[h]); + else break; + n = n.slice(h); + let f = u.join(` +`), + d = f + .replace( + /\n {0,3}((?:=+|-+) *)(?=\n|$)/g, + ` + $1` + ) + .replace(/^ {0,3}>[ \t]?/gm, ''); + (i = i + ? `${i} +${f}` + : f), + (a = a + ? `${a} +${d}` + : d); + let p = this.lexer.state.top; + if ( + ((this.lexer.state.top = !0), + this.lexer.blockTokens(d, s, !0), + (this.lexer.state.top = p), + n.length === 0) + ) + break; + let m = s[s.length - 1]; + if (m?.type === 'code') break; + if (m?.type === 'blockquote') { + let g = m, + y = + g.raw + + ` +` + + n.join(` +`), + v = this.blockquote(y); + (s[s.length - 1] = v), + (i = i.substring(0, i.length - g.raw.length) + v.raw), + (a = a.substring(0, a.length - g.text.length) + v.text); + break; + } else if (m?.type === 'list') { + let g = m, + y = + g.raw + + ` +` + + n.join(` +`), + v = this.list(y); + (s[s.length - 1] = v), + (i = i.substring(0, i.length - m.raw.length) + v.raw), + (a = a.substring(0, a.length - g.raw.length) + v.raw), + (n = y.substring(s[s.length - 1].raw.length).split(` +`)); + continue; + } + } + return { type: 'blockquote', raw: i, tokens: s, text: a }; + } + } + list(e) { + let r = this.rules.block.list.exec(e); + if (r) { + let n = r[1].trim(), + i = n.length > 1, + a = { + type: 'list', + raw: '', + ordered: i, + start: i ? +n.slice(0, -1) : '', + loose: !1, + items: [] + }; + (n = i ? `\\d{1,9}\\${n.slice(-1)}` : `\\${n}`), this.options.pedantic && (n = i ? n : '[*+-]'); + let s = new RegExp(`^( {0,3}${n})((?:[ ][^\\n]*)?(?:\\n|$))`), + l = !1; + for (; e; ) { + let u = !1, + h = '', + f = ''; + if (!(r = s.exec(e)) || this.rules.block.hr.test(e)) break; + (h = r[0]), (e = e.substring(h.length)); + let d = r[2] + .split( + ` +`, + 1 + )[0] + .replace(/^\t+/, (x) => ' '.repeat(3 * x.length)), + p = e.split( + ` +`, + 1 + )[0], + m = !d.trim(), + g = 0; + if ( + (this.options.pedantic + ? ((g = 2), (f = d.trimStart())) + : m + ? (g = r[1].length + 1) + : ((g = r[2].search(/[^ ]/)), + (g = g > 4 ? 1 : g), + (f = d.slice(g)), + (g += r[1].length)), + m && + /^ *$/.test(p) && + ((h += + p + + ` +`), + (e = e.substring(p.length + 1)), + (u = !0)), + !u) + ) { + let x = new RegExp( + `^ {0,${Math.min(3, g - 1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))` + ), + b = new RegExp( + `^ {0,${Math.min(3, g - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)` + ), + w = new RegExp(`^ {0,${Math.min(3, g - 1)}}(?:\`\`\`|~~~)`), + S = new RegExp(`^ {0,${Math.min(3, g - 1)}}#`); + for (; e; ) { + let T = e.split( + ` +`, + 1 + )[0]; + if ( + ((p = T), + this.options.pedantic && (p = p.replace(/^ {1,4}(?=( {4})*[^ ])/g, ' ')), + w.test(p) || S.test(p) || x.test(p) || b.test(e)) + ) + break; + if (p.search(/[^ ]/) >= g || !p.trim()) + f += + ` +` + p.slice(g); + else { + if (m || d.search(/[^ ]/) >= 4 || w.test(d) || S.test(d) || b.test(d)) break; + f += + ` +` + p; + } + !m && !p.trim() && (m = !0), + (h += + T + + ` +`), + (e = e.substring(T.length + 1)), + (d = p.slice(g)); + } + } + a.loose || (l ? (a.loose = !0) : /\n *\n *$/.test(h) && (l = !0)); + let y = null, + v; + this.options.gfm && + ((y = /^\[[ xX]\] /.exec(f)), + y && ((v = y[0] !== '[ ] '), (f = f.replace(/^\[[ xX]\] +/, '')))), + a.items.push({ + type: 'list_item', + raw: h, + task: !!y, + checked: v, + loose: !1, + text: f, + tokens: [] + }), + (a.raw += h); + } + (a.items[a.items.length - 1].raw = a.items[a.items.length - 1].raw.trimEnd()), + (a.items[a.items.length - 1].text = a.items[a.items.length - 1].text.trimEnd()), + (a.raw = a.raw.trimEnd()); + for (let u = 0; u < a.items.length; u++) + if ( + ((this.lexer.state.top = !1), + (a.items[u].tokens = this.lexer.blockTokens(a.items[u].text, [])), + !a.loose) + ) { + let h = a.items[u].tokens.filter((d) => d.type === 'space'), + f = h.length > 0 && h.some((d) => /\n.*\n/.test(d.raw)); + a.loose = f; + } + if (a.loose) for (let u = 0; u < a.items.length; u++) a.items[u].loose = !0; + return a; + } + } + html(e) { + let r = this.rules.block.html.exec(e); + if (r) + return { + type: 'html', + block: !0, + raw: r[0], + pre: r[1] === 'pre' || r[1] === 'script' || r[1] === 'style', + text: r[0] + }; + } + def(e) { + let r = this.rules.block.def.exec(e); + if (r) { + let n = r[1].toLowerCase().replace(/\s+/g, ' '), + i = r[2] + ? r[2].replace(/^<(.*)>$/, '$1').replace(this.rules.inline.anyPunctuation, '$1') + : '', + a = r[3] + ? r[3].substring(1, r[3].length - 1).replace(this.rules.inline.anyPunctuation, '$1') + : r[3]; + return { type: 'def', tag: n, raw: r[0], href: i, title: a }; + } + } + table(e) { + let r = this.rules.block.table.exec(e); + if (!r || !/[:|]/.test(r[2])) return; + let n = JX(r[1]), + i = r[2].replace(/^\||\| *$/g, '').split('|'), + a = + r[3] && r[3].trim() + ? r[3].replace(/\n[ \t]*$/, '').split(` +`) + : [], + s = { type: 'table', raw: r[0], header: [], align: [], rows: [] }; + if (n.length === i.length) { + for (let l of i) + /^ *-+: *$/.test(l) + ? s.align.push('right') + : /^ *:-+: *$/.test(l) + ? s.align.push('center') + : /^ *:-+ *$/.test(l) + ? s.align.push('left') + : s.align.push(null); + for (let l = 0; l < n.length; l++) + s.header.push({ + text: n[l], + tokens: this.lexer.inline(n[l]), + header: !0, + align: s.align[l] + }); + for (let l of a) + s.rows.push( + JX(l, s.header.length).map((u, h) => ({ + text: u, + tokens: this.lexer.inline(u), + header: !1, + align: s.align[h] + })) + ); + return s; + } + } + lheading(e) { + let r = this.rules.block.lheading.exec(e); + if (r) + return { + type: 'heading', + raw: r[0], + depth: r[2].charAt(0) === '=' ? 1 : 2, + text: r[1], + tokens: this.lexer.inline(r[1]) + }; + } + paragraph(e) { + let r = this.rules.block.paragraph.exec(e); + if (r) { + let n = + r[1].charAt(r[1].length - 1) === + ` +` + ? r[1].slice(0, -1) + : r[1]; + return { + type: 'paragraph', + raw: r[0], + text: n, + tokens: this.lexer.inline(n) + }; + } + } + text(e) { + let r = this.rules.block.text.exec(e); + if (r) + return { + type: 'text', + raw: r[0], + text: r[0], + tokens: this.lexer.inline(r[0]) + }; + } + escape(e) { + let r = this.rules.inline.escape.exec(e); + if (r) return { type: 'escape', raw: r[0], text: ro(r[1]) }; + } + tag(e) { + let r = this.rules.inline.tag.exec(e); + if (r) + return ( + !this.lexer.state.inLink && /^/i.test(r[0]) && (this.lexer.state.inLink = !1), + !this.lexer.state.inRawBlock && /^<(pre|code|kbd|script)(\s|>)/i.test(r[0]) + ? (this.lexer.state.inRawBlock = !0) + : this.lexer.state.inRawBlock && + /^<\/(pre|code|kbd|script)(\s|>)/i.test(r[0]) && + (this.lexer.state.inRawBlock = !1), + { + type: 'html', + raw: r[0], + inLink: this.lexer.state.inLink, + inRawBlock: this.lexer.state.inRawBlock, + block: !1, + text: r[0] + } + ); + } + link(e) { + let r = this.rules.inline.link.exec(e); + if (r) { + let n = r[2].trim(); + if (!this.options.pedantic && /^$/.test(n)) return; + let s = pv(n.slice(0, -1), '\\'); + if ((n.length - s.length) % 2 === 0) return; + } else { + let s = n7e(r[2], '()'); + if (s > -1) { + let u = (r[0].indexOf('!') === 0 ? 5 : 4) + r[1].length + s; + (r[2] = r[2].substring(0, s)), (r[0] = r[0].substring(0, u).trim()), (r[3] = ''); + } + } + let i = r[2], + a = ''; + if (this.options.pedantic) { + let s = /^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(i); + s && ((i = s[1]), (a = s[3])); + } else a = r[3] ? r[3].slice(1, -1) : ''; + return ( + (i = i.trim()), + /^$/.test(n) ? (i = i.slice(1)) : (i = i.slice(1, -1))), + ej( + r, + { + href: i && i.replace(this.rules.inline.anyPunctuation, '$1'), + title: a && a.replace(this.rules.inline.anyPunctuation, '$1') + }, + r[0], + this.lexer + ) + ); + } + } + reflink(e, r) { + let n; + if ((n = this.rules.inline.reflink.exec(e)) || (n = this.rules.inline.nolink.exec(e))) { + let i = (n[2] || n[1]).replace(/\s+/g, ' '), + a = r[i.toLowerCase()]; + if (!a) { + let s = n[0].charAt(0); + return { type: 'text', raw: s, text: s }; + } + return ej(n, a, n[0], this.lexer); + } + } + emStrong(e, r, n = '') { + let i = this.rules.inline.emStrongLDelim.exec(e); + if (!i || (i[3] && n.match(/[\p{L}\p{N}]/u))) return; + if (!(i[1] || i[2] || '') || !n || this.rules.inline.punctuation.exec(n)) { + let s = [...i[0]].length - 1, + l, + u, + h = s, + f = 0, + d = + i[0][0] === '*' + ? this.rules.inline.emStrongRDelimAst + : this.rules.inline.emStrongRDelimUnd; + for (d.lastIndex = 0, r = r.slice(-1 * e.length + s); (i = d.exec(r)) != null; ) { + if (((l = i[1] || i[2] || i[3] || i[4] || i[5] || i[6]), !l)) continue; + if (((u = [...l].length), i[3] || i[4])) { + h += u; + continue; + } else if ((i[5] || i[6]) && s % 3 && !((s + u) % 3)) { + f += u; + continue; + } + if (((h -= u), h > 0)) continue; + u = Math.min(u, u + h + f); + let p = [...i[0]][0].length, + m = e.slice(0, s + i.index + p + u); + if (Math.min(s, u) % 2) { + let y = m.slice(1, -1); + return { + type: 'em', + raw: m, + text: y, + tokens: this.lexer.inlineTokens(y) + }; + } + let g = m.slice(2, -2); + return { + type: 'strong', + raw: m, + text: g, + tokens: this.lexer.inlineTokens(g) + }; + } + } + } + codespan(e) { + let r = this.rules.inline.code.exec(e); + if (r) { + let n = r[2].replace(/\n/g, ' '), + i = /[^ ]/.test(n), + a = /^ /.test(n) && / $/.test(n); + return ( + i && a && (n = n.substring(1, n.length - 1)), + (n = ro(n, !0)), + { type: 'codespan', raw: r[0], text: n } + ); + } + } + br(e) { + let r = this.rules.inline.br.exec(e); + if (r) return { type: 'br', raw: r[0] }; + } + del(e) { + let r = this.rules.inline.del.exec(e); + if (r) + return { + type: 'del', + raw: r[0], + text: r[2], + tokens: this.lexer.inlineTokens(r[2]) + }; + } + autolink(e) { + let r = this.rules.inline.autolink.exec(e); + if (r) { + let n, i; + return ( + r[2] === '@' ? ((n = ro(r[1])), (i = 'mailto:' + n)) : ((n = ro(r[1])), (i = n)), + { + type: 'link', + raw: r[0], + text: n, + href: i, + tokens: [{ type: 'text', raw: n, text: n }] + } + ); + } + } + url(e) { + let r; + if ((r = this.rules.inline.url.exec(e))) { + let n, i; + if (r[2] === '@') (n = ro(r[0])), (i = 'mailto:' + n); + else { + let a; + do (a = r[0]), (r[0] = this.rules.inline._backpedal.exec(r[0])?.[0] ?? ''); + while (a !== r[0]); + (n = ro(r[0])), r[1] === 'www.' ? (i = 'http://' + r[0]) : (i = r[0]); + } + return { + type: 'link', + raw: r[0], + text: n, + href: i, + tokens: [{ type: 'text', raw: n, text: n }] + }; + } + } + inlineText(e) { + let r = this.rules.inline.text.exec(e); + if (r) { + let n; + return ( + this.lexer.state.inRawBlock ? (n = r[0]) : (n = ro(r[0])), + { type: 'text', raw: r[0], text: n } + ); + } + } + }), + (a7e = /^(?: *(?:\n|$))+/), + (s7e = /^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/), + (o7e = + /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/), + (vv = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/), + (l7e = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/), + (aj = /(?:[*+-]|\d{1,9}[.)])/), + (sj = ln( + /^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/ + ) + .replace(/bull/g, aj) + .replace(/blockCode/g, / {4}/) + .replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/) + .replace(/blockquote/g, / {0,3}>/) + .replace(/heading/g, / {0,3}#{1,6}/) + .replace(/html/g, / {0,3}<[^\n>]+>\n/) + .getRegex()), + (g9 = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/), + (c7e = /^[^\n]+/), + (y9 = /(?!\s*\])(?:\\.|[^\[\]\\])+/), + (u7e = ln( + /^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/ + ) + .replace('label', y9) + .replace('title', /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/) + .getRegex()), + (h7e = ln(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/) + .replace(/bull/g, aj) + .getRegex()), + (D5 = + 'address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul'), + (v9 = /|$))/), + (f7e = ln( + '^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))', + 'i' + ) + .replace('comment', v9) + .replace('tag', D5) + .replace('attribute', / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/) + .getRegex()), + (oj = ln(g9) + .replace('hr', vv) + .replace('heading', ' {0,3}#{1,6}(?:\\s|$)') + .replace('|lheading', '') + .replace('|table', '') + .replace('blockquote', ' {0,3}>') + .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n') + .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') + .replace('html', ')|<(?:script|pre|style|textarea|!--)') + .replace('tag', D5) + .getRegex()), + (d7e = ln(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/) + .replace('paragraph', oj) + .getRegex()), + (x9 = { + blockquote: d7e, + code: s7e, + def: u7e, + fences: o7e, + heading: l7e, + hr: vv, + html: f7e, + lheading: sj, + list: h7e, + newline: a7e, + paragraph: oj, + table: gv, + text: c7e + }), + (tj = ln( + '^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)' + ) + .replace('hr', vv) + .replace('heading', ' {0,3}#{1,6}(?:\\s|$)') + .replace('blockquote', ' {0,3}>') + .replace('code', ' {4}[^\\n]') + .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n') + .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') + .replace('html', ')|<(?:script|pre|style|textarea|!--)') + .replace('tag', D5) + .getRegex()), + (p7e = { + ...x9, + table: tj, + paragraph: ln(g9) + .replace('hr', vv) + .replace('heading', ' {0,3}#{1,6}(?:\\s|$)') + .replace('|lheading', '') + .replace('table', tj) + .replace('blockquote', ' {0,3}>') + .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n') + .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') + .replace('html', ')|<(?:script|pre|style|textarea|!--)') + .replace('tag', D5) + .getRegex() + }), + (m7e = { + ...x9, + html: ln( + `^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))` + ) + .replace('comment', v9) + .replace( + /tag/g, + '(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b' + ) + .getRegex(), + def: /^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/, + heading: /^(#{1,6})(.*)(?:\n+|$)/, + fences: gv, + lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/, + paragraph: ln(g9) + .replace('hr', vv) + .replace( + 'heading', + ` *#{1,6} *[^ +]` + ) + .replace('lheading', sj) + .replace('|table', '') + .replace('blockquote', ' {0,3}>') + .replace('|fences', '') + .replace('|list', '') + .replace('|html', '') + .replace('|tag', '') + .getRegex() + }), + (lj = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/), + (g7e = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/), + (cj = /^( {2,}|\\)\n(?!\s*$)/), + (y7e = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\]*?>/g), + (b7e = ln(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/, 'u') + .replace(/punct/g, xv) + .getRegex()), + (w7e = ln( + '^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])', + 'gu' + ) + .replace(/punct/g, xv) + .getRegex()), + (T7e = ln( + '^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])', + 'gu' + ) + .replace(/punct/g, xv) + .getRegex()), + (k7e = ln(/\\([punct])/, 'gu') + .replace(/punct/g, xv) + .getRegex()), + (E7e = ln(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/) + .replace('scheme', /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/) + .replace( + 'email', + /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/ + ) + .getRegex()), + (C7e = ln(v9).replace('(?:-->|$)', '-->').getRegex()), + (S7e = ln( + '^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^' + ) + .replace('comment', C7e) + .replace('attribute', /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/) + .getRegex()), + (L5 = /(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/), + (A7e = ln(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/) + .replace('label', L5) + .replace('href', /<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/) + .replace('title', /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/) + .getRegex()), + (uj = ln(/^!?\[(label)\]\[(ref)\]/) + .replace('label', L5) + .replace('ref', y9) + .getRegex()), + (hj = ln(/^!?\[(ref)\](?:\[\])?/) + .replace('ref', y9) + .getRegex()), + (_7e = ln('reflink|nolink(?!\\()', 'g').replace('reflink', uj).replace('nolink', hj).getRegex()), + (b9 = { + _backpedal: gv, + anyPunctuation: k7e, + autolink: E7e, + blockSkip: x7e, + br: cj, + code: g7e, + del: gv, + emStrongLDelim: b7e, + emStrongRDelimAst: w7e, + emStrongRDelimUnd: T7e, + escape: lj, + link: A7e, + nolink: hj, + punctuation: v7e, + reflink: uj, + reflinkSearch: _7e, + tag: S7e, + text: y7e, + url: gv + }), + (L7e = { + ...b9, + link: ln(/^!?\[(label)\]\((.*?)\)/) + .replace('label', L5) + .getRegex(), + reflink: ln(/^!?\[(label)\]\s*\[([^\]]*)\]/) + .replace('label', L5) + .getRegex() + }), + (d9 = { + ...b9, + escape: ln(lj).replace('])', '~|])').getRegex(), + url: ln(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/, 'i') + .replace('email', /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/) + .getRegex(), + _backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/, + del: /^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/, + text: /^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\ u + ' '.repeat(h.length))); + let i, a, s; + for (; e; ) + if ( + !( + this.options.extensions && + this.options.extensions.block && + this.options.extensions.block.some((l) => + (i = l.call({ lexer: this }, e, r)) + ? ((e = e.substring(i.raw.length)), r.push(i), !0) + : !1 + ) + ) + ) { + if ((i = this.tokenizer.space(e))) { + (e = e.substring(i.raw.length)), + i.raw.length === 1 && r.length > 0 + ? (r[r.length - 1].raw += ` +`) + : r.push(i); + continue; + } + if ((i = this.tokenizer.code(e))) { + (e = e.substring(i.raw.length)), + (a = r[r.length - 1]), + a && (a.type === 'paragraph' || a.type === 'text') + ? ((a.raw += + ` +` + i.raw), + (a.text += + ` +` + i.text), + (this.inlineQueue[this.inlineQueue.length - 1].src = a.text)) + : r.push(i); + continue; + } + if ((i = this.tokenizer.fences(e))) { + (e = e.substring(i.raw.length)), r.push(i); + continue; + } + if ((i = this.tokenizer.heading(e))) { + (e = e.substring(i.raw.length)), r.push(i); + continue; + } + if ((i = this.tokenizer.hr(e))) { + (e = e.substring(i.raw.length)), r.push(i); + continue; + } + if ((i = this.tokenizer.blockquote(e))) { + (e = e.substring(i.raw.length)), r.push(i); + continue; + } + if ((i = this.tokenizer.list(e))) { + (e = e.substring(i.raw.length)), r.push(i); + continue; + } + if ((i = this.tokenizer.html(e))) { + (e = e.substring(i.raw.length)), r.push(i); + continue; + } + if ((i = this.tokenizer.def(e))) { + (e = e.substring(i.raw.length)), + (a = r[r.length - 1]), + a && (a.type === 'paragraph' || a.type === 'text') + ? ((a.raw += + ` +` + i.raw), + (a.text += + ` +` + i.raw), + (this.inlineQueue[this.inlineQueue.length - 1].src = a.text)) + : this.tokens.links[i.tag] || + (this.tokens.links[i.tag] = { + href: i.href, + title: i.title + }); + continue; + } + if ((i = this.tokenizer.table(e))) { + (e = e.substring(i.raw.length)), r.push(i); + continue; + } + if ((i = this.tokenizer.lheading(e))) { + (e = e.substring(i.raw.length)), r.push(i); + continue; + } + if (((s = e), this.options.extensions && this.options.extensions.startBlock)) { + let l = 1 / 0, + u = e.slice(1), + h; + this.options.extensions.startBlock.forEach((f) => { + (h = f.call({ lexer: this }, u)), + typeof h == 'number' && h >= 0 && (l = Math.min(l, h)); + }), + l < 1 / 0 && l >= 0 && (s = e.substring(0, l + 1)); + } + if (this.state.top && (i = this.tokenizer.paragraph(s))) { + (a = r[r.length - 1]), + n && a?.type === 'paragraph' + ? ((a.raw += + ` +` + i.raw), + (a.text += + ` +` + i.text), + this.inlineQueue.pop(), + (this.inlineQueue[this.inlineQueue.length - 1].src = a.text)) + : r.push(i), + (n = s.length !== e.length), + (e = e.substring(i.raw.length)); + continue; + } + if ((i = this.tokenizer.text(e))) { + (e = e.substring(i.raw.length)), + (a = r[r.length - 1]), + a && a.type === 'text' + ? ((a.raw += + ` +` + i.raw), + (a.text += + ` +` + i.text), + this.inlineQueue.pop(), + (this.inlineQueue[this.inlineQueue.length - 1].src = a.text)) + : r.push(i); + continue; + } + if (e) { + let l = 'Infinite loop on byte: ' + e.charCodeAt(0); + if (this.options.silent) { + console.error(l); + break; + } else throw new Error(l); + } + } + return (this.state.top = !0), r; + } + inline(e, r = []) { + return this.inlineQueue.push({ src: e, tokens: r }), r; + } + inlineTokens(e, r = []) { + let n, + i, + a, + s = e, + l, + u, + h; + if (this.tokens.links) { + let f = Object.keys(this.tokens.links); + if (f.length > 0) + for (; (l = this.tokenizer.rules.inline.reflinkSearch.exec(s)) != null; ) + f.includes(l[0].slice(l[0].lastIndexOf('[') + 1, -1)) && + (s = + s.slice(0, l.index) + + '[' + + 'a'.repeat(l[0].length - 2) + + ']' + + s.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex)); + } + for (; (l = this.tokenizer.rules.inline.blockSkip.exec(s)) != null; ) + s = + s.slice(0, l.index) + + '[' + + 'a'.repeat(l[0].length - 2) + + ']' + + s.slice(this.tokenizer.rules.inline.blockSkip.lastIndex); + for (; (l = this.tokenizer.rules.inline.anyPunctuation.exec(s)) != null; ) + s = + s.slice(0, l.index) + + '++' + + s.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex); + for (; e; ) + if ( + (u || (h = ''), + (u = !1), + !( + this.options.extensions && + this.options.extensions.inline && + this.options.extensions.inline.some((f) => + (n = f.call({ lexer: this }, e, r)) + ? ((e = e.substring(n.raw.length)), r.push(n), !0) + : !1 + ) + )) + ) { + if ((n = this.tokenizer.escape(e))) { + (e = e.substring(n.raw.length)), r.push(n); + continue; + } + if ((n = this.tokenizer.tag(e))) { + (e = e.substring(n.raw.length)), + (i = r[r.length - 1]), + i && n.type === 'text' && i.type === 'text' + ? ((i.raw += n.raw), (i.text += n.text)) + : r.push(n); + continue; + } + if ((n = this.tokenizer.link(e))) { + (e = e.substring(n.raw.length)), r.push(n); + continue; + } + if ((n = this.tokenizer.reflink(e, this.tokens.links))) { + (e = e.substring(n.raw.length)), + (i = r[r.length - 1]), + i && n.type === 'text' && i.type === 'text' + ? ((i.raw += n.raw), (i.text += n.text)) + : r.push(n); + continue; + } + if ((n = this.tokenizer.emStrong(e, s, h))) { + (e = e.substring(n.raw.length)), r.push(n); + continue; + } + if ((n = this.tokenizer.codespan(e))) { + (e = e.substring(n.raw.length)), r.push(n); + continue; + } + if ((n = this.tokenizer.br(e))) { + (e = e.substring(n.raw.length)), r.push(n); + continue; + } + if ((n = this.tokenizer.del(e))) { + (e = e.substring(n.raw.length)), r.push(n); + continue; + } + if ((n = this.tokenizer.autolink(e))) { + (e = e.substring(n.raw.length)), r.push(n); + continue; + } + if (!this.state.inLink && (n = this.tokenizer.url(e))) { + (e = e.substring(n.raw.length)), r.push(n); + continue; + } + if (((a = e), this.options.extensions && this.options.extensions.startInline)) { + let f = 1 / 0, + d = e.slice(1), + p; + this.options.extensions.startInline.forEach((m) => { + (p = m.call({ lexer: this }, d)), + typeof p == 'number' && p >= 0 && (f = Math.min(f, p)); + }), + f < 1 / 0 && f >= 0 && (a = e.substring(0, f + 1)); + } + if ((n = this.tokenizer.inlineText(a))) { + (e = e.substring(n.raw.length)), + n.raw.slice(-1) !== '_' && (h = n.raw.slice(-1)), + (u = !0), + (i = r[r.length - 1]), + i && i.type === 'text' ? ((i.raw += n.raw), (i.text += n.text)) : r.push(n); + continue; + } + if (e) { + let f = 'Infinite loop on byte: ' + e.charCodeAt(0); + if (this.options.silent) { + console.error(f); + break; + } else throw new Error(f); + } + } + return r; + } + }), + (fm = class { + static { + o(this, '_Renderer'); + } + options; + parser; + constructor(e) { + this.options = e || Sd; + } + space(e) { + return ''; + } + code({ text: e, lang: r, escaped: n }) { + let i = (r || '').match(/^\S*/)?.[0], + a = + e.replace(/\n$/, '') + + ` +`; + return i + ? '
' +
+                                  (n ? a : ro(a, !0)) +
+                                  `
+` + : '
' +
+                                  (n ? a : ro(a, !0)) +
+                                  `
+`; + } + blockquote({ tokens: e }) { + return `
+${this.parser.parse(e)}
+`; + } + html({ text: e }) { + return e; + } + heading({ tokens: e, depth: r }) { + return `${this.parser.parseInline(e)} +`; + } + hr(e) { + return `
+`; + } + list(e) { + let r = e.ordered, + n = e.start, + i = ''; + for (let l = 0; l < e.items.length; l++) { + let u = e.items[l]; + i += this.listitem(u); + } + let a = r ? 'ol' : 'ul', + s = r && n !== 1 ? ' start="' + n + '"' : ''; + return ( + '<' + + a + + s + + `> +` + + i + + ' +` + ); + } + listitem(e) { + let r = ''; + if (e.task) { + let n = this.checkbox({ checked: !!e.checked }); + e.loose + ? e.tokens.length > 0 && e.tokens[0].type === 'paragraph' + ? ((e.tokens[0].text = n + ' ' + e.tokens[0].text), + e.tokens[0].tokens && + e.tokens[0].tokens.length > 0 && + e.tokens[0].tokens[0].type === 'text' && + (e.tokens[0].tokens[0].text = n + ' ' + e.tokens[0].tokens[0].text)) + : e.tokens.unshift({ + type: 'text', + raw: n + ' ', + text: n + ' ' + }) + : (r += n + ' '); + } + return ( + (r += this.parser.parse(e.tokens, !!e.loose)), + `
  • ${r}
  • +` + ); + } + checkbox({ checked: e }) { + return ''; + } + paragraph({ tokens: e }) { + return `

    ${this.parser.parseInline(e)}

    +`; + } + table(e) { + let r = '', + n = ''; + for (let a = 0; a < e.header.length; a++) n += this.tablecell(e.header[a]); + r += this.tablerow({ text: n }); + let i = ''; + for (let a = 0; a < e.rows.length; a++) { + let s = e.rows[a]; + n = ''; + for (let l = 0; l < s.length; l++) n += this.tablecell(s[l]); + i += this.tablerow({ text: n }); + } + return ( + i && (i = `${i}`), + ` + +` + + r + + ` +` + + i + + `
    +` + ); + } + tablerow({ text: e }) { + return ` +${e} +`; + } + tablecell(e) { + let r = this.parser.parseInline(e.tokens), + n = e.header ? 'th' : 'td'; + return ( + (e.align ? `<${n} align="${e.align}">` : `<${n}>`) + + r + + ` +` + ); + } + strong({ tokens: e }) { + return `${this.parser.parseInline(e)}`; + } + em({ tokens: e }) { + return `${this.parser.parseInline(e)}`; + } + codespan({ text: e }) { + return `${e}`; + } + br(e) { + return '
    '; + } + del({ tokens: e }) { + return `${this.parser.parseInline(e)}`; + } + link({ href: e, title: r, tokens: n }) { + let i = this.parser.parseInline(n), + a = ZX(e); + if (a === null) return i; + e = a; + let s = '
    '), s; + } + image({ href: e, title: r, text: n }) { + let i = ZX(e); + if (i === null) return n; + e = i; + let a = `${n} { + let l = a[s].flat(1 / 0); + n = n.concat(this.walkTokens(l, r)); + }) + : a.tokens && (n = n.concat(this.walkTokens(a.tokens, r))); + } + } + return n; + } + use(...e) { + let r = this.defaults.extensions || { + renderers: {}, + childTokens: {} + }; + return ( + e.forEach((n) => { + let i = { ...n }; + if ( + ((i.async = this.defaults.async || i.async || !1), + n.extensions && + (n.extensions.forEach((a) => { + if (!a.name) throw new Error('extension name required'); + if ('renderer' in a) { + let s = r.renderers[a.name]; + s + ? (r.renderers[a.name] = function (...l) { + let u = a.renderer.apply(this, l); + return u === !1 && (u = s.apply(this, l)), u; + }) + : (r.renderers[a.name] = a.renderer); + } + if ('tokenizer' in a) { + if (!a.level || (a.level !== 'block' && a.level !== 'inline')) + throw new Error("extension level must be 'block' or 'inline'"); + let s = r[a.level]; + s ? s.unshift(a.tokenizer) : (r[a.level] = [a.tokenizer]), + a.start && + (a.level === 'block' + ? r.startBlock + ? r.startBlock.push(a.start) + : (r.startBlock = [a.start]) + : a.level === 'inline' && + (r.startInline + ? r.startInline.push(a.start) + : (r.startInline = [a.start]))); + } + 'childTokens' in a && + a.childTokens && + (r.childTokens[a.name] = a.childTokens); + }), + (i.extensions = r)), + n.renderer) + ) { + let a = this.defaults.renderer || new fm(this.defaults); + for (let s in n.renderer) { + if (!(s in a)) throw new Error(`renderer '${s}' does not exist`); + if (['options', 'parser'].includes(s)) continue; + let l = s, + u = n.renderer[l]; + n.useNewRenderer || (u = this.#t(u, l, a)); + let h = a[l]; + a[l] = (...f) => { + let d = u.apply(a, f); + return d === !1 && (d = h.apply(a, f)), d || ''; + }; + } + i.renderer = a; + } + if (n.tokenizer) { + let a = this.defaults.tokenizer || new hm(this.defaults); + for (let s in n.tokenizer) { + if (!(s in a)) throw new Error(`tokenizer '${s}' does not exist`); + if (['options', 'rules', 'lexer'].includes(s)) continue; + let l = s, + u = n.tokenizer[l], + h = a[l]; + a[l] = (...f) => { + let d = u.apply(a, f); + return d === !1 && (d = h.apply(a, f)), d; + }; + } + i.tokenizer = a; + } + if (n.hooks) { + let a = this.defaults.hooks || new um(); + for (let s in n.hooks) { + if (!(s in a)) throw new Error(`hook '${s}' does not exist`); + if (s === 'options') continue; + let l = s, + u = n.hooks[l], + h = a[l]; + um.passThroughHooks.has(s) + ? (a[l] = (f) => { + if (this.defaults.async) + return Promise.resolve(u.call(a, f)).then((p) => h.call(a, p)); + let d = u.call(a, f); + return h.call(a, d); + }) + : (a[l] = (...f) => { + let d = u.apply(a, f); + return d === !1 && (d = h.apply(a, f)), d; + }); + } + i.hooks = a; + } + if (n.walkTokens) { + let a = this.defaults.walkTokens, + s = n.walkTokens; + i.walkTokens = function (l) { + let u = []; + return u.push(s.call(this, l)), a && (u = u.concat(a.call(this, l))), u; + }; + } + this.defaults = { ...this.defaults, ...i }; + }), + this + ); + } + #t(e, r, n) { + switch (r) { + case 'heading': + return function (i) { + return !i.type || i.type !== r + ? e.apply(this, arguments) + : e.call( + this, + n.parser.parseInline(i.tokens), + i.depth, + t7e(n.parser.parseInline(i.tokens, n.parser.textRenderer)) + ); + }; + case 'code': + return function (i) { + return !i.type || i.type !== r + ? e.apply(this, arguments) + : e.call(this, i.text, i.lang, !!i.escaped); + }; + case 'table': + return function (i) { + if (!i.type || i.type !== r) return e.apply(this, arguments); + let a = '', + s = ''; + for (let u = 0; u < i.header.length; u++) + s += this.tablecell({ + text: i.header[u].text, + tokens: i.header[u].tokens, + header: !0, + align: i.align[u] + }); + a += this.tablerow({ text: s }); + let l = ''; + for (let u = 0; u < i.rows.length; u++) { + let h = i.rows[u]; + s = ''; + for (let f = 0; f < h.length; f++) + s += this.tablecell({ + text: h[f].text, + tokens: h[f].tokens, + header: !1, + align: i.align[f] + }); + l += this.tablerow({ text: s }); + } + return e.call(this, a, l); + }; + case 'blockquote': + return function (i) { + if (!i.type || i.type !== r) return e.apply(this, arguments); + let a = this.parser.parse(i.tokens); + return e.call(this, a); + }; + case 'list': + return function (i) { + if (!i.type || i.type !== r) return e.apply(this, arguments); + let a = i.ordered, + s = i.start, + l = i.loose, + u = ''; + for (let h = 0; h < i.items.length; h++) { + let f = i.items[h], + d = f.checked, + p = f.task, + m = ''; + if (f.task) { + let g = this.checkbox({ checked: !!d }); + l + ? f.tokens.length > 0 && f.tokens[0].type === 'paragraph' + ? ((f.tokens[0].text = g + ' ' + f.tokens[0].text), + f.tokens[0].tokens && + f.tokens[0].tokens.length > 0 && + f.tokens[0].tokens[0].type === 'text' && + (f.tokens[0].tokens[0].text = + g + ' ' + f.tokens[0].tokens[0].text)) + : f.tokens.unshift({ type: 'text', text: g + ' ' }) + : (m += g + ' '); + } + (m += this.parser.parse(f.tokens, l)), + (u += this.listitem({ + type: 'list_item', + raw: m, + text: m, + task: p, + checked: !!d, + loose: l, + tokens: f.tokens + })); + } + return e.call(this, u, a, s); + }; + case 'html': + return function (i) { + return !i.type || i.type !== r + ? e.apply(this, arguments) + : e.call(this, i.text, i.block); + }; + case 'paragraph': + return function (i) { + return !i.type || i.type !== r + ? e.apply(this, arguments) + : e.call(this, this.parser.parseInline(i.tokens)); + }; + case 'escape': + return function (i) { + return !i.type || i.type !== r ? e.apply(this, arguments) : e.call(this, i.text); + }; + case 'link': + return function (i) { + return !i.type || i.type !== r + ? e.apply(this, arguments) + : e.call(this, i.href, i.title, this.parser.parseInline(i.tokens)); + }; + case 'image': + return function (i) { + return !i.type || i.type !== r + ? e.apply(this, arguments) + : e.call(this, i.href, i.title, i.text); + }; + case 'strong': + return function (i) { + return !i.type || i.type !== r + ? e.apply(this, arguments) + : e.call(this, this.parser.parseInline(i.tokens)); + }; + case 'em': + return function (i) { + return !i.type || i.type !== r + ? e.apply(this, arguments) + : e.call(this, this.parser.parseInline(i.tokens)); + }; + case 'codespan': + return function (i) { + return !i.type || i.type !== r ? e.apply(this, arguments) : e.call(this, i.text); + }; + case 'del': + return function (i) { + return !i.type || i.type !== r + ? e.apply(this, arguments) + : e.call(this, this.parser.parseInline(i.tokens)); + }; + case 'text': + return function (i) { + return !i.type || i.type !== r ? e.apply(this, arguments) : e.call(this, i.text); + }; + } + return e; + } + setOptions(e) { + return (this.defaults = { ...this.defaults, ...e }), this; + } + lexer(e, r) { + return Su.lex(e, r ?? this.defaults); + } + parser(e, r) { + return Au.parse(e, r ?? this.defaults); + } + #e(e, r) { + return (n, i) => { + let a = { ...i }, + s = { ...this.defaults, ...a }; + this.defaults.async === !0 && + a.async === !1 && + (s.silent || + console.warn( + 'marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored.' + ), + (s.async = !0)); + let l = this.#r(!!s.silent, !!s.async); + if (typeof n > 'u' || n === null) + return l(new Error('marked(): input parameter is undefined or null')); + if (typeof n != 'string') + return l( + new Error( + 'marked(): input parameter is of type ' + + Object.prototype.toString.call(n) + + ', string expected' + ) + ); + if ((s.hooks && (s.hooks.options = s), s.async)) + return Promise.resolve(s.hooks ? s.hooks.preprocess(n) : n) + .then((u) => e(u, s)) + .then((u) => (s.hooks ? s.hooks.processAllTokens(u) : u)) + .then((u) => + s.walkTokens ? Promise.all(this.walkTokens(u, s.walkTokens)).then(() => u) : u + ) + .then((u) => r(u, s)) + .then((u) => (s.hooks ? s.hooks.postprocess(u) : u)) + .catch(l); + try { + s.hooks && (n = s.hooks.preprocess(n)); + let u = e(n, s); + s.hooks && (u = s.hooks.processAllTokens(u)), + s.walkTokens && this.walkTokens(u, s.walkTokens); + let h = r(u, s); + return s.hooks && (h = s.hooks.postprocess(h)), h; + } catch (u) { + return l(u); + } + }; + } + #r(e, r) { + return (n) => { + if ( + ((n.message += ` +Please report this to https://github.com/markedjs/marked.`), + e) + ) { + let i = '

    An error occurred:

    ' + ro(n.message + '', !0) + '
    '; + return r ? Promise.resolve(i) : i; + } + if (r) return Promise.reject(n); + throw n; + }; + } + }), + (Cd = new p9()); + o(jr, 'marked'); + jr.options = jr.setOptions = function (t) { + return Cd.setOptions(t), (jr.defaults = Cd.defaults), rj(jr.defaults), jr; + }; + jr.getDefaults = m9; + jr.defaults = Sd; + jr.use = function (...t) { + return Cd.use(...t), (jr.defaults = Cd.defaults), rj(jr.defaults), jr; + }; + jr.walkTokens = function (t, e) { + return Cd.walkTokens(t, e); + }; + jr.parseInline = Cd.parseInline; + jr.Parser = Au; + jr.parser = Au.parse; + jr.Renderer = fm; + jr.TextRenderer = yv; + jr.Lexer = Su; + jr.lexer = Su.lex; + jr.Tokenizer = hm; + jr.Hooks = um; + jr.parse = jr; + (mkt = jr.options), + (gkt = jr.setOptions), + (ykt = jr.use), + (vkt = jr.walkTokens), + (xkt = jr.parseInline), + (bkt = Au.parse), + (wkt = Su.lex); + }); + function R7e(t, { markdownAutoWrap: e }) { + let n = t + .replace( + //g, + ` +` + ) + .replace( + /\n{2,}/g, + ` +` + ), + i = Gb(n); + return e === !1 ? i.replace(/ /g, ' ') : i; + } + function dj(t, e = {}) { + let r = R7e(t, e), + n = jr.lexer(r), + i = [[]], + a = 0; + function s(l, u = 'normal') { + l.type === 'text' + ? l.text + .split( + ` +` + ) + .forEach((f, d) => { + d !== 0 && (a++, i.push([])), + f.split(' ').forEach((p) => { + p && i[a].push({ content: p, type: u }); + }); + }) + : l.type === 'strong' || l.type === 'em' + ? l.tokens.forEach((h) => { + s(h, l.type); + }) + : l.type === 'html' && i[a].push({ content: l.text, type: 'normal' }); + } + return ( + o(s, 'processNode'), + n.forEach((l) => { + l.type === 'paragraph' + ? l.tokens?.forEach((u) => { + s(u); + }) + : l.type === 'html' && i[a].push({ content: l.text, type: 'normal' }); + }), + i + ); + } + function pj(t, { markdownAutoWrap: e } = {}) { + let r = jr.lexer(t); + function n(i) { + return i.type === 'text' + ? e === !1 + ? i.text.replace(/\n */g, '
    ').replace(/ /g, ' ') + : i.text.replace(/\n */g, '
    ') + : i.type === 'strong' + ? `${i.tokens?.map(n).join('')}` + : i.type === 'em' + ? `${i.tokens?.map(n).join('')}` + : i.type === 'paragraph' + ? `

    ${i.tokens?.map(n).join('')}

    ` + : i.type === 'space' + ? '' + : i.type === 'html' + ? `${i.text}` + : `Unsupported markdown: ${i.type}`; + } + return o(n, 'output'), r.map(n).join(''); + } + var mj = R(() => { + 'use strict'; + fj(); + zC(); + o(R7e, 'preprocessMarkdown'); + o(dj, 'markdownToLines'); + o(pj, 'markdownToHTML'); + }); + function N7e(t) { + return Intl.Segmenter ? [...new Intl.Segmenter().segment(t)].map((e) => e.segment) : [...t]; + } + function M7e(t, e) { + let r = N7e(e.content); + return gj(t, [], r, e.type); + } + function gj(t, e, r, n) { + if (r.length === 0) + return [ + { content: e.join(''), type: n }, + { content: '', type: n } + ]; + let [i, ...a] = r, + s = [...e, i]; + return t([{ content: s.join(''), type: n }]) + ? gj(t, s, a, n) + : (e.length === 0 && i && (e.push(i), r.shift()), + [ + { content: e.join(''), type: n }, + { content: r.join(''), type: n } + ]); + } + function yj(t, e) { + if ( + t.some(({ content: r }) => + r.includes(` +`) + ) + ) + throw new Error('splitLineToFitWidth does not support newlines in the line'); + return w9(t, e); + } + function w9(t, e, r = [], n = []) { + if (t.length === 0) return n.length > 0 && r.push(n), r.length > 0 ? r : []; + let i = ''; + t[0].content === ' ' && ((i = ' '), t.shift()); + let a = t.shift() ?? { content: ' ', type: 'normal' }, + s = [...n]; + if ((i !== '' && s.push({ content: i, type: 'normal' }), s.push(a), e(s))) return w9(t, e, r, s); + if (n.length > 0) r.push(n), t.unshift(a); + else if (a.content) { + let [l, u] = M7e(e, a); + r.push([l]), u.content && t.unshift(u); + } + return w9(t, e, r); + } + var vj = R(() => { + 'use strict'; + o(N7e, 'splitTextToChars'); + o(M7e, 'splitWordToFitWidth'); + o(gj, 'splitWordToFitWidthRecursion'); + o(yj, 'splitLineToFitWidth'); + o(w9, 'splitLineToFitWidthRecursion'); + }); + function xj(t, e) { + e && t.attr('style', e); + } + async function I7e(t, e, r, n, i = !1) { + let a = t.append('foreignObject'), + s = a.append('xhtml:div'), + l = e.label; + e.label && + Ni(e.label) && + (l = await yh( + e.label.replace( + We.lineBreakRegex, + ` +` + ), + de() + )); + let u = e.isNode ? 'nodeLabel' : 'edgeLabel', + h = s.append('span'); + h.html(l), + xj(h, e.labelStyle), + h.attr('class', `${u} ${n}`), + xj(s, e.labelStyle), + s.style('display', 'table-cell'), + s.style('white-space', 'nowrap'), + s.style('line-height', '1.5'), + s.style('max-width', r + 'px'), + s.style('text-align', 'center'), + s.attr('xmlns', 'http://www.w3.org/1999/xhtml'), + i && s.attr('class', 'labelBkg'); + let f = s.node().getBoundingClientRect(); + return ( + f.width === r && + (s.style('display', 'table'), + s.style('white-space', 'break-spaces'), + s.style('width', r + 'px'), + (f = s.node().getBoundingClientRect())), + a.node() + ); + } + function T9(t, e, r) { + return t + .append('tspan') + .attr('class', 'text-outer-tspan') + .attr('x', 0) + .attr('y', e * r - 0.1 + 'em') + .attr('dy', r + 'em'); + } + function O7e(t, e, r) { + let n = t.append('text'), + i = T9(n, 1, e); + k9(i, r); + let a = i.node().getComputedTextLength(); + return n.remove(), a; + } + function bj(t, e, r) { + let n = t.append('text'), + i = T9(n, 1, e); + k9(i, [{ content: r, type: 'normal' }]); + let a = i.node()?.getBoundingClientRect(); + return a && n.remove(), a; + } + function P7e(t, e, r, n = !1) { + let a = e.append('g'), + s = a.insert('rect').attr('class', 'background').attr('style', 'stroke: none'), + l = a.append('text').attr('y', '-10.1'), + u = 0; + for (let h of r) { + let f = o((p) => O7e(a, 1.1, p) <= t, 'checkWidth'), + d = f(h) ? [h] : yj(h, f); + for (let p of d) { + let m = T9(l, u, 1.1); + k9(m, p), u++; + } + } + if (n) { + let h = l.node().getBBox(), + f = 2; + return ( + s + .attr('x', -f) + .attr('y', -f) + .attr('width', h.width + 2 * f) + .attr('height', h.height + 2 * f), + a.node() + ); + } else return l.node(); + } + function k9(t, e) { + t.text(''), + e.forEach((r, n) => { + let i = t + .append('tspan') + .attr('font-style', r.type === 'em' ? 'italic' : 'normal') + .attr('class', 'text-inner-tspan') + .attr('font-weight', r.type === 'strong' ? 'bold' : 'normal'); + n === 0 ? i.text(r.content) : i.text(' ' + r.content); + }); + } + function E9(t) { + return t.replace(/fa[bklrs]?:fa-[\w-]+/g, (e) => ``); + } + var ta, + Al = R(() => { + 'use strict'; + _t(); + rr(); + Zt(); + ut(); + mj(); + xr(); + vj(); + o(xj, 'applyStyle'); + o(I7e, 'addHtmlSpan'); + o(T9, 'createTspan'); + o(O7e, 'computeWidthOfText'); + o(bj, 'computeDimensionOfText'); + o(P7e, 'createFormattedText'); + o(k9, 'updateTextContentAndStyles'); + o(E9, 'replaceIconSubstring'); + ta = o( + async ( + t, + e = '', + { + style: r = '', + isTitle: n = !1, + classes: i = '', + useHtmlLabels: a = !0, + isNode: s = !0, + width: l = 200, + addSvgBackground: u = !1 + } = {}, + h + ) => { + if ((V.info('XYZ createText', e, r, n, i, a, s, 'addSvgBackground: ', u), a)) { + let f = pj(e, h), + d = E9(to(f)), + p = e.replace(/\\\\/g, '\\'), + m = { + isNode: s, + label: Ni(e) ? p : d, + labelStyle: r.replace('fill:', 'color:') + }; + return await I7e(t, m, l, i, u); + } else { + let f = e.replace(//g, '
    '), + d = dj(f.replace('
    ', '
    '), h), + p = P7e(l, t, d, e ? u : !1); + if (s) { + /stroke:/.exec(r) && (r = r.replace('stroke:', 'lineColor:')); + let m = r + .replace(/stroke:[^;]+;?/g, '') + .replace(/stroke-width:[^;]+;?/g, '') + .replace(/fill:[^;]+;?/g, '') + .replace(/color:/g, 'fill:'); + $e(p).attr('style', m); + } else { + let m = r + .replace(/stroke:[^;]+;?/g, '') + .replace(/stroke-width:[^;]+;?/g, '') + .replace(/fill:[^;]+;?/g, '') + .replace(/background:/g, 'fill:'); + $e(p) + .select('rect') + .attr('style', m.replace(/background:/g, 'fill:')); + let g = r + .replace(/stroke:[^;]+;?/g, '') + .replace(/stroke-width:[^;]+;?/g, '') + .replace(/fill:[^;]+;?/g, '') + .replace(/color:/g, 'fill:'); + $e(p).select('text').attr('style', g); + } + return p; + } + }, + 'createText' + ); + }); + function wj(t, e) { + e && t.attr('style', e); + } + function B7e(t) { + let e = $e(document.createElementNS('http://www.w3.org/2000/svg', 'foreignObject')), + r = e.append('xhtml:div'), + n = t.label, + i = t.isNode ? 'nodeLabel' : 'edgeLabel', + a = r.append('span'); + return ( + a.html(n), + wj(a, t.labelStyle), + a.attr('class', i), + wj(r, t.labelStyle), + r.style('display', 'inline-block'), + r.style('white-space', 'nowrap'), + r.attr('xmlns', 'http://www.w3.org/1999/xhtml'), + e.node() + ); + } + var F7e, + ra, + bv = R(() => { + 'use strict'; + Zt(); + ut(); + _t(); + rr(); + xr(); + Al(); + o(wj, 'applyStyle'); + o(B7e, 'addHtmlLabel'); + (F7e = o((t, e, r, n) => { + let i = t || ''; + if ((typeof i == 'object' && (i = i[0]), yr(de().flowchart.htmlLabels))) { + (i = i.replace(/\\n|\n/g, '
    ')), V.debug('vertexText' + i); + let a = { + isNode: n, + label: E9(to(i)), + labelStyle: e.replace('fill:', 'color:') + }; + return B7e(a); + } else { + let a = document.createElementNS('http://www.w3.org/2000/svg', 'text'); + a.setAttribute('style', e.replace('color:', 'fill:')); + let s = []; + typeof i == 'string' ? (s = i.split(/\\n|\n|/gi)) : Array.isArray(i) ? (s = i) : (s = []); + for (let l of s) { + let u = document.createElementNS('http://www.w3.org/2000/svg', 'tspan'); + u.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve'), + u.setAttribute('dy', '1em'), + u.setAttribute('x', '0'), + r ? u.setAttribute('class', 'title-row') : u.setAttribute('class', 'row'), + (u.textContent = l.trim()), + a.appendChild(u); + } + return a; + } + }, 'createLabel')), + (ra = F7e); + }); + function z7e(t, e) { + return t.intersect(e); + } + var Tj, + kj = R(() => { + 'use strict'; + o(z7e, 'intersectNode'); + Tj = z7e; + }); + function G7e(t, e, r, n) { + var i = t.x, + a = t.y, + s = i - n.x, + l = a - n.y, + u = Math.sqrt(e * e * l * l + r * r * s * s), + h = Math.abs((e * r * s) / u); + n.x < i && (h = -h); + var f = Math.abs((e * r * l) / u); + return n.y < a && (f = -f), { x: i + h, y: a + f }; + } + var R5, + C9 = R(() => { + 'use strict'; + o(G7e, 'intersectEllipse'); + R5 = G7e; + }); + function $7e(t, e, r) { + return R5(t, e, e, r); + } + var Ej, + Cj = R(() => { + 'use strict'; + C9(); + o($7e, 'intersectCircle'); + Ej = $7e; + }); + function V7e(t, e, r, n) { + var i, a, s, l, u, h, f, d, p, m, g, y, v, x, b; + if ( + ((i = e.y - t.y), + (s = t.x - e.x), + (u = e.x * t.y - t.x * e.y), + (p = i * r.x + s * r.y + u), + (m = i * n.x + s * n.y + u), + !(p !== 0 && m !== 0 && Sj(p, m)) && + ((a = n.y - r.y), + (l = r.x - n.x), + (h = n.x * r.y - r.x * n.y), + (f = a * t.x + l * t.y + h), + (d = a * e.x + l * e.y + h), + !(f !== 0 && d !== 0 && Sj(f, d)) && ((g = i * l - a * s), g !== 0))) + ) + return ( + (y = Math.abs(g / 2)), + (v = s * h - l * u), + (x = v < 0 ? (v - y) / g : (v + y) / g), + (v = a * u - i * h), + (b = v < 0 ? (v - y) / g : (v + y) / g), + { x, y: b } + ); + } + function Sj(t, e) { + return t * e > 0; + } + var Aj, + _j = R(() => { + 'use strict'; + o(V7e, 'intersectLine'); + o(Sj, 'sameSign'); + Aj = V7e; + }); + function U7e(t, e, r) { + var n = t.x, + i = t.y, + a = [], + s = Number.POSITIVE_INFINITY, + l = Number.POSITIVE_INFINITY; + typeof e.forEach == 'function' + ? e.forEach(function (g) { + (s = Math.min(s, g.x)), (l = Math.min(l, g.y)); + }) + : ((s = Math.min(s, e.x)), (l = Math.min(l, e.y))); + for (var u = n - t.width / 2 - s, h = i - t.height / 2 - l, f = 0; f < e.length; f++) { + var d = e[f], + p = e[f < e.length - 1 ? f + 1 : 0], + m = Aj(t, r, { x: u + d.x, y: h + d.y }, { x: u + p.x, y: h + p.y }); + m && a.push(m); + } + return a.length + ? (a.length > 1 && + a.sort(function (g, y) { + var v = g.x - r.x, + x = g.y - r.y, + b = Math.sqrt(v * v + x * x), + w = y.x - r.x, + S = y.y - r.y, + T = Math.sqrt(w * w + S * S); + return b < T ? -1 : b === T ? 0 : 1; + }), + a[0]) + : t; + } + var Lj, + Dj = R(() => { + 'use strict'; + _j(); + Lj = U7e; + o(U7e, 'intersectPolygon'); + }); + var H7e, + Ad, + S9 = R(() => { + 'use strict'; + (H7e = o((t, e) => { + var r = t.x, + n = t.y, + i = e.x - r, + a = e.y - n, + s = t.width / 2, + l = t.height / 2, + u, + h; + return ( + Math.abs(a) * s > Math.abs(i) * l + ? (a < 0 && (l = -l), (u = a === 0 ? 0 : (l * i) / a), (h = l)) + : (i < 0 && (s = -s), (u = s), (h = i === 0 ? 0 : (s * a) / i)), + { x: r + u, y: n + h } + ); + }, 'intersectRect')), + (Ad = H7e); + }); + var Tn, + A9 = R(() => { + 'use strict'; + kj(); + Cj(); + C9(); + Dj(); + S9(); + Tn = { node: Tj, circle: Ej, ellipse: R5, polygon: Lj, rect: Ad }; + }); + function _l(t, e, r, n) { + return t + .insert('polygon', ':first-child') + .attr( + 'points', + n + .map(function (i) { + return i.x + ',' + i.y; + }) + .join(' ') + ) + .attr('class', 'label-container') + .attr('transform', 'translate(' + -e / 2 + ',' + r / 2 + ')'); + } + var Ti, + kn, + N5 = R(() => { + 'use strict'; + bv(); + Al(); + _t(); + Zt(); + rr(); + xr(); + (Ti = o(async (t, e, r, n) => { + let i = de(), + a, + s = e.useHtmlLabels || yr(i.flowchart.htmlLabels); + r ? (a = r) : (a = 'node default'); + let l = t + .insert('g') + .attr('class', a) + .attr('id', e.domId || e.id), + u = l.insert('g').attr('class', 'label').attr('style', e.labelStyle), + h; + e.labelText === void 0 ? (h = '') : (h = typeof e.labelText == 'string' ? e.labelText : e.labelText[0]); + let f = u.node(), + d; + e.labelType === 'markdown' + ? (d = ta( + u, + qr(to(h), i), + { + useHtmlLabels: s, + width: e.width || i.flowchart.wrappingWidth, + classes: 'markdown-node-label' + }, + i + )) + : (d = f.appendChild(ra(qr(to(h), i), e.labelStyle, !1, n))); + let p = d.getBBox(), + m = e.padding / 2; + if (yr(i.flowchart.htmlLabels)) { + let g = d.children[0], + y = $e(d), + v = g.getElementsByTagName('img'); + if (v) { + let x = h.replace(/]*>/g, '').trim() === ''; + await Promise.all( + [...v].map( + (b) => + new Promise((w) => { + function S() { + if (((b.style.display = 'flex'), (b.style.flexDirection = 'column'), x)) { + let T = i.fontSize + ? i.fontSize + : window.getComputedStyle(document.body).fontSize, + _ = parseInt(T, 10) * 5 + 'px'; + (b.style.minWidth = _), (b.style.maxWidth = _); + } else b.style.width = '100%'; + w(b); + } + o(S, 'setupImage'), + setTimeout(() => { + b.complete && S(); + }), + b.addEventListener('error', S), + b.addEventListener('load', S); + }) + ) + ); + } + (p = g.getBoundingClientRect()), y.attr('width', p.width), y.attr('height', p.height); + } + return ( + s + ? u.attr('transform', 'translate(' + -p.width / 2 + ', ' + -p.height / 2 + ')') + : u.attr('transform', 'translate(0, ' + -p.height / 2 + ')'), + e.centerLabel && u.attr('transform', 'translate(' + -p.width / 2 + ', ' + -p.height / 2 + ')'), + u.insert('rect', ':first-child'), + { shapeSvg: l, bbox: p, halfPadding: m, label: u } + ); + }, 'labelHelper')), + (kn = o((t, e) => { + let r = e.node().getBBox(); + (t.width = r.width), (t.height = r.height); + }, 'updateNodeBounds')); + o(_l, 'insertPolygonShape'); + }); + var Y7e, + Rj, + Nj = R(() => { + 'use strict'; + N5(); + ut(); + _t(); + A9(); + (Y7e = o(async (t, e) => { + e.useHtmlLabels || de().flowchart.htmlLabels || (e.centerLabel = !0); + let { shapeSvg: n, bbox: i, halfPadding: a } = await Ti(t, e, 'node ' + e.classes, !0); + V.info('Classes = ', e.classes); + let s = n.insert('rect', ':first-child'); + return ( + s + .attr('rx', e.rx) + .attr('ry', e.ry) + .attr('x', -i.width / 2 - a) + .attr('y', -i.height / 2 - a) + .attr('width', i.width + e.padding) + .attr('height', i.height + e.padding), + kn(e, s), + (e.intersect = function (l) { + return Tn.rect(e, l); + }), + n + ); + }, 'note')), + (Rj = Y7e); + }); + function _9(t, e, r, n) { + let i = [], + a = o((l) => { + i.push(l, 0); + }, 'addBorder'), + s = o((l) => { + i.push(0, l); + }, 'skipBorder'); + e.includes('t') ? (V.debug('add top border'), a(r)) : s(r), + e.includes('r') ? (V.debug('add right border'), a(n)) : s(n), + e.includes('b') ? (V.debug('add bottom border'), a(r)) : s(r), + e.includes('l') ? (V.debug('add left border'), a(n)) : s(n), + t.attr('stroke-dasharray', i.join(' ')); + } + var Mj, + no, + Ij, + W7e, + q7e, + X7e, + j7e, + K7e, + Q7e, + Z7e, + J7e, + eSe, + tSe, + rSe, + nSe, + iSe, + aSe, + sSe, + oSe, + lSe, + cSe, + uSe, + Oj, + hSe, + fSe, + Pj, + dm, + pm, + Bj, + Fj, + wv, + M5 = R(() => { + 'use strict'; + Zt(); + _t(); + rr(); + ut(); + KX(); + bv(); + A9(); + Nj(); + N5(); + (Mj = o((t) => (t ? ' ' + t : ''), 'formatClass')), + (no = o((t, e) => `${e || 'node default'}${Mj(t.classes)} ${Mj(t.class)}`, 'getClassesFromNode')), + (Ij = o(async (t, e) => { + let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0), + i = n.width + e.padding, + a = n.height + e.padding, + s = i + a, + l = [ + { x: s / 2, y: 0 }, + { x: s, y: -s / 2 }, + { x: s / 2, y: -s }, + { x: 0, y: -s / 2 } + ]; + V.info('Question main (Circle)'); + let u = _l(r, s, s, l); + return ( + u.attr('style', e.style), + kn(e, u), + (e.intersect = function (h) { + return V.warn('Intersect called'), Tn.polygon(e, l, h); + }), + r + ); + }, 'question')), + (W7e = o((t, e) => { + let r = t + .insert('g') + .attr('class', 'node default') + .attr('id', e.domId || e.id), + n = 28, + i = [ + { x: 0, y: n / 2 }, + { x: n / 2, y: 0 }, + { x: 0, y: -n / 2 }, + { x: -n / 2, y: 0 } + ]; + return ( + r + .insert('polygon', ':first-child') + .attr( + 'points', + i + .map(function (s) { + return s.x + ',' + s.y; + }) + .join(' ') + ) + .attr('class', 'state-start') + .attr('r', 7) + .attr('width', 28) + .attr('height', 28), + (e.width = 28), + (e.height = 28), + (e.intersect = function (s) { + return Tn.circle(e, 14, s); + }), + r + ); + }, 'choice')), + (q7e = o(async (t, e) => { + let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0), + i = 4, + a = n.height + e.padding, + s = a / i, + l = n.width + 2 * s + e.padding, + u = [ + { x: s, y: 0 }, + { x: l - s, y: 0 }, + { x: l, y: -a / 2 }, + { x: l - s, y: -a }, + { x: s, y: -a }, + { x: 0, y: -a / 2 } + ], + h = _l(r, l, a, u); + return ( + h.attr('style', e.style), + kn(e, h), + (e.intersect = function (f) { + return Tn.polygon(e, u, f); + }), + r + ); + }, 'hexagon')), + (X7e = o(async (t, e) => { + let { shapeSvg: r, bbox: n } = await Ti(t, e, void 0, !0), + i = 2, + a = n.height + 2 * e.padding, + s = a / i, + l = n.width + 2 * s + e.padding, + u = jX(e.directions, n, e), + h = _l(r, l, a, u); + return ( + h.attr('style', e.style), + kn(e, h), + (e.intersect = function (f) { + return Tn.polygon(e, u, f); + }), + r + ); + }, 'block_arrow')), + (j7e = o(async (t, e) => { + let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0), + i = n.width + e.padding, + a = n.height + e.padding, + s = [ + { x: -a / 2, y: 0 }, + { x: i, y: 0 }, + { x: i, y: -a }, + { x: -a / 2, y: -a }, + { x: 0, y: -a / 2 } + ]; + return ( + _l(r, i, a, s).attr('style', e.style), + (e.width = i + a), + (e.height = a), + (e.intersect = function (u) { + return Tn.polygon(e, s, u); + }), + r + ); + }, 'rect_left_inv_arrow')), + (K7e = o(async (t, e) => { + let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e), !0), + i = n.width + e.padding, + a = n.height + e.padding, + s = [ + { x: (-2 * a) / 6, y: 0 }, + { x: i - a / 6, y: 0 }, + { x: i + (2 * a) / 6, y: -a }, + { x: a / 6, y: -a } + ], + l = _l(r, i, a, s); + return ( + l.attr('style', e.style), + kn(e, l), + (e.intersect = function (u) { + return Tn.polygon(e, s, u); + }), + r + ); + }, 'lean_right')), + (Q7e = o(async (t, e) => { + let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0), + i = n.width + e.padding, + a = n.height + e.padding, + s = [ + { x: (2 * a) / 6, y: 0 }, + { x: i + a / 6, y: 0 }, + { x: i - (2 * a) / 6, y: -a }, + { x: -a / 6, y: -a } + ], + l = _l(r, i, a, s); + return ( + l.attr('style', e.style), + kn(e, l), + (e.intersect = function (u) { + return Tn.polygon(e, s, u); + }), + r + ); + }, 'lean_left')), + (Z7e = o(async (t, e) => { + let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0), + i = n.width + e.padding, + a = n.height + e.padding, + s = [ + { x: (-2 * a) / 6, y: 0 }, + { x: i + (2 * a) / 6, y: 0 }, + { x: i - a / 6, y: -a }, + { x: a / 6, y: -a } + ], + l = _l(r, i, a, s); + return ( + l.attr('style', e.style), + kn(e, l), + (e.intersect = function (u) { + return Tn.polygon(e, s, u); + }), + r + ); + }, 'trapezoid')), + (J7e = o(async (t, e) => { + let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0), + i = n.width + e.padding, + a = n.height + e.padding, + s = [ + { x: a / 6, y: 0 }, + { x: i - a / 6, y: 0 }, + { x: i + (2 * a) / 6, y: -a }, + { x: (-2 * a) / 6, y: -a } + ], + l = _l(r, i, a, s); + return ( + l.attr('style', e.style), + kn(e, l), + (e.intersect = function (u) { + return Tn.polygon(e, s, u); + }), + r + ); + }, 'inv_trapezoid')), + (eSe = o(async (t, e) => { + let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0), + i = n.width + e.padding, + a = n.height + e.padding, + s = [ + { x: 0, y: 0 }, + { x: i + a / 2, y: 0 }, + { x: i, y: -a / 2 }, + { x: i + a / 2, y: -a }, + { x: 0, y: -a } + ], + l = _l(r, i, a, s); + return ( + l.attr('style', e.style), + kn(e, l), + (e.intersect = function (u) { + return Tn.polygon(e, s, u); + }), + r + ); + }, 'rect_right_inv_arrow')), + (tSe = o(async (t, e) => { + let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0), + i = n.width + e.padding, + a = i / 2, + s = a / (2.5 + i / 50), + l = n.height + s + e.padding, + u = + 'M 0,' + + s + + ' a ' + + a + + ',' + + s + + ' 0,0,0 ' + + i + + ' 0 a ' + + a + + ',' + + s + + ' 0,0,0 ' + + -i + + ' 0 l 0,' + + l + + ' a ' + + a + + ',' + + s + + ' 0,0,0 ' + + i + + ' 0 l 0,' + + -l, + h = r + .attr('label-offset-y', s) + .insert('path', ':first-child') + .attr('style', e.style) + .attr('d', u) + .attr('transform', 'translate(' + -i / 2 + ',' + -(l / 2 + s) + ')'); + return ( + kn(e, h), + (e.intersect = function (f) { + let d = Tn.rect(e, f), + p = d.x - e.x; + if ( + a != 0 && + (Math.abs(p) < e.width / 2 || + (Math.abs(p) == e.width / 2 && Math.abs(d.y - e.y) > e.height / 2 - s)) + ) { + let m = s * s * (1 - (p * p) / (a * a)); + m != 0 && (m = Math.sqrt(m)), (m = s - m), f.y - e.y > 0 && (m = -m), (d.y += m); + } + return d; + }), + r + ); + }, 'cylinder')), + (rSe = o(async (t, e) => { + let { + shapeSvg: r, + bbox: n, + halfPadding: i + } = await Ti(t, e, 'node ' + e.classes + ' ' + e.class, !0), + a = r.insert('rect', ':first-child'), + s = e.positioned ? e.width : n.width + e.padding, + l = e.positioned ? e.height : n.height + e.padding, + u = e.positioned ? -s / 2 : -n.width / 2 - i, + h = e.positioned ? -l / 2 : -n.height / 2 - i; + if ( + (a + .attr('class', 'basic label-container') + .attr('style', e.style) + .attr('rx', e.rx) + .attr('ry', e.ry) + .attr('x', u) + .attr('y', h) + .attr('width', s) + .attr('height', l), + e.props) + ) { + let f = new Set(Object.keys(e.props)); + e.props.borders && (_9(a, e.props.borders, s, l), f.delete('borders')), + f.forEach((d) => { + V.warn(`Unknown node property ${d}`); + }); + } + return ( + kn(e, a), + (e.intersect = function (f) { + return Tn.rect(e, f); + }), + r + ); + }, 'rect')), + (nSe = o(async (t, e) => { + let { shapeSvg: r, bbox: n, halfPadding: i } = await Ti(t, e, 'node ' + e.classes, !0), + a = r.insert('rect', ':first-child'), + s = e.positioned ? e.width : n.width + e.padding, + l = e.positioned ? e.height : n.height + e.padding, + u = e.positioned ? -s / 2 : -n.width / 2 - i, + h = e.positioned ? -l / 2 : -n.height / 2 - i; + if ( + (a + .attr('class', 'basic cluster composite label-container') + .attr('style', e.style) + .attr('rx', e.rx) + .attr('ry', e.ry) + .attr('x', u) + .attr('y', h) + .attr('width', s) + .attr('height', l), + e.props) + ) { + let f = new Set(Object.keys(e.props)); + e.props.borders && (_9(a, e.props.borders, s, l), f.delete('borders')), + f.forEach((d) => { + V.warn(`Unknown node property ${d}`); + }); + } + return ( + kn(e, a), + (e.intersect = function (f) { + return Tn.rect(e, f); + }), + r + ); + }, 'composite')), + (iSe = o(async (t, e) => { + let { shapeSvg: r } = await Ti(t, e, 'label', !0); + V.trace('Classes = ', e.class); + let n = r.insert('rect', ':first-child'), + i = 0, + a = 0; + if ((n.attr('width', i).attr('height', a), r.attr('class', 'label edgeLabel'), e.props)) { + let s = new Set(Object.keys(e.props)); + e.props.borders && (_9(n, e.props.borders, i, a), s.delete('borders')), + s.forEach((l) => { + V.warn(`Unknown node property ${l}`); + }); + } + return ( + kn(e, n), + (e.intersect = function (s) { + return Tn.rect(e, s); + }), + r + ); + }, 'labelRect')); + o(_9, 'applyNodePropertyBorders'); + (aSe = o((t, e) => { + let r; + e.classes ? (r = 'node ' + e.classes) : (r = 'node default'); + let n = t + .insert('g') + .attr('class', r) + .attr('id', e.domId || e.id), + i = n.insert('rect', ':first-child'), + a = n.insert('line'), + s = n.insert('g').attr('class', 'label'), + l = e.labelText.flat ? e.labelText.flat() : e.labelText, + u = ''; + typeof l == 'object' ? (u = l[0]) : (u = l), V.info('Label text abc79', u, l, typeof l == 'object'); + let h = s.node().appendChild(ra(u, e.labelStyle, !0, !0)), + f = { width: 0, height: 0 }; + if (yr(de().flowchart.htmlLabels)) { + let y = h.children[0], + v = $e(h); + (f = y.getBoundingClientRect()), v.attr('width', f.width), v.attr('height', f.height); + } + V.info('Text 2', l); + let d = l.slice(1, l.length), + p = h.getBBox(), + m = s.node().appendChild(ra(d.join ? d.join('
    ') : d, e.labelStyle, !0, !0)); + if (yr(de().flowchart.htmlLabels)) { + let y = m.children[0], + v = $e(m); + (f = y.getBoundingClientRect()), v.attr('width', f.width), v.attr('height', f.height); + } + let g = e.padding / 2; + return ( + $e(m).attr( + 'transform', + 'translate( ' + + (f.width > p.width ? 0 : (p.width - f.width) / 2) + + ', ' + + (p.height + g + 5) + + ')' + ), + $e(h).attr( + 'transform', + 'translate( ' + (f.width < p.width ? 0 : -(p.width - f.width) / 2) + ', 0)' + ), + (f = s.node().getBBox()), + s.attr('transform', 'translate(' + -f.width / 2 + ', ' + (-f.height / 2 - g + 3) + ')'), + i + .attr('class', 'outer title-state') + .attr('x', -f.width / 2 - g) + .attr('y', -f.height / 2 - g) + .attr('width', f.width + e.padding) + .attr('height', f.height + e.padding), + a + .attr('class', 'divider') + .attr('x1', -f.width / 2 - g) + .attr('x2', f.width / 2 + g) + .attr('y1', -f.height / 2 - g + p.height + g) + .attr('y2', -f.height / 2 - g + p.height + g), + kn(e, i), + (e.intersect = function (y) { + return Tn.rect(e, y); + }), + n + ); + }, 'rectWithTitle')), + (sSe = o(async (t, e) => { + let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0), + i = n.height + e.padding, + a = n.width + i / 4 + e.padding, + s = r + .insert('rect', ':first-child') + .attr('style', e.style) + .attr('rx', i / 2) + .attr('ry', i / 2) + .attr('x', -a / 2) + .attr('y', -i / 2) + .attr('width', a) + .attr('height', i); + return ( + kn(e, s), + (e.intersect = function (l) { + return Tn.rect(e, l); + }), + r + ); + }, 'stadium')), + (oSe = o(async (t, e) => { + let { shapeSvg: r, bbox: n, halfPadding: i } = await Ti(t, e, no(e, void 0), !0), + a = r.insert('circle', ':first-child'); + return ( + a + .attr('style', e.style) + .attr('rx', e.rx) + .attr('ry', e.ry) + .attr('r', n.width / 2 + i) + .attr('width', n.width + e.padding) + .attr('height', n.height + e.padding), + V.info('Circle main'), + kn(e, a), + (e.intersect = function (s) { + return V.info('Circle intersect', e, n.width / 2 + i, s), Tn.circle(e, n.width / 2 + i, s); + }), + r + ); + }, 'circle')), + (lSe = o(async (t, e) => { + let { shapeSvg: r, bbox: n, halfPadding: i } = await Ti(t, e, no(e, void 0), !0), + a = 5, + s = r.insert('g', ':first-child'), + l = s.insert('circle'), + u = s.insert('circle'); + return ( + s.attr('class', e.class), + l + .attr('style', e.style) + .attr('rx', e.rx) + .attr('ry', e.ry) + .attr('r', n.width / 2 + i + a) + .attr('width', n.width + e.padding + a * 2) + .attr('height', n.height + e.padding + a * 2), + u + .attr('style', e.style) + .attr('rx', e.rx) + .attr('ry', e.ry) + .attr('r', n.width / 2 + i) + .attr('width', n.width + e.padding) + .attr('height', n.height + e.padding), + V.info('DoubleCircle main'), + kn(e, l), + (e.intersect = function (h) { + return ( + V.info('DoubleCircle intersect', e, n.width / 2 + i + a, h), + Tn.circle(e, n.width / 2 + i + a, h) + ); + }), + r + ); + }, 'doublecircle')), + (cSe = o(async (t, e) => { + let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0), + i = n.width + e.padding, + a = n.height + e.padding, + s = [ + { x: 0, y: 0 }, + { x: i, y: 0 }, + { x: i, y: -a }, + { x: 0, y: -a }, + { x: 0, y: 0 }, + { x: -8, y: 0 }, + { x: i + 8, y: 0 }, + { x: i + 8, y: -a }, + { x: -8, y: -a }, + { x: -8, y: 0 } + ], + l = _l(r, i, a, s); + return ( + l.attr('style', e.style), + kn(e, l), + (e.intersect = function (u) { + return Tn.polygon(e, s, u); + }), + r + ); + }, 'subroutine')), + (uSe = o((t, e) => { + let r = t + .insert('g') + .attr('class', 'node default') + .attr('id', e.domId || e.id), + n = r.insert('circle', ':first-child'); + return ( + n.attr('class', 'state-start').attr('r', 7).attr('width', 14).attr('height', 14), + kn(e, n), + (e.intersect = function (i) { + return Tn.circle(e, 7, i); + }), + r + ); + }, 'start')), + (Oj = o((t, e, r) => { + let n = t + .insert('g') + .attr('class', 'node default') + .attr('id', e.domId || e.id), + i = 70, + a = 10; + r === 'LR' && ((i = 10), (a = 70)); + let s = n + .append('rect') + .attr('x', (-1 * i) / 2) + .attr('y', (-1 * a) / 2) + .attr('width', i) + .attr('height', a) + .attr('class', 'fork-join'); + return ( + kn(e, s), + (e.height = e.height + e.padding / 2), + (e.width = e.width + e.padding / 2), + (e.intersect = function (l) { + return Tn.rect(e, l); + }), + n + ); + }, 'forkJoin')), + (hSe = o((t, e) => { + let r = t + .insert('g') + .attr('class', 'node default') + .attr('id', e.domId || e.id), + n = r.insert('circle', ':first-child'), + i = r.insert('circle', ':first-child'); + return ( + i.attr('class', 'state-start').attr('r', 7).attr('width', 14).attr('height', 14), + n.attr('class', 'state-end').attr('r', 5).attr('width', 10).attr('height', 10), + kn(e, i), + (e.intersect = function (a) { + return Tn.circle(e, 7, a); + }), + r + ); + }, 'end')), + (fSe = o((t, e) => { + let r = e.padding / 2, + n = 4, + i = 8, + a; + e.classes ? (a = 'node ' + e.classes) : (a = 'node default'); + let s = t + .insert('g') + .attr('class', a) + .attr('id', e.domId || e.id), + l = s.insert('rect', ':first-child'), + u = s.insert('line'), + h = s.insert('line'), + f = 0, + d = n, + p = s.insert('g').attr('class', 'label'), + m = 0, + g = e.classData.annotations?.[0], + y = e.classData.annotations[0] ? '\xAB' + e.classData.annotations[0] + '\xBB' : '', + v = p.node().appendChild(ra(y, e.labelStyle, !0, !0)), + x = v.getBBox(); + if (yr(de().flowchart.htmlLabels)) { + let A = v.children[0], + L = $e(v); + (x = A.getBoundingClientRect()), L.attr('width', x.width), L.attr('height', x.height); + } + e.classData.annotations[0] && ((d += x.height + n), (f += x.width)); + let b = e.classData.label; + e.classData.type !== void 0 && + e.classData.type !== '' && + (de().flowchart.htmlLabels + ? (b += '<' + e.classData.type + '>') + : (b += '<' + e.classData.type + '>')); + let w = p.node().appendChild(ra(b, e.labelStyle, !0, !0)); + $e(w).attr('class', 'classTitle'); + let S = w.getBBox(); + if (yr(de().flowchart.htmlLabels)) { + let A = w.children[0], + L = $e(w); + (S = A.getBoundingClientRect()), L.attr('width', S.width), L.attr('height', S.height); + } + (d += S.height + n), S.width > f && (f = S.width); + let T = []; + e.classData.members.forEach((A) => { + let L = A.getDisplayDetails(), + M = L.displayText; + de().flowchart.htmlLabels && (M = M.replace(//g, '>')); + let N = p.node().appendChild(ra(M, L.cssStyle ? L.cssStyle : e.labelStyle, !0, !0)), + k = N.getBBox(); + if (yr(de().flowchart.htmlLabels)) { + let I = N.children[0], + C = $e(N); + (k = I.getBoundingClientRect()), C.attr('width', k.width), C.attr('height', k.height); + } + k.width > f && (f = k.width), (d += k.height + n), T.push(N); + }), + (d += i); + let E = []; + if ( + (e.classData.methods.forEach((A) => { + let L = A.getDisplayDetails(), + M = L.displayText; + de().flowchart.htmlLabels && (M = M.replace(//g, '>')); + let N = p.node().appendChild(ra(M, L.cssStyle ? L.cssStyle : e.labelStyle, !0, !0)), + k = N.getBBox(); + if (yr(de().flowchart.htmlLabels)) { + let I = N.children[0], + C = $e(N); + (k = I.getBoundingClientRect()), C.attr('width', k.width), C.attr('height', k.height); + } + k.width > f && (f = k.width), (d += k.height + n), E.push(N); + }), + (d += i), + g) + ) { + let A = (f - x.width) / 2; + $e(v).attr('transform', 'translate( ' + ((-1 * f) / 2 + A) + ', ' + (-1 * d) / 2 + ')'), + (m = x.height + n); + } + let _ = (f - S.width) / 2; + return ( + $e(w).attr('transform', 'translate( ' + ((-1 * f) / 2 + _) + ', ' + ((-1 * d) / 2 + m) + ')'), + (m += S.height + n), + u + .attr('class', 'divider') + .attr('x1', -f / 2 - r) + .attr('x2', f / 2 + r) + .attr('y1', -d / 2 - r + i + m) + .attr('y2', -d / 2 - r + i + m), + (m += i), + T.forEach((A) => { + $e(A).attr('transform', 'translate( ' + -f / 2 + ', ' + ((-1 * d) / 2 + m + i / 2) + ')'); + let L = A?.getBBox(); + m += (L?.height ?? 0) + n; + }), + (m += i), + h + .attr('class', 'divider') + .attr('x1', -f / 2 - r) + .attr('x2', f / 2 + r) + .attr('y1', -d / 2 - r + i + m) + .attr('y2', -d / 2 - r + i + m), + (m += i), + E.forEach((A) => { + $e(A).attr('transform', 'translate( ' + -f / 2 + ', ' + ((-1 * d) / 2 + m) + ')'); + let L = A?.getBBox(); + m += (L?.height ?? 0) + n; + }), + l + .attr('style', e.style) + .attr('class', 'outer title-state') + .attr('x', -f / 2 - r) + .attr('y', -(d / 2) - r) + .attr('width', f + e.padding) + .attr('height', d + e.padding), + kn(e, l), + (e.intersect = function (A) { + return Tn.rect(e, A); + }), + s + ); + }, 'class_box')), + (Pj = { + rhombus: Ij, + composite: nSe, + question: Ij, + rect: rSe, + labelRect: iSe, + rectWithTitle: aSe, + choice: W7e, + circle: oSe, + doublecircle: lSe, + stadium: sSe, + hexagon: q7e, + block_arrow: X7e, + rect_left_inv_arrow: j7e, + lean_right: K7e, + lean_left: Q7e, + trapezoid: Z7e, + inv_trapezoid: J7e, + rect_right_inv_arrow: eSe, + cylinder: tSe, + start: uSe, + end: hSe, + note: Rj, + subroutine: cSe, + fork: Oj, + join: Oj, + class_box: fSe + }), + (dm = {}), + (pm = o(async (t, e, r) => { + let n, i; + if (e.link) { + let a; + de().securityLevel === 'sandbox' + ? (a = '_top') + : e.linkTarget && (a = e.linkTarget || '_blank'), + (n = t.insert('svg:a').attr('xlink:href', e.link).attr('target', a)), + (i = await Pj[e.shape](n, e, r)); + } else (i = await Pj[e.shape](t, e, r)), (n = i); + return ( + e.tooltip && i.attr('title', e.tooltip), + e.class && i.attr('class', 'node default ' + e.class), + (dm[e.id] = n), + e.haveCallback && dm[e.id].attr('class', dm[e.id].attr('class') + ' clickable'), + n + ); + }, 'insertNode')), + (Bj = o((t, e) => { + dm[e.id] = t; + }, 'setNodeElem')), + (Fj = o(() => { + dm = {}; + }, 'clear')), + (wv = o((t) => { + let e = dm[t.id]; + V.trace( + 'Transforming node', + t.diff, + t, + 'translate(' + (t.x - t.width / 2 - 5) + ', ' + t.width / 2 + ')' + ); + let r = 8, + n = t.diff || 0; + return ( + t.clusterNode + ? e.attr( + 'transform', + 'translate(' + (t.x + n - t.width / 2) + ', ' + (t.y - t.height / 2 - r) + ')' + ) + : e.attr('transform', 'translate(' + t.x + ', ' + t.y + ')'), + n + ); + }, 'positionNode')); + }); + var I5, + L9 = R(() => { + 'use strict'; + Zt(); + M5(); + I5 = o((t, e) => { + let r; + return ( + e === 'sandbox' && (r = $e('#i' + t)), + (e === 'sandbox' ? $e(r.nodes()[0].contentDocument.body) : $e('body')).select(`[id="${t}"]`) + ); + }, 'getDiagramElement'); + }); + var io, + _d = R(() => { + 'use strict'; + io = o(({ flowchart: t }) => { + let e = t?.subGraphTitleMargin?.top ?? 0, + r = t?.subGraphTitleMargin?.bottom ?? 0, + n = e + r; + return { + subGraphTitleTopMargin: e, + subGraphTitleBottomMargin: r, + subGraphTitleTotalMargin: n + }; + }, 'getSubGraphTitleMargins'); + }); + function D9(t, e, r) { + if (t && t.length) { + let [n, i] = e, + a = (Math.PI / 180) * r, + s = Math.cos(a), + l = Math.sin(a); + for (let u of t) { + let [h, f] = u; + (u[0] = (h - n) * s - (f - i) * l + n), (u[1] = (h - n) * l + (f - i) * s + i); + } + } + } + function dSe(t, e) { + return t[0] === e[0] && t[1] === e[1]; + } + function pSe(t, e, r, n = 1) { + let i = r, + a = Math.max(e, 0.1), + s = t[0] && t[0][0] && typeof t[0][0] == 'number' ? [t] : t, + l = [0, 0]; + if (i) for (let h of s) D9(h, l, i); + let u = (function (h, f, d) { + let p = []; + for (let b of h) { + let w = [...b]; + dSe(w[0], w[w.length - 1]) || w.push([w[0][0], w[0][1]]), w.length > 2 && p.push(w); + } + let m = []; + f = Math.max(f, 0.1); + let g = []; + for (let b of p) + for (let w = 0; w < b.length - 1; w++) { + let S = b[w], + T = b[w + 1]; + if (S[1] !== T[1]) { + let E = Math.min(S[1], T[1]); + g.push({ + ymin: E, + ymax: Math.max(S[1], T[1]), + x: E === S[1] ? S[0] : T[0], + islope: (T[0] - S[0]) / (T[1] - S[1]) + }); + } + } + if ( + (g.sort((b, w) => + b.ymin < w.ymin + ? -1 + : b.ymin > w.ymin + ? 1 + : b.x < w.x + ? -1 + : b.x > w.x + ? 1 + : b.ymax === w.ymax + ? 0 + : (b.ymax - w.ymax) / Math.abs(b.ymax - w.ymax) + ), + !g.length) + ) + return m; + let y = [], + v = g[0].ymin, + x = 0; + for (; y.length || g.length; ) { + if (g.length) { + let b = -1; + for (let w = 0; w < g.length && !(g[w].ymin > v); w++) b = w; + g.splice(0, b + 1).forEach((w) => { + y.push({ s: v, edge: w }); + }); + } + if ( + ((y = y.filter((b) => !(b.edge.ymax <= v))), + y.sort((b, w) => + b.edge.x === w.edge.x ? 0 : (b.edge.x - w.edge.x) / Math.abs(b.edge.x - w.edge.x) + ), + (d !== 1 || x % f == 0) && y.length > 1) + ) + for (let b = 0; b < y.length; b += 2) { + let w = b + 1; + if (w >= y.length) break; + let S = y[b].edge, + T = y[w].edge; + m.push([ + [Math.round(S.x), v], + [Math.round(T.x), v] + ]); + } + (v += d), + y.forEach((b) => { + b.edge.x = b.edge.x + d * b.edge.islope; + }), + x++; + } + return m; + })(s, a, n); + if (i) { + for (let h of s) D9(h, l, -i); + (function (h, f, d) { + let p = []; + h.forEach((m) => p.push(...m)), D9(p, f, d); + })(u, l, -i); + } + return u; + } + function Cv(t, e) { + var r; + let n = e.hachureAngle + 90, + i = e.hachureGap; + i < 0 && (i = 4 * e.strokeWidth), (i = Math.round(Math.max(i, 0.1))); + let a = 1; + return ( + e.roughness >= 1 && + (((r = e.randomizer) === null || r === void 0 ? void 0 : r.next()) || Math.random()) > 0.7 && + (a = i), + pSe(t, i, n, a || 1) + ); + } + function U5(t) { + let e = t[0], + r = t[1]; + return Math.sqrt(Math.pow(e[0] - r[0], 2) + Math.pow(e[1] - r[1], 2)); + } + function N9(t, e) { + return t.type === e; + } + function W9(t) { + let e = [], + r = (function (s) { + let l = new Array(); + for (; s !== ''; ) + if (s.match(/^([ \t\r\n,]+)/)) s = s.substr(RegExp.$1.length); + else if (s.match(/^([aAcChHlLmMqQsStTvVzZ])/)) + (l[l.length] = { type: mSe, text: RegExp.$1 }), (s = s.substr(RegExp.$1.length)); + else { + if (!s.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/)) return []; + (l[l.length] = { type: R9, text: `${parseFloat(RegExp.$1)}` }), + (s = s.substr(RegExp.$1.length)); + } + return (l[l.length] = { type: zj, text: '' }), l; + })(t), + n = 'BOD', + i = 0, + a = r[i]; + for (; !N9(a, zj); ) { + let s = 0, + l = []; + if (n === 'BOD') { + if (a.text !== 'M' && a.text !== 'm') return W9('M0,0' + t); + i++, (s = O5[a.text]), (n = a.text); + } else N9(a, R9) ? (s = O5[n]) : (i++, (s = O5[a.text]), (n = a.text)); + if (!(i + s < r.length)) throw new Error('Path data ended short'); + for (let u = i; u < i + s; u++) { + let h = r[u]; + if (!N9(h, R9)) throw new Error('Param not a number: ' + n + ',' + h.text); + l[l.length] = +h.text; + } + if (typeof O5[n] != 'number') throw new Error('Bad segment: ' + n); + { + let u = { key: n, data: l }; + e.push(u), (i += s), (a = r[i]), n === 'M' && (n = 'L'), n === 'm' && (n = 'l'); + } + } + return e; + } + function qj(t) { + let e = 0, + r = 0, + n = 0, + i = 0, + a = []; + for (let { key: s, data: l } of t) + switch (s) { + case 'M': + a.push({ key: 'M', data: [...l] }), ([e, r] = l), ([n, i] = l); + break; + case 'm': + (e += l[0]), (r += l[1]), a.push({ key: 'M', data: [e, r] }), (n = e), (i = r); + break; + case 'L': + a.push({ key: 'L', data: [...l] }), ([e, r] = l); + break; + case 'l': + (e += l[0]), (r += l[1]), a.push({ key: 'L', data: [e, r] }); + break; + case 'C': + a.push({ key: 'C', data: [...l] }), (e = l[4]), (r = l[5]); + break; + case 'c': { + let u = l.map((h, f) => (f % 2 ? h + r : h + e)); + a.push({ key: 'C', data: u }), (e = u[4]), (r = u[5]); + break; + } + case 'Q': + a.push({ key: 'Q', data: [...l] }), (e = l[2]), (r = l[3]); + break; + case 'q': { + let u = l.map((h, f) => (f % 2 ? h + r : h + e)); + a.push({ key: 'Q', data: u }), (e = u[2]), (r = u[3]); + break; + } + case 'A': + a.push({ key: 'A', data: [...l] }), (e = l[5]), (r = l[6]); + break; + case 'a': + (e += l[5]), (r += l[6]), a.push({ key: 'A', data: [l[0], l[1], l[2], l[3], l[4], e, r] }); + break; + case 'H': + a.push({ key: 'H', data: [...l] }), (e = l[0]); + break; + case 'h': + (e += l[0]), a.push({ key: 'H', data: [e] }); + break; + case 'V': + a.push({ key: 'V', data: [...l] }), (r = l[0]); + break; + case 'v': + (r += l[0]), a.push({ key: 'V', data: [r] }); + break; + case 'S': + a.push({ key: 'S', data: [...l] }), (e = l[2]), (r = l[3]); + break; + case 's': { + let u = l.map((h, f) => (f % 2 ? h + r : h + e)); + a.push({ key: 'S', data: u }), (e = u[2]), (r = u[3]); + break; + } + case 'T': + a.push({ key: 'T', data: [...l] }), (e = l[0]), (r = l[1]); + break; + case 't': + (e += l[0]), (r += l[1]), a.push({ key: 'T', data: [e, r] }); + break; + case 'Z': + case 'z': + a.push({ key: 'Z', data: [] }), (e = n), (r = i); + } + return a; + } + function Xj(t) { + let e = [], + r = '', + n = 0, + i = 0, + a = 0, + s = 0, + l = 0, + u = 0; + for (let { key: h, data: f } of t) { + switch (h) { + case 'M': + e.push({ key: 'M', data: [...f] }), ([n, i] = f), ([a, s] = f); + break; + case 'C': + e.push({ key: 'C', data: [...f] }), (n = f[4]), (i = f[5]), (l = f[2]), (u = f[3]); + break; + case 'L': + e.push({ key: 'L', data: [...f] }), ([n, i] = f); + break; + case 'H': + (n = f[0]), e.push({ key: 'L', data: [n, i] }); + break; + case 'V': + (i = f[0]), e.push({ key: 'L', data: [n, i] }); + break; + case 'S': { + let d = 0, + p = 0; + r === 'C' || r === 'S' ? ((d = n + (n - l)), (p = i + (i - u))) : ((d = n), (p = i)), + e.push({ key: 'C', data: [d, p, ...f] }), + (l = f[0]), + (u = f[1]), + (n = f[2]), + (i = f[3]); + break; + } + case 'T': { + let [d, p] = f, + m = 0, + g = 0; + r === 'Q' || r === 'T' ? ((m = n + (n - l)), (g = i + (i - u))) : ((m = n), (g = i)); + let y = n + (2 * (m - n)) / 3, + v = i + (2 * (g - i)) / 3, + x = d + (2 * (m - d)) / 3, + b = p + (2 * (g - p)) / 3; + e.push({ key: 'C', data: [y, v, x, b, d, p] }), (l = m), (u = g), (n = d), (i = p); + break; + } + case 'Q': { + let [d, p, m, g] = f, + y = n + (2 * (d - n)) / 3, + v = i + (2 * (p - i)) / 3, + x = m + (2 * (d - m)) / 3, + b = g + (2 * (p - g)) / 3; + e.push({ key: 'C', data: [y, v, x, b, m, g] }), (l = d), (u = p), (n = m), (i = g); + break; + } + case 'A': { + let d = Math.abs(f[0]), + p = Math.abs(f[1]), + m = f[2], + g = f[3], + y = f[4], + v = f[5], + x = f[6]; + d === 0 || p === 0 + ? (e.push({ key: 'C', data: [n, i, v, x, v, x] }), (n = v), (i = x)) + : (n !== v || i !== x) && + (jj(n, i, v, x, d, p, m, g, y).forEach(function (b) { + e.push({ key: 'C', data: b }); + }), + (n = v), + (i = x)); + break; + } + case 'Z': + e.push({ key: 'Z', data: [] }), (n = a), (i = s); + } + r = h; + } + return e; + } + function Tv(t, e, r) { + return [t * Math.cos(r) - e * Math.sin(r), t * Math.sin(r) + e * Math.cos(r)]; + } + function jj(t, e, r, n, i, a, s, l, u, h) { + let f = ((d = s), (Math.PI * d) / 180); + var d; + let p = [], + m = 0, + g = 0, + y = 0, + v = 0; + if (h) [m, g, y, v] = h; + else { + ([t, e] = Tv(t, e, -f)), ([r, n] = Tv(r, n, -f)); + let I = (t - r) / 2, + C = (e - n) / 2, + O = (I * I) / (i * i) + (C * C) / (a * a); + O > 1 && ((O = Math.sqrt(O)), (i *= O), (a *= O)); + let D = i * i, + P = a * a, + F = D * P - D * C * C - P * I * I, + B = D * C * C + P * I * I, + $ = (l === u ? -1 : 1) * Math.sqrt(Math.abs(F / B)); + (y = ($ * i * C) / a + (t + r) / 2), + (v = ($ * -a * I) / i + (e + n) / 2), + (m = Math.asin(parseFloat(((e - v) / a).toFixed(9)))), + (g = Math.asin(parseFloat(((n - v) / a).toFixed(9)))), + t < y && (m = Math.PI - m), + r < y && (g = Math.PI - g), + m < 0 && (m = 2 * Math.PI + m), + g < 0 && (g = 2 * Math.PI + g), + u && m > g && (m -= 2 * Math.PI), + !u && g > m && (g -= 2 * Math.PI); + } + let x = g - m; + if (Math.abs(x) > (120 * Math.PI) / 180) { + let I = g, + C = r, + O = n; + (g = u && g > m ? m + ((120 * Math.PI) / 180) * 1 : m + ((120 * Math.PI) / 180) * -1), + (p = jj((r = y + i * Math.cos(g)), (n = v + a * Math.sin(g)), C, O, i, a, s, 0, u, [g, I, y, v])); + } + x = g - m; + let b = Math.cos(m), + w = Math.sin(m), + S = Math.cos(g), + T = Math.sin(g), + E = Math.tan(x / 4), + _ = (4 / 3) * i * E, + A = (4 / 3) * a * E, + L = [t, e], + M = [t + _ * w, e - A * b], + N = [r + _ * T, n - A * S], + k = [r, n]; + if (((M[0] = 2 * L[0] - M[0]), (M[1] = 2 * L[1] - M[1]), h)) return [M, N, k].concat(p); + { + p = [M, N, k].concat(p); + let I = []; + for (let C = 0; C < p.length; C += 3) { + let O = Tv(p[C][0], p[C][1], f), + D = Tv(p[C + 1][0], p[C + 1][1], f), + P = Tv(p[C + 2][0], p[C + 2][1], f); + I.push([O[0], O[1], D[0], D[1], P[0], P[1]]); + } + return I; + } + } + function Kj(t, e, r, n, i) { + return { type: 'path', ops: Vh(t, e, r, n, i) }; + } + function F5(t, e, r) { + let n = (t || []).length; + if (n > 2) { + let i = []; + for (let a = 0; a < n - 1; a++) i.push(...Vh(t[a][0], t[a][1], t[a + 1][0], t[a + 1][1], r)); + return e && i.push(...Vh(t[n - 1][0], t[n - 1][1], t[0][0], t[0][1], r)), { type: 'path', ops: i }; + } + return n === 2 ? Kj(t[0][0], t[0][1], t[1][0], t[1][1], r) : { type: 'path', ops: [] }; + } + function ySe(t, e, r, n, i) { + return (function (a, s) { + return F5(a, !0, s); + })( + [ + [t, e], + [t + r, e], + [t + r, e + n], + [t, e + n] + ], + i + ); + } + function Gj(t, e) { + if (t.length) { + let r = typeof t[0][0] == 'number' ? [t] : t, + n = P5(r[0], 1 * (1 + 0.2 * e.roughness), e), + i = e.disableMultiStroke ? [] : P5(r[0], 1.5 * (1 + 0.22 * e.roughness), Uj(e)); + for (let a = 1; a < r.length; a++) { + let s = r[a]; + if (s.length) { + let l = P5(s, 1 * (1 + 0.2 * e.roughness), e), + u = e.disableMultiStroke ? [] : P5(s, 1.5 * (1 + 0.22 * e.roughness), Uj(e)); + for (let h of l) h.op !== 'move' && n.push(h); + for (let h of u) h.op !== 'move' && i.push(h); + } + } + return { type: 'path', ops: n.concat(i) }; + } + return { type: 'path', ops: [] }; + } + function Qj(t, e, r) { + let n = Math.sqrt(2 * Math.PI * Math.sqrt((Math.pow(t / 2, 2) + Math.pow(e / 2, 2)) / 2)), + i = Math.ceil(Math.max(r.curveStepCount, (r.curveStepCount / Math.sqrt(200)) * n)), + a = (2 * Math.PI) / i, + s = Math.abs(t / 2), + l = Math.abs(e / 2), + u = 1 - r.curveFitting; + return (s += Yt(s * u, r)), (l += Yt(l * u, r)), { increment: a, rx: s, ry: l }; + } + function $9(t, e, r, n) { + let [i, a] = Hj(n.increment, t, e, n.rx, n.ry, 1, n.increment * G5(0.1, G5(0.4, 1, r), r), r), + s = $5(i, null, r); + if (!r.disableMultiStroke && r.roughness !== 0) { + let [l] = Hj(n.increment, t, e, n.rx, n.ry, 1.5, 0, r), + u = $5(l, null, r); + s = s.concat(u); + } + return { estimatedPoints: a, opset: { type: 'path', ops: s } }; + } + function $j(t, e, r, n, i, a, s, l, u) { + let h = t, + f = e, + d = Math.abs(r / 2), + p = Math.abs(n / 2); + (d += Yt(0.01 * d, u)), (p += Yt(0.01 * p, u)); + let m = i, + g = a; + for (; m < 0; ) (m += 2 * Math.PI), (g += 2 * Math.PI); + g - m > 2 * Math.PI && ((m = 0), (g = 2 * Math.PI)); + let y = (2 * Math.PI) / u.curveStepCount, + v = Math.min(y / 2, (g - m) / 2), + x = Yj(v, h, f, d, p, m, g, 1, u); + if (!u.disableMultiStroke) { + let b = Yj(v, h, f, d, p, m, g, 1.5, u); + x.push(...b); + } + return ( + s && + (l + ? x.push( + ...Vh(h, f, h + d * Math.cos(m), f + p * Math.sin(m), u), + ...Vh(h, f, h + d * Math.cos(g), f + p * Math.sin(g), u) + ) + : x.push( + { op: 'lineTo', data: [h, f] }, + { + op: 'lineTo', + data: [h + d * Math.cos(m), f + p * Math.sin(m)] + } + )), + { type: 'path', ops: x } + ); + } + function Vj(t, e) { + let r = Xj(qj(W9(t))), + n = [], + i = [0, 0], + a = [0, 0]; + for (let { key: s, data: l } of r) + switch (s) { + case 'M': + (a = [l[0], l[1]]), (i = [l[0], l[1]]); + break; + case 'L': + n.push(...Vh(a[0], a[1], l[0], l[1], e)), (a = [l[0], l[1]]); + break; + case 'C': { + let [u, h, f, d, p, m] = l; + n.push(...vSe(u, h, f, d, p, m, a, e)), (a = [p, m]); + break; + } + case 'Z': + n.push(...Vh(a[0], a[1], i[0], i[1], e)), (a = [i[0], i[1]]); + } + return { type: 'path', ops: n }; + } + function M9(t, e) { + let r = []; + for (let n of t) + if (n.length) { + let i = e.maxRandomnessOffset || 0, + a = n.length; + if (a > 2) { + r.push({ + op: 'move', + data: [n[0][0] + Yt(i, e), n[0][1] + Yt(i, e)] + }); + for (let s = 1; s < a; s++) + r.push({ + op: 'lineTo', + data: [n[s][0] + Yt(i, e), n[s][1] + Yt(i, e)] + }); + } + } + return { type: 'fillPath', ops: r }; + } + function mm(t, e) { + return (function (r, n) { + let i = r.fillStyle || 'hachure'; + if (!Cs[i]) + switch (i) { + case 'zigzag': + Cs[i] || (Cs[i] = new O9(n)); + break; + case 'cross-hatch': + Cs[i] || (Cs[i] = new P9(n)); + break; + case 'dots': + Cs[i] || (Cs[i] = new B9(n)); + break; + case 'dashed': + Cs[i] || (Cs[i] = new F9(n)); + break; + case 'zigzag-line': + Cs[i] || (Cs[i] = new z9(n)); + break; + default: + (i = 'hachure'), Cs[i] || (Cs[i] = new Ev(n)); + } + return Cs[i]; + })(e, gSe).fillPolygons(t, e); + } + function Uj(t) { + let e = Object.assign({}, t); + return (e.randomizer = void 0), t.seed && (e.seed = t.seed + 1), e; + } + function Zj(t) { + return t.randomizer || (t.randomizer = new G9(t.seed || 0)), t.randomizer.next(); + } + function G5(t, e, r, n = 1) { + return r.roughness * n * (Zj(r) * (e - t) + t); + } + function Yt(t, e, r = 1) { + return G5(-t, t, e, r); + } + function Vh(t, e, r, n, i, a = !1) { + let s = a ? i.disableMultiStrokeFill : i.disableMultiStroke, + l = V9(t, e, r, n, i, !0, !1); + if (s) return l; + let u = V9(t, e, r, n, i, !0, !0); + return l.concat(u); + } + function V9(t, e, r, n, i, a, s) { + let l = Math.pow(t - r, 2) + Math.pow(e - n, 2), + u = Math.sqrt(l), + h = 1; + h = u < 200 ? 1 : u > 500 ? 0.4 : -0.0016668 * u + 1.233334; + let f = i.maxRandomnessOffset || 0; + f * f * 100 > l && (f = u / 10); + let d = f / 2, + p = 0.2 + 0.2 * Zj(i), + m = (i.bowing * i.maxRandomnessOffset * (n - e)) / 200, + g = (i.bowing * i.maxRandomnessOffset * (t - r)) / 200; + (m = Yt(m, i, h)), (g = Yt(g, i, h)); + let y = [], + v = o(() => Yt(d, i, h), 'M'), + x = o(() => Yt(f, i, h), 'k'), + b = i.preserveVertices; + return ( + a && + (s + ? y.push({ op: 'move', data: [t + (b ? 0 : v()), e + (b ? 0 : v())] }) + : y.push({ + op: 'move', + data: [t + (b ? 0 : Yt(f, i, h)), e + (b ? 0 : Yt(f, i, h))] + })), + s + ? y.push({ + op: 'bcurveTo', + data: [ + m + t + (r - t) * p + v(), + g + e + (n - e) * p + v(), + m + t + 2 * (r - t) * p + v(), + g + e + 2 * (n - e) * p + v(), + r + (b ? 0 : v()), + n + (b ? 0 : v()) + ] + }) + : y.push({ + op: 'bcurveTo', + data: [ + m + t + (r - t) * p + x(), + g + e + (n - e) * p + x(), + m + t + 2 * (r - t) * p + x(), + g + e + 2 * (n - e) * p + x(), + r + (b ? 0 : x()), + n + (b ? 0 : x()) + ] + }), + y + ); + } + function P5(t, e, r) { + if (!t.length) return []; + let n = []; + n.push([t[0][0] + Yt(e, r), t[0][1] + Yt(e, r)]), n.push([t[0][0] + Yt(e, r), t[0][1] + Yt(e, r)]); + for (let i = 1; i < t.length; i++) + n.push([t[i][0] + Yt(e, r), t[i][1] + Yt(e, r)]), + i === t.length - 1 && n.push([t[i][0] + Yt(e, r), t[i][1] + Yt(e, r)]); + return $5(n, null, r); + } + function $5(t, e, r) { + let n = t.length, + i = []; + if (n > 3) { + let a = [], + s = 1 - r.curveTightness; + i.push({ op: 'move', data: [t[1][0], t[1][1]] }); + for (let l = 1; l + 2 < n; l++) { + let u = t[l]; + (a[0] = [u[0], u[1]]), + (a[1] = [ + u[0] + (s * t[l + 1][0] - s * t[l - 1][0]) / 6, + u[1] + (s * t[l + 1][1] - s * t[l - 1][1]) / 6 + ]), + (a[2] = [ + t[l + 1][0] + (s * t[l][0] - s * t[l + 2][0]) / 6, + t[l + 1][1] + (s * t[l][1] - s * t[l + 2][1]) / 6 + ]), + (a[3] = [t[l + 1][0], t[l + 1][1]]), + i.push({ + op: 'bcurveTo', + data: [a[1][0], a[1][1], a[2][0], a[2][1], a[3][0], a[3][1]] + }); + } + if (e && e.length === 2) { + let l = r.maxRandomnessOffset; + i.push({ op: 'lineTo', data: [e[0] + Yt(l, r), e[1] + Yt(l, r)] }); + } + } else + n === 3 + ? (i.push({ op: 'move', data: [t[1][0], t[1][1]] }), + i.push({ + op: 'bcurveTo', + data: [t[1][0], t[1][1], t[2][0], t[2][1], t[2][0], t[2][1]] + })) + : n === 2 && i.push(...V9(t[0][0], t[0][1], t[1][0], t[1][1], r, !0, !0)); + return i; + } + function Hj(t, e, r, n, i, a, s, l) { + let u = [], + h = []; + if (l.roughness === 0) { + (t /= 4), h.push([e + n * Math.cos(-t), r + i * Math.sin(-t)]); + for (let f = 0; f <= 2 * Math.PI; f += t) { + let d = [e + n * Math.cos(f), r + i * Math.sin(f)]; + u.push(d), h.push(d); + } + h.push([e + n * Math.cos(0), r + i * Math.sin(0)]), h.push([e + n * Math.cos(t), r + i * Math.sin(t)]); + } else { + let f = Yt(0.5, l) - Math.PI / 2; + h.push([Yt(a, l) + e + 0.9 * n * Math.cos(f - t), Yt(a, l) + r + 0.9 * i * Math.sin(f - t)]); + let d = 2 * Math.PI + f - 0.01; + for (let p = f; p < d; p += t) { + let m = [Yt(a, l) + e + n * Math.cos(p), Yt(a, l) + r + i * Math.sin(p)]; + u.push(m), h.push(m); + } + h.push([ + Yt(a, l) + e + n * Math.cos(f + 2 * Math.PI + 0.5 * s), + Yt(a, l) + r + i * Math.sin(f + 2 * Math.PI + 0.5 * s) + ]), + h.push([Yt(a, l) + e + 0.98 * n * Math.cos(f + s), Yt(a, l) + r + 0.98 * i * Math.sin(f + s)]), + h.push([ + Yt(a, l) + e + 0.9 * n * Math.cos(f + 0.5 * s), + Yt(a, l) + r + 0.9 * i * Math.sin(f + 0.5 * s) + ]); + } + return [h, u]; + } + function Yj(t, e, r, n, i, a, s, l, u) { + let h = a + Yt(0.1, u), + f = []; + f.push([Yt(l, u) + e + 0.9 * n * Math.cos(h - t), Yt(l, u) + r + 0.9 * i * Math.sin(h - t)]); + for (let d = h; d <= s; d += t) f.push([Yt(l, u) + e + n * Math.cos(d), Yt(l, u) + r + i * Math.sin(d)]); + return ( + f.push([e + n * Math.cos(s), r + i * Math.sin(s)]), + f.push([e + n * Math.cos(s), r + i * Math.sin(s)]), + $5(f, null, u) + ); + } + function vSe(t, e, r, n, i, a, s, l) { + let u = [], + h = [l.maxRandomnessOffset || 1, (l.maxRandomnessOffset || 1) + 0.3], + f = [0, 0], + d = l.disableMultiStroke ? 1 : 2, + p = l.preserveVertices; + for (let m = 0; m < d; m++) + m === 0 + ? u.push({ op: 'move', data: [s[0], s[1]] }) + : u.push({ + op: 'move', + data: [s[0] + (p ? 0 : Yt(h[0], l)), s[1] + (p ? 0 : Yt(h[0], l))] + }), + (f = p ? [i, a] : [i + Yt(h[m], l), a + Yt(h[m], l)]), + u.push({ + op: 'bcurveTo', + data: [t + Yt(h[m], l), e + Yt(h[m], l), r + Yt(h[m], l), n + Yt(h[m], l), f[0], f[1]] + }); + return u; + } + function kv(t) { + return [...t]; + } + function Wj(t, e = 0) { + let r = t.length; + if (r < 3) throw new Error('A curve must have at least three points.'); + let n = []; + if (r === 3) n.push(kv(t[0]), kv(t[1]), kv(t[2]), kv(t[2])); + else { + let i = []; + i.push(t[0], t[0]); + for (let l = 1; l < t.length; l++) i.push(t[l]), l === t.length - 1 && i.push(t[l]); + let a = [], + s = 1 - e; + n.push(kv(i[0])); + for (let l = 1; l + 2 < i.length; l++) { + let u = i[l]; + (a[0] = [u[0], u[1]]), + (a[1] = [ + u[0] + (s * i[l + 1][0] - s * i[l - 1][0]) / 6, + u[1] + (s * i[l + 1][1] - s * i[l - 1][1]) / 6 + ]), + (a[2] = [ + i[l + 1][0] + (s * i[l][0] - s * i[l + 2][0]) / 6, + i[l + 1][1] + (s * i[l][1] - s * i[l + 2][1]) / 6 + ]), + (a[3] = [i[l + 1][0], i[l + 1][1]]), + n.push(a[1], a[2], a[3]); + } + } + return n; + } + function z5(t, e) { + return Math.pow(t[0] - e[0], 2) + Math.pow(t[1] - e[1], 2); + } + function xSe(t, e, r) { + let n = z5(e, r); + if (n === 0) return z5(t, e); + let i = ((t[0] - e[0]) * (r[0] - e[0]) + (t[1] - e[1]) * (r[1] - e[1])) / n; + return (i = Math.max(0, Math.min(1, i))), z5(t, Ld(e, r, i)); + } + function Ld(t, e, r) { + return [t[0] + (e[0] - t[0]) * r, t[1] + (e[1] - t[1]) * r]; + } + function U9(t, e, r, n) { + let i = n || []; + if ( + (function (l, u) { + let h = l[u + 0], + f = l[u + 1], + d = l[u + 2], + p = l[u + 3], + m = 3 * f[0] - 2 * h[0] - p[0]; + m *= m; + let g = 3 * f[1] - 2 * h[1] - p[1]; + g *= g; + let y = 3 * d[0] - 2 * p[0] - h[0]; + y *= y; + let v = 3 * d[1] - 2 * p[1] - h[1]; + return (v *= v), m < y && (m = y), g < v && (g = v), m + g; + })(t, e) < r + ) { + let l = t[e + 0]; + i.length ? ((a = i[i.length - 1]), (s = l), Math.sqrt(z5(a, s)) > 1 && i.push(l)) : i.push(l), + i.push(t[e + 3]); + } else { + let u = t[e + 0], + h = t[e + 1], + f = t[e + 2], + d = t[e + 3], + p = Ld(u, h, 0.5), + m = Ld(h, f, 0.5), + g = Ld(f, d, 0.5), + y = Ld(p, m, 0.5), + v = Ld(m, g, 0.5), + x = Ld(y, v, 0.5); + U9([u, p, y, x], 0, r, i), U9([x, v, g, d], 0, r, i); + } + var a, s; + return i; + } + function bSe(t, e) { + return V5(t, 0, t.length, e); + } + function V5(t, e, r, n, i) { + let a = i || [], + s = t[e], + l = t[r - 1], + u = 0, + h = 1; + for (let f = e + 1; f < r - 1; ++f) { + let d = xSe(t[f], s, l); + d > u && ((u = d), (h = f)); + } + return Math.sqrt(u) > n ? (V5(t, e, h + 1, n, a), V5(t, h, r, n, a)) : (a.length || a.push(s), a.push(l)), a; + } + function I9(t, e = 0.15, r) { + let n = [], + i = (t.length - 1) / 3; + for (let a = 0; a < i; a++) U9(t, 3 * a, e, n); + return r && r > 0 ? V5(n, 0, n.length, r) : n; + } + var Ev, + O9, + P9, + B9, + F9, + z9, + Cs, + G9, + mSe, + R9, + zj, + O5, + gSe, + ao, + gm, + H9, + B5, + Y9, + Jt, + ti = R(() => { + 'use strict'; + o(D9, 't'); + o(dSe, 'e'); + o(pSe, 's'); + o(Cv, 'n'); + Ev = class { + static { + o(this, 'o'); + } + constructor(e) { + this.helper = e; + } + fillPolygons(e, r) { + return this._fillPolygons(e, r); + } + _fillPolygons(e, r) { + let n = Cv(e, r); + return { type: 'fillSketch', ops: this.renderLines(n, r) }; + } + renderLines(e, r) { + let n = []; + for (let i of e) n.push(...this.helper.doubleLineOps(i[0][0], i[0][1], i[1][0], i[1][1], r)); + return n; + } + }; + o(U5, 'a'); + (O9 = class extends Ev { + static { + o(this, 'h'); + } + fillPolygons(e, r) { + let n = r.hachureGap; + n < 0 && (n = 4 * r.strokeWidth), (n = Math.max(n, 0.1)); + let i = Cv(e, Object.assign({}, r, { hachureGap: n })), + a = (Math.PI / 180) * r.hachureAngle, + s = [], + l = 0.5 * n * Math.cos(a), + u = 0.5 * n * Math.sin(a); + for (let [h, f] of i) + U5([h, f]) && s.push([[h[0] - l, h[1] + u], [...f]], [[h[0] + l, h[1] - u], [...f]]); + return { type: 'fillSketch', ops: this.renderLines(s, r) }; + } + }), + (P9 = class extends Ev { + static { + o(this, 'r'); + } + fillPolygons(e, r) { + let n = this._fillPolygons(e, r), + i = Object.assign({}, r, { hachureAngle: r.hachureAngle + 90 }), + a = this._fillPolygons(e, i); + return (n.ops = n.ops.concat(a.ops)), n; + } + }), + (B9 = class { + static { + o(this, 'i'); + } + constructor(e) { + this.helper = e; + } + fillPolygons(e, r) { + let n = Cv(e, (r = Object.assign({}, r, { hachureAngle: 0 }))); + return this.dotsOnLines(n, r); + } + dotsOnLines(e, r) { + let n = [], + i = r.hachureGap; + i < 0 && (i = 4 * r.strokeWidth), (i = Math.max(i, 0.1)); + let a = r.fillWeight; + a < 0 && (a = r.strokeWidth / 2); + let s = i / 4; + for (let l of e) { + let u = U5(l), + h = u / i, + f = Math.ceil(h) - 1, + d = u - f * i, + p = (l[0][0] + l[1][0]) / 2 - i / 4, + m = Math.min(l[0][1], l[1][1]); + for (let g = 0; g < f; g++) { + let y = m + d + g * i, + v = p - s + 2 * Math.random() * s, + x = y - s + 2 * Math.random() * s, + b = this.helper.ellipse(v, x, a, a, r); + n.push(...b.ops); + } + } + return { type: 'fillSketch', ops: n }; + } + }), + (F9 = class { + static { + o(this, 'c'); + } + constructor(e) { + this.helper = e; + } + fillPolygons(e, r) { + let n = Cv(e, r); + return { type: 'fillSketch', ops: this.dashedLine(n, r) }; + } + dashedLine(e, r) { + let n = r.dashOffset < 0 ? (r.hachureGap < 0 ? 4 * r.strokeWidth : r.hachureGap) : r.dashOffset, + i = r.dashGap < 0 ? (r.hachureGap < 0 ? 4 * r.strokeWidth : r.hachureGap) : r.dashGap, + a = []; + return ( + e.forEach((s) => { + let l = U5(s), + u = Math.floor(l / (n + i)), + h = (l + i - u * (n + i)) / 2, + f = s[0], + d = s[1]; + f[0] > d[0] && ((f = s[1]), (d = s[0])); + let p = Math.atan((d[1] - f[1]) / (d[0] - f[0])); + for (let m = 0; m < u; m++) { + let g = m * (n + i), + y = g + n, + v = [ + f[0] + g * Math.cos(p) + h * Math.cos(p), + f[1] + g * Math.sin(p) + h * Math.sin(p) + ], + x = [ + f[0] + y * Math.cos(p) + h * Math.cos(p), + f[1] + y * Math.sin(p) + h * Math.sin(p) + ]; + a.push(...this.helper.doubleLineOps(v[0], v[1], x[0], x[1], r)); + } + }), + a + ); + } + }), + (z9 = class { + static { + o(this, 'l'); + } + constructor(e) { + this.helper = e; + } + fillPolygons(e, r) { + let n = r.hachureGap < 0 ? 4 * r.strokeWidth : r.hachureGap, + i = r.zigzagOffset < 0 ? n : r.zigzagOffset, + a = Cv(e, (r = Object.assign({}, r, { hachureGap: n + i }))); + return { type: 'fillSketch', ops: this.zigzagLines(a, i, r) }; + } + zigzagLines(e, r, n) { + let i = []; + return ( + e.forEach((a) => { + let s = U5(a), + l = Math.round(s / (2 * r)), + u = a[0], + h = a[1]; + u[0] > h[0] && ((u = a[1]), (h = a[0])); + let f = Math.atan((h[1] - u[1]) / (h[0] - u[0])); + for (let d = 0; d < l; d++) { + let p = 2 * d * r, + m = 2 * (d + 1) * r, + g = Math.sqrt(2 * Math.pow(r, 2)), + y = [u[0] + p * Math.cos(f), u[1] + p * Math.sin(f)], + v = [u[0] + m * Math.cos(f), u[1] + m * Math.sin(f)], + x = [ + y[0] + g * Math.cos(f + Math.PI / 4), + y[1] + g * Math.sin(f + Math.PI / 4) + ]; + i.push( + ...this.helper.doubleLineOps(y[0], y[1], x[0], x[1], n), + ...this.helper.doubleLineOps(x[0], x[1], v[0], v[1], n) + ); + } + }), + i + ); + } + }), + (Cs = {}), + (G9 = class { + static { + o(this, 'p'); + } + constructor(e) { + this.seed = e; + } + next() { + return this.seed + ? ((2 ** 31 - 1) & (this.seed = Math.imul(48271, this.seed))) / 2 ** 31 + : Math.random(); + } + }), + (mSe = 0), + (R9 = 1), + (zj = 2), + (O5 = { + A: 7, + a: 7, + C: 6, + c: 6, + H: 1, + h: 1, + L: 2, + l: 2, + M: 2, + m: 2, + Q: 4, + q: 4, + S: 4, + s: 4, + T: 2, + t: 2, + V: 1, + v: 1, + Z: 0, + z: 0 + }); + o(N9, 'k'); + o(W9, 'b'); + o(qj, 'y'); + o(Xj, 'm'); + o(Tv, 'w'); + o(jj, 'x'); + gSe = { + randOffset: o(function (t, e) { + return Yt(t, e); + }, 'randOffset'), + randOffsetWithRange: o(function (t, e, r) { + return G5(t, e, r); + }, 'randOffsetWithRange'), + ellipse: o(function (t, e, r, n, i) { + let a = Qj(r, n, i); + return $9(t, e, i, a).opset; + }, 'ellipse'), + doubleLineOps: o(function (t, e, r, n, i) { + return Vh(t, e, r, n, i, !0); + }, 'doubleLineOps') + }; + o(Kj, 'v'); + o(F5, 'S'); + o(ySe, 'O'); + o(Gj, 'L'); + o(Qj, 'T'); + o($9, 'D'); + o($j, 'A'); + o(Vj, '_'); + o(M9, 'I'); + o(mm, 'C'); + o(Uj, 'z'); + o(Zj, 'W'); + o(G5, 'E'); + o(Yt, 'G'); + o(Vh, '$'); + o(V9, 'R'); + o(P5, 'j'); + o($5, 'q'); + o(Hj, 'F'); + o(Yj, 'V'); + o(vSe, 'Z'); + o(kv, 'Q'); + o(Wj, 'H'); + o(z5, 'N'); + o(xSe, 'B'); + o(Ld, 'J'); + o(U9, 'K'); + o(bSe, 'U'); + o(V5, 'X'); + o(I9, 'Y'); + (ao = 'none'), + (gm = class { + static { + o(this, 'et'); + } + constructor(e) { + (this.defaultOptions = { + maxRandomnessOffset: 2, + roughness: 1, + bowing: 1, + stroke: '#000', + strokeWidth: 1, + curveTightness: 0, + curveFitting: 0.95, + curveStepCount: 9, + fillStyle: 'hachure', + fillWeight: -1, + hachureAngle: -41, + hachureGap: -1, + dashOffset: -1, + dashGap: -1, + zigzagOffset: -1, + seed: 0, + disableMultiStroke: !1, + disableMultiStrokeFill: !1, + preserveVertices: !1, + fillShapeRoughnessGain: 0.8 + }), + (this.config = e || {}), + this.config.options && (this.defaultOptions = this._o(this.config.options)); + } + static newSeed() { + return Math.floor(Math.random() * 2 ** 31); + } + _o(e) { + return e ? Object.assign({}, this.defaultOptions, e) : this.defaultOptions; + } + _d(e, r, n) { + return { + shape: e, + sets: r || [], + options: n || this.defaultOptions + }; + } + line(e, r, n, i, a) { + let s = this._o(a); + return this._d('line', [Kj(e, r, n, i, s)], s); + } + rectangle(e, r, n, i, a) { + let s = this._o(a), + l = [], + u = ySe(e, r, n, i, s); + if (s.fill) { + let h = [ + [e, r], + [e + n, r], + [e + n, r + i], + [e, r + i] + ]; + s.fillStyle === 'solid' ? l.push(M9([h], s)) : l.push(mm([h], s)); + } + return s.stroke !== ao && l.push(u), this._d('rectangle', l, s); + } + ellipse(e, r, n, i, a) { + let s = this._o(a), + l = [], + u = Qj(n, i, s), + h = $9(e, r, s, u); + if (s.fill) + if (s.fillStyle === 'solid') { + let f = $9(e, r, s, u).opset; + (f.type = 'fillPath'), l.push(f); + } else l.push(mm([h.estimatedPoints], s)); + return s.stroke !== ao && l.push(h.opset), this._d('ellipse', l, s); + } + circle(e, r, n, i) { + let a = this.ellipse(e, r, n, n, i); + return (a.shape = 'circle'), a; + } + linearPath(e, r) { + let n = this._o(r); + return this._d('linearPath', [F5(e, !1, n)], n); + } + arc(e, r, n, i, a, s, l = !1, u) { + let h = this._o(u), + f = [], + d = $j(e, r, n, i, a, s, l, !0, h); + if (l && h.fill) + if (h.fillStyle === 'solid') { + let p = Object.assign({}, h); + p.disableMultiStroke = !0; + let m = $j(e, r, n, i, a, s, !0, !1, p); + (m.type = 'fillPath'), f.push(m); + } else + f.push( + (function (p, m, g, y, v, x, b) { + let w = p, + S = m, + T = Math.abs(g / 2), + E = Math.abs(y / 2); + (T += Yt(0.01 * T, b)), (E += Yt(0.01 * E, b)); + let _ = v, + A = x; + for (; _ < 0; ) (_ += 2 * Math.PI), (A += 2 * Math.PI); + A - _ > 2 * Math.PI && ((_ = 0), (A = 2 * Math.PI)); + let L = (A - _) / b.curveStepCount, + M = []; + for (let N = _; N <= A; N += L) + M.push([w + T * Math.cos(N), S + E * Math.sin(N)]); + return ( + M.push([w + T * Math.cos(A), S + E * Math.sin(A)]), + M.push([w, S]), + mm([M], b) + ); + })(e, r, n, i, a, s, h) + ); + return h.stroke !== ao && f.push(d), this._d('arc', f, h); + } + curve(e, r) { + let n = this._o(r), + i = [], + a = Gj(e, n); + if (n.fill && n.fill !== ao) + if (n.fillStyle === 'solid') { + let s = Gj( + e, + Object.assign(Object.assign({}, n), { + disableMultiStroke: !0, + roughness: n.roughness ? n.roughness + n.fillShapeRoughnessGain : 0 + }) + ); + i.push({ type: 'fillPath', ops: this._mergedShape(s.ops) }); + } else { + let s = [], + l = e; + if (l.length) { + let u = typeof l[0][0] == 'number' ? [l] : l; + for (let h of u) + h.length < 3 + ? s.push(...h) + : h.length === 3 + ? s.push(...I9(Wj([h[0], h[0], h[1], h[2]]), 10, (1 + n.roughness) / 2)) + : s.push(...I9(Wj(h), 10, (1 + n.roughness) / 2)); + } + s.length && i.push(mm([s], n)); + } + return n.stroke !== ao && i.push(a), this._d('curve', i, n); + } + polygon(e, r) { + let n = this._o(r), + i = [], + a = F5(e, !0, n); + return ( + n.fill && (n.fillStyle === 'solid' ? i.push(M9([e], n)) : i.push(mm([e], n))), + n.stroke !== ao && i.push(a), + this._d('polygon', i, n) + ); + } + path(e, r) { + let n = this._o(r), + i = []; + if (!e) return this._d('path', i, n); + e = (e || '').replace(/\n/g, ' ').replace(/(-\s)/g, '-').replace('/(ss)/g', ' '); + let a = n.fill && n.fill !== 'transparent' && n.fill !== ao, + s = n.stroke !== ao, + l = !!(n.simplification && n.simplification < 1), + u = (function (f, d, p) { + let m = Xj(qj(W9(f))), + g = [], + y = [], + v = [0, 0], + x = [], + b = o(() => { + x.length >= 4 && y.push(...I9(x, d)), (x = []); + }, 'i'), + w = o(() => { + b(), y.length && (g.push(y), (y = [])); + }, 'c'); + for (let { key: T, data: E } of m) + switch (T) { + case 'M': + w(), (v = [E[0], E[1]]), y.push(v); + break; + case 'L': + b(), y.push([E[0], E[1]]); + break; + case 'C': + if (!x.length) { + let _ = y.length ? y[y.length - 1] : v; + x.push([_[0], _[1]]); + } + x.push([E[0], E[1]]), x.push([E[2], E[3]]), x.push([E[4], E[5]]); + break; + case 'Z': + b(), y.push([v[0], v[1]]); + } + if ((w(), !p)) return g; + let S = []; + for (let T of g) { + let E = bSe(T, p); + E.length && S.push(E); + } + return S; + })(e, 1, l ? 4 - 4 * (n.simplification || 1) : (1 + n.roughness) / 2), + h = Vj(e, n); + if (a) + if (n.fillStyle === 'solid') + if (u.length === 1) { + let f = Vj( + e, + Object.assign(Object.assign({}, n), { + disableMultiStroke: !0, + roughness: n.roughness ? n.roughness + n.fillShapeRoughnessGain : 0 + }) + ); + i.push({ type: 'fillPath', ops: this._mergedShape(f.ops) }); + } else i.push(M9(u, n)); + else i.push(mm(u, n)); + return ( + s && + (l + ? u.forEach((f) => { + i.push(F5(f, !1, n)); + }) + : i.push(h)), + this._d('path', i, n) + ); + } + opsToPath(e, r) { + let n = ''; + for (let i of e.ops) { + let a = typeof r == 'number' && r >= 0 ? i.data.map((s) => +s.toFixed(r)) : i.data; + switch (i.op) { + case 'move': + n += `M${a[0]} ${a[1]} `; + break; + case 'bcurveTo': + n += `C${a[0]} ${a[1]}, ${a[2]} ${a[3]}, ${a[4]} ${a[5]} `; + break; + case 'lineTo': + n += `L${a[0]} ${a[1]} `; + } + } + return n.trim(); + } + toPaths(e) { + let r = e.sets || [], + n = e.options || this.defaultOptions, + i = []; + for (let a of r) { + let s = null; + switch (a.type) { + case 'path': + s = { + d: this.opsToPath(a), + stroke: n.stroke, + strokeWidth: n.strokeWidth, + fill: ao + }; + break; + case 'fillPath': + s = { + d: this.opsToPath(a), + stroke: ao, + strokeWidth: 0, + fill: n.fill || ao + }; + break; + case 'fillSketch': + s = this.fillSketch(a, n); + } + s && i.push(s); + } + return i; + } + fillSketch(e, r) { + let n = r.fillWeight; + return ( + n < 0 && (n = r.strokeWidth / 2), + { + d: this.opsToPath(e), + stroke: r.fill || ao, + strokeWidth: n, + fill: ao + } + ); + } + _mergedShape(e) { + return e.filter((r, n) => n === 0 || r.op !== 'move'); + } + }), + (H9 = class { + static { + o(this, 'st'); + } + constructor(e, r) { + (this.canvas = e), (this.ctx = this.canvas.getContext('2d')), (this.gen = new gm(r)); + } + draw(e) { + let r = e.sets || [], + n = e.options || this.getDefaultOptions(), + i = this.ctx, + a = e.options.fixedDecimalPlaceDigits; + for (let s of r) + switch (s.type) { + case 'path': + i.save(), + (i.strokeStyle = n.stroke === 'none' ? 'transparent' : n.stroke), + (i.lineWidth = n.strokeWidth), + n.strokeLineDash && i.setLineDash(n.strokeLineDash), + n.strokeLineDashOffset && (i.lineDashOffset = n.strokeLineDashOffset), + this._drawToContext(i, s, a), + i.restore(); + break; + case 'fillPath': { + i.save(), (i.fillStyle = n.fill || ''); + let l = + e.shape === 'curve' || e.shape === 'polygon' || e.shape === 'path' + ? 'evenodd' + : 'nonzero'; + this._drawToContext(i, s, a, l), i.restore(); + break; + } + case 'fillSketch': + this.fillSketch(i, s, n); + } + } + fillSketch(e, r, n) { + let i = n.fillWeight; + i < 0 && (i = n.strokeWidth / 2), + e.save(), + n.fillLineDash && e.setLineDash(n.fillLineDash), + n.fillLineDashOffset && (e.lineDashOffset = n.fillLineDashOffset), + (e.strokeStyle = n.fill || ''), + (e.lineWidth = i), + this._drawToContext(e, r, n.fixedDecimalPlaceDigits), + e.restore(); + } + _drawToContext(e, r, n, i = 'nonzero') { + e.beginPath(); + for (let a of r.ops) { + let s = typeof n == 'number' && n >= 0 ? a.data.map((l) => +l.toFixed(n)) : a.data; + switch (a.op) { + case 'move': + e.moveTo(s[0], s[1]); + break; + case 'bcurveTo': + e.bezierCurveTo(s[0], s[1], s[2], s[3], s[4], s[5]); + break; + case 'lineTo': + e.lineTo(s[0], s[1]); + } + } + r.type === 'fillPath' ? e.fill(i) : e.stroke(); + } + get generator() { + return this.gen; + } + getDefaultOptions() { + return this.gen.defaultOptions; + } + line(e, r, n, i, a) { + let s = this.gen.line(e, r, n, i, a); + return this.draw(s), s; + } + rectangle(e, r, n, i, a) { + let s = this.gen.rectangle(e, r, n, i, a); + return this.draw(s), s; + } + ellipse(e, r, n, i, a) { + let s = this.gen.ellipse(e, r, n, i, a); + return this.draw(s), s; + } + circle(e, r, n, i) { + let a = this.gen.circle(e, r, n, i); + return this.draw(a), a; + } + linearPath(e, r) { + let n = this.gen.linearPath(e, r); + return this.draw(n), n; + } + polygon(e, r) { + let n = this.gen.polygon(e, r); + return this.draw(n), n; + } + arc(e, r, n, i, a, s, l = !1, u) { + let h = this.gen.arc(e, r, n, i, a, s, l, u); + return this.draw(h), h; + } + curve(e, r) { + let n = this.gen.curve(e, r); + return this.draw(n), n; + } + path(e, r) { + let n = this.gen.path(e, r); + return this.draw(n), n; + } + }), + (B5 = 'http://www.w3.org/2000/svg'), + (Y9 = class { + static { + o(this, 'ot'); + } + constructor(e, r) { + (this.svg = e), (this.gen = new gm(r)); + } + draw(e) { + let r = e.sets || [], + n = e.options || this.getDefaultOptions(), + i = this.svg.ownerDocument || window.document, + a = i.createElementNS(B5, 'g'), + s = e.options.fixedDecimalPlaceDigits; + for (let l of r) { + let u = null; + switch (l.type) { + case 'path': + (u = i.createElementNS(B5, 'path')), + u.setAttribute('d', this.opsToPath(l, s)), + u.setAttribute('stroke', n.stroke), + u.setAttribute('stroke-width', n.strokeWidth + ''), + u.setAttribute('fill', 'none'), + n.strokeLineDash && + u.setAttribute('stroke-dasharray', n.strokeLineDash.join(' ').trim()), + n.strokeLineDashOffset && + u.setAttribute('stroke-dashoffset', `${n.strokeLineDashOffset}`); + break; + case 'fillPath': + (u = i.createElementNS(B5, 'path')), + u.setAttribute('d', this.opsToPath(l, s)), + u.setAttribute('stroke', 'none'), + u.setAttribute('stroke-width', '0'), + u.setAttribute('fill', n.fill || ''), + (e.shape !== 'curve' && e.shape !== 'polygon') || + u.setAttribute('fill-rule', 'evenodd'); + break; + case 'fillSketch': + u = this.fillSketch(i, l, n); + } + u && a.appendChild(u); + } + return a; + } + fillSketch(e, r, n) { + let i = n.fillWeight; + i < 0 && (i = n.strokeWidth / 2); + let a = e.createElementNS(B5, 'path'); + return ( + a.setAttribute('d', this.opsToPath(r, n.fixedDecimalPlaceDigits)), + a.setAttribute('stroke', n.fill || ''), + a.setAttribute('stroke-width', i + ''), + a.setAttribute('fill', 'none'), + n.fillLineDash && a.setAttribute('stroke-dasharray', n.fillLineDash.join(' ').trim()), + n.fillLineDashOffset && a.setAttribute('stroke-dashoffset', `${n.fillLineDashOffset}`), + a + ); + } + get generator() { + return this.gen; + } + getDefaultOptions() { + return this.gen.defaultOptions; + } + opsToPath(e, r) { + return this.gen.opsToPath(e, r); + } + line(e, r, n, i, a) { + let s = this.gen.line(e, r, n, i, a); + return this.draw(s); + } + rectangle(e, r, n, i, a) { + let s = this.gen.rectangle(e, r, n, i, a); + return this.draw(s); + } + ellipse(e, r, n, i, a) { + let s = this.gen.ellipse(e, r, n, i, a); + return this.draw(s); + } + circle(e, r, n, i) { + let a = this.gen.circle(e, r, n, i); + return this.draw(a); + } + linearPath(e, r) { + let n = this.gen.linearPath(e, r); + return this.draw(n); + } + polygon(e, r) { + let n = this.gen.polygon(e, r); + return this.draw(n); + } + arc(e, r, n, i, a, s, l = !1, u) { + let h = this.gen.arc(e, r, n, i, a, s, l, u); + return this.draw(h); + } + curve(e, r) { + let n = this.gen.curve(e, r); + return this.draw(n); + } + path(e, r) { + let n = this.gen.path(e, r); + return this.draw(n); + } + }), + (Jt = { + canvas: o((t, e) => new H9(t, e), 'canvas'), + svg: o((t, e) => new Y9(t, e), 'svg'), + generator: o((t) => new gm(t), 'generator'), + newSeed: o(() => gm.newSeed(), 'newSeed') + }); + }); + var wSe, + Dd, + q9 = R(() => { + 'use strict'; + (wSe = o((t, e) => { + var r = t.x, + n = t.y, + i = e.x - r, + a = e.y - n, + s = t.width / 2, + l = t.height / 2, + u, + h; + return ( + Math.abs(a) * s > Math.abs(i) * l + ? (a < 0 && (l = -l), (u = a === 0 ? 0 : (l * i) / a), (h = l)) + : (i < 0 && (s = -s), (u = s), (h = i === 0 ? 0 : (s * a) / i)), + { x: r + u, y: n + h } + ); + }, 'intersectRect')), + (Dd = wSe); + }); + function TSe(t, e) { + e && t.attr('style', e); + } + async function kSe(t) { + let e = $e(document.createElementNS('http://www.w3.org/2000/svg', 'foreignObject')), + r = e.append('xhtml:div'), + n = t.label; + t.label && + Ni(t.label) && + (n = await yh( + t.label.replace( + We.lineBreakRegex, + ` +` + ), + de() + )); + let i = t.isNode ? 'nodeLabel' : 'edgeLabel'; + return ( + r.html( + '' + n + '' + ), + TSe(r, t.labelStyle), + r.style('display', 'inline-block'), + r.style('padding-right', '1px'), + r.style('white-space', 'nowrap'), + r.attr('xmlns', 'http://www.w3.org/1999/xhtml'), + e.node() + ); + } + var ESe, + gc, + H5 = R(() => { + 'use strict'; + Zt(); + ut(); + _t(); + rr(); + xr(); + o(TSe, 'applyStyle'); + o(kSe, 'addHtmlLabel'); + (ESe = o(async (t, e, r, n) => { + let i = t || ''; + if ((typeof i == 'object' && (i = i[0]), yr(de().flowchart.htmlLabels))) { + (i = i.replace(/\\n|\n/g, '
    ')), V.info('vertexText' + i); + let a = { + isNode: n, + label: to(i).replace(/fa[blrs]?:fa-[\w-]+/g, (l) => ``), + labelStyle: e && e.replace('fill:', 'color:') + }; + return await kSe(a); + } else { + let a = document.createElementNS('http://www.w3.org/2000/svg', 'text'); + a.setAttribute('style', e.replace('color:', 'fill:')); + let s = []; + typeof i == 'string' ? (s = i.split(/\\n|\n|/gi)) : Array.isArray(i) ? (s = i) : (s = []); + for (let l of s) { + let u = document.createElementNS('http://www.w3.org/2000/svg', 'tspan'); + u.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve'), + u.setAttribute('dy', '1em'), + u.setAttribute('x', '0'), + r ? u.setAttribute('class', 'title-row') : u.setAttribute('class', 'row'), + (u.textContent = l.trim()), + a.appendChild(u); + } + return a; + } + }, 'createLabel')), + (gc = ESe); + }); + var _u, + Sv = R(() => { + 'use strict'; + _u = o( + (t, e, r, n, i) => + [ + 'M', + t + i, + e, + 'H', + t + r - i, + 'A', + i, + i, + 0, + 0, + 1, + t + r, + e + i, + 'V', + e + n - i, + 'A', + i, + i, + 0, + 0, + 1, + t + r - i, + e + n, + 'H', + t + i, + 'A', + i, + i, + 0, + 0, + 1, + t, + e + n - i, + 'V', + e + i, + 'A', + i, + i, + 0, + 0, + 1, + t + i, + e, + 'Z' + ].join(' '), + 'createRoundedRectPathD' + ); + }); + var Lu, + Jj, + CSe, + Br, + Fr, + ki = R(() => { + 'use strict'; + _t(); + (Lu = o((t) => { + let { handDrawnSeed: e } = de(); + return { + fill: t, + hachureAngle: 120, + hachureGap: 4, + fillWeight: 2, + roughness: 0.7, + stroke: t, + seed: e + }; + }, 'solidStateFill')), + (Jj = o((t) => { + let e = CSe([...(t.cssCompiledStyles || []), ...(t.cssStyles || [])]); + return { stylesMap: e, stylesArray: [...e] }; + }, 'compileStyles')), + (CSe = o((t) => { + let e = new Map(); + return ( + t.forEach((r) => { + let [n, i] = r.split(':'); + e.set(n.trim(), i?.trim()); + }), + e + ); + }, 'styles2Map')), + (Br = o((t) => { + let { stylesArray: e } = Jj(t), + r = [], + n = [], + i = [], + a = []; + return ( + e.forEach((s) => { + let l = s[0]; + l === 'color' || + l === 'font-size' || + l === 'font-family' || + l === 'font-weight' || + l === 'font-style' || + l === 'text-decoration' || + l === 'text-align' || + l === 'text-transform' || + l === 'line-height' || + l === 'letter-spacing' || + l === 'word-spacing' || + l === 'text-shadow' || + l === 'text-overflow' || + l === 'white-space' || + l === 'word-wrap' || + l === 'word-break' || + l === 'overflow-wrap' || + l === 'hyphens' + ? r.push(s.join(':') + ' !important') + : (n.push(s.join(':') + ' !important'), + l.includes('stroke') && i.push(s.join(':') + ' !important'), + l === 'fill' && a.push(s.join(':') + ' !important')); + }), + { + labelStyles: r.join(';'), + nodeStyles: n.join(';'), + stylesArray: e, + borderStyles: i, + backgroundStyles: a + } + ); + }, 'styles2String')), + (Fr = o((t, e) => { + let { themeVariables: r, handDrawnSeed: n } = de(), + { nodeBorder: i, mainBkg: a } = r, + { stylesMap: s } = Jj(t); + return Object.assign( + { + roughness: 0.7, + fill: s.get('fill') || a, + fillStyle: 'hachure', + fillWeight: 4, + stroke: s.get('stroke') || i, + seed: n, + strokeWidth: 1.3 + }, + e + ); + }, 'userNodeOverrides')); + }); + var eK, + SSe, + ASe, + _Se, + LSe, + DSe, + tK, + Y5, + rK, + X9 = R(() => { + 'use strict'; + _t(); + rr(); + ut(); + _d(); + Zt(); + ti(); + Al(); + q9(); + H5(); + Sv(); + ki(); + (eK = o(async (t, e) => { + V.info('Creating subgraph rect for ', e.id, e); + let r = de(), + { themeVariables: n, handDrawnSeed: i } = r, + { clusterBkg: a, clusterBorder: s } = n, + { labelStyles: l, nodeStyles: u, borderStyles: h, backgroundStyles: f } = Br(e), + d = t + .insert('g') + .attr('class', 'cluster ' + e.cssClasses) + .attr('id', e.id) + .attr('data-look', e.look), + p = yr(r.flowchart.htmlLabels), + m = d.insert('g').attr('class', 'cluster-label '), + g = await ta(m, e.label, { + style: e.labelStyle, + useHtmlLabels: p, + isNode: !0 + }), + y = g.getBBox(); + if (yr(r.flowchart.htmlLabels)) { + let _ = g.children[0], + A = $e(g); + (y = _.getBoundingClientRect()), A.attr('width', y.width), A.attr('height', y.height); + } + let v = e.width <= y.width + e.padding ? y.width + e.padding : e.width; + e.width <= y.width + e.padding ? (e.diff = (v - e.width) / 2 - e.padding) : (e.diff = -e.padding); + let x = e.height, + b = e.x - v / 2, + w = e.y - x / 2; + V.trace('Data ', e, JSON.stringify(e)); + let S; + if (e.look === 'handDrawn') { + let _ = Jt.svg(d), + A = Fr(e, { + roughness: 0.7, + fill: a, + stroke: s, + fillWeight: 3, + seed: i + }), + L = _.path(_u(b, w, v, x, 0), A); + (S = d.insert(() => (V.debug('Rough node insert CXC', L), L), ':first-child')), + S.select('path:nth-child(2)').attr('style', h.join(';')), + S.select('path').attr('style', f.join(';').replace('fill', 'stroke')); + } else + (S = d.insert('rect', ':first-child')), + S.attr('style', u) + .attr('rx', e.rx) + .attr('ry', e.ry) + .attr('x', b) + .attr('y', w) + .attr('width', v) + .attr('height', x); + let { subGraphTitleTopMargin: T } = io(r); + if ((m.attr('transform', `translate(${e.x - y.width / 2}, ${e.y - e.height / 2 + T})`), l)) { + let _ = m.select('span'); + _ && _.attr('style', l); + } + let E = S.node().getBBox(); + return ( + (e.offsetX = 0), + (e.width = E.width), + (e.height = E.height), + (e.offsetY = y.height - e.padding / 2), + (e.intersect = function (_) { + return Dd(e, _); + }), + { cluster: d, labelBBox: y } + ); + }, 'rect')), + (SSe = o((t, e) => { + let r = t.insert('g').attr('class', 'note-cluster').attr('id', e.id), + n = r.insert('rect', ':first-child'), + i = 0 * e.padding, + a = i / 2; + n.attr('rx', e.rx) + .attr('ry', e.ry) + .attr('x', e.x - e.width / 2 - a) + .attr('y', e.y - e.height / 2 - a) + .attr('width', e.width + i) + .attr('height', e.height + i) + .attr('fill', 'none'); + let s = n.node().getBBox(); + return ( + (e.width = s.width), + (e.height = s.height), + (e.intersect = function (l) { + return Dd(e, l); + }), + { cluster: r, labelBBox: { width: 0, height: 0 } } + ); + }, 'noteGroup')), + (ASe = o(async (t, e) => { + let r = de(), + { themeVariables: n, handDrawnSeed: i } = r, + { altBackground: a, compositeBackground: s, compositeTitleBackground: l, nodeBorder: u } = n, + h = t + .insert('g') + .attr('class', e.cssClasses) + .attr('id', e.id) + .attr('data-id', e.id) + .attr('data-look', e.look), + f = h.insert('g', ':first-child'), + d = h.insert('g').attr('class', 'cluster-label'), + p = h.append('rect'), + m = d.node().appendChild(await gc(e.label, e.labelStyle, void 0, !0)), + g = m.getBBox(); + if (yr(r.flowchart.htmlLabels)) { + let L = m.children[0], + M = $e(m); + (g = L.getBoundingClientRect()), M.attr('width', g.width), M.attr('height', g.height); + } + let y = 0 * e.padding, + v = y / 2, + x = (e.width <= g.width + e.padding ? g.width + e.padding : e.width) + y; + e.width <= g.width + e.padding ? (e.diff = (x - e.width) / 2 - e.padding) : (e.diff = -e.padding); + let b = e.height + y, + w = e.height + y - g.height - 6, + S = e.x - x / 2, + T = e.y - b / 2; + e.width = x; + let E = e.y - e.height / 2 - v + g.height + 2, + _; + if (e.look === 'handDrawn') { + let L = e.cssClasses.includes('statediagram-cluster-alt'), + M = Jt.svg(h), + N = + e.rx || e.ry + ? M.path(_u(S, T, x, b, 10), { + roughness: 0.7, + fill: l, + fillStyle: 'solid', + stroke: u, + seed: i + }) + : M.rectangle(S, T, x, b, { seed: i }); + _ = h.insert(() => N, ':first-child'); + let k = M.rectangle(S, E, x, w, { + fill: L ? a : s, + fillStyle: L ? 'hachure' : 'solid', + stroke: u, + seed: i + }); + (_ = h.insert(() => N, ':first-child')), (p = h.insert(() => k)); + } else + (_ = f.insert('rect', ':first-child')), + _.attr('class', 'outer') + .attr('x', S) + .attr('y', T) + .attr('width', x) + .attr('height', b) + .attr('data-look', e.look), + p.attr('class', 'inner').attr('x', S).attr('y', E).attr('width', x).attr('height', w); + d.attr( + 'transform', + `translate(${e.x - g.width / 2}, ${T + 1 - (yr(r.flowchart.htmlLabels) ? 0 : 3)})` + ); + let A = _.node().getBBox(); + return ( + (e.height = A.height), + (e.offsetX = 0), + (e.offsetY = g.height - e.padding / 2), + (e.labelBBox = g), + (e.intersect = function (L) { + return Dd(e, L); + }), + { cluster: h, labelBBox: g } + ); + }, 'roundedWithTitle')), + (_Se = o((t, e) => { + let r = de(), + { themeVariables: n, handDrawnSeed: i } = r, + { nodeBorder: a } = n, + s = t.insert('g').attr('class', e.cssClasses).attr('id', e.id).attr('data-look', e.look), + l = s.insert('g', ':first-child'), + u = 0 * e.padding, + h = e.width + u; + e.diff = -e.padding; + let f = e.height + u, + d = e.x - h / 2, + p = e.y - f / 2; + e.width = h; + let m; + if (e.look === 'handDrawn') { + let v = Jt.svg(s).rectangle(d, p, h, f, { + fill: 'lightgrey', + roughness: 0.5, + strokeLineDash: [5], + stroke: a, + seed: i + }); + m = s.insert(() => v, ':first-child'); + } else + (m = l.insert('rect', ':first-child')), + m + .attr('class', 'divider') + .attr('x', d) + .attr('y', p) + .attr('width', h) + .attr('height', f) + .attr('data-look', e.look); + let g = m.node().getBBox(); + return ( + (e.height = g.height), + (e.offsetX = 0), + (e.offsetY = 0), + (e.intersect = function (y) { + return Dd(e, y); + }), + { cluster: s, labelBBox: {} } + ); + }, 'divider')), + (LSe = eK), + (DSe = { + rect: eK, + squareRect: LSe, + roundedWithTitle: ASe, + noteGroup: SSe, + divider: _Se + }), + (tK = new Map()), + (Y5 = o(async (t, e) => { + let r = e.shape || 'rect', + n = await DSe[r](t, e); + return tK.set(e.id, n), n; + }, 'insertCluster')), + (rK = o(() => { + tK = new Map(); + }, 'clear')); + }); + function W5(t, e) { + if (t === void 0 || e === void 0) return { angle: 0, deltaX: 0, deltaY: 0 }; + (t = q5(t)), (e = q5(e)); + let [r, n] = [t.x, t.y], + [i, a] = [e.x, e.y], + s = i - r, + l = a - n; + return { angle: Math.atan(l / s), deltaX: s, deltaY: l }; + } + var Uh, + q5, + X5, + j9 = R(() => { + 'use strict'; + Uh = { + aggregation: 18, + extension: 18, + composition: 18, + dependency: 6, + lollipop: 13.5, + arrow_point: 4 + }; + o(W5, 'calculateDeltaAndAngle'); + (q5 = o((t) => (Array.isArray(t) ? { x: t[0], y: t[1] } : t), 'pointTransformer')), + (X5 = o( + (t) => ({ + x: o(function (e, r, n) { + let i = 0; + if (r === 0 && Object.hasOwn(Uh, t.arrowTypeStart)) { + let { angle: a, deltaX: s } = W5(n[0], n[1]); + i = Uh[t.arrowTypeStart] * Math.cos(a) * (s >= 0 ? 1 : -1); + } else if (r === n.length - 1 && Object.hasOwn(Uh, t.arrowTypeEnd)) { + let { angle: a, deltaX: s } = W5(n[n.length - 1], n[n.length - 2]); + i = Uh[t.arrowTypeEnd] * Math.cos(a) * (s >= 0 ? 1 : -1); + } + return q5(e).x + i; + }, 'x'), + y: o(function (e, r, n) { + let i = 0; + if (r === 0 && Object.hasOwn(Uh, t.arrowTypeStart)) { + let { angle: a, deltaY: s } = W5(n[0], n[1]); + i = Uh[t.arrowTypeStart] * Math.abs(Math.sin(a)) * (s >= 0 ? 1 : -1); + } else if (r === n.length - 1 && Object.hasOwn(Uh, t.arrowTypeEnd)) { + let { angle: a, deltaY: s } = W5(n[n.length - 1], n[n.length - 2]); + i = Uh[t.arrowTypeEnd] * Math.abs(Math.sin(a)) * (s >= 0 ? 1 : -1); + } + return q5(e).y + i; + }, 'y') + }), + 'getLineFunctionsWithOffset' + )); + }); + var iK, + RSe, + nK, + aK = R(() => { + 'use strict'; + ut(); + (iK = o((t, e, r, n, i) => { + e.arrowTypeStart && nK(t, 'start', e.arrowTypeStart, r, n, i), + e.arrowTypeEnd && nK(t, 'end', e.arrowTypeEnd, r, n, i); + }, 'addEdgeMarkers')), + (RSe = { + arrow_cross: 'cross', + arrow_point: 'point', + arrow_barb: 'barb', + arrow_circle: 'circle', + aggregation: 'aggregation', + extension: 'extension', + composition: 'composition', + dependency: 'dependency', + lollipop: 'lollipop' + }), + (nK = o((t, e, r, n, i, a) => { + let s = RSe[r]; + if (!s) { + V.warn(`Unknown arrow type: ${r}`); + return; + } + let l = e === 'start' ? 'Start' : 'End'; + t.attr(`marker-${e}`, `url(${n}#${i}_${a}-${s}${l})`); + }, 'addEdgeMarker')); + }); + function j5(t, e) { + de().flowchart.htmlLabels && t && ((t.style.width = e.length * 9 + 'px'), (t.style.height = '12px')); + } + function ISe(t) { + let e = [], + r = []; + for (let n = 1; n < t.length - 1; n++) { + let i = t[n - 1], + a = t[n], + s = t[n + 1]; + ((i.x === a.x && a.y === s.y && Math.abs(a.x - s.x) > 5 && Math.abs(a.y - i.y) > 5) || + (i.y === a.y && a.x === s.x && Math.abs(a.x - i.x) > 5 && Math.abs(a.y - s.y) > 5)) && + (e.push(a), r.push(n)); + } + return { cornerPoints: e, cornerPointPositions: r }; + } + var K5, + da, + lK, + Av, + Q5, + Z5, + NSe, + MSe, + sK, + oK, + OSe, + J5, + K9 = R(() => { + 'use strict'; + _t(); + rr(); + ut(); + Al(); + xr(); + j9(); + _d(); + Zt(); + ti(); + H5(); + aK(); + (K5 = new Map()), + (da = new Map()), + (lK = o(() => { + K5.clear(), da.clear(); + }, 'clear')), + (Av = o((t) => (t ? t.reduce((r, n) => r + ';' + n, '') : ''), 'getLabelStyles')), + (Q5 = o(async (t, e) => { + let r = yr(de().flowchart.htmlLabels), + n = await ta(t, e.label, { + style: Av(e.labelStyle), + useHtmlLabels: r, + addSvgBackground: !0, + isNode: !1 + }); + V.info('abc82', e, e.labelType); + let i = t.insert('g').attr('class', 'edgeLabel'), + a = i.insert('g').attr('class', 'label'); + a.node().appendChild(n); + let s = n.getBBox(); + if (r) { + let u = n.children[0], + h = $e(n); + (s = u.getBoundingClientRect()), h.attr('width', s.width), h.attr('height', s.height); + } + a.attr('transform', 'translate(' + -s.width / 2 + ', ' + -s.height / 2 + ')'), + K5.set(e.id, i), + (e.width = s.width), + (e.height = s.height); + let l; + if (e.startLabelLeft) { + let u = await gc(e.startLabelLeft, Av(e.labelStyle)), + h = t.insert('g').attr('class', 'edgeTerminals'), + f = h.insert('g').attr('class', 'inner'); + l = f.node().appendChild(u); + let d = u.getBBox(); + f.attr('transform', 'translate(' + -d.width / 2 + ', ' + -d.height / 2 + ')'), + da.get(e.id) || da.set(e.id, {}), + (da.get(e.id).startLeft = h), + j5(l, e.startLabelLeft); + } + if (e.startLabelRight) { + let u = await gc(e.startLabelRight, Av(e.labelStyle)), + h = t.insert('g').attr('class', 'edgeTerminals'), + f = h.insert('g').attr('class', 'inner'); + (l = h.node().appendChild(u)), f.node().appendChild(u); + let d = u.getBBox(); + f.attr('transform', 'translate(' + -d.width / 2 + ', ' + -d.height / 2 + ')'), + da.get(e.id) || da.set(e.id, {}), + (da.get(e.id).startRight = h), + j5(l, e.startLabelRight); + } + if (e.endLabelLeft) { + let u = await gc(e.endLabelLeft, Av(e.labelStyle)), + h = t.insert('g').attr('class', 'edgeTerminals'), + f = h.insert('g').attr('class', 'inner'); + l = f.node().appendChild(u); + let d = u.getBBox(); + f.attr('transform', 'translate(' + -d.width / 2 + ', ' + -d.height / 2 + ')'), + h.node().appendChild(u), + da.get(e.id) || da.set(e.id, {}), + (da.get(e.id).endLeft = h), + j5(l, e.endLabelLeft); + } + if (e.endLabelRight) { + let u = await gc(e.endLabelRight, Av(e.labelStyle)), + h = t.insert('g').attr('class', 'edgeTerminals'), + f = h.insert('g').attr('class', 'inner'); + l = f.node().appendChild(u); + let d = u.getBBox(); + f.attr('transform', 'translate(' + -d.width / 2 + ', ' + -d.height / 2 + ')'), + h.node().appendChild(u), + da.get(e.id) || da.set(e.id, {}), + (da.get(e.id).endRight = h), + j5(l, e.endLabelRight); + } + return n; + }, 'insertEdgeLabel')); + o(j5, 'setTerminalWidth'); + (Z5 = o((t, e) => { + V.debug('Moving label abc88 ', t.id, t.label, K5.get(t.id), e); + let r = e.updatedPath ? e.updatedPath : e.originalPath, + n = de(), + { subGraphTitleTotalMargin: i } = io(n); + if (t.label) { + let a = K5.get(t.id), + s = t.x, + l = t.y; + if (r) { + let u = Lt.calcLabelPosition(r); + V.debug('Moving label ' + t.label + ' from (', s, ',', l, ') to (', u.x, ',', u.y, ') abc88'), + e.updatedPath && ((s = u.x), (l = u.y)); + } + a.attr('transform', `translate(${s}, ${l + i / 2})`); + } + if (t.startLabelLeft) { + let a = da.get(t.id).startLeft, + s = t.x, + l = t.y; + if (r) { + let u = Lt.calcTerminalLabelPosition(t.arrowTypeStart ? 10 : 0, 'start_left', r); + (s = u.x), (l = u.y); + } + a.attr('transform', `translate(${s}, ${l})`); + } + if (t.startLabelRight) { + let a = da.get(t.id).startRight, + s = t.x, + l = t.y; + if (r) { + let u = Lt.calcTerminalLabelPosition(t.arrowTypeStart ? 10 : 0, 'start_right', r); + (s = u.x), (l = u.y); + } + a.attr('transform', `translate(${s}, ${l})`); + } + if (t.endLabelLeft) { + let a = da.get(t.id).endLeft, + s = t.x, + l = t.y; + if (r) { + let u = Lt.calcTerminalLabelPosition(t.arrowTypeEnd ? 10 : 0, 'end_left', r); + (s = u.x), (l = u.y); + } + a.attr('transform', `translate(${s}, ${l})`); + } + if (t.endLabelRight) { + let a = da.get(t.id).endRight, + s = t.x, + l = t.y; + if (r) { + let u = Lt.calcTerminalLabelPosition(t.arrowTypeEnd ? 10 : 0, 'end_right', r); + (s = u.x), (l = u.y); + } + a.attr('transform', `translate(${s}, ${l})`); + } + }, 'positionEdgeLabel')), + (NSe = o((t, e) => { + let r = t.x, + n = t.y, + i = Math.abs(e.x - r), + a = Math.abs(e.y - n), + s = t.width / 2, + l = t.height / 2; + return i >= s || a >= l; + }, 'outsideNode')), + (MSe = o((t, e, r) => { + V.debug(`intersection calc abc89: + outsidePoint: ${JSON.stringify(e)} + insidePoint : ${JSON.stringify(r)} + node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`); + let n = t.x, + i = t.y, + a = Math.abs(n - r.x), + s = t.width / 2, + l = r.x < e.x ? s - a : s + a, + u = t.height / 2, + h = Math.abs(e.y - r.y), + f = Math.abs(e.x - r.x); + if (Math.abs(i - e.y) * s > Math.abs(n - e.x) * u) { + let d = r.y < e.y ? e.y - u - i : i - u - e.y; + l = (f * d) / h; + let p = { + x: r.x < e.x ? r.x + l : r.x - f + l, + y: r.y < e.y ? r.y + h - d : r.y - h + d + }; + return ( + l === 0 && ((p.x = e.x), (p.y = e.y)), + f === 0 && (p.x = e.x), + h === 0 && (p.y = e.y), + V.debug(`abc89 top/bottom calc, Q ${h}, q ${d}, R ${f}, r ${l}`, p), + p + ); + } else { + r.x < e.x ? (l = e.x - s - n) : (l = n - s - e.x); + let d = (h * l) / f, + p = r.x < e.x ? r.x + f - l : r.x - f + l, + m = r.y < e.y ? r.y + d : r.y - d; + return ( + V.debug(`sides calc abc89, Q ${h}, q ${d}, R ${f}, r ${l}`, { + _x: p, + _y: m + }), + l === 0 && ((p = e.x), (m = e.y)), + f === 0 && (p = e.x), + h === 0 && (m = e.y), + { x: p, y: m } + ); + } + }, 'intersection')), + (sK = o((t, e) => { + V.warn('abc88 cutPathAtIntersect', t, e); + let r = [], + n = t[0], + i = !1; + return ( + t.forEach((a) => { + if ((V.info('abc88 checking point', a, e), !NSe(e, a) && !i)) { + let s = MSe(e, n, a); + V.debug('abc88 inside', a, n, s), V.debug('abc88 intersection', s, e); + let l = !1; + r.forEach((u) => { + l = l || (u.x === s.x && u.y === s.y); + }), + r.some((u) => u.x === s.x && u.y === s.y) + ? V.warn('abc88 no intersect', s, r) + : r.push(s), + (i = !0); + } else V.warn('abc88 outside', a, n), (n = a), i || r.push(a); + }), + V.debug('returning points', r), + r + ); + }, 'cutPathAtIntersect')); + o(ISe, 'extractCornerPoints'); + (oK = o(function (t, e, r) { + let n = e.x - t.x, + i = e.y - t.y, + a = Math.sqrt(n * n + i * i), + s = r / a; + return { x: e.x - s * n, y: e.y - s * i }; + }, 'findAdjacentPoint')), + (OSe = o(function (t) { + let { cornerPointPositions: e } = ISe(t), + r = []; + for (let n = 0; n < t.length; n++) + if (e.includes(n)) { + let i = t[n - 1], + a = t[n + 1], + s = t[n], + l = oK(i, s, 5), + u = oK(a, s, 5), + h = u.x - l.x, + f = u.y - l.y; + r.push(l); + let d = Math.sqrt(2) * 2, + p = { x: s.x, y: s.y }; + if (Math.abs(a.x - i.x) > 10 && Math.abs(a.y - i.y) >= 10) { + V.debug('Corner point fixing', Math.abs(a.x - i.x), Math.abs(a.y - i.y)); + let m = 5; + s.x === l.x + ? (p = { + x: h < 0 ? l.x - m + d : l.x + m - d, + y: f < 0 ? l.y - d : l.y + d + }) + : (p = { + x: h < 0 ? l.x - d : l.x + d, + y: f < 0 ? l.y - m + d : l.y + m - d + }); + } else V.debug('Corner point skipping fixing', Math.abs(a.x - i.x), Math.abs(a.y - i.y)); + r.push(p, u); + } else r.push(t[n]); + return r; + }, 'fixCorners')), + (J5 = o(function (t, e, r, n, i, a, s) { + let { handDrawnSeed: l } = de(), + u = e.points, + h = !1, + f = i; + var d = a; + d.intersect && + f.intersect && + ((u = u.slice(1, e.points.length - 1)), + u.unshift(f.intersect(u[0])), + V.debug( + 'Last point APA12', + e.start, + '-->', + e.end, + u[u.length - 1], + d, + d.intersect(u[u.length - 1]) + ), + u.push(d.intersect(u[u.length - 1]))), + e.toCluster && + (V.info('to cluster abc88', r.get(e.toCluster)), + (u = sK(e.points, r.get(e.toCluster).node)), + (h = !0)), + e.fromCluster && + (V.debug('from cluster abc88', r.get(e.fromCluster), JSON.stringify(u, null, 2)), + (u = sK(u.reverse(), r.get(e.fromCluster).node).reverse()), + (h = !0)); + let p = u.filter((A) => !Number.isNaN(A.y)); + p = OSe(p); + let m = p[p.length - 1]; + if (p.length > 1) { + m = p[p.length - 1]; + let A = p[p.length - 2], + L = (m.x - A.x) / 2, + M = (m.y - A.y) / 2, + N = { x: A.x + L, y: A.y + M }; + p.splice(-1, 0, N); + } + let g = vs; + e.curve && (g = e.curve); + let { x: y, y: v } = X5(e), + x = ha().x(y).y(v).curve(g), + b; + switch (e.thickness) { + case 'normal': + b = 'edge-thickness-normal'; + break; + case 'thick': + b = 'edge-thickness-thick'; + break; + case 'invisible': + b = 'edge-thickness-invisible'; + break; + default: + b = 'edge-thickness-normal'; + } + switch (e.pattern) { + case 'solid': + b += ' edge-pattern-solid'; + break; + case 'dotted': + b += ' edge-pattern-dotted'; + break; + case 'dashed': + b += ' edge-pattern-dashed'; + break; + default: + b += ' edge-pattern-solid'; + } + let w, + S = x(p), + T = Array.isArray(e.style) ? e.style : [e.style]; + if (e.look === 'handDrawn') { + let A = Jt.svg(t); + Object.assign([], p); + let L = A.path(S, { roughness: 0.3, seed: l }); + (b += ' transition'), + (w = $e(L) + .select('path') + .attr('id', e.id) + .attr('class', ' ' + b + (e.classes ? ' ' + e.classes : '')) + .attr('style', T ? T.reduce((N, k) => N + ';' + k, '') : '')); + let M = w.attr('d'); + w.attr('d', M), t.node().appendChild(w.node()); + } else + w = t + .append('path') + .attr('d', S) + .attr('id', e.id) + .attr('class', ' ' + b + (e.classes ? ' ' + e.classes : '')) + .attr('style', T ? T.reduce((A, L) => A + ';' + L, '') : ''); + let E = ''; + (de().flowchart.arrowMarkerAbsolute || de().state.arrowMarkerAbsolute) && + ((E = + window.location.protocol + + '//' + + window.location.host + + window.location.pathname + + window.location.search), + (E = E.replace(/\(/g, '\\(').replace(/\)/g, '\\)'))), + V.info('arrowTypeStart', e.arrowTypeStart), + V.info('arrowTypeEnd', e.arrowTypeEnd), + iK(w, e, E, s, n); + let _ = {}; + return h && (_.updatedPath = u), (_.originalPath = e.points), _; + }, 'insertEdge')); + }); + var PSe, + BSe, + FSe, + zSe, + GSe, + $Se, + VSe, + USe, + HSe, + YSe, + WSe, + ew, + Q9 = R(() => { + 'use strict'; + ut(); + (PSe = o((t, e, r, n) => { + e.forEach((i) => { + WSe[i](t, r, n); + }); + }, 'insertMarkers')), + (BSe = o((t, e, r) => { + V.trace('Making markers for ', r), + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-extensionStart') + .attr('class', 'marker extension ' + e) + .attr('refX', 18) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 1,7 L18,13 V 1 Z'), + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-extensionEnd') + .attr('class', 'marker extension ' + e) + .attr('refX', 1) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 1,1 V 13 L18,7 Z'); + }, 'extension')), + (FSe = o((t, e, r) => { + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-compositionStart') + .attr('class', 'marker composition ' + e) + .attr('refX', 18) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'), + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-compositionEnd') + .attr('class', 'marker composition ' + e) + .attr('refX', 1) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'); + }, 'composition')), + (zSe = o((t, e, r) => { + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-aggregationStart') + .attr('class', 'marker aggregation ' + e) + .attr('refX', 18) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'), + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-aggregationEnd') + .attr('class', 'marker aggregation ' + e) + .attr('refX', 1) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'); + }, 'aggregation')), + (GSe = o((t, e, r) => { + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-dependencyStart') + .attr('class', 'marker dependency ' + e) + .attr('refX', 6) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 5,7 L9,13 L1,7 L9,1 Z'), + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-dependencyEnd') + .attr('class', 'marker dependency ' + e) + .attr('refX', 13) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L14,7 L9,1 Z'); + }, 'dependency')), + ($Se = o((t, e, r) => { + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-lollipopStart') + .attr('class', 'marker lollipop ' + e) + .attr('refX', 13) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('circle') + .attr('stroke', 'black') + .attr('fill', 'transparent') + .attr('cx', 7) + .attr('cy', 7) + .attr('r', 6), + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-lollipopEnd') + .attr('class', 'marker lollipop ' + e) + .attr('refX', 1) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('circle') + .attr('stroke', 'black') + .attr('fill', 'transparent') + .attr('cx', 7) + .attr('cy', 7) + .attr('r', 6); + }, 'lollipop')), + (VSe = o((t, e, r) => { + t + .append('marker') + .attr('id', r + '_' + e + '-pointEnd') + .attr('class', 'marker ' + e) + .attr('viewBox', '0 0 10 10') + .attr('refX', 5) + .attr('refY', 5) + .attr('markerUnits', 'userSpaceOnUse') + .attr('markerWidth', 8) + .attr('markerHeight', 8) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 0 0 L 10 5 L 0 10 z') + .attr('class', 'arrowMarkerPath') + .style('stroke-width', 1) + .style('stroke-dasharray', '1,0'), + t + .append('marker') + .attr('id', r + '_' + e + '-pointStart') + .attr('class', 'marker ' + e) + .attr('viewBox', '0 0 10 10') + .attr('refX', 4.5) + .attr('refY', 5) + .attr('markerUnits', 'userSpaceOnUse') + .attr('markerWidth', 8) + .attr('markerHeight', 8) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 0 5 L 10 10 L 10 0 z') + .attr('class', 'arrowMarkerPath') + .style('stroke-width', 1) + .style('stroke-dasharray', '1,0'); + }, 'point')), + (USe = o((t, e, r) => { + t + .append('marker') + .attr('id', r + '_' + e + '-circleEnd') + .attr('class', 'marker ' + e) + .attr('viewBox', '0 0 10 10') + .attr('refX', 11) + .attr('refY', 5) + .attr('markerUnits', 'userSpaceOnUse') + .attr('markerWidth', 11) + .attr('markerHeight', 11) + .attr('orient', 'auto') + .append('circle') + .attr('cx', '5') + .attr('cy', '5') + .attr('r', '5') + .attr('class', 'arrowMarkerPath') + .style('stroke-width', 1) + .style('stroke-dasharray', '1,0'), + t + .append('marker') + .attr('id', r + '_' + e + '-circleStart') + .attr('class', 'marker ' + e) + .attr('viewBox', '0 0 10 10') + .attr('refX', -1) + .attr('refY', 5) + .attr('markerUnits', 'userSpaceOnUse') + .attr('markerWidth', 11) + .attr('markerHeight', 11) + .attr('orient', 'auto') + .append('circle') + .attr('cx', '5') + .attr('cy', '5') + .attr('r', '5') + .attr('class', 'arrowMarkerPath') + .style('stroke-width', 1) + .style('stroke-dasharray', '1,0'); + }, 'circle')), + (HSe = o((t, e, r) => { + t + .append('marker') + .attr('id', r + '_' + e + '-crossEnd') + .attr('class', 'marker cross ' + e) + .attr('viewBox', '0 0 11 11') + .attr('refX', 12) + .attr('refY', 5.2) + .attr('markerUnits', 'userSpaceOnUse') + .attr('markerWidth', 11) + .attr('markerHeight', 11) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 1,1 l 9,9 M 10,1 l -9,9') + .attr('class', 'arrowMarkerPath') + .style('stroke-width', 2) + .style('stroke-dasharray', '1,0'), + t + .append('marker') + .attr('id', r + '_' + e + '-crossStart') + .attr('class', 'marker cross ' + e) + .attr('viewBox', '0 0 11 11') + .attr('refX', -1) + .attr('refY', 5.2) + .attr('markerUnits', 'userSpaceOnUse') + .attr('markerWidth', 11) + .attr('markerHeight', 11) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 1,1 l 9,9 M 10,1 l -9,9') + .attr('class', 'arrowMarkerPath') + .style('stroke-width', 2) + .style('stroke-dasharray', '1,0'); + }, 'cross')), + (YSe = o((t, e, r) => { + t.append('defs') + .append('marker') + .attr('id', r + '_' + e + '-barbEnd') + .attr('refX', 19) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 14) + .attr('markerUnits', 'userSpaceOnUse') + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 19,7 L9,13 L14,7 L9,1 Z'); + }, 'barb')), + (WSe = { + extension: BSe, + composition: FSe, + aggregation: zSe, + dependency: GSe, + lollipop: $Se, + point: VSe, + circle: USe, + cross: HSe, + barb: YSe + }), + (ew = PSe); + }); + var zr, + ar, + En, + ri = R(() => { + 'use strict'; + Al(); + _t(); + Zt(); + rr(); + xr(); + (zr = o(async (t, e, r) => { + let n, + i = e.useHtmlLabels || yr(de().flowchart.htmlLabels); + r ? (n = r) : (n = 'node default'); + let a = t + .insert('g') + .attr('class', n) + .attr('id', e.domId || e.id), + s = a.insert('g').attr('class', 'label').attr('style', e.labelStyle), + l; + e.label === void 0 ? (l = '') : (l = typeof e.label == 'string' ? e.label : e.label[0]); + let u; + u = await ta(s, qr(to(l), de()), { + useHtmlLabels: i, + width: e.width || de().flowchart.wrappingWidth, + cssClasses: 'markdown-node-label', + style: e.labelStyle + }); + let h = u.getBBox(), + f = e.padding / 2; + if (yr(de().flowchart.htmlLabels)) { + let d = u.children[0], + p = $e(u), + m = d.getElementsByTagName('img'); + if (m) { + let g = l.replace(/]*>/g, '').trim() === ''; + await Promise.all( + [...m].map( + (y) => + new Promise((v) => { + function x() { + if (((y.style.display = 'flex'), (y.style.flexDirection = 'column'), g)) { + let b = de().fontSize + ? de().fontSize + : window.getComputedStyle(document.body).fontSize, + S = parseInt(b, 10) * 5 + 'px'; + (y.style.minWidth = S), (y.style.maxWidth = S); + } else y.style.width = '100%'; + v(y); + } + o(x, 'setupImage'), + setTimeout(() => { + y.complete && x(); + }), + y.addEventListener('error', x), + y.addEventListener('load', x); + }) + ) + ); + } + (h = d.getBoundingClientRect()), p.attr('width', h.width), p.attr('height', h.height); + } + return ( + i + ? s.attr('transform', 'translate(' + -h.width / 2 + ', ' + -h.height / 2 + ')') + : s.attr('transform', 'translate(0, ' + -h.height / 2 + ')'), + e.centerLabel && s.attr('transform', 'translate(' + -h.width / 2 + ', ' + -h.height / 2 + ')'), + s.insert('rect', ':first-child'), + { shapeSvg: a, bbox: h, halfPadding: f, label: s } + ); + }, 'labelHelper')), + (ar = o((t, e) => { + let r = e.node().getBBox(); + (t.width = r.width), (t.height = r.height); + }, 'updateNodeBounds')), + (En = o( + (t, e) => (t.look === 'handDrawn' ? 'rough-node' : 'node') + ' ' + t.cssClasses + ' ' + (e || ''), + 'getNodeClasses' + )); + }); + function qSe(t, e) { + return t.intersect(e); + } + var cK, + uK = R(() => { + 'use strict'; + o(qSe, 'intersectNode'); + cK = qSe; + }); + function XSe(t, e, r, n) { + var i = t.x, + a = t.y, + s = i - n.x, + l = a - n.y, + u = Math.sqrt(e * e * l * l + r * r * s * s), + h = Math.abs((e * r * s) / u); + n.x < i && (h = -h); + var f = Math.abs((e * r * l) / u); + return n.y < a && (f = -f), { x: i + h, y: a + f }; + } + var tw, + Z9 = R(() => { + 'use strict'; + o(XSe, 'intersectEllipse'); + tw = XSe; + }); + function jSe(t, e, r) { + return tw(t, e, e, r); + } + var hK, + fK = R(() => { + 'use strict'; + Z9(); + o(jSe, 'intersectCircle'); + hK = jSe; + }); + function KSe(t, e, r, n) { + var i, a, s, l, u, h, f, d, p, m, g, y, v, x, b; + if ( + ((i = e.y - t.y), + (s = t.x - e.x), + (u = e.x * t.y - t.x * e.y), + (p = i * r.x + s * r.y + u), + (m = i * n.x + s * n.y + u), + !(p !== 0 && m !== 0 && dK(p, m)) && + ((a = n.y - r.y), + (l = r.x - n.x), + (h = n.x * r.y - r.x * n.y), + (f = a * t.x + l * t.y + h), + (d = a * e.x + l * e.y + h), + !(f !== 0 && d !== 0 && dK(f, d)) && ((g = i * l - a * s), g !== 0))) + ) + return ( + (y = Math.abs(g / 2)), + (v = s * h - l * u), + (x = v < 0 ? (v - y) / g : (v + y) / g), + (v = a * u - i * h), + (b = v < 0 ? (v - y) / g : (v + y) / g), + { x, y: b } + ); + } + function dK(t, e) { + return t * e > 0; + } + var pK, + mK = R(() => { + 'use strict'; + o(KSe, 'intersectLine'); + o(dK, 'sameSign'); + pK = KSe; + }); + function QSe(t, e, r) { + let n = t.x, + i = t.y, + a = [], + s = Number.POSITIVE_INFINITY, + l = Number.POSITIVE_INFINITY; + typeof e.forEach == 'function' + ? e.forEach(function (f) { + (s = Math.min(s, f.x)), (l = Math.min(l, f.y)); + }) + : ((s = Math.min(s, e.x)), (l = Math.min(l, e.y))); + let u = n - t.width / 2 - s, + h = i - t.height / 2 - l; + for (let f = 0; f < e.length; f++) { + let d = e[f], + p = e[f < e.length - 1 ? f + 1 : 0], + m = pK(t, r, { x: u + d.x, y: h + d.y }, { x: u + p.x, y: h + p.y }); + m && a.push(m); + } + return a.length + ? (a.length > 1 && + a.sort(function (f, d) { + let p = f.x - r.x, + m = f.y - r.y, + g = Math.sqrt(p * p + m * m), + y = d.x - r.x, + v = d.y - r.y, + x = Math.sqrt(y * y + v * v); + return g < x ? -1 : g === x ? 0 : 1; + }), + a[0]) + : t; + } + var gK, + yK = R(() => { + 'use strict'; + mK(); + o(QSe, 'intersectPolygon'); + gK = QSe; + }); + var sr, + hi = R(() => { + 'use strict'; + uK(); + fK(); + Z9(); + yK(); + q9(); + sr = { node: cK, circle: hK, ellipse: tw, polygon: gK, rect: Dd }; + }); + var Rd, + _v = R(() => { + 'use strict'; + ri(); + hi(); + Sv(); + ki(); + ti(); + Rd = o(async (t, e, r) => { + let { labelStyles: n, nodeStyles: i } = Br(e); + e.labelStyle = n; + let { shapeSvg: a, bbox: s } = await zr(t, e, En(e)), + l = Math.max(s.width + r.labelPaddingX * 2, e?.width || 0), + u = Math.max(s.height + r.labelPaddingY * 2, e?.height || 0), + h = -l / 2, + f = -u / 2, + d, + { rx: p, ry: m } = e, + { cssStyles: g } = e; + if ((r?.rx && r.ry && ((p = r.rx), (m = r.ry)), e.look === 'handDrawn')) { + let y = Jt.svg(a), + v = Fr(e, {}), + x = p || m ? y.path(_u(h, f, l, u, p || 0), v) : y.rectangle(h, f, l, u, v); + (d = a.insert(() => x, ':first-child')), d.attr('class', 'basic label-container').attr('style', g); + } else + (d = a.insert('rect', ':first-child')), + d + .attr('class', 'basic label-container') + .attr('style', i) + .attr('rx', p) + .attr('data-id', 'abc') + .attr('data-et', 'node') + .attr('ry', m) + .attr('x', h) + .attr('y', f) + .attr('width', l) + .attr('height', u); + return ( + ar(e, d), + (e.intersect = function (y) { + return sr.rect(e, y); + }), + a + ); + }, 'drawRect'); + }); + var vK, + xK = R(() => { + 'use strict'; + _v(); + vK = o(async (t, e) => Rd(t, e, { rx: 5, ry: 5, classes: 'flowchart-node' }), 'state'); + }); + var bK, + wK = R(() => { + 'use strict'; + _v(); + bK = o(async (t, e) => { + let r = { + rx: 5, + ry: 5, + classes: '', + labelPaddingX: (e?.padding || 0) * 1, + labelPaddingY: (e?.padding || 0) * 1 + }; + return Rd(t, e, r); + }, 'roundedRect'); + }); + var TK, + kK = R(() => { + 'use strict'; + _v(); + TK = o(async (t, e) => { + let r = { + rx: 0, + ry: 0, + classes: '', + labelPaddingX: (e?.padding || 0) * 2, + labelPaddingY: (e?.padding || 0) * 1 + }; + return Rd(t, e, r); + }, 'squareRect'); + }); + var EK, + CK = R(() => { + 'use strict'; + ri(); + hi(); + ti(); + ki(); + _t(); + EK = o((t, e) => { + let { themeVariables: r } = de(), + { lineColor: n } = r, + i = t + .insert('g') + .attr('class', 'node default') + .attr('id', e.domId || e.id), + a; + if (e.look === 'handDrawn') { + let l = Jt.svg(i).circle(0, 0, 14, Lu(n)); + a = i.insert(() => l); + } else a = i.insert('circle', ':first-child'); + return ( + a.attr('class', 'state-start').attr('r', 7).attr('width', 14).attr('height', 14), + ar(e, a), + (e.intersect = function (s) { + return sr.circle(e, 7, s); + }), + i + ); + }, 'stateStart'); + }); + var SK, + AK = R(() => { + 'use strict'; + ri(); + hi(); + ti(); + ki(); + _t(); + SK = o((t, e) => { + let { themeVariables: r } = de(), + { lineColor: n } = r, + i = t + .insert('g') + .attr('class', 'node default') + .attr('id', e.domId || e.id), + a, + s; + if (e.look === 'handDrawn') { + let l = Jt.svg(i), + u = l.circle(0, 0, 14, { ...Lu(n), roughness: 0.5 }), + h = l.circle(0, 0, 5, { ...Lu(n), fillStyle: 'solid' }); + (a = i.insert(() => u)), (s = i.insert(() => h)); + } else + (s = i.insert('circle', ':first-child')), + (a = i.insert('circle', ':first-child')), + a.attr('class', 'state-start').attr('r', 7).attr('width', 14).attr('height', 14), + s.attr('class', 'state-end').attr('r', 5).attr('width', 10).attr('height', 10); + return ( + ar(e, a), + (e.intersect = function (l) { + return sr.circle(e, 7, l); + }), + i + ); + }, 'stateEnd'); + }); + var J9, + _K = R(() => { + 'use strict'; + ri(); + hi(); + ti(); + ki(); + _t(); + J9 = o((t, e, r) => { + let { themeVariables: n } = de(), + { lineColor: i } = n, + a = t + .insert('g') + .attr('class', 'node default') + .attr('id', e.domId || e.id), + s = 70, + l = 10; + r === 'LR' && ((s = 10), (l = 70)); + let u = (-1 * s) / 2, + h = (-1 * l) / 2, + f; + if (e.look === 'handDrawn') { + let y = Jt.svg(a).rectangle(u, h, s, l, Lu(i)); + f = a.insert(() => y); + } else + f = a + .append('rect') + .attr('x', u) + .attr('y', h) + .attr('width', s) + .attr('height', l) + .attr('class', 'fork-join'); + ar(e, f); + let d = 0, + p = 0, + m = 10; + return ( + e.height && (d = e.height), + e.width && (p = e.width), + e.padding && (m = e.padding), + (e.height = d + m / 2), + (e.width = p + m / 2), + (e.intersect = function (g) { + return sr.rect(e, g); + }), + a + ); + }, 'forkJoin'); + }); + var LK, + DK = R(() => { + 'use strict'; + hi(); + ti(); + ki(); + _t(); + LK = o((t, e) => { + let { labelStyles: r, nodeStyles: n } = Br(e); + e.labelStyle = r; + let { themeVariables: i } = de(), + { lineColor: a } = i, + s = t + .insert('g') + .attr('class', 'node default') + .attr('id', e.domId || e.id), + l = 28, + u = [ + { x: 0, y: l / 2 }, + { x: l / 2, y: 0 }, + { x: 0, y: -l / 2 }, + { x: -l / 2, y: 0 } + ], + h; + if (e.look === 'handDrawn') { + let f = Jt.svg(s), + d = u.map(function (m) { + return [m.x, m.y]; + }), + p = f.polygon(d, Lu(a)); + h = s.insert(() => p); + } else + h = s.insert('polygon', ':first-child').attr( + 'points', + u + .map(function (f) { + return f.x + ',' + f.y; + }) + .join(' ') + ); + return ( + h.attr('class', 'state-start').attr('r', 7).attr('width', 28).attr('height', 28).attr('style', n), + (e.width = 28), + (e.height = 28), + (e.intersect = function (f) { + return sr.circle(e, 14, f); + }), + s + ); + }, 'choice'); + }); + var RK, + NK = R(() => { + 'use strict'; + ut(); + ri(); + hi(); + _t(); + ti(); + RK = o(async (t, e) => { + let { themeVariables: r, handDrawnSeed: n } = de(), + { noteBorderColor: i, noteBkgColor: a } = r; + e.useHtmlLabels || (e.centerLabel = !0); + let { shapeSvg: l, bbox: u } = await zr(t, e, 'node ' + e.cssClasses); + V.info('Classes = ', e.cssClasses); + let { cssStyles: h } = e, + f, + d = u.width + e.padding, + p = u.height + e.padding, + m = -d / 2, + g = -p / 2; + if (e.look === 'handDrawn') { + let v = Jt.svg(l).rectangle(m, g, d, p, { + roughness: 0.7, + fill: a, + fillWeight: 3, + seed: n, + stroke: i + }); + (f = l.insert(() => v, ':first-child')), f.attr('class', 'basic label-container').attr('style', h); + } else + (f = l.insert('rect', ':first-child')), + f + .attr('rx', e.rx) + .attr('ry', e.ry) + .attr('x', m) + .attr('y', g) + .attr('width', d) + .attr('height', p); + return ( + ar(e, f), + (e.intersect = function (y) { + return sr.rect(e, y); + }), + l + ); + }, 'note'); + }); + var MK, + IK = R(() => { + 'use strict'; + ri(); + hi(); + ki(); + ti(); + Sv(); + MK = o(async (t, e) => { + let { labelStyles: r, nodeStyles: n } = Br(e); + e.labelStyle = r; + let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)), + s = a.height + e.padding, + l = a.width + s / 4 + e.padding, + u, + { cssStyles: h } = e; + if (e.look === 'handDrawn') { + let f = Jt.svg(i), + d = Fr(e, {}), + p = _u(-l / 2, -s / 2, l, s, s / 2), + m = f.path(p, d); + (u = i.insert(() => m, ':first-child')), u.attr('class', 'basic label-container').attr('style', h); + } else + (u = i.insert('rect', ':first-child')), + u + .attr('class', 'basic label-container') + .attr('style', n) + .attr('rx', s / 2) + .attr('ry', s / 2) + .attr('x', -l / 2) + .attr('y', -s / 2) + .attr('width', l) + .attr('height', s); + return ( + ar(e, u), + (e.intersect = function (f) { + return sr.rect(e, f); + }), + i + ); + }, 'stadium'); + }); + var OK, + PK = R(() => { + 'use strict'; + Zt(); + rr(); + ri(); + H5(); + hi(); + ki(); + ti(); + _t(); + Sv(); + ut(); + OK = o(async (t, e) => { + let { labelStyles: r, nodeStyles: n } = Br(e); + e.labelStyle = r; + let i; + e.cssClasses ? (i = 'node ' + e.cssClasses) : (i = 'node default'); + let a = t + .insert('g') + .attr('class', i) + .attr('id', e.domId || e.id), + s = a.insert('g'), + l = a.insert('g').attr('class', 'label').attr('style', n), + u = e.description, + h = e.label, + f = l.node().appendChild(await gc(h, e.labelStyle, !0, !0)), + d = { width: 0, height: 0 }; + if (yr(de()?.flowchart?.htmlLabels)) { + let A = f.children[0], + L = $e(f); + (d = A.getBoundingClientRect()), L.attr('width', d.width), L.attr('height', d.height); + } + V.info('Text 2', u); + let p = u || [], + m = f.getBBox(), + g = l.node().appendChild(await gc(p.join ? p.join('
    ') : p, e.labelStyle, !0, !0)), + y = g.children[0], + v = $e(g); + (d = y.getBoundingClientRect()), v.attr('width', d.width), v.attr('height', d.height); + let x = (e.padding || 0) / 2; + $e(g).attr( + 'transform', + 'translate( ' + (d.width > m.width ? 0 : (m.width - d.width) / 2) + ', ' + (m.height + x + 5) + ')' + ), + $e(f).attr( + 'transform', + 'translate( ' + (d.width < m.width ? 0 : -(m.width - d.width) / 2) + ', 0)' + ), + (d = l.node().getBBox()), + l.attr('transform', 'translate(' + -d.width / 2 + ', ' + (-d.height / 2 - x + 3) + ')'); + let b = d.width + (e.padding || 0), + w = d.height + (e.padding || 0), + S = -d.width / 2 - x, + T = -d.height / 2 - x, + E, + _; + if (e.look === 'handDrawn') { + let A = Jt.svg(a), + L = Fr(e, {}), + M = A.path(_u(S, T, b, w, e.rx || 0), L), + N = A.line( + -d.width / 2 - x, + -d.height / 2 - x + m.height + x, + d.width / 2 + x, + -d.height / 2 - x + m.height + x, + L + ); + (_ = a.insert(() => (V.debug('Rough node insert CXC', M), N), ':first-child')), + (E = a.insert(() => (V.debug('Rough node insert CXC', M), M), ':first-child')); + } else + (E = s.insert('rect', ':first-child')), + (_ = s.insert('line')), + E.attr('class', 'outer title-state') + .attr('style', n) + .attr('x', -d.width / 2 - x) + .attr('y', -d.height / 2 - x) + .attr('width', d.width + (e.padding || 0)) + .attr('height', d.height + (e.padding || 0)), + _.attr('class', 'divider') + .attr('x1', -d.width / 2 - x) + .attr('x2', d.width / 2 + x) + .attr('y1', -d.height / 2 - x + m.height + x) + .attr('y2', -d.height / 2 - x + m.height + x); + return ( + ar(e, E), + (e.intersect = function (A) { + return sr.rect(e, A); + }), + a + ); + }, 'rectWithTitle'); + }); + function Ma(t, e, r, n) { + return t + .insert('polygon', ':first-child') + .attr( + 'points', + n + .map(function (i) { + return i.x + ',' + i.y; + }) + .join(' ') + ) + .attr('class', 'label-container') + .attr('transform', 'translate(' + -e / 2 + ',' + r / 2 + ')'); + } + var Du = R(() => { + 'use strict'; + o(Ma, 'insertPolygonShape'); + }); + var BK, + FK = R(() => { + 'use strict'; + ri(); + hi(); + ki(); + ti(); + Du(); + BK = o(async (t, e) => { + let { labelStyles: r, nodeStyles: n } = Br(e); + e.labelStyle = r; + let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)), + s = (e?.padding || 0) / 2, + l = a.width + e.padding, + u = a.height + e.padding, + h = -a.width / 2 - s, + f = -a.height / 2 - s, + d = [ + { x: 0, y: 0 }, + { x: l, y: 0 }, + { x: l, y: -u }, + { x: 0, y: -u }, + { x: 0, y: 0 }, + { x: -8, y: 0 }, + { x: l + 8, y: 0 }, + { x: l + 8, y: -u }, + { x: -8, y: -u }, + { x: -8, y: 0 } + ]; + if (e.look === 'handDrawn') { + let p = Jt.svg(i), + m = Fr(e, {}), + g = p.rectangle(h - 8, f, l + 16, u, m), + y = p.line(h, f, h, f + u, m), + v = p.line(h + l, f, h + l, f + u, m); + i.insert(() => y, ':first-child'), i.insert(() => v, ':first-child'); + let x = i.insert(() => g, ':first-child'), + { cssStyles: b } = e; + x.attr('class', 'basic label-container').attr('style', b), ar(e, x); + } else { + let p = Ma(i, l, u, d); + n && p.attr('style', n), ar(e, p); + } + return ( + (e.intersect = function (p) { + return sr.polygon(e, d, p); + }), + i + ); + }, 'subroutine'); + }); + var ZSe, + JSe, + eAe, + zK, + GK = R(() => { + 'use strict'; + ri(); + hi(); + ki(); + ti(); + (ZSe = o( + (t, e, r, n, i, a) => + [ + `M${t},${e + a}`, + `a${i},${a} 0,0,0 ${r},0`, + `a${i},${a} 0,0,0 ${-r},0`, + `l0,${n}`, + `a${i},${a} 0,0,0 ${r},0`, + `l0,${-n}` + ].join(' '), + 'createCylinderPathD' + )), + (JSe = o( + (t, e, r, n, i, a) => + [ + `M${t},${e + a}`, + `M${t + r},${e + a}`, + `a${i},${a} 0,0,0 ${-r},0`, + `l0,${n}`, + `a${i},${a} 0,0,0 ${r},0`, + `l0,${-n}` + ].join(' '), + 'createOuterCylinderPathD' + )), + (eAe = o( + (t, e, r, n, i, a) => [`M${t - r / 2},${-n / 2}`, `a${i},${a} 0,0,0 ${r},0`].join(' '), + 'createInnerCylinderPathD' + )), + (zK = o(async (t, e) => { + let { labelStyles: r, nodeStyles: n } = Br(e); + e.labelStyle = r; + let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)), + s = a.width + e.padding, + l = s / 2, + u = l / (2.5 + s / 50), + h = a.height + u + e.padding, + f, + { cssStyles: d } = e; + if (e.look === 'handDrawn') { + let p = Jt.svg(i), + m = JSe(0, 0, s, h, l, u), + g = eAe(0, u, s, h, l, u), + y = p.path(m, Fr(e, {})), + v = p.path(g, Fr(e, { fill: 'none' })); + (f = i.insert(() => v, ':first-child')), + (f = i.insert(() => y, ':first-child')), + f.attr('class', 'basic label-container'), + d && f.attr('style', d); + } else { + let p = ZSe(0, 0, s, h, l, u); + f = i + .insert('path', ':first-child') + .attr('d', p) + .attr('class', 'basic label-container') + .attr('style', d) + .attr('style', n); + } + return ( + f.attr('label-offset-y', u), + f.attr('transform', `translate(${-s / 2}, ${-(h / 2 + u)})`), + ar(e, f), + (e.intersect = function (p) { + let m = sr.rect(e, p), + g = m.x - (e.x ?? 0); + if ( + l != 0 && + (Math.abs(g) < (e.width ?? 0) / 2 || + (Math.abs(g) == (e.width ?? 0) / 2 && + Math.abs(m.y - (e.y ?? 0)) > (e.height ?? 0) / 2 - u)) + ) { + let y = u * u * (1 - (g * g) / (l * l)); + y > 0 && (y = Math.sqrt(y)), (y = u - y), p.y - (e.y ?? 0) > 0 && (y = -y), (m.y += y); + } + return m; + }), + i + ); + }, 'cylinder')); + }); + var $K, + VK = R(() => { + 'use strict'; + ut(); + ri(); + hi(); + ki(); + ti(); + $K = o(async (t, e) => { + let { labelStyles: r, nodeStyles: n } = Br(e); + e.labelStyle = r; + let { shapeSvg: i, bbox: a, halfPadding: s } = await zr(t, e, En(e)), + l = a.width / 2 + s, + u, + { cssStyles: h } = e; + if (e.look === 'handDrawn') { + let f = Jt.svg(i), + d = Fr(e, {}), + p = f.circle(0, 0, l * 2, d); + (u = i.insert(() => p, ':first-child')), u.attr('class', 'basic label-container').attr('style', h); + } else + u = i + .insert('circle', ':first-child') + .attr('class', 'basic label-container') + .attr('style', n) + .attr('r', l) + .attr('cx', 0) + .attr('cy', 0); + return ( + ar(e, u), + (e.intersect = function (f) { + return V.info('Circle intersect', e, l, f), sr.circle(e, l, f); + }), + i + ); + }, 'circle'); + }); + var UK, + HK = R(() => { + 'use strict'; + ut(); + ri(); + hi(); + ki(); + ti(); + UK = o(async (t, e) => { + let { labelStyles: r, nodeStyles: n } = Br(e); + e.labelStyle = r; + let { shapeSvg: i, bbox: a, halfPadding: s } = await zr(t, e, En(e)), + u = a.width / 2 + s + 5, + h = a.width / 2 + s, + f, + { cssStyles: d } = e; + if (e.look === 'handDrawn') { + let p = Jt.svg(i), + m = Fr(e, { roughness: 0.2, strokeWidth: 2.5 }), + g = Fr(e, { roughness: 0.2, strokeWidth: 1.5 }), + y = p.circle(0, 0, u * 2, m), + v = p.circle(0, 0, h * 2, g); + (f = i.insert('g', ':first-child')), + f.attr('class', e.cssClasses).attr('style', d), + f.node()?.appendChild(y), + f.node()?.appendChild(v); + } else { + f = i.insert('g', ':first-child'); + let p = f.insert('circle', ':first-child'), + m = f.insert('circle'); + f.attr('class', 'basic label-container').attr('style', n), + p.attr('class', 'outer-circle').attr('style', n).attr('r', u).attr('cx', 0).attr('cy', 0), + m.attr('class', 'inner-circle').attr('style', n).attr('r', h).attr('cx', 0).attr('cy', 0); + } + return ( + ar(e, f), + (e.intersect = function (p) { + return V.info('DoubleCircle intersect', e, u, p), sr.circle(e, u, p); + }), + i + ); + }, 'doublecircle'); + }); + var tAe, + YK, + WK = R(() => { + 'use strict'; + ri(); + hi(); + ki(); + ti(); + Du(); + (tAe = o( + (t, e, r, n) => + [ + `M${t - n / 2},${e}`, + `L${t + r},${e}`, + `L${t + r},${e - n}`, + `L${t - n / 2},${e - n}`, + `L${t},${e - n / 2}`, + 'Z' + ].join(' '), + 'createPolygonPathD' + )), + (YK = o(async (t, e) => { + let { labelStyles: r, nodeStyles: n } = Br(e); + e.labelStyle = r; + let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)), + s = a.width + e.padding, + l = a.height + e.padding, + u = [ + { x: -l / 2, y: 0 }, + { x: s, y: 0 }, + { x: s, y: -l }, + { x: -l / 2, y: -l }, + { x: 0, y: -l / 2 } + ], + h, + { cssStyles: f } = e; + if (e.look === 'handDrawn') { + let d = Jt.svg(i), + p = Fr(e, {}), + m = tAe(0, 0, s, l), + g = d.path(m, p); + (h = i.insert(() => g, ':first-child').attr('transform', `translate(${-s / 2}, ${l / 2})`)), + f && h.attr('style', f); + } else h = Ma(i, s, l, u); + return ( + n && h.attr('style', n), + (e.width = s + l), + (e.height = l), + ar(e, h), + (e.intersect = function (d) { + return sr.polygon(e, u, d); + }), + i + ); + }, 'rect_left_inv_arrow')); + }); + var rAe, + qK, + XK = R(() => { + 'use strict'; + ut(); + ri(); + hi(); + ki(); + ti(); + Du(); + (rAe = o( + (t, e, r) => + [ + `M${t + r / 2},${e}`, + `L${t + r},${e - r / 2}`, + `L${t + r / 2},${e - r}`, + `L${t},${e - r / 2}`, + 'Z' + ].join(' '), + 'createDecisionBoxPathD' + )), + (qK = o(async (t, e) => { + let { labelStyles: r, nodeStyles: n } = Br(e); + e.labelStyle = r; + let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)), + s = a.width + e.padding, + l = a.height + e.padding, + u = s + l, + h = [ + { x: u / 2, y: 0 }, + { x: u, y: -u / 2 }, + { x: u / 2, y: -u }, + { x: 0, y: -u / 2 } + ], + f, + { cssStyles: d } = e; + if (e.look === 'handDrawn') { + let p = Jt.svg(i), + m = Fr(e, {}), + g = rAe(0, 0, u), + y = p.path(g, m); + (f = i.insert(() => y, ':first-child').attr('transform', `translate(${-u / 2}, ${u / 2})`)), + d && f.attr('style', d); + } else f = Ma(i, u, u, h); + return ( + n && f.attr('style', n), + ar(e, f), + (e.intersect = function (p) { + return ( + V.debug( + `APA12 Intersect called SPLIT +point:`, + p, + ` +node: +`, + e, + ` +res:`, + sr.polygon(e, h, p) + ), + sr.polygon(e, h, p) + ); + }), + i + ); + }, 'question')); + }); + var nAe, + jK, + KK = R(() => { + 'use strict'; + ri(); + hi(); + ki(); + ti(); + Du(); + (nAe = o( + (t, e, r, n, i) => + [ + `M${t + i},${e}`, + `L${t + r - i},${e}`, + `L${t + r},${e - n / 2}`, + `L${t + r - i},${e - n}`, + `L${t + i},${e - n}`, + `L${t},${e - n / 2}`, + 'Z' + ].join(' '), + 'createHexagonPathD' + )), + (jK = o(async (t, e) => { + let { labelStyles: r, nodeStyles: n } = Br(e); + e.labelStyle = r; + let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)), + s = 4, + l = a.height + e.padding, + u = l / s, + h = a.width + 2 * u + e.padding, + f = [ + { x: u, y: 0 }, + { x: h - u, y: 0 }, + { x: h, y: -l / 2 }, + { x: h - u, y: -l }, + { x: u, y: -l }, + { x: 0, y: -l / 2 } + ], + d, + { cssStyles: p } = e; + if (e.look === 'handDrawn') { + let m = Jt.svg(i), + g = Fr(e, {}), + y = nAe(0, 0, h, l, u), + v = m.path(y, g); + (d = i.insert(() => v, ':first-child').attr('transform', `translate(${-h / 2}, ${l / 2})`)), + p && d.attr('style', p); + } else d = Ma(i, h, l, f); + return ( + n && d.attr('style', n), + (e.width = h), + (e.height = l), + ar(e, d), + (e.intersect = function (m) { + return sr.polygon(e, f, m); + }), + i + ); + }, 'hexagon')); + }); + var iAe, + QK, + ZK = R(() => { + 'use strict'; + ri(); + hi(); + ki(); + ti(); + Du(); + (iAe = o( + (t, e, r, n) => + [ + `M${t - (2 * n) / 6},${e}`, + `L${t + r - n / 6},${e}`, + `L${t + r + (2 * n) / 6},${e - n}`, + `L${t + n / 6},${e - n}`, + 'Z' + ].join(' '), + 'createLeanRightPathD' + )), + (QK = o(async (t, e) => { + let { labelStyles: r, nodeStyles: n } = Br(e); + e.labelStyle = r; + let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)), + s = a.width + e.padding, + l = a.height + e.padding, + u = [ + { x: (-2 * l) / 6, y: 0 }, + { x: s - l / 6, y: 0 }, + { x: s + (2 * l) / 6, y: -l }, + { x: l / 6, y: -l } + ], + h, + { cssStyles: f } = e; + if (e.look === 'handDrawn') { + let d = Jt.svg(i), + p = Fr(e, {}), + m = iAe(0, 0, s, l), + g = d.path(m, p); + (h = i.insert(() => g, ':first-child').attr('transform', `translate(${-s / 2}, ${l / 2})`)), + f && h.attr('style', f); + } else h = Ma(i, s, l, u); + return ( + n && h.attr('style', n), + (e.width = s), + (e.height = l), + ar(e, h), + (e.intersect = function (d) { + return sr.polygon(e, u, d); + }), + i + ); + }, 'lean_right')); + }); + var aAe, + JK, + eQ = R(() => { + 'use strict'; + ri(); + hi(); + ki(); + ti(); + Du(); + (aAe = o( + (t, e, r, n) => + [ + `M${t + (2 * n) / 6},${e}`, + `L${t + r + n / 6},${e}`, + `L${t + r - (2 * n) / 6},${e - n}`, + `L${t - n / 6},${e - n}`, + 'Z' + ].join(' '), + 'createLeanLeftPathD' + )), + (JK = o(async (t, e) => { + let { labelStyles: r, nodeStyles: n } = Br(e); + e.labelStyle = r; + let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)), + s = a.width + e.padding, + l = a.height + e.padding, + u = [ + { x: (2 * l) / 6, y: 0 }, + { x: s + l / 6, y: 0 }, + { x: s - (2 * l) / 6, y: -l }, + { x: -l / 6, y: -l } + ], + h, + { cssStyles: f } = e; + if (e.look === 'handDrawn') { + let d = Jt.svg(i), + p = Fr(e, {}), + m = aAe(0, 0, s, l), + g = d.path(m, p); + (h = i.insert(() => g, ':first-child').attr('transform', `translate(${-s / 2}, ${l / 2})`)), + f && h.attr('style', f); + } else h = Ma(i, s, l, u); + return ( + n && h.attr('style', n), + (e.width = s), + (e.height = l), + ar(e, h), + (e.intersect = function (d) { + return sr.polygon(e, u, d); + }), + i + ); + }, 'lean_left')); + }); + var sAe, + tQ, + rQ = R(() => { + 'use strict'; + ri(); + hi(); + ki(); + ti(); + Du(); + (sAe = o( + (t, e, r, n) => + [ + `M${t - (2 * n) / 6},${e}`, + `L${t + r + (2 * n) / 6},${e}`, + `L${t + r - n / 6},${e - n}`, + `L${t + n / 6},${e - n}`, + 'Z' + ].join(' '), + 'createTrapezoidPathD' + )), + (tQ = o(async (t, e) => { + let { labelStyles: r, nodeStyles: n } = Br(e); + e.labelStyle = r; + let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)), + s = a.width + e.padding, + l = a.height + e.padding, + u = [ + { x: (-2 * l) / 6, y: 0 }, + { x: s + (2 * l) / 6, y: 0 }, + { x: s - l / 6, y: -l }, + { x: l / 6, y: -l } + ], + h, + { cssStyles: f } = e; + if (e.look === 'handDrawn') { + let d = Jt.svg(i), + p = Fr(e, {}), + m = sAe(0, 0, s, l), + g = d.path(m, p); + (h = i.insert(() => g, ':first-child').attr('transform', `translate(${-s / 2}, ${l / 2})`)), + f && h.attr('style', f); + } else h = Ma(i, s, l, u); + return ( + n && h.attr('style', n), + (e.width = s), + (e.height = l), + ar(e, h), + (e.intersect = function (d) { + return sr.polygon(e, u, d); + }), + i + ); + }, 'trapezoid')); + }); + var oAe, + nQ, + iQ = R(() => { + 'use strict'; + ri(); + hi(); + ki(); + ti(); + Du(); + (oAe = o( + (t, e, r, n) => + [ + `M${t + n / 6},${e}`, + `L${t + r - n / 6},${e}`, + `L${t + r + (2 * n) / 6},${e - n}`, + `L${t - (2 * n) / 6},${e - n}`, + 'Z' + ].join(' '), + 'createInvertedTrapezoidPathD' + )), + (nQ = o(async (t, e) => { + let { labelStyles: r, nodeStyles: n } = Br(e); + e.labelStyle = r; + let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)), + s = a.width + e.padding, + l = a.height + e.padding, + u = [ + { x: l / 6, y: 0 }, + { x: s - l / 6, y: 0 }, + { x: s + (2 * l) / 6, y: -l }, + { x: (-2 * l) / 6, y: -l } + ], + h, + { cssStyles: f } = e; + if (e.look === 'handDrawn') { + let d = Jt.svg(i), + p = Fr(e, {}), + m = oAe(0, 0, s, l), + g = d.path(m, p); + (h = i.insert(() => g, ':first-child').attr('transform', `translate(${-s / 2}, ${l / 2})`)), + f && h.attr('style', f); + } else h = Ma(i, s, l, u); + return ( + n && h.attr('style', n), + (e.width = s), + (e.height = l), + ar(e, h), + (e.intersect = function (d) { + return sr.polygon(e, u, d); + }), + i + ); + }, 'inv_trapezoid')); + }); + var aQ, + sQ = R(() => { + 'use strict'; + _v(); + ri(); + hi(); + aQ = o(async (t, e) => { + let { shapeSvg: r } = await zr(t, e, 'label'), + n = r.insert('rect', ':first-child'); + return ( + n.attr('width', 0.1).attr('height', 0.1), + r.attr('class', 'label edgeLabel'), + ar(e, n), + (e.intersect = function (s) { + return sr.rect(e, s); + }), + r + ); + }, 'labelRect'); + }); + var oQ, + ym, + rw, + lQ, + cQ, + eL, + tL = R(() => { + 'use strict'; + ut(); + xK(); + wK(); + kK(); + CK(); + AK(); + _K(); + DK(); + NK(); + IK(); + PK(); + _t(); + FK(); + GK(); + VK(); + HK(); + WK(); + XK(); + KK(); + ZK(); + eQ(); + rQ(); + iQ(); + sQ(); + (oQ = { + state: vK, + stateStart: EK, + stateEnd: SK, + fork: J9, + join: J9, + choice: LK, + note: RK, + roundedRect: bK, + rectWithTitle: OK, + squareRect: TK, + stadium: MK, + subroutine: BK, + cylinder: zK, + circle: $K, + doublecircle: UK, + odd: YK, + diamond: qK, + hexagon: jK, + lean_right: QK, + lean_left: JK, + trapezoid: tQ, + inv_trapezoid: nQ, + labelRect: aQ + }), + (ym = new Map()), + (rw = o(async (t, e, r) => { + let n, i; + if ( + (e.shape === 'rect' && (e.rx && e.ry ? (e.shape = 'roundedRect') : (e.shape = 'squareRect')), + e.link) + ) { + let a; + de().securityLevel === 'sandbox' + ? (a = '_top') + : e.linkTarget && (a = e.linkTarget || '_blank'), + (n = t.insert('svg:a').attr('xlink:href', e.link).attr('target', a)), + (i = await oQ[e.shape](n, e, r)); + } else (i = await oQ[e.shape](t, e, r)), (n = i); + return ( + e.tooltip && i.attr('title', e.tooltip), + ym.set(e.id, n), + e.haveCallback && ym.get(e.id).attr('class', ym.get(e.id).attr('class') + ' clickable'), + n + ); + }, 'insertNode')), + (lQ = o((t, e) => { + ym.set(e.id, t); + }, 'setNodeElem')), + (cQ = o(() => { + ym.clear(); + }, 'clear')), + (eL = o((t) => { + let e = ym.get(t.id); + V.trace( + 'Transforming node', + t.diff, + t, + 'translate(' + (t.x - t.width / 2 - 5) + ', ' + t.width / 2 + ')' + ); + let r = 8, + n = t.diff || 0; + return ( + t.clusterNode + ? e.attr( + 'transform', + 'translate(' + (t.x + n - t.width / 2) + ', ' + (t.y - t.height / 2 - r) + ')' + ) + : e.attr('transform', 'translate(' + t.x + ', ' + t.y + ')'), + n + ); + }, 'positionNode')); + }); + var uQ, + hQ = R(() => { + 'use strict'; + qs(); + rr(); + ut(); + X9(); + K9(); + Q9(); + tL(); + ri(); + xr(); + uQ = { + common: We, + getConfig: Or, + insertCluster: Y5, + insertEdge: J5, + insertEdgeLabel: Q5, + insertMarkers: ew, + insertNode: rw, + interpolateToCurve: om, + labelHelper: zr, + log: V, + positionEdgeLabel: Z5 + }; + }); + function cAe(t) { + return typeof t == 'symbol' || (Wn(t) && fa(t) == lAe); + } + var lAe, + so, + Nd = R(() => { + 'use strict'; + wu(); + Mo(); + lAe = '[object Symbol]'; + o(cAe, 'isSymbol'); + so = cAe; + }); + function uAe(t, e) { + for (var r = -1, n = t == null ? 0 : t.length, i = Array(n); ++r < n; ) i[r] = e(t[r], r, t); + return i; + } + var Ss, + Md = R(() => { + 'use strict'; + o(uAe, 'arrayMap'); + Ss = uAe; + }); + function pQ(t) { + if (typeof t == 'string') return t; + if (wt(t)) return Ss(t, pQ) + ''; + if (so(t)) return dQ ? dQ.call(t) : ''; + var e = t + ''; + return e == '0' && 1 / t == -hAe ? '-0' : e; + } + var hAe, + fQ, + dQ, + mQ, + gQ = R(() => { + 'use strict'; + vd(); + Md(); + Bn(); + Nd(); + (hAe = 1 / 0), (fQ = Ji ? Ji.prototype : void 0), (dQ = fQ ? fQ.toString : void 0); + o(pQ, 'baseToString'); + mQ = pQ; + }); + function dAe(t) { + for (var e = t.length; e-- && fAe.test(t.charAt(e)); ); + return e; + } + var fAe, + yQ, + vQ = R(() => { + 'use strict'; + fAe = /\s/; + o(dAe, 'trimmedEndIndex'); + yQ = dAe; + }); + function mAe(t) { + return t && t.slice(0, yQ(t) + 1).replace(pAe, ''); + } + var pAe, + xQ, + bQ = R(() => { + 'use strict'; + vQ(); + pAe = /^\s+/; + o(mAe, 'baseTrim'); + xQ = mAe; + }); + function bAe(t) { + if (typeof t == 'number') return t; + if (so(t)) return wQ; + if (pn(t)) { + var e = typeof t.valueOf == 'function' ? t.valueOf() : t; + t = pn(e) ? e + '' : e; + } + if (typeof t != 'string') return t === 0 ? t : +t; + t = xQ(t); + var r = yAe.test(t); + return r || vAe.test(t) ? xAe(t.slice(2), r ? 2 : 8) : gAe.test(t) ? wQ : +t; + } + var wQ, + gAe, + yAe, + vAe, + xAe, + TQ, + kQ = R(() => { + 'use strict'; + bQ(); + Js(); + Nd(); + (wQ = NaN), (gAe = /^[-+]0x[0-9a-f]+$/i), (yAe = /^0b[01]+$/i), (vAe = /^0o[0-7]+$/i), (xAe = parseInt); + o(bAe, 'toNumber'); + TQ = bAe; + }); + function TAe(t) { + if (!t) return t === 0 ? t : 0; + if (((t = TQ(t)), t === EQ || t === -EQ)) { + var e = t < 0 ? -1 : 1; + return e * wAe; + } + return t === t ? t : 0; + } + var EQ, + wAe, + vm, + rL = R(() => { + 'use strict'; + kQ(); + (EQ = 1 / 0), (wAe = 17976931348623157e292); + o(TAe, 'toFinite'); + vm = TAe; + }); + function kAe(t) { + var e = vm(t), + r = e % 1; + return e === e ? (r ? e - r : e) : 0; + } + var yc, + xm = R(() => { + 'use strict'; + rL(); + o(kAe, 'toInteger'); + yc = kAe; + }); + var EAe, + nw, + CQ = R(() => { + 'use strict'; + Nh(); + Ro(); + (EAe = xs(Jn, 'WeakMap')), (nw = EAe); + }); + function CAe() {} + var qn, + nL = R(() => { + 'use strict'; + o(CAe, 'noop'); + qn = CAe; + }); + function SAe(t, e) { + for (var r = -1, n = t == null ? 0 : t.length; ++r < n && e(t[r], r, t) !== !1; ); + return t; + } + var iw, + iL = R(() => { + 'use strict'; + o(SAe, 'arrayEach'); + iw = SAe; + }); + function AAe(t, e, r, n) { + for (var i = t.length, a = r + (n ? 1 : -1); n ? a-- : ++a < i; ) if (e(t[a], a, t)) return a; + return -1; + } + var aw, + aL = R(() => { + 'use strict'; + o(AAe, 'baseFindIndex'); + aw = AAe; + }); + function _Ae(t) { + return t !== t; + } + var SQ, + AQ = R(() => { + 'use strict'; + o(_Ae, 'baseIsNaN'); + SQ = _Ae; + }); + function LAe(t, e, r) { + for (var n = r - 1, i = t.length; ++n < i; ) if (t[n] === e) return n; + return -1; + } + var _Q, + LQ = R(() => { + 'use strict'; + o(LAe, 'strictIndexOf'); + _Q = LAe; + }); + function DAe(t, e, r) { + return e === e ? _Q(t, e, r) : aw(t, SQ, r); + } + var bm, + sw = R(() => { + 'use strict'; + aL(); + AQ(); + LQ(); + o(DAe, 'baseIndexOf'); + bm = DAe; + }); + function RAe(t, e) { + var r = t == null ? 0 : t.length; + return !!r && bm(t, e, 0) > -1; + } + var ow, + sL = R(() => { + 'use strict'; + sw(); + o(RAe, 'arrayIncludes'); + ow = RAe; + }); + var NAe, + DQ, + RQ = R(() => { + 'use strict'; + F_(); + (NAe = s5(Object.keys, Object)), (DQ = NAe); + }); + function OAe(t) { + if (!fc(t)) return DQ(t); + var e = []; + for (var r in Object(t)) IAe.call(t, r) && r != 'constructor' && e.push(r); + return e; + } + var MAe, + IAe, + wm, + lw = R(() => { + 'use strict'; + tm(); + RQ(); + (MAe = Object.prototype), (IAe = MAe.hasOwnProperty); + o(OAe, 'baseKeys'); + wm = OAe; + }); + function PAe(t) { + return ei(t) ? h5(t) : wm(t); + } + var Dr, + vc = R(() => { + 'use strict'; + U_(); + lw(); + Io(); + o(PAe, 'keys'); + Dr = PAe; + }); + var BAe, + FAe, + zAe, + pa, + NQ = R(() => { + 'use strict'; + am(); + kd(); + q_(); + Io(); + tm(); + vc(); + (BAe = Object.prototype), + (FAe = BAe.hasOwnProperty), + (zAe = p5(function (t, e) { + if (fc(e) || ei(e)) { + Bo(e, Dr(e), t); + return; + } + for (var r in e) FAe.call(e, r) && dc(t, r, e[r]); + })), + (pa = zAe); + }); + function VAe(t, e) { + if (wt(t)) return !1; + var r = typeof t; + return r == 'number' || r == 'symbol' || r == 'boolean' || t == null || so(t) + ? !0 + : $Ae.test(t) || !GAe.test(t) || (e != null && t in Object(e)); + } + var GAe, + $Ae, + Tm, + cw = R(() => { + 'use strict'; + Bn(); + Nd(); + (GAe = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/), ($Ae = /^\w*$/); + o(VAe, 'isKey'); + Tm = VAe; + }); + function HAe(t) { + var e = qp(t, function (n) { + return r.size === UAe && r.clear(), n; + }), + r = e.cache; + return e; + } + var UAe, + MQ, + IQ = R(() => { + 'use strict'; + R_(); + UAe = 500; + o(HAe, 'memoizeCapped'); + MQ = HAe; + }); + var YAe, + WAe, + qAe, + OQ, + PQ = R(() => { + 'use strict'; + IQ(); + (YAe = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g), + (WAe = /\\(\\)?/g), + (qAe = MQ(function (t) { + var e = []; + return ( + t.charCodeAt(0) === 46 && e.push(''), + t.replace(YAe, function (r, n, i, a) { + e.push(i ? a.replace(WAe, '$1') : n || r); + }), + e + ); + })), + (OQ = qAe); + }); + function XAe(t) { + return t == null ? '' : mQ(t); + } + var uw, + oL = R(() => { + 'use strict'; + gQ(); + o(XAe, 'toString'); + uw = XAe; + }); + function jAe(t, e) { + return wt(t) ? t : Tm(t, e) ? [t] : OQ(uw(t)); + } + var Hh, + Lv = R(() => { + 'use strict'; + Bn(); + cw(); + PQ(); + oL(); + o(jAe, 'castPath'); + Hh = jAe; + }); + function QAe(t) { + if (typeof t == 'string' || so(t)) return t; + var e = t + ''; + return e == '0' && 1 / t == -KAe ? '-0' : e; + } + var KAe, + xc, + km = R(() => { + 'use strict'; + Nd(); + KAe = 1 / 0; + o(QAe, 'toKey'); + xc = QAe; + }); + function ZAe(t, e) { + e = Hh(e, t); + for (var r = 0, n = e.length; t != null && r < n; ) t = t[xc(e[r++])]; + return r && r == n ? t : void 0; + } + var Yh, + Dv = R(() => { + 'use strict'; + Lv(); + km(); + o(ZAe, 'baseGet'); + Yh = ZAe; + }); + function JAe(t, e, r) { + var n = t == null ? void 0 : Yh(t, e); + return n === void 0 ? r : n; + } + var BQ, + FQ = R(() => { + 'use strict'; + Dv(); + o(JAe, 'get'); + BQ = JAe; + }); + function e8e(t, e) { + for (var r = -1, n = e.length, i = t.length; ++r < n; ) t[i + r] = e[r]; + return t; + } + var Em, + hw = R(() => { + 'use strict'; + o(e8e, 'arrayPush'); + Em = e8e; + }); + function t8e(t) { + return wt(t) || kl(t) || !!(zQ && t && t[zQ]); + } + var zQ, + GQ, + $Q = R(() => { + 'use strict'; + vd(); + rm(); + Bn(); + zQ = Ji ? Ji.isConcatSpreadable : void 0; + o(t8e, 'isFlattenable'); + GQ = t8e; + }); + function VQ(t, e, r, n, i) { + var a = -1, + s = t.length; + for (r || (r = GQ), i || (i = []); ++a < s; ) { + var l = t[a]; + e > 0 && r(l) ? (e > 1 ? VQ(l, e - 1, r, n, i) : Em(i, l)) : n || (i[i.length] = l); + } + return i; + } + var bc, + Cm = R(() => { + 'use strict'; + hw(); + $Q(); + o(VQ, 'baseFlatten'); + bc = VQ; + }); + function r8e(t) { + var e = t == null ? 0 : t.length; + return e ? bc(t, 1) : []; + } + var Gr, + fw = R(() => { + 'use strict'; + Cm(); + o(r8e, 'flatten'); + Gr = r8e; + }); + function n8e(t) { + return d5(f5(t, void 0, Gr), t + ''); + } + var UQ, + HQ = R(() => { + 'use strict'; + fw(); + H_(); + W_(); + o(n8e, 'flatRest'); + UQ = n8e; + }); + function i8e(t, e, r) { + var n = -1, + i = t.length; + e < 0 && (e = -e > i ? 0 : i + e), + (r = r > i ? i : r), + r < 0 && (r += i), + (i = e > r ? 0 : (r - e) >>> 0), + (e >>>= 0); + for (var a = Array(i); ++n < i; ) a[n] = t[n + e]; + return a; + } + var dw, + lL = R(() => { + 'use strict'; + o(i8e, 'baseSlice'); + dw = i8e; + }); + function d8e(t) { + return f8e.test(t); + } + var a8e, + s8e, + o8e, + l8e, + c8e, + u8e, + h8e, + f8e, + YQ, + WQ = R(() => { + 'use strict'; + (a8e = '\\ud800-\\udfff'), + (s8e = '\\u0300-\\u036f'), + (o8e = '\\ufe20-\\ufe2f'), + (l8e = '\\u20d0-\\u20ff'), + (c8e = s8e + o8e + l8e), + (u8e = '\\ufe0e\\ufe0f'), + (h8e = '\\u200d'), + (f8e = RegExp('[' + h8e + a8e + c8e + u8e + ']')); + o(d8e, 'hasUnicode'); + YQ = d8e; + }); + function p8e(t, e, r, n) { + var i = -1, + a = t == null ? 0 : t.length; + for (n && a && (r = t[++i]); ++i < a; ) r = e(r, t[i], i, t); + return r; + } + var qQ, + XQ = R(() => { + 'use strict'; + o(p8e, 'arrayReduce'); + qQ = p8e; + }); + function m8e(t, e) { + return t && Bo(e, Dr(e), t); + } + var jQ, + KQ = R(() => { + 'use strict'; + kd(); + vc(); + o(m8e, 'baseAssign'); + jQ = m8e; + }); + function g8e(t, e) { + return t && Bo(e, bs(e), t); + } + var QQ, + ZQ = R(() => { + 'use strict'; + kd(); + zh(); + o(g8e, 'baseAssignIn'); + QQ = g8e; + }); + function y8e(t, e) { + for (var r = -1, n = t == null ? 0 : t.length, i = 0, a = []; ++r < n; ) { + var s = t[r]; + e(s, r, t) && (a[i++] = s); + } + return a; + } + var Sm, + pw = R(() => { + 'use strict'; + o(y8e, 'arrayFilter'); + Sm = y8e; + }); + function v8e() { + return []; + } + var mw, + cL = R(() => { + 'use strict'; + o(v8e, 'stubArray'); + mw = v8e; + }); + var x8e, + b8e, + JQ, + w8e, + Am, + gw = R(() => { + 'use strict'; + pw(); + cL(); + (x8e = Object.prototype), + (b8e = x8e.propertyIsEnumerable), + (JQ = Object.getOwnPropertySymbols), + (w8e = JQ + ? function (t) { + return t == null + ? [] + : ((t = Object(t)), + Sm(JQ(t), function (e) { + return b8e.call(t, e); + })); + } + : mw), + (Am = w8e); + }); + function T8e(t, e) { + return Bo(t, Am(t), e); + } + var eZ, + tZ = R(() => { + 'use strict'; + kd(); + gw(); + o(T8e, 'copySymbols'); + eZ = T8e; + }); + var k8e, + E8e, + yw, + uL = R(() => { + 'use strict'; + hw(); + o5(); + gw(); + cL(); + (k8e = Object.getOwnPropertySymbols), + (E8e = k8e + ? function (t) { + for (var e = []; t; ) Em(e, Am(t)), (t = em(t)); + return e; + } + : mw), + (yw = E8e); + }); + function C8e(t, e) { + return Bo(t, yw(t), e); + } + var rZ, + nZ = R(() => { + 'use strict'; + kd(); + uL(); + o(C8e, 'copySymbolsIn'); + rZ = C8e; + }); + function S8e(t, e, r) { + var n = e(t); + return wt(t) ? n : Em(n, r(t)); + } + var vw, + hL = R(() => { + 'use strict'; + hw(); + Bn(); + o(S8e, 'baseGetAllKeys'); + vw = S8e; + }); + function A8e(t) { + return vw(t, Dr, Am); + } + var Rv, + fL = R(() => { + 'use strict'; + hL(); + gw(); + vc(); + o(A8e, 'getAllKeys'); + Rv = A8e; + }); + function _8e(t) { + return vw(t, bs, yw); + } + var xw, + dL = R(() => { + 'use strict'; + hL(); + uL(); + zh(); + o(_8e, 'getAllKeysIn'); + xw = _8e; + }); + var L8e, + bw, + iZ = R(() => { + 'use strict'; + Nh(); + Ro(); + (L8e = xs(Jn, 'DataView')), (bw = L8e); + }); + var D8e, + ww, + aZ = R(() => { + 'use strict'; + Nh(); + Ro(); + (D8e = xs(Jn, 'Promise')), (ww = D8e); + }); + var R8e, + Wh, + pL = R(() => { + 'use strict'; + Nh(); + Ro(); + (R8e = xs(Jn, 'Set')), (Wh = R8e); + }); + var sZ, + N8e, + oZ, + lZ, + cZ, + uZ, + M8e, + I8e, + O8e, + P8e, + B8e, + Id, + oo, + Od = R(() => { + 'use strict'; + iZ(); + J3(); + aZ(); + pL(); + CQ(); + wu(); + __(); + (sZ = '[object Map]'), + (N8e = '[object Object]'), + (oZ = '[object Promise]'), + (lZ = '[object Set]'), + (cZ = '[object WeakMap]'), + (uZ = '[object DataView]'), + (M8e = Tu(bw)), + (I8e = Tu(Oh)), + (O8e = Tu(ww)), + (P8e = Tu(Wh)), + (B8e = Tu(nw)), + (Id = fa); + ((bw && Id(new bw(new ArrayBuffer(1))) != uZ) || + (Oh && Id(new Oh()) != sZ) || + (ww && Id(ww.resolve()) != oZ) || + (Wh && Id(new Wh()) != lZ) || + (nw && Id(new nw()) != cZ)) && + (Id = o(function (t) { + var e = fa(t), + r = e == N8e ? t.constructor : void 0, + n = r ? Tu(r) : ''; + if (n) + switch (n) { + case M8e: + return uZ; + case I8e: + return sZ; + case O8e: + return oZ; + case P8e: + return lZ; + case B8e: + return cZ; + } + return e; + }, 'getTag')); + oo = Id; + }); + function G8e(t) { + var e = t.length, + r = new t.constructor(e); + return e && typeof t[0] == 'string' && z8e.call(t, 'index') && ((r.index = t.index), (r.input = t.input)), r; + } + var F8e, + z8e, + hZ, + fZ = R(() => { + 'use strict'; + (F8e = Object.prototype), (z8e = F8e.hasOwnProperty); + o(G8e, 'initCloneArray'); + hZ = G8e; + }); + function $8e(t, e) { + var r = e ? Jp(t.buffer) : t.buffer; + return new t.constructor(r, t.byteOffset, t.byteLength); + } + var dZ, + pZ = R(() => { + 'use strict'; + n5(); + o($8e, 'cloneDataView'); + dZ = $8e; + }); + function U8e(t) { + var e = new t.constructor(t.source, V8e.exec(t)); + return (e.lastIndex = t.lastIndex), e; + } + var V8e, + mZ, + gZ = R(() => { + 'use strict'; + V8e = /\w*$/; + o(U8e, 'cloneRegExp'); + mZ = U8e; + }); + function H8e(t) { + return vZ ? Object(vZ.call(t)) : {}; + } + var yZ, + vZ, + xZ, + bZ = R(() => { + 'use strict'; + vd(); + (yZ = Ji ? Ji.prototype : void 0), (vZ = yZ ? yZ.valueOf : void 0); + o(H8e, 'cloneSymbol'); + xZ = H8e; + }); + function u_e(t, e, r) { + var n = t.constructor; + switch (e) { + case J8e: + return Jp(t); + case Y8e: + case W8e: + return new n(+t); + case e_e: + return dZ(t, r); + case t_e: + case r_e: + case n_e: + case i_e: + case a_e: + case s_e: + case o_e: + case l_e: + case c_e: + return i5(t, r); + case q8e: + return new n(); + case X8e: + case Q8e: + return new n(t); + case j8e: + return mZ(t); + case K8e: + return new n(); + case Z8e: + return xZ(t); + } + } + var Y8e, + W8e, + q8e, + X8e, + j8e, + K8e, + Q8e, + Z8e, + J8e, + e_e, + t_e, + r_e, + n_e, + i_e, + a_e, + s_e, + o_e, + l_e, + c_e, + wZ, + TZ = R(() => { + 'use strict'; + n5(); + pZ(); + gZ(); + bZ(); + P_(); + (Y8e = '[object Boolean]'), + (W8e = '[object Date]'), + (q8e = '[object Map]'), + (X8e = '[object Number]'), + (j8e = '[object RegExp]'), + (K8e = '[object Set]'), + (Q8e = '[object String]'), + (Z8e = '[object Symbol]'), + (J8e = '[object ArrayBuffer]'), + (e_e = '[object DataView]'), + (t_e = '[object Float32Array]'), + (r_e = '[object Float64Array]'), + (n_e = '[object Int8Array]'), + (i_e = '[object Int16Array]'), + (a_e = '[object Int32Array]'), + (s_e = '[object Uint8Array]'), + (o_e = '[object Uint8ClampedArray]'), + (l_e = '[object Uint16Array]'), + (c_e = '[object Uint32Array]'); + o(u_e, 'initCloneByTag'); + wZ = u_e; + }); + function f_e(t) { + return Wn(t) && oo(t) == h_e; + } + var h_e, + kZ, + EZ = R(() => { + 'use strict'; + Od(); + Mo(); + h_e = '[object Map]'; + o(f_e, 'baseIsMap'); + kZ = f_e; + }); + var CZ, + d_e, + SZ, + AZ = R(() => { + 'use strict'; + EZ(); + Td(); + ov(); + (CZ = Po && Po.isMap), (d_e = CZ ? Oo(CZ) : kZ), (SZ = d_e); + }); + function m_e(t) { + return Wn(t) && oo(t) == p_e; + } + var p_e, + _Z, + LZ = R(() => { + 'use strict'; + Od(); + Mo(); + p_e = '[object Set]'; + o(m_e, 'baseIsSet'); + _Z = m_e; + }); + var DZ, + g_e, + RZ, + NZ = R(() => { + 'use strict'; + LZ(); + Td(); + ov(); + (DZ = Po && Po.isSet), (g_e = DZ ? Oo(DZ) : _Z), (RZ = g_e); + }); + function Tw(t, e, r, n, i, a) { + var s, + l = e & y_e, + u = e & v_e, + h = e & x_e; + if ((r && (s = i ? r(t, n, i, a) : r(t)), s !== void 0)) return s; + if (!pn(t)) return t; + var f = wt(t); + if (f) { + if (((s = hZ(t)), !l)) return a5(t, s); + } else { + var d = oo(t), + p = d == IZ || d == E_e; + if (El(t)) return r5(t, l); + if (d == OZ || d == MZ || (p && !i)) { + if (((s = u || p ? {} : l5(t)), !l)) return u ? rZ(t, QQ(s, t)) : eZ(t, jQ(s, t)); + } else { + if (!Cn[d]) return i ? t : {}; + s = wZ(t, d, l); + } + } + a || (a = new uc()); + var m = a.get(t); + if (m) return m; + a.set(t, s), + RZ(t) + ? t.forEach(function (v) { + s.add(Tw(v, e, r, v, t, a)); + }) + : SZ(t) && + t.forEach(function (v, x) { + s.set(x, Tw(v, e, r, x, t, a)); + }); + var g = h ? (u ? xw : Rv) : u ? bs : Dr, + y = f ? void 0 : g(t); + return ( + iw(y || t, function (v, x) { + y && ((x = v), (v = t[x])), dc(s, x, Tw(v, e, r, x, t, a)); + }), + s + ); + } + var y_e, + v_e, + x_e, + MZ, + b_e, + w_e, + T_e, + k_e, + IZ, + E_e, + C_e, + S_e, + OZ, + A_e, + __e, + L_e, + D_e, + R_e, + N_e, + M_e, + I_e, + O_e, + P_e, + B_e, + F_e, + z_e, + G_e, + $_e, + V_e, + Cn, + kw, + mL = R(() => { + 'use strict'; + iv(); + iL(); + am(); + KQ(); + ZQ(); + I_(); + B_(); + tZ(); + nZ(); + fL(); + dL(); + Od(); + fZ(); + TZ(); + z_(); + Bn(); + im(); + AZ(); + Js(); + NZ(); + vc(); + zh(); + (y_e = 1), + (v_e = 2), + (x_e = 4), + (MZ = '[object Arguments]'), + (b_e = '[object Array]'), + (w_e = '[object Boolean]'), + (T_e = '[object Date]'), + (k_e = '[object Error]'), + (IZ = '[object Function]'), + (E_e = '[object GeneratorFunction]'), + (C_e = '[object Map]'), + (S_e = '[object Number]'), + (OZ = '[object Object]'), + (A_e = '[object RegExp]'), + (__e = '[object Set]'), + (L_e = '[object String]'), + (D_e = '[object Symbol]'), + (R_e = '[object WeakMap]'), + (N_e = '[object ArrayBuffer]'), + (M_e = '[object DataView]'), + (I_e = '[object Float32Array]'), + (O_e = '[object Float64Array]'), + (P_e = '[object Int8Array]'), + (B_e = '[object Int16Array]'), + (F_e = '[object Int32Array]'), + (z_e = '[object Uint8Array]'), + (G_e = '[object Uint8ClampedArray]'), + ($_e = '[object Uint16Array]'), + (V_e = '[object Uint32Array]'), + (Cn = {}); + Cn[MZ] = + Cn[b_e] = + Cn[N_e] = + Cn[M_e] = + Cn[w_e] = + Cn[T_e] = + Cn[I_e] = + Cn[O_e] = + Cn[P_e] = + Cn[B_e] = + Cn[F_e] = + Cn[C_e] = + Cn[S_e] = + Cn[OZ] = + Cn[A_e] = + Cn[__e] = + Cn[L_e] = + Cn[D_e] = + Cn[z_e] = + Cn[G_e] = + Cn[$_e] = + Cn[V_e] = + !0; + Cn[k_e] = Cn[IZ] = Cn[R_e] = !1; + o(Tw, 'baseClone'); + kw = Tw; + }); + function H_e(t) { + return kw(t, U_e); + } + var U_e, + Qr, + gL = R(() => { + 'use strict'; + mL(); + U_e = 4; + o(H_e, 'clone'); + Qr = H_e; + }); + function q_e(t) { + return kw(t, Y_e | W_e); + } + var Y_e, + W_e, + yL, + PZ = R(() => { + 'use strict'; + mL(); + (Y_e = 1), (W_e = 4); + o(q_e, 'cloneDeep'); + yL = q_e; + }); + function X_e(t) { + for (var e = -1, r = t == null ? 0 : t.length, n = 0, i = []; ++e < r; ) { + var a = t[e]; + a && (i[n++] = a); + } + return i; + } + var wc, + BZ = R(() => { + 'use strict'; + o(X_e, 'compact'); + wc = X_e; + }); + function K_e(t) { + return this.__data__.set(t, j_e), this; + } + var j_e, + FZ, + zZ = R(() => { + 'use strict'; + j_e = '__lodash_hash_undefined__'; + o(K_e, 'setCacheAdd'); + FZ = K_e; + }); + function Q_e(t) { + return this.__data__.has(t); + } + var GZ, + $Z = R(() => { + 'use strict'; + o(Q_e, 'setCacheHas'); + GZ = Q_e; + }); + function Ew(t) { + var e = -1, + r = t == null ? 0 : t.length; + for (this.__data__ = new bd(); ++e < r; ) this.add(t[e]); + } + var _m, + Cw = R(() => { + 'use strict'; + e5(); + zZ(); + $Z(); + o(Ew, 'SetCache'); + Ew.prototype.add = Ew.prototype.push = FZ; + Ew.prototype.has = GZ; + _m = Ew; + }); + function Z_e(t, e) { + for (var r = -1, n = t == null ? 0 : t.length; ++r < n; ) if (e(t[r], r, t)) return !0; + return !1; + } + var Sw, + vL = R(() => { + 'use strict'; + o(Z_e, 'arraySome'); + Sw = Z_e; + }); + function J_e(t, e) { + return t.has(e); + } + var Lm, + Aw = R(() => { + 'use strict'; + o(J_e, 'cacheHas'); + Lm = J_e; + }); + function r9e(t, e, r, n, i, a) { + var s = r & e9e, + l = t.length, + u = e.length; + if (l != u && !(s && u > l)) return !1; + var h = a.get(t), + f = a.get(e); + if (h && f) return h == e && f == t; + var d = -1, + p = !0, + m = r & t9e ? new _m() : void 0; + for (a.set(t, e), a.set(e, t); ++d < l; ) { + var g = t[d], + y = e[d]; + if (n) var v = s ? n(y, g, d, e, t, a) : n(g, y, d, t, e, a); + if (v !== void 0) { + if (v) continue; + p = !1; + break; + } + if (m) { + if ( + !Sw(e, function (x, b) { + if (!Lm(m, b) && (g === x || i(g, x, r, n, a))) return m.push(b); + }) + ) { + p = !1; + break; + } + } else if (!(g === y || i(g, y, r, n, a))) { + p = !1; + break; + } + } + return a.delete(t), a.delete(e), p; + } + var e9e, + t9e, + _w, + xL = R(() => { + 'use strict'; + Cw(); + vL(); + Aw(); + (e9e = 1), (t9e = 2); + o(r9e, 'equalArrays'); + _w = r9e; + }); + function n9e(t) { + var e = -1, + r = Array(t.size); + return ( + t.forEach(function (n, i) { + r[++e] = [i, n]; + }), + r + ); + } + var VZ, + UZ = R(() => { + 'use strict'; + o(n9e, 'mapToArray'); + VZ = n9e; + }); + function i9e(t) { + var e = -1, + r = Array(t.size); + return ( + t.forEach(function (n) { + r[++e] = n; + }), + r + ); + } + var Dm, + Lw = R(() => { + 'use strict'; + o(i9e, 'setToArray'); + Dm = i9e; + }); + function v9e(t, e, r, n, i, a, s) { + switch (r) { + case y9e: + if (t.byteLength != e.byteLength || t.byteOffset != e.byteOffset) return !1; + (t = t.buffer), (e = e.buffer); + case g9e: + return !(t.byteLength != e.byteLength || !a(new Zp(t), new Zp(e))); + case o9e: + case l9e: + case h9e: + return No(+t, +e); + case c9e: + return t.name == e.name && t.message == e.message; + case f9e: + case p9e: + return t == e + ''; + case u9e: + var l = VZ; + case d9e: + var u = n & a9e; + if ((l || (l = Dm), t.size != e.size && !u)) return !1; + var h = s.get(t); + if (h) return h == e; + (n |= s9e), s.set(t, e); + var f = _w(l(t), l(e), n, i, a, s); + return s.delete(t), f; + case m9e: + if (bL) return bL.call(t) == bL.call(e); + } + return !1; + } + var a9e, + s9e, + o9e, + l9e, + c9e, + u9e, + h9e, + f9e, + d9e, + p9e, + m9e, + g9e, + y9e, + HZ, + bL, + YZ, + WZ = R(() => { + 'use strict'; + vd(); + O_(); + xd(); + xL(); + UZ(); + Lw(); + (a9e = 1), + (s9e = 2), + (o9e = '[object Boolean]'), + (l9e = '[object Date]'), + (c9e = '[object Error]'), + (u9e = '[object Map]'), + (h9e = '[object Number]'), + (f9e = '[object RegExp]'), + (d9e = '[object Set]'), + (p9e = '[object String]'), + (m9e = '[object Symbol]'), + (g9e = '[object ArrayBuffer]'), + (y9e = '[object DataView]'), + (HZ = Ji ? Ji.prototype : void 0), + (bL = HZ ? HZ.valueOf : void 0); + o(v9e, 'equalByTag'); + YZ = v9e; + }); + function T9e(t, e, r, n, i, a) { + var s = r & x9e, + l = Rv(t), + u = l.length, + h = Rv(e), + f = h.length; + if (u != f && !s) return !1; + for (var d = u; d--; ) { + var p = l[d]; + if (!(s ? p in e : w9e.call(e, p))) return !1; + } + var m = a.get(t), + g = a.get(e); + if (m && g) return m == e && g == t; + var y = !0; + a.set(t, e), a.set(e, t); + for (var v = s; ++d < u; ) { + p = l[d]; + var x = t[p], + b = e[p]; + if (n) var w = s ? n(b, x, p, e, t, a) : n(x, b, p, t, e, a); + if (!(w === void 0 ? x === b || i(x, b, r, n, a) : w)) { + y = !1; + break; + } + v || (v = p == 'constructor'); + } + if (y && !v) { + var S = t.constructor, + T = e.constructor; + S != T && + 'constructor' in t && + 'constructor' in e && + !(typeof S == 'function' && S instanceof S && typeof T == 'function' && T instanceof T) && + (y = !1); + } + return a.delete(t), a.delete(e), y; + } + var x9e, + b9e, + w9e, + qZ, + XZ = R(() => { + 'use strict'; + fL(); + (x9e = 1), (b9e = Object.prototype), (w9e = b9e.hasOwnProperty); + o(T9e, 'equalObjects'); + qZ = T9e; + }); + function C9e(t, e, r, n, i, a) { + var s = wt(t), + l = wt(e), + u = s ? KZ : oo(t), + h = l ? KZ : oo(e); + (u = u == jZ ? Dw : u), (h = h == jZ ? Dw : h); + var f = u == Dw, + d = h == Dw, + p = u == h; + if (p && El(t)) { + if (!El(e)) return !1; + (s = !0), (f = !1); + } + if (p && !f) return a || (a = new uc()), s || Bh(t) ? _w(t, e, r, n, i, a) : YZ(t, e, u, r, n, i, a); + if (!(r & k9e)) { + var m = f && QZ.call(t, '__wrapped__'), + g = d && QZ.call(e, '__wrapped__'); + if (m || g) { + var y = m ? t.value() : t, + v = g ? e.value() : e; + return a || (a = new uc()), i(y, v, r, n, a); + } + } + return p ? (a || (a = new uc()), qZ(t, e, r, n, i, a)) : !1; + } + var k9e, + jZ, + KZ, + Dw, + E9e, + QZ, + ZZ, + JZ = R(() => { + 'use strict'; + iv(); + xL(); + WZ(); + XZ(); + Od(); + Bn(); + im(); + lv(); + (k9e = 1), + (jZ = '[object Arguments]'), + (KZ = '[object Array]'), + (Dw = '[object Object]'), + (E9e = Object.prototype), + (QZ = E9e.hasOwnProperty); + o(C9e, 'baseIsEqualDeep'); + ZZ = C9e; + }); + function eJ(t, e, r, n, i) { + return t === e ? !0 : t == null || e == null || (!Wn(t) && !Wn(e)) ? t !== t && e !== e : ZZ(t, e, r, n, eJ, i); + } + var Rw, + wL = R(() => { + 'use strict'; + JZ(); + Mo(); + o(eJ, 'baseIsEqual'); + Rw = eJ; + }); + function _9e(t, e, r, n) { + var i = r.length, + a = i, + s = !n; + if (t == null) return !a; + for (t = Object(t); i--; ) { + var l = r[i]; + if (s && l[2] ? l[1] !== t[l[0]] : !(l[0] in t)) return !1; + } + for (; ++i < a; ) { + l = r[i]; + var u = l[0], + h = t[u], + f = l[1]; + if (s && l[2]) { + if (h === void 0 && !(u in t)) return !1; + } else { + var d = new uc(); + if (n) var p = n(h, f, u, t, e, d); + if (!(p === void 0 ? Rw(f, h, S9e | A9e, n, d) : p)) return !1; + } + } + return !0; + } + var S9e, + A9e, + tJ, + rJ = R(() => { + 'use strict'; + iv(); + wL(); + (S9e = 1), (A9e = 2); + o(_9e, 'baseIsMatch'); + tJ = _9e; + }); + function L9e(t) { + return t === t && !pn(t); + } + var Nw, + TL = R(() => { + 'use strict'; + Js(); + o(L9e, 'isStrictComparable'); + Nw = L9e; + }); + function D9e(t) { + for (var e = Dr(t), r = e.length; r--; ) { + var n = e[r], + i = t[n]; + e[r] = [n, i, Nw(i)]; + } + return e; + } + var nJ, + iJ = R(() => { + 'use strict'; + TL(); + vc(); + o(D9e, 'getMatchData'); + nJ = D9e; + }); + function R9e(t, e) { + return function (r) { + return r == null ? !1 : r[t] === e && (e !== void 0 || t in Object(r)); + }; + } + var Mw, + kL = R(() => { + 'use strict'; + o(R9e, 'matchesStrictComparable'); + Mw = R9e; + }); + function N9e(t) { + var e = nJ(t); + return e.length == 1 && e[0][2] + ? Mw(e[0][0], e[0][1]) + : function (r) { + return r === t || tJ(r, t, e); + }; + } + var aJ, + sJ = R(() => { + 'use strict'; + rJ(); + iJ(); + kL(); + o(N9e, 'baseMatches'); + aJ = N9e; + }); + function M9e(t, e) { + return t != null && e in Object(t); + } + var oJ, + lJ = R(() => { + 'use strict'; + o(M9e, 'baseHasIn'); + oJ = M9e; + }); + function I9e(t, e, r) { + e = Hh(e, t); + for (var n = -1, i = e.length, a = !1; ++n < i; ) { + var s = xc(e[n]); + if (!(a = t != null && r(t, s))) break; + t = t[s]; + } + return a || ++n != i ? a : ((i = t == null ? 0 : t.length), !!i && nm(i) && Fh(s, i) && (wt(t) || kl(t))); + } + var Iw, + EL = R(() => { + 'use strict'; + Lv(); + rm(); + Bn(); + uv(); + c5(); + km(); + o(I9e, 'hasPath'); + Iw = I9e; + }); + function O9e(t, e) { + return t != null && Iw(t, e, oJ); + } + var Ow, + CL = R(() => { + 'use strict'; + lJ(); + EL(); + o(O9e, 'hasIn'); + Ow = O9e; + }); + function F9e(t, e) { + return Tm(t) && Nw(e) + ? Mw(xc(t), e) + : function (r) { + var n = BQ(r, t); + return n === void 0 && n === e ? Ow(r, t) : Rw(e, n, P9e | B9e); + }; + } + var P9e, + B9e, + cJ, + uJ = R(() => { + 'use strict'; + wL(); + FQ(); + CL(); + cw(); + TL(); + kL(); + km(); + (P9e = 1), (B9e = 2); + o(F9e, 'baseMatchesProperty'); + cJ = F9e; + }); + function z9e(t) { + return function (e) { + return e?.[t]; + }; + } + var Pw, + SL = R(() => { + 'use strict'; + o(z9e, 'baseProperty'); + Pw = z9e; + }); + function G9e(t) { + return function (e) { + return Yh(e, t); + }; + } + var hJ, + fJ = R(() => { + 'use strict'; + Dv(); + o(G9e, 'basePropertyDeep'); + hJ = G9e; + }); + function $9e(t) { + return Tm(t) ? Pw(xc(t)) : hJ(t); + } + var dJ, + pJ = R(() => { + 'use strict'; + SL(); + fJ(); + cw(); + km(); + o($9e, 'property'); + dJ = $9e; + }); + function V9e(t) { + return typeof t == 'function' + ? t + : t == null + ? ea + : typeof t == 'object' + ? wt(t) + ? cJ(t[0], t[1]) + : aJ(t) + : dJ(t); + } + var cn, + Qa = R(() => { + 'use strict'; + sJ(); + uJ(); + Eu(); + Bn(); + pJ(); + o(V9e, 'baseIteratee'); + cn = V9e; + }); + function U9e(t, e, r, n) { + for (var i = -1, a = t == null ? 0 : t.length; ++i < a; ) { + var s = t[i]; + e(n, s, r(s), t); + } + return n; + } + var mJ, + gJ = R(() => { + 'use strict'; + o(U9e, 'arrayAggregator'); + mJ = U9e; + }); + function H9e(t, e) { + return t && Qp(t, e, Dr); + } + var Rm, + Bw = R(() => { + 'use strict'; + t5(); + vc(); + o(H9e, 'baseForOwn'); + Rm = H9e; + }); + function Y9e(t, e) { + return function (r, n) { + if (r == null) return r; + if (!ei(r)) return t(r, n); + for (var i = r.length, a = e ? i : -1, s = Object(r); (e ? a-- : ++a < i) && n(s[a], a, s) !== !1; ); + return r; + }; + } + var yJ, + vJ = R(() => { + 'use strict'; + Io(); + o(Y9e, 'createBaseEach'); + yJ = Y9e; + }); + var W9e, + As, + qh = R(() => { + 'use strict'; + Bw(); + vJ(); + (W9e = yJ(Rm)), (As = W9e); + }); + function q9e(t, e, r, n) { + return ( + As(t, function (i, a, s) { + e(n, i, r(i), s); + }), + n + ); + } + var xJ, + bJ = R(() => { + 'use strict'; + qh(); + o(q9e, 'baseAggregator'); + xJ = q9e; + }); + function X9e(t, e) { + return function (r, n) { + var i = wt(r) ? mJ : xJ, + a = e ? e() : {}; + return i(r, t, cn(n, 2), a); + }; + } + var wJ, + TJ = R(() => { + 'use strict'; + gJ(); + bJ(); + Qa(); + Bn(); + o(X9e, 'createAggregator'); + wJ = X9e; + }); + var j9e, + Fw, + kJ = R(() => { + 'use strict'; + Ro(); + (j9e = o(function () { + return Jn.Date.now(); + }, 'now')), + (Fw = j9e); + }); + var EJ, + K9e, + Q9e, + Xh, + CJ = R(() => { + 'use strict'; + sm(); + xd(); + Ed(); + zh(); + (EJ = Object.prototype), + (K9e = EJ.hasOwnProperty), + (Q9e = pc(function (t, e) { + t = Object(t); + var r = -1, + n = e.length, + i = n > 2 ? e[2] : void 0; + for (i && eo(e[0], e[1], i) && (n = 1); ++r < n; ) + for (var a = e[r], s = bs(a), l = -1, u = s.length; ++l < u; ) { + var h = s[l], + f = t[h]; + (f === void 0 || (No(f, EJ[h]) && !K9e.call(t, h))) && (t[h] = a[h]); + } + return t; + })), + (Xh = Q9e); + }); + function Z9e(t, e, r) { + for (var n = -1, i = t == null ? 0 : t.length; ++n < i; ) if (r(e, t[n])) return !0; + return !1; + } + var zw, + AL = R(() => { + 'use strict'; + o(Z9e, 'arrayIncludesWith'); + zw = Z9e; + }); + function eLe(t, e, r, n) { + var i = -1, + a = ow, + s = !0, + l = t.length, + u = [], + h = e.length; + if (!l) return u; + r && (e = Ss(e, Oo(r))), n ? ((a = zw), (s = !1)) : e.length >= J9e && ((a = Lm), (s = !1), (e = new _m(e))); + e: for (; ++i < l; ) { + var f = t[i], + d = r == null ? f : r(f); + if (((f = n || f !== 0 ? f : 0), s && d === d)) { + for (var p = h; p--; ) if (e[p] === d) continue e; + u.push(f); + } else a(e, d, n) || u.push(f); + } + return u; + } + var J9e, + SJ, + AJ = R(() => { + 'use strict'; + Cw(); + sL(); + AL(); + Md(); + Td(); + Aw(); + J9e = 200; + o(eLe, 'baseDifference'); + SJ = eLe; + }); + var tLe, + jh, + _J = R(() => { + 'use strict'; + AJ(); + Cm(); + sm(); + u5(); + (tLe = pc(function (t, e) { + return wd(t) ? SJ(t, bc(e, 1, wd, !0)) : []; + })), + (jh = tLe); + }); + function rLe(t) { + var e = t == null ? 0 : t.length; + return e ? t[e - 1] : void 0; + } + var ma, + LJ = R(() => { + 'use strict'; + o(rLe, 'last'); + ma = rLe; + }); + function nLe(t, e, r) { + var n = t == null ? 0 : t.length; + return n ? ((e = r || e === void 0 ? 1 : yc(e)), dw(t, e < 0 ? 0 : e, n)) : []; + } + var fi, + DJ = R(() => { + 'use strict'; + lL(); + xm(); + o(nLe, 'drop'); + fi = nLe; + }); + function iLe(t, e, r) { + var n = t == null ? 0 : t.length; + return n ? ((e = r || e === void 0 ? 1 : yc(e)), (e = n - e), dw(t, 0, e < 0 ? 0 : e)) : []; + } + var Ru, + RJ = R(() => { + 'use strict'; + lL(); + xm(); + o(iLe, 'dropRight'); + Ru = iLe; + }); + function aLe(t) { + return typeof t == 'function' ? t : ea; + } + var Nm, + Gw = R(() => { + 'use strict'; + Eu(); + o(aLe, 'castFunction'); + Nm = aLe; + }); + function sLe(t, e) { + var r = wt(t) ? iw : As; + return r(t, Nm(e)); + } + var Ee, + $w = R(() => { + 'use strict'; + iL(); + qh(); + Gw(); + Bn(); + o(sLe, 'forEach'); + Ee = sLe; + }); + var NJ = R(() => { + 'use strict'; + $w(); + }); + function oLe(t, e) { + for (var r = -1, n = t == null ? 0 : t.length; ++r < n; ) if (!e(t[r], r, t)) return !1; + return !0; + } + var MJ, + IJ = R(() => { + 'use strict'; + o(oLe, 'arrayEvery'); + MJ = oLe; + }); + function lLe(t, e) { + var r = !0; + return ( + As(t, function (n, i, a) { + return (r = !!e(n, i, a)), r; + }), + r + ); + } + var OJ, + PJ = R(() => { + 'use strict'; + qh(); + o(lLe, 'baseEvery'); + OJ = lLe; + }); + function cLe(t, e, r) { + var n = wt(t) ? MJ : OJ; + return r && eo(t, e, r) && (e = void 0), n(t, cn(e, 3)); + } + var Ia, + BJ = R(() => { + 'use strict'; + IJ(); + PJ(); + Qa(); + Bn(); + Ed(); + o(cLe, 'every'); + Ia = cLe; + }); + function uLe(t, e) { + var r = []; + return ( + As(t, function (n, i, a) { + e(n, i, a) && r.push(n); + }), + r + ); + } + var Vw, + _L = R(() => { + 'use strict'; + qh(); + o(uLe, 'baseFilter'); + Vw = uLe; + }); + function hLe(t, e) { + var r = wt(t) ? Sm : Vw; + return r(t, cn(e, 3)); + } + var $r, + LL = R(() => { + 'use strict'; + pw(); + _L(); + Qa(); + Bn(); + o(hLe, 'filter'); + $r = hLe; + }); + function fLe(t) { + return function (e, r, n) { + var i = Object(e); + if (!ei(e)) { + var a = cn(r, 3); + (e = Dr(e)), + (r = o(function (l) { + return a(i[l], l, i); + }, 'predicate')); + } + var s = t(e, r, n); + return s > -1 ? i[a ? e[s] : s] : void 0; + }; + } + var FJ, + zJ = R(() => { + 'use strict'; + Qa(); + Io(); + vc(); + o(fLe, 'createFind'); + FJ = fLe; + }); + function pLe(t, e, r) { + var n = t == null ? 0 : t.length; + if (!n) return -1; + var i = r == null ? 0 : yc(r); + return i < 0 && (i = dLe(n + i, 0)), aw(t, cn(e, 3), i); + } + var dLe, + GJ, + $J = R(() => { + 'use strict'; + aL(); + Qa(); + xm(); + dLe = Math.max; + o(pLe, 'findIndex'); + GJ = pLe; + }); + var mLe, + Za, + VJ = R(() => { + 'use strict'; + zJ(); + $J(); + (mLe = FJ(GJ)), (Za = mLe); + }); + function gLe(t) { + return t && t.length ? t[0] : void 0; + } + var na, + UJ = R(() => { + 'use strict'; + o(gLe, 'head'); + na = gLe; + }); + var HJ = R(() => { + 'use strict'; + UJ(); + }); + function yLe(t, e) { + var r = -1, + n = ei(t) ? Array(t.length) : []; + return ( + As(t, function (i, a, s) { + n[++r] = e(i, a, s); + }), + n + ); + } + var Uw, + DL = R(() => { + 'use strict'; + qh(); + Io(); + o(yLe, 'baseMap'); + Uw = yLe; + }); + function vLe(t, e) { + var r = wt(t) ? Ss : Uw; + return r(t, cn(e, 3)); + } + var qe, + Mm = R(() => { + 'use strict'; + Md(); + Qa(); + DL(); + Bn(); + o(vLe, 'map'); + qe = vLe; + }); + function xLe(t, e) { + return bc(qe(t, e), 1); + } + var ga, + RL = R(() => { + 'use strict'; + Cm(); + Mm(); + o(xLe, 'flatMap'); + ga = xLe; + }); + function bLe(t, e) { + return t == null ? t : Qp(t, Nm(e), bs); + } + var NL, + YJ = R(() => { + 'use strict'; + t5(); + Gw(); + zh(); + o(bLe, 'forIn'); + NL = bLe; + }); + function wLe(t, e) { + return t && Rm(t, Nm(e)); + } + var ML, + WJ = R(() => { + 'use strict'; + Bw(); + Gw(); + o(wLe, 'forOwn'); + ML = wLe; + }); + var TLe, + kLe, + ELe, + IL, + qJ = R(() => { + 'use strict'; + Kp(); + TJ(); + (TLe = Object.prototype), + (kLe = TLe.hasOwnProperty), + (ELe = wJ(function (t, e, r) { + kLe.call(t, r) ? t[r].push(e) : hc(t, r, [e]); + })), + (IL = ELe); + }); + function CLe(t, e) { + return t > e; + } + var XJ, + jJ = R(() => { + 'use strict'; + o(CLe, 'baseGt'); + XJ = CLe; + }); + function _Le(t, e) { + return t != null && ALe.call(t, e); + } + var SLe, + ALe, + KJ, + QJ = R(() => { + 'use strict'; + (SLe = Object.prototype), (ALe = SLe.hasOwnProperty); + o(_Le, 'baseHas'); + KJ = _Le; + }); + function LLe(t, e) { + return t != null && Iw(t, e, KJ); + } + var Xe, + ZJ = R(() => { + 'use strict'; + QJ(); + EL(); + o(LLe, 'has'); + Xe = LLe; + }); + function RLe(t) { + return typeof t == 'string' || (!wt(t) && Wn(t) && fa(t) == DLe); + } + var DLe, + di, + Hw = R(() => { + 'use strict'; + wu(); + Bn(); + Mo(); + DLe = '[object String]'; + o(RLe, 'isString'); + di = RLe; + }); + function NLe(t, e) { + return Ss(e, function (r) { + return t[r]; + }); + } + var JJ, + eee = R(() => { + 'use strict'; + Md(); + o(NLe, 'baseValues'); + JJ = NLe; + }); + function MLe(t) { + return t == null ? [] : JJ(t, Dr(t)); + } + var or, + OL = R(() => { + 'use strict'; + eee(); + vc(); + o(MLe, 'values'); + or = MLe; + }); + function OLe(t, e, r, n) { + (t = ei(t) ? t : or(t)), (r = r && !n ? yc(r) : 0); + var i = t.length; + return r < 0 && (r = ILe(i + r, 0)), di(t) ? r <= i && t.indexOf(e, r) > -1 : !!i && bm(t, e, r) > -1; + } + var ILe, + Fn, + tee = R(() => { + 'use strict'; + sw(); + Io(); + Hw(); + xm(); + OL(); + ILe = Math.max; + o(OLe, 'includes'); + Fn = OLe; + }); + function BLe(t, e, r) { + var n = t == null ? 0 : t.length; + if (!n) return -1; + var i = r == null ? 0 : yc(r); + return i < 0 && (i = PLe(n + i, 0)), bm(t, e, i); + } + var PLe, + Yw, + ree = R(() => { + 'use strict'; + sw(); + xm(); + PLe = Math.max; + o(BLe, 'indexOf'); + Yw = BLe; + }); + function VLe(t) { + if (t == null) return !0; + if (ei(t) && (wt(t) || typeof t == 'string' || typeof t.splice == 'function' || El(t) || Bh(t) || kl(t))) + return !t.length; + var e = oo(t); + if (e == FLe || e == zLe) return !t.size; + if (fc(t)) return !wm(t).length; + for (var r in t) if ($Le.call(t, r)) return !1; + return !0; + } + var FLe, + zLe, + GLe, + $Le, + Qt, + Ww = R(() => { + 'use strict'; + lw(); + Od(); + rm(); + Bn(); + Io(); + im(); + tm(); + lv(); + (FLe = '[object Map]'), (zLe = '[object Set]'), (GLe = Object.prototype), ($Le = GLe.hasOwnProperty); + o(VLe, 'isEmpty'); + Qt = VLe; + }); + function HLe(t) { + return Wn(t) && fa(t) == ULe; + } + var ULe, + nee, + iee = R(() => { + 'use strict'; + wu(); + Mo(); + ULe = '[object RegExp]'; + o(HLe, 'baseIsRegExp'); + nee = HLe; + }); + var aee, + YLe, + zo, + see = R(() => { + 'use strict'; + iee(); + Td(); + ov(); + (aee = Po && Po.isRegExp), (YLe = aee ? Oo(aee) : nee), (zo = YLe); + }); + function WLe(t) { + return t === void 0; + } + var er, + oee = R(() => { + 'use strict'; + o(WLe, 'isUndefined'); + er = WLe; + }); + function qLe(t, e) { + return t < e; + } + var qw, + PL = R(() => { + 'use strict'; + o(qLe, 'baseLt'); + qw = qLe; + }); + function XLe(t, e) { + var r = {}; + return ( + (e = cn(e, 3)), + Rm(t, function (n, i, a) { + hc(r, i, e(n, i, a)); + }), + r + ); + } + var Pd, + lee = R(() => { + 'use strict'; + Kp(); + Bw(); + Qa(); + o(XLe, 'mapValues'); + Pd = XLe; + }); + function jLe(t, e, r) { + for (var n = -1, i = t.length; ++n < i; ) { + var a = t[n], + s = e(a); + if (s != null && (l === void 0 ? s === s && !so(s) : r(s, l))) + var l = s, + u = a; + } + return u; + } + var Im, + Xw = R(() => { + 'use strict'; + Nd(); + o(jLe, 'baseExtremum'); + Im = jLe; + }); + function KLe(t) { + return t && t.length ? Im(t, ea, XJ) : void 0; + } + var _s, + cee = R(() => { + 'use strict'; + Xw(); + jJ(); + Eu(); + o(KLe, 'max'); + _s = KLe; + }); + function QLe(t) { + return t && t.length ? Im(t, ea, qw) : void 0; + } + var Ll, + BL = R(() => { + 'use strict'; + Xw(); + PL(); + Eu(); + o(QLe, 'min'); + Ll = QLe; + }); + function ZLe(t, e) { + return t && t.length ? Im(t, cn(e, 2), qw) : void 0; + } + var Bd, + uee = R(() => { + 'use strict'; + Xw(); + Qa(); + PL(); + o(ZLe, 'minBy'); + Bd = ZLe; + }); + function eDe(t) { + if (typeof t != 'function') throw new TypeError(JLe); + return function () { + var e = arguments; + switch (e.length) { + case 0: + return !t.call(this); + case 1: + return !t.call(this, e[0]); + case 2: + return !t.call(this, e[0], e[1]); + case 3: + return !t.call(this, e[0], e[1], e[2]); + } + return !t.apply(this, e); + }; + } + var JLe, + hee, + fee = R(() => { + 'use strict'; + JLe = 'Expected a function'; + o(eDe, 'negate'); + hee = eDe; + }); + function tDe(t, e, r, n) { + if (!pn(t)) return t; + e = Hh(e, t); + for (var i = -1, a = e.length, s = a - 1, l = t; l != null && ++i < a; ) { + var u = xc(e[i]), + h = r; + if (u === '__proto__' || u === 'constructor' || u === 'prototype') return t; + if (i != s) { + var f = l[u]; + (h = n ? n(f, u, l) : void 0), h === void 0 && (h = pn(f) ? f : Fh(e[i + 1]) ? [] : {}); + } + dc(l, u, h), (l = l[u]); + } + return t; + } + var dee, + pee = R(() => { + 'use strict'; + am(); + Lv(); + uv(); + Js(); + km(); + o(tDe, 'baseSet'); + dee = tDe; + }); + function rDe(t, e, r) { + for (var n = -1, i = e.length, a = {}; ++n < i; ) { + var s = e[n], + l = Yh(t, s); + r(l, s) && dee(a, Hh(s, t), l); + } + return a; + } + var jw, + FL = R(() => { + 'use strict'; + Dv(); + pee(); + Lv(); + o(rDe, 'basePickBy'); + jw = rDe; + }); + function nDe(t, e) { + if (t == null) return {}; + var r = Ss(xw(t), function (n) { + return [n]; + }); + return ( + (e = cn(e)), + jw(t, r, function (n, i) { + return e(n, i[0]); + }) + ); + } + var Ls, + mee = R(() => { + 'use strict'; + Md(); + Qa(); + FL(); + dL(); + o(nDe, 'pickBy'); + Ls = nDe; + }); + function iDe(t, e) { + var r = t.length; + for (t.sort(e); r--; ) t[r] = t[r].value; + return t; + } + var gee, + yee = R(() => { + 'use strict'; + o(iDe, 'baseSortBy'); + gee = iDe; + }); + function aDe(t, e) { + if (t !== e) { + var r = t !== void 0, + n = t === null, + i = t === t, + a = so(t), + s = e !== void 0, + l = e === null, + u = e === e, + h = so(e); + if ((!l && !h && !a && t > e) || (a && s && u && !l && !h) || (n && s && u) || (!r && u) || !i) return 1; + if ((!n && !a && !h && t < e) || (h && r && i && !n && !a) || (l && r && i) || (!s && i) || !u) return -1; + } + return 0; + } + var vee, + xee = R(() => { + 'use strict'; + Nd(); + o(aDe, 'compareAscending'); + vee = aDe; + }); + function sDe(t, e, r) { + for (var n = -1, i = t.criteria, a = e.criteria, s = i.length, l = r.length; ++n < s; ) { + var u = vee(i[n], a[n]); + if (u) { + if (n >= l) return u; + var h = r[n]; + return u * (h == 'desc' ? -1 : 1); + } + } + return t.index - e.index; + } + var bee, + wee = R(() => { + 'use strict'; + xee(); + o(sDe, 'compareMultiple'); + bee = sDe; + }); + function oDe(t, e, r) { + e.length + ? (e = Ss(e, function (a) { + return wt(a) + ? function (s) { + return Yh(s, a.length === 1 ? a[0] : a); + } + : a; + })) + : (e = [ea]); + var n = -1; + e = Ss(e, Oo(cn)); + var i = Uw(t, function (a, s, l) { + var u = Ss(e, function (h) { + return h(a); + }); + return { criteria: u, index: ++n, value: a }; + }); + return gee(i, function (a, s) { + return bee(a, s, r); + }); + } + var Tee, + kee = R(() => { + 'use strict'; + Md(); + Dv(); + Qa(); + DL(); + yee(); + Td(); + wee(); + Eu(); + Bn(); + o(oDe, 'baseOrderBy'); + Tee = oDe; + }); + var lDe, + Eee, + Cee = R(() => { + 'use strict'; + SL(); + (lDe = Pw('length')), (Eee = lDe); + }); + function bDe(t) { + for (var e = (See.lastIndex = 0); See.test(t); ) ++e; + return e; + } + var Aee, + cDe, + uDe, + hDe, + fDe, + dDe, + pDe, + zL, + GL, + mDe, + _ee, + Lee, + Dee, + gDe, + Ree, + Nee, + yDe, + vDe, + xDe, + See, + Mee, + Iee = R(() => { + 'use strict'; + (Aee = '\\ud800-\\udfff'), + (cDe = '\\u0300-\\u036f'), + (uDe = '\\ufe20-\\ufe2f'), + (hDe = '\\u20d0-\\u20ff'), + (fDe = cDe + uDe + hDe), + (dDe = '\\ufe0e\\ufe0f'), + (pDe = '[' + Aee + ']'), + (zL = '[' + fDe + ']'), + (GL = '\\ud83c[\\udffb-\\udfff]'), + (mDe = '(?:' + zL + '|' + GL + ')'), + (_ee = '[^' + Aee + ']'), + (Lee = '(?:\\ud83c[\\udde6-\\uddff]){2}'), + (Dee = '[\\ud800-\\udbff][\\udc00-\\udfff]'), + (gDe = '\\u200d'), + (Ree = mDe + '?'), + (Nee = '[' + dDe + ']?'), + (yDe = '(?:' + gDe + '(?:' + [_ee, Lee, Dee].join('|') + ')' + Nee + Ree + ')*'), + (vDe = Nee + Ree + yDe), + (xDe = '(?:' + [_ee + zL + '?', zL, Lee, Dee, pDe].join('|') + ')'), + (See = RegExp(GL + '(?=' + GL + ')|' + xDe + vDe, 'g')); + o(bDe, 'unicodeSize'); + Mee = bDe; + }); + function wDe(t) { + return YQ(t) ? Mee(t) : Eee(t); + } + var Oee, + Pee = R(() => { + 'use strict'; + Cee(); + WQ(); + Iee(); + o(wDe, 'stringSize'); + Oee = wDe; + }); + function TDe(t, e) { + return jw(t, e, function (r, n) { + return Ow(t, n); + }); + } + var Bee, + Fee = R(() => { + 'use strict'; + FL(); + CL(); + o(TDe, 'basePick'); + Bee = TDe; + }); + var kDe, + Fd, + zee = R(() => { + 'use strict'; + Fee(); + HQ(); + (kDe = UQ(function (t, e) { + return t == null ? {} : Bee(t, e); + })), + (Fd = kDe); + }); + function SDe(t, e, r, n) { + for (var i = -1, a = CDe(EDe((e - t) / (r || 1)), 0), s = Array(a); a--; ) (s[n ? a : ++i] = t), (t += r); + return s; + } + var EDe, + CDe, + Gee, + $ee = R(() => { + 'use strict'; + (EDe = Math.ceil), (CDe = Math.max); + o(SDe, 'baseRange'); + Gee = SDe; + }); + function ADe(t) { + return function (e, r, n) { + return ( + n && typeof n != 'number' && eo(e, r, n) && (r = n = void 0), + (e = vm(e)), + r === void 0 ? ((r = e), (e = 0)) : (r = vm(r)), + (n = n === void 0 ? (e < r ? 1 : -1) : vm(n)), + Gee(e, r, n, t) + ); + }; + } + var Vee, + Uee = R(() => { + 'use strict'; + $ee(); + Ed(); + rL(); + o(ADe, 'createRange'); + Vee = ADe; + }); + var _De, + Go, + Hee = R(() => { + 'use strict'; + Uee(); + (_De = Vee()), (Go = _De); + }); + function LDe(t, e, r, n, i) { + return ( + i(t, function (a, s, l) { + r = n ? ((n = !1), a) : e(r, a, s, l); + }), + r + ); + } + var Yee, + Wee = R(() => { + 'use strict'; + o(LDe, 'baseReduce'); + Yee = LDe; + }); + function DDe(t, e, r) { + var n = wt(t) ? qQ : Yee, + i = arguments.length < 3; + return n(t, cn(e, 4), r, i, As); + } + var Vr, + $L = R(() => { + 'use strict'; + XQ(); + qh(); + Qa(); + Wee(); + Bn(); + o(DDe, 'reduce'); + Vr = DDe; + }); + function RDe(t, e) { + var r = wt(t) ? Sm : Vw; + return r(t, hee(cn(e, 3))); + } + var Kh, + qee = R(() => { + 'use strict'; + pw(); + _L(); + Qa(); + Bn(); + fee(); + o(RDe, 'reject'); + Kh = RDe; + }); + function IDe(t) { + if (t == null) return 0; + if (ei(t)) return di(t) ? Oee(t) : t.length; + var e = oo(t); + return e == NDe || e == MDe ? t.size : wm(t).length; + } + var NDe, + MDe, + VL, + Xee = R(() => { + 'use strict'; + lw(); + Od(); + Io(); + Hw(); + Pee(); + (NDe = '[object Map]'), (MDe = '[object Set]'); + o(IDe, 'size'); + VL = IDe; + }); + function ODe(t, e) { + var r; + return ( + As(t, function (n, i, a) { + return (r = e(n, i, a)), !r; + }), + !!r + ); + } + var jee, + Kee = R(() => { + 'use strict'; + qh(); + o(ODe, 'baseSome'); + jee = ODe; + }); + function PDe(t, e, r) { + var n = wt(t) ? Sw : jee; + return r && eo(t, e, r) && (e = void 0), n(t, cn(e, 3)); + } + var Nv, + Qee = R(() => { + 'use strict'; + vL(); + Qa(); + Kee(); + Bn(); + Ed(); + o(PDe, 'some'); + Nv = PDe; + }); + var BDe, + Tc, + Zee = R(() => { + 'use strict'; + Cm(); + kee(); + sm(); + Ed(); + (BDe = pc(function (t, e) { + if (t == null) return []; + var r = e.length; + return ( + r > 1 && eo(t, e[0], e[1]) ? (e = []) : r > 2 && eo(e[0], e[1], e[2]) && (e = [e[0]]), + Tee(t, bc(e, 1), []) + ); + })), + (Tc = BDe); + }); + var FDe, + zDe, + Jee, + ete = R(() => { + 'use strict'; + pL(); + nL(); + Lw(); + (FDe = 1 / 0), + (zDe = + Wh && 1 / Dm(new Wh([, -0]))[1] == FDe + ? function (t) { + return new Wh(t); + } + : qn), + (Jee = zDe); + }); + function $De(t, e, r) { + var n = -1, + i = ow, + a = t.length, + s = !0, + l = [], + u = l; + if (r) (s = !1), (i = zw); + else if (a >= GDe) { + var h = e ? null : Jee(t); + if (h) return Dm(h); + (s = !1), (i = Lm), (u = new _m()); + } else u = e ? [] : l; + e: for (; ++n < a; ) { + var f = t[n], + d = e ? e(f) : f; + if (((f = r || f !== 0 ? f : 0), s && d === d)) { + for (var p = u.length; p--; ) if (u[p] === d) continue e; + e && u.push(d), l.push(f); + } else i(u, d, r) || (u !== l && u.push(d), l.push(f)); + } + return l; + } + var GDe, + Om, + Kw = R(() => { + 'use strict'; + Cw(); + sL(); + AL(); + Aw(); + ete(); + Lw(); + GDe = 200; + o($De, 'baseUniq'); + Om = $De; + }); + var VDe, + UL, + tte = R(() => { + 'use strict'; + Cm(); + sm(); + Kw(); + u5(); + (VDe = pc(function (t) { + return Om(bc(t, 1, wd, !0)); + })), + (UL = VDe); + }); + function UDe(t) { + return t && t.length ? Om(t) : []; + } + var Pm, + rte = R(() => { + 'use strict'; + Kw(); + o(UDe, 'uniq'); + Pm = UDe; + }); + function HDe(t, e) { + return t && t.length ? Om(t, cn(e, 2)) : []; + } + var nte, + ite = R(() => { + 'use strict'; + Qa(); + Kw(); + o(HDe, 'uniqBy'); + nte = HDe; + }); + function WDe(t) { + var e = ++YDe; + return uw(t) + e; + } + var YDe, + zd, + ate = R(() => { + 'use strict'; + oL(); + YDe = 0; + o(WDe, 'uniqueId'); + zd = WDe; + }); + function qDe(t, e, r) { + for (var n = -1, i = t.length, a = e.length, s = {}; ++n < i; ) { + var l = n < a ? e[n] : void 0; + r(s, t[n], l); + } + return s; + } + var ste, + ote = R(() => { + 'use strict'; + o(qDe, 'baseZipObject'); + ste = qDe; + }); + function XDe(t, e) { + return ste(t || [], e || [], dc); + } + var Qw, + lte = R(() => { + 'use strict'; + am(); + ote(); + o(XDe, 'zipObject'); + Qw = XDe; + }); + var Pt = R(() => { + 'use strict'; + NQ(); + gL(); + PZ(); + BZ(); + Y_(); + CJ(); + _J(); + DJ(); + RJ(); + NJ(); + BJ(); + LL(); + VJ(); + HJ(); + RL(); + fw(); + $w(); + YJ(); + WJ(); + qJ(); + ZJ(); + Eu(); + tee(); + ree(); + Bn(); + Ww(); + Jy(); + Js(); + see(); + Hw(); + oee(); + vc(); + LJ(); + Mm(); + lee(); + cee(); + X_(); + BL(); + uee(); + nL(); + kJ(); + zee(); + mee(); + Hee(); + $L(); + qee(); + Xee(); + Qee(); + Zee(); + tte(); + rte(); + ate(); + OL(); + lte(); + }); + function ute(t, e) { + t[e] ? t[e]++ : (t[e] = 1); + } + function hte(t, e) { + --t[e] || delete t[e]; + } + function Mv(t, e, r, n) { + var i = '' + e, + a = '' + r; + if (!t && i > a) { + var s = i; + (i = a), (a = s); + } + return i + cte + a + cte + (er(n) ? jDe : n); + } + function KDe(t, e, r, n) { + var i = '' + e, + a = '' + r; + if (!t && i > a) { + var s = i; + (i = a), (a = s); + } + var l = { v: i, w: a }; + return n && (l.name = n), l; + } + function HL(t, e) { + return Mv(t, e.v, e.w, e.name); + } + var jDe, + Gd, + cte, + lr, + Zw = R(() => { + 'use strict'; + Pt(); + (jDe = '\0'), + (Gd = '\0'), + (cte = ''), + (lr = class { + static { + o(this, 'Graph'); + } + constructor(e = {}) { + (this._isDirected = Xe(e, 'directed') ? e.directed : !0), + (this._isMultigraph = Xe(e, 'multigraph') ? e.multigraph : !1), + (this._isCompound = Xe(e, 'compound') ? e.compound : !1), + (this._label = void 0), + (this._defaultNodeLabelFn = ws(void 0)), + (this._defaultEdgeLabelFn = ws(void 0)), + (this._nodes = {}), + this._isCompound && ((this._parent = {}), (this._children = {}), (this._children[Gd] = {})), + (this._in = {}), + (this._preds = {}), + (this._out = {}), + (this._sucs = {}), + (this._edgeObjs = {}), + (this._edgeLabels = {}); + } + isDirected() { + return this._isDirected; + } + isMultigraph() { + return this._isMultigraph; + } + isCompound() { + return this._isCompound; + } + setGraph(e) { + return (this._label = e), this; + } + graph() { + return this._label; + } + setDefaultNodeLabel(e) { + return wi(e) || (e = ws(e)), (this._defaultNodeLabelFn = e), this; + } + nodeCount() { + return this._nodeCount; + } + nodes() { + return Dr(this._nodes); + } + sources() { + var e = this; + return $r(this.nodes(), function (r) { + return Qt(e._in[r]); + }); + } + sinks() { + var e = this; + return $r(this.nodes(), function (r) { + return Qt(e._out[r]); + }); + } + setNodes(e, r) { + var n = arguments, + i = this; + return ( + Ee(e, function (a) { + n.length > 1 ? i.setNode(a, r) : i.setNode(a); + }), + this + ); + } + setNode(e, r) { + return Xe(this._nodes, e) + ? (arguments.length > 1 && (this._nodes[e] = r), this) + : ((this._nodes[e] = arguments.length > 1 ? r : this._defaultNodeLabelFn(e)), + this._isCompound && + ((this._parent[e] = Gd), (this._children[e] = {}), (this._children[Gd][e] = !0)), + (this._in[e] = {}), + (this._preds[e] = {}), + (this._out[e] = {}), + (this._sucs[e] = {}), + ++this._nodeCount, + this); + } + node(e) { + return this._nodes[e]; + } + hasNode(e) { + return Xe(this._nodes, e); + } + removeNode(e) { + var r = this; + if (Xe(this._nodes, e)) { + var n = o(function (i) { + r.removeEdge(r._edgeObjs[i]); + }, 'removeEdge'); + delete this._nodes[e], + this._isCompound && + (this._removeFromParentsChildList(e), + delete this._parent[e], + Ee(this.children(e), function (i) { + r.setParent(i); + }), + delete this._children[e]), + Ee(Dr(this._in[e]), n), + delete this._in[e], + delete this._preds[e], + Ee(Dr(this._out[e]), n), + delete this._out[e], + delete this._sucs[e], + --this._nodeCount; + } + return this; + } + setParent(e, r) { + if (!this._isCompound) throw new Error('Cannot set parent in a non-compound graph'); + if (er(r)) r = Gd; + else { + r += ''; + for (var n = r; !er(n); n = this.parent(n)) + if (n === e) + throw new Error('Setting ' + r + ' as parent of ' + e + ' would create a cycle'); + this.setNode(r); + } + return ( + this.setNode(e), + this._removeFromParentsChildList(e), + (this._parent[e] = r), + (this._children[r][e] = !0), + this + ); + } + _removeFromParentsChildList(e) { + delete this._children[this._parent[e]][e]; + } + parent(e) { + if (this._isCompound) { + var r = this._parent[e]; + if (r !== Gd) return r; + } + } + children(e) { + if ((er(e) && (e = Gd), this._isCompound)) { + var r = this._children[e]; + if (r) return Dr(r); + } else { + if (e === Gd) return this.nodes(); + if (this.hasNode(e)) return []; + } + } + predecessors(e) { + var r = this._preds[e]; + if (r) return Dr(r); + } + successors(e) { + var r = this._sucs[e]; + if (r) return Dr(r); + } + neighbors(e) { + var r = this.predecessors(e); + if (r) return UL(r, this.successors(e)); + } + isLeaf(e) { + var r; + return this.isDirected() ? (r = this.successors(e)) : (r = this.neighbors(e)), r.length === 0; + } + filterNodes(e) { + var r = new this.constructor({ + directed: this._isDirected, + multigraph: this._isMultigraph, + compound: this._isCompound + }); + r.setGraph(this.graph()); + var n = this; + Ee(this._nodes, function (s, l) { + e(l) && r.setNode(l, s); + }), + Ee(this._edgeObjs, function (s) { + r.hasNode(s.v) && r.hasNode(s.w) && r.setEdge(s, n.edge(s)); + }); + var i = {}; + function a(s) { + var l = n.parent(s); + return l === void 0 || r.hasNode(l) ? ((i[s] = l), l) : l in i ? i[l] : a(l); + } + return ( + o(a, 'findParent'), + this._isCompound && + Ee(r.nodes(), function (s) { + r.setParent(s, a(s)); + }), + r + ); + } + setDefaultEdgeLabel(e) { + return wi(e) || (e = ws(e)), (this._defaultEdgeLabelFn = e), this; + } + edgeCount() { + return this._edgeCount; + } + edges() { + return or(this._edgeObjs); + } + setPath(e, r) { + var n = this, + i = arguments; + return ( + Vr(e, function (a, s) { + return i.length > 1 ? n.setEdge(a, s, r) : n.setEdge(a, s), s; + }), + this + ); + } + setEdge() { + var e, + r, + n, + i, + a = !1, + s = arguments[0]; + typeof s == 'object' && s !== null && 'v' in s + ? ((e = s.v), + (r = s.w), + (n = s.name), + arguments.length === 2 && ((i = arguments[1]), (a = !0))) + : ((e = s), + (r = arguments[1]), + (n = arguments[3]), + arguments.length > 2 && ((i = arguments[2]), (a = !0))), + (e = '' + e), + (r = '' + r), + er(n) || (n = '' + n); + var l = Mv(this._isDirected, e, r, n); + if (Xe(this._edgeLabels, l)) return a && (this._edgeLabels[l] = i), this; + if (!er(n) && !this._isMultigraph) + throw new Error('Cannot set a named edge when isMultigraph = false'); + this.setNode(e), + this.setNode(r), + (this._edgeLabels[l] = a ? i : this._defaultEdgeLabelFn(e, r, n)); + var u = KDe(this._isDirected, e, r, n); + return ( + (e = u.v), + (r = u.w), + Object.freeze(u), + (this._edgeObjs[l] = u), + ute(this._preds[r], e), + ute(this._sucs[e], r), + (this._in[r][l] = u), + (this._out[e][l] = u), + this._edgeCount++, + this + ); + } + edge(e, r, n) { + var i = + arguments.length === 1 ? HL(this._isDirected, arguments[0]) : Mv(this._isDirected, e, r, n); + return this._edgeLabels[i]; + } + hasEdge(e, r, n) { + var i = + arguments.length === 1 ? HL(this._isDirected, arguments[0]) : Mv(this._isDirected, e, r, n); + return Xe(this._edgeLabels, i); + } + removeEdge(e, r, n) { + var i = + arguments.length === 1 + ? HL(this._isDirected, arguments[0]) + : Mv(this._isDirected, e, r, n), + a = this._edgeObjs[i]; + return ( + a && + ((e = a.v), + (r = a.w), + delete this._edgeLabels[i], + delete this._edgeObjs[i], + hte(this._preds[r], e), + hte(this._sucs[e], r), + delete this._in[r][i], + delete this._out[e][i], + this._edgeCount--), + this + ); + } + inEdges(e, r) { + var n = this._in[e]; + if (n) { + var i = or(n); + return r + ? $r(i, function (a) { + return a.v === r; + }) + : i; + } + } + outEdges(e, r) { + var n = this._out[e]; + if (n) { + var i = or(n); + return r + ? $r(i, function (a) { + return a.w === r; + }) + : i; + } + } + nodeEdges(e, r) { + var n = this.inEdges(e, r); + if (n) return n.concat(this.outEdges(e, r)); + } + }); + lr.prototype._nodeCount = 0; + lr.prototype._edgeCount = 0; + o(ute, 'incrementOrInitEntry'); + o(hte, 'decrementOrRemoveEntry'); + o(Mv, 'edgeArgsToId'); + o(KDe, 'edgeArgsToObj'); + o(HL, 'edgeObjToId'); + }); + var ya = R(() => { + 'use strict'; + Zw(); + }); + function fte(t) { + (t._prev._next = t._next), (t._next._prev = t._prev), delete t._next, delete t._prev; + } + function QDe(t, e) { + if (t !== '_next' && t !== '_prev') return e; + } + var Jw, + dte = R(() => { + 'use strict'; + Jw = class { + static { + o(this, 'List'); + } + constructor() { + var e = {}; + (e._next = e._prev = e), (this._sentinel = e); + } + dequeue() { + var e = this._sentinel, + r = e._prev; + if (r !== e) return fte(r), r; + } + enqueue(e) { + var r = this._sentinel; + e._prev && e._next && fte(e), + (e._next = r._next), + (r._next._prev = e), + (r._next = e), + (e._prev = r); + } + toString() { + for (var e = [], r = this._sentinel, n = r._prev; n !== r; ) + e.push(JSON.stringify(n, QDe)), (n = n._prev); + return '[' + e.join(', ') + ']'; + } + }; + o(fte, 'unlink'); + o(QDe, 'filterOutLinks'); + }); + function pte(t, e) { + if (t.nodeCount() <= 1) return []; + var r = eRe(t, e || ZDe), + n = JDe(r.graph, r.buckets, r.zeroIdx); + return Gr( + qe(n, function (i) { + return t.outEdges(i.v, i.w); + }) + ); + } + function JDe(t, e, r) { + for (var n = [], i = e[e.length - 1], a = e[0], s; t.nodeCount(); ) { + for (; (s = a.dequeue()); ) YL(t, e, r, s); + for (; (s = i.dequeue()); ) YL(t, e, r, s); + if (t.nodeCount()) { + for (var l = e.length - 2; l > 0; --l) + if (((s = e[l].dequeue()), s)) { + n = n.concat(YL(t, e, r, s, !0)); + break; + } + } + } + return n; + } + function YL(t, e, r, n, i) { + var a = i ? [] : void 0; + return ( + Ee(t.inEdges(n.v), function (s) { + var l = t.edge(s), + u = t.node(s.v); + i && a.push({ v: s.v, w: s.w }), (u.out -= l), WL(e, r, u); + }), + Ee(t.outEdges(n.v), function (s) { + var l = t.edge(s), + u = s.w, + h = t.node(u); + (h.in -= l), WL(e, r, h); + }), + t.removeNode(n.v), + a + ); + } + function eRe(t, e) { + var r = new lr(), + n = 0, + i = 0; + Ee(t.nodes(), function (l) { + r.setNode(l, { v: l, in: 0, out: 0 }); + }), + Ee(t.edges(), function (l) { + var u = r.edge(l.v, l.w) || 0, + h = e(l), + f = u + h; + r.setEdge(l.v, l.w, f), + (i = Math.max(i, (r.node(l.v).out += h))), + (n = Math.max(n, (r.node(l.w).in += h))); + }); + var a = Go(i + n + 3).map(function () { + return new Jw(); + }), + s = n + 1; + return ( + Ee(r.nodes(), function (l) { + WL(a, s, r.node(l)); + }), + { graph: r, buckets: a, zeroIdx: s } + ); + } + function WL(t, e, r) { + r.out ? (r.in ? t[r.out - r.in + e].enqueue(r) : t[t.length - 1].enqueue(r)) : t[0].enqueue(r); + } + var ZDe, + mte = R(() => { + 'use strict'; + Pt(); + ya(); + dte(); + ZDe = ws(1); + o(pte, 'greedyFAS'); + o(JDe, 'doGreedyFAS'); + o(YL, 'removeNode'); + o(eRe, 'buildState'); + o(WL, 'assignBucket'); + }); + function gte(t) { + var e = t.graph().acyclicer === 'greedy' ? pte(t, r(t)) : tRe(t); + Ee(e, function (n) { + var i = t.edge(n); + t.removeEdge(n), (i.forwardName = n.name), (i.reversed = !0), t.setEdge(n.w, n.v, i, zd('rev')); + }); + function r(n) { + return function (i) { + return n.edge(i).weight; + }; + } + o(r, 'weightFn'); + } + function tRe(t) { + var e = [], + r = {}, + n = {}; + function i(a) { + Xe(n, a) || + ((n[a] = !0), + (r[a] = !0), + Ee(t.outEdges(a), function (s) { + Xe(r, s.w) ? e.push(s) : i(s.w); + }), + delete r[a]); + } + return o(i, 'dfs'), Ee(t.nodes(), i), e; + } + function yte(t) { + Ee(t.edges(), function (e) { + var r = t.edge(e); + if (r.reversed) { + t.removeEdge(e); + var n = r.forwardName; + delete r.reversed, delete r.forwardName, t.setEdge(e.w, e.v, r, n); + } + }); + } + var qL = R(() => { + 'use strict'; + Pt(); + mte(); + o(gte, 'run'); + o(tRe, 'dfsFAS'); + o(yte, 'undo'); + }); + function kc(t, e, r, n) { + var i; + do i = zd(n); + while (t.hasNode(i)); + return (r.dummy = e), t.setNode(i, r), i; + } + function xte(t) { + var e = new lr().setGraph(t.graph()); + return ( + Ee(t.nodes(), function (r) { + e.setNode(r, t.node(r)); + }), + Ee(t.edges(), function (r) { + var n = e.edge(r.v, r.w) || { weight: 0, minlen: 1 }, + i = t.edge(r); + e.setEdge(r.v, r.w, { + weight: n.weight + i.weight, + minlen: Math.max(n.minlen, i.minlen) + }); + }), + e + ); + } + function eT(t) { + var e = new lr({ multigraph: t.isMultigraph() }).setGraph(t.graph()); + return ( + Ee(t.nodes(), function (r) { + t.children(r).length || e.setNode(r, t.node(r)); + }), + Ee(t.edges(), function (r) { + e.setEdge(r, t.edge(r)); + }), + e + ); + } + function XL(t, e) { + var r = t.x, + n = t.y, + i = e.x - r, + a = e.y - n, + s = t.width / 2, + l = t.height / 2; + if (!i && !a) throw new Error('Not possible to find intersection inside of the rectangle'); + var u, h; + return ( + Math.abs(a) * s > Math.abs(i) * l + ? (a < 0 && (l = -l), (u = (l * i) / a), (h = l)) + : (i < 0 && (s = -s), (u = s), (h = (s * a) / i)), + { x: r + u, y: n + h } + ); + } + function Qh(t) { + var e = qe(Go(KL(t) + 1), function () { + return []; + }); + return ( + Ee(t.nodes(), function (r) { + var n = t.node(r), + i = n.rank; + er(i) || (e[i][n.order] = r); + }), + e + ); + } + function bte(t) { + var e = Ll( + qe(t.nodes(), function (r) { + return t.node(r).rank; + }) + ); + Ee(t.nodes(), function (r) { + var n = t.node(r); + Xe(n, 'rank') && (n.rank -= e); + }); + } + function wte(t) { + var e = Ll( + qe(t.nodes(), function (a) { + return t.node(a).rank; + }) + ), + r = []; + Ee(t.nodes(), function (a) { + var s = t.node(a).rank - e; + r[s] || (r[s] = []), r[s].push(a); + }); + var n = 0, + i = t.graph().nodeRankFactor; + Ee(r, function (a, s) { + er(a) && s % i !== 0 + ? --n + : n && + Ee(a, function (l) { + t.node(l).rank += n; + }); + }); + } + function jL(t, e, r, n) { + var i = { width: 0, height: 0 }; + return arguments.length >= 4 && ((i.rank = r), (i.order = n)), kc(t, 'border', i, e); + } + function KL(t) { + return _s( + qe(t.nodes(), function (e) { + var r = t.node(e).rank; + if (!er(r)) return r; + }) + ); + } + function Tte(t, e) { + var r = { lhs: [], rhs: [] }; + return ( + Ee(t, function (n) { + e(n) ? r.lhs.push(n) : r.rhs.push(n); + }), + r + ); + } + function kte(t, e) { + var r = Fw(); + try { + return e(); + } finally { + console.log(t + ' time: ' + (Fw() - r) + 'ms'); + } + } + function Ete(t, e) { + return e(); + } + var Ec = R(() => { + 'use strict'; + Pt(); + ya(); + o(kc, 'addDummyNode'); + o(xte, 'simplify'); + o(eT, 'asNonCompoundGraph'); + o(XL, 'intersectRect'); + o(Qh, 'buildLayerMatrix'); + o(bte, 'normalizeRanks'); + o(wte, 'removeEmptyRanks'); + o(jL, 'addBorderNode'); + o(KL, 'maxRank'); + o(Tte, 'partition'); + o(kte, 'time'); + o(Ete, 'notime'); + }); + function Ste(t) { + function e(r) { + var n = t.children(r), + i = t.node(r); + if ((n.length && Ee(n, e), Xe(i, 'minRank'))) { + (i.borderLeft = []), (i.borderRight = []); + for (var a = i.minRank, s = i.maxRank + 1; a < s; ++a) + Cte(t, 'borderLeft', '_bl', r, i, a), Cte(t, 'borderRight', '_br', r, i, a); + } + } + o(e, 'dfs'), Ee(t.children(), e); + } + function Cte(t, e, r, n, i, a) { + var s = { width: 0, height: 0, rank: a, borderType: e }, + l = i[e][a - 1], + u = kc(t, 'border', s, r); + (i[e][a] = u), t.setParent(u, n), l && t.setEdge(l, u, { weight: 1 }); + } + var Ate = R(() => { + 'use strict'; + Pt(); + Ec(); + o(Ste, 'addBorderSegments'); + o(Cte, 'addBorderNode'); + }); + function Lte(t) { + var e = t.graph().rankdir.toLowerCase(); + (e === 'lr' || e === 'rl') && Rte(t); + } + function Dte(t) { + var e = t.graph().rankdir.toLowerCase(); + (e === 'bt' || e === 'rl') && rRe(t), (e === 'lr' || e === 'rl') && (nRe(t), Rte(t)); + } + function Rte(t) { + Ee(t.nodes(), function (e) { + _te(t.node(e)); + }), + Ee(t.edges(), function (e) { + _te(t.edge(e)); + }); + } + function _te(t) { + var e = t.width; + (t.width = t.height), (t.height = e); + } + function rRe(t) { + Ee(t.nodes(), function (e) { + QL(t.node(e)); + }), + Ee(t.edges(), function (e) { + var r = t.edge(e); + Ee(r.points, QL), Xe(r, 'y') && QL(r); + }); + } + function QL(t) { + t.y = -t.y; + } + function nRe(t) { + Ee(t.nodes(), function (e) { + ZL(t.node(e)); + }), + Ee(t.edges(), function (e) { + var r = t.edge(e); + Ee(r.points, ZL), Xe(r, 'x') && ZL(r); + }); + } + function ZL(t) { + var e = t.x; + (t.x = t.y), (t.y = e); + } + var Nte = R(() => { + 'use strict'; + Pt(); + o(Lte, 'adjust'); + o(Dte, 'undo'); + o(Rte, 'swapWidthHeight'); + o(_te, 'swapWidthHeightOne'); + o(rRe, 'reverseY'); + o(QL, 'reverseYOne'); + o(nRe, 'swapXY'); + o(ZL, 'swapXYOne'); + }); + function Mte(t) { + (t.graph().dummyChains = []), + Ee(t.edges(), function (e) { + aRe(t, e); + }); + } + function aRe(t, e) { + var r = e.v, + n = t.node(r).rank, + i = e.w, + a = t.node(i).rank, + s = e.name, + l = t.edge(e), + u = l.labelRank; + if (a !== n + 1) { + t.removeEdge(e); + var h, f, d; + for (d = 0, ++n; n < a; ++d, ++n) + (l.points = []), + (f = { width: 0, height: 0, edgeLabel: l, edgeObj: e, rank: n }), + (h = kc(t, 'edge', f, '_d')), + n === u && + ((f.width = l.width), + (f.height = l.height), + (f.dummy = 'edge-label'), + (f.labelpos = l.labelpos)), + t.setEdge(r, h, { weight: l.weight }, s), + d === 0 && t.graph().dummyChains.push(h), + (r = h); + t.setEdge(r, i, { weight: l.weight }, s); + } + } + function Ite(t) { + Ee(t.graph().dummyChains, function (e) { + var r = t.node(e), + n = r.edgeLabel, + i; + for (t.setEdge(r.edgeObj, n); r.dummy; ) + (i = t.successors(e)[0]), + t.removeNode(e), + n.points.push({ x: r.x, y: r.y }), + r.dummy === 'edge-label' && ((n.x = r.x), (n.y = r.y), (n.width = r.width), (n.height = r.height)), + (e = i), + (r = t.node(e)); + }); + } + var JL = R(() => { + 'use strict'; + Pt(); + Ec(); + o(Mte, 'run'); + o(aRe, 'normalizeEdge'); + o(Ite, 'undo'); + }); + function Iv(t) { + var e = {}; + function r(n) { + var i = t.node(n); + if (Xe(e, n)) return i.rank; + e[n] = !0; + var a = Ll( + qe(t.outEdges(n), function (s) { + return r(s.w) - t.edge(s).minlen; + }) + ); + return (a === Number.POSITIVE_INFINITY || a === void 0 || a === null) && (a = 0), (i.rank = a); + } + o(r, 'dfs'), Ee(t.sources(), r); + } + function $d(t, e) { + return t.node(e.w).rank - t.node(e.v).rank - t.edge(e).minlen; + } + var tT = R(() => { + 'use strict'; + Pt(); + o(Iv, 'longestPath'); + o($d, 'slack'); + }); + function rT(t) { + var e = new lr({ directed: !1 }), + r = t.nodes()[0], + n = t.nodeCount(); + e.setNode(r, {}); + for (var i, a; sRe(e, t) < n; ) (i = oRe(e, t)), (a = e.hasNode(i.v) ? $d(t, i) : -$d(t, i)), lRe(e, t, a); + return e; + } + function sRe(t, e) { + function r(n) { + Ee(e.nodeEdges(n), function (i) { + var a = i.v, + s = n === a ? i.w : a; + !t.hasNode(s) && !$d(e, i) && (t.setNode(s, {}), t.setEdge(n, s, {}), r(s)); + }); + } + return o(r, 'dfs'), Ee(t.nodes(), r), t.nodeCount(); + } + function oRe(t, e) { + return Bd(e.edges(), function (r) { + if (t.hasNode(r.v) !== t.hasNode(r.w)) return $d(e, r); + }); + } + function lRe(t, e, r) { + Ee(t.nodes(), function (n) { + e.node(n).rank += r; + }); + } + var eD = R(() => { + 'use strict'; + Pt(); + ya(); + tT(); + o(rT, 'feasibleTree'); + o(sRe, 'tightTree'); + o(oRe, 'findMinSlackEdge'); + o(lRe, 'shiftRanks'); + }); + var Pte = R(() => { + 'use strict'; + }); + var tD = R(() => { + 'use strict'; + }); + var tGt, + rD = R(() => { + 'use strict'; + Pt(); + tD(); + tGt = ws(1); + }); + var Bte = R(() => { + 'use strict'; + rD(); + }); + var nD = R(() => { + 'use strict'; + }); + var Fte = R(() => { + 'use strict'; + nD(); + }); + var fGt, + zte = R(() => { + 'use strict'; + Pt(); + fGt = ws(1); + }); + function iD(t) { + var e = {}, + r = {}, + n = []; + function i(a) { + if (Xe(r, a)) throw new Ov(); + Xe(e, a) || ((r[a] = !0), (e[a] = !0), Ee(t.predecessors(a), i), delete r[a], n.push(a)); + } + if ((o(i, 'visit'), Ee(t.sinks(), i), VL(e) !== t.nodeCount())) throw new Ov(); + return n; + } + function Ov() {} + var aD = R(() => { + 'use strict'; + Pt(); + iD.CycleException = Ov; + o(iD, 'topsort'); + o(Ov, 'CycleException'); + Ov.prototype = new Error(); + }); + var Gte = R(() => { + 'use strict'; + aD(); + }); + function nT(t, e, r) { + wt(e) || (e = [e]); + var n = (t.isDirected() ? t.successors : t.neighbors).bind(t), + i = [], + a = {}; + return ( + Ee(e, function (s) { + if (!t.hasNode(s)) throw new Error('Graph does not have node: ' + s); + $te(t, s, r === 'post', a, n, i); + }), + i + ); + } + function $te(t, e, r, n, i, a) { + Xe(n, e) || + ((n[e] = !0), + r || a.push(e), + Ee(i(e), function (s) { + $te(t, s, r, n, i, a); + }), + r && a.push(e)); + } + var sD = R(() => { + 'use strict'; + Pt(); + o(nT, 'dfs'); + o($te, 'doDfs'); + }); + function oD(t, e) { + return nT(t, e, 'post'); + } + var Vte = R(() => { + 'use strict'; + sD(); + o(oD, 'postorder'); + }); + function lD(t, e) { + return nT(t, e, 'pre'); + } + var Ute = R(() => { + 'use strict'; + sD(); + o(lD, 'preorder'); + }); + var Hte = R(() => { + 'use strict'; + tD(); + Zw(); + }); + var Yte = R(() => { + 'use strict'; + Pte(); + rD(); + Bte(); + Fte(); + zte(); + Gte(); + Vte(); + Ute(); + Hte(); + nD(); + aD(); + }); + function Jh(t) { + (t = xte(t)), Iv(t); + var e = rT(t); + uD(e), cD(e, t); + for (var r, n; (r = jte(e)); ) (n = Kte(e, t, r)), Qte(e, t, r, n); + } + function cD(t, e) { + var r = oD(t, t.nodes()); + (r = r.slice(0, r.length - 1)), + Ee(r, function (n) { + dRe(t, e, n); + }); + } + function dRe(t, e, r) { + var n = t.node(r), + i = n.parent; + t.edge(r, i).cutvalue = qte(t, e, r); + } + function qte(t, e, r) { + var n = t.node(r), + i = n.parent, + a = !0, + s = e.edge(r, i), + l = 0; + return ( + s || ((a = !1), (s = e.edge(i, r))), + (l = s.weight), + Ee(e.nodeEdges(r), function (u) { + var h = u.v === r, + f = h ? u.w : u.v; + if (f !== i) { + var d = h === a, + p = e.edge(u).weight; + if (((l += d ? p : -p), mRe(t, r, f))) { + var m = t.edge(r, f).cutvalue; + l += d ? -m : m; + } + } + }), + l + ); + } + function uD(t, e) { + arguments.length < 2 && (e = t.nodes()[0]), Xte(t, {}, 1, e); + } + function Xte(t, e, r, n, i) { + var a = r, + s = t.node(n); + return ( + (e[n] = !0), + Ee(t.neighbors(n), function (l) { + Xe(e, l) || (r = Xte(t, e, r, l, n)); + }), + (s.low = a), + (s.lim = r++), + i ? (s.parent = i) : delete s.parent, + r + ); + } + function jte(t) { + return Za(t.edges(), function (e) { + return t.edge(e).cutvalue < 0; + }); + } + function Kte(t, e, r) { + var n = r.v, + i = r.w; + e.hasEdge(n, i) || ((n = r.w), (i = r.v)); + var a = t.node(n), + s = t.node(i), + l = a, + u = !1; + a.lim > s.lim && ((l = s), (u = !0)); + var h = $r(e.edges(), function (f) { + return u === Wte(t, t.node(f.v), l) && u !== Wte(t, t.node(f.w), l); + }); + return Bd(h, function (f) { + return $d(e, f); + }); + } + function Qte(t, e, r, n) { + var i = r.v, + a = r.w; + t.removeEdge(i, a), t.setEdge(n.v, n.w, {}), uD(t), cD(t, e), pRe(t, e); + } + function pRe(t, e) { + var r = Za(t.nodes(), function (i) { + return !e.node(i).parent; + }), + n = lD(t, r); + (n = n.slice(1)), + Ee(n, function (i) { + var a = t.node(i).parent, + s = e.edge(i, a), + l = !1; + s || ((s = e.edge(a, i)), (l = !0)), (e.node(i).rank = e.node(a).rank + (l ? s.minlen : -s.minlen)); + }); + } + function mRe(t, e, r) { + return t.hasEdge(e, r); + } + function Wte(t, e, r) { + return r.low <= e.lim && e.lim <= r.lim; + } + var Zte = R(() => { + 'use strict'; + Pt(); + Yte(); + Ec(); + eD(); + tT(); + Jh.initLowLimValues = uD; + Jh.initCutValues = cD; + Jh.calcCutValue = qte; + Jh.leaveEdge = jte; + Jh.enterEdge = Kte; + Jh.exchangeEdges = Qte; + o(Jh, 'networkSimplex'); + o(cD, 'initCutValues'); + o(dRe, 'assignCutValue'); + o(qte, 'calcCutValue'); + o(uD, 'initLowLimValues'); + o(Xte, 'dfsAssignLowLim'); + o(jte, 'leaveEdge'); + o(Kte, 'enterEdge'); + o(Qte, 'exchangeEdges'); + o(pRe, 'updateRanks'); + o(mRe, 'isTreeEdge'); + o(Wte, 'isDescendant'); + }); + function hD(t) { + switch (t.graph().ranker) { + case 'network-simplex': + Jte(t); + break; + case 'tight-tree': + yRe(t); + break; + case 'longest-path': + gRe(t); + break; + default: + Jte(t); + } + } + function yRe(t) { + Iv(t), rT(t); + } + function Jte(t) { + Jh(t); + } + var gRe, + fD = R(() => { + 'use strict'; + eD(); + Zte(); + tT(); + o(hD, 'rank'); + gRe = Iv; + o(yRe, 'tightTreeRanker'); + o(Jte, 'networkSimplexRanker'); + }); + function ere(t) { + var e = kc(t, 'root', {}, '_root'), + r = vRe(t), + n = _s(or(r)) - 1, + i = 2 * n + 1; + (t.graph().nestingRoot = e), + Ee(t.edges(), function (s) { + t.edge(s).minlen *= i; + }); + var a = xRe(t) + 1; + Ee(t.children(), function (s) { + tre(t, e, i, a, n, r, s); + }), + (t.graph().nodeRankFactor = i); + } + function tre(t, e, r, n, i, a, s) { + var l = t.children(s); + if (!l.length) { + s !== e && t.setEdge(e, s, { weight: 0, minlen: r }); + return; + } + var u = jL(t, '_bt'), + h = jL(t, '_bb'), + f = t.node(s); + t.setParent(u, s), + (f.borderTop = u), + t.setParent(h, s), + (f.borderBottom = h), + Ee(l, function (d) { + tre(t, e, r, n, i, a, d); + var p = t.node(d), + m = p.borderTop ? p.borderTop : d, + g = p.borderBottom ? p.borderBottom : d, + y = p.borderTop ? n : 2 * n, + v = m !== g ? 1 : i - a[s] + 1; + t.setEdge(u, m, { weight: y, minlen: v, nestingEdge: !0 }), + t.setEdge(g, h, { weight: y, minlen: v, nestingEdge: !0 }); + }), + t.parent(s) || t.setEdge(e, u, { weight: 0, minlen: i + a[s] }); + } + function vRe(t) { + var e = {}; + function r(n, i) { + var a = t.children(n); + a && + a.length && + Ee(a, function (s) { + r(s, i + 1); + }), + (e[n] = i); + } + return ( + o(r, 'dfs'), + Ee(t.children(), function (n) { + r(n, 1); + }), + e + ); + } + function xRe(t) { + return Vr( + t.edges(), + function (e, r) { + return e + t.edge(r).weight; + }, + 0 + ); + } + function rre(t) { + var e = t.graph(); + t.removeNode(e.nestingRoot), + delete e.nestingRoot, + Ee(t.edges(), function (r) { + var n = t.edge(r); + n.nestingEdge && t.removeEdge(r); + }); + } + var nre = R(() => { + 'use strict'; + Pt(); + Ec(); + o(ere, 'run'); + o(tre, 'dfs'); + o(vRe, 'treeDepths'); + o(xRe, 'sumWeights'); + o(rre, 'cleanup'); + }); + function ire(t, e, r) { + var n = {}, + i; + Ee(r, function (a) { + for (var s = t.parent(a), l, u; s; ) { + if (((l = t.parent(s)), l ? ((u = n[l]), (n[l] = s)) : ((u = i), (i = s)), u && u !== s)) { + e.setEdge(u, s); + return; + } + s = l; + } + }); + } + var are = R(() => { + 'use strict'; + Pt(); + o(ire, 'addSubgraphConstraints'); + }); + function sre(t, e, r) { + var n = wRe(t), + i = new lr({ compound: !0 }).setGraph({ root: n }).setDefaultNodeLabel(function (a) { + return t.node(a); + }); + return ( + Ee(t.nodes(), function (a) { + var s = t.node(a), + l = t.parent(a); + (s.rank === e || (s.minRank <= e && e <= s.maxRank)) && + (i.setNode(a), + i.setParent(a, l || n), + Ee(t[r](a), function (u) { + var h = u.v === a ? u.w : u.v, + f = i.edge(h, a), + d = er(f) ? 0 : f.weight; + i.setEdge(h, a, { weight: t.edge(u).weight + d }); + }), + Xe(s, 'minRank') && + i.setNode(a, { + borderLeft: s.borderLeft[e], + borderRight: s.borderRight[e] + })); + }), + i + ); + } + function wRe(t) { + for (var e; t.hasNode((e = zd('_root'))); ); + return e; + } + var ore = R(() => { + 'use strict'; + Pt(); + ya(); + o(sre, 'buildLayerGraph'); + o(wRe, 'createRootNode'); + }); + function lre(t, e) { + for (var r = 0, n = 1; n < e.length; ++n) r += TRe(t, e[n - 1], e[n]); + return r; + } + function TRe(t, e, r) { + for ( + var n = Qw( + r, + qe(r, function (h, f) { + return f; + }) + ), + i = Gr( + qe(e, function (h) { + return Tc( + qe(t.outEdges(h), function (f) { + return { pos: n[f.w], weight: t.edge(f).weight }; + }), + 'pos' + ); + }) + ), + a = 1; + a < r.length; + + ) + a <<= 1; + var s = 2 * a - 1; + a -= 1; + var l = qe(new Array(s), function () { + return 0; + }), + u = 0; + return ( + Ee( + i.forEach(function (h) { + var f = h.pos + a; + l[f] += h.weight; + for (var d = 0; f > 0; ) f % 2 && (d += l[f + 1]), (f = (f - 1) >> 1), (l[f] += h.weight); + u += h.weight * d; + }) + ), + u + ); + } + var cre = R(() => { + 'use strict'; + Pt(); + o(lre, 'crossCount'); + o(TRe, 'twoLayerCrossCount'); + }); + function ure(t) { + var e = {}, + r = $r(t.nodes(), function (l) { + return !t.children(l).length; + }), + n = _s( + qe(r, function (l) { + return t.node(l).rank; + }) + ), + i = qe(Go(n + 1), function () { + return []; + }); + function a(l) { + if (!Xe(e, l)) { + e[l] = !0; + var u = t.node(l); + i[u.rank].push(l), Ee(t.successors(l), a); + } + } + o(a, 'dfs'); + var s = Tc(r, function (l) { + return t.node(l).rank; + }); + return Ee(s, a), i; + } + var hre = R(() => { + 'use strict'; + Pt(); + o(ure, 'initOrder'); + }); + function fre(t, e) { + return qe(e, function (r) { + var n = t.inEdges(r); + if (n.length) { + var i = Vr( + n, + function (a, s) { + var l = t.edge(s), + u = t.node(s.v); + return { + sum: a.sum + l.weight * u.order, + weight: a.weight + l.weight + }; + }, + { sum: 0, weight: 0 } + ); + return { v: r, barycenter: i.sum / i.weight, weight: i.weight }; + } else return { v: r }; + }); + } + var dre = R(() => { + 'use strict'; + Pt(); + o(fre, 'barycenter'); + }); + function pre(t, e) { + var r = {}; + Ee(t, function (i, a) { + var s = (r[i.v] = { indegree: 0, in: [], out: [], vs: [i.v], i: a }); + er(i.barycenter) || ((s.barycenter = i.barycenter), (s.weight = i.weight)); + }), + Ee(e.edges(), function (i) { + var a = r[i.v], + s = r[i.w]; + !er(a) && !er(s) && (s.indegree++, a.out.push(r[i.w])); + }); + var n = $r(r, function (i) { + return !i.indegree; + }); + return kRe(n); + } + function kRe(t) { + var e = []; + function r(a) { + return function (s) { + s.merged || ((er(s.barycenter) || er(a.barycenter) || s.barycenter >= a.barycenter) && ERe(a, s)); + }; + } + o(r, 'handleIn'); + function n(a) { + return function (s) { + s.in.push(a), --s.indegree === 0 && t.push(s); + }; + } + for (o(n, 'handleOut'); t.length; ) { + var i = t.pop(); + e.push(i), Ee(i.in.reverse(), r(i)), Ee(i.out, n(i)); + } + return qe( + $r(e, function (a) { + return !a.merged; + }), + function (a) { + return Fd(a, ['vs', 'i', 'barycenter', 'weight']); + } + ); + } + function ERe(t, e) { + var r = 0, + n = 0; + t.weight && ((r += t.barycenter * t.weight), (n += t.weight)), + e.weight && ((r += e.barycenter * e.weight), (n += e.weight)), + (t.vs = e.vs.concat(t.vs)), + (t.barycenter = r / n), + (t.weight = n), + (t.i = Math.min(e.i, t.i)), + (e.merged = !0); + } + var mre = R(() => { + 'use strict'; + Pt(); + o(pre, 'resolveConflicts'); + o(kRe, 'doResolveConflicts'); + o(ERe, 'mergeEntries'); + }); + function yre(t, e) { + var r = Tte(t, function (f) { + return Xe(f, 'barycenter'); + }), + n = r.lhs, + i = Tc(r.rhs, function (f) { + return -f.i; + }), + a = [], + s = 0, + l = 0, + u = 0; + n.sort(CRe(!!e)), + (u = gre(a, i, u)), + Ee(n, function (f) { + (u += f.vs.length), a.push(f.vs), (s += f.barycenter * f.weight), (l += f.weight), (u = gre(a, i, u)); + }); + var h = { vs: Gr(a) }; + return l && ((h.barycenter = s / l), (h.weight = l)), h; + } + function gre(t, e, r) { + for (var n; e.length && (n = ma(e)).i <= r; ) e.pop(), t.push(n.vs), r++; + return r; + } + function CRe(t) { + return function (e, r) { + return e.barycenter < r.barycenter ? -1 : e.barycenter > r.barycenter ? 1 : t ? r.i - e.i : e.i - r.i; + }; + } + var vre = R(() => { + 'use strict'; + Pt(); + Ec(); + o(yre, 'sort'); + o(gre, 'consumeUnsortable'); + o(CRe, 'compareWithBias'); + }); + function dD(t, e, r, n) { + var i = t.children(e), + a = t.node(e), + s = a ? a.borderLeft : void 0, + l = a ? a.borderRight : void 0, + u = {}; + s && + (i = $r(i, function (g) { + return g !== s && g !== l; + })); + var h = fre(t, i); + Ee(h, function (g) { + if (t.children(g.v).length) { + var y = dD(t, g.v, r, n); + (u[g.v] = y), Xe(y, 'barycenter') && ARe(g, y); + } + }); + var f = pre(h, r); + SRe(f, u); + var d = yre(f, n); + if (s && ((d.vs = Gr([s, d.vs, l])), t.predecessors(s).length)) { + var p = t.node(t.predecessors(s)[0]), + m = t.node(t.predecessors(l)[0]); + Xe(d, 'barycenter') || ((d.barycenter = 0), (d.weight = 0)), + (d.barycenter = (d.barycenter * d.weight + p.order + m.order) / (d.weight + 2)), + (d.weight += 2); + } + return d; + } + function SRe(t, e) { + Ee(t, function (r) { + r.vs = Gr( + r.vs.map(function (n) { + return e[n] ? e[n].vs : n; + }) + ); + }); + } + function ARe(t, e) { + er(t.barycenter) + ? ((t.barycenter = e.barycenter), (t.weight = e.weight)) + : ((t.barycenter = (t.barycenter * t.weight + e.barycenter * e.weight) / (t.weight + e.weight)), + (t.weight += e.weight)); + } + var xre = R(() => { + 'use strict'; + Pt(); + dre(); + mre(); + vre(); + o(dD, 'sortSubgraph'); + o(SRe, 'expandSubgraphs'); + o(ARe, 'mergeBarycenters'); + }); + function Tre(t) { + var e = KL(t), + r = bre(t, Go(1, e + 1), 'inEdges'), + n = bre(t, Go(e - 1, -1, -1), 'outEdges'), + i = ure(t); + wre(t, i); + for (var a = Number.POSITIVE_INFINITY, s, l = 0, u = 0; u < 4; ++l, ++u) { + _Re(l % 2 ? r : n, l % 4 >= 2), (i = Qh(t)); + var h = lre(t, i); + h < a && ((u = 0), (s = yL(i)), (a = h)); + } + wre(t, s); + } + function bre(t, e, r) { + return qe(e, function (n) { + return sre(t, n, r); + }); + } + function _Re(t, e) { + var r = new lr(); + Ee(t, function (n) { + var i = n.graph().root, + a = dD(n, i, r, e); + Ee(a.vs, function (s, l) { + n.node(s).order = l; + }), + ire(n, r, a.vs); + }); + } + function wre(t, e) { + Ee(e, function (r) { + Ee(r, function (n, i) { + t.node(n).order = i; + }); + }); + } + var kre = R(() => { + 'use strict'; + Pt(); + ya(); + Ec(); + are(); + ore(); + cre(); + hre(); + xre(); + o(Tre, 'order'); + o(bre, 'buildLayerGraphs'); + o(_Re, 'sweepLayerGraphs'); + o(wre, 'assignOrder'); + }); + function Ere(t) { + var e = DRe(t); + Ee(t.graph().dummyChains, function (r) { + for ( + var n = t.node(r), + i = n.edgeObj, + a = LRe(t, e, i.v, i.w), + s = a.path, + l = a.lca, + u = 0, + h = s[u], + f = !0; + r !== i.w; + + ) { + if (((n = t.node(r)), f)) { + for (; (h = s[u]) !== l && t.node(h).maxRank < n.rank; ) u++; + h === l && (f = !1); + } + if (!f) { + for (; u < s.length - 1 && t.node((h = s[u + 1])).minRank <= n.rank; ) u++; + h = s[u]; + } + t.setParent(r, h), (r = t.successors(r)[0]); + } + }); + } + function LRe(t, e, r, n) { + var i = [], + a = [], + s = Math.min(e[r].low, e[n].low), + l = Math.max(e[r].lim, e[n].lim), + u, + h; + u = r; + do (u = t.parent(u)), i.push(u); + while (u && (e[u].low > s || l > e[u].lim)); + for (h = u, u = n; (u = t.parent(u)) !== h; ) a.push(u); + return { path: i.concat(a.reverse()), lca: h }; + } + function DRe(t) { + var e = {}, + r = 0; + function n(i) { + var a = r; + Ee(t.children(i), n), (e[i] = { low: a, lim: r++ }); + } + return o(n, 'dfs'), Ee(t.children(), n), e; + } + var Cre = R(() => { + 'use strict'; + Pt(); + o(Ere, 'parentDummyChains'); + o(LRe, 'findPath'); + o(DRe, 'postorder'); + }); + function RRe(t, e) { + var r = {}; + function n(i, a) { + var s = 0, + l = 0, + u = i.length, + h = ma(a); + return ( + Ee(a, function (f, d) { + var p = MRe(t, f), + m = p ? t.node(p).order : u; + (p || f === h) && + (Ee(a.slice(l, d + 1), function (g) { + Ee(t.predecessors(g), function (y) { + var v = t.node(y), + x = v.order; + (x < s || m < x) && !(v.dummy && t.node(g).dummy) && Sre(r, y, g); + }); + }), + (l = d + 1), + (s = m)); + }), + a + ); + } + return o(n, 'visitLayer'), Vr(e, n), r; + } + function NRe(t, e) { + var r = {}; + function n(a, s, l, u, h) { + var f; + Ee(Go(s, l), function (d) { + (f = a[d]), + t.node(f).dummy && + Ee(t.predecessors(f), function (p) { + var m = t.node(p); + m.dummy && (m.order < u || m.order > h) && Sre(r, p, f); + }); + }); + } + o(n, 'scan'); + function i(a, s) { + var l = -1, + u, + h = 0; + return ( + Ee(s, function (f, d) { + if (t.node(f).dummy === 'border') { + var p = t.predecessors(f); + p.length && ((u = t.node(p[0]).order), n(s, h, d, l, u), (h = d), (l = u)); + } + n(s, h, s.length, u, a.length); + }), + s + ); + } + return o(i, 'visitLayer'), Vr(e, i), r; + } + function MRe(t, e) { + if (t.node(e).dummy) + return Za(t.predecessors(e), function (r) { + return t.node(r).dummy; + }); + } + function Sre(t, e, r) { + if (e > r) { + var n = e; + (e = r), (r = n); + } + var i = t[e]; + i || (t[e] = i = {}), (i[r] = !0); + } + function IRe(t, e, r) { + if (e > r) { + var n = e; + (e = r), (r = n); + } + return Xe(t[e], r); + } + function ORe(t, e, r, n) { + var i = {}, + a = {}, + s = {}; + return ( + Ee(e, function (l) { + Ee(l, function (u, h) { + (i[u] = u), (a[u] = u), (s[u] = h); + }); + }), + Ee(e, function (l) { + var u = -1; + Ee(l, function (h) { + var f = n(h); + if (f.length) { + f = Tc(f, function (y) { + return s[y]; + }); + for (var d = (f.length - 1) / 2, p = Math.floor(d), m = Math.ceil(d); p <= m; ++p) { + var g = f[p]; + a[h] === h && u < s[g] && !IRe(r, h, g) && ((a[g] = h), (a[h] = i[h] = i[g]), (u = s[g])); + } + } + }); + }), + { root: i, align: a } + ); + } + function PRe(t, e, r, n, i) { + var a = {}, + s = BRe(t, e, r, i), + l = i ? 'borderLeft' : 'borderRight'; + function u(d, p) { + for (var m = s.nodes(), g = m.pop(), y = {}; g; ) + y[g] ? d(g) : ((y[g] = !0), m.push(g), (m = m.concat(p(g)))), (g = m.pop()); + } + o(u, 'iterate'); + function h(d) { + a[d] = s.inEdges(d).reduce(function (p, m) { + return Math.max(p, a[m.v] + s.edge(m)); + }, 0); + } + o(h, 'pass1'); + function f(d) { + var p = s.outEdges(d).reduce(function (g, y) { + return Math.min(g, a[y.w] - s.edge(y)); + }, Number.POSITIVE_INFINITY), + m = t.node(d); + p !== Number.POSITIVE_INFINITY && m.borderType !== l && (a[d] = Math.max(a[d], p)); + } + return ( + o(f, 'pass2'), + u(h, s.predecessors.bind(s)), + u(f, s.successors.bind(s)), + Ee(n, function (d) { + a[d] = a[r[d]]; + }), + a + ); + } + function BRe(t, e, r, n) { + var i = new lr(), + a = t.graph(), + s = $Re(a.nodesep, a.edgesep, n); + return ( + Ee(e, function (l) { + var u; + Ee(l, function (h) { + var f = r[h]; + if ((i.setNode(f), u)) { + var d = r[u], + p = i.edge(d, f); + i.setEdge(d, f, Math.max(s(t, h, u), p || 0)); + } + u = h; + }); + }), + i + ); + } + function FRe(t, e) { + return Bd(or(e), function (r) { + var n = Number.NEGATIVE_INFINITY, + i = Number.POSITIVE_INFINITY; + return ( + NL(r, function (a, s) { + var l = VRe(t, s) / 2; + (n = Math.max(a + l, n)), (i = Math.min(a - l, i)); + }), + n - i + ); + }); + } + function zRe(t, e) { + var r = or(e), + n = Ll(r), + i = _s(r); + Ee(['u', 'd'], function (a) { + Ee(['l', 'r'], function (s) { + var l = a + s, + u = t[l], + h; + if (u !== e) { + var f = or(u); + (h = s === 'l' ? n - Ll(f) : i - _s(f)), + h && + (t[l] = Pd(u, function (d) { + return d + h; + })); + } + }); + }); + } + function GRe(t, e) { + return Pd(t.ul, function (r, n) { + if (e) return t[e.toLowerCase()][n]; + var i = Tc(qe(t, n)); + return (i[1] + i[2]) / 2; + }); + } + function Are(t) { + var e = Qh(t), + r = Gh(RRe(t, e), NRe(t, e)), + n = {}, + i; + Ee(['u', 'd'], function (s) { + (i = s === 'u' ? e : or(e).reverse()), + Ee(['l', 'r'], function (l) { + l === 'r' && + (i = qe(i, function (d) { + return or(d).reverse(); + })); + var u = (s === 'u' ? t.predecessors : t.successors).bind(t), + h = ORe(t, i, r, u), + f = PRe(t, i, h.root, h.align, l === 'r'); + l === 'r' && + (f = Pd(f, function (d) { + return -d; + })), + (n[s + l] = f); + }); + }); + var a = FRe(t, n); + return zRe(n, a), GRe(n, t.graph().align); + } + function $Re(t, e, r) { + return function (n, i, a) { + var s = n.node(i), + l = n.node(a), + u = 0, + h; + if (((u += s.width / 2), Xe(s, 'labelpos'))) + switch (s.labelpos.toLowerCase()) { + case 'l': + h = -s.width / 2; + break; + case 'r': + h = s.width / 2; + break; + } + if ( + (h && (u += r ? h : -h), + (h = 0), + (u += (s.dummy ? e : t) / 2), + (u += (l.dummy ? e : t) / 2), + (u += l.width / 2), + Xe(l, 'labelpos')) + ) + switch (l.labelpos.toLowerCase()) { + case 'l': + h = l.width / 2; + break; + case 'r': + h = -l.width / 2; + break; + } + return h && (u += r ? h : -h), (h = 0), u; + }; + } + function VRe(t, e) { + return t.node(e).width; + } + var _re = R(() => { + 'use strict'; + Pt(); + ya(); + Ec(); + o(RRe, 'findType1Conflicts'); + o(NRe, 'findType2Conflicts'); + o(MRe, 'findOtherInnerSegmentNode'); + o(Sre, 'addConflict'); + o(IRe, 'hasConflict'); + o(ORe, 'verticalAlignment'); + o(PRe, 'horizontalCompaction'); + o(BRe, 'buildBlockGraph'); + o(FRe, 'findSmallestWidthAlignment'); + o(zRe, 'alignCoordinates'); + o(GRe, 'balance'); + o(Are, 'positionX'); + o($Re, 'sep'); + o(VRe, 'width'); + }); + function Lre(t) { + (t = eT(t)), + URe(t), + ML(Are(t), function (e, r) { + t.node(r).x = e; + }); + } + function URe(t) { + var e = Qh(t), + r = t.graph().ranksep, + n = 0; + Ee(e, function (i) { + var a = _s( + qe(i, function (s) { + return t.node(s).height; + }) + ); + Ee(i, function (s) { + t.node(s).y = n + a / 2; + }), + (n += a + r); + }); + } + var Dre = R(() => { + 'use strict'; + Pt(); + Ec(); + _re(); + o(Lre, 'position'); + o(URe, 'positionY'); + }); + function lo(t, e) { + var r = e && e.debugTiming ? kte : Ete; + r('layout', function () { + var n = r(' buildLayoutGraph', function () { + return eNe(t); + }); + r(' runLayout', function () { + HRe(n, r); + }), + r(' updateInputGraph', function () { + YRe(t, n); + }); + }); + } + function HRe(t, e) { + e(' makeSpaceForEdgeLabels', function () { + tNe(t); + }), + e(' removeSelfEdges', function () { + uNe(t); + }), + e(' acyclic', function () { + gte(t); + }), + e(' nestingGraph.run', function () { + ere(t); + }), + e(' rank', function () { + hD(eT(t)); + }), + e(' injectEdgeLabelProxies', function () { + rNe(t); + }), + e(' removeEmptyRanks', function () { + wte(t); + }), + e(' nestingGraph.cleanup', function () { + rre(t); + }), + e(' normalizeRanks', function () { + bte(t); + }), + e(' assignRankMinMax', function () { + nNe(t); + }), + e(' removeEdgeLabelProxies', function () { + iNe(t); + }), + e(' normalize.run', function () { + Mte(t); + }), + e(' parentDummyChains', function () { + Ere(t); + }), + e(' addBorderSegments', function () { + Ste(t); + }), + e(' order', function () { + Tre(t); + }), + e(' insertSelfEdges', function () { + hNe(t); + }), + e(' adjustCoordinateSystem', function () { + Lte(t); + }), + e(' position', function () { + Lre(t); + }), + e(' positionSelfEdges', function () { + fNe(t); + }), + e(' removeBorderNodes', function () { + cNe(t); + }), + e(' normalize.undo', function () { + Ite(t); + }), + e(' fixupEdgeLabelCoords', function () { + oNe(t); + }), + e(' undoCoordinateSystem', function () { + Dte(t); + }), + e(' translateGraph', function () { + aNe(t); + }), + e(' assignNodeIntersects', function () { + sNe(t); + }), + e(' reversePoints', function () { + lNe(t); + }), + e(' acyclic.undo', function () { + yte(t); + }); + } + function YRe(t, e) { + Ee(t.nodes(), function (r) { + var n = t.node(r), + i = e.node(r); + n && ((n.x = i.x), (n.y = i.y), e.children(r).length && ((n.width = i.width), (n.height = i.height))); + }), + Ee(t.edges(), function (r) { + var n = t.edge(r), + i = e.edge(r); + (n.points = i.points), Xe(i, 'x') && ((n.x = i.x), (n.y = i.y)); + }), + (t.graph().width = e.graph().width), + (t.graph().height = e.graph().height); + } + function eNe(t) { + var e = new lr({ multigraph: !0, compound: !0 }), + r = mD(t.graph()); + return ( + e.setGraph(Gh({}, qRe, pD(r, WRe), Fd(r, XRe))), + Ee(t.nodes(), function (n) { + var i = mD(t.node(n)); + e.setNode(n, Xh(pD(i, jRe), KRe)), e.setParent(n, t.parent(n)); + }), + Ee(t.edges(), function (n) { + var i = mD(t.edge(n)); + e.setEdge(n, Gh({}, ZRe, pD(i, QRe), Fd(i, JRe))); + }), + e + ); + } + function tNe(t) { + var e = t.graph(); + (e.ranksep /= 2), + Ee(t.edges(), function (r) { + var n = t.edge(r); + (n.minlen *= 2), + n.labelpos.toLowerCase() !== 'c' && + (e.rankdir === 'TB' || e.rankdir === 'BT' + ? (n.width += n.labeloffset) + : (n.height += n.labeloffset)); + }); + } + function rNe(t) { + Ee(t.edges(), function (e) { + var r = t.edge(e); + if (r.width && r.height) { + var n = t.node(e.v), + i = t.node(e.w), + a = { rank: (i.rank - n.rank) / 2 + n.rank, e }; + kc(t, 'edge-proxy', a, '_ep'); + } + }); + } + function nNe(t) { + var e = 0; + Ee(t.nodes(), function (r) { + var n = t.node(r); + n.borderTop && + ((n.minRank = t.node(n.borderTop).rank), + (n.maxRank = t.node(n.borderBottom).rank), + (e = _s(e, n.maxRank))); + }), + (t.graph().maxRank = e); + } + function iNe(t) { + Ee(t.nodes(), function (e) { + var r = t.node(e); + r.dummy === 'edge-proxy' && ((t.edge(r.e).labelRank = r.rank), t.removeNode(e)); + }); + } + function aNe(t) { + var e = Number.POSITIVE_INFINITY, + r = 0, + n = Number.POSITIVE_INFINITY, + i = 0, + a = t.graph(), + s = a.marginx || 0, + l = a.marginy || 0; + function u(h) { + var f = h.x, + d = h.y, + p = h.width, + m = h.height; + (e = Math.min(e, f - p / 2)), + (r = Math.max(r, f + p / 2)), + (n = Math.min(n, d - m / 2)), + (i = Math.max(i, d + m / 2)); + } + o(u, 'getExtremes'), + Ee(t.nodes(), function (h) { + u(t.node(h)); + }), + Ee(t.edges(), function (h) { + var f = t.edge(h); + Xe(f, 'x') && u(f); + }), + (e -= s), + (n -= l), + Ee(t.nodes(), function (h) { + var f = t.node(h); + (f.x -= e), (f.y -= n); + }), + Ee(t.edges(), function (h) { + var f = t.edge(h); + Ee(f.points, function (d) { + (d.x -= e), (d.y -= n); + }), + Xe(f, 'x') && (f.x -= e), + Xe(f, 'y') && (f.y -= n); + }), + (a.width = r - e + s), + (a.height = i - n + l); + } + function sNe(t) { + Ee(t.edges(), function (e) { + var r = t.edge(e), + n = t.node(e.v), + i = t.node(e.w), + a, + s; + r.points ? ((a = r.points[0]), (s = r.points[r.points.length - 1])) : ((r.points = []), (a = i), (s = n)), + r.points.unshift(XL(n, a)), + r.points.push(XL(i, s)); + }); + } + function oNe(t) { + Ee(t.edges(), function (e) { + var r = t.edge(e); + if (Xe(r, 'x')) + switch (((r.labelpos === 'l' || r.labelpos === 'r') && (r.width -= r.labeloffset), r.labelpos)) { + case 'l': + r.x -= r.width / 2 + r.labeloffset; + break; + case 'r': + r.x += r.width / 2 + r.labeloffset; + break; + } + }); + } + function lNe(t) { + Ee(t.edges(), function (e) { + var r = t.edge(e); + r.reversed && r.points.reverse(); + }); + } + function cNe(t) { + Ee(t.nodes(), function (e) { + if (t.children(e).length) { + var r = t.node(e), + n = t.node(r.borderTop), + i = t.node(r.borderBottom), + a = t.node(ma(r.borderLeft)), + s = t.node(ma(r.borderRight)); + (r.width = Math.abs(s.x - a.x)), + (r.height = Math.abs(i.y - n.y)), + (r.x = a.x + r.width / 2), + (r.y = n.y + r.height / 2); + } + }), + Ee(t.nodes(), function (e) { + t.node(e).dummy === 'border' && t.removeNode(e); + }); + } + function uNe(t) { + Ee(t.edges(), function (e) { + if (e.v === e.w) { + var r = t.node(e.v); + r.selfEdges || (r.selfEdges = []), r.selfEdges.push({ e, label: t.edge(e) }), t.removeEdge(e); + } + }); + } + function hNe(t) { + var e = Qh(t); + Ee(e, function (r) { + var n = 0; + Ee(r, function (i, a) { + var s = t.node(i); + (s.order = a + n), + Ee(s.selfEdges, function (l) { + kc( + t, + 'selfedge', + { + width: l.label.width, + height: l.label.height, + rank: s.rank, + order: a + ++n, + e: l.e, + label: l.label + }, + '_se' + ); + }), + delete s.selfEdges; + }); + }); + } + function fNe(t) { + Ee(t.nodes(), function (e) { + var r = t.node(e); + if (r.dummy === 'selfedge') { + var n = t.node(r.e.v), + i = n.x + n.width / 2, + a = n.y, + s = r.x - i, + l = n.height / 2; + t.setEdge(r.e, r.label), + t.removeNode(e), + (r.label.points = [ + { x: i + (2 * s) / 3, y: a - l }, + { x: i + (5 * s) / 6, y: a - l }, + { x: i + s, y: a }, + { x: i + (5 * s) / 6, y: a + l }, + { x: i + (2 * s) / 3, y: a + l } + ]), + (r.label.x = r.x), + (r.label.y = r.y); + } + }); + } + function pD(t, e) { + return Pd(Fd(t, e), Number); + } + function mD(t) { + var e = {}; + return ( + Ee(t, function (r, n) { + e[n.toLowerCase()] = r; + }), + e + ); + } + var WRe, + qRe, + XRe, + jRe, + KRe, + QRe, + ZRe, + JRe, + Rre = R(() => { + 'use strict'; + Pt(); + ya(); + Ate(); + Nte(); + qL(); + JL(); + fD(); + nre(); + kre(); + Cre(); + Dre(); + Ec(); + o(lo, 'layout'); + o(HRe, 'runLayout'); + o(YRe, 'updateInputGraph'); + (WRe = ['nodesep', 'edgesep', 'ranksep', 'marginx', 'marginy']), + (qRe = { ranksep: 50, edgesep: 20, nodesep: 50, rankdir: 'tb' }), + (XRe = ['acyclicer', 'ranker', 'rankdir', 'align']), + (jRe = ['width', 'height']), + (KRe = { width: 0, height: 0 }), + (QRe = ['minlen', 'weight', 'width', 'height', 'labeloffset']), + (ZRe = { + minlen: 1, + weight: 1, + width: 0, + height: 0, + labeloffset: 10, + labelpos: 'r' + }), + (JRe = ['labelpos']); + o(eNe, 'buildLayoutGraph'); + o(tNe, 'makeSpaceForEdgeLabels'); + o(rNe, 'injectEdgeLabelProxies'); + o(nNe, 'assignRankMinMax'); + o(iNe, 'removeEdgeLabelProxies'); + o(aNe, 'translateGraph'); + o(sNe, 'assignNodeIntersects'); + o(oNe, 'fixupEdgeLabelCoords'); + o(lNe, 'reversePointsForReversedEdges'); + o(cNe, 'removeBorderNodes'); + o(uNe, 'removeSelfEdges'); + o(hNe, 'insertSelfEdges'); + o(fNe, 'positionSelfEdges'); + o(pD, 'selectNumberAttrs'); + o(mD, 'canonicalize'); + }); + var Vd = R(() => { + 'use strict'; + qL(); + Rre(); + JL(); + fD(); + }); + function zn(t) { + var e = { + options: { + directed: t.isDirected(), + multigraph: t.isMultigraph(), + compound: t.isCompound() + }, + nodes: dNe(t), + edges: pNe(t) + }; + return er(t.graph()) || (e.value = Qr(t.graph())), e; + } + function dNe(t) { + return qe(t.nodes(), function (e) { + var r = t.node(e), + n = t.parent(e), + i = { v: e }; + return er(r) || (i.value = r), er(n) || (i.parent = n), i; + }); + } + function pNe(t) { + return qe(t.edges(), function (e) { + var r = t.edge(e), + n = { v: e.v, w: e.w }; + return er(e.name) || (n.name = e.name), er(r) || (n.value = r), n; + }); + } + var Pv = R(() => { + 'use strict'; + Pt(); + Zw(); + o(zn, 'write'); + o(dNe, 'writeNodes'); + o(pNe, 'writeEdges'); + }); + var cr, + Ud, + Mre, + Ire, + aT, + mNe, + Ore, + Pre, + gNe, + Bm, + Nre, + Bre, + Fre, + zre, + Gre, + $re = R(() => { + 'use strict'; + ut(); + ya(); + Pv(); + (cr = new Map()), + (Ud = new Map()), + (Mre = new Map()), + (Ire = o(() => { + Ud.clear(), Mre.clear(), cr.clear(); + }, 'clear')), + (aT = o((t, e) => { + let r = Ud.get(e) || []; + return V.trace('In isDescendant', e, ' ', t, ' = ', r.includes(t)), r.includes(t); + }, 'isDescendant')), + (mNe = o((t, e) => { + let r = Ud.get(e) || []; + return ( + V.info('Descendants of ', e, ' is ', r), + V.info('Edge is ', t), + t.v === e || t.w === e + ? !1 + : r + ? r.includes(t.v) || aT(t.v, e) || aT(t.w, e) || r.includes(t.w) + : (V.debug('Tilt, ', e, ',not in descendants'), !1) + ); + }, 'edgeInCluster')), + (Ore = o((t, e, r, n) => { + V.warn('Copying children of ', t, 'root', n, 'data', e.node(t), n); + let i = e.children(t) || []; + t !== n && i.push(t), + V.warn('Copying (nodes) clusterId', t, 'nodes', i), + i.forEach((a) => { + if (e.children(a).length > 0) Ore(a, e, r, n); + else { + let s = e.node(a); + V.info('cp ', a, ' to ', n, ' with parent ', t), + r.setNode(a, s), + n !== e.parent(a) && + (V.warn('Setting parent', a, e.parent(a)), r.setParent(a, e.parent(a))), + t !== n && a !== t + ? (V.debug('Setting parent', a, t), r.setParent(a, t)) + : (V.info('In copy ', t, 'root', n, 'data', e.node(t), n), + V.debug( + 'Not Setting parent for node=', + a, + 'cluster!==rootId', + t !== n, + 'node!==clusterId', + a !== t + )); + let l = e.edges(a); + V.debug('Copying Edges', l), + l.forEach((u) => { + V.info('Edge', u); + let h = e.edge(u.v, u.w, u.name); + V.info('Edge data', h, n); + try { + mNe(u, n) + ? (V.info('Copying as ', u.v, u.w, h, u.name), + r.setEdge(u.v, u.w, h, u.name), + V.info('newGraph edges ', r.edges(), r.edge(r.edges()[0]))) + : V.info( + 'Skipping copy of edge ', + u.v, + '-->', + u.w, + ' rootId: ', + n, + ' clusterId:', + t + ); + } catch (f) { + V.error(f); + } + }); + } + V.debug('Removing node', a), e.removeNode(a); + }); + }, 'copy')), + (Pre = o((t, e) => { + let r = e.children(t), + n = [...r]; + for (let i of r) Mre.set(i, t), (n = [...n, ...Pre(i, e)]); + return n; + }, 'extractDescendants')), + (gNe = o((t, e, r) => { + let n = t.edges().filter((u) => u.v === e || u.w === e), + i = t.edges().filter((u) => u.v === r || u.w === r), + a = n.map((u) => ({ + v: u.v === e ? r : u.v, + w: u.w === e ? e : u.w + })), + s = i.map((u) => ({ v: u.v, w: u.w })); + return a.filter((u) => s.some((h) => u.v === h.v && u.w === h.w)); + }, 'findCommonEdges')), + (Bm = o((t, e, r) => { + let n = e.children(t); + if ((V.trace('Searching children of id ', t, n), n.length < 1)) return t; + let i; + for (let a of n) { + let s = Bm(a, e, r), + l = gNe(e, r, s); + if (s) + if (l.length > 0) i = s; + else return s; + } + return i; + }, 'findNonClusterChild')), + (Nre = o( + (t) => (!cr.has(t) || !cr.get(t).externalConnections ? t : cr.has(t) ? cr.get(t).id : t), + 'getAnchorId' + )), + (Bre = o((t, e) => { + if (!t || e > 10) { + V.debug('Opting out, no graph '); + return; + } else V.debug('Opting in, graph '); + t.nodes().forEach(function (r) { + t.children(r).length > 0 && + (V.warn('Cluster identified', r, ' Replacement id in edges: ', Bm(r, t, r)), + Ud.set(r, Pre(r, t)), + cr.set(r, { id: Bm(r, t, r), clusterData: t.node(r) })); + }), + t.nodes().forEach(function (r) { + let n = t.children(r), + i = t.edges(); + n.length > 0 + ? (V.debug('Cluster identified', r, Ud), + i.forEach((a) => { + let s = aT(a.v, r), + l = aT(a.w, r); + s ^ l && + (V.warn('Edge: ', a, ' leaves cluster ', r), + V.warn('Descendants of XXX ', r, ': ', Ud.get(r)), + (cr.get(r).externalConnections = !0)); + })) + : V.debug('Not a cluster ', r, Ud); + }); + for (let r of cr.keys()) { + let n = cr.get(r).id, + i = t.parent(n); + i !== r && cr.has(i) && !cr.get(i).externalConnections && (cr.get(r).id = i); + } + t.edges().forEach(function (r) { + let n = t.edge(r); + V.warn('Edge ' + r.v + ' -> ' + r.w + ': ' + JSON.stringify(r)), + V.warn('Edge ' + r.v + ' -> ' + r.w + ': ' + JSON.stringify(t.edge(r))); + let i = r.v, + a = r.w; + if ( + (V.warn( + 'Fix XXX', + cr, + 'ids:', + r.v, + r.w, + 'Translating: ', + cr.get(r.v), + ' --- ', + cr.get(r.w) + ), + cr.get(r.v) || cr.get(r.w)) + ) { + if ( + (V.warn('Fixing and trying - removing XXX', r.v, r.w, r.name), + (i = Nre(r.v)), + (a = Nre(r.w)), + t.removeEdge(r.v, r.w, r.name), + i !== r.v) + ) { + let s = t.parent(i); + (cr.get(s).externalConnections = !0), (n.fromCluster = r.v); + } + if (a !== r.w) { + let s = t.parent(a); + (cr.get(s).externalConnections = !0), (n.toCluster = r.w); + } + V.warn('Fix Replacing with XXX', i, a, r.name), t.setEdge(i, a, n, r.name); + } + }), + V.warn('Adjusted Graph', zn(t)), + Fre(t, 0), + V.trace(cr); + }, 'adjustClustersAndEdges')), + (Fre = o((t, e) => { + if ((V.warn('extractor - ', e, zn(t), t.children('D')), e > 10)) { + V.error('Bailing out'); + return; + } + let r = t.nodes(), + n = !1; + for (let i of r) { + let a = t.children(i); + n = n || a.length > 0; + } + if (!n) { + V.debug('Done, no node has children', t.nodes()); + return; + } + V.debug('Nodes = ', r, e); + for (let i of r) + if ( + (V.debug( + 'Extracting node', + i, + cr, + cr.has(i) && !cr.get(i).externalConnections, + !t.parent(i), + t.node(i), + t.children('D'), + ' Depth ', + e + ), + !cr.has(i)) + ) + V.debug('Not a cluster', i, e); + else if (!cr.get(i).externalConnections && t.children(i) && t.children(i).length > 0) { + V.warn('Cluster without external connections, without a parent and with children', i, e); + let s = t.graph().rankdir === 'TB' ? 'LR' : 'TB'; + cr.get(i)?.clusterData?.dir && + ((s = cr.get(i).clusterData.dir), V.warn('Fixing dir', cr.get(i).clusterData.dir, s)); + let l = new lr({ multigraph: !0, compound: !0 }) + .setGraph({ + rankdir: s, + nodesep: 50, + ranksep: 50, + marginx: 8, + marginy: 8 + }) + .setDefaultEdgeLabel(function () { + return {}; + }); + V.warn('Old graph before copy', zn(t)), + Ore(i, t, l, i), + t.setNode(i, { + clusterNode: !0, + id: i, + clusterData: cr.get(i).clusterData, + label: cr.get(i).label, + graph: l + }), + V.warn('New graph after copy node: (', i, ')', zn(l)), + V.debug('Old graph after copy', zn(t)); + } else + V.warn( + 'Cluster ** ', + i, + ' **not meeting the criteria !externalConnections:', + !cr.get(i).externalConnections, + ' no parent: ', + !t.parent(i), + ' children ', + t.children(i) && t.children(i).length > 0, + t.children('D'), + e + ), + V.debug(cr); + (r = t.nodes()), V.warn('New list of nodes', r); + for (let i of r) { + let a = t.node(i); + V.warn(' Now next level', i, a), a?.clusterNode && Fre(a.graph, e + 1); + } + }, 'extractor')), + (zre = o((t, e) => { + if (e.length === 0) return []; + let r = Object.assign([], e); + return ( + e.forEach((n) => { + let i = t.children(n), + a = zre(t, i); + r = [...r, ...a]; + }), + r + ); + }, 'sorter')), + (Gre = o((t) => zre(t, t.children()), 'sortNodesByHierarchy')); + }); + var Ure = {}; + hr(Ure, { render: () => yNe }); + var Vre, + yNe, + Hre = R(() => { + 'use strict'; + Vd(); + Pv(); + ya(); + Q9(); + ri(); + $re(); + tL(); + X9(); + K9(); + ut(); + _d(); + _t(); + (Vre = o(async (t, e, r, n, i, a) => { + V.warn('Graph in recursive render:XAX', zn(e), i); + let s = e.graph().rankdir; + V.trace('Dir in recursive render - dir:', s); + let l = t.insert('g').attr('class', 'root'); + e.nodes() ? V.info('Recursive render XXX', e.nodes()) : V.info('No nodes found for', e), + e.edges().length > 0 && V.info('Recursive edges', e.edge(e.edges()[0])); + let u = l.insert('g').attr('class', 'clusters'), + h = l.insert('g').attr('class', 'edgePaths'), + f = l.insert('g').attr('class', 'edgeLabels'), + d = l.insert('g').attr('class', 'nodes'); + await Promise.all( + e.nodes().map(async function (y) { + let v = e.node(y); + if (i !== void 0) { + let x = JSON.parse(JSON.stringify(i.clusterData)); + V.trace( + `Setting data for parent cluster XXX + Node.id = `, + y, + ` + data=`, + x.height, + ` +Parent cluster`, + i.height + ), + e.setNode(i.id, x), + e.parent(y) || (V.trace('Setting parent', y, i.id), e.setParent(y, i.id, x)); + } + if ((V.info('(Insert) Node XXX' + y + ': ' + JSON.stringify(e.node(y))), v?.clusterNode)) { + V.info('Cluster identified XBX', y, v.width, e.node(y)); + let { ranksep: x, nodesep: b } = e.graph(); + v.graph.setGraph({ + ...v.graph.graph(), + ranksep: x + 25, + nodesep: b + }); + let w = await Vre(d, v.graph, r, n, e.node(y), a), + S = w.elem; + ar(v, S), + (v.diff = w.diff || 0), + V.info( + 'New compound node after recursive render XAX', + y, + 'width', + v.width, + 'height', + v.height + ), + lQ(S, v); + } else e.children(y).length > 0 ? (V.trace('Cluster - the non recursive path XBX', y, v.id, v, v.width, 'Graph:', e), V.trace(Bm(v.id, e)), cr.set(v.id, { id: Bm(v.id, e), node: v })) : (V.trace('Node - the non recursive path XAX', y, d, e.node(y), s), await rw(d, e.node(y), s)); + }) + ), + await o(async () => { + let y = e.edges().map(async function (v) { + let x = e.edge(v.v, v.w, v.name); + V.info('Edge ' + v.v + ' -> ' + v.w + ': ' + JSON.stringify(v)), + V.info('Edge ' + v.v + ' -> ' + v.w + ': ', v, ' ', JSON.stringify(e.edge(v))), + V.info('Fix', cr, 'ids:', v.v, v.w, 'Translating: ', cr.get(v.v), cr.get(v.w)), + await Q5(f, x); + }); + await Promise.all(y); + }, 'processEdges')(), + V.info('Graph before layout:', JSON.stringify(zn(e))), + V.info('############################################# XXX'), + V.info('### Layout ### XXX'), + V.info('############################################# XXX'), + lo(e), + V.info('Graph after layout:', JSON.stringify(zn(e))); + let m = 0, + { subGraphTitleTotalMargin: g } = io(a); + return ( + await Promise.all( + Gre(e).map(async function (y) { + let v = e.node(y); + if ( + (V.info( + 'Position XBX => ' + y + ': (' + v.x, + ',' + v.y, + ') width: ', + v.width, + ' height: ', + v.height + ), + v?.clusterNode) + ) + (v.y += g), + V.info( + 'A tainted cluster node XBX1', + y, + v.id, + v.width, + v.height, + v.x, + v.y, + e.parent(y) + ), + (cr.get(v.id).node = v), + eL(v); + else if (e.children(y).length > 0) { + V.info('A pure cluster node XBX1', y, v.id, v.x, v.y, v.width, v.height, e.parent(y)), + (v.height += g), + e.node(v.parentId); + let x = v?.padding / 2 || 0, + b = v?.labelBBox?.height || 0, + w = b - x || 0; + V.debug('OffsetY', w, 'labelHeight', b, 'halfPadding', x), + await Y5(u, v), + (cr.get(v.id).node = v); + } else { + let x = e.node(v.parentId); + (v.y += g / 2), + V.info( + 'A regular node XBX1 - using the padding', + v.id, + 'parent', + v.parentId, + v.width, + v.height, + v.x, + v.y, + 'offsetY', + v.offsetY, + 'parent', + x, + x?.offsetY, + v + ), + eL(v); + } + }) + ), + e.edges().forEach(function (y) { + let v = e.edge(y); + V.info('Edge ' + y.v + ' -> ' + y.w + ': ' + JSON.stringify(v), v), + v.points.forEach((S) => (S.y += g / 2)); + let x = e.node(y.v); + var b = e.node(y.w); + let w = J5(h, v, cr, r, x, b, n); + Z5(v, w); + }), + e.nodes().forEach(function (y) { + let v = e.node(y); + V.info(y, v.type, v.diff), v.isGroup && (m = v.diff); + }), + V.warn('Returning from recursive render XAX', l, m), + { elem: l, diff: m } + ); + }, 'recursiveRender')), + (yNe = o(async (t, e) => { + let r = new lr({ multigraph: !0, compound: !0 }) + .setGraph({ + rankdir: t.direction, + nodesep: t.config?.nodeSpacing || t.config?.flowchart?.nodeSpacing || t.nodeSpacing, + ranksep: t.config?.rankSpacing || t.config?.flowchart?.rankSpacing || t.rankSpacing, + marginx: 8, + marginy: 8 + }) + .setDefaultEdgeLabel(function () { + return {}; + }), + n = e.select('g'); + ew(n, t.markers, t.type, t.diagramId), + cQ(), + lK(), + rK(), + Ire(), + t.nodes.forEach((a) => { + r.setNode(a.id, { ...a }), a.parentId && r.setParent(a.id, a.parentId); + }), + V.debug('Edges:', t.edges), + t.edges.forEach((a) => { + if (a.start === a.end) { + let s = a.start, + l = s + '---' + s + '---1', + u = s + '---' + s + '---2', + h = r.node(s); + r.setNode(l, { + domId: l, + id: l, + parentId: h.parentId, + labelStyle: '', + label: '', + padding: 0, + shape: 'labelRect', + style: '', + width: 10, + height: 10 + }), + r.setParent(l, h.parentId), + r.setNode(u, { + domId: u, + id: u, + parentId: h.parentId, + labelStyle: '', + padding: 0, + shape: 'labelRect', + label: '', + style: '', + width: 10, + height: 10 + }), + r.setParent(u, h.parentId); + let f = structuredClone(a), + d = structuredClone(a), + p = structuredClone(a); + (f.label = ''), + (f.arrowTypeEnd = 'none'), + (f.id = s + '-cyclic-special-1'), + (d.arrowTypeEnd = 'none'), + (d.id = s + '-cyclic-special-mid'), + (p.label = ''), + h.isGroup && ((f.fromCluster = s), (p.toCluster = s)), + (p.id = s + '-cyclic-special-2'), + r.setEdge(s, l, f, s + '-cyclic-special-0'), + r.setEdge(l, u, d, s + '-cyclic-special-1'), + r.setEdge(u, s, p, s + '-cyc { + 'use strict'; + hQ(); + ut(); + (Bv = {}), + (gD = o((t) => { + for (let e of t) Bv[e.name] = e; + }, 'registerLayoutLoaders')), + (vNe = o(() => { + gD([ + { + name: 'dagre', + loader: o(async () => await Promise.resolve().then(() => (Hre(), Ure)), 'loader') + } + ]); + }, 'registerDefaultLayoutLoaders')); + vNe(); + (sT = o(async (t, e) => { + if (!(t.layoutAlgorithm in Bv)) throw new Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`); + let r = Bv[t.layoutAlgorithm]; + return (await r.loader()).render(t, e, uQ, { algorithm: r.algorithm }); + }, 'render')), + (Yre = o((t = '', { fallback: e = 'dagre' } = {}) => { + if (t in Bv) return t; + if (e in Bv) return V.warn(`Layout algorithm ${t} is not registered. Using ${e} as fallback.`), e; + throw new Error(`Both layout algorithms ${t} and ${e} are not registered.`); + }, 'getRegisteredLayoutAlgorithm')); + }); + var lT, + xNe, + bNe, + yD = R(() => { + 'use strict'; + Yn(); + ut(); + (lT = o((t, e, r, n) => { + t.attr('class', r); + let { width: i, height: a, x: s, y: l } = xNe(t, e); + Sr(t, a, i, n); + let u = bNe(s, l, i, a, e); + t.attr('viewBox', u), V.debug(`viewBox configured: ${u} with padding: ${e}`); + }, 'setupViewPortForSVG')), + (xNe = o((t, e) => { + let r = t.node()?.getBBox() || { width: 0, height: 0, x: 0, y: 0 }; + return { + width: r.width + e * 2, + height: r.height + e * 2, + x: r.x, + y: r.y + }; + }, 'calculateDimensionsWithPadding')), + (bNe = o((t, e, r, n, i) => `${t - i} ${e - i} ${r} ${n}`, 'createViewBox')); + }); + var wNe, + TNe, + Wre, + qre = R(() => { + 'use strict'; + Zt(); + _t(); + ut(); + L9(); + oT(); + yD(); + xr(); + f9(); + (wNe = o(function (t, e) { + return e.db.getClasses(); + }, 'getClasses')), + (TNe = o(async function (t, e, r, n) { + V.info('REF0:'), V.info('Drawing state diagram (v2)', e); + let { securityLevel: i, flowchart: a, layout: s } = de(), + l; + i === 'sandbox' && (l = $e('#i' + e)); + let u = i === 'sandbox' ? l.nodes()[0].contentDocument : document; + V.debug('Before getData: '); + let h = n.db.getData(); + V.debug('Data: ', h); + let f = I5(e, i), + d = h9(); + (h.type = n.type), + (h.layoutAlgorithm = Yre(s)), + h.layoutAlgorithm === 'dagre' && + s === 'elk' && + V.warn( + 'flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback.' + ), + (h.direction = d), + (h.nodeSpacing = a?.nodeSpacing || 50), + (h.rankSpacing = a?.rankSpacing || 50), + (h.markers = ['point', 'circle', 'cross']), + (h.diagramId = e), + V.debug('REF1:', h), + await sT(h, f); + let p = h.config.flowchart?.diagramPadding ?? 8; + Lt.insertTitle(f, 'flowchartTitleText', a?.titleTopMargin || 0, n.db.getDiagramTitle()), + lT(f, p, 'flowchart', a?.useMaxWidth || !1); + for (let m of h.nodes) { + let g = $e(`#${e} [id="${m.id}"]`); + if (!g || !m.link) continue; + let y = u.createElementNS('http://www.w3.org/2000/svg', 'a'); + y.setAttributeNS('http://www.w3.org/2000/svg', 'class', m.cssClasses), + y.setAttributeNS('http://www.w3.org/2000/svg', 'rel', 'noopener'), + i === 'sandbox' + ? y.setAttributeNS('http://www.w3.org/2000/svg', 'target', '_top') + : m.linkTarget && + y.setAttributeNS('http://www.w3.org/2000/svg', 'target', m.linkTarget); + let v = g.insert(function () { + return y; + }, ':first-child'), + x = g.select('.label-container'); + x && + v.append(function () { + return x.node(); + }); + let b = g.select('.label'); + b && + v.append(function () { + return b.node(); + }); + } + }, 'draw')), + (Wre = { getClasses: wNe, draw: TNe }); + }); + var vD, + Xre, + jre = R(() => { + 'use strict'; + vD = (function () { + var t = o(function (qi, ht, At, $t) { + for (At = At || {}, $t = qi.length; $t--; At[qi[$t]] = ht); + return At; + }, 'o'), + e = [1, 4], + r = [1, 3], + n = [1, 5], + i = [ + 1, 8, 9, 10, 11, 27, 34, 36, 38, 42, 58, 81, 82, 83, 84, 85, 86, 99, 102, 103, 106, 108, 111, + 112, 113, 118, 119, 120, 121 + ], + a = [2, 2], + s = [1, 13], + l = [1, 14], + u = [1, 15], + h = [1, 16], + f = [1, 23], + d = [1, 25], + p = [1, 26], + m = [1, 27], + g = [1, 49], + y = [1, 48], + v = [1, 29], + x = [1, 30], + b = [1, 31], + w = [1, 32], + S = [1, 33], + T = [1, 44], + E = [1, 46], + _ = [1, 42], + A = [1, 47], + L = [1, 43], + M = [1, 50], + N = [1, 45], + k = [1, 51], + I = [1, 52], + C = [1, 34], + O = [1, 35], + D = [1, 36], + P = [1, 37], + F = [1, 57], + B = [ + 1, 8, 9, 10, 11, 27, 32, 34, 36, 38, 42, 58, 81, 82, 83, 84, 85, 86, 99, 102, 103, 106, 108, + 111, 112, 113, 118, 119, 120, 121 + ], + $ = [1, 61], + z = [1, 60], + Y = [1, 62], + Q = [8, 9, 11, 73, 75], + X = [1, 88], + ie = [1, 93], + j = [1, 92], + J = [1, 89], + Z = [1, 85], + H = [1, 91], + q = [1, 87], + K = [1, 94], + se = [1, 90], + ce = [1, 95], + ue = [1, 86], + te = [8, 9, 10, 11, 73, 75], + De = [8, 9, 10, 11, 44, 73, 75], + oe = [ + 8, 9, 10, 11, 29, 42, 44, 46, 48, 50, 52, 54, 56, 58, 61, 63, 65, 66, 68, 73, 75, 86, 99, 102, + 103, 106, 108, 111, 112, 113 + ], + ke = [8, 9, 11, 42, 58, 73, 75, 86, 99, 102, 103, 106, 108, 111, 112, 113], + Ie = [42, 58, 86, 99, 102, 103, 106, 108, 111, 112, 113], + Se = [1, 121], + Ue = [1, 120], + Pe = [1, 128], + _e = [1, 142], + me = [1, 143], + W = [1, 144], + fe = [1, 145], + ge = [1, 130], + re = [1, 132], + he = [1, 136], + ne = [1, 137], + ae = [1, 138], + we = [1, 139], + Te = [1, 140], + Ce = [1, 141], + Ae = [1, 146], + Ge = [1, 147], + Me = [1, 126], + ye = [1, 127], + He = [1, 134], + ze = [1, 129], + Ze = [1, 133], + gt = [1, 131], + yt = [ + 8, 9, 10, 11, 27, 32, 34, 36, 38, 42, 58, 81, 82, 83, 84, 85, 86, 99, 102, 103, 106, 108, 111, + 112, 113, 118, 119, 120, 121 + ], + tt = [1, 149], + Ye = [8, 9, 11], + Je = [8, 9, 10, 11, 14, 42, 58, 86, 102, 103, 106, 108, 111, 112, 113], + Ve = [1, 169], + je = [1, 165], + kt = [1, 166], + at = [1, 170], + xt = [1, 167], + it = [1, 168], + dt = [75, 113, 116], + lt = [ + 8, 9, 10, 11, 12, 14, 27, 29, 32, 42, 58, 73, 81, 82, 83, 84, 85, 86, 87, 102, 106, 108, 111, + 112, 113 + ], + It = [10, 103], + mt = [31, 47, 49, 51, 53, 55, 60, 62, 64, 65, 67, 69, 113, 114, 115], + St = [1, 235], + gr = [1, 233], + xn = [1, 237], + jt = [1, 231], + rn = [1, 232], + Er = [1, 234], + Kn = [1, 236], + hn = [1, 238], + Qn = [1, 255], + on = [8, 9, 11, 103], + Rn = [8, 9, 10, 11, 58, 81, 102, 103, 106, 107, 108, 109], + Ha = { + trace: o(function () {}, 'trace'), + yy: {}, + symbols_: { + error: 2, + start: 3, + graphConfig: 4, + document: 5, + line: 6, + statement: 7, + SEMI: 8, + NEWLINE: 9, + SPACE: 10, + EOF: 11, + GRAPH: 12, + NODIR: 13, + DIR: 14, + FirstStmtSeparator: 15, + ending: 16, + endToken: 17, + spaceList: 18, + spaceListNewline: 19, + vertexStatement: 20, + separator: 21, + styleStatement: 22, + linkStyleStatement: 23, + classDefStatement: 24, + classStatement: 25, + clickStatement: 26, + subgraph: 27, + textNoTags: 28, + SQS: 29, + text: 30, + SQE: 31, + end: 32, + direction: 33, + acc_title: 34, + acc_title_value: 35, + acc_descr: 36, + acc_descr_value: 37, + acc_descr_multiline_value: 38, + link: 39, + node: 40, + styledVertex: 41, + AMP: 42, + vertex: 43, + STYLE_SEPARATOR: 44, + idString: 45, + DOUBLECIRCLESTART: 46, + DOUBLECIRCLEEND: 47, + PS: 48, + PE: 49, + '(-': 50, + '-)': 51, + STADIUMSTART: 52, + STADIUMEND: 53, + SUBROUTINESTART: 54, + SUBROUTINEEND: 55, + VERTEX_WITH_PROPS_START: 56, + 'NODE_STRING[field]': 57, + COLON: 58, + 'NODE_STRING[value]': 59, + PIPE: 60, + CYLINDERSTART: 61, + CYLINDEREND: 62, + DIAMOND_START: 63, + DIAMOND_STOP: 64, + TAGEND: 65, + TRAPSTART: 66, + TRAPEND: 67, + INVTRAPSTART: 68, + INVTRAPEND: 69, + linkStatement: 70, + arrowText: 71, + TESTSTR: 72, + START_LINK: 73, + edgeText: 74, + LINK: 75, + edgeTextToken: 76, + STR: 77, + MD_STR: 78, + textToken: 79, + keywords: 80, + STYLE: 81, + LINKSTYLE: 82, + CLASSDEF: 83, + CLASS: 84, + CLICK: 85, + DOWN: 86, + UP: 87, + textNoTagsToken: 88, + stylesOpt: 89, + 'idString[vertex]': 90, + 'idString[class]': 91, + CALLBACKNAME: 92, + CALLBACKARGS: 93, + HREF: 94, + LINK_TARGET: 95, + 'STR[link]': 96, + 'STR[tooltip]': 97, + alphaNum: 98, + DEFAULT: 99, + numList: 100, + INTERPOLATE: 101, + NUM: 102, + COMMA: 103, + style: 104, + styleComponent: 105, + NODE_STRING: 106, + UNIT: 107, + BRKT: 108, + PCT: 109, + idStringToken: 110, + MINUS: 111, + MULT: 112, + UNICODE_TEXT: 113, + TEXT: 114, + TAGSTART: 115, + EDGE_TEXT: 116, + alphaNumToken: 117, + direction_tb: 118, + direction_bt: 119, + direction_rl: 120, + direction_lr: 121, + $accept: 0, + $end: 1 + }, + terminals_: { + 2: 'error', + 8: 'SEMI', + 9: 'NEWLINE', + 10: 'SPACE', + 11: 'EOF', + 12: 'GRAPH', + 13: 'NODIR', + 14: 'DIR', + 27: 'subgraph', + 29: 'SQS', + 31: 'SQE', + 32: 'end', + 34: 'acc_title', + 35: 'acc_title_value', + 36: 'acc_descr', + 37: 'acc_descr_value', + 38: 'acc_descr_multiline_value', + 42: 'AMP', + 44: 'STYLE_SEPARATOR', + 46: 'DOUBLECIRCLESTART', + 47: 'DOUBLECIRCLEEND', + 48: 'PS', + 49: 'PE', + 50: '(-', + 51: '-)', + 52: 'STADIUMSTART', + 53: 'STADIUMEND', + 54: 'SUBROUTINESTART', + 55: 'SUBROUTINEEND', + 56: 'VERTEX_WITH_PROPS_START', + 57: 'NODE_STRING[field]', + 58: 'COLON', + 59: 'NODE_STRING[value]', + 60: 'PIPE', + 61: 'CYLINDERSTART', + 62: 'CYLINDEREND', + 63: 'DIAMOND_START', + 64: 'DIAMOND_STOP', + 65: 'TAGEND', + 66: 'TRAPSTART', + 67: 'TRAPEND', + 68: 'INVTRAPSTART', + 69: 'INVTRAPEND', + 72: 'TESTSTR', + 73: 'START_LINK', + 75: 'LINK', + 77: 'STR', + 78: 'MD_STR', + 81: 'STYLE', + 82: 'LINKSTYLE', + 83: 'CLASSDEF', + 84: 'CLASS', + 85: 'CLICK', + 86: 'DOWN', + 87: 'UP', + 90: 'idString[vertex]', + 91: 'idString[class]', + 92: 'CALLBACKNAME', + 93: 'CALLBACKARGS', + 94: 'HREF', + 95: 'LINK_TARGET', + 96: 'STR[link]', + 97: 'STR[tooltip]', + 99: 'DEFAULT', + 101: 'INTERPOLATE', + 102: 'NUM', + 103: 'COMMA', + 106: 'NODE_STRING', + 107: 'UNIT', + 108: 'BRKT', + 109: 'PCT', + 111: 'MINUS', + 112: 'MULT', + 113: 'UNICODE_TEXT', + 114: 'TEXT', + 115: 'TAGSTART', + 116: 'EDGE_TEXT', + 118: 'direction_tb', + 119: 'direction_bt', + 120: 'direction_rl', + 121: 'direction_lr' + }, + productions_: [ + 0, + [3, 2], + [5, 0], + [5, 2], + [6, 1], + [6, 1], + [6, 1], + [6, 1], + [6, 1], + [4, 2], + [4, 2], + [4, 2], + [4, 3], + [16, 2], + [16, 1], + [17, 1], + [17, 1], + [17, 1], + [15, 1], + [15, 1], + [15, 2], + [19, 2], + [19, 2], + [19, 1], + [19, 1], + [18, 2], + [18, 1], + [7, 2], + [7, 2], + [7, 2], + [7, 2], + [7, 2], + [7, 2], + [7, 9], + [7, 6], + [7, 4], + [7, 1], + [7, 2], + [7, 2], + [7, 1], + [21, 1], + [21, 1], + [21, 1], + [20, 3], + [20, 4], + [20, 2], + [20, 1], + [40, 1], + [40, 5], + [41, 1], + [41, 3], + [43, 4], + [43, 4], + [43, 6], + [43, 4], + [43, 4], + [43, 4], + [43, 8], + [43, 4], + [43, 4], + [43, 4], + [43, 6], + [43, 4], + [43, 4], + [43, 4], + [43, 4], + [43, 4], + [43, 1], + [39, 2], + [39, 3], + [39, 3], + [39, 1], + [39, 3], + [74, 1], + [74, 2], + [74, 1], + [74, 1], + [70, 1], + [71, 3], + [30, 1], + [30, 2], + [30, 1], + [30, 1], + [80, 1], + [80, 1], + [80, 1], + [80, 1], + [80, 1], + [80, 1], + [80, 1], + [80, 1], + [80, 1], + [80, 1], + [80, 1], + [28, 1], + [28, 2], + [28, 1], + [28, 1], + [24, 5], + [25, 5], + [26, 2], + [26, 4], + [26, 3], + [26, 5], + [26, 3], + [26, 5], + [26, 5], + [26, 7], + [26, 2], + [26, 4], + [26, 2], + [26, 4], + [26, 4], + [26, 6], + [22, 5], + [23, 5], + [23, 5], + [23, 9], + [23, 9], + [23, 7], + [23, 7], + [100, 1], + [100, 3], + [89, 1], + [89, 3], + [104, 1], + [104, 2], + [105, 1], + [105, 1], + [105, 1], + [105, 1], + [105, 1], + [105, 1], + [105, 1], + [105, 1], + [110, 1], + [110, 1], + [110, 1], + [110, 1], + [110, 1], + [110, 1], + [110, 1], + [110, 1], + [110, 1], + [110, 1], + [110, 1], + [79, 1], + [79, 1], + [79, 1], + [79, 1], + [88, 1], + [88, 1], + [88, 1], + [88, 1], + [88, 1], + [88, 1], + [88, 1], + [88, 1], + [88, 1], + [88, 1], + [88, 1], + [76, 1], + [76, 1], + [117, 1], + [117, 1], + [117, 1], + [117, 1], + [117, 1], + [117, 1], + [117, 1], + [117, 1], + [117, 1], + [117, 1], + [117, 1], + [45, 1], + [45, 2], + [98, 1], + [98, 2], + [33, 1], + [33, 1], + [33, 1], + [33, 1] + ], + performAction: o(function (ht, At, $t, rt, Ot, pe, ur) { + var be = pe.length - 1; + switch (Ot) { + case 2: + this.$ = []; + break; + case 3: + (!Array.isArray(pe[be]) || pe[be].length > 0) && pe[be - 1].push(pe[be]), + (this.$ = pe[be - 1]); + break; + case 4: + case 176: + this.$ = pe[be]; + break; + case 11: + rt.setDirection('TB'), (this.$ = 'TB'); + break; + case 12: + rt.setDirection(pe[be - 1]), (this.$ = pe[be - 1]); + break; + case 27: + this.$ = pe[be - 1].nodes; + break; + case 28: + case 29: + case 30: + case 31: + case 32: + this.$ = []; + break; + case 33: + this.$ = rt.addSubGraph(pe[be - 6], pe[be - 1], pe[be - 4]); + break; + case 34: + this.$ = rt.addSubGraph(pe[be - 3], pe[be - 1], pe[be - 3]); + break; + case 35: + this.$ = rt.addSubGraph(void 0, pe[be - 1], void 0); + break; + case 37: + (this.$ = pe[be].trim()), rt.setAccTitle(this.$); + break; + case 38: + case 39: + (this.$ = pe[be].trim()), rt.setAccDescription(this.$); + break; + case 43: + rt.addLink(pe[be - 2].stmt, pe[be], pe[be - 1]), + (this.$ = { + stmt: pe[be], + nodes: pe[be].concat(pe[be - 2].nodes) + }); + break; + case 44: + rt.addLink(pe[be - 3].stmt, pe[be - 1], pe[be - 2]), + (this.$ = { + stmt: pe[be - 1], + nodes: pe[be - 1].concat(pe[be - 3].nodes) + }); + break; + case 45: + this.$ = { stmt: pe[be - 1], nodes: pe[be - 1] }; + break; + case 46: + this.$ = { stmt: pe[be], nodes: pe[be] }; + break; + case 47: + this.$ = [pe[be]]; + break; + case 48: + this.$ = pe[be - 4].concat(pe[be]); + break; + case 49: + this.$ = pe[be]; + break; + case 50: + (this.$ = pe[be - 2]), rt.setClass(pe[be - 2], pe[be]); + break; + case 51: + (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'square'); + break; + case 52: + (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'doublecircle'); + break; + case 53: + (this.$ = pe[be - 5]), rt.addVertex(pe[be - 5], pe[be - 2], 'circle'); + break; + case 54: + (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'ellipse'); + break; + case 55: + (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'stadium'); + break; + case 56: + (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'subroutine'); + break; + case 57: + (this.$ = pe[be - 7]), + rt.addVertex( + pe[be - 7], + pe[be - 1], + 'rect', + void 0, + void 0, + void 0, + Object.fromEntries([[pe[be - 5], pe[be - 3]]]) + ); + break; + case 58: + (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'cylinder'); + break; + case 59: + (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'round'); + break; + case 60: + (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'diamond'); + break; + case 61: + (this.$ = pe[be - 5]), rt.addVertex(pe[be - 5], pe[be - 2], 'hexagon'); + break; + case 62: + (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'odd'); + break; + case 63: + (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'trapezoid'); + break; + case 64: + (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'inv_trapezoid'); + break; + case 65: + (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'lean_right'); + break; + case 66: + (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'lean_left'); + break; + case 67: + (this.$ = pe[be]), rt.addVertex(pe[be]); + break; + case 68: + (pe[be - 1].text = pe[be]), (this.$ = pe[be - 1]); + break; + case 69: + case 70: + (pe[be - 2].text = pe[be - 1]), (this.$ = pe[be - 2]); + break; + case 71: + this.$ = pe[be]; + break; + case 72: + var Ir = rt.destructLink(pe[be], pe[be - 2]); + this.$ = { + type: Ir.type, + stroke: Ir.stroke, + length: Ir.length, + text: pe[be - 1] + }; + break; + case 73: + this.$ = { text: pe[be], type: 'text' }; + break; + case 74: + this.$ = { + text: pe[be - 1].text + '' + pe[be], + type: pe[be - 1].type + }; + break; + case 75: + this.$ = { text: pe[be], type: 'string' }; + break; + case 76: + this.$ = { text: pe[be], type: 'markdown' }; + break; + case 77: + var Ir = rt.destructLink(pe[be]); + this.$ = { + type: Ir.type, + stroke: Ir.stroke, + length: Ir.length + }; + break; + case 78: + this.$ = pe[be - 1]; + break; + case 79: + this.$ = { text: pe[be], type: 'text' }; + break; + case 80: + this.$ = { + text: pe[be - 1].text + '' + pe[be], + type: pe[be - 1].type + }; + break; + case 81: + this.$ = { text: pe[be], type: 'string' }; + break; + case 82: + case 97: + this.$ = { text: pe[be], type: 'markdown' }; + break; + case 94: + this.$ = { text: pe[be], type: 'text' }; + break; + case 95: + this.$ = { + text: pe[be - 1].text + '' + pe[be], + type: pe[be - 1].type + }; + break; + case 96: + this.$ = { text: pe[be], type: 'text' }; + break; + case 98: + (this.$ = pe[be - 4]), rt.addClass(pe[be - 2], pe[be]); + break; + case 99: + (this.$ = pe[be - 4]), rt.setClass(pe[be - 2], pe[be]); + break; + case 100: + case 108: + (this.$ = pe[be - 1]), rt.setClickEvent(pe[be - 1], pe[be]); + break; + case 101: + case 109: + (this.$ = pe[be - 3]), + rt.setClickEvent(pe[be - 3], pe[be - 2]), + rt.setTooltip(pe[be - 3], pe[be]); + break; + case 102: + (this.$ = pe[be - 2]), rt.setClickEvent(pe[be - 2], pe[be - 1], pe[be]); + break; + case 103: + (this.$ = pe[be - 4]), + rt.setClickEvent(pe[be - 4], pe[be - 3], pe[be - 2]), + rt.setTooltip(pe[be - 4], pe[be]); + break; + case 104: + (this.$ = pe[be - 2]), rt.setLink(pe[be - 2], pe[be]); + break; + case 105: + (this.$ = pe[be - 4]), + rt.setLink(pe[be - 4], pe[be - 2]), + rt.setTooltip(pe[be - 4], pe[be]); + break; + case 106: + (this.$ = pe[be - 4]), rt.setLink(pe[be - 4], pe[be - 2], pe[be]); + break; + case 107: + (this.$ = pe[be - 6]), + rt.setLink(pe[be - 6], pe[be - 4], pe[be]), + rt.setTooltip(pe[be - 6], pe[be - 2]); + break; + case 110: + (this.$ = pe[be - 1]), rt.setLink(pe[be - 1], pe[be]); + break; + case 111: + (this.$ = pe[be - 3]), + rt.setLink(pe[be - 3], pe[be - 2]), + rt.setTooltip(pe[be - 3], pe[be]); + break; + case 112: + (this.$ = pe[be - 3]), rt.setLink(pe[be - 3], pe[be - 2], pe[be]); + break; + case 113: + (this.$ = pe[be - 5]), + rt.setLink(pe[be - 5], pe[be - 4], pe[be]), + rt.setTooltip(pe[be - 5], pe[be - 2]); + break; + case 114: + (this.$ = pe[be - 4]), rt.addVertex(pe[be - 2], void 0, void 0, pe[be]); + break; + case 115: + (this.$ = pe[be - 4]), rt.updateLink([pe[be - 2]], pe[be]); + break; + case 116: + (this.$ = pe[be - 4]), rt.updateLink(pe[be - 2], pe[be]); + break; + case 117: + (this.$ = pe[be - 8]), + rt.updateLinkInterpolate([pe[be - 6]], pe[be - 2]), + rt.updateLink([pe[be - 6]], pe[be]); + break; + case 118: + (this.$ = pe[be - 8]), + rt.updateLinkInterpolate(pe[be - 6], pe[be - 2]), + rt.updateLink(pe[be - 6], pe[be]); + break; + case 119: + (this.$ = pe[be - 6]), rt.updateLinkInterpolate([pe[be - 4]], pe[be]); + break; + case 120: + (this.$ = pe[be - 6]), rt.updateLinkInterpolate(pe[be - 4], pe[be]); + break; + case 121: + case 123: + this.$ = [pe[be]]; + break; + case 122: + case 124: + pe[be - 2].push(pe[be]), (this.$ = pe[be - 2]); + break; + case 126: + this.$ = pe[be - 1] + pe[be]; + break; + case 174: + this.$ = pe[be]; + break; + case 175: + this.$ = pe[be - 1] + '' + pe[be]; + break; + case 177: + this.$ = pe[be - 1] + '' + pe[be]; + break; + case 178: + this.$ = { stmt: 'dir', value: 'TB' }; + break; + case 179: + this.$ = { stmt: 'dir', value: 'BT' }; + break; + case 180: + this.$ = { stmt: 'dir', value: 'RL' }; + break; + case 181: + this.$ = { stmt: 'dir', value: 'LR' }; + break; + } + }, 'anonymous'), + table: [ + { 3: 1, 4: 2, 9: e, 10: r, 12: n }, + { 1: [3] }, + t(i, a, { 5: 6 }), + { 4: 7, 9: e, 10: r, 12: n }, + { 4: 8, 9: e, 10: r, 12: n }, + { 13: [1, 9], 14: [1, 10] }, + { + 1: [2, 1], + 6: 11, + 7: 12, + 8: s, + 9: l, + 10: u, + 11: h, + 20: 17, + 22: 18, + 23: 19, + 24: 20, + 25: 21, + 26: 22, + 27: f, + 33: 24, + 34: d, + 36: p, + 38: m, + 40: 28, + 41: 38, + 42: g, + 43: 39, + 45: 40, + 58: y, + 81: v, + 82: x, + 83: b, + 84: w, + 85: S, + 86: T, + 99: E, + 102: _, + 103: A, + 106: L, + 108: M, + 110: 41, + 111: N, + 112: k, + 113: I, + 118: C, + 119: O, + 120: D, + 121: P + }, + t(i, [2, 9]), + t(i, [2, 10]), + t(i, [2, 11]), + { 8: [1, 54], 9: [1, 55], 10: F, 15: 53, 18: 56 }, + t(B, [2, 3]), + t(B, [2, 4]), + t(B, [2, 5]), + t(B, [2, 6]), + t(B, [2, 7]), + t(B, [2, 8]), + { + 8: $, + 9: z, + 11: Y, + 21: 58, + 39: 59, + 70: 63, + 73: [1, 64], + 75: [1, 65] + }, + { 8: $, 9: z, 11: Y, 21: 66 }, + { 8: $, 9: z, 11: Y, 21: 67 }, + { 8: $, 9: z, 11: Y, 21: 68 }, + { 8: $, 9: z, 11: Y, 21: 69 }, + { 8: $, 9: z, 11: Y, 21: 70 }, + { 8: $, 9: z, 10: [1, 71], 11: Y, 21: 72 }, + t(B, [2, 36]), + { 35: [1, 73] }, + { 37: [1, 74] }, + t(B, [2, 39]), + t(Q, [2, 46], { 18: 75, 10: F }), + { 10: [1, 76] }, + { 10: [1, 77] }, + { 10: [1, 78] }, + { 10: [1, 79] }, + { + 14: X, + 42: ie, + 58: j, + 77: [1, 83], + 86: J, + 92: [1, 80], + 94: [1, 81], + 98: 82, + 102: Z, + 103: H, + 106: q, + 108: K, + 111: se, + 112: ce, + 113: ue, + 117: 84 + }, + t(B, [2, 178]), + t(B, [2, 179]), + t(B, [2, 180]), + t(B, [2, 181]), + t(te, [2, 47]), + t(te, [2, 49], { 44: [1, 96] }), + t(De, [2, 67], { + 110: 109, + 29: [1, 97], + 42: g, + 46: [1, 98], + 48: [1, 99], + 50: [1, 100], + 52: [1, 101], + 54: [1, 102], + 56: [1, 103], + 58: y, + 61: [1, 104], + 63: [1, 105], + 65: [1, 106], + 66: [1, 107], + 68: [1, 108], + 86: T, + 99: E, + 102: _, + 103: A, + 106: L, + 108: M, + 111: N, + 112: k, + 113: I + }), + t(oe, [2, 174]), + t(oe, [2, 135]), + t(oe, [2, 136]), + t(oe, [2, 137]), + t(oe, [2, 138]), + t(oe, [2, 139]), + t(oe, [2, 140]), + t(oe, [2, 141]), + t(oe, [2, 142]), + t(oe, [2, 143]), + t(oe, [2, 144]), + t(oe, [2, 145]), + t(i, [2, 12]), + t(i, [2, 18]), + t(i, [2, 19]), + { 9: [1, 110] }, + t(ke, [2, 26], { 18: 111, 10: F }), + t(B, [2, 27]), + { + 40: 112, + 41: 38, + 42: g, + 43: 39, + 45: 40, + 58: y, + 86: T, + 99: E, + 102: _, + 103: A, + 106: L, + 108: M, + 110: 41, + 111: N, + 112: k, + 113: I + }, + t(B, [2, 40]), + t(B, [2, 41]), + t(B, [2, 42]), + t(Ie, [2, 71], { 71: 113, 60: [1, 115], 72: [1, 114] }), + { + 74: 116, + 76: 117, + 77: [1, 118], + 78: [1, 119], + 113: Se, + 116: Ue + }, + t([42, 58, 60, 72, 86, 99, 102, 103, 106, 108, 111, 112, 113], [2, 77]), + t(B, [2, 28]), + t(B, [2, 29]), + t(B, [2, 30]), + t(B, [2, 31]), + t(B, [2, 32]), + { + 10: Pe, + 12: _e, + 14: me, + 27: W, + 28: 122, + 32: fe, + 42: ge, + 58: re, + 73: he, + 77: [1, 124], + 78: [1, 125], + 80: 135, + 81: ne, + 82: ae, + 83: we, + 84: Te, + 85: Ce, + 86: Ae, + 87: Ge, + 88: 123, + 102: Me, + 106: ye, + 108: He, + 111: ze, + 112: Ze, + 113: gt + }, + t(yt, a, { 5: 148 }), + t(B, [2, 37]), + t(B, [2, 38]), + t(Q, [2, 45], { 42: tt }), + { + 42: g, + 45: 150, + 58: y, + 86: T, + 99: E, + 102: _, + 103: A, + 106: L, + 108: M, + 110: 41, + 111: N, + 112: k, + 113: I + }, + { 99: [1, 151], 100: 152, 102: [1, 153] }, + { + 42: g, + 45: 154, + 58: y, + 86: T, + 99: E, + 102: _, + 103: A, + 106: L, + 108: M, + 110: 41, + 111: N, + 112: k, + 113: I + }, + { + 42: g, + 45: 155, + 58: y, + 86: T, + 99: E, + 102: _, + 103: A, + 106: L, + 108: M, + 110: 41, + 111: N, + 112: k, + 113: I + }, + t(Ye, [2, 100], { 10: [1, 156], 93: [1, 157] }), + { 77: [1, 158] }, + t(Ye, [2, 108], { + 117: 160, + 10: [1, 159], + 14: X, + 42: ie, + 58: j, + 86: J, + 102: Z, + 103: H, + 106: q, + 108: K, + 111: se, + 112: ce, + 113: ue + }), + t(Ye, [2, 110], { 10: [1, 161] }), + t(Je, [2, 176]), + t(Je, [2, 163]), + t(Je, [2, 164]), + t(Je, [2, 165]), + t(Je, [2, 166]), + t(Je, [2, 167]), + t(Je, [2, 168]), + t(Je, [2, 169]), + t(Je, [2, 170]), + t(Je, [2, 171]), + t(Je, [2, 172]), + t(Je, [2, 173]), + { + 42: g, + 45: 162, + 58: y, + 86: T, + 99: E, + 102: _, + 103: A, + 106: L, + 108: M, + 110: 41, + 111: N, + 112: k, + 113: I + }, + { + 30: 163, + 65: Ve, + 77: je, + 78: kt, + 79: 164, + 113: at, + 114: xt, + 115: it + }, + { + 30: 171, + 65: Ve, + 77: je, + 78: kt, + 79: 164, + 113: at, + 114: xt, + 115: it + }, + { + 30: 173, + 48: [1, 172], + 65: Ve, + 77: je, + 78: kt, + 79: 164, + 113: at, + 114: xt, + 115: it + }, + { + 30: 174, + 65: Ve, + 77: je, + 78: kt, + 79: 164, + 113: at, + 114: xt, + 115: it + }, + { + 30: 175, + 65: Ve, + 77: je, + 78: kt, + 79: 164, + 113: at, + 114: xt, + 115: it + }, + { + 30: 176, + 65: Ve, + 77: je, + 78: kt, + 79: 164, + 113: at, + 114: xt, + 115: it + }, + { 106: [1, 177] }, + { + 30: 178, + 65: Ve, + 77: je, + 78: kt, + 79: 164, + 113: at, + 114: xt, + 115: it + }, + { + 30: 179, + 63: [1, 180], + 65: Ve, + 77: je, + 78: kt, + 79: 164, + 113: at, + 114: xt, + 115: it + }, + { + 30: 181, + 65: Ve, + 77: je, + 78: kt, + 79: 164, + 113: at, + 114: xt, + 115: it + }, + { + 30: 182, + 65: Ve, + 77: je, + 78: kt, + 79: 164, + 113: at, + 114: xt, + 115: it + }, + { + 30: 183, + 65: Ve, + 77: je, + 78: kt, + 79: 164, + 113: at, + 114: xt, + 115: it + }, + t(oe, [2, 175]), + t(i, [2, 20]), + t(ke, [2, 25]), + t(Q, [2, 43], { 18: 184, 10: F }), + t(Ie, [2, 68], { 10: [1, 185] }), + { 10: [1, 186] }, + { + 30: 187, + 65: Ve, + 77: je, + 78: kt, + 79: 164, + 113: at, + 114: xt, + 115: it + }, + { 75: [1, 188], 76: 189, 113: Se, 116: Ue }, + t(dt, [2, 73]), + t(dt, [2, 75]), + t(dt, [2, 76]), + t(dt, [2, 161]), + t(dt, [2, 162]), + { + 8: $, + 9: z, + 10: Pe, + 11: Y, + 12: _e, + 14: me, + 21: 191, + 27: W, + 29: [1, 190], + 32: fe, + 42: ge, + 58: re, + 73: he, + 80: 135, + 81: ne, + 82: ae, + 83: we, + 84: Te, + 85: Ce, + 86: Ae, + 87: Ge, + 88: 192, + 102: Me, + 106: ye, + 108: He, + 111: ze, + 112: Ze, + 113: gt + }, + t(lt, [2, 94]), + t(lt, [2, 96]), + t(lt, [2, 97]), + t(lt, [2, 150]), + t(lt, [2, 151]), + t(lt, [2, 152]), + t(lt, [2, 153]), + t(lt, [2, 154]), + t(lt, [2, 155]), + t(lt, [2, 156]), + t(lt, [2, 157]), + t(lt, [2, 158]), + t(lt, [2, 159]), + t(lt, [2, 160]), + t(lt, [2, 83]), + t(lt, [2, 84]), + t(lt, [2, 85]), + t(lt, [2, 86]), + t(lt, [2, 87]), + t(lt, [2, 88]), + t(lt, [2, 89]), + t(lt, [2, 90]), + t(lt, [2, 91]), + t(lt, [2, 92]), + t(lt, [2, 93]), + { + 6: 11, + 7: 12, + 8: s, + 9: l, + 10: u, + 11: h, + 20: 17, + 22: 18, + 23: 19, + 24: 20, + 25: 21, + 26: 22, + 27: f, + 32: [1, 193], + 33: 24, + 34: d, + 36: p, + 38: m, + 40: 28, + 41: 38, + 42: g, + 43: 39, + 45: 40, + 58: y, + 81: v, + 82: x, + 83: b, + 84: w, + 85: S, + 86: T, + 99: E, + 102: _, + 103: A, + 106: L, + 108: M, + 110: 41, + 111: N, + 112: k, + 113: I, + 118: C, + 119: O, + 120: D, + 121: P + }, + { 10: F, 18: 194 }, + { + 10: [1, 195], + 42: g, + 58: y, + 86: T, + 99: E, + 102: _, + 103: A, + 106: L, + 108: M, + 110: 109, + 111: N, + 112: k, + 113: I + }, + { 10: [1, 196] }, + { 10: [1, 197], 103: [1, 198] }, + t(It, [2, 121]), + { + 10: [1, 199], + 42: g, + 58: y, + 86: T, + 99: E, + 102: _, + 103: A, + 106: L, + 108: M, + 110: 109, + 111: N, + 112: k, + 113: I + }, + { + 10: [1, 200], + 42: g, + 58: y, + 86: T, + 99: E, + 102: _, + 103: A, + 106: L, + 108: M, + 110: 109, + 111: N, + 112: k, + 113: I + }, + { 77: [1, 201] }, + t(Ye, [2, 102], { 10: [1, 202] }), + t(Ye, [2, 104], { 10: [1, 203] }), + { 77: [1, 204] }, + t(Je, [2, 177]), + { 77: [1, 205], 95: [1, 206] }, + t(te, [2, 50], { + 110: 109, + 42: g, + 58: y, + 86: T, + 99: E, + 102: _, + 103: A, + 106: L, + 108: M, + 111: N, + 112: k, + 113: I + }), + { 31: [1, 207], 65: Ve, 79: 208, 113: at, 114: xt, 115: it }, + t(mt, [2, 79]), + t(mt, [2, 81]), + t(mt, [2, 82]), + t(mt, [2, 146]), + t(mt, [2, 147]), + t(mt, [2, 148]), + t(mt, [2, 149]), + { 47: [1, 209], 65: Ve, 79: 208, 113: at, 114: xt, 115: it }, + { + 30: 210, + 65: Ve, + 77: je, + 78: kt, + 79: 164, + 113: at, + 114: xt, + 115: it + }, + { 49: [1, 211], 65: Ve, 79: 208, 113: at, 114: xt, 115: it }, + { 51: [1, 212], 65: Ve, 79: 208, 113: at, 114: xt, 115: it }, + { 53: [1, 213], 65: Ve, 79: 208, 113: at, 114: xt, 115: it }, + { 55: [1, 214], 65: Ve, 79: 208, 113: at, 114: xt, 115: it }, + { 58: [1, 215] }, + { 62: [1, 216], 65: Ve, 79: 208, 113: at, 114: xt, 115: it }, + { 64: [1, 217], 65: Ve, 79: 208, 113: at, 114: xt, 115: it }, + { + 30: 218, + 65: Ve, + 77: je, + 78: kt, + 79: 164, + 113: at, + 114: xt, + 115: it + }, + { 31: [1, 219], 65: Ve, 79: 208, 113: at, 114: xt, 115: it }, + { + 65: Ve, + 67: [1, 220], + 69: [1, 221], + 79: 208, + 113: at, + 114: xt, + 115: it + }, + { + 65: Ve, + 67: [1, 223], + 69: [1, 222], + 79: 208, + 113: at, + 114: xt, + 115: it + }, + t(Q, [2, 44], { 42: tt }), + t(Ie, [2, 70]), + t(Ie, [2, 69]), + { 60: [1, 224], 65: Ve, 79: 208, 113: at, 114: xt, 115: it }, + t(Ie, [2, 72]), + t(dt, [2, 74]), + { + 30: 225, + 65: Ve, + 77: je, + 78: kt, + 79: 164, + 113: at, + 114: xt, + 115: it + }, + t(yt, a, { 5: 226 }), + t(lt, [2, 95]), + t(B, [2, 35]), + { + 41: 227, + 42: g, + 43: 39, + 45: 40, + 58: y, + 86: T, + 99: E, + 102: _, + 103: A, + 106: L, + 108: M, + 110: 41, + 111: N, + 112: k, + 113: I + }, + { + 10: St, + 58: gr, + 81: xn, + 89: 228, + 102: jt, + 104: 229, + 105: 230, + 106: rn, + 107: Er, + 108: Kn, + 109: hn + }, + { + 10: St, + 58: gr, + 81: xn, + 89: 239, + 101: [1, 240], + 102: jt, + 104: 229, + 105: 230, + 106: rn, + 107: Er, + 108: Kn, + 109: hn + }, + { + 10: St, + 58: gr, + 81: xn, + 89: 241, + 101: [1, 242], + 102: jt, + 104: 229, + 105: 230, + 106: rn, + 107: Er, + 108: Kn, + 109: hn + }, + { 102: [1, 243] }, + { + 10: St, + 58: gr, + 81: xn, + 89: 244, + 102: jt, + 104: 229, + 105: 230, + 106: rn, + 107: Er, + 108: Kn, + 109: hn + }, + { + 42: g, + 45: 245, + 58: y, + 86: T, + 99: E, + 102: _, + 103: A, + 106: L, + 108: M, + 110: 41, + 111: N, + 112: k, + 113: I + }, + t(Ye, [2, 101]), + { 77: [1, 246] }, + { 77: [1, 247], 95: [1, 248] }, + t(Ye, [2, 109]), + t(Ye, [2, 111], { 10: [1, 249] }), + t(Ye, [2, 112]), + t(De, [2, 51]), + t(mt, [2, 80]), + t(De, [2, 52]), + { 49: [1, 250], 65: Ve, 79: 208, 113: at, 114: xt, 115: it }, + t(De, [2, 59]), + t(De, [2, 54]), + t(De, [2, 55]), + t(De, [2, 56]), + { 106: [1, 251] }, + t(De, [2, 58]), + t(De, [2, 60]), + { 64: [1, 252], 65: Ve, 79: 208, 113: at, 114: xt, 115: it }, + t(De, [2, 62]), + t(De, [2, 63]), + t(De, [2, 65]), + t(De, [2, 64]), + t(De, [2, 66]), + t([10, 42, 58, 86, 99, 102, 103, 106, 108, 111, 112, 113], [2, 78]), + { 31: [1, 253], 65: Ve, 79: 208, 113: at, 114: xt, 115: it }, + { + 6: 11, + 7: 12, + 8: s, + 9: l, + 10: u, + 11: h, + 20: 17, + 22: 18, + 23: 19, + 24: 20, + 25: 21, + 26: 22, + 27: f, + 32: [1, 254], + 33: 24, + 34: d, + 36: p, + 38: m, + 40: 28, + 41: 38, + 42: g, + 43: 39, + 45: 40, + 58: y, + 81: v, + 82: x, + 83: b, + 84: w, + 85: S, + 86: T, + 99: E, + 102: _, + 103: A, + 106: L, + 108: M, + 110: 41, + 111: N, + 112: k, + 113: I, + 118: C, + 119: O, + 120: D, + 121: P + }, + t(te, [2, 48]), + t(Ye, [2, 114], { 103: Qn }), + t(on, [2, 123], { + 105: 256, + 10: St, + 58: gr, + 81: xn, + 102: jt, + 106: rn, + 107: Er, + 108: Kn, + 109: hn + }), + t(Rn, [2, 125]), + t(Rn, [2, 127]), + t(Rn, [2, 128]), + t(Rn, [2, 129]), + t(Rn, [2, 130]), + t(Rn, [2, 131]), + t(Rn, [2, 132]), + t(Rn, [2, 133]), + t(Rn, [2, 134]), + t(Ye, [2, 115], { 103: Qn }), + { 10: [1, 257] }, + t(Ye, [2, 116], { 103: Qn }), + { 10: [1, 258] }, + t(It, [2, 122]), + t(Ye, [2, 98], { 103: Qn }), + t(Ye, [2, 99], { + 110: 109, + 42: g, + 58: y, + 86: T, + 99: E, + 102: _, + 103: A, + 106: L, + 108: M, + 111: N, + 112: k, + 113: I + }), + t(Ye, [2, 103]), + t(Ye, [2, 105], { 10: [1, 259] }), + t(Ye, [2, 106]), + { 95: [1, 260] }, + { 49: [1, 261] }, + { 60: [1, 262] }, + { 64: [1, 263] }, + { 8: $, 9: z, 11: Y, 21: 264 }, + t(B, [2, 34]), + { + 10: St, + 58: gr, + 81: xn, + 102: jt, + 104: 265, + 105: 230, + 106: rn, + 107: Er, + 108: Kn, + 109: hn + }, + t(Rn, [2, 126]), + { + 14: X, + 42: ie, + 58: j, + 86: J, + 98: 266, + 102: Z, + 103: H, + 106: q, + 108: K, + 111: se, + 112: ce, + 113: ue, + 117: 84 + }, + { + 14: X, + 42: ie, + 58: j, + 86: J, + 98: 267, + 102: Z, + 103: H, + 106: q, + 108: K, + 111: se, + 112: ce, + 113: ue, + 117: 84 + }, + { 95: [1, 268] }, + t(Ye, [2, 113]), + t(De, [2, 53]), + { + 30: 269, + 65: Ve, + 77: je, + 78: kt, + 79: 164, + 113: at, + 114: xt, + 115: it + }, + t(De, [2, 61]), + t(yt, a, { 5: 270 }), + t(on, [2, 124], { + 105: 256, + 10: St, + 58: gr, + 81: xn, + 102: jt, + 106: rn, + 107: Er, + 108: Kn, + 109: hn + }), + t(Ye, [2, 119], { + 117: 160, + 10: [1, 271], + 14: X, + 42: ie, + 58: j, + 86: J, + 102: Z, + 103: H, + 106: q, + 108: K, + 111: se, + 112: ce, + 113: ue + }), + t(Ye, [2, 120], { + 117: 160, + 10: [1, 272], + 14: X, + 42: ie, + 58: j, + 86: J, + 102: Z, + 103: H, + 106: q, + 108: K, + 111: se, + 112: ce, + 113: ue + }), + t(Ye, [2, 107]), + { 31: [1, 273], 65: Ve, 79: 208, 113: at, 114: xt, 115: it }, + { + 6: 11, + 7: 12, + 8: s, + 9: l, + 10: u, + 11: h, + 20: 17, + 22: 18, + 23: 19, + 24: 20, + 25: 21, + 26: 22, + 27: f, + 32: [1, 274], + 33: 24, + 34: d, + 36: p, + 38: m, + 40: 28, + 41: 38, + 42: g, + 43: 39, + 45: 40, + 58: y, + 81: v, + 82: x, + 83: b, + 84: w, + 85: S, + 86: T, + 99: E, + 102: _, + 103: A, + 106: L, + 108: M, + 110: 41, + 111: N, + 112: k, + 113: I, + 118: C, + 119: O, + 120: D, + 121: P + }, + { + 10: St, + 58: gr, + 81: xn, + 89: 275, + 102: jt, + 104: 229, + 105: 230, + 106: rn, + 107: Er, + 108: Kn, + 109: hn + }, + { + 10: St, + 58: gr, + 81: xn, + 89: 276, + 102: jt, + 104: 229, + 105: 230, + 106: rn, + 107: Er, + 108: Kn, + 109: hn + }, + t(De, [2, 57]), + t(B, [2, 33]), + t(Ye, [2, 117], { 103: Qn }), + t(Ye, [2, 118], { 103: Qn }) + ], + defaultActions: {}, + parseError: o(function (ht, At) { + if (At.recoverable) this.trace(ht); + else { + var $t = new Error(ht); + throw (($t.hash = At), $t); + } + }, 'parseError'), + parse: o(function (ht) { + var At = this, + $t = [0], + rt = [], + Ot = [null], + pe = [], + ur = this.table, + be = '', + Ir = 0, + Xc = 0, + M1 = 0, + _b = 2, + I1 = 1, + O1 = pe.slice.call(arguments, 1), + ci = Object.create(this.lexer), + ko = { yy: {} }; + for (var ih in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, ih) && (ko.yy[ih] = this.yy[ih]); + ci.setInput(ht, ko.yy), + (ko.yy.lexer = ci), + (ko.yy.parser = this), + typeof ci.yylloc > 'u' && (ci.yylloc = {}); + var Us = ci.yylloc; + pe.push(Us); + var ah = ci.options && ci.options.ranges; + typeof ko.yy.parseError == 'function' + ? (this.parseError = ko.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError); + function Lb(La) { + ($t.length = $t.length - 2 * La), + (Ot.length = Ot.length - La), + (pe.length = pe.length - La); + } + o(Lb, 'popStack'); + function P1() { + var La; + return ( + (La = rt.pop() || ci.lex() || I1), + typeof La != 'number' && + (La instanceof Array && ((rt = La), (La = rt.pop())), + (La = At.symbols_[La] || La)), + La + ); + } + o(P1, 'lex'); + for (var sa, jc, Kc, us, _i, Wl, sh = {}, zf, Hs, B1, Gf; ; ) { + if ( + ((Kc = $t[$t.length - 1]), + this.defaultActions[Kc] + ? (us = this.defaultActions[Kc]) + : ((sa === null || typeof sa > 'u') && (sa = P1()), + (us = ur[Kc] && ur[Kc][sa])), + typeof us > 'u' || !us.length || !us[0]) + ) { + var F1 = ''; + Gf = []; + for (zf in ur[Kc]) + this.terminals_[zf] && zf > _b && Gf.push("'" + this.terminals_[zf] + "'"); + ci.showPosition + ? (F1 = + 'Parse error on line ' + + (Ir + 1) + + `: +` + + ci.showPosition() + + ` +Expecting ` + + Gf.join(', ') + + ", got '" + + (this.terminals_[sa] || sa) + + "'") + : (F1 = + 'Parse error on line ' + + (Ir + 1) + + ': Unexpected ' + + (sa == I1 ? 'end of input' : "'" + (this.terminals_[sa] || sa) + "'")), + this.parseError(F1, { + text: ci.match, + token: this.terminals_[sa] || sa, + line: ci.yylineno, + loc: Us, + expected: Gf + }); + } + if (us[0] instanceof Array && us.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + Kc + ', token: ' + sa + ); + switch (us[0]) { + case 1: + $t.push(sa), + Ot.push(ci.yytext), + pe.push(ci.yylloc), + $t.push(us[1]), + (sa = null), + jc + ? ((sa = jc), (jc = null)) + : ((Xc = ci.yyleng), + (be = ci.yytext), + (Ir = ci.yylineno), + (Us = ci.yylloc), + M1 > 0 && M1--); + break; + case 2: + if ( + ((Hs = this.productions_[us[1]][1]), + (sh.$ = Ot[Ot.length - Hs]), + (sh._$ = { + first_line: pe[pe.length - (Hs || 1)].first_line, + last_line: pe[pe.length - 1].last_line, + first_column: pe[pe.length - (Hs || 1)].first_column, + last_column: pe[pe.length - 1].last_column + }), + ah && + (sh._$.range = [ + pe[pe.length - (Hs || 1)].range[0], + pe[pe.length - 1].range[1] + ]), + (Wl = this.performAction.apply( + sh, + [be, Xc, Ir, ko.yy, us[1], Ot, pe].concat(O1) + )), + typeof Wl < 'u') + ) + return Wl; + Hs && + (($t = $t.slice(0, -1 * Hs * 2)), + (Ot = Ot.slice(0, -1 * Hs)), + (pe = pe.slice(0, -1 * Hs))), + $t.push(this.productions_[us[1]][0]), + Ot.push(sh.$), + pe.push(sh._$), + (B1 = ur[$t[$t.length - 2]][$t[$t.length - 1]]), + $t.push(B1); + break; + case 3: + return !0; + } + } + return !0; + }, 'parse') + }, + _a = (function () { + var qi = { + EOF: 1, + parseError: o(function (At, $t) { + if (this.yy.parser) this.yy.parser.parseError(At, $t); + else throw new Error(At); + }, 'parseError'), + setInput: o(function (ht, At) { + return ( + (this.yy = At || this.yy || {}), + (this._input = ht), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, 'setInput'), + input: o(function () { + var ht = this._input[0]; + (this.yytext += ht), + this.yyleng++, + this.offset++, + (this.match += ht), + (this.matched += ht); + var At = ht.match(/(?:\r\n?|\n).*/g); + return ( + At ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + ht + ); + }, 'input'), + unput: o(function (ht) { + var At = ht.length, + $t = ht.split(/(?:\r\n?|\n)/g); + (this._input = ht + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - At)), + (this.offset -= At); + var rt = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + $t.length - 1 && (this.yylineno -= $t.length - 1); + var Ot = this.yylloc.range; + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: $t + ? ($t.length === rt.length ? this.yylloc.first_column : 0) + + rt[rt.length - $t.length].length - + $t[0].length + : this.yylloc.first_column - At + }), + this.options.ranges && (this.yylloc.range = [Ot[0], Ot[0] + this.yyleng - At]), + (this.yyleng = this.yytext.length), + this + ); + }, 'unput'), + more: o(function () { + return (this._more = !0), this; + }, 'more'), + reject: o(function () { + if (this.options.backtrack_lexer) this._backtrack = !0; + else + return this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + return this; + }, 'reject'), + less: o(function (ht) { + this.unput(this.match.slice(ht)); + }, 'less'), + pastInput: o(function () { + var ht = this.matched.substr(0, this.matched.length - this.match.length); + return (ht.length > 20 ? '...' : '') + ht.substr(-20).replace(/\n/g, ''); + }, 'pastInput'), + upcomingInput: o(function () { + var ht = this.match; + return ( + ht.length < 20 && (ht += this._input.substr(0, 20 - ht.length)), + (ht.substr(0, 20) + (ht.length > 20 ? '...' : '')).replace(/\n/g, '') + ); + }, 'upcomingInput'), + showPosition: o(function () { + var ht = this.pastInput(), + At = new Array(ht.length + 1).join('-'); + return ( + ht + + this.upcomingInput() + + ` +` + + At + + '^' + ); + }, 'showPosition'), + test_match: o(function (ht, At) { + var $t, rt, Ot; + if ( + (this.options.backtrack_lexer && + ((Ot = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }), + this.options.ranges && (Ot.yylloc.range = this.yylloc.range.slice(0))), + (rt = ht[0].match(/(?:\r\n?|\n).*/g)), + rt && (this.yylineno += rt.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: rt + ? rt[rt.length - 1].length - rt[rt.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + ht[0].length + }), + (this.yytext += ht[0]), + (this.match += ht[0]), + (this.matches = ht), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(ht[0].length)), + (this.matched += ht[0]), + ($t = this.performAction.call( + this, + this.yy, + this, + At, + this.conditionStack[this.conditionStack.length - 1] + )), + this.done && this._input && (this.done = !1), + $t) + ) + return $t; + if (this._backtrack) { + for (var pe in Ot) this[pe] = Ot[pe]; + return !1; + } + return !1; + }, 'test_match'), + next: o(function () { + if (this.done) return this.EOF; + this._input || (this.done = !0); + var ht, At, $t, rt; + this._more || ((this.yytext = ''), (this.match = '')); + for (var Ot = this._currentRules(), pe = 0; pe < Ot.length; pe++) + if ( + (($t = this._input.match(this.rules[Ot[pe]])), + $t && (!At || $t[0].length > At[0].length)) + ) { + if (((At = $t), (rt = pe), this.options.backtrack_lexer)) { + if (((ht = this.test_match($t, Ot[pe])), ht !== !1)) return ht; + if (this._backtrack) { + At = !1; + continue; + } else return !1; + } else if (!this.options.flex) break; + } + return At + ? ((ht = this.test_match(At, Ot[rt])), ht !== !1 ? ht : !1) + : this._input === '' + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, 'next'), + lex: o(function () { + var At = this.next(); + return At || this.lex(); + }, 'lex'), + begin: o(function (At) { + this.conditionStack.push(At); + }, 'begin'), + popState: o(function () { + var At = this.conditionStack.length - 1; + return At > 0 ? this.conditionStack.pop() : this.conditionStack[0]; + }, 'popState'), + _currentRules: o(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules; + }, '_currentRules'), + topState: o(function (At) { + return ( + (At = this.conditionStack.length - 1 - Math.abs(At || 0)), + At >= 0 ? this.conditionStack[At] : 'INITIAL' + ); + }, 'topState'), + pushState: o(function (At) { + this.begin(At); + }, 'pushState'), + stateStackSize: o(function () { + return this.conditionStack.length; + }, 'stateStackSize'), + options: {}, + performAction: o(function (At, $t, rt, Ot) { + var pe = Ot; + switch (rt) { + case 0: + return this.begin('acc_title'), 34; + break; + case 1: + return this.popState(), 'acc_title_value'; + break; + case 2: + return this.begin('acc_descr'), 36; + break; + case 3: + return this.popState(), 'acc_descr_value'; + break; + case 4: + this.begin('acc_descr_multiline'); + break; + case 5: + this.popState(); + break; + case 6: + return 'acc_descr_multiline_value'; + case 7: + this.begin('callbackname'); + break; + case 8: + this.popState(); + break; + case 9: + this.popState(), this.begin('callbackargs'); + break; + case 10: + return 92; + case 11: + this.popState(); + break; + case 12: + return 93; + case 13: + return 'MD_STR'; + case 14: + this.popState(); + break; + case 15: + this.begin('md_string'); + break; + case 16: + return 'STR'; + case 17: + this.popState(); + break; + case 18: + this.pushState('string'); + break; + case 19: + return 81; + case 20: + return 99; + case 21: + return 82; + case 22: + return 101; + case 23: + return 83; + case 24: + return 84; + case 25: + return 94; + case 26: + this.begin('click'); + break; + case 27: + this.popState(); + break; + case 28: + return 85; + case 29: + return At.lex.firstGraph() && this.begin('dir'), 12; + break; + case 30: + return At.lex.firstGraph() && this.begin('dir'), 12; + break; + case 31: + return At.lex.firstGraph() && this.begin('dir'), 12; + break; + case 32: + return 27; + case 33: + return 32; + case 34: + return 95; + case 35: + return 95; + case 36: + return 95; + case 37: + return 95; + case 38: + return this.popState(), 13; + break; + case 39: + return this.popState(), 14; + break; + case 40: + return this.popState(), 14; + break; + case 41: + return this.popState(), 14; + break; + case 42: + return this.popState(), 14; + break; + case 43: + return this.popState(), 14; + break; + case 44: + return this.popState(), 14; + break; + case 45: + return this.popState(), 14; + break; + case 46: + return this.popState(), 14; + break; + case 47: + return this.popState(), 14; + break; + case 48: + return this.popState(), 14; + break; + case 49: + return 118; + case 50: + return 119; + case 51: + return 120; + case 52: + return 121; + case 53: + return 102; + case 54: + return 108; + case 55: + return 44; + case 56: + return 58; + case 57: + return 42; + case 58: + return 8; + case 59: + return 103; + case 60: + return 112; + case 61: + return this.popState(), 75; + break; + case 62: + return this.pushState('edgeText'), 73; + break; + case 63: + return 116; + case 64: + return this.popState(), 75; + break; + case 65: + return this.pushState('thickEdgeText'), 73; + break; + case 66: + return 116; + case 67: + return this.popState(), 75; + break; + case 68: + return this.pushState('dottedEdgeText'), 73; + break; + case 69: + return 116; + case 70: + return 75; + case 71: + return this.popState(), 51; + break; + case 72: + return 'TEXT'; + case 73: + return this.pushState('ellipseText'), 50; + break; + case 74: + return this.popState(), 53; + break; + case 75: + return this.pushState('text'), 52; + break; + case 76: + return this.popState(), 55; + break; + case 77: + return this.pushState('text'), 54; + break; + case 78: + return 56; + case 79: + return this.pushState('text'), 65; + break; + case 80: + return this.popState(), 62; + break; + case 81: + return this.pushState('text'), 61; + break; + case 82: + return this.popState(), 47; + break; + case 83: + return this.pushState('text'), 46; + break; + case 84: + return this.popState(), 67; + break; + case 85: + return this.popState(), 69; + break; + case 86: + return 114; + case 87: + return this.pushState('trapText'), 66; + break; + case 88: + return this.pushState('trapText'), 68; + break; + case 89: + return 115; + case 90: + return 65; + case 91: + return 87; + case 92: + return 'SEP'; + case 93: + return 86; + case 94: + return 112; + case 95: + return 108; + case 96: + return 42; + case 97: + return 106; + case 98: + return 111; + case 99: + return 113; + case 100: + return this.popState(), 60; + break; + case 101: + return this.pushState('text'), 60; + break; + case 102: + return this.popState(), 49; + break; + case 103: + return this.pushState('text'), 48; + break; + case 104: + return this.popState(), 31; + break; + case 105: + return this.pushState('text'), 29; + break; + case 106: + return this.popState(), 64; + break; + case 107: + return this.pushState('text'), 63; + break; + case 108: + return 'TEXT'; + case 109: + return 'QUOTE'; + case 110: + return 9; + case 111: + return 10; + case 112: + return 11; + } + }, 'anonymous'), + rules: [ + /^(?:accTitle\s*:\s*)/, + /^(?:(?!\n||)*[^\n]*)/, + /^(?:accDescr\s*:\s*)/, + /^(?:(?!\n||)*[^\n]*)/, + /^(?:accDescr\s*\{\s*)/, + /^(?:[\}])/, + /^(?:[^\}]*)/, + /^(?:call[\s]+)/, + /^(?:\([\s]*\))/, + /^(?:\()/, + /^(?:[^(]*)/, + /^(?:\))/, + /^(?:[^)]*)/, + /^(?:[^`"]+)/, + /^(?:[`]["])/, + /^(?:["][`])/, + /^(?:[^"]+)/, + /^(?:["])/, + /^(?:["])/, + /^(?:style\b)/, + /^(?:default\b)/, + /^(?:linkStyle\b)/, + /^(?:interpolate\b)/, + /^(?:classDef\b)/, + /^(?:class\b)/, + /^(?:href[\s])/, + /^(?:click[\s]+)/, + /^(?:[\s\n])/, + /^(?:[^\s\n]*)/, + /^(?:flowchart-elk\b)/, + /^(?:graph\b)/, + /^(?:flowchart\b)/, + /^(?:subgraph\b)/, + /^(?:end\b\s*)/, + /^(?:_self\b)/, + /^(?:_blank\b)/, + /^(?:_parent\b)/, + /^(?:_top\b)/, + /^(?:(\r?\n)*\s*\n)/, + /^(?:\s*LR\b)/, + /^(?:\s*RL\b)/, + /^(?:\s*TB\b)/, + /^(?:\s*BT\b)/, + /^(?:\s*TD\b)/, + /^(?:\s*BR\b)/, + /^(?:\s*<)/, + /^(?:\s*>)/, + /^(?:\s*\^)/, + /^(?:\s*v\b)/, + /^(?:.*direction\s+TB[^\n]*)/, + /^(?:.*direction\s+BT[^\n]*)/, + /^(?:.*direction\s+RL[^\n]*)/, + /^(?:.*direction\s+LR[^\n]*)/, + /^(?:[0-9]+)/, + /^(?:#)/, + /^(?::::)/, + /^(?::)/, + /^(?:&)/, + /^(?:;)/, + /^(?:,)/, + /^(?:\*)/, + /^(?:\s*[xo<]?--+[-xo>]\s*)/, + /^(?:\s*[xo<]?--\s*)/, + /^(?:[^-]|-(?!-)+)/, + /^(?:\s*[xo<]?==+[=xo>]\s*)/, + /^(?:\s*[xo<]?==\s*)/, + /^(?:[^=]|=(?!))/, + /^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/, + /^(?:\s*[xo<]?-\.\s*)/, + /^(?:[^\.]|\.(?!))/, + /^(?:\s*~~[\~]+\s*)/, + /^(?:[-/\)][\)])/, + /^(?:[^\(\)\[\]\{\}]|!\)+)/, + /^(?:\(-)/, + /^(?:\]\))/, + /^(?:\(\[)/, + /^(?:\]\])/, + /^(?:\[\[)/, + /^(?:\[\|)/, + /^(?:>)/, + /^(?:\)\])/, + /^(?:\[\()/, + /^(?:\)\)\))/, + /^(?:\(\(\()/, + /^(?:[\\(?=\])][\]])/, + /^(?:\/(?=\])\])/, + /^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/, + /^(?:\[\/)/, + /^(?:\[\\)/, + /^(?:<)/, + /^(?:>)/, + /^(?:\^)/, + /^(?:\\\|)/, + /^(?:v\b)/, + /^(?:\*)/, + /^(?:#)/, + /^(?:&)/, + /^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/, + /^(?:-)/, + /^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/, + /^(?:\|)/, + /^(?:\|)/, + /^(?:\))/, + /^(?:\()/, + /^(?:\])/, + /^(?:\[)/, + /^(?:(\}))/, + /^(?:\{)/, + /^(?:[^\[\]\(\)\{\}\|\"]+)/, + /^(?:")/, + /^(?:(\r?\n)+)/, + /^(?:\s)/, + /^(?:$)/ + ], + conditions: { + callbackargs: { + rules: [11, 12, 15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], + inclusive: !1 + }, + callbackname: { + rules: [8, 9, 10, 15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], + inclusive: !1 + }, + href: { + rules: [15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], + inclusive: !1 + }, + click: { + rules: [15, 18, 27, 28, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], + inclusive: !1 + }, + dottedEdgeText: { + rules: [15, 18, 67, 69, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], + inclusive: !1 + }, + thickEdgeText: { + rules: [15, 18, 64, 66, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], + inclusive: !1 + }, + edgeText: { + rules: [15, 18, 61, 63, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], + inclusive: !1 + }, + trapText: { + rules: [15, 18, 70, 73, 75, 77, 81, 83, 84, 85, 86, 87, 88, 101, 103, 105, 107], + inclusive: !1 + }, + ellipseText: { + rules: [15, 18, 70, 71, 72, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], + inclusive: !1 + }, + text: { + rules: [ + 15, 18, 70, 73, 74, 75, 76, 77, 80, 81, 82, 83, 87, 88, 100, 101, 102, 103, 104, + 105, 106, 107, 108 + ], + inclusive: !1 + }, + vertex: { + rules: [15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], + inclusive: !1 + }, + dir: { + rules: [ + 15, 18, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 70, 73, 75, 77, 81, 83, 87, + 88, 101, 103, 105, 107 + ], + inclusive: !1 + }, + acc_descr_multiline: { + rules: [5, 6, 15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], + inclusive: !1 + }, + acc_descr: { + rules: [3, 15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], + inclusive: !1 + }, + acc_title: { + rules: [1, 15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], + inclusive: !1 + }, + md_string: { + rules: [13, 14, 15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], + inclusive: !1 + }, + string: { + rules: [15, 16, 17, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], + inclusive: !1 + }, + INITIAL: { + rules: [ + 0, 2, 4, 7, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 64, 65, 67, 68, + 70, 73, 75, 77, 78, 79, 81, 83, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 101, 103, 105, 107, 109, 110, 111, 112 + ], + inclusive: !0 + } + } + }; + return qi; + })(); + Ha.lexer = _a; + function To() { + this.yy = {}; + } + return o(To, 'Parser'), (To.prototype = Ha), (Ha.Parser = To), new To(); + })(); + vD.parser = vD; + Xre = vD; + }); + var kNe, + ENe, + Kre, + Qre = R(() => { + 'use strict'; + al(); + (kNe = o((t, e) => { + let r = X1, + n = r(t, 'r'), + i = r(t, 'g'), + a = r(t, 'b'); + return Ws(n, i, a, e); + }, 'fade')), + (ENe = o( + (t) => `.label { + font-family: ${t.fontFamily}; + color: ${t.nodeTextColor || t.textColor}; + } + .cluster-label text { + fill: ${t.titleColor}; + } + .cluster-label span { + color: ${t.titleColor}; + } + .cluster-label span p { + background-color: transparent; + } + + .label text,span { + fill: ${t.nodeTextColor || t.textColor}; + color: ${t.nodeTextColor || t.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + stroke-width: 1px; + } + .rough-node .label text , .node .label text { + text-anchor: middle; + } + // .flowchart-label .text-outer-tspan { + // text-anchor: middle; + // } + // .flowchart-label .text-inner-tspan { + // text-anchor: start; + // } + + .node .katex path { + fill: #000; + stroke: #000; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${t.arrowheadColor}; + } + + .edgePath .path { + stroke: ${t.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${t.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${t.edgeLabelBackground}; + p { + background-color: ${t.edgeLabelBackground}; + } + rect { + opacity: 0.5; + background-color: ${t.edgeLabelBackground}; + fill: ${t.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${kNe(t.edgeLabelBackground, 0.5)}; + // background-color: + } + + .cluster rect { + fill: ${t.clusterBkg}; + stroke: ${t.clusterBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${t.titleColor}; + } + + .cluster span { + color: ${t.titleColor}; + } + /* .cluster div { + color: ${t.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${t.fontFamily}; + font-size: 12px; + background: ${t.tertiaryColor}; + border: 1px solid ${t.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; + } +`, + 'getStyles' + )), + (Kre = ENe); + }); + var cT = {}; + hr(cT, { diagram: () => CNe }); + var CNe, + uT = R(() => { + 'use strict'; + _t(); + f9(); + qre(); + jre(); + Qre(); + CNe = { + parser: Xre, + db: A5, + renderer: Wre, + styles: Kre, + init: o((t) => { + t.flowchart || (t.flowchart = {}), + t.layout && iS({ layout: t.layout }), + (t.flowchart.arrowMarkerAbsolute = t.arrowMarkerAbsolute), + iS({ flowchart: { arrowMarkerAbsolute: t.arrowMarkerAbsolute } }), + A5.clear(), + A5.setGen('gen-2'); + }, 'init') + }; + }); + var xD, + rne, + nne = R(() => { + 'use strict'; + xD = (function () { + var t = o(function (A, L, M, N) { + for (M = M || {}, N = A.length; N--; M[A[N]] = L); + return M; + }, 'o'), + e = [6, 8, 10, 20, 22, 24, 26, 27, 28], + r = [1, 10], + n = [1, 11], + i = [1, 12], + a = [1, 13], + s = [1, 14], + l = [1, 15], + u = [1, 21], + h = [1, 22], + f = [1, 23], + d = [1, 24], + p = [1, 25], + m = [6, 8, 10, 13, 15, 18, 19, 20, 22, 24, 26, 27, 28, 41, 42, 43, 44, 45], + g = [1, 34], + y = [27, 28, 46, 47], + v = [41, 42, 43, 44, 45], + x = [17, 34], + b = [1, 54], + w = [1, 53], + S = [17, 34, 36, 38], + T = { + trace: o(function () {}, 'trace'), + yy: {}, + symbols_: { + error: 2, + start: 3, + ER_DIAGRAM: 4, + document: 5, + EOF: 6, + line: 7, + SPACE: 8, + statement: 9, + NEWLINE: 10, + entityName: 11, + relSpec: 12, + ':': 13, + role: 14, + BLOCK_START: 15, + attributes: 16, + BLOCK_STOP: 17, + SQS: 18, + SQE: 19, + title: 20, + title_value: 21, + acc_title: 22, + acc_title_value: 23, + acc_descr: 24, + acc_descr_value: 25, + acc_descr_multiline_value: 26, + ALPHANUM: 27, + ENTITY_NAME: 28, + attribute: 29, + attributeType: 30, + attributeName: 31, + attributeKeyTypeList: 32, + attributeComment: 33, + ATTRIBUTE_WORD: 34, + attributeKeyType: 35, + COMMA: 36, + ATTRIBUTE_KEY: 37, + COMMENT: 38, + cardinality: 39, + relType: 40, + ZERO_OR_ONE: 41, + ZERO_OR_MORE: 42, + ONE_OR_MORE: 43, + ONLY_ONE: 44, + MD_PARENT: 45, + NON_IDENTIFYING: 46, + IDENTIFYING: 47, + WORD: 48, + $accept: 0, + $end: 1 + }, + terminals_: { + 2: 'error', + 4: 'ER_DIAGRAM', + 6: 'EOF', + 8: 'SPACE', + 10: 'NEWLINE', + 13: ':', + 15: 'BLOCK_START', + 17: 'BLOCK_STOP', + 18: 'SQS', + 19: 'SQE', + 20: 'title', + 21: 'title_value', + 22: 'acc_title', + 23: 'acc_title_value', + 24: 'acc_descr', + 25: 'acc_descr_value', + 26: 'acc_descr_multiline_value', + 27: 'ALPHANUM', + 28: 'ENTITY_NAME', + 34: 'ATTRIBUTE_WORD', + 36: 'COMMA', + 37: 'ATTRIBUTE_KEY', + 38: 'COMMENT', + 41: 'ZERO_OR_ONE', + 42: 'ZERO_OR_MORE', + 43: 'ONE_OR_MORE', + 44: 'ONLY_ONE', + 45: 'MD_PARENT', + 46: 'NON_IDENTIFYING', + 47: 'IDENTIFYING', + 48: 'WORD' + }, + productions_: [ + 0, + [3, 3], + [5, 0], + [5, 2], + [7, 2], + [7, 1], + [7, 1], + [7, 1], + [9, 5], + [9, 4], + [9, 3], + [9, 1], + [9, 7], + [9, 6], + [9, 4], + [9, 2], + [9, 2], + [9, 2], + [9, 1], + [11, 1], + [11, 1], + [16, 1], + [16, 2], + [29, 2], + [29, 3], + [29, 3], + [29, 4], + [30, 1], + [31, 1], + [32, 1], + [32, 3], + [35, 1], + [33, 1], + [12, 3], + [39, 1], + [39, 1], + [39, 1], + [39, 1], + [39, 1], + [40, 1], + [40, 1], + [14, 1], + [14, 1], + [14, 1] + ], + performAction: o(function (L, M, N, k, I, C, O) { + var D = C.length - 1; + switch (I) { + case 1: + break; + case 2: + this.$ = []; + break; + case 3: + C[D - 1].push(C[D]), (this.$ = C[D - 1]); + break; + case 4: + case 5: + this.$ = C[D]; + break; + case 6: + case 7: + this.$ = []; + break; + case 8: + k.addEntity(C[D - 4]), + k.addEntity(C[D - 2]), + k.addRelationship(C[D - 4], C[D], C[D - 2], C[D - 3]); + break; + case 9: + k.addEntity(C[D - 3]), k.addAttributes(C[D - 3], C[D - 1]); + break; + case 10: + k.addEntity(C[D - 2]); + break; + case 11: + k.addEntity(C[D]); + break; + case 12: + k.addEntity(C[D - 6], C[D - 4]), k.addAttributes(C[D - 6], C[D - 1]); + break; + case 13: + k.addEntity(C[D - 5], C[D - 3]); + break; + case 14: + k.addEntity(C[D - 3], C[D - 1]); + break; + case 15: + case 16: + (this.$ = C[D].trim()), k.setAccTitle(this.$); + break; + case 17: + case 18: + (this.$ = C[D].trim()), k.setAccDescription(this.$); + break; + case 19: + case 43: + this.$ = C[D]; + break; + case 20: + case 41: + case 42: + this.$ = C[D].replace(/"/g, ''); + break; + case 21: + case 29: + this.$ = [C[D]]; + break; + case 22: + C[D].push(C[D - 1]), (this.$ = C[D]); + break; + case 23: + this.$ = { attributeType: C[D - 1], attributeName: C[D] }; + break; + case 24: + this.$ = { + attributeType: C[D - 2], + attributeName: C[D - 1], + attributeKeyTypeList: C[D] + }; + break; + case 25: + this.$ = { + attributeType: C[D - 2], + attributeName: C[D - 1], + attributeComment: C[D] + }; + break; + case 26: + this.$ = { + attributeType: C[D - 3], + attributeName: C[D - 2], + attributeKeyTypeList: C[D - 1], + attributeComment: C[D] + }; + break; + case 27: + case 28: + case 31: + this.$ = C[D]; + break; + case 30: + C[D - 2].push(C[D]), (this.$ = C[D - 2]); + break; + case 32: + this.$ = C[D].replace(/"/g, ''); + break; + case 33: + this.$ = { cardA: C[D], relType: C[D - 1], cardB: C[D - 2] }; + break; + case 34: + this.$ = k.Cardinality.ZERO_OR_ONE; + break; + case 35: + this.$ = k.Cardinality.ZERO_OR_MORE; + break; + case 36: + this.$ = k.Cardinality.ONE_OR_MORE; + break; + case 37: + this.$ = k.Cardinality.ONLY_ONE; + break; + case 38: + this.$ = k.Cardinality.MD_PARENT; + break; + case 39: + this.$ = k.Identification.NON_IDENTIFYING; + break; + case 40: + this.$ = k.Identification.IDENTIFYING; + break; + } + }, 'anonymous'), + table: [ + { 3: 1, 4: [1, 2] }, + { 1: [3] }, + t(e, [2, 2], { 5: 3 }), + { + 6: [1, 4], + 7: 5, + 8: [1, 6], + 9: 7, + 10: [1, 8], + 11: 9, + 20: r, + 22: n, + 24: i, + 26: a, + 27: s, + 28: l + }, + t(e, [2, 7], { 1: [2, 1] }), + t(e, [2, 3]), + { 9: 16, 11: 9, 20: r, 22: n, 24: i, 26: a, 27: s, 28: l }, + t(e, [2, 5]), + t(e, [2, 6]), + t(e, [2, 11], { + 12: 17, + 39: 20, + 15: [1, 18], + 18: [1, 19], + 41: u, + 42: h, + 43: f, + 44: d, + 45: p + }), + { 21: [1, 26] }, + { 23: [1, 27] }, + { 25: [1, 28] }, + t(e, [2, 18]), + t(m, [2, 19]), + t(m, [2, 20]), + t(e, [2, 4]), + { 11: 29, 27: s, 28: l }, + { 16: 30, 17: [1, 31], 29: 32, 30: 33, 34: g }, + { 11: 35, 27: s, 28: l }, + { 40: 36, 46: [1, 37], 47: [1, 38] }, + t(y, [2, 34]), + t(y, [2, 35]), + t(y, [2, 36]), + t(y, [2, 37]), + t(y, [2, 38]), + t(e, [2, 15]), + t(e, [2, 16]), + t(e, [2, 17]), + { 13: [1, 39] }, + { 17: [1, 40] }, + t(e, [2, 10]), + { 16: 41, 17: [2, 21], 29: 32, 30: 33, 34: g }, + { 31: 42, 34: [1, 43] }, + { 34: [2, 27] }, + { 19: [1, 44] }, + { 39: 45, 41: u, 42: h, 43: f, 44: d, 45: p }, + t(v, [2, 39]), + t(v, [2, 40]), + { 14: 46, 27: [1, 49], 28: [1, 48], 48: [1, 47] }, + t(e, [2, 9]), + { 17: [2, 22] }, + t(x, [2, 23], { 32: 50, 33: 51, 35: 52, 37: b, 38: w }), + t([17, 34, 37, 38], [2, 28]), + t(e, [2, 14], { 15: [1, 55] }), + t([27, 28], [2, 33]), + t(e, [2, 8]), + t(e, [2, 41]), + t(e, [2, 42]), + t(e, [2, 43]), + t(x, [2, 24], { 33: 56, 36: [1, 57], 38: w }), + t(x, [2, 25]), + t(S, [2, 29]), + t(x, [2, 32]), + t(S, [2, 31]), + { 16: 58, 17: [1, 59], 29: 32, 30: 33, 34: g }, + t(x, [2, 26]), + { 35: 60, 37: b }, + { 17: [1, 61] }, + t(e, [2, 13]), + t(S, [2, 30]), + t(e, [2, 12]) + ], + defaultActions: { 34: [2, 27], 41: [2, 22] }, + parseError: o(function (L, M) { + if (M.recoverable) this.trace(L); + else { + var N = new Error(L); + throw ((N.hash = M), N); + } + }, 'parseError'), + parse: o(function (L) { + var M = this, + N = [0], + k = [], + I = [null], + C = [], + O = this.table, + D = '', + P = 0, + F = 0, + B = 0, + $ = 2, + z = 1, + Y = C.slice.call(arguments, 1), + Q = Object.create(this.lexer), + X = { yy: {} }; + for (var ie in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, ie) && (X.yy[ie] = this.yy[ie]); + Q.setInput(L, X.yy), + (X.yy.lexer = Q), + (X.yy.parser = this), + typeof Q.yylloc > 'u' && (Q.yylloc = {}); + var j = Q.yylloc; + C.push(j); + var J = Q.options && Q.options.ranges; + typeof X.yy.parseError == 'function' + ? (this.parseError = X.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError); + function Z(Pe) { + (N.length = N.length - 2 * Pe), (I.length = I.length - Pe), (C.length = C.length - Pe); + } + o(Z, 'popStack'); + function H() { + var Pe; + return ( + (Pe = k.pop() || Q.lex() || z), + typeof Pe != 'number' && + (Pe instanceof Array && ((k = Pe), (Pe = k.pop())), + (Pe = M.symbols_[Pe] || Pe)), + Pe + ); + } + o(H, 'lex'); + for (var q, K, se, ce, ue, te, De = {}, oe, ke, Ie, Se; ; ) { + if ( + ((se = N[N.length - 1]), + this.defaultActions[se] + ? (ce = this.defaultActions[se]) + : ((q === null || typeof q > 'u') && (q = H()), (ce = O[se] && O[se][q])), + typeof ce > 'u' || !ce.length || !ce[0]) + ) { + var Ue = ''; + Se = []; + for (oe in O[se]) + this.terminals_[oe] && oe > $ && Se.push("'" + this.terminals_[oe] + "'"); + Q.showPosition + ? (Ue = + 'Parse error on line ' + + (P + 1) + + `: +` + + Q.showPosition() + + ` +Expecting ` + + Se.join(', ') + + ", got '" + + (this.terminals_[q] || q) + + "'") + : (Ue = + 'Parse error on line ' + + (P + 1) + + ': Unexpected ' + + (q == z ? 'end of input' : "'" + (this.terminals_[q] || q) + "'")), + this.parseError(Ue, { + text: Q.match, + token: this.terminals_[q] || q, + line: Q.yylineno, + loc: j, + expected: Se + }); + } + if (ce[0] instanceof Array && ce.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + se + ', token: ' + q + ); + switch (ce[0]) { + case 1: + N.push(q), + I.push(Q.yytext), + C.push(Q.yylloc), + N.push(ce[1]), + (q = null), + K + ? ((q = K), (K = null)) + : ((F = Q.yyleng), + (D = Q.yytext), + (P = Q.yylineno), + (j = Q.yylloc), + B > 0 && B--); + break; + case 2: + if ( + ((ke = this.productions_[ce[1]][1]), + (De.$ = I[I.length - ke]), + (De._$ = { + first_line: C[C.length - (ke || 1)].first_line, + last_line: C[C.length - 1].last_line, + first_column: C[C.length - (ke || 1)].first_column, + last_column: C[C.length - 1].last_column + }), + J && + (De._$.range = [ + C[C.length - (ke || 1)].range[0], + C[C.length - 1].range[1] + ]), + (te = this.performAction.apply(De, [D, F, P, X.yy, ce[1], I, C].concat(Y))), + typeof te < 'u') + ) + return te; + ke && + ((N = N.slice(0, -1 * ke * 2)), + (I = I.slice(0, -1 * ke)), + (C = C.slice(0, -1 * ke))), + N.push(this.productions_[ce[1]][0]), + I.push(De.$), + C.push(De._$), + (Ie = O[N[N.length - 2]][N[N.length - 1]]), + N.push(Ie); + break; + case 3: + return !0; + } + } + return !0; + }, 'parse') + }, + E = (function () { + var A = { + EOF: 1, + parseError: o(function (M, N) { + if (this.yy.parser) this.yy.parser.parseError(M, N); + else throw new Error(M); + }, 'parseError'), + setInput: o(function (L, M) { + return ( + (this.yy = M || this.yy || {}), + (this._input = L), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, 'setInput'), + input: o(function () { + var L = this._input[0]; + (this.yytext += L), + this.yyleng++, + this.offset++, + (this.match += L), + (this.matched += L); + var M = L.match(/(?:\r\n?|\n).*/g); + return ( + M ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + L + ); + }, 'input'), + unput: o(function (L) { + var M = L.length, + N = L.split(/(?:\r\n?|\n)/g); + (this._input = L + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - M)), + (this.offset -= M); + var k = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + N.length - 1 && (this.yylineno -= N.length - 1); + var I = this.yylloc.range; + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: N + ? (N.length === k.length ? this.yylloc.first_column : 0) + + k[k.length - N.length].length - + N[0].length + : this.yylloc.first_column - M + }), + this.options.ranges && (this.yylloc.range = [I[0], I[0] + this.yyleng - M]), + (this.yyleng = this.yytext.length), + this + ); + }, 'unput'), + more: o(function () { + return (this._more = !0), this; + }, 'more'), + reject: o(function () { + if (this.options.backtrack_lexer) this._backtrack = !0; + else + return this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + return this; + }, 'reject'), + less: o(function (L) { + this.unput(this.match.slice(L)); + }, 'less'), + pastInput: o(function () { + var L = this.matched.substr(0, this.matched.length - this.match.length); + return (L.length > 20 ? '...' : '') + L.substr(-20).replace(/\n/g, ''); + }, 'pastInput'), + upcomingInput: o(function () { + var L = this.match; + return ( + L.length < 20 && (L += this._input.substr(0, 20 - L.length)), + (L.substr(0, 20) + (L.length > 20 ? '...' : '')).replace(/\n/g, '') + ); + }, 'upcomingInput'), + showPosition: o(function () { + var L = this.pastInput(), + M = new Array(L.length + 1).join('-'); + return ( + L + + this.upcomingInput() + + ` +` + + M + + '^' + ); + }, 'showPosition'), + test_match: o(function (L, M) { + var N, k, I; + if ( + (this.options.backtrack_lexer && + ((I = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }), + this.options.ranges && (I.yylloc.range = this.yylloc.range.slice(0))), + (k = L[0].match(/(?:\r\n?|\n).*/g)), + k && (this.yylineno += k.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: k + ? k[k.length - 1].length - k[k.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + L[0].length + }), + (this.yytext += L[0]), + (this.match += L[0]), + (this.matches = L), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(L[0].length)), + (this.matched += L[0]), + (N = this.performAction.call( + this, + this.yy, + this, + M, + this.conditionStack[this.conditionStack.length - 1] + )), + this.done && this._input && (this.done = !1), + N) + ) + return N; + if (this._backtrack) { + for (var C in I) this[C] = I[C]; + return !1; + } + return !1; + }, 'test_match'), + next: o(function () { + if (this.done) return this.EOF; + this._input || (this.done = !0); + var L, M, N, k; + this._more || ((this.yytext = ''), (this.match = '')); + for (var I = this._currentRules(), C = 0; C < I.length; C++) + if ( + ((N = this._input.match(this.rules[I[C]])), + N && (!M || N[0].length > M[0].length)) + ) { + if (((M = N), (k = C), this.options.backtrack_lexer)) { + if (((L = this.test_match(N, I[C])), L !== !1)) return L; + if (this._backtrack) { + M = !1; + continue; + } else return !1; + } else if (!this.options.flex) break; + } + return M + ? ((L = this.test_match(M, I[k])), L !== !1 ? L : !1) + : this._input === '' + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, 'next'), + lex: o(function () { + var M = this.next(); + return M || this.lex(); + }, 'lex'), + begin: o(function (M) { + this.conditionStack.push(M); + }, 'begin'), + popState: o(function () { + var M = this.conditionStack.length - 1; + return M > 0 ? this.conditionStack.pop() : this.conditionStack[0]; + }, 'popState'), + _currentRules: o(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules; + }, '_currentRules'), + topState: o(function (M) { + return ( + (M = this.conditionStack.length - 1 - Math.abs(M || 0)), + M >= 0 ? this.conditionStack[M] : 'INITIAL' + ); + }, 'topState'), + pushState: o(function (M) { + this.begin(M); + }, 'pushState'), + stateStackSize: o(function () { + return this.conditionStack.length; + }, 'stateStackSize'), + options: { 'case-insensitive': !0 }, + performAction: o(function (M, N, k, I) { + var C = I; + switch (k) { + case 0: + return this.begin('acc_title'), 22; + break; + case 1: + return this.popState(), 'acc_title_value'; + break; + case 2: + return this.begin('acc_descr'), 24; + break; + case 3: + return this.popState(), 'acc_descr_value'; + break; + case 4: + this.begin('acc_descr_multiline'); + break; + case 5: + this.popState(); + break; + case 6: + return 'acc_descr_multiline_value'; + case 7: + return 10; + case 8: + break; + case 9: + return 8; + case 10: + return 28; + case 11: + return 48; + case 12: + return 4; + case 13: + return this.begin('block'), 15; + break; + case 14: + return 36; + case 15: + break; + case 16: + return 37; + case 17: + return 34; + case 18: + return 34; + case 19: + return 38; + case 20: + break; + case 21: + return this.popState(), 17; + break; + case 22: + return N.yytext[0]; + case 23: + return 18; + case 24: + return 19; + case 25: + return 41; + case 26: + return 43; + case 27: + return 43; + case 28: + return 43; + case 29: + return 41; + case 30: + return 41; + case 31: + return 42; + case 32: + return 42; + case 33: + return 42; + case 34: + return 42; + case 35: + return 42; + case 36: + return 43; + case 37: + return 42; + case 38: + return 43; + case 39: + return 44; + case 40: + return 44; + case 41: + return 44; + case 42: + return 44; + case 43: + return 41; + case 44: + return 42; + case 45: + return 43; + case 46: + return 45; + case 47: + return 46; + case 48: + return 47; + case 49: + return 47; + case 50: + return 46; + case 51: + return 46; + case 52: + return 46; + case 53: + return 27; + case 54: + return N.yytext[0]; + case 55: + return 6; + } + }, 'anonymous'), + rules: [ + /^(?:accTitle\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*\{\s*)/i, + /^(?:[\}])/i, + /^(?:[^\}]*)/i, + /^(?:[\n]+)/i, + /^(?:\s+)/i, + /^(?:[\s]+)/i, + /^(?:"[^"%\r\n\v\b\\]+")/i, + /^(?:"[^"]*")/i, + /^(?:erDiagram\b)/i, + /^(?:\{)/i, + /^(?:,)/i, + /^(?:\s+)/i, + /^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i, + /^(?:(.*?)[~](.*?)*[~])/i, + /^(?:[\*A-Za-z_][A-Za-z0-9\-_\[\]\(\)]*)/i, + /^(?:"[^"]*")/i, + /^(?:[\n]+)/i, + /^(?:\})/i, + /^(?:.)/i, + /^(?:\[)/i, + /^(?:\])/i, + /^(?:one or zero\b)/i, + /^(?:one or more\b)/i, + /^(?:one or many\b)/i, + /^(?:1\+)/i, + /^(?:\|o\b)/i, + /^(?:zero or one\b)/i, + /^(?:zero or more\b)/i, + /^(?:zero or many\b)/i, + /^(?:0\+)/i, + /^(?:\}o\b)/i, + /^(?:many\(0\))/i, + /^(?:many\(1\))/i, + /^(?:many\b)/i, + /^(?:\}\|)/i, + /^(?:one\b)/i, + /^(?:only one\b)/i, + /^(?:1\b)/i, + /^(?:\|\|)/i, + /^(?:o\|)/i, + /^(?:o\{)/i, + /^(?:\|\{)/i, + /^(?:\s*u\b)/i, + /^(?:\.\.)/i, + /^(?:--)/i, + /^(?:to\b)/i, + /^(?:optionally to\b)/i, + /^(?:\.-)/i, + /^(?:-\.)/i, + /^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i, + /^(?:.)/i, + /^(?:$)/i + ], + conditions: { + acc_descr_multiline: { rules: [5, 6], inclusive: !1 }, + acc_descr: { rules: [3], inclusive: !1 }, + acc_title: { rules: [1], inclusive: !1 }, + block: { + rules: [14, 15, 16, 17, 18, 19, 20, 21, 22], + inclusive: !1 + }, + INITIAL: { + rules: [ + 0, 2, 4, 7, 8, 9, 10, 11, 12, 13, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55 + ], + inclusive: !0 + } + } + }; + return A; + })(); + T.lexer = E; + function _() { + this.yy = {}; + } + return o(_, 'Parser'), (_.prototype = T), (T.Parser = _), new _(); + })(); + xD.parser = xD; + rne = xD; + }); + var Hd, + bD, + NNe, + MNe, + ine, + INe, + ONe, + PNe, + BNe, + FNe, + ane, + sne = R(() => { + 'use strict'; + ut(); + _t(); + bi(); + (Hd = new Map()), + (bD = []), + (NNe = { + ZERO_OR_ONE: 'ZERO_OR_ONE', + ZERO_OR_MORE: 'ZERO_OR_MORE', + ONE_OR_MORE: 'ONE_OR_MORE', + ONLY_ONE: 'ONLY_ONE', + MD_PARENT: 'MD_PARENT' + }), + (MNe = { + NON_IDENTIFYING: 'NON_IDENTIFYING', + IDENTIFYING: 'IDENTIFYING' + }), + (ine = o(function (t, e = void 0) { + return ( + Hd.has(t) + ? !Hd.get(t).alias && + e && + ((Hd.get(t).alias = e), V.info(`Add alias '${e}' to entity '${t}'`)) + : (Hd.set(t, { attributes: [], alias: e }), V.info('Added new entity :', t)), + Hd.get(t) + ); + }, 'addEntity')), + (INe = o(() => Hd, 'getEntities')), + (ONe = o(function (t, e) { + let r = ine(t), + n; + for (n = e.length - 1; n >= 0; n--) + r.attributes.push(e[n]), V.debug('Added attribute ', e[n].attributeName); + }, 'addAttributes')), + (PNe = o(function (t, e, r, n) { + let i = { entityA: t, roleA: e, entityB: r, relSpec: n }; + bD.push(i), V.debug('Added new relationship :', i); + }, 'addRelationship')), + (BNe = o(() => bD, 'getRelationships')), + (FNe = o(function () { + (Hd = new Map()), (bD = []), vr(); + }, 'clear')), + (ane = { + Cardinality: NNe, + Identification: MNe, + getConfig: o(() => de().er, 'getConfig'), + addEntity: ine, + addAttributes: ONe, + getEntities: INe, + addRelationship: PNe, + getRelationships: BNe, + clear: FNe, + setAccTitle: kr, + getAccTitle: Ar, + setAccDescription: _r, + getAccDescription: Lr, + setDiagramTitle: nn, + getDiagramTitle: Xr + }); + }); + var Dl, + zNe, + $o, + one = R(() => { + 'use strict'; + (Dl = { + ONLY_ONE_START: 'ONLY_ONE_START', + ONLY_ONE_END: 'ONLY_ONE_END', + ZERO_OR_ONE_START: 'ZERO_OR_ONE_START', + ZERO_OR_ONE_END: 'ZERO_OR_ONE_END', + ONE_OR_MORE_START: 'ONE_OR_MORE_START', + ONE_OR_MORE_END: 'ONE_OR_MORE_END', + ZERO_OR_MORE_START: 'ZERO_OR_MORE_START', + ZERO_OR_MORE_END: 'ZERO_OR_MORE_END', + MD_PARENT_END: 'MD_PARENT_END', + MD_PARENT_START: 'MD_PARENT_START' + }), + (zNe = o(function (t, e) { + let r; + t + .append('defs') + .append('marker') + .attr('id', Dl.MD_PARENT_START) + .attr('refX', 0) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'), + t + .append('defs') + .append('marker') + .attr('id', Dl.MD_PARENT_END) + .attr('refX', 19) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'), + t + .append('defs') + .append('marker') + .attr('id', Dl.ONLY_ONE_START) + .attr('refX', 0) + .attr('refY', 9) + .attr('markerWidth', 18) + .attr('markerHeight', 18) + .attr('orient', 'auto') + .append('path') + .attr('stroke', e.stroke) + .attr('fill', 'none') + .attr('d', 'M9,0 L9,18 M15,0 L15,18'), + t + .append('defs') + .append('marker') + .attr('id', Dl.ONLY_ONE_END) + .attr('refX', 18) + .attr('refY', 9) + .attr('markerWidth', 18) + .attr('markerHeight', 18) + .attr('orient', 'auto') + .append('path') + .attr('stroke', e.stroke) + .attr('fill', 'none') + .attr('d', 'M3,0 L3,18 M9,0 L9,18'), + (r = t + .append('defs') + .append('marker') + .attr('id', Dl.ZERO_OR_ONE_START) + .attr('refX', 0) + .attr('refY', 9) + .attr('markerWidth', 30) + .attr('markerHeight', 18) + .attr('orient', 'auto')), + r + .append('circle') + .attr('stroke', e.stroke) + .attr('fill', 'white') + .attr('cx', 21) + .attr('cy', 9) + .attr('r', 6), + r.append('path').attr('stroke', e.stroke).attr('fill', 'none').attr('d', 'M9,0 L9,18'), + (r = t + .append('defs') + .append('marker') + .attr('id', Dl.ZERO_OR_ONE_END) + .attr('refX', 30) + .attr('refY', 9) + .attr('markerWidth', 30) + .attr('markerHeight', 18) + .attr('orient', 'auto')), + r + .append('circle') + .attr('stroke', e.stroke) + .attr('fill', 'white') + .attr('cx', 9) + .attr('cy', 9) + .attr('r', 6), + r.append('path').attr('stroke', e.stroke).attr('fill', 'none').attr('d', 'M21,0 L21,18'), + t + .append('defs') + .append('marker') + .attr('id', Dl.ONE_OR_MORE_START) + .attr('refX', 18) + .attr('refY', 18) + .attr('markerWidth', 45) + .attr('markerHeight', 36) + .attr('orient', 'auto') + .append('path') + .attr('stroke', e.stroke) + .attr('fill', 'none') + .attr('d', 'M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27'), + t + .append('defs') + .append('marker') + .attr('id', Dl.ONE_OR_MORE_END) + .attr('refX', 27) + .attr('refY', 18) + .attr('markerWidth', 45) + .attr('markerHeight', 36) + .attr('orient', 'auto') + .append('path') + .attr('stroke', e.stroke) + .attr('fill', 'none') + .attr('d', 'M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18'), + (r = t + .append('defs') + .append('marker') + .attr('id', Dl.ZERO_OR_MORE_START) + .attr('refX', 18) + .attr('refY', 18) + .attr('markerWidth', 57) + .attr('markerHeight', 36) + .attr('orient', 'auto')), + r + .append('circle') + .attr('stroke', e.stroke) + .attr('fill', 'white') + .attr('cx', 48) + .attr('cy', 18) + .attr('r', 6), + r + .append('path') + .attr('stroke', e.stroke) + .attr('fill', 'none') + .attr('d', 'M0,18 Q18,0 36,18 Q18,36 0,18'), + (r = t + .append('defs') + .append('marker') + .attr('id', Dl.ZERO_OR_MORE_END) + .attr('refX', 39) + .attr('refY', 18) + .attr('markerWidth', 57) + .attr('markerHeight', 36) + .attr('orient', 'auto')), + r + .append('circle') + .attr('stroke', e.stroke) + .attr('fill', 'white') + .attr('cx', 9) + .attr('cy', 18) + .attr('r', 6), + r + .append('path') + .attr('stroke', e.stroke) + .attr('fill', 'none') + .attr('d', 'M21,18 Q39,0 57,18 Q39,36 21,18'); + }, 'insertMarkers')), + ($o = { ERMarkers: Dl, insertMarkers: zNe }); + }); + var lne, + cne = R(() => { + 'use strict'; + lne = + /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; + }); + function GNe(t) { + return typeof t == 'string' && lne.test(t); + } + var une, + hne = R(() => { + 'use strict'; + cne(); + o(GNe, 'validate'); + une = GNe; + }); + function fne(t, e = 0) { + return ( + va[t[e + 0]] + + va[t[e + 1]] + + va[t[e + 2]] + + va[t[e + 3]] + + '-' + + va[t[e + 4]] + + va[t[e + 5]] + + '-' + + va[t[e + 6]] + + va[t[e + 7]] + + '-' + + va[t[e + 8]] + + va[t[e + 9]] + + '-' + + va[t[e + 10]] + + va[t[e + 11]] + + va[t[e + 12]] + + va[t[e + 13]] + + va[t[e + 14]] + + va[t[e + 15]] + ); + } + var va, + dne = R(() => { + 'use strict'; + va = []; + for (let t = 0; t < 256; ++t) va.push((t + 256).toString(16).slice(1)); + o(fne, 'unsafeStringify'); + }); + function $Ne(t) { + if (!une(t)) throw TypeError('Invalid UUID'); + let e, + r = new Uint8Array(16); + return ( + (r[0] = (e = parseInt(t.slice(0, 8), 16)) >>> 24), + (r[1] = (e >>> 16) & 255), + (r[2] = (e >>> 8) & 255), + (r[3] = e & 255), + (r[4] = (e = parseInt(t.slice(9, 13), 16)) >>> 8), + (r[5] = e & 255), + (r[6] = (e = parseInt(t.slice(14, 18), 16)) >>> 8), + (r[7] = e & 255), + (r[8] = (e = parseInt(t.slice(19, 23), 16)) >>> 8), + (r[9] = e & 255), + (r[10] = ((e = parseInt(t.slice(24, 36), 16)) / 1099511627776) & 255), + (r[11] = (e / 4294967296) & 255), + (r[12] = (e >>> 24) & 255), + (r[13] = (e >>> 16) & 255), + (r[14] = (e >>> 8) & 255), + (r[15] = e & 255), + r + ); + } + var pne, + mne = R(() => { + 'use strict'; + hne(); + o($Ne, 'parse'); + pne = $Ne; + }); + function VNe(t) { + t = unescape(encodeURIComponent(t)); + let e = []; + for (let r = 0; r < t.length; ++r) e.push(t.charCodeAt(r)); + return e; + } + function wD(t, e, r) { + function n(i, a, s, l) { + var u; + if ( + (typeof i == 'string' && (i = VNe(i)), + typeof a == 'string' && (a = pne(a)), + ((u = a) === null || u === void 0 ? void 0 : u.length) !== 16) + ) + throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); + let h = new Uint8Array(16 + i.length); + if ((h.set(a), h.set(i, a.length), (h = r(h)), (h[6] = (h[6] & 15) | e), (h[8] = (h[8] & 63) | 128), s)) { + l = l || 0; + for (let f = 0; f < 16; ++f) s[l + f] = h[f]; + return s; + } + return fne(h); + } + o(n, 'generateUUID'); + try { + n.name = t; + } catch {} + return (n.DNS = UNe), (n.URL = HNe), n; + } + var UNe, + HNe, + gne = R(() => { + 'use strict'; + dne(); + mne(); + o(VNe, 'stringToBytes'); + (UNe = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'), (HNe = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'); + o(wD, 'v35'); + }); + function YNe(t, e, r, n) { + switch (t) { + case 0: + return (e & r) ^ (~e & n); + case 1: + return e ^ r ^ n; + case 2: + return (e & r) ^ (e & n) ^ (r & n); + case 3: + return e ^ r ^ n; + } + } + function TD(t, e) { + return (t << e) | (t >>> (32 - e)); + } + function WNe(t) { + let e = [1518500249, 1859775393, 2400959708, 3395469782], + r = [1732584193, 4023233417, 2562383102, 271733878, 3285377520]; + if (typeof t == 'string') { + let s = unescape(encodeURIComponent(t)); + t = []; + for (let l = 0; l < s.length; ++l) t.push(s.charCodeAt(l)); + } else Array.isArray(t) || (t = Array.prototype.slice.call(t)); + t.push(128); + let n = t.length / 4 + 2, + i = Math.ceil(n / 16), + a = new Array(i); + for (let s = 0; s < i; ++s) { + let l = new Uint32Array(16); + for (let u = 0; u < 16; ++u) + l[u] = + (t[s * 64 + u * 4] << 24) | + (t[s * 64 + u * 4 + 1] << 16) | + (t[s * 64 + u * 4 + 2] << 8) | + t[s * 64 + u * 4 + 3]; + a[s] = l; + } + (a[i - 1][14] = ((t.length - 1) * 8) / Math.pow(2, 32)), + (a[i - 1][14] = Math.floor(a[i - 1][14])), + (a[i - 1][15] = ((t.length - 1) * 8) & 4294967295); + for (let s = 0; s < i; ++s) { + let l = new Uint32Array(80); + for (let m = 0; m < 16; ++m) l[m] = a[s][m]; + for (let m = 16; m < 80; ++m) l[m] = TD(l[m - 3] ^ l[m - 8] ^ l[m - 14] ^ l[m - 16], 1); + let u = r[0], + h = r[1], + f = r[2], + d = r[3], + p = r[4]; + for (let m = 0; m < 80; ++m) { + let g = Math.floor(m / 20), + y = (TD(u, 5) + YNe(g, h, f, d) + p + e[g] + l[m]) >>> 0; + (p = d), (d = f), (f = TD(h, 30) >>> 0), (h = u), (u = y); + } + (r[0] = (r[0] + u) >>> 0), + (r[1] = (r[1] + h) >>> 0), + (r[2] = (r[2] + f) >>> 0), + (r[3] = (r[3] + d) >>> 0), + (r[4] = (r[4] + p) >>> 0); + } + return [ + (r[0] >> 24) & 255, + (r[0] >> 16) & 255, + (r[0] >> 8) & 255, + r[0] & 255, + (r[1] >> 24) & 255, + (r[1] >> 16) & 255, + (r[1] >> 8) & 255, + r[1] & 255, + (r[2] >> 24) & 255, + (r[2] >> 16) & 255, + (r[2] >> 8) & 255, + r[2] & 255, + (r[3] >> 24) & 255, + (r[3] >> 16) & 255, + (r[3] >> 8) & 255, + r[3] & 255, + (r[4] >> 24) & 255, + (r[4] >> 16) & 255, + (r[4] >> 8) & 255, + r[4] & 255 + ]; + } + var yne, + vne = R(() => { + 'use strict'; + o(YNe, 'f'); + o(TD, 'ROTL'); + o(WNe, 'sha1'); + yne = WNe; + }); + var qNe, + kD, + xne = R(() => { + 'use strict'; + gne(); + vne(); + (qNe = wD('v5', 80, yne)), (kD = qNe); + }); + var bne = R(() => { + 'use strict'; + xne(); + }); + function nMe(t = '', e = '') { + let r = t.replace(XNe, ''); + return `${Tne(e)}${Tne(r)}${kD(t, rMe)}`; + } + function Tne(t = '') { + return t.length > 0 ? `${t}-` : ''; + } + var XNe, + Ii, + Fv, + jNe, + KNe, + QNe, + ZNe, + kne, + JNe, + wne, + eMe, + tMe, + rMe, + Ene, + Cne = R(() => { + 'use strict'; + ya(); + Zt(); + Vd(); + _t(); + ut(); + xr(); + one(); + Yn(); + rr(); + bne(); + (XNe = /[^\dA-Za-z](\W)*/g), + (Ii = {}), + (Fv = new Map()), + (jNe = o(function (t) { + let e = Object.keys(t); + for (let r of e) Ii[r] = t[r]; + }, 'setConf')), + (KNe = o((t, e, r) => { + let n = Ii.entityPadding / 3, + i = Ii.entityPadding / 3, + a = Ii.fontSize * 0.85, + s = e.node().getBBox(), + l = [], + u = !1, + h = !1, + f = 0, + d = 0, + p = 0, + m = 0, + g = s.height + n * 2, + y = 1; + r.forEach((w) => { + w.attributeKeyTypeList !== void 0 && w.attributeKeyTypeList.length > 0 && (u = !0), + w.attributeComment !== void 0 && (h = !0); + }), + r.forEach((w) => { + let S = `${e.node().id}-attr-${y}`, + T = 0, + E = gh(w.attributeType), + _ = t + .append('text') + .classed('er entityLabel', !0) + .attr('id', `${S}-type`) + .attr('x', 0) + .attr('y', 0) + .style('dominant-baseline', 'middle') + .style('text-anchor', 'left') + .style('font-family', de().fontFamily) + .style('font-size', a + 'px') + .text(E), + A = t + .append('text') + .classed('er entityLabel', !0) + .attr('id', `${S}-name`) + .attr('x', 0) + .attr('y', 0) + .style('dominant-baseline', 'middle') + .style('text-anchor', 'left') + .style('font-family', de().fontFamily) + .style('font-size', a + 'px') + .text(w.attributeName), + L = {}; + (L.tn = _), (L.nn = A); + let M = _.node().getBBox(), + N = A.node().getBBox(); + if ( + ((f = Math.max(f, M.width)), + (d = Math.max(d, N.width)), + (T = Math.max(M.height, N.height)), + u) + ) { + let k = w.attributeKeyTypeList !== void 0 ? w.attributeKeyTypeList.join(',') : '', + I = t + .append('text') + .classed('er entityLabel', !0) + .attr('id', `${S}-key`) + .attr('x', 0) + .attr('y', 0) + .style('dominant-baseline', 'middle') + .style('text-anchor', 'left') + .style('font-family', de().fontFamily) + .style('font-size', a + 'px') + .text(k); + L.kn = I; + let C = I.node().getBBox(); + (p = Math.max(p, C.width)), (T = Math.max(T, C.height)); + } + if (h) { + let k = t + .append('text') + .classed('er entityLabel', !0) + .attr('id', `${S}-comment`) + .attr('x', 0) + .attr('y', 0) + .style('dominant-baseline', 'middle') + .style('text-anchor', 'left') + .style('font-family', de().fontFamily) + .style('font-size', a + 'px') + .text(w.attributeComment || ''); + L.cn = k; + let I = k.node().getBBox(); + (m = Math.max(m, I.width)), (T = Math.max(T, I.height)); + } + (L.height = T), l.push(L), (g += T + n * 2), (y += 1); + }); + let v = 4; + u && (v += 2), h && (v += 2); + let x = f + d + p + m, + b = { + width: Math.max(Ii.minEntityWidth, Math.max(s.width + Ii.entityPadding * 2, x + i * v)), + height: r.length > 0 ? g : Math.max(Ii.minEntityHeight, s.height + Ii.entityPadding * 2) + }; + if (r.length > 0) { + let w = Math.max(0, (b.width - x - i * v) / (v / 2)); + e.attr('transform', 'translate(' + b.width / 2 + ',' + (n + s.height / 2) + ')'); + let S = s.height + n * 2, + T = 'attributeBoxOdd'; + l.forEach((E) => { + let _ = S + n + E.height / 2; + E.tn.attr('transform', 'translate(' + i + ',' + _ + ')'); + let A = t + .insert('rect', '#' + E.tn.node().id) + .classed(`er ${T}`, !0) + .attr('x', 0) + .attr('y', S) + .attr('width', f + i * 2 + w) + .attr('height', E.height + n * 2), + L = parseFloat(A.attr('x')) + parseFloat(A.attr('width')); + E.nn.attr('transform', 'translate(' + (L + i) + ',' + _ + ')'); + let M = t + .insert('rect', '#' + E.nn.node().id) + .classed(`er ${T}`, !0) + .attr('x', L) + .attr('y', S) + .attr('width', d + i * 2 + w) + .attr('height', E.height + n * 2), + N = parseFloat(M.attr('x')) + parseFloat(M.attr('width')); + if (u) { + E.kn.attr('transform', 'translate(' + (N + i) + ',' + _ + ')'); + let k = t + .insert('rect', '#' + E.kn.node().id) + .classed(`er ${T}`, !0) + .attr('x', N) + .attr('y', S) + .attr('width', p + i * 2 + w) + .attr('height', E.height + n * 2); + N = parseFloat(k.attr('x')) + parseFloat(k.attr('width')); + } + h && + (E.cn.attr('transform', 'translate(' + (N + i) + ',' + _ + ')'), + t + .insert('rect', '#' + E.cn.node().id) + .classed(`er ${T}`, 'true') + .attr('x', N) + .attr('y', S) + .attr('width', m + i * 2 + w) + .attr('height', E.height + n * 2)), + (S += E.height + n * 2), + (T = T === 'attributeBoxOdd' ? 'attributeBoxEven' : 'attributeBoxOdd'); + }); + } else + (b.height = Math.max(Ii.minEntityHeight, g)), + e.attr('transform', 'translate(' + b.width / 2 + ',' + b.height / 2 + ')'); + return b; + }, 'drawAttributes')), + (QNe = o(function (t, e, r) { + let n = [...e.keys()], + i; + return ( + n.forEach(function (a) { + let s = nMe(a, 'entity'); + Fv.set(a, s); + let l = t.append('g').attr('id', s); + i = i === void 0 ? s : i; + let u = 'text-' + s, + h = l + .append('text') + .classed('er entityLabel', !0) + .attr('id', u) + .attr('x', 0) + .attr('y', 0) + .style('dominant-baseline', 'middle') + .style('text-anchor', 'middle') + .style('font-family', de().fontFamily) + .style('font-size', Ii.fontSize + 'px') + .text(e.get(a).alias ?? a), + { width: f, height: d } = KNe(l, h, e.get(a).attributes), + m = l + .insert('rect', '#' + u) + .classed('er entityBox', !0) + .attr('x', 0) + .attr('y', 0) + .attr('width', f) + .attr('height', d) + .node() + .getBBox(); + r.setNode(s, { + width: m.width, + height: m.height, + shape: 'rect', + id: s + }); + }), + i + ); + }, 'drawEntities')), + (ZNe = o(function (t, e) { + e.nodes().forEach(function (r) { + r !== void 0 && + e.node(r) !== void 0 && + t + .select('#' + r) + .attr( + 'transform', + 'translate(' + + (e.node(r).x - e.node(r).width / 2) + + ',' + + (e.node(r).y - e.node(r).height / 2) + + ' )' + ); + }); + }, 'adjustEntities')), + (kne = o(function (t) { + return (t.entityA + t.roleA + t.entityB).replace(/\s/g, ''); + }, 'getEdgeName')), + (JNe = o(function (t, e) { + return ( + t.forEach(function (r) { + e.setEdge(Fv.get(r.entityA), Fv.get(r.entityB), { relationship: r }, kne(r)); + }), + t + ); + }, 'addRelationships')), + (wne = 0), + (eMe = o(function (t, e, r, n, i) { + wne++; + let a = r.edge(Fv.get(e.entityA), Fv.get(e.entityB), kne(e)), + s = ha() + .x(function (y) { + return y.x; + }) + .y(function (y) { + return y.y; + }) + .curve(vs), + l = t + .insert('path', '#' + n) + .classed('er relationshipLine', !0) + .attr('d', s(a.points)) + .style('stroke', Ii.stroke) + .style('fill', 'none'); + e.relSpec.relType === i.db.Identification.NON_IDENTIFYING && l.attr('stroke-dasharray', '8,8'); + let u = ''; + switch ( + (Ii.arrowMarkerAbsolute && + ((u = + window.location.protocol + + '//' + + window.location.host + + window.location.pathname + + window.location.search), + (u = u.replace(/\(/g, '\\(')), + (u = u.replace(/\)/g, '\\)'))), + e.relSpec.cardA) + ) { + case i.db.Cardinality.ZERO_OR_ONE: + l.attr('marker-end', 'url(' + u + '#' + $o.ERMarkers.ZERO_OR_ONE_END + ')'); + break; + case i.db.Cardinality.ZERO_OR_MORE: + l.attr('marker-end', 'url(' + u + '#' + $o.ERMarkers.ZERO_OR_MORE_END + ')'); + break; + case i.db.Cardinality.ONE_OR_MORE: + l.attr('marker-end', 'url(' + u + '#' + $o.ERMarkers.ONE_OR_MORE_END + ')'); + break; + case i.db.Cardinality.ONLY_ONE: + l.attr('marker-end', 'url(' + u + '#' + $o.ERMarkers.ONLY_ONE_END + ')'); + break; + case i.db.Cardinality.MD_PARENT: + l.attr('marker-end', 'url(' + u + '#' + $o.ERMarkers.MD_PARENT_END + ')'); + break; + } + switch (e.relSpec.cardB) { + case i.db.Cardinality.ZERO_OR_ONE: + l.attr('marker-start', 'url(' + u + '#' + $o.ERMarkers.ZERO_OR_ONE_START + ')'); + break; + case i.db.Cardinality.ZERO_OR_MORE: + l.attr('marker-start', 'url(' + u + '#' + $o.ERMarkers.ZERO_OR_MORE_START + ')'); + break; + case i.db.Cardinality.ONE_OR_MORE: + l.attr('marker-start', 'url(' + u + '#' + $o.ERMarkers.ONE_OR_MORE_START + ')'); + break; + case i.db.Cardinality.ONLY_ONE: + l.attr('marker-start', 'url(' + u + '#' + $o.ERMarkers.ONLY_ONE_START + ')'); + break; + case i.db.Cardinality.MD_PARENT: + l.attr('marker-start', 'url(' + u + '#' + $o.ERMarkers.MD_PARENT_START + ')'); + break; + } + let h = l.node().getTotalLength(), + f = l.node().getPointAtLength(h * 0.5), + d = 'rel' + wne, + p = e.roleA.split(/
    /g), + m = t + .append('text') + .classed('er relationshipLabel', !0) + .attr('id', d) + .attr('x', f.x) + .attr('y', f.y) + .style('text-anchor', 'middle') + .style('dominant-baseline', 'middle') + .style('font-family', de().fontFamily) + .style('font-size', Ii.fontSize + 'px'); + if (p.length == 1) m.text(e.roleA); + else { + let y = -(p.length - 1) * 0.5; + p.forEach((v, x) => { + m.append('tspan') + .attr('x', f.x) + .attr('dy', `${x === 0 ? y : 1}em`) + .text(v); + }); + } + let g = m.node().getBBox(); + t.insert('rect', '#' + d) + .classed('er relationshipLabelBox', !0) + .attr('x', f.x - g.width / 2) + .attr('y', f.y - g.height / 2) + .attr('width', g.width) + .attr('height', g.height); + }, 'drawRelationshipFromLayout')), + (tMe = o(function (t, e, r, n) { + (Ii = de().er), V.info('Drawing ER diagram'); + let i = de().securityLevel, + a; + i === 'sandbox' && (a = $e('#i' + e)); + let l = (i === 'sandbox' ? $e(a.nodes()[0].contentDocument.body) : $e('body')).select( + `[id='${e}']` + ); + $o.insertMarkers(l, Ii); + let u; + u = new lr({ multigraph: !0, directed: !0, compound: !1 }) + .setGraph({ + rankdir: Ii.layoutDirection, + marginx: 20, + marginy: 20, + nodesep: 100, + edgesep: 100, + ranksep: 100 + }) + .setDefaultEdgeLabel(function () { + return {}; + }); + let h = QNe(l, n.db.getEntities(), u), + f = JNe(n.db.getRelationships(), u); + lo(u), + ZNe(l, u), + f.forEach(function (y) { + eMe(l, y, u, h, n); + }); + let d = Ii.diagramPadding; + Lt.insertTitle(l, 'entityTitleText', Ii.titleTopMargin, n.db.getDiagramTitle()); + let p = l.node().getBBox(), + m = p.width + d * 2, + g = p.height + d * 2; + Sr(l, g, m, Ii.useMaxWidth), l.attr('viewBox', `${p.x - d} ${p.y - d} ${m} ${g}`); + }, 'draw')), + (rMe = '28e9f9db-3c8d-5aa5-9faf-44286ae5937c'); + o(nMe, 'generateId'); + o(Tne, 'strWithHyphen'); + Ene = { setConf: jNe, draw: tMe }; + }); + var iMe, + Sne, + Ane = R(() => { + 'use strict'; + (iMe = o( + (t) => ` + .entityBox { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + } + + .attributeBoxOdd { + fill: ${t.attributeBackgroundColorOdd}; + stroke: ${t.nodeBorder}; + } + + .attributeBoxEven { + fill: ${t.attributeBackgroundColorEven}; + stroke: ${t.nodeBorder}; + } + + .relationshipLabelBox { + fill: ${t.tertiaryColor}; + opacity: 0.7; + background-color: ${t.tertiaryColor}; + rect { + opacity: 0.5; + } + } + + .relationshipLine { + stroke: ${t.lineColor}; + } + + .entityTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; + } + #MD_PARENT_START { + fill: #f5f5f5 !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; + } + #MD_PARENT_END { + fill: #f5f5f5 !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; + } + +`, + 'getStyles' + )), + (Sne = iMe); + }); + var _ne = {}; + hr(_ne, { diagram: () => aMe }); + var aMe, + Lne = R(() => { + 'use strict'; + nne(); + sne(); + Cne(); + Ane(); + aMe = { parser: rne, db: ane, renderer: Ene, styles: Sne }; + }); + function Xn(t) { + return typeof t == 'object' && t !== null && typeof t.$type == 'string'; + } + function xa(t) { + return typeof t == 'object' && t !== null && typeof t.$refText == 'string'; + } + function ED(t) { + return ( + typeof t == 'object' && + t !== null && + typeof t.name == 'string' && + typeof t.type == 'string' && + typeof t.path == 'string' + ); + } + function Wd(t) { + return typeof t == 'object' && t !== null && Xn(t.container) && xa(t.reference) && typeof t.message == 'string'; + } + function co(t) { + return typeof t == 'object' && t !== null && Array.isArray(t.content); + } + function ef(t) { + return typeof t == 'object' && t !== null && typeof t.tokenType == 'object'; + } + function zv(t) { + return co(t) && typeof t.fullText == 'string'; + } + var Yd, + Vo = R(() => { + 'use strict'; + o(Xn, 'isAstNode'); + o(xa, 'isReference'); + o(ED, 'isAstNodeDescription'); + o(Wd, 'isLinkingError'); + Yd = class { + static { + o(this, 'AbstractAstReflection'); + } + constructor() { + (this.subtypes = {}), (this.allSubtypes = {}); + } + isInstance(e, r) { + return Xn(e) && this.isSubtype(e.$type, r); + } + isSubtype(e, r) { + if (e === r) return !0; + let n = this.subtypes[e]; + n || (n = this.subtypes[e] = {}); + let i = n[r]; + if (i !== void 0) return i; + { + let a = this.computeIsSubtype(e, r); + return (n[r] = a), a; + } + } + getAllSubTypes(e) { + let r = this.allSubtypes[e]; + if (r) return r; + { + let n = this.getAllTypes(), + i = []; + for (let a of n) this.isSubtype(a, e) && i.push(a); + return (this.allSubtypes[e] = i), i; + } + } + }; + o(co, 'isCompositeCstNode'); + o(ef, 'isLeafCstNode'); + o(zv, 'isRootCstNode'); + }); + function cMe(t) { + return typeof t == 'string' + ? t + : typeof t > 'u' + ? 'undefined' + : typeof t.toString == 'function' + ? t.toString() + : Object.prototype.toString.call(t); + } + function hT(t) { + return !!t && typeof t[Symbol.iterator] == 'function'; + } + function Kr(...t) { + if (t.length === 1) { + let e = t[0]; + if (e instanceof uo) return e; + if (hT(e)) + return new uo( + () => e[Symbol.iterator](), + (r) => r.next() + ); + if (typeof e.length == 'number') + return new uo( + () => ({ index: 0 }), + (r) => (r.index < e.length ? { done: !1, value: e[r.index++] } : Ja) + ); + } + return t.length > 1 + ? new uo( + () => ({ collIndex: 0, arrIndex: 0 }), + (e) => { + do { + if (e.iterator) { + let r = e.iterator.next(); + if (!r.done) return r; + e.iterator = void 0; + } + if (e.array) { + if (e.arrIndex < e.array.length) return { done: !1, value: e.array[e.arrIndex++] }; + (e.array = void 0), (e.arrIndex = 0); + } + if (e.collIndex < t.length) { + let r = t[e.collIndex++]; + hT(r) + ? (e.iterator = r[Symbol.iterator]()) + : r && typeof r.length == 'number' && (e.array = r); + } + } while (e.iterator || e.array || e.collIndex < t.length); + return Ja; + } + ) + : Gv; + } + var uo, + Gv, + Ja, + Cc, + Fm, + Ds = R(() => { + 'use strict'; + uo = class t { + static { + o(this, 'StreamImpl'); + } + constructor(e, r) { + (this.startFn = e), (this.nextFn = r); + } + iterator() { + let e = { + state: this.startFn(), + next: o(() => this.nextFn(e.state), 'next'), + [Symbol.iterator]: () => e + }; + return e; + } + [Symbol.iterator]() { + return this.iterator(); + } + isEmpty() { + return !!this.iterator().next().done; + } + count() { + let e = this.iterator(), + r = 0, + n = e.next(); + for (; !n.done; ) r++, (n = e.next()); + return r; + } + toArray() { + let e = [], + r = this.iterator(), + n; + do (n = r.next()), n.value !== void 0 && e.push(n.value); + while (!n.done); + return e; + } + toSet() { + return new Set(this); + } + toMap(e, r) { + let n = this.map((i) => [e ? e(i) : i, r ? r(i) : i]); + return new Map(n); + } + toString() { + return this.join(); + } + concat(e) { + let r = e[Symbol.iterator](); + return new t( + () => ({ first: this.startFn(), firstDone: !1 }), + (n) => { + let i; + if (!n.firstDone) { + do if (((i = this.nextFn(n.first)), !i.done)) return i; + while (!i.done); + n.firstDone = !0; + } + do if (((i = r.next()), !i.done)) return i; + while (!i.done); + return Ja; + } + ); + } + join(e = ',') { + let r = this.iterator(), + n = '', + i, + a = !1; + do (i = r.next()), i.done || (a && (n += e), (n += cMe(i.value))), (a = !0); + while (!i.done); + return n; + } + indexOf(e, r = 0) { + let n = this.iterator(), + i = 0, + a = n.next(); + for (; !a.done; ) { + if (i >= r && a.value === e) return i; + (a = n.next()), i++; + } + return -1; + } + every(e) { + let r = this.iterator(), + n = r.next(); + for (; !n.done; ) { + if (!e(n.value)) return !1; + n = r.next(); + } + return !0; + } + some(e) { + let r = this.iterator(), + n = r.next(); + for (; !n.done; ) { + if (e(n.value)) return !0; + n = r.next(); + } + return !1; + } + forEach(e) { + let r = this.iterator(), + n = 0, + i = r.next(); + for (; !i.done; ) e(i.value, n), (i = r.next()), n++; + } + map(e) { + return new t(this.startFn, (r) => { + let { done: n, value: i } = this.nextFn(r); + return n ? Ja : { done: !1, value: e(i) }; + }); + } + filter(e) { + return new t(this.startFn, (r) => { + let n; + do if (((n = this.nextFn(r)), !n.done && e(n.value))) return n; + while (!n.done); + return Ja; + }); + } + nonNullable() { + return this.filter((e) => e != null); + } + reduce(e, r) { + let n = this.iterator(), + i = r, + a = n.next(); + for (; !a.done; ) i === void 0 ? (i = a.value) : (i = e(i, a.value)), (a = n.next()); + return i; + } + reduceRight(e, r) { + return this.recursiveReduce(this.iterator(), e, r); + } + recursiveReduce(e, r, n) { + let i = e.next(); + if (i.done) return n; + let a = this.recursiveReduce(e, r, n); + return a === void 0 ? i.value : r(a, i.value); + } + find(e) { + let r = this.iterator(), + n = r.next(); + for (; !n.done; ) { + if (e(n.value)) return n.value; + n = r.next(); + } + } + findIndex(e) { + let r = this.iterator(), + n = 0, + i = r.next(); + for (; !i.done; ) { + if (e(i.value)) return n; + (i = r.next()), n++; + } + return -1; + } + includes(e) { + let r = this.iterator(), + n = r.next(); + for (; !n.done; ) { + if (n.value === e) return !0; + n = r.next(); + } + return !1; + } + flatMap(e) { + return new t( + () => ({ this: this.startFn() }), + (r) => { + do { + if (r.iterator) { + let a = r.iterator.next(); + if (a.done) r.iterator = void 0; + else return a; + } + let { done: n, value: i } = this.nextFn(r.this); + if (!n) { + let a = e(i); + if (hT(a)) r.iterator = a[Symbol.iterator](); + else return { done: !1, value: a }; + } + } while (r.iterator); + return Ja; + } + ); + } + flat(e) { + if ((e === void 0 && (e = 1), e <= 0)) return this; + let r = e > 1 ? this.flat(e - 1) : this; + return new t( + () => ({ this: r.startFn() }), + (n) => { + do { + if (n.iterator) { + let s = n.iterator.next(); + if (s.done) n.iterator = void 0; + else return s; + } + let { done: i, value: a } = r.nextFn(n.this); + if (!i) + if (hT(a)) n.iterator = a[Symbol.iterator](); + else return { done: !1, value: a }; + } while (n.iterator); + return Ja; + } + ); + } + head() { + let r = this.iterator().next(); + if (!r.done) return r.value; + } + tail(e = 1) { + return new t(() => { + let r = this.startFn(); + for (let n = 0; n < e; n++) if (this.nextFn(r).done) return r; + return r; + }, this.nextFn); + } + limit(e) { + return new t( + () => ({ size: 0, state: this.startFn() }), + (r) => (r.size++, r.size > e ? Ja : this.nextFn(r.state)) + ); + } + distinct(e) { + let r = new Set(); + return this.filter((n) => { + let i = e ? e(n) : n; + return r.has(i) ? !1 : (r.add(i), !0); + }); + } + exclude(e, r) { + let n = new Set(); + for (let i of e) { + let a = r ? r(i) : i; + n.add(a); + } + return this.filter((i) => { + let a = r ? r(i) : i; + return !n.has(a); + }); + } + }; + o(cMe, 'toString'); + o(hT, 'isIterable'); + (Gv = new uo( + () => {}, + () => Ja + )), + (Ja = Object.freeze({ done: !0, value: void 0 })); + o(Kr, 'stream'); + Cc = class extends uo { + static { + o(this, 'TreeStreamImpl'); + } + constructor(e, r, n) { + super( + () => ({ + iterators: n?.includeRoot ? [[e][Symbol.iterator]()] : [r(e)[Symbol.iterator]()], + pruned: !1 + }), + (i) => { + for (i.pruned && (i.iterators.pop(), (i.pruned = !1)); i.iterators.length > 0; ) { + let s = i.iterators[i.iterators.length - 1].next(); + if (s.done) i.iterators.pop(); + else return i.iterators.push(r(s.value)[Symbol.iterator]()), s; + } + return Ja; + } + ); + } + iterator() { + let e = { + state: this.startFn(), + next: o(() => this.nextFn(e.state), 'next'), + prune: o(() => { + e.state.pruned = !0; + }, 'prune'), + [Symbol.iterator]: () => e + }; + return e; + } + }; + (function (t) { + function e(a) { + return a.reduce((s, l) => s + l, 0); + } + o(e, 'sum'), (t.sum = e); + function r(a) { + return a.reduce((s, l) => s * l, 0); + } + o(r, 'product'), (t.product = r); + function n(a) { + return a.reduce((s, l) => Math.min(s, l)); + } + o(n, 'min'), (t.min = n); + function i(a) { + return a.reduce((s, l) => Math.max(s, l)); + } + o(i, 'max'), (t.max = i); + })(Fm || (Fm = {})); + }); + var dT = {}; + hr(dT, { + DefaultNameRegexp: () => fT, + RangeComparison: () => Mu, + compareRange: () => Mne, + findCommentNode: () => _D, + findDeclarationNodeAtOffset: () => hMe, + findLeafNodeAtOffset: () => LD, + findLeafNodeBeforeOffset: () => Ine, + flattenCst: () => uMe, + getInteriorNodes: () => pMe, + getNextNode: () => fMe, + getPreviousNode: () => Pne, + getStartlineNode: () => dMe, + inRange: () => AD, + isChildNode: () => SD, + isCommentNode: () => CD, + streamCst: () => qd, + toDocumentSegment: () => Xd, + tokenToRange: () => zm + }); + function qd(t) { + return new Cc(t, (e) => (co(e) ? e.content : []), { includeRoot: !0 }); + } + function uMe(t) { + return qd(t).filter(ef); + } + function SD(t, e) { + for (; t.container; ) if (((t = t.container), t === e)) return !0; + return !1; + } + function zm(t) { + return { + start: { character: t.startColumn - 1, line: t.startLine - 1 }, + end: { character: t.endColumn, line: t.endLine - 1 } + }; + } + function Xd(t) { + if (!t) return; + let { offset: e, end: r, range: n } = t; + return { range: n, offset: e, end: r, length: r - e }; + } + function Mne(t, e) { + if (t.end.line < e.start.line || (t.end.line === e.start.line && t.end.character < t.start.character)) + return Mu.Before; + if (t.start.line > e.end.line || (t.start.line === e.end.line && t.start.character > e.end.character)) + return Mu.After; + let r = + t.start.line > e.start.line || + (t.start.line === e.start.line && t.start.character >= e.start.character), + n = t.end.line < e.end.line || (t.end.line === e.end.line && t.end.character <= e.end.character); + return r && n ? Mu.Inside : r ? Mu.OverlapBack : Mu.OverlapFront; + } + function AD(t, e) { + return Mne(t, e) > Mu.After; + } + function hMe(t, e, r = fT) { + if (t) { + if (e > 0) { + let n = e - t.offset, + i = t.text.charAt(n); + r.test(i) || e--; + } + return LD(t, e); + } + } + function _D(t, e) { + if (t) { + let r = Pne(t, !0); + if (r && CD(r, e)) return r; + if (zv(t)) { + let n = t.content.findIndex((i) => !i.hidden); + for (let i = n - 1; i >= 0; i--) { + let a = t.content[i]; + if (CD(a, e)) return a; + } + } + } + } + function CD(t, e) { + return ef(t) && e.includes(t.tokenType.name); + } + function LD(t, e) { + if (ef(t)) return t; + if (co(t)) { + let r = One(t, e, !1); + if (r) return LD(r, e); + } + } + function Ine(t, e) { + if (ef(t)) return t; + if (co(t)) { + let r = One(t, e, !0); + if (r) return Ine(r, e); + } + } + function One(t, e, r) { + let n = 0, + i = t.content.length - 1, + a; + for (; n <= i; ) { + let s = Math.floor((n + i) / 2), + l = t.content[s]; + if (l.offset <= e && l.end > e) return l; + l.end <= e ? ((a = r ? l : void 0), (n = s + 1)) : (i = s - 1); + } + return a; + } + function Pne(t, e = !0) { + for (; t.container; ) { + let r = t.container, + n = r.content.indexOf(t); + for (; n > 0; ) { + n--; + let i = r.content[n]; + if (e || !i.hidden) return i; + } + t = r; + } + } + function fMe(t, e = !0) { + for (; t.container; ) { + let r = t.container, + n = r.content.indexOf(t), + i = r.content.length - 1; + for (; n < i; ) { + n++; + let a = r.content[n]; + if (e || !a.hidden) return a; + } + t = r; + } + } + function dMe(t) { + if (t.range.start.character === 0) return t; + let e = t.range.start.line, + r = t, + n; + for (; t.container; ) { + let i = t.container, + a = n ?? i.content.indexOf(t); + if ((a === 0 ? ((t = i), (n = void 0)) : ((n = a - 1), (t = i.content[n])), t.range.start.line !== e)) + break; + r = t; + } + return r; + } + function pMe(t, e) { + let r = mMe(t, e); + return r ? r.parent.content.slice(r.a + 1, r.b) : []; + } + function mMe(t, e) { + let r = Nne(t), + n = Nne(e), + i; + for (let a = 0; a < r.length && a < n.length; a++) { + let s = r[a], + l = n[a]; + if (s.parent === l.parent) i = { parent: s.parent, a: s.index, b: l.index }; + else break; + } + return i; + } + function Nne(t) { + let e = []; + for (; t.container; ) { + let r = t.container, + n = r.content.indexOf(t); + e.push({ parent: r, index: n }), (t = r); + } + return e.reverse(); + } + var Mu, + fT, + Rl = R(() => { + 'use strict'; + Vo(); + Ds(); + o(qd, 'streamCst'); + o(uMe, 'flattenCst'); + o(SD, 'isChildNode'); + o(zm, 'tokenToRange'); + o(Xd, 'toDocumentSegment'); + (function (t) { + (t[(t.Before = 0)] = 'Before'), + (t[(t.After = 1)] = 'After'), + (t[(t.OverlapFront = 2)] = 'OverlapFront'), + (t[(t.OverlapBack = 3)] = 'OverlapBack'), + (t[(t.Inside = 4)] = 'Inside'); + })(Mu || (Mu = {})); + o(Mne, 'compareRange'); + o(AD, 'inRange'); + fT = /^[\w\p{L}]$/u; + o(hMe, 'findDeclarationNodeAtOffset'); + o(_D, 'findCommentNode'); + o(CD, 'isCommentNode'); + o(LD, 'findLeafNodeAtOffset'); + o(Ine, 'findLeafNodeBeforeOffset'); + o(One, 'binarySearch'); + o(Pne, 'getPreviousNode'); + o(fMe, 'getNextNode'); + o(dMe, 'getStartlineNode'); + o(pMe, 'getInteriorNodes'); + o(mMe, 'getCommonParent'); + o(Nne, 'getParentChain'); + }); + function tf(t) { + throw new Error('Error! The input value was not handled.'); + } + var jd, + pT = R(() => { + 'use strict'; + jd = class extends Error { + static { + o(this, 'ErrorWithLocation'); + } + constructor(e, r) { + super(e ? `${r} at ${e.range.start.line}:${e.range.start.character}` : r); + } + }; + o(tf, 'assertUnreachable'); + }); + var Yv = {}; + hr(Yv, { + AbstractElement: () => RD, + AbstractRule: () => $v, + AbstractType: () => Vv, + Action: () => aR, + Alternatives: () => sR, + ArrayLiteral: () => ND, + ArrayType: () => MD, + Assignment: () => oR, + BooleanLiteral: () => OD, + CharacterRange: () => lR, + Condition: () => mT, + Conjunction: () => BD, + CrossReference: () => uR, + Disjunction: () => zD, + EndOfFile: () => hR, + Grammar: () => $D, + GrammarImport: () => Fne, + Group: () => dR, + InferredType: () => VD, + Interface: () => UD, + Keyword: () => pR, + LangiumGrammarAstReflection: () => Gm, + LangiumGrammarTerminals: () => gMe, + NamedArgument: () => zne, + NegatedToken: () => mR, + Negation: () => HD, + NumberLiteral: () => WD, + Parameter: () => qD, + ParameterReference: () => XD, + ParserRule: () => KD, + ReferenceType: () => QD, + RegexToken: () => yR, + ReturnType: () => Gne, + RuleCall: () => xR, + SimpleType: () => eR, + StringLiteral: () => tR, + TerminalAlternatives: () => bR, + TerminalGroup: () => TR, + TerminalRule: () => yT, + TerminalRuleCall: () => ER, + Type: () => rR, + TypeAttribute: () => $ne, + TypeDefinition: () => DD, + UnionType: () => nR, + UnorderedGroup: () => CR, + UntilToken: () => SR, + ValueLiteral: () => gT, + Wildcard: () => _R, + isAbstractElement: () => Uv, + isAbstractRule: () => yMe, + isAbstractType: () => vMe, + isAction: () => Iu, + isAlternatives: () => wT, + isArrayLiteral: () => kMe, + isArrayType: () => ID, + isAssignment: () => Nl, + isBooleanLiteral: () => PD, + isCharacterRange: () => cR, + isCondition: () => xMe, + isConjunction: () => FD, + isCrossReference: () => Kd, + isDisjunction: () => GD, + isEndOfFile: () => fR, + isFeatureName: () => bMe, + isGrammar: () => EMe, + isGrammarImport: () => CMe, + isGroup: () => rf, + isInferredType: () => vT, + isInterface: () => xT, + isKeyword: () => Ho, + isNamedArgument: () => SMe, + isNegatedToken: () => gR, + isNegation: () => YD, + isNumberLiteral: () => AMe, + isParameter: () => _Me, + isParameterReference: () => jD, + isParserRule: () => Oa, + isPrimitiveType: () => Bne, + isReferenceType: () => ZD, + isRegexToken: () => vR, + isReturnType: () => JD, + isRuleCall: () => Ml, + isSimpleType: () => bT, + isStringLiteral: () => LMe, + isTerminalAlternatives: () => wR, + isTerminalGroup: () => kR, + isTerminalRule: () => Uo, + isTerminalRuleCall: () => TT, + isType: () => Hv, + isTypeAttribute: () => DMe, + isTypeDefinition: () => wMe, + isUnionType: () => iR, + isUnorderedGroup: () => kT, + isUntilToken: () => AR, + isValueLiteral: () => TMe, + isWildcard: () => LR, + reflection: () => Kt + }); + function yMe(t) { + return Kt.isInstance(t, $v); + } + function vMe(t) { + return Kt.isInstance(t, Vv); + } + function xMe(t) { + return Kt.isInstance(t, mT); + } + function bMe(t) { + return ( + Bne(t) || + t === 'current' || + t === 'entry' || + t === 'extends' || + t === 'false' || + t === 'fragment' || + t === 'grammar' || + t === 'hidden' || + t === 'import' || + t === 'interface' || + t === 'returns' || + t === 'terminal' || + t === 'true' || + t === 'type' || + t === 'infer' || + t === 'infers' || + t === 'with' || + (typeof t == 'string' && /\^?[_a-zA-Z][\w_]*/.test(t)) + ); + } + function Bne(t) { + return t === 'string' || t === 'number' || t === 'boolean' || t === 'Date' || t === 'bigint'; + } + function wMe(t) { + return Kt.isInstance(t, DD); + } + function TMe(t) { + return Kt.isInstance(t, gT); + } + function Uv(t) { + return Kt.isInstance(t, RD); + } + function kMe(t) { + return Kt.isInstance(t, ND); + } + function ID(t) { + return Kt.isInstance(t, MD); + } + function PD(t) { + return Kt.isInstance(t, OD); + } + function FD(t) { + return Kt.isInstance(t, BD); + } + function GD(t) { + return Kt.isInstance(t, zD); + } + function EMe(t) { + return Kt.isInstance(t, $D); + } + function CMe(t) { + return Kt.isInstance(t, Fne); + } + function vT(t) { + return Kt.isInstance(t, VD); + } + function xT(t) { + return Kt.isInstance(t, UD); + } + function SMe(t) { + return Kt.isInstance(t, zne); + } + function YD(t) { + return Kt.isInstance(t, HD); + } + function AMe(t) { + return Kt.isInstance(t, WD); + } + function _Me(t) { + return Kt.isInstance(t, qD); + } + function jD(t) { + return Kt.isInstance(t, XD); + } + function Oa(t) { + return Kt.isInstance(t, KD); + } + function ZD(t) { + return Kt.isInstance(t, QD); + } + function JD(t) { + return Kt.isInstance(t, Gne); + } + function bT(t) { + return Kt.isInstance(t, eR); + } + function LMe(t) { + return Kt.isInstance(t, tR); + } + function Uo(t) { + return Kt.isInstance(t, yT); + } + function Hv(t) { + return Kt.isInstance(t, rR); + } + function DMe(t) { + return Kt.isInstance(t, $ne); + } + function iR(t) { + return Kt.isInstance(t, nR); + } + function Iu(t) { + return Kt.isInstance(t, aR); + } + function wT(t) { + return Kt.isInstance(t, sR); + } + function Nl(t) { + return Kt.isInstance(t, oR); + } + function cR(t) { + return Kt.isInstance(t, lR); + } + function Kd(t) { + return Kt.isInstance(t, uR); + } + function fR(t) { + return Kt.isInstance(t, hR); + } + function rf(t) { + return Kt.isInstance(t, dR); + } + function Ho(t) { + return Kt.isInstance(t, pR); + } + function gR(t) { + return Kt.isInstance(t, mR); + } + function vR(t) { + return Kt.isInstance(t, yR); + } + function Ml(t) { + return Kt.isInstance(t, xR); + } + function wR(t) { + return Kt.isInstance(t, bR); + } + function kR(t) { + return Kt.isInstance(t, TR); + } + function TT(t) { + return Kt.isInstance(t, ER); + } + function kT(t) { + return Kt.isInstance(t, CR); + } + function AR(t) { + return Kt.isInstance(t, SR); + } + function LR(t) { + return Kt.isInstance(t, _R); + } + var gMe, + $v, + Vv, + mT, + DD, + gT, + RD, + ND, + MD, + OD, + BD, + zD, + $D, + Fne, + VD, + UD, + zne, + HD, + WD, + qD, + XD, + KD, + QD, + Gne, + eR, + tR, + yT, + rR, + $ne, + nR, + aR, + sR, + oR, + lR, + uR, + hR, + dR, + pR, + mR, + yR, + xR, + bR, + TR, + ER, + CR, + SR, + _R, + Gm, + Kt, + Sc = R(() => { + 'use strict'; + Vo(); + (gMe = { + ID: /\^?[_a-zA-Z][\w_]*/, + STRING: /"(\\.|[^"\\])*"|'(\\.|[^'\\])*'/, + NUMBER: /NaN|-?((\d*\.\d+|\d+)([Ee][+-]?\d+)?|Infinity)/, + RegexLiteral: /\/(?![*+?])(?:[^\r\n\[/\\]|\\.|\[(?:[^\r\n\]\\]|\\.)*\])+\/[a-z]*/, + WS: /\s+/, + ML_COMMENT: /\/\*[\s\S]*?\*\//, + SL_COMMENT: /\/\/[^\n\r]*/ + }), + ($v = 'AbstractRule'); + o(yMe, 'isAbstractRule'); + Vv = 'AbstractType'; + o(vMe, 'isAbstractType'); + mT = 'Condition'; + o(xMe, 'isCondition'); + o(bMe, 'isFeatureName'); + o(Bne, 'isPrimitiveType'); + DD = 'TypeDefinition'; + o(wMe, 'isTypeDefinition'); + gT = 'ValueLiteral'; + o(TMe, 'isValueLiteral'); + RD = 'AbstractElement'; + o(Uv, 'isAbstractElement'); + ND = 'ArrayLiteral'; + o(kMe, 'isArrayLiteral'); + MD = 'ArrayType'; + o(ID, 'isArrayType'); + OD = 'BooleanLiteral'; + o(PD, 'isBooleanLiteral'); + BD = 'Conjunction'; + o(FD, 'isConjunction'); + zD = 'Disjunction'; + o(GD, 'isDisjunction'); + $D = 'Grammar'; + o(EMe, 'isGrammar'); + Fne = 'GrammarImport'; + o(CMe, 'isGrammarImport'); + VD = 'InferredType'; + o(vT, 'isInferredType'); + UD = 'Interface'; + o(xT, 'isInterface'); + zne = 'NamedArgument'; + o(SMe, 'isNamedArgument'); + HD = 'Negation'; + o(YD, 'isNegation'); + WD = 'NumberLiteral'; + o(AMe, 'isNumberLiteral'); + qD = 'Parameter'; + o(_Me, 'isParameter'); + XD = 'ParameterReference'; + o(jD, 'isParameterReference'); + KD = 'ParserRule'; + o(Oa, 'isParserRule'); + QD = 'ReferenceType'; + o(ZD, 'isReferenceType'); + Gne = 'ReturnType'; + o(JD, 'isReturnType'); + eR = 'SimpleType'; + o(bT, 'isSimpleType'); + tR = 'StringLiteral'; + o(LMe, 'isStringLiteral'); + yT = 'TerminalRule'; + o(Uo, 'isTerminalRule'); + rR = 'Type'; + o(Hv, 'isType'); + $ne = 'TypeAttribute'; + o(DMe, 'isTypeAttribute'); + nR = 'UnionType'; + o(iR, 'isUnionType'); + aR = 'Action'; + o(Iu, 'isAction'); + sR = 'Alternatives'; + o(wT, 'isAlternatives'); + oR = 'Assignment'; + o(Nl, 'isAssignment'); + lR = 'CharacterRange'; + o(cR, 'isCharacterRange'); + uR = 'CrossReference'; + o(Kd, 'isCrossReference'); + hR = 'EndOfFile'; + o(fR, 'isEndOfFile'); + dR = 'Group'; + o(rf, 'isGroup'); + pR = 'Keyword'; + o(Ho, 'isKeyword'); + mR = 'NegatedToken'; + o(gR, 'isNegatedToken'); + yR = 'RegexToken'; + o(vR, 'isRegexToken'); + xR = 'RuleCall'; + o(Ml, 'isRuleCall'); + bR = 'TerminalAlternatives'; + o(wR, 'isTerminalAlternatives'); + TR = 'TerminalGroup'; + o(kR, 'isTerminalGroup'); + ER = 'TerminalRuleCall'; + o(TT, 'isTerminalRuleCall'); + CR = 'UnorderedGroup'; + o(kT, 'isUnorderedGroup'); + SR = 'UntilToken'; + o(AR, 'isUntilToken'); + _R = 'Wildcard'; + o(LR, 'isWildcard'); + (Gm = class extends Yd { + static { + o(this, 'LangiumGrammarAstReflection'); + } + getAllTypes() { + return [ + 'AbstractElement', + 'AbstractRule', + 'AbstractType', + 'Action', + 'Alternatives', + 'ArrayLiteral', + 'ArrayType', + 'Assignment', + 'BooleanLiteral', + 'CharacterRange', + 'Condition', + 'Conjunction', + 'CrossReference', + 'Disjunction', + 'EndOfFile', + 'Grammar', + 'GrammarImport', + 'Group', + 'InferredType', + 'Interface', + 'Keyword', + 'NamedArgument', + 'NegatedToken', + 'Negation', + 'NumberLiteral', + 'Parameter', + 'ParameterReference', + 'ParserRule', + 'ReferenceType', + 'RegexToken', + 'ReturnType', + 'RuleCall', + 'SimpleType', + 'StringLiteral', + 'TerminalAlternatives', + 'TerminalGroup', + 'TerminalRule', + 'TerminalRuleCall', + 'Type', + 'TypeAttribute', + 'TypeDefinition', + 'UnionType', + 'UnorderedGroup', + 'UntilToken', + 'ValueLiteral', + 'Wildcard' + ]; + } + computeIsSubtype(e, r) { + switch (e) { + case aR: + case sR: + case oR: + case lR: + case uR: + case hR: + case dR: + case pR: + case mR: + case yR: + case xR: + case bR: + case TR: + case ER: + case CR: + case SR: + case _R: + return this.isSubtype(RD, r); + case ND: + case WD: + case tR: + return this.isSubtype(gT, r); + case MD: + case QD: + case eR: + case nR: + return this.isSubtype(DD, r); + case OD: + return this.isSubtype(mT, r) || this.isSubtype(gT, r); + case BD: + case zD: + case HD: + case XD: + return this.isSubtype(mT, r); + case VD: + case UD: + case rR: + return this.isSubtype(Vv, r); + case KD: + return this.isSubtype($v, r) || this.isSubtype(Vv, r); + case yT: + return this.isSubtype($v, r); + default: + return !1; + } + } + getReferenceType(e) { + let r = `${e.container.$type}:${e.property}`; + switch (r) { + case 'Action:type': + case 'CrossReference:type': + case 'Interface:superTypes': + case 'ParserRule:returnType': + case 'SimpleType:typeRef': + return Vv; + case 'Grammar:hiddenTokens': + case 'ParserRule:hiddenTokens': + case 'RuleCall:rule': + return $v; + case 'Grammar:usedGrammars': + return $D; + case 'NamedArgument:parameter': + case 'ParameterReference:parameter': + return qD; + case 'TerminalRuleCall:rule': + return yT; + default: + throw new Error(`${r} is not a valid reference id.`); + } + } + getTypeMetaData(e) { + switch (e) { + case 'AbstractElement': + return { + name: 'AbstractElement', + properties: [{ name: 'cardinality' }, { name: 'lookahead' }] + }; + case 'ArrayLiteral': + return { + name: 'ArrayLiteral', + properties: [{ name: 'elements', defaultValue: [] }] + }; + case 'ArrayType': + return { + name: 'ArrayType', + properties: [{ name: 'elementType' }] + }; + case 'BooleanLiteral': + return { + name: 'BooleanLiteral', + properties: [{ name: 'true', defaultValue: !1 }] + }; + case 'Conjunction': + return { + name: 'Conjunction', + properties: [{ name: 'left' }, { name: 'right' }] + }; + case 'Disjunction': + return { + name: 'Disjunction', + properties: [{ name: 'left' }, { name: 'right' }] + }; + case 'Grammar': + return { + name: 'Grammar', + properties: [ + { name: 'definesHiddenTokens', defaultValue: !1 }, + { name: 'hiddenTokens', defaultValue: [] }, + { name: 'imports', defaultValue: [] }, + { name: 'interfaces', defaultValue: [] }, + { name: 'isDeclared', defaultValue: !1 }, + { name: 'name' }, + { name: 'rules', defaultValue: [] }, + { name: 'types', defaultValue: [] }, + { name: 'usedGrammars', defaultValue: [] } + ] + }; + case 'GrammarImport': + return { name: 'GrammarImport', properties: [{ name: 'path' }] }; + case 'InferredType': + return { name: 'InferredType', properties: [{ name: 'name' }] }; + case 'Interface': + return { + name: 'Interface', + properties: [ + { name: 'attributes', defaultValue: [] }, + { name: 'name' }, + { name: 'superTypes', defaultValue: [] } + ] + }; + case 'NamedArgument': + return { + name: 'NamedArgument', + properties: [ + { name: 'calledByName', defaultValue: !1 }, + { name: 'parameter' }, + { name: 'value' } + ] + }; + case 'Negation': + return { name: 'Negation', properties: [{ name: 'value' }] }; + case 'NumberLiteral': + return { name: 'NumberLiteral', properties: [{ name: 'value' }] }; + case 'Parameter': + return { name: 'Parameter', properties: [{ name: 'name' }] }; + case 'ParameterReference': + return { + name: 'ParameterReference', + properties: [{ name: 'parameter' }] + }; + case 'ParserRule': + return { + name: 'ParserRule', + properties: [ + { name: 'dataType' }, + { name: 'definesHiddenTokens', defaultValue: !1 }, + { name: 'definition' }, + { name: 'entry', defaultValue: !1 }, + { name: 'fragment', defaultValue: !1 }, + { name: 'hiddenTokens', defaultValue: [] }, + { name: 'inferredType' }, + { name: 'name' }, + { name: 'parameters', defaultValue: [] }, + { name: 'returnType' }, + { name: 'wildcard', defaultValue: !1 } + ] + }; + case 'ReferenceType': + return { + name: 'ReferenceType', + properties: [{ name: 'referenceType' }] + }; + case 'ReturnType': + return { name: 'ReturnType', properties: [{ name: 'name' }] }; + case 'SimpleType': + return { + name: 'SimpleType', + properties: [{ name: 'primitiveType' }, { name: 'stringType' }, { name: 'typeRef' }] + }; + case 'StringLiteral': + return { name: 'StringLiteral', properties: [{ name: 'value' }] }; + case 'TerminalRule': + return { + name: 'TerminalRule', + properties: [ + { name: 'definition' }, + { name: 'fragment', defaultValue: !1 }, + { name: 'hidden', defaultValue: !1 }, + { name: 'name' }, + { name: 'type' } + ] + }; + case 'Type': + return { + name: 'Type', + properties: [{ name: 'name' }, { name: 'type' }] + }; + case 'TypeAttribute': + return { + name: 'TypeAttribute', + properties: [ + { name: 'defaultValue' }, + { name: 'isOptional', defaultValue: !1 }, + { name: 'name' }, + { name: 'type' } + ] + }; + case 'UnionType': + return { + name: 'UnionType', + properties: [{ name: 'types', defaultValue: [] }] + }; + case 'Action': + return { + name: 'Action', + properties: [ + { name: 'cardinality' }, + { name: 'feature' }, + { name: 'inferredType' }, + { name: 'lookahead' }, + { name: 'operator' }, + { name: 'type' } + ] + }; + case 'Alternatives': + return { + name: 'Alternatives', + properties: [ + { name: 'cardinality' }, + { name: 'elements', defaultValue: [] }, + { name: 'lookahead' } + ] + }; + case 'Assignment': + return { + name: 'Assignment', + properties: [ + { name: 'cardinality' }, + { name: 'feature' }, + { name: 'lookahead' }, + { name: 'operator' }, + { name: 'terminal' } + ] + }; + case 'CharacterRange': + return { + name: 'CharacterRange', + properties: [ + { name: 'cardinality' }, + { name: 'left' }, + { name: 'lookahead' }, + { name: 'right' } + ] + }; + case 'CrossReference': + return { + name: 'CrossReference', + properties: [ + { name: 'cardinality' }, + { name: 'deprecatedSyntax', defaultValue: !1 }, + { name: 'lookahead' }, + { name: 'terminal' }, + { name: 'type' } + ] + }; + case 'EndOfFile': + return { + name: 'EndOfFile', + properties: [{ name: 'cardinality' }, { name: 'lookahead' }] + }; + case 'Group': + return { + name: 'Group', + properties: [ + { name: 'cardinality' }, + { name: 'elements', defaultValue: [] }, + { name: 'guardCondition' }, + { name: 'lookahead' } + ] + }; + case 'Keyword': + return { + name: 'Keyword', + properties: [{ name: 'cardinality' }, { name: 'lookahead' }, { name: 'value' }] + }; + case 'NegatedToken': + return { + name: 'NegatedToken', + properties: [{ name: 'cardinality' }, { name: 'lookahead' }, { name: 'terminal' }] + }; + case 'RegexToken': + return { + name: 'RegexToken', + properties: [{ name: 'cardinality' }, { name: 'lookahead' }, { name: 'regex' }] + }; + case 'RuleCall': + return { + name: 'RuleCall', + properties: [ + { name: 'arguments', defaultValue: [] }, + { name: 'cardinality' }, + { name: 'lookahead' }, + { name: 'rule' } + ] + }; + case 'TerminalAlternatives': + return { + name: 'TerminalAlternatives', + properties: [ + { name: 'cardinality' }, + { name: 'elements', defaultValue: [] }, + { name: 'lookahead' } + ] + }; + case 'TerminalGroup': + return { + name: 'TerminalGroup', + properties: [ + { name: 'cardinality' }, + { name: 'elements', defaultValue: [] }, + { name: 'lookahead' } + ] + }; + case 'TerminalRuleCall': + return { + name: 'TerminalRuleCall', + properties: [{ name: 'cardinality' }, { name: 'lookahead' }, { name: 'rule' }] + }; + case 'UnorderedGroup': + return { + name: 'UnorderedGroup', + properties: [ + { name: 'cardinality' }, + { name: 'elements', defaultValue: [] }, + { name: 'lookahead' } + ] + }; + case 'UntilToken': + return { + name: 'UntilToken', + properties: [{ name: 'cardinality' }, { name: 'lookahead' }, { name: 'terminal' }] + }; + case 'Wildcard': + return { + name: 'Wildcard', + properties: [{ name: 'cardinality' }, { name: 'lookahead' }] + }; + default: + return { name: e, properties: [] }; + } + } + }), + (Kt = new Gm()); + }); + var CT = {}; + hr(CT, { + assignMandatoryProperties: () => NR, + copyAstNode: () => RR, + findLocalReferences: () => NMe, + findRootNode: () => Vne, + getContainerOfType: () => Qd, + getDocument: () => Oi, + hasContainerOfType: () => RMe, + linkContentToContainer: () => ET, + streamAllContents: () => Ac, + streamAst: () => Yo, + streamContents: () => Wv, + streamReferences: () => $m + }); + function ET(t) { + for (let [e, r] of Object.entries(t)) + e.startsWith('$') || + (Array.isArray(r) + ? r.forEach((n, i) => { + Xn(n) && ((n.$container = t), (n.$containerProperty = e), (n.$containerIndex = i)); + }) + : Xn(r) && ((r.$container = t), (r.$containerProperty = e))); + } + function Qd(t, e) { + let r = t; + for (; r; ) { + if (e(r)) return r; + r = r.$container; + } + } + function RMe(t, e) { + let r = t; + for (; r; ) { + if (e(r)) return !0; + r = r.$container; + } + return !1; + } + function Oi(t) { + let r = Vne(t).$document; + if (!r) throw new Error('AST node has no document.'); + return r; + } + function Vne(t) { + for (; t.$container; ) t = t.$container; + return t; + } + function Wv(t, e) { + if (!t) throw new Error('Node must be an AstNode.'); + let r = e?.range; + return new uo( + () => ({ keys: Object.keys(t), keyIndex: 0, arrayIndex: 0 }), + (n) => { + for (; n.keyIndex < n.keys.length; ) { + let i = n.keys[n.keyIndex]; + if (!i.startsWith('$')) { + let a = t[i]; + if (Xn(a)) { + if ((n.keyIndex++, DR(a, r))) return { done: !1, value: a }; + } else if (Array.isArray(a)) { + for (; n.arrayIndex < a.length; ) { + let s = n.arrayIndex++, + l = a[s]; + if (Xn(l) && DR(l, r)) return { done: !1, value: l }; + } + n.arrayIndex = 0; + } + } + n.keyIndex++; + } + return Ja; + } + ); + } + function Ac(t, e) { + if (!t) throw new Error('Root node must be an AstNode.'); + return new Cc(t, (r) => Wv(r, e)); + } + function Yo(t, e) { + if (t) { + if (e?.range && !DR(t, e.range)) return new Cc(t, () => []); + } else throw new Error('Root node must be an AstNode.'); + return new Cc(t, (r) => Wv(r, e), { includeRoot: !0 }); + } + function DR(t, e) { + var r; + if (!e) return !0; + let n = (r = t.$cstNode) === null || r === void 0 ? void 0 : r.range; + return n ? AD(n, e) : !1; + } + function $m(t) { + return new uo( + () => ({ keys: Object.keys(t), keyIndex: 0, arrayIndex: 0 }), + (e) => { + for (; e.keyIndex < e.keys.length; ) { + let r = e.keys[e.keyIndex]; + if (!r.startsWith('$')) { + let n = t[r]; + if (xa(n)) + return e.keyIndex++, { done: !1, value: { reference: n, container: t, property: r } }; + if (Array.isArray(n)) { + for (; e.arrayIndex < n.length; ) { + let i = e.arrayIndex++, + a = n[i]; + if (xa(a)) + return { + done: !1, + value: { + reference: a, + container: t, + property: r, + index: i + } + }; + } + e.arrayIndex = 0; + } + } + e.keyIndex++; + } + return Ja; + } + ); + } + function NMe(t, e = Oi(t).parseResult.value) { + let r = []; + return ( + Yo(e).forEach((n) => { + $m(n).forEach((i) => { + i.reference.ref === t && r.push(i.reference); + }); + }), + Kr(r) + ); + } + function NR(t, e) { + let r = t.getTypeMetaData(e.$type), + n = e; + for (let i of r.properties) + i.defaultValue !== void 0 && n[i.name] === void 0 && (n[i.name] = Une(i.defaultValue)); + } + function Une(t) { + return Array.isArray(t) ? [...t.map(Une)] : t; + } + function RR(t, e) { + let r = { $type: t.$type }; + for (let [n, i] of Object.entries(t)) + if (!n.startsWith('$')) + if (Xn(i)) r[n] = RR(i, e); + else if (xa(i)) r[n] = e(r, n, i.$refNode, i.$refText); + else if (Array.isArray(i)) { + let a = []; + for (let s of i) + Xn(s) ? a.push(RR(s, e)) : xa(s) ? a.push(e(r, n, s.$refNode, s.$refText)) : a.push(s); + r[n] = a; + } else r[n] = i; + return ET(r), r; + } + var es = R(() => { + 'use strict'; + Vo(); + Ds(); + Rl(); + o(ET, 'linkContentToContainer'); + o(Qd, 'getContainerOfType'); + o(RMe, 'hasContainerOfType'); + o(Oi, 'getDocument'); + o(Vne, 'findRootNode'); + o(Wv, 'streamContents'); + o(Ac, 'streamAllContents'); + o(Yo, 'streamAst'); + o(DR, 'isAstNodeInRange'); + o($m, 'streamReferences'); + o(NMe, 'findLocalReferences'); + o(NR, 'assignMandatoryProperties'); + o(Une, 'copyDefaultValue'); + o(RR, 'copyAstNode'); + }); + function qt(t) { + return t.charCodeAt(0); + } + function ST(t, e) { + Array.isArray(t) + ? t.forEach(function (r) { + e.push(r); + }) + : e.push(t); + } + function Vm(t, e) { + if (t[e] === !0) throw 'duplicate flag ' + e; + let r = t[e]; + t[e] = !0; + } + function Zd(t) { + if (t === void 0) throw Error('Internal Error - Should never get here!'); + return !0; + } + function qv() { + throw Error('Internal Error - Should never get here!'); + } + function MR(t) { + return t.type === 'Character'; + } + var IR = R(() => { + 'use strict'; + o(qt, 'cc'); + o(ST, 'insertToSet'); + o(Vm, 'addFlag'); + o(Zd, 'ASSERT_EXISTS'); + o(qv, 'ASSERT_NEVER_REACH_HERE'); + o(MR, 'isCharacter'); + }); + var Xv, + jv, + OR, + Hne = R(() => { + 'use strict'; + IR(); + Xv = []; + for (let t = qt('0'); t <= qt('9'); t++) Xv.push(t); + jv = [qt('_')].concat(Xv); + for (let t = qt('a'); t <= qt('z'); t++) jv.push(t); + for (let t = qt('A'); t <= qt('Z'); t++) jv.push(t); + OR = [ + qt(' '), + qt('\f'), + qt(` +`), + qt('\r'), + qt(' '), + qt('\v'), + qt(' '), + qt('\xA0'), + qt('\u1680'), + qt('\u2000'), + qt('\u2001'), + qt('\u2002'), + qt('\u2003'), + qt('\u2004'), + qt('\u2005'), + qt('\u2006'), + qt('\u2007'), + qt('\u2008'), + qt('\u2009'), + qt('\u200A'), + qt('\u2028'), + qt('\u2029'), + qt('\u202F'), + qt('\u205F'), + qt('\u3000'), + qt('\uFEFF') + ]; + }); + var MMe, + AT, + IMe, + Jd, + Yne = R(() => { + 'use strict'; + IR(); + Hne(); + (MMe = /[0-9a-fA-F]/), + (AT = /[0-9]/), + (IMe = /[1-9]/), + (Jd = class { + static { + o(this, 'RegExpParser'); + } + constructor() { + (this.idx = 0), (this.input = ''), (this.groupIdx = 0); + } + saveState() { + return { + idx: this.idx, + input: this.input, + groupIdx: this.groupIdx + }; + } + restoreState(e) { + (this.idx = e.idx), (this.input = e.input), (this.groupIdx = e.groupIdx); + } + pattern(e) { + (this.idx = 0), (this.input = e), (this.groupIdx = 0), this.consumeChar('/'); + let r = this.disjunction(); + this.consumeChar('/'); + let n = { + type: 'Flags', + loc: { begin: this.idx, end: e.length }, + global: !1, + ignoreCase: !1, + multiLine: !1, + unicode: !1, + sticky: !1 + }; + for (; this.isRegExpFlag(); ) + switch (this.popChar()) { + case 'g': + Vm(n, 'global'); + break; + case 'i': + Vm(n, 'ignoreCase'); + break; + case 'm': + Vm(n, 'multiLine'); + break; + case 'u': + Vm(n, 'unicode'); + break; + case 'y': + Vm(n, 'sticky'); + break; + } + if (this.idx !== this.input.length) + throw Error('Redundant input: ' + this.input.substring(this.idx)); + return { type: 'Pattern', flags: n, value: r, loc: this.loc(0) }; + } + disjunction() { + let e = [], + r = this.idx; + for (e.push(this.alternative()); this.peekChar() === '|'; ) + this.consumeChar('|'), e.push(this.alternative()); + return { type: 'Disjunction', value: e, loc: this.loc(r) }; + } + alternative() { + let e = [], + r = this.idx; + for (; this.isTerm(); ) e.push(this.term()); + return { type: 'Alternative', value: e, loc: this.loc(r) }; + } + term() { + return this.isAssertion() ? this.assertion() : this.atom(); + } + assertion() { + let e = this.idx; + switch (this.popChar()) { + case '^': + return { type: 'StartAnchor', loc: this.loc(e) }; + case '$': + return { type: 'EndAnchor', loc: this.loc(e) }; + case '\\': + switch (this.popChar()) { + case 'b': + return { type: 'WordBoundary', loc: this.loc(e) }; + case 'B': + return { type: 'NonWordBoundary', loc: this.loc(e) }; + } + throw Error('Invalid Assertion Escape'); + case '(': + this.consumeChar('?'); + let r; + switch (this.popChar()) { + case '=': + r = 'Lookahead'; + break; + case '!': + r = 'NegativeLookahead'; + break; + } + Zd(r); + let n = this.disjunction(); + return this.consumeChar(')'), { type: r, value: n, loc: this.loc(e) }; + } + return qv(); + } + quantifier(e = !1) { + let r, + n = this.idx; + switch (this.popChar()) { + case '*': + r = { atLeast: 0, atMost: 1 / 0 }; + break; + case '+': + r = { atLeast: 1, atMost: 1 / 0 }; + break; + case '?': + r = { atLeast: 0, atMost: 1 }; + break; + case '{': + let i = this.integerIncludingZero(); + switch (this.popChar()) { + case '}': + r = { atLeast: i, atMost: i }; + break; + case ',': + let a; + this.isDigit() + ? ((a = this.integerIncludingZero()), (r = { atLeast: i, atMost: a })) + : (r = { atLeast: i, atMost: 1 / 0 }), + this.consumeChar('}'); + break; + } + if (e === !0 && r === void 0) return; + Zd(r); + break; + } + if (!(e === !0 && r === void 0) && Zd(r)) + return ( + this.peekChar(0) === '?' ? (this.consumeChar('?'), (r.greedy = !1)) : (r.greedy = !0), + (r.type = 'Quantifier'), + (r.loc = this.loc(n)), + r + ); + } + atom() { + let e, + r = this.idx; + switch (this.peekChar()) { + case '.': + e = this.dotAll(); + break; + case '\\': + e = this.atomEscape(); + break; + case '[': + e = this.characterClass(); + break; + case '(': + e = this.group(); + break; + } + return ( + e === void 0 && this.isPatternCharacter() && (e = this.patternCharacter()), + Zd(e) + ? ((e.loc = this.loc(r)), this.isQuantifier() && (e.quantifier = this.quantifier()), e) + : qv() + ); + } + dotAll() { + return ( + this.consumeChar('.'), + { + type: 'Set', + complement: !0, + value: [ + qt(` +`), + qt('\r'), + qt('\u2028'), + qt('\u2029') + ] + } + ); + } + atomEscape() { + switch ((this.consumeChar('\\'), this.peekChar())) { + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + return this.decimalEscapeAtom(); + case 'd': + case 'D': + case 's': + case 'S': + case 'w': + case 'W': + return this.characterClassEscape(); + case 'f': + case 'n': + case 'r': + case 't': + case 'v': + return this.controlEscapeAtom(); + case 'c': + return this.controlLetterEscapeAtom(); + case '0': + return this.nulCharacterAtom(); + case 'x': + return this.hexEscapeSequenceAtom(); + case 'u': + return this.regExpUnicodeEscapeSequenceAtom(); + default: + return this.identityEscapeAtom(); + } + } + decimalEscapeAtom() { + return { + type: 'GroupBackReference', + value: this.positiveInteger() + }; + } + characterClassEscape() { + let e, + r = !1; + switch (this.popChar()) { + case 'd': + e = Xv; + break; + case 'D': + (e = Xv), (r = !0); + break; + case 's': + e = OR; + break; + case 'S': + (e = OR), (r = !0); + break; + case 'w': + e = jv; + break; + case 'W': + (e = jv), (r = !0); + break; + } + return Zd(e) ? { type: 'Set', value: e, complement: r } : qv(); + } + controlEscapeAtom() { + let e; + switch (this.popChar()) { + case 'f': + e = qt('\f'); + break; + case 'n': + e = qt(` +`); + break; + case 'r': + e = qt('\r'); + break; + case 't': + e = qt(' '); + break; + case 'v': + e = qt('\v'); + break; + } + return Zd(e) ? { type: 'Character', value: e } : qv(); + } + controlLetterEscapeAtom() { + this.consumeChar('c'); + let e = this.popChar(); + if (/[a-zA-Z]/.test(e) === !1) throw Error('Invalid '); + return { + type: 'Character', + value: e.toUpperCase().charCodeAt(0) - 64 + }; + } + nulCharacterAtom() { + return this.consumeChar('0'), { type: 'Character', value: qt('\0') }; + } + hexEscapeSequenceAtom() { + return this.consumeChar('x'), this.parseHexDigits(2); + } + regExpUnicodeEscapeSequenceAtom() { + return this.consumeChar('u'), this.parseHexDigits(4); + } + identityEscapeAtom() { + let e = this.popChar(); + return { type: 'Character', value: qt(e) }; + } + classPatternCharacterAtom() { + switch (this.peekChar()) { + case ` +`: + case '\r': + case '\u2028': + case '\u2029': + case '\\': + case ']': + throw Error('TBD'); + default: + let e = this.popChar(); + return { type: 'Character', value: qt(e) }; + } + } + characterClass() { + let e = [], + r = !1; + for ( + this.consumeChar('['), this.peekChar(0) === '^' && (this.consumeChar('^'), (r = !0)); + this.isClassAtom(); + + ) { + let n = this.classAtom(), + i = n.type === 'Character'; + if (MR(n) && this.isRangeDash()) { + this.consumeChar('-'); + let a = this.classAtom(), + s = a.type === 'Character'; + if (MR(a)) { + if (a.value < n.value) throw Error('Range out of order in character class'); + e.push({ from: n.value, to: a.value }); + } else ST(n.value, e), e.push(qt('-')), ST(a.value, e); + } else ST(n.value, e); + } + return this.consumeChar(']'), { type: 'Set', complement: r, value: e }; + } + classAtom() { + switch (this.peekChar()) { + case ']': + case ` +`: + case '\r': + case '\u2028': + case '\u2029': + throw Error('TBD'); + case '\\': + return this.classEscape(); + default: + return this.classPatternCharacterAtom(); + } + } + classEscape() { + switch ((this.consumeChar('\\'), this.peekChar())) { + case 'b': + return this.consumeChar('b'), { type: 'Character', value: qt('\b') }; + case 'd': + case 'D': + case 's': + case 'S': + case 'w': + case 'W': + return this.characterClassEscape(); + case 'f': + case 'n': + case 'r': + case 't': + case 'v': + return this.controlEscapeAtom(); + case 'c': + return this.controlLetterEscapeAtom(); + case '0': + return this.nulCharacterAtom(); + case 'x': + return this.hexEscapeSequenceAtom(); + case 'u': + return this.regExpUnicodeEscapeSequenceAtom(); + default: + return this.identityEscapeAtom(); + } + } + group() { + let e = !0; + switch ((this.consumeChar('('), this.peekChar(0))) { + case '?': + this.consumeChar('?'), this.consumeChar(':'), (e = !1); + break; + default: + this.groupIdx++; + break; + } + let r = this.disjunction(); + this.consumeChar(')'); + let n = { type: 'Group', capturing: e, value: r }; + return e && (n.idx = this.groupIdx), n; + } + positiveInteger() { + let e = this.popChar(); + if (IMe.test(e) === !1) throw Error('Expecting a positive integer'); + for (; AT.test(this.peekChar(0)); ) e += this.popChar(); + return parseInt(e, 10); + } + integerIncludingZero() { + let e = this.popChar(); + if (AT.test(e) === !1) throw Error('Expecting an integer'); + for (; AT.test(this.peekChar(0)); ) e += this.popChar(); + return parseInt(e, 10); + } + patternCharacter() { + let e = this.popChar(); + switch (e) { + case ` +`: + case '\r': + case '\u2028': + case '\u2029': + case '^': + case '$': + case '\\': + case '.': + case '*': + case '+': + case '?': + case '(': + case ')': + case '[': + case '|': + throw Error('TBD'); + default: + return { type: 'Character', value: qt(e) }; + } + } + isRegExpFlag() { + switch (this.peekChar(0)) { + case 'g': + case 'i': + case 'm': + case 'u': + case 'y': + return !0; + default: + return !1; + } + } + isRangeDash() { + return this.peekChar() === '-' && this.isClassAtom(1); + } + isDigit() { + return AT.test(this.peekChar(0)); + } + isClassAtom(e = 0) { + switch (this.peekChar(e)) { + case ']': + case ` +`: + case '\r': + case '\u2028': + case '\u2029': + return !1; + default: + return !0; + } + } + isTerm() { + return this.isAtom() || this.isAssertion(); + } + isAtom() { + if (this.isPatternCharacter()) return !0; + switch (this.peekChar(0)) { + case '.': + case '\\': + case '[': + case '(': + return !0; + default: + return !1; + } + } + isAssertion() { + switch (this.peekChar(0)) { + case '^': + case '$': + return !0; + case '\\': + switch (this.peekChar(1)) { + case 'b': + case 'B': + return !0; + default: + return !1; + } + case '(': + return ( + this.peekChar(1) === '?' && (this.peekChar(2) === '=' || this.peekChar(2) === '!') + ); + default: + return !1; + } + } + isQuantifier() { + let e = this.saveState(); + try { + return this.quantifier(!0) !== void 0; + } catch { + return !1; + } finally { + this.restoreState(e); + } + } + isPatternCharacter() { + switch (this.peekChar()) { + case '^': + case '$': + case '\\': + case '.': + case '*': + case '+': + case '?': + case '(': + case ')': + case '[': + case '|': + case '/': + case ` +`: + case '\r': + case '\u2028': + case '\u2029': + return !1; + default: + return !0; + } + } + parseHexDigits(e) { + let r = ''; + for (let i = 0; i < e; i++) { + let a = this.popChar(); + if (MMe.test(a) === !1) throw Error('Expecting a HexDecimal digits'); + r += a; + } + return { type: 'Character', value: parseInt(r, 16) }; + } + peekChar(e = 0) { + return this.input[this.idx + e]; + } + popChar() { + let e = this.peekChar(0); + return this.consumeChar(void 0), e; + } + consumeChar(e) { + if (e !== void 0 && this.input[this.idx] !== e) + throw Error( + "Expected: '" + e + "' but found: '" + this.input[this.idx] + "' at offset: " + this.idx + ); + if (this.idx >= this.input.length) throw Error('Unexpected end of input'); + this.idx++; + } + loc(e) { + return { begin: e, end: this.idx }; + } + }); + }); + var _c, + Wne = R(() => { + 'use strict'; + _c = class { + static { + o(this, 'BaseRegExpVisitor'); + } + visitChildren(e) { + for (let r in e) { + let n = e[r]; + e.hasOwnProperty(r) && + (n.type !== void 0 + ? this.visit(n) + : Array.isArray(n) && + n.forEach((i) => { + this.visit(i); + }, this)); + } + } + visit(e) { + switch (e.type) { + case 'Pattern': + this.visitPattern(e); + break; + case 'Flags': + this.visitFlags(e); + break; + case 'Disjunction': + this.visitDisjunction(e); + break; + case 'Alternative': + this.visitAlternative(e); + break; + case 'StartAnchor': + this.visitStartAnchor(e); + break; + case 'EndAnchor': + this.visitEndAnchor(e); + break; + case 'WordBoundary': + this.visitWordBoundary(e); + break; + case 'NonWordBoundary': + this.visitNonWordBoundary(e); + break; + case 'Lookahead': + this.visitLookahead(e); + break; + case 'NegativeLookahead': + this.visitNegativeLookahead(e); + break; + case 'Character': + this.visitCharacter(e); + break; + case 'Set': + this.visitSet(e); + break; + case 'Group': + this.visitGroup(e); + break; + case 'GroupBackReference': + this.visitGroupBackReference(e); + break; + case 'Quantifier': + this.visitQuantifier(e); + break; + } + this.visitChildren(e); + } + visitPattern(e) {} + visitFlags(e) {} + visitDisjunction(e) {} + visitAlternative(e) {} + visitStartAnchor(e) {} + visitEndAnchor(e) {} + visitWordBoundary(e) {} + visitNonWordBoundary(e) {} + visitLookahead(e) {} + visitNegativeLookahead(e) {} + visitCharacter(e) {} + visitSet(e) {} + visitGroup(e) {} + visitGroupBackReference(e) {} + visitQuantifier(e) {} + }; + }); + var Kv = R(() => { + 'use strict'; + Yne(); + Wne(); + }); + var LT = {}; + hr(LT, { + NEWLINE_REGEXP: () => BR, + escapeRegExp: () => t0, + getCaseInsensitivePattern: () => zR, + getTerminalParts: () => OMe, + isMultilineComment: () => FR, + isWhitespace: () => _T, + partialMatches: () => GR, + partialRegExp: () => Xne + }); + function OMe(t) { + try { + typeof t != 'string' && (t = t.source), (t = `/${t}/`); + let e = qne.pattern(t), + r = []; + for (let n of e.value.value) e0.reset(t), e0.visit(n), r.push({ start: e0.startRegexp, end: e0.endRegex }); + return r; + } catch { + return []; + } + } + function FR(t) { + try { + return ( + typeof t == 'string' && (t = new RegExp(t)), + (t = t.toString()), + e0.reset(t), + e0.visit(qne.pattern(t)), + e0.multiline + ); + } catch { + return !1; + } + } + function _T(t) { + return (typeof t == 'string' ? new RegExp(t) : t).test(' '); + } + function t0(t) { + return t.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); + } + function zR(t) { + return Array.prototype.map + .call(t, (e) => (/\w/.test(e) ? `[${e.toLowerCase()}${e.toUpperCase()}]` : t0(e))) + .join(''); + } + function GR(t, e) { + let r = Xne(t), + n = e.match(r); + return !!n && n[0].length > 0; + } + function Xne(t) { + typeof t == 'string' && (t = new RegExp(t)); + let e = t, + r = t.source, + n = 0; + function i() { + let a = '', + s; + function l(h) { + (a += r.substr(n, h)), (n += h); + } + o(l, 'appendRaw'); + function u(h) { + (a += '(?:' + r.substr(n, h) + '|$)'), (n += h); + } + for (o(u, 'appendOptional'); n < r.length; ) + switch (r[n]) { + case '\\': + switch (r[n + 1]) { + case 'c': + u(3); + break; + case 'x': + u(4); + break; + case 'u': + e.unicode ? (r[n + 2] === '{' ? u(r.indexOf('}', n) - n + 1) : u(6)) : u(2); + break; + case 'p': + case 'P': + e.unicode ? u(r.indexOf('}', n) - n + 1) : u(2); + break; + case 'k': + u(r.indexOf('>', n) - n + 1); + break; + default: + u(2); + break; + } + break; + case '[': + (s = /\[(?:\\.|.)*?\]/g), (s.lastIndex = n), (s = s.exec(r) || []), u(s[0].length); + break; + case '|': + case '^': + case '$': + case '*': + case '+': + case '?': + l(1); + break; + case '{': + (s = /\{\d+,?\d*\}/g), (s.lastIndex = n), (s = s.exec(r)), s ? l(s[0].length) : u(1); + break; + case '(': + if (r[n + 1] === '?') + switch (r[n + 2]) { + case ':': + (a += '(?:'), (n += 3), (a += i() + '|$)'); + break; + case '=': + (a += '(?='), (n += 3), (a += i() + ')'); + break; + case '!': + (s = n), (n += 3), i(), (a += r.substr(s, n - s)); + break; + case '<': + switch (r[n + 3]) { + case '=': + case '!': + (s = n), (n += 4), i(), (a += r.substr(s, n - s)); + break; + default: + l(r.indexOf('>', n) - n + 1), (a += i() + '|$)'); + break; + } + break; + } + else l(1), (a += i() + '|$)'); + break; + case ')': + return ++n, a; + default: + u(1); + break; + } + return a; + } + return o(i, 'process'), new RegExp(i(), t.flags); + } + var BR, + qne, + PR, + e0, + Um = R(() => { + 'use strict'; + Kv(); + (BR = /\r?\n/gm), + (qne = new Jd()), + (PR = class extends _c { + static { + o(this, 'TerminalRegExpVisitor'); + } + constructor() { + super(...arguments), (this.isStarting = !0), (this.endRegexpStack = []), (this.multiline = !1); + } + get endRegex() { + return this.endRegexpStack.join(''); + } + reset(e) { + (this.multiline = !1), + (this.regex = e), + (this.startRegexp = ''), + (this.isStarting = !0), + (this.endRegexpStack = []); + } + visitGroup(e) { + e.quantifier && ((this.isStarting = !1), (this.endRegexpStack = [])); + } + visitCharacter(e) { + let r = String.fromCharCode(e.value); + if ( + (!this.multiline && + r === + ` +` && + (this.multiline = !0), + e.quantifier) + ) + (this.isStarting = !1), (this.endRegexpStack = []); + else { + let n = t0(r); + this.endRegexpStack.push(n), this.isStarting && (this.startRegexp += n); + } + } + visitSet(e) { + if (!this.multiline) { + let r = this.regex.substring(e.loc.begin, e.loc.end), + n = new RegExp(r); + this.multiline = !!` +`.match(n); + } + if (e.quantifier) (this.isStarting = !1), (this.endRegexpStack = []); + else { + let r = this.regex.substring(e.loc.begin, e.loc.end); + this.endRegexpStack.push(r), this.isStarting && (this.startRegexp += r); + } + } + visitChildren(e) { + (e.type === 'Group' && e.quantifier) || super.visitChildren(e); + } + }), + (e0 = new PR()); + o(OMe, 'getTerminalParts'); + o(FR, 'isMultilineComment'); + o(_T, 'isWhitespace'); + o(t0, 'escapeRegExp'); + o(zR, 'getCaseInsensitivePattern'); + o(GR, 'partialMatches'); + o(Xne, 'partialRegExp'); + }); + var RT = {}; + hr(RT, { + findAssignment: () => jR, + findNameAssignment: () => DT, + findNodeForKeyword: () => qR, + findNodeForProperty: () => Zv, + findNodesForKeyword: () => PMe, + findNodesForKeywordInternal: () => XR, + findNodesForProperty: () => YR, + getActionAtElement: () => Jne, + getActionType: () => tie, + getAllReachableRules: () => Qv, + getCrossReferenceTerminal: () => UR, + getEntryRule: () => jne, + getExplicitRuleType: () => KR, + getHiddenRules: () => Kne, + getRuleType: () => QR, + getTypeName: () => r0, + isArrayCardinality: () => FMe, + isArrayOperator: () => zMe, + isCommentTerminal: () => HR, + isDataType: () => GMe, + isDataTypeRule: () => Jv, + isOptionalCardinality: () => BMe, + terminalRegex: () => Hm + }); + function jne(t) { + return t.rules.find((e) => Oa(e) && e.entry); + } + function Kne(t) { + return t.rules.filter((e) => Uo(e) && e.hidden); + } + function Qv(t, e) { + let r = new Set(), + n = jne(t); + if (!n) return new Set(t.rules); + let i = [n].concat(Kne(t)); + for (let s of i) Qne(s, r, e); + let a = new Set(); + for (let s of t.rules) (r.has(s.name) || (Uo(s) && s.hidden)) && a.add(s); + return a; + } + function Qne(t, e, r) { + e.add(t.name), + Ac(t).forEach((n) => { + if (Ml(n) || (r && TT(n))) { + let i = n.rule.ref; + i && !e.has(i.name) && Qne(i, e, r); + } + }); + } + function UR(t) { + if (t.terminal) return t.terminal; + if (t.type.ref) { + let e = DT(t.type.ref); + return e?.terminal; + } + } + function HR(t) { + return t.hidden && !Hm(t).test(' '); + } + function YR(t, e) { + return !t || !e ? [] : WR(t, e, t.astNode, !0); + } + function Zv(t, e, r) { + if (!t || !e) return; + let n = WR(t, e, t.astNode, !0); + if (n.length !== 0) return r !== void 0 ? (r = Math.max(0, Math.min(r, n.length - 1))) : (r = 0), n[r]; + } + function WR(t, e, r, n) { + if (!n) { + let i = Qd(t.grammarSource, Nl); + if (i && i.feature === e) return [t]; + } + return co(t) && t.astNode === r ? t.content.flatMap((i) => WR(i, e, r, !1)) : []; + } + function PMe(t, e) { + return t ? XR(t, e, t?.astNode) : []; + } + function qR(t, e, r) { + if (!t) return; + let n = XR(t, e, t?.astNode); + if (n.length !== 0) return r !== void 0 ? (r = Math.max(0, Math.min(r, n.length - 1))) : (r = 0), n[r]; + } + function XR(t, e, r) { + if (t.astNode !== r) return []; + if (Ho(t.grammarSource) && t.grammarSource.value === e) return [t]; + let n = qd(t).iterator(), + i, + a = []; + do + if (((i = n.next()), !i.done)) { + let s = i.value; + s.astNode === r ? Ho(s.grammarSource) && s.grammarSource.value === e && a.push(s) : n.prune(); + } + while (!i.done); + return a; + } + function jR(t) { + var e; + let r = t.astNode; + for (; r === ((e = t.container) === null || e === void 0 ? void 0 : e.astNode); ) { + let n = Qd(t.grammarSource, Nl); + if (n) return n; + t = t.container; + } + } + function DT(t) { + let e = t; + return ( + vT(e) && + (Iu(e.$container) + ? (e = e.$container.$container) + : Oa(e.$container) + ? (e = e.$container) + : tf(e.$container)), + Zne(t, e, new Map()) + ); + } + function Zne(t, e, r) { + var n; + function i(a, s) { + let l; + return Qd(a, Nl) || (l = Zne(s, s, r)), r.set(t, l), l; + } + if ((o(i, 'go'), r.has(t))) return r.get(t); + r.set(t, void 0); + for (let a of Ac(e)) { + if (Nl(a) && a.feature.toLowerCase() === 'name') return r.set(t, a), a; + if (Ml(a) && Oa(a.rule.ref)) return i(a, a.rule.ref); + if (bT(a) && !((n = a.typeRef) === null || n === void 0) && n.ref) return i(a, a.typeRef.ref); + } + } + function Jne(t) { + let e = t.$container; + if (rf(e)) { + let r = e.elements, + n = r.indexOf(t); + for (let i = n - 1; i >= 0; i--) { + let a = r[i]; + if (Iu(a)) return a; + { + let s = Ac(r[i]).find(Iu); + if (s) return s; + } + } + } + if (Uv(e)) return Jne(e); + } + function BMe(t, e) { + return t === '?' || t === '*' || (rf(e) && !!e.guardCondition); + } + function FMe(t) { + return t === '*' || t === '+'; + } + function zMe(t) { + return t === '+='; + } + function Jv(t) { + return eie(t, new Set()); + } + function eie(t, e) { + if (e.has(t)) return !0; + e.add(t); + for (let r of Ac(t)) + if (Ml(r)) { + if (!r.rule.ref || (Oa(r.rule.ref) && !eie(r.rule.ref, e))) return !1; + } else { + if (Nl(r)) return !1; + if (Iu(r)) return !1; + } + return !!t.definition; + } + function GMe(t) { + return VR(t.type, new Set()); + } + function VR(t, e) { + if (e.has(t)) return !0; + if ((e.add(t), ID(t))) return !1; + if (ZD(t)) return !1; + if (iR(t)) return t.types.every((r) => VR(r, e)); + if (bT(t)) { + if (t.primitiveType !== void 0) return !0; + if (t.stringType !== void 0) return !0; + if (t.typeRef !== void 0) { + let r = t.typeRef.ref; + return Hv(r) ? VR(r.type, e) : !1; + } else return !1; + } else return !1; + } + function KR(t) { + if (t.inferredType) return t.inferredType.name; + if (t.dataType) return t.dataType; + if (t.returnType) { + let e = t.returnType.ref; + if (e) { + if (Oa(e)) return e.name; + if (xT(e) || Hv(e)) return e.name; + } + } + } + function r0(t) { + var e; + if (Oa(t)) return Jv(t) ? t.name : (e = KR(t)) !== null && e !== void 0 ? e : t.name; + if (xT(t) || Hv(t) || JD(t)) return t.name; + if (Iu(t)) { + let r = tie(t); + if (r) return r; + } else if (vT(t)) return t.name; + throw new Error('Cannot get name of Unknown Type'); + } + function tie(t) { + var e; + if (t.inferredType) return t.inferredType.name; + if (!((e = t.type) === null || e === void 0) && e.ref) return r0(t.type.ref); + } + function QR(t) { + var e, r, n; + return Uo(t) + ? (r = (e = t.type) === null || e === void 0 ? void 0 : e.name) !== null && r !== void 0 + ? r + : 'string' + : Jv(t) + ? t.name + : (n = KR(t)) !== null && n !== void 0 + ? n + : t.name; + } + function Hm(t) { + let e = { s: !1, i: !1, u: !1 }, + r = Ym(t.definition, e), + n = Object.entries(e) + .filter(([, i]) => i) + .map(([i]) => i) + .join(''); + return new RegExp(r, n); + } + function Ym(t, e) { + if (wR(t)) return $Me(t); + if (kR(t)) return VMe(t); + if (cR(t)) return YMe(t); + if (TT(t)) { + let r = t.rule.ref; + if (!r) throw new Error('Missing rule reference.'); + return Ou(Ym(r.definition), { + cardinality: t.cardinality, + lookahead: t.lookahead + }); + } else { + if (gR(t)) return HMe(t); + if (AR(t)) return UMe(t); + if (vR(t)) { + let r = t.regex.lastIndexOf('/'), + n = t.regex.substring(1, r), + i = t.regex.substring(r + 1); + return ( + e && ((e.i = i.includes('i')), (e.s = i.includes('s')), (e.u = i.includes('u'))), + Ou(n, { + cardinality: t.cardinality, + lookahead: t.lookahead, + wrap: !1 + }) + ); + } else { + if (LR(t)) return Ou(ZR, { cardinality: t.cardinality, lookahead: t.lookahead }); + throw new Error(`Invalid terminal element: ${t?.$type}`); + } + } + } + function $Me(t) { + return Ou(t.elements.map((e) => Ym(e)).join('|'), { + cardinality: t.cardinality, + lookahead: t.lookahead + }); + } + function VMe(t) { + return Ou(t.elements.map((e) => Ym(e)).join(''), { + cardinality: t.cardinality, + lookahead: t.lookahead + }); + } + function UMe(t) { + return Ou(`${ZR}*?${Ym(t.terminal)}`, { + cardinality: t.cardinality, + lookahead: t.lookahead + }); + } + function HMe(t) { + return Ou(`(?!${Ym(t.terminal)})${ZR}*?`, { + cardinality: t.cardinality, + lookahead: t.lookahead + }); + } + function YMe(t) { + return t.right + ? Ou(`[${$R(t.left)}-${$R(t.right)}]`, { + cardinality: t.cardinality, + lookahead: t.lookahead, + wrap: !1 + }) + : Ou($R(t.left), { + cardinality: t.cardinality, + lookahead: t.lookahead, + wrap: !1 + }); + } + function $R(t) { + return t0(t.value); + } + function Ou(t, e) { + var r; + return ( + (e.wrap !== !1 || e.lookahead) && (t = `(${(r = e.lookahead) !== null && r !== void 0 ? r : ''}${t})`), + e.cardinality ? `${t}${e.cardinality}` : t + ); + } + var ZR, + Il = R(() => { + 'use strict'; + pT(); + Sc(); + Vo(); + es(); + Rl(); + Um(); + o(jne, 'getEntryRule'); + o(Kne, 'getHiddenRules'); + o(Qv, 'getAllReachableRules'); + o(Qne, 'ruleDfs'); + o(UR, 'getCrossReferenceTerminal'); + o(HR, 'isCommentTerminal'); + o(YR, 'findNodesForProperty'); + o(Zv, 'findNodeForProperty'); + o(WR, 'findNodesForPropertyInternal'); + o(PMe, 'findNodesForKeyword'); + o(qR, 'findNodeForKeyword'); + o(XR, 'findNodesForKeywordInternal'); + o(jR, 'findAssignment'); + o(DT, 'findNameAssignment'); + o(Zne, 'findNameAssignmentInternal'); + o(Jne, 'getActionAtElement'); + o(BMe, 'isOptionalCardinality'); + o(FMe, 'isArrayCardinality'); + o(zMe, 'isArrayOperator'); + o(Jv, 'isDataTypeRule'); + o(eie, 'isDataTypeRuleInternal'); + o(GMe, 'isDataType'); + o(VR, 'isDataTypeInternal'); + o(KR, 'getExplicitRuleType'); + o(r0, 'getTypeName'); + o(tie, 'getActionType'); + o(QR, 'getRuleType'); + o(Hm, 'terminalRegex'); + ZR = /[\s\S]/.source; + o(Ym, 'abstractElementToRegex'); + o($Me, 'terminalAlternativesToRegex'); + o(VMe, 'terminalGroupToRegex'); + o(UMe, 'untilTokenToRegex'); + o(HMe, 'negateTokenToRegex'); + o(YMe, 'characterRangeToRegex'); + o($R, 'keywordToRegex'); + o(Ou, 'withCardinality'); + }); + function JR(t) { + let e = [], + r = t.Grammar; + for (let n of r.rules) Uo(n) && HR(n) && FR(Hm(n)) && e.push(n.name); + return { multilineCommentRules: e, nameRegexp: fT }; + } + var eN = R(() => { + 'use strict'; + Rl(); + Il(); + Um(); + Sc(); + o(JR, 'createGrammarConfig'); + }); + var tN = R(() => { + 'use strict'; + }); + function Wm(t) { + console && console.error && console.error(`Error: ${t}`); + } + function e2(t) { + console && console.warn && console.warn(`Warning: ${t}`); + } + var rie = R(() => { + 'use strict'; + o(Wm, 'PRINT_ERROR'); + o(e2, 'PRINT_WARNING'); + }); + function t2(t) { + let e = new Date().getTime(), + r = t(); + return { time: new Date().getTime() - e, value: r }; + } + var nie = R(() => { + 'use strict'; + o(t2, 'timer'); + }); + function r2(t) { + function e() {} + o(e, 'FakeConstructor'), (e.prototype = t); + let r = new e(); + function n() { + return typeof r.bar; + } + return o(n, 'fakeAccess'), n(), n(), t; + (0, eval)(t); + } + var iie = R(() => { + 'use strict'; + o(r2, 'toFastProperties'); + }); + var qm = R(() => { + 'use strict'; + rie(); + nie(); + iie(); + }); + function WMe(t) { + return qMe(t) ? t.LABEL : t.name; + } + function qMe(t) { + return di(t.LABEL) && t.LABEL !== ''; + } + function NT(t) { + return qe(t, Xm); + } + function Xm(t) { + function e(r) { + return qe(r, Xm); + } + if ((o(e, 'convertDefinition'), t instanceof Zr)) { + let r = { type: 'NonTerminal', name: t.nonTerminalName, idx: t.idx }; + return di(t.label) && (r.label = t.label), r; + } else { + if (t instanceof Sn) return { type: 'Alternative', definition: e(t.definition) }; + if (t instanceof Jr) return { type: 'Option', idx: t.idx, definition: e(t.definition) }; + if (t instanceof An) + return { + type: 'RepetitionMandatory', + idx: t.idx, + definition: e(t.definition) + }; + if (t instanceof _n) + return { + type: 'RepetitionMandatoryWithSeparator', + idx: t.idx, + separator: Xm(new fr({ terminalType: t.separator })), + definition: e(t.definition) + }; + if (t instanceof mn) + return { + type: 'RepetitionWithSeparator', + idx: t.idx, + separator: Xm(new fr({ terminalType: t.separator })), + definition: e(t.definition) + }; + if (t instanceof br) return { type: 'Repetition', idx: t.idx, definition: e(t.definition) }; + if (t instanceof gn) return { type: 'Alternation', idx: t.idx, definition: e(t.definition) }; + if (t instanceof fr) { + let r = { + type: 'Terminal', + name: t.terminalType.name, + label: WMe(t.terminalType), + idx: t.idx + }; + di(t.label) && (r.terminalLabel = t.label); + let n = t.terminalType.PATTERN; + return t.terminalType.PATTERN && (r.pattern = zo(n) ? n.source : n), r; + } else { + if (t instanceof ts) + return { + type: 'Rule', + name: t.name, + orgText: t.orgText, + definition: e(t.definition) + }; + throw Error('non exhaustive match'); + } + } + } + var ho, + Zr, + ts, + Sn, + Jr, + An, + _n, + br, + mn, + gn, + fr, + MT = R(() => { + 'use strict'; + Pt(); + o(WMe, 'tokenLabel'); + o(qMe, 'hasTokenLabel'); + (ho = class { + static { + o(this, 'AbstractProduction'); + } + get definition() { + return this._definition; + } + set definition(e) { + this._definition = e; + } + constructor(e) { + this._definition = e; + } + accept(e) { + e.visit(this), + Ee(this.definition, (r) => { + r.accept(e); + }); + } + }), + (Zr = class extends ho { + static { + o(this, 'NonTerminal'); + } + constructor(e) { + super([]), + (this.idx = 1), + pa( + this, + Ls(e, (r) => r !== void 0) + ); + } + set definition(e) {} + get definition() { + return this.referencedRule !== void 0 ? this.referencedRule.definition : []; + } + accept(e) { + e.visit(this); + } + }), + (ts = class extends ho { + static { + o(this, 'Rule'); + } + constructor(e) { + super(e.definition), + (this.orgText = ''), + pa( + this, + Ls(e, (r) => r !== void 0) + ); + } + }), + (Sn = class extends ho { + static { + o(this, 'Alternative'); + } + constructor(e) { + super(e.definition), + (this.ignoreAmbiguities = !1), + pa( + this, + Ls(e, (r) => r !== void 0) + ); + } + }), + (Jr = class extends ho { + static { + o(this, 'Option'); + } + constructor(e) { + super(e.definition), + (this.idx = 1), + pa( + this, + Ls(e, (r) => r !== void 0) + ); + } + }), + (An = class extends ho { + static { + o(this, 'RepetitionMandatory'); + } + constructor(e) { + super(e.definition), + (this.idx = 1), + pa( + this, + Ls(e, (r) => r !== void 0) + ); + } + }), + (_n = class extends ho { + static { + o(this, 'RepetitionMandatoryWithSeparator'); + } + constructor(e) { + super(e.definition), + (this.idx = 1), + pa( + this, + Ls(e, (r) => r !== void 0) + ); + } + }), + (br = class extends ho { + static { + o(this, 'Repetition'); + } + constructor(e) { + super(e.definition), + (this.idx = 1), + pa( + this, + Ls(e, (r) => r !== void 0) + ); + } + }), + (mn = class extends ho { + static { + o(this, 'RepetitionWithSeparator'); + } + constructor(e) { + super(e.definition), + (this.idx = 1), + pa( + this, + Ls(e, (r) => r !== void 0) + ); + } + }), + (gn = class extends ho { + static { + o(this, 'Alternation'); + } + get definition() { + return this._definition; + } + set definition(e) { + this._definition = e; + } + constructor(e) { + super(e.definition), + (this.idx = 1), + (this.ignoreAmbiguities = !1), + (this.hasPredicates = !1), + pa( + this, + Ls(e, (r) => r !== void 0) + ); + } + }), + (fr = class { + static { + o(this, 'Terminal'); + } + constructor(e) { + (this.idx = 1), + pa( + this, + Ls(e, (r) => r !== void 0) + ); + } + accept(e) { + e.visit(this); + } + }); + o(NT, 'serializeGrammar'); + o(Xm, 'serializeProduction'); + }); + var rs, + aie = R(() => { + 'use strict'; + MT(); + rs = class { + static { + o(this, 'GAstVisitor'); + } + visit(e) { + let r = e; + switch (r.constructor) { + case Zr: + return this.visitNonTerminal(r); + case Sn: + return this.visitAlternative(r); + case Jr: + return this.visitOption(r); + case An: + return this.visitRepetitionMandatory(r); + case _n: + return this.visitRepetitionMandatoryWithSeparator(r); + case mn: + return this.visitRepetitionWithSeparator(r); + case br: + return this.visitRepetition(r); + case gn: + return this.visitAlternation(r); + case fr: + return this.visitTerminal(r); + case ts: + return this.visitRule(r); + default: + throw Error('non exhaustive match'); + } + } + visitNonTerminal(e) {} + visitAlternative(e) {} + visitOption(e) {} + visitRepetition(e) {} + visitRepetitionMandatory(e) {} + visitRepetitionMandatoryWithSeparator(e) {} + visitRepetitionWithSeparator(e) {} + visitAlternation(e) {} + visitTerminal(e) {} + visitRule(e) {} + }; + }); + function rN(t) { + return ( + t instanceof Sn || + t instanceof Jr || + t instanceof br || + t instanceof An || + t instanceof _n || + t instanceof mn || + t instanceof fr || + t instanceof ts + ); + } + function n0(t, e = []) { + return t instanceof Jr || t instanceof br || t instanceof mn + ? !0 + : t instanceof gn + ? Nv(t.definition, (n) => n0(n, e)) + : t instanceof Zr && Fn(e, t) + ? !1 + : t instanceof ho + ? (t instanceof Zr && e.push(t), Ia(t.definition, (n) => n0(n, e))) + : !1; + } + function nN(t) { + return t instanceof gn; + } + function Rs(t) { + if (t instanceof Zr) return 'SUBRULE'; + if (t instanceof Jr) return 'OPTION'; + if (t instanceof gn) return 'OR'; + if (t instanceof An) return 'AT_LEAST_ONE'; + if (t instanceof _n) return 'AT_LEAST_ONE_SEP'; + if (t instanceof mn) return 'MANY_SEP'; + if (t instanceof br) return 'MANY'; + if (t instanceof fr) return 'CONSUME'; + throw Error('non exhaustive match'); + } + var sie = R(() => { + 'use strict'; + Pt(); + MT(); + o(rN, 'isSequenceProd'); + o(n0, 'isOptionalProd'); + o(nN, 'isBranchingProd'); + o(Rs, 'getProductionDslName'); + }); + var ns = R(() => { + 'use strict'; + MT(); + aie(); + sie(); + }); + function oie(t, e, r) { + return [ + new Jr({ + definition: [new fr({ terminalType: t.separator })].concat(t.definition) + }) + ].concat(e, r); + } + var Pu, + IT = R(() => { + 'use strict'; + Pt(); + ns(); + Pu = class { + static { + o(this, 'RestWalker'); + } + walk(e, r = []) { + Ee(e.definition, (n, i) => { + let a = fi(e.definition, i + 1); + if (n instanceof Zr) this.walkProdRef(n, a, r); + else if (n instanceof fr) this.walkTerminal(n, a, r); + else if (n instanceof Sn) this.walkFlat(n, a, r); + else if (n instanceof Jr) this.walkOption(n, a, r); + else if (n instanceof An) this.walkAtLeastOne(n, a, r); + else if (n instanceof _n) this.walkAtLeastOneSep(n, a, r); + else if (n instanceof mn) this.walkManySep(n, a, r); + else if (n instanceof br) this.walkMany(n, a, r); + else if (n instanceof gn) this.walkOr(n, a, r); + else throw Error('non exhaustive match'); + }); + } + walkTerminal(e, r, n) {} + walkProdRef(e, r, n) {} + walkFlat(e, r, n) { + let i = r.concat(n); + this.walk(e, i); + } + walkOption(e, r, n) { + let i = r.concat(n); + this.walk(e, i); + } + walkAtLeastOne(e, r, n) { + let i = [new Jr({ definition: e.definition })].concat(r, n); + this.walk(e, i); + } + walkAtLeastOneSep(e, r, n) { + let i = oie(e, r, n); + this.walk(e, i); + } + walkMany(e, r, n) { + let i = [new Jr({ definition: e.definition })].concat(r, n); + this.walk(e, i); + } + walkManySep(e, r, n) { + let i = oie(e, r, n); + this.walk(e, i); + } + walkOr(e, r, n) { + let i = r.concat(n); + Ee(e.definition, (a) => { + let s = new Sn({ definition: [a] }); + this.walk(s, i); + }); + } + }; + o(oie, 'restForRepetitionWithSeparator'); + }); + function i0(t) { + if (t instanceof Zr) return i0(t.referencedRule); + if (t instanceof fr) return KMe(t); + if (rN(t)) return XMe(t); + if (nN(t)) return jMe(t); + throw Error('non exhaustive match'); + } + function XMe(t) { + let e = [], + r = t.definition, + n = 0, + i = r.length > n, + a, + s = !0; + for (; i && s; ) (a = r[n]), (s = n0(a)), (e = e.concat(i0(a))), (n = n + 1), (i = r.length > n); + return Pm(e); + } + function jMe(t) { + let e = qe(t.definition, (r) => i0(r)); + return Pm(Gr(e)); + } + function KMe(t) { + return [t.terminalType]; + } + var iN = R(() => { + 'use strict'; + Pt(); + ns(); + o(i0, 'first'); + o(XMe, 'firstForSequence'); + o(jMe, 'firstForBranching'); + o(KMe, 'firstForTerminal'); + }); + var OT, + aN = R(() => { + 'use strict'; + OT = '_~IN~_'; + }); + function lie(t) { + let e = {}; + return ( + Ee(t, (r) => { + let n = new sN(r).startWalking(); + pa(e, n); + }), + e + ); + } + function QMe(t, e) { + return t.name + e + OT; + } + var sN, + cie = R(() => { + 'use strict'; + IT(); + iN(); + Pt(); + aN(); + ns(); + sN = class extends Pu { + static { + o(this, 'ResyncFollowsWalker'); + } + constructor(e) { + super(), (this.topProd = e), (this.follows = {}); + } + startWalking() { + return this.walk(this.topProd), this.follows; + } + walkTerminal(e, r, n) {} + walkProdRef(e, r, n) { + let i = QMe(e.referencedRule, e.idx) + this.topProd.name, + a = r.concat(n), + s = new Sn({ definition: a }), + l = i0(s); + this.follows[i] = l; + } + }; + o(lie, 'computeAllProdsFollows'); + o(QMe, 'buildBetweenProdsFollowPrefix'); + }); + function jm(t) { + let e = t.toString(); + if (PT.hasOwnProperty(e)) return PT[e]; + { + let r = ZMe.pattern(e); + return (PT[e] = r), r; + } + } + function uie() { + PT = {}; + } + var PT, + ZMe, + BT = R(() => { + 'use strict'; + Kv(); + (PT = {}), (ZMe = new Jd()); + o(jm, 'getRegExpAst'); + o(uie, 'clearRegExpParserCache'); + }); + function die(t, e = !1) { + try { + let r = jm(t); + return oN(r.value, {}, r.flags.ignoreCase); + } catch (r) { + if (r.message === fie) + e && + e2(`${n2} Unable to optimize: < ${t.toString()} > + Complement Sets cannot be automatically optimized. + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`); + else { + let n = ''; + e && + (n = ` + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`), + Wm( + `${n2} + Failed parsing: < ${t.toString()} > + Using the @chevrotain/regexp-to-ast library + Please open an issue at: https://github.com/chevrotain/chevrotain/issues` + n + ); + } + } + return []; + } + function oN(t, e, r) { + switch (t.type) { + case 'Disjunction': + for (let i = 0; i < t.value.length; i++) oN(t.value[i], e, r); + break; + case 'Alternative': + let n = t.value; + for (let i = 0; i < n.length; i++) { + let a = n[i]; + switch (a.type) { + case 'EndAnchor': + case 'GroupBackReference': + case 'Lookahead': + case 'NegativeLookahead': + case 'StartAnchor': + case 'WordBoundary': + case 'NonWordBoundary': + continue; + } + let s = a; + switch (s.type) { + case 'Character': + FT(s.value, e, r); + break; + case 'Set': + if (s.complement === !0) throw Error(fie); + Ee(s.value, (u) => { + if (typeof u == 'number') FT(u, e, r); + else { + let h = u; + if (r === !0) for (let f = h.from; f <= h.to; f++) FT(f, e, r); + else { + for (let f = h.from; f <= h.to && f < Km; f++) FT(f, e, r); + if (h.to >= Km) { + let f = h.from >= Km ? h.from : Km, + d = h.to, + p = Lc(f), + m = Lc(d); + for (let g = p; g <= m; g++) e[g] = g; + } + } + } + }); + break; + case 'Group': + oN(s.value, e, r); + break; + default: + throw Error('Non Exhaustive Match'); + } + let l = s.quantifier !== void 0 && s.quantifier.atLeast === 0; + if ((s.type === 'Group' && lN(s) === !1) || (s.type !== 'Group' && l === !1)) break; + } + break; + default: + throw Error('non exhaustive match!'); + } + return or(e); + } + function FT(t, e, r) { + let n = Lc(t); + (e[n] = n), r === !0 && JMe(t, e); + } + function JMe(t, e) { + let r = String.fromCharCode(t), + n = r.toUpperCase(); + if (n !== r) { + let i = Lc(n.charCodeAt(0)); + e[i] = i; + } else { + let i = r.toLowerCase(); + if (i !== r) { + let a = Lc(i.charCodeAt(0)); + e[a] = a; + } + } + } + function hie(t, e) { + return Za(t.value, (r) => { + if (typeof r == 'number') return Fn(e, r); + { + let n = r; + return Za(e, (i) => n.from <= i && i <= n.to) !== void 0; + } + }); + } + function lN(t) { + let e = t.quantifier; + return e && e.atLeast === 0 ? !0 : t.value ? (wt(t.value) ? Ia(t.value, lN) : lN(t.value)) : !1; + } + function zT(t, e) { + if (e instanceof RegExp) { + let r = jm(e), + n = new cN(t); + return n.visit(r), n.found; + } else return Za(e, (r) => Fn(t, r.charCodeAt(0))) !== void 0; + } + var fie, + n2, + cN, + pie = R(() => { + 'use strict'; + Kv(); + Pt(); + qm(); + BT(); + uN(); + (fie = 'Complement Sets are not supported for first char optimization'), + (n2 = `Unable to use "first char" lexer optimizations: +`); + o(die, 'getOptimizedStartCodesIndices'); + o(oN, 'firstCharOptimizedIndices'); + o(FT, 'addOptimizedIdxToResult'); + o(JMe, 'handleIgnoreCase'); + o(hie, 'findCode'); + o(lN, 'isWholeOptional'); + cN = class extends _c { + static { + o(this, 'CharCodeFinder'); + } + constructor(e) { + super(), (this.targetCharCodes = e), (this.found = !1); + } + visitChildren(e) { + if (this.found !== !0) { + switch (e.type) { + case 'Lookahead': + this.visitLookahead(e); + return; + case 'NegativeLookahead': + this.visitNegativeLookahead(e); + return; + } + super.visitChildren(e); + } + } + visitCharacter(e) { + Fn(this.targetCharCodes, e.value) && (this.found = !0); + } + visitSet(e) { + e.complement + ? hie(e, this.targetCharCodes) === void 0 && (this.found = !0) + : hie(e, this.targetCharCodes) !== void 0 && (this.found = !0); + } + }; + o(zT, 'canMatchCharCode'); + }); + function yie(t, e) { + e = Xh(e, { + useSticky: fN, + debug: !1, + safeMode: !1, + positionTracking: 'full', + lineTerminatorCharacters: [ + '\r', + ` +` + ], + tracer: o((b, w) => w(), 'tracer') + }); + let r = e.tracer; + r('initCharCodeToOptimizedIndexMap', () => { + yIe(); + }); + let n; + r('Reject Lexer.NA', () => { + n = Kh(t, (b) => b[a0] === ni.NA); + }); + let i = !1, + a; + r('Transform Patterns', () => { + (i = !1), + (a = qe(n, (b) => { + let w = b[a0]; + if (zo(w)) { + let S = w.source; + return S.length === 1 && S !== '^' && S !== '$' && S !== '.' && !w.ignoreCase + ? S + : S.length === 2 && + S[0] === '\\' && + !Fn( + ['d', 'D', 's', 'S', 't', 'r', 'n', 't', '0', 'c', 'b', 'B', 'f', 'v', 'w', 'W'], + S[1] + ) + ? S[1] + : e.useSticky + ? gie(w) + : mie(w); + } else { + if (wi(w)) return (i = !0), { exec: w }; + if (typeof w == 'object') return (i = !0), w; + if (typeof w == 'string') { + if (w.length === 1) return w; + { + let S = w.replace(/[\\^$.*+?()[\]{}|]/g, '\\$&'), + T = new RegExp(S); + return e.useSticky ? gie(T) : mie(T); + } + } else throw Error('non exhaustive match'); + } + })); + }); + let s, l, u, h, f; + r('misc mapping', () => { + (s = qe(n, (b) => b.tokenTypeIdx)), + (l = qe(n, (b) => { + let w = b.GROUP; + if (w !== ni.SKIPPED) { + if (di(w)) return w; + if (er(w)) return !1; + throw Error('non exhaustive match'); + } + })), + (u = qe(n, (b) => { + let w = b.LONGER_ALT; + if (w) return wt(w) ? qe(w, (T) => Yw(n, T)) : [Yw(n, w)]; + })), + (h = qe(n, (b) => b.PUSH_MODE)), + (f = qe(n, (b) => Xe(b, 'POP_MODE'))); + }); + let d; + r('Line Terminator Handling', () => { + let b = Cie(e.lineTerminatorCharacters); + (d = qe(n, (w) => !1)), + e.positionTracking !== 'onlyOffset' && + (d = qe(n, (w) => (Xe(w, 'LINE_BREAKS') ? !!w.LINE_BREAKS : Eie(w, b) === !1 && zT(b, w.PATTERN)))); + }); + let p, m, g, y; + r('Misc Mapping #2', () => { + (p = qe(n, Tie)), + (m = qe(a, mIe)), + (g = Vr( + n, + (b, w) => { + let S = w.GROUP; + return di(S) && S !== ni.SKIPPED && (b[S] = []), b; + }, + {} + )), + (y = qe(a, (b, w) => ({ + pattern: a[w], + longerAlt: u[w], + canLineTerminator: d[w], + isCustom: p[w], + short: m[w], + group: l[w], + push: h[w], + pop: f[w], + tokenTypeIdx: s[w], + tokenType: n[w] + }))); + }); + let v = !0, + x = []; + return ( + e.safeMode || + r('First Char Optimization', () => { + x = Vr( + n, + (b, w, S) => { + if (typeof w.PATTERN == 'string') { + let T = w.PATTERN.charCodeAt(0), + E = Lc(T); + hN(b, E, y[S]); + } else if (wt(w.START_CHARS_HINT)) { + let T; + Ee(w.START_CHARS_HINT, (E) => { + let _ = typeof E == 'string' ? E.charCodeAt(0) : E, + A = Lc(_); + T !== A && ((T = A), hN(b, A, y[S])); + }); + } else if (zo(w.PATTERN)) + if (w.PATTERN.unicode) + (v = !1), + e.ensureOptimizations && + Wm(`${n2} Unable to analyze < ${w.PATTERN.toString()} > pattern. + The regexp unicode flag is not currently supported by the regexp-to-ast library. + This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`); + else { + let T = die(w.PATTERN, e.ensureOptimizations); + Qt(T) && (v = !1), + Ee(T, (E) => { + hN(b, E, y[S]); + }); + } + else + e.ensureOptimizations && + Wm(`${n2} TokenType: <${w.name}> is using a custom token pattern without providing parameter. + This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`), + (v = !1); + return b; + }, + [] + ); + }), + { + emptyGroups: g, + patternIdxToConfig: y, + charCodeToPatternIdxToConfig: x, + hasCustom: i, + canBeOptimized: v + } + ); + } + function vie(t, e) { + let r = [], + n = tIe(t); + r = r.concat(n.errors); + let i = rIe(n.valid), + a = i.valid; + return ( + (r = r.concat(i.errors)), + (r = r.concat(eIe(a))), + (r = r.concat(uIe(a))), + (r = r.concat(hIe(a, e))), + (r = r.concat(fIe(a))), + r + ); + } + function eIe(t) { + let e = [], + r = $r(t, (n) => zo(n[a0])); + return ( + (e = e.concat(iIe(r))), + (e = e.concat(oIe(r))), + (e = e.concat(lIe(r))), + (e = e.concat(cIe(r))), + (e = e.concat(aIe(r))), + e + ); + } + function tIe(t) { + let e = $r(t, (i) => !Xe(i, a0)), + r = qe(e, (i) => ({ + message: 'Token Type: ->' + i.name + "<- missing static 'PATTERN' property", + type: Gn.MISSING_PATTERN, + tokenTypes: [i] + })), + n = jh(t, e); + return { errors: r, valid: n }; + } + function rIe(t) { + let e = $r(t, (i) => { + let a = i[a0]; + return !zo(a) && !wi(a) && !Xe(a, 'exec') && !di(a); + }), + r = qe(e, (i) => ({ + message: + 'Token Type: ->' + + i.name + + "<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.", + type: Gn.INVALID_PATTERN, + tokenTypes: [i] + })), + n = jh(t, e); + return { errors: r, valid: n }; + } + function iIe(t) { + class e extends _c { + static { + o(this, 'EndAnchorFinder'); + } + constructor() { + super(...arguments), (this.found = !1); + } + visitEndAnchor(a) { + this.found = !0; + } + } + let r = $r(t, (i) => { + let a = i.PATTERN; + try { + let s = jm(a), + l = new e(); + return l.visit(s), l.found; + } catch { + return nIe.test(a.source); + } + }); + return qe(r, (i) => ({ + message: + `Unexpected RegExp Anchor Error: + Token Type: ->` + + i.name + + `<- static 'PATTERN' cannot contain end of input anchor '$' + See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`, + type: Gn.EOI_ANCHOR_FOUND, + tokenTypes: [i] + })); + } + function aIe(t) { + let e = $r(t, (n) => n.PATTERN.test('')); + return qe(e, (n) => ({ + message: 'Token Type: ->' + n.name + "<- static 'PATTERN' must not match an empty string", + type: Gn.EMPTY_MATCH_PATTERN, + tokenTypes: [n] + })); + } + function oIe(t) { + class e extends _c { + static { + o(this, 'StartAnchorFinder'); + } + constructor() { + super(...arguments), (this.found = !1); + } + visitStartAnchor(a) { + this.found = !0; + } + } + let r = $r(t, (i) => { + let a = i.PATTERN; + try { + let s = jm(a), + l = new e(); + return l.visit(s), l.found; + } catch { + return sIe.test(a.source); + } + }); + return qe(r, (i) => ({ + message: + `Unexpected RegExp Anchor Error: + Token Type: ->` + + i.name + + `<- static 'PATTERN' cannot contain start of input anchor '^' + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`, + type: Gn.SOI_ANCHOR_FOUND, + tokenTypes: [i] + })); + } + function lIe(t) { + let e = $r(t, (n) => { + let i = n[a0]; + return i instanceof RegExp && (i.multiline || i.global); + }); + return qe(e, (n) => ({ + message: 'Token Type: ->' + n.name + "<- static 'PATTERN' may NOT contain global('g') or multiline('m')", + type: Gn.UNSUPPORTED_FLAGS_FOUND, + tokenTypes: [n] + })); + } + function cIe(t) { + let e = [], + r = qe(t, (a) => + Vr( + t, + (s, l) => ( + a.PATTERN.source === l.PATTERN.source && + !Fn(e, l) && + l.PATTERN !== ni.NA && + (e.push(l), s.push(l)), + s + ), + [] + ) + ); + r = wc(r); + let n = $r(r, (a) => a.length > 1); + return qe(n, (a) => { + let s = qe(a, (u) => u.name); + return { + message: `The same RegExp pattern ->${ + na(a).PATTERN + }<-has been used in all of the following Token Types: ${s.join(', ')} <-`, + type: Gn.DUPLICATE_PATTERNS_FOUND, + tokenTypes: a + }; + }); + } + function uIe(t) { + let e = $r(t, (n) => { + if (!Xe(n, 'GROUP')) return !1; + let i = n.GROUP; + return i !== ni.SKIPPED && i !== ni.NA && !di(i); + }); + return qe(e, (n) => ({ + message: 'Token Type: ->' + n.name + "<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String", + type: Gn.INVALID_GROUP_TYPE_FOUND, + tokenTypes: [n] + })); + } + function hIe(t, e) { + let r = $r(t, (i) => i.PUSH_MODE !== void 0 && !Fn(e, i.PUSH_MODE)); + return qe(r, (i) => ({ + message: `Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`, + type: Gn.PUSH_MODE_DOES_NOT_EXIST, + tokenTypes: [i] + })); + } + function fIe(t) { + let e = [], + r = Vr( + t, + (n, i, a) => { + let s = i.PATTERN; + return ( + s === ni.NA || + (di(s) + ? n.push({ str: s, idx: a, tokenType: i }) + : zo(s) && pIe(s) && n.push({ str: s.source, idx: a, tokenType: i })), + n + ); + }, + [] + ); + return ( + Ee(t, (n, i) => { + Ee(r, ({ str: a, idx: s, tokenType: l }) => { + if (i < s && dIe(a, n.PATTERN)) { + let u = `Token: ->${l.name}<- can never be matched. +Because it appears AFTER the Token Type ->${n.name}<-in the lexer's definition. +See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`; + e.push({ + message: u, + type: Gn.UNREACHABLE_PATTERN, + tokenTypes: [n, l] + }); + } + }); + }), + e + ); + } + function dIe(t, e) { + if (zo(e)) { + let r = e.exec(t); + return r !== null && r.index === 0; + } else { + if (wi(e)) return e(t, 0, [], {}); + if (Xe(e, 'exec')) return e.exec(t, 0, [], {}); + if (typeof e == 'string') return e === t; + throw Error('non exhaustive match'); + } + } + function pIe(t) { + return ( + Za( + ['.', '\\', '[', ']', '|', '^', '$', '(', ')', '?', '*', '+', '{'], + (r) => t.source.indexOf(r) !== -1 + ) === void 0 + ); + } + function mie(t) { + let e = t.ignoreCase ? 'i' : ''; + return new RegExp(`^(?:${t.source})`, e); + } + function gie(t) { + let e = t.ignoreCase ? 'iy' : 'y'; + return new RegExp(`${t.source}`, e); + } + function xie(t, e, r) { + let n = []; + return ( + Xe(t, Qm) || + n.push({ + message: + 'A MultiMode Lexer cannot be initialized without a <' + + Qm + + `> property in its definition +`, + type: Gn.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE + }), + Xe(t, GT) || + n.push({ + message: + 'A MultiMode Lexer cannot be initialized without a <' + + GT + + `> property in its definition +`, + type: Gn.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY + }), + Xe(t, GT) && + Xe(t, Qm) && + !Xe(t.modes, t.defaultMode) && + n.push({ + message: `A MultiMode Lexer cannot be initialized with a ${Qm}: <${t.defaultMode}>which does not exist +`, + type: Gn.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST + }), + Xe(t, GT) && + Ee(t.modes, (i, a) => { + Ee(i, (s, l) => { + if (er(s)) + n.push({ + message: `A Lexer cannot be initialized using an undefined Token Type. Mode:<${a}> at index: <${l}> +`, + type: Gn.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED + }); + else if (Xe(s, 'LONGER_ALT')) { + let u = wt(s.LONGER_ALT) ? s.LONGER_ALT : [s.LONGER_ALT]; + Ee(u, (h) => { + !er(h) && + !Fn(i, h) && + n.push({ + message: `A MultiMode Lexer cannot be initialized with a longer_alt <${h.name}> on token <${s.name}> outside of mode <${a}> +`, + type: Gn.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE + }); + }); + } + }); + }), + n + ); + } + function bie(t, e, r) { + let n = [], + i = !1, + a = wc(Gr(or(t.modes))), + s = Kh(a, (u) => u[a0] === ni.NA), + l = Cie(r); + return ( + e && + Ee(s, (u) => { + let h = Eie(u, l); + if (h !== !1) { + let d = { message: gIe(u, h), type: h.issue, tokenType: u }; + n.push(d); + } else Xe(u, 'LINE_BREAKS') ? u.LINE_BREAKS === !0 && (i = !0) : zT(l, u.PATTERN) && (i = !0); + }), + e && + !i && + n.push({ + message: `Warning: No LINE_BREAKS Found. + This Lexer has been defined to track line and column information, + But none of the Token Types can be identified as matching a line terminator. + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS + for details.`, + type: Gn.NO_LINE_BREAKS_FLAGS + }), + n + ); + } + function wie(t) { + let e = {}, + r = Dr(t); + return ( + Ee(r, (n) => { + let i = t[n]; + if (wt(i)) e[n] = []; + else throw Error('non exhaustive match'); + }), + e + ); + } + function Tie(t) { + let e = t.PATTERN; + if (zo(e)) return !1; + if (wi(e)) return !0; + if (Xe(e, 'exec')) return !0; + if (di(e)) return !1; + throw Error('non exhaustive match'); + } + function mIe(t) { + return di(t) && t.length === 1 ? t.charCodeAt(0) : !1; + } + function Eie(t, e) { + if (Xe(t, 'LINE_BREAKS')) return !1; + if (zo(t.PATTERN)) { + try { + zT(e, t.PATTERN); + } catch (r) { + return { issue: Gn.IDENTIFY_TERMINATOR, errMsg: r.message }; + } + return !1; + } else { + if (di(t.PATTERN)) return !1; + if (Tie(t)) return { issue: Gn.CUSTOM_LINE_BREAK }; + throw Error('non exhaustive match'); + } + } + function gIe(t, e) { + if (e.issue === Gn.IDENTIFY_TERMINATOR) + return `Warning: unable to identify line terminator usage in pattern. + The problem is in the <${t.name}> Token Type + Root cause: ${e.errMsg}. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`; + if (e.issue === Gn.CUSTOM_LINE_BREAK) + return `Warning: A Custom Token Pattern should specify the option. + The problem is in the <${t.name}> Token Type + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`; + throw Error('non exhaustive match'); + } + function Cie(t) { + return qe(t, (r) => (di(r) ? r.charCodeAt(0) : r)); + } + function hN(t, e, r) { + t[e] === void 0 ? (t[e] = [r]) : t[e].push(r); + } + function Lc(t) { + return t < Km ? t : $T[t]; + } + function yIe() { + if (Qt($T)) { + $T = new Array(65536); + for (let t = 0; t < 65536; t++) $T[t] = t > 255 ? 255 + ~~(t / 255) : t; + } + } + var a0, + Qm, + GT, + fN, + nIe, + sIe, + kie, + Km, + $T, + uN = R(() => { + 'use strict'; + Kv(); + i2(); + Pt(); + qm(); + pie(); + BT(); + (a0 = 'PATTERN'), + (Qm = 'defaultMode'), + (GT = 'modes'), + (fN = typeof new RegExp('(?:)').sticky == 'boolean'); + o(yie, 'analyzeTokenTypes'); + o(vie, 'validatePatterns'); + o(eIe, 'validateRegExpPattern'); + o(tIe, 'findMissingPatterns'); + o(rIe, 'findInvalidPatterns'); + nIe = /[^\\][$]/; + o(iIe, 'findEndOfInputAnchor'); + o(aIe, 'findEmptyMatchRegExps'); + sIe = /[^\\[][\^]|^\^/; + o(oIe, 'findStartOfInputAnchor'); + o(lIe, 'findUnsupportedFlags'); + o(cIe, 'findDuplicatePatterns'); + o(uIe, 'findInvalidGroupType'); + o(hIe, 'findModesThatDoNotExist'); + o(fIe, 'findUnreachablePatterns'); + o(dIe, 'testTokenType'); + o(pIe, 'noMetaChar'); + o(mie, 'addStartOfInput'); + o(gie, 'addStickyFlag'); + o(xie, 'performRuntimeChecks'); + o(bie, 'performWarningRuntimeChecks'); + o(wie, 'cloneEmptyGroups'); + o(Tie, 'isCustomPattern'); + o(mIe, 'isShortPattern'); + kie = { + test: o(function (t) { + let e = t.length; + for (let r = this.lastIndex; r < e; r++) { + let n = t.charCodeAt(r); + if (n === 10) return (this.lastIndex = r + 1), !0; + if (n === 13) + return t.charCodeAt(r + 1) === 10 ? (this.lastIndex = r + 2) : (this.lastIndex = r + 1), !0; + } + return !1; + }, 'test'), + lastIndex: 0 + }; + o(Eie, 'checkLineBreaksIssues'); + o(gIe, 'buildLineBreakIssueMessage'); + o(Cie, 'getCharCodes'); + o(hN, 'addToMapOfArrays'); + (Km = 256), ($T = []); + o(Lc, 'charCodeToOptimizedIndex'); + o(yIe, 'initCharCodeToOptimizedIndexMap'); + }); + function Bu(t, e) { + let r = t.tokenTypeIdx; + return r === e.tokenTypeIdx ? !0 : e.isParent === !0 && e.categoryMatchesMap[r] === !0; + } + function Zm(t, e) { + return t.tokenTypeIdx === e.tokenTypeIdx; + } + function Fu(t) { + let e = vIe(t); + xIe(e), + wIe(e), + bIe(e), + Ee(e, (r) => { + r.isParent = r.categoryMatches.length > 0; + }); + } + function vIe(t) { + let e = Qr(t), + r = t, + n = !0; + for (; n; ) { + r = wc(Gr(qe(r, (a) => a.CATEGORIES))); + let i = jh(r, e); + (e = e.concat(i)), Qt(i) ? (n = !1) : (r = i); + } + return e; + } + function xIe(t) { + Ee(t, (e) => { + dN(e) || ((_ie[Sie] = e), (e.tokenTypeIdx = Sie++)), + Aie(e) && !wt(e.CATEGORIES) && (e.CATEGORIES = [e.CATEGORIES]), + Aie(e) || (e.CATEGORIES = []), + TIe(e) || (e.categoryMatches = []), + kIe(e) || (e.categoryMatchesMap = {}); + }); + } + function bIe(t) { + Ee(t, (e) => { + (e.categoryMatches = []), + Ee(e.categoryMatchesMap, (r, n) => { + e.categoryMatches.push(_ie[n].tokenTypeIdx); + }); + }); + } + function wIe(t) { + Ee(t, (e) => { + Lie([], e); + }); + } + function Lie(t, e) { + Ee(t, (r) => { + e.categoryMatchesMap[r.tokenTypeIdx] = !0; + }), + Ee(e.CATEGORIES, (r) => { + let n = t.concat(e); + Fn(n, r) || Lie(n, r); + }); + } + function dN(t) { + return Xe(t, 'tokenTypeIdx'); + } + function Aie(t) { + return Xe(t, 'CATEGORIES'); + } + function TIe(t) { + return Xe(t, 'categoryMatches'); + } + function kIe(t) { + return Xe(t, 'categoryMatchesMap'); + } + function Die(t) { + return Xe(t, 'tokenTypeIdx'); + } + var Sie, + _ie, + s0 = R(() => { + 'use strict'; + Pt(); + o(Bu, 'tokenStructuredMatcher'); + o(Zm, 'tokenStructuredMatcherNoCategories'); + (Sie = 1), (_ie = {}); + o(Fu, 'augmentTokenTypes'); + o(vIe, 'expandCategories'); + o(xIe, 'assignTokenDefaultProps'); + o(bIe, 'assignCategoriesTokensProp'); + o(wIe, 'assignCategoriesMapProp'); + o(Lie, 'singleAssignCategoriesToksMap'); + o(dN, 'hasShortKeyProperty'); + o(Aie, 'hasCategoriesProperty'); + o(TIe, 'hasExtendingTokensTypesProperty'); + o(kIe, 'hasExtendingTokensTypesMapProperty'); + o(Die, 'isTokenType'); + }); + var pN, + mN = R(() => { + 'use strict'; + pN = { + buildUnableToPopLexerModeMessage(t) { + return `Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`; + }, + buildUnexpectedCharactersMessage(t, e, r, n, i) { + return `unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`; + } + }; + }); + var Gn, + a2, + ni, + i2 = R(() => { + 'use strict'; + uN(); + Pt(); + qm(); + s0(); + mN(); + BT(); + (function (t) { + (t[(t.MISSING_PATTERN = 0)] = 'MISSING_PATTERN'), + (t[(t.INVALID_PATTERN = 1)] = 'INVALID_PATTERN'), + (t[(t.EOI_ANCHOR_FOUND = 2)] = 'EOI_ANCHOR_FOUND'), + (t[(t.UNSUPPORTED_FLAGS_FOUND = 3)] = 'UNSUPPORTED_FLAGS_FOUND'), + (t[(t.DUPLICATE_PATTERNS_FOUND = 4)] = 'DUPLICATE_PATTERNS_FOUND'), + (t[(t.INVALID_GROUP_TYPE_FOUND = 5)] = 'INVALID_GROUP_TYPE_FOUND'), + (t[(t.PUSH_MODE_DOES_NOT_EXIST = 6)] = 'PUSH_MODE_DOES_NOT_EXIST'), + (t[(t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE = 7)] = 'MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE'), + (t[(t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY = 8)] = 'MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY'), + (t[(t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST = 9)] = + 'MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST'), + (t[(t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED = 10)] = + 'LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED'), + (t[(t.SOI_ANCHOR_FOUND = 11)] = 'SOI_ANCHOR_FOUND'), + (t[(t.EMPTY_MATCH_PATTERN = 12)] = 'EMPTY_MATCH_PATTERN'), + (t[(t.NO_LINE_BREAKS_FLAGS = 13)] = 'NO_LINE_BREAKS_FLAGS'), + (t[(t.UNREACHABLE_PATTERN = 14)] = 'UNREACHABLE_PATTERN'), + (t[(t.IDENTIFY_TERMINATOR = 15)] = 'IDENTIFY_TERMINATOR'), + (t[(t.CUSTOM_LINE_BREAK = 16)] = 'CUSTOM_LINE_BREAK'), + (t[(t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE = 17)] = + 'MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE'); + })(Gn || (Gn = {})); + a2 = { + deferDefinitionErrorsHandling: !1, + positionTracking: 'full', + lineTerminatorsPattern: /\n|\r\n?/g, + lineTerminatorCharacters: [ + ` +`, + '\r' + ], + ensureOptimizations: !1, + safeMode: !1, + errorMessageProvider: pN, + traceInitPerf: !1, + skipValidations: !1, + recoveryEnabled: !0 + }; + Object.freeze(a2); + ni = class { + static { + o(this, 'Lexer'); + } + constructor(e, r = a2) { + if ( + ((this.lexerDefinition = e), + (this.lexerDefinitionErrors = []), + (this.lexerDefinitionWarning = []), + (this.patternIdxToConfig = {}), + (this.charCodeToPatternIdxToConfig = {}), + (this.modes = []), + (this.emptyGroups = {}), + (this.trackStartLines = !0), + (this.trackEndLines = !0), + (this.hasCustom = !1), + (this.canModeBeOptimized = {}), + (this.TRACE_INIT = (i, a) => { + if (this.traceInitPerf === !0) { + this.traceInitIndent++; + let s = new Array(this.traceInitIndent + 1).join(' '); + this.traceInitIndent < this.traceInitMaxIdent && console.log(`${s}--> <${i}>`); + let { time: l, value: u } = t2(a), + h = l > 10 ? console.warn : console.log; + return ( + this.traceInitIndent < this.traceInitMaxIdent && h(`${s}<-- <${i}> time: ${l}ms`), + this.traceInitIndent--, + u + ); + } else return a(); + }), + typeof r == 'boolean') + ) + throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. +a boolean 2nd argument is no longer supported`); + this.config = pa({}, a2, r); + let n = this.config.traceInitPerf; + n === !0 + ? ((this.traceInitMaxIdent = 1 / 0), (this.traceInitPerf = !0)) + : typeof n == 'number' && ((this.traceInitMaxIdent = n), (this.traceInitPerf = !0)), + (this.traceInitIndent = -1), + this.TRACE_INIT('Lexer Constructor', () => { + let i, + a = !0; + this.TRACE_INIT('Lexer Config handling', () => { + if (this.config.lineTerminatorsPattern === a2.lineTerminatorsPattern) + this.config.lineTerminatorsPattern = kie; + else if (this.config.lineTerminatorCharacters === a2.lineTerminatorCharacters) + throw Error(`Error: Missing property on the Lexer config. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`); + if (r.safeMode && r.ensureOptimizations) + throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.'); + (this.trackStartLines = /full|onlyStart/i.test(this.config.positionTracking)), + (this.trackEndLines = /full/i.test(this.config.positionTracking)), + wt(e) + ? (i = { modes: { defaultMode: Qr(e) }, defaultMode: Qm }) + : ((a = !1), (i = Qr(e))); + }), + this.config.skipValidations === !1 && + (this.TRACE_INIT('performRuntimeChecks', () => { + this.lexerDefinitionErrors = this.lexerDefinitionErrors.concat( + xie(i, this.trackStartLines, this.config.lineTerminatorCharacters) + ); + }), + this.TRACE_INIT('performWarningRuntimeChecks', () => { + this.lexerDefinitionWarning = this.lexerDefinitionWarning.concat( + bie(i, this.trackStartLines, this.config.lineTerminatorCharacters) + ); + })), + (i.modes = i.modes ? i.modes : {}), + Ee(i.modes, (l, u) => { + i.modes[u] = Kh(l, (h) => er(h)); + }); + let s = Dr(i.modes); + if ( + (Ee(i.modes, (l, u) => { + this.TRACE_INIT(`Mode: <${u}> processing`, () => { + if ( + (this.modes.push(u), + this.config.skipValidations === !1 && + this.TRACE_INIT('validatePatterns', () => { + this.lexerDefinitionErrors = this.lexerDefinitionErrors.concat( + vie(l, s) + ); + }), + Qt(this.lexerDefinitionErrors)) + ) { + Fu(l); + let h; + this.TRACE_INIT('analyzeTokenTypes', () => { + h = yie(l, { + lineTerminatorCharacters: this.config.lineTerminatorCharacters, + positionTracking: r.positionTracking, + ensureOptimizations: r.ensureOptimizations, + safeMode: r.safeMode, + tracer: this.TRACE_INIT + }); + }), + (this.patternIdxToConfig[u] = h.patternIdxToConfig), + (this.charCodeToPatternIdxToConfig[u] = h.charCodeToPatternIdxToConfig), + (this.emptyGroups = pa({}, this.emptyGroups, h.emptyGroups)), + (this.hasCustom = h.hasCustom || this.hasCustom), + (this.canModeBeOptimized[u] = h.canBeOptimized); + } + }); + }), + (this.defaultMode = i.defaultMode), + !Qt(this.lexerDefinitionErrors) && !this.config.deferDefinitionErrorsHandling) + ) { + let u = qe(this.lexerDefinitionErrors, (h) => h.message).join(`----------------------- +`); + throw new Error( + `Errors detected in definition of Lexer: +` + u + ); + } + Ee(this.lexerDefinitionWarning, (l) => { + e2(l.message); + }), + this.TRACE_INIT('Choosing sub-methods implementations', () => { + if ( + (fN + ? ((this.chopInput = ea), (this.match = this.matchWithTest)) + : ((this.updateLastIndex = qn), (this.match = this.matchWithExec)), + a && (this.handleModes = qn), + this.trackStartLines === !1 && (this.computeNewColumn = ea), + this.trackEndLines === !1 && (this.updateTokenEndLineColumnLocation = qn), + /full/i.test(this.config.positionTracking)) + ) + this.createTokenInstance = this.createFullToken; + else if (/onlyStart/i.test(this.config.positionTracking)) + this.createTokenInstance = this.createStartOnlyToken; + else if (/onlyOffset/i.test(this.config.positionTracking)) + this.createTokenInstance = this.createOffsetOnlyToken; + else + throw Error( + `Invalid config option: "${this.config.positionTracking}"` + ); + this.hasCustom + ? ((this.addToken = this.addTokenUsingPush), + (this.handlePayload = this.handlePayloadWithCustom)) + : ((this.addToken = this.addTokenUsingMemberAccess), + (this.handlePayload = this.handlePayloadNoCustom)); + }), + this.TRACE_INIT('Failed Optimization Warnings', () => { + let l = Vr(this.canModeBeOptimized, (u, h, f) => (h === !1 && u.push(f), u), []); + if (r.ensureOptimizations && !Qt(l)) + throw Error(`Lexer Modes: < ${l.join(', ')} > cannot be optimized. + Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. + Or inspect the console log for details on how to resolve these issues.`); + }), + this.TRACE_INIT('clearRegExpParserCache', () => { + uie(); + }), + this.TRACE_INIT('toFastProperties', () => { + r2(this); + }); + }); + } + tokenize(e, r = this.defaultMode) { + if (!Qt(this.lexerDefinitionErrors)) { + let i = qe(this.lexerDefinitionErrors, (a) => a.message).join(`----------------------- +`); + throw new Error( + `Unable to Tokenize because Errors detected in definition of Lexer: +` + i + ); + } + return this.tokenizeInternal(e, r); + } + tokenizeInternal(e, r) { + let n, + i, + a, + s, + l, + u, + h, + f, + d, + p, + m, + g, + y, + v, + x, + b, + w = e, + S = w.length, + T = 0, + E = 0, + _ = this.hasCustom ? 0 : Math.floor(e.length / 10), + A = new Array(_), + L = [], + M = this.trackStartLines ? 1 : void 0, + N = this.trackStartLines ? 1 : void 0, + k = wie(this.emptyGroups), + I = this.trackStartLines, + C = this.config.lineTerminatorsPattern, + O = 0, + D = [], + P = [], + F = [], + B = []; + Object.freeze(B); + let $; + function z() { + return D; + } + o(z, 'getPossiblePatternsSlow'); + function Y(J) { + let Z = Lc(J), + H = P[Z]; + return H === void 0 ? B : H; + } + o(Y, 'getPossiblePatternsOptimized'); + let Q = o((J) => { + if (F.length === 1 && J.tokenType.PUSH_MODE === void 0) { + let Z = this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(J); + L.push({ + offset: J.startOffset, + line: J.startLine, + column: J.startColumn, + length: J.image.length, + message: Z + }); + } else { + F.pop(); + let Z = ma(F); + (D = this.patternIdxToConfig[Z]), + (P = this.charCodeToPatternIdxToConfig[Z]), + (O = D.length); + let H = this.canModeBeOptimized[Z] && this.config.safeMode === !1; + P && H ? ($ = Y) : ($ = z); + } + }, 'pop_mode'); + function X(J) { + F.push(J), + (P = this.charCodeToPatternIdxToConfig[J]), + (D = this.patternIdxToConfig[J]), + (O = D.length), + (O = D.length); + let Z = this.canModeBeOptimized[J] && this.config.safeMode === !1; + P && Z ? ($ = Y) : ($ = z); + } + o(X, 'push_mode'), X.call(this, r); + let ie, + j = this.config.recoveryEnabled; + for (; T < S; ) { + u = null; + let J = w.charCodeAt(T), + Z = $(J), + H = Z.length; + for (n = 0; n < H; n++) { + ie = Z[n]; + let q = ie.pattern; + h = null; + let K = ie.short; + if ( + (K !== !1 + ? J === K && (u = q) + : ie.isCustom === !0 + ? ((b = q.exec(w, T, A, k)), + b !== null ? ((u = b[0]), b.payload !== void 0 && (h = b.payload)) : (u = null)) + : (this.updateLastIndex(q, T), (u = this.match(q, e, T))), + u !== null) + ) { + if (((l = ie.longerAlt), l !== void 0)) { + let se = l.length; + for (a = 0; a < se; a++) { + let ce = D[l[a]], + ue = ce.pattern; + if ( + ((f = null), + ce.isCustom === !0 + ? ((b = ue.exec(w, T, A, k)), + b !== null + ? ((s = b[0]), b.payload !== void 0 && (f = b.payload)) + : (s = null)) + : (this.updateLastIndex(ue, T), (s = this.match(ue, e, T))), + s && s.length > u.length) + ) { + (u = s), (h = f), (ie = ce); + break; + } + } + } + break; + } + } + if (u !== null) { + if ( + ((d = u.length), + (p = ie.group), + p !== void 0 && + ((m = ie.tokenTypeIdx), + (g = this.createTokenInstance(u, T, m, ie.tokenType, M, N, d)), + this.handlePayload(g, h), + p === !1 ? (E = this.addToken(A, E, g)) : k[p].push(g)), + (e = this.chopInput(e, d)), + (T = T + d), + (N = this.computeNewColumn(N, d)), + I === !0 && ie.canLineTerminator === !0) + ) { + let q = 0, + K, + se; + C.lastIndex = 0; + do (K = C.test(u)), K === !0 && ((se = C.lastIndex - 1), q++); + while (K === !0); + q !== 0 && + ((M = M + q), + (N = d - se), + this.updateTokenEndLineColumnLocation(g, p, se, q, M, N, d)); + } + this.handleModes(ie, Q, X, g); + } else { + let q = T, + K = M, + se = N, + ce = j === !1; + for (; ce === !1 && T < S; ) + for (e = this.chopInput(e, 1), T++, i = 0; i < O; i++) { + let ue = D[i], + te = ue.pattern, + De = ue.short; + if ( + (De !== !1 + ? w.charCodeAt(T) === De && (ce = !0) + : ue.isCustom === !0 + ? (ce = te.exec(w, T, A, k) !== null) + : (this.updateLastIndex(te, T), (ce = te.exec(e) !== null)), + ce === !0) + ) + break; + } + if ( + ((y = T - q), + (N = this.computeNewColumn(N, y)), + (x = this.config.errorMessageProvider.buildUnexpectedCharactersMessage(w, q, y, K, se)), + L.push({ + offset: q, + line: K, + column: se, + length: y, + message: x + }), + j === !1) + ) + break; + } + } + return this.hasCustom || (A.length = E), { tokens: A, groups: k, errors: L }; + } + handleModes(e, r, n, i) { + if (e.pop === !0) { + let a = e.push; + r(i), a !== void 0 && n.call(this, a); + } else e.push !== void 0 && n.call(this, e.push); + } + chopInput(e, r) { + return e.substring(r); + } + updateLastIndex(e, r) { + e.lastIndex = r; + } + updateTokenEndLineColumnLocation(e, r, n, i, a, s, l) { + let u, h; + r !== void 0 && + ((u = n === l - 1), + (h = u ? -1 : 0), + (i === 1 && u === !0) || ((e.endLine = a + h), (e.endColumn = s - 1 + -h))); + } + computeNewColumn(e, r) { + return e + r; + } + createOffsetOnlyToken(e, r, n, i) { + return { image: e, startOffset: r, tokenTypeIdx: n, tokenType: i }; + } + createStartOnlyToken(e, r, n, i, a, s) { + return { + image: e, + startOffset: r, + startLine: a, + startColumn: s, + tokenTypeIdx: n, + tokenType: i + }; + } + createFullToken(e, r, n, i, a, s, l) { + return { + image: e, + startOffset: r, + endOffset: r + l - 1, + startLine: a, + endLine: a, + startColumn: s, + endColumn: s + l - 1, + tokenTypeIdx: n, + tokenType: i + }; + } + addTokenUsingPush(e, r, n) { + return e.push(n), r; + } + addTokenUsingMemberAccess(e, r, n) { + return (e[r] = n), r++, r; + } + handlePayloadNoCustom(e, r) {} + handlePayloadWithCustom(e, r) { + r !== null && (e.payload = r); + } + matchWithTest(e, r, n) { + return e.test(r) === !0 ? r.substring(n, e.lastIndex) : null; + } + matchWithExec(e, r) { + let n = e.exec(r); + return n !== null ? n[0] : null; + } + }; + ni.SKIPPED = + 'This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.'; + ni.NA = /NOT_APPLICABLE/; + }); + function zu(t) { + return gN(t) ? t.LABEL : t.name; + } + function gN(t) { + return di(t.LABEL) && t.LABEL !== ''; + } + function VT(t) { + return CIe(t); + } + function CIe(t) { + let e = t.pattern, + r = {}; + if (((r.name = t.name), er(e) || (r.PATTERN = e), Xe(t, EIe))) + throw `The parent property is no longer supported. +See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`; + return ( + Xe(t, Rie) && (r.CATEGORIES = t[Rie]), + Fu([r]), + Xe(t, Nie) && (r.LABEL = t[Nie]), + Xe(t, Mie) && (r.GROUP = t[Mie]), + Xe(t, Oie) && (r.POP_MODE = t[Oie]), + Xe(t, Iie) && (r.PUSH_MODE = t[Iie]), + Xe(t, Pie) && (r.LONGER_ALT = t[Pie]), + Xe(t, Bie) && (r.LINE_BREAKS = t[Bie]), + Xe(t, Fie) && (r.START_CHARS_HINT = t[Fie]), + r + ); + } + function o0(t, e, r, n, i, a, s, l) { + return { + image: e, + startOffset: r, + endOffset: n, + startLine: i, + endLine: a, + startColumn: s, + endColumn: l, + tokenTypeIdx: t.tokenTypeIdx, + tokenType: t + }; + } + function s2(t, e) { + return Bu(t, e); + } + var EIe, + Rie, + Nie, + Mie, + Iie, + Oie, + Pie, + Bie, + Fie, + fo, + l0 = R(() => { + 'use strict'; + Pt(); + i2(); + s0(); + o(zu, 'tokenLabel'); + o(gN, 'hasTokenLabel'); + (EIe = 'parent'), + (Rie = 'categories'), + (Nie = 'label'), + (Mie = 'group'), + (Iie = 'push_mode'), + (Oie = 'pop_mode'), + (Pie = 'longer_alt'), + (Bie = 'line_breaks'), + (Fie = 'start_chars_hint'); + o(VT, 'createToken'); + o(CIe, 'createTokenInternal'); + fo = VT({ name: 'EOF', pattern: ni.NA }); + Fu([fo]); + o(o0, 'createTokenInstance'); + o(s2, 'tokenMatcher'); + }); + var Gu, + zie, + Ol, + Jm = R(() => { + 'use strict'; + l0(); + Pt(); + ns(); + Gu = { + buildMismatchTokenMessage({ expected: t, actual: e, previous: r, ruleName: n }) { + return `Expecting ${ + gN(t) ? `--> ${zu(t)} <--` : `token of type --> ${t.name} <--` + } but found --> '${e.image}' <--`; + }, + buildNotAllInputParsedMessage({ firstRedundant: t, ruleName: e }) { + return 'Redundant input, expecting EOF but found: ' + t.image; + }, + buildNoViableAltMessage({ + expectedPathsPerAlt: t, + actual: e, + previous: r, + customUserDescription: n, + ruleName: i + }) { + let a = 'Expecting: ', + l = + ` +but found: '` + + na(e).image + + "'"; + if (n) return a + n + l; + { + let u = Vr(t, (p, m) => p.concat(m), []), + h = qe(u, (p) => `[${qe(p, (m) => zu(m)).join(', ')}]`), + d = `one of these possible Token sequences: +${qe(h, (p, m) => ` ${m + 1}. ${p}`).join(` +`)}`; + return a + d + l; + } + }, + buildEarlyExitMessage({ expectedIterationPaths: t, actual: e, customUserDescription: r, ruleName: n }) { + let i = 'Expecting: ', + s = + ` +but found: '` + + na(e).image + + "'"; + if (r) return i + r + s; + { + let u = `expecting at least one iteration which starts with one of these possible Token sequences:: + <${qe(t, (h) => `[${qe(h, (f) => zu(f)).join(',')}]`).join(' ,')}>`; + return i + u + s; + } + } + }; + Object.freeze(Gu); + (zie = { + buildRuleNotFoundError(t, e) { + return ( + 'Invalid grammar, reference to a rule which is not defined: ->' + + e.nonTerminalName + + `<- +inside top level rule: ->` + + t.name + + '<-' + ); + } + }), + (Ol = { + buildDuplicateFoundError(t, e) { + function r(f) { + return f instanceof fr ? f.terminalType.name : f instanceof Zr ? f.nonTerminalName : ''; + } + o(r, 'getExtraProductionArgument'); + let n = t.name, + i = na(e), + a = i.idx, + s = Rs(i), + l = r(i), + u = a > 0, + h = `->${s}${u ? a : ''}<- ${l ? `with argument: ->${l}<-` : ''} + appears more than once (${e.length} times) in the top level rule: ->${n}<-. + For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES + `; + return ( + (h = h.replace(/[ \t]+/g, ' ')), + (h = h.replace( + /\s\s+/g, + ` +` + )), + h + ); + }, + buildNamespaceConflictError(t) { + return `Namespace conflict found in grammar. +The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>. +To resolve this make sure each Terminal and Non-Terminal names are unique +This is easy to accomplish by using the convention that Terminal names start with an uppercase letter +and Non-Terminal names start with a lower case letter.`; + }, + buildAlternationPrefixAmbiguityError(t) { + let e = qe(t.prefixPath, (i) => zu(i)).join(', '), + r = t.alternation.idx === 0 ? '' : t.alternation.idx; + return `Ambiguous alternatives: <${t.ambiguityIndices.join( + ' ,' + )}> due to common lookahead prefix +in inside <${t.topLevelRule.name}> Rule, +<${e}> may appears as a prefix path in all these alternatives. +See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX +For Further details.`; + }, + buildAlternationAmbiguityError(t) { + let e = qe(t.prefixPath, (i) => zu(i)).join(', '), + r = t.alternation.idx === 0 ? '' : t.alternation.idx, + n = `Ambiguous Alternatives Detected: <${t.ambiguityIndices.join( + ' ,' + )}> in inside <${t.topLevelRule.name}> Rule, +<${e}> may appears as a prefix path in all these alternatives. +`; + return ( + (n = + n + + `See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES +For Further details.`), + n + ); + }, + buildEmptyRepetitionError(t) { + let e = Rs(t.repetition); + return ( + t.repetition.idx !== 0 && (e += t.repetition.idx), + `The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens. +This could lead to an infinite loop.` + ); + }, + buildTokenNameError(t) { + return 'deprecated'; + }, + buildEmptyAlternationError(t) { + return `Ambiguous empty alternative: <${t.emptyChoiceIdx + 1}> in inside <${t.topLevelRule.name}> Rule. +Only the last alternative may be an empty alternative.`; + }, + buildTooManyAlternativesError(t) { + return `An Alternation cannot have more than 256 alternatives: + inside <${t.topLevelRule.name}> Rule. + has ${t.alternation.definition.length + 1} alternatives.`; + }, + buildLeftRecursionError(t) { + let e = t.topLevelRule.name, + r = qe(t.leftRecursionPath, (a) => a.name), + n = `${e} --> ${r.concat([e]).join(' --> ')}`; + return `Left Recursion found in grammar. +rule: <${e}> can be invoked from itself (directly or indirectly) +without consuming any Tokens. The grammar path that causes this is: + ${n} + To fix this refactor your grammar to remove the left recursion. +see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`; + }, + buildInvalidRuleNameError(t) { + return 'deprecated'; + }, + buildDuplicateRuleNameError(t) { + let e; + return ( + t.topLevelRule instanceof ts ? (e = t.topLevelRule.name) : (e = t.topLevelRule), + `Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-` + ); + } + }); + }); + function Gie(t, e) { + let r = new yN(t, e); + return r.resolveRefs(), r.errors; + } + var yN, + $ie = R(() => { + 'use strict'; + Ns(); + Pt(); + ns(); + o(Gie, 'resolveGrammar'); + yN = class extends rs { + static { + o(this, 'GastRefResolverVisitor'); + } + constructor(e, r) { + super(), (this.nameToTopRule = e), (this.errMsgProvider = r), (this.errors = []); + } + resolveRefs() { + Ee(or(this.nameToTopRule), (e) => { + (this.currTopLevel = e), e.accept(this); + }); + } + visitNonTerminal(e) { + let r = this.nameToTopRule[e.nonTerminalName]; + if (r) e.referencedRule = r; + else { + let n = this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel, e); + this.errors.push({ + message: n, + type: Pi.UNRESOLVED_SUBRULE_REF, + ruleName: this.currTopLevel.name, + unresolvedRefName: e.nonTerminalName + }); + } + } + }; + }); + function WT(t, e, r = []) { + r = Qr(r); + let n = [], + i = 0; + function a(l) { + return l.concat(fi(t, i + 1)); + } + o(a, 'remainingPathWith'); + function s(l) { + let u = WT(a(l), e, r); + return n.concat(u); + } + for (o(s, 'getAlternativesForProd'); r.length < e && i < t.length; ) { + let l = t[i]; + if (l instanceof Sn) return s(l.definition); + if (l instanceof Zr) return s(l.definition); + if (l instanceof Jr) n = s(l.definition); + else if (l instanceof An) { + let u = l.definition.concat([new br({ definition: l.definition })]); + return s(u); + } else if (l instanceof _n) { + let u = [ + new Sn({ definition: l.definition }), + new br({ + definition: [new fr({ terminalType: l.separator })].concat(l.definition) + }) + ]; + return s(u); + } else if (l instanceof mn) { + let u = l.definition.concat([ + new br({ + definition: [new fr({ terminalType: l.separator })].concat(l.definition) + }) + ]); + n = s(u); + } else if (l instanceof br) { + let u = l.definition.concat([new br({ definition: l.definition })]); + n = s(u); + } else { + if (l instanceof gn) + return ( + Ee(l.definition, (u) => { + Qt(u.definition) === !1 && (n = s(u.definition)); + }), + n + ); + if (l instanceof fr) r.push(l.terminalType); + else throw Error('non exhaustive match'); + } + i++; + } + return n.push({ partialPath: r, suffixDef: fi(t, i) }), n; + } + function qT(t, e, r, n) { + let i = 'EXIT_NONE_TERMINAL', + a = [i], + s = 'EXIT_ALTERNATIVE', + l = !1, + u = e.length, + h = u - n - 1, + f = [], + d = []; + for (d.push({ idx: -1, def: t, ruleStack: [], occurrenceStack: [] }); !Qt(d); ) { + let p = d.pop(); + if (p === s) { + l && ma(d).idx <= h && d.pop(); + continue; + } + let m = p.def, + g = p.idx, + y = p.ruleStack, + v = p.occurrenceStack; + if (Qt(m)) continue; + let x = m[0]; + if (x === i) { + let b = { + idx: g, + def: fi(m), + ruleStack: Ru(y), + occurrenceStack: Ru(v) + }; + d.push(b); + } else if (x instanceof fr) + if (g < u - 1) { + let b = g + 1, + w = e[b]; + if (r(w, x.terminalType)) { + let S = { idx: b, def: fi(m), ruleStack: y, occurrenceStack: v }; + d.push(S); + } + } else if (g === u - 1) + f.push({ + nextTokenType: x.terminalType, + nextTokenOccurrence: x.idx, + ruleStack: y, + occurrenceStack: v + }), + (l = !0); + else throw Error('non exhaustive match'); + else if (x instanceof Zr) { + let b = Qr(y); + b.push(x.nonTerminalName); + let w = Qr(v); + w.push(x.idx); + let S = { + idx: g, + def: x.definition.concat(a, fi(m)), + ruleStack: b, + occurrenceStack: w + }; + d.push(S); + } else if (x instanceof Jr) { + let b = { idx: g, def: fi(m), ruleStack: y, occurrenceStack: v }; + d.push(b), d.push(s); + let w = { + idx: g, + def: x.definition.concat(fi(m)), + ruleStack: y, + occurrenceStack: v + }; + d.push(w); + } else if (x instanceof An) { + let b = new br({ definition: x.definition, idx: x.idx }), + w = x.definition.concat([b], fi(m)), + S = { idx: g, def: w, ruleStack: y, occurrenceStack: v }; + d.push(S); + } else if (x instanceof _n) { + let b = new fr({ terminalType: x.separator }), + w = new br({ definition: [b].concat(x.definition), idx: x.idx }), + S = x.definition.concat([w], fi(m)), + T = { idx: g, def: S, ruleStack: y, occurrenceStack: v }; + d.push(T); + } else if (x instanceof mn) { + let b = { idx: g, def: fi(m), ruleStack: y, occurrenceStack: v }; + d.push(b), d.push(s); + let w = new fr({ terminalType: x.separator }), + S = new br({ definition: [w].concat(x.definition), idx: x.idx }), + T = x.definition.concat([S], fi(m)), + E = { idx: g, def: T, ruleStack: y, occurrenceStack: v }; + d.push(E); + } else if (x instanceof br) { + let b = { idx: g, def: fi(m), ruleStack: y, occurrenceStack: v }; + d.push(b), d.push(s); + let w = new br({ definition: x.definition, idx: x.idx }), + S = x.definition.concat([w], fi(m)), + T = { idx: g, def: S, ruleStack: y, occurrenceStack: v }; + d.push(T); + } else if (x instanceof gn) + for (let b = x.definition.length - 1; b >= 0; b--) { + let w = x.definition[b], + S = { + idx: g, + def: w.definition.concat(fi(m)), + ruleStack: y, + occurrenceStack: v + }; + d.push(S), d.push(s); + } + else if (x instanceof Sn) + d.push({ + idx: g, + def: x.definition.concat(fi(m)), + ruleStack: y, + occurrenceStack: v + }); + else if (x instanceof ts) d.push(SIe(x, g, y, v)); + else throw Error('non exhaustive match'); + } + return f; + } + function SIe(t, e, r, n) { + let i = Qr(r); + i.push(t.name); + let a = Qr(n); + return a.push(1), { idx: e, def: t.definition, ruleStack: i, occurrenceStack: a }; + } + var vN, + UT, + eg, + HT, + o2, + YT, + l2, + c2 = R(() => { + 'use strict'; + Pt(); + iN(); + IT(); + ns(); + (vN = class extends Pu { + static { + o(this, 'AbstractNextPossibleTokensWalker'); + } + constructor(e, r) { + super(), + (this.topProd = e), + (this.path = r), + (this.possibleTokTypes = []), + (this.nextProductionName = ''), + (this.nextProductionOccurrence = 0), + (this.found = !1), + (this.isAtEndOfPath = !1); + } + startWalking() { + if (((this.found = !1), this.path.ruleStack[0] !== this.topProd.name)) + throw Error("The path does not start with the walker's top Rule!"); + return ( + (this.ruleStack = Qr(this.path.ruleStack).reverse()), + (this.occurrenceStack = Qr(this.path.occurrenceStack).reverse()), + this.ruleStack.pop(), + this.occurrenceStack.pop(), + this.updateExpectedNext(), + this.walk(this.topProd), + this.possibleTokTypes + ); + } + walk(e, r = []) { + this.found || super.walk(e, r); + } + walkProdRef(e, r, n) { + if (e.referencedRule.name === this.nextProductionName && e.idx === this.nextProductionOccurrence) { + let i = r.concat(n); + this.updateExpectedNext(), this.walk(e.referencedRule, i); + } + } + updateExpectedNext() { + Qt(this.ruleStack) + ? ((this.nextProductionName = ''), + (this.nextProductionOccurrence = 0), + (this.isAtEndOfPath = !0)) + : ((this.nextProductionName = this.ruleStack.pop()), + (this.nextProductionOccurrence = this.occurrenceStack.pop())); + } + }), + (UT = class extends vN { + static { + o(this, 'NextAfterTokenWalker'); + } + constructor(e, r) { + super(e, r), + (this.path = r), + (this.nextTerminalName = ''), + (this.nextTerminalOccurrence = 0), + (this.nextTerminalName = this.path.lastTok.name), + (this.nextTerminalOccurrence = this.path.lastTokOccurrence); + } + walkTerminal(e, r, n) { + if ( + this.isAtEndOfPath && + e.terminalType.name === this.nextTerminalName && + e.idx === this.nextTerminalOccurrence && + !this.found + ) { + let i = r.concat(n), + a = new Sn({ definition: i }); + (this.possibleTokTypes = i0(a)), (this.found = !0); + } + } + }), + (eg = class extends Pu { + static { + o(this, 'AbstractNextTerminalAfterProductionWalker'); + } + constructor(e, r) { + super(), + (this.topRule = e), + (this.occurrence = r), + (this.result = { + token: void 0, + occurrence: void 0, + isEndOfRule: void 0 + }); + } + startWalking() { + return this.walk(this.topRule), this.result; + } + }), + (HT = class extends eg { + static { + o(this, 'NextTerminalAfterManyWalker'); + } + walkMany(e, r, n) { + if (e.idx === this.occurrence) { + let i = na(r.concat(n)); + (this.result.isEndOfRule = i === void 0), + i instanceof fr && + ((this.result.token = i.terminalType), (this.result.occurrence = i.idx)); + } else super.walkMany(e, r, n); + } + }), + (o2 = class extends eg { + static { + o(this, 'NextTerminalAfterManySepWalker'); + } + walkManySep(e, r, n) { + if (e.idx === this.occurrence) { + let i = na(r.concat(n)); + (this.result.isEndOfRule = i === void 0), + i instanceof fr && + ((this.result.token = i.terminalType), (this.result.occurrence = i.idx)); + } else super.walkManySep(e, r, n); + } + }), + (YT = class extends eg { + static { + o(this, 'NextTerminalAfterAtLeastOneWalker'); + } + walkAtLeastOne(e, r, n) { + if (e.idx === this.occurrence) { + let i = na(r.concat(n)); + (this.result.isEndOfRule = i === void 0), + i instanceof fr && + ((this.result.token = i.terminalType), (this.result.occurrence = i.idx)); + } else super.walkAtLeastOne(e, r, n); + } + }), + (l2 = class extends eg { + static { + o(this, 'NextTerminalAfterAtLeastOneSepWalker'); + } + walkAtLeastOneSep(e, r, n) { + if (e.idx === this.occurrence) { + let i = na(r.concat(n)); + (this.result.isEndOfRule = i === void 0), + i instanceof fr && + ((this.result.token = i.terminalType), (this.result.occurrence = i.idx)); + } else super.walkAtLeastOneSep(e, r, n); + } + }); + o(WT, 'possiblePathsFrom'); + o(qT, 'nextPossibleTokensAfter'); + o(SIe, 'expandTopLevelRule'); + }); + function u2(t) { + if (t instanceof Jr || t === 'Option') return $n.OPTION; + if (t instanceof br || t === 'Repetition') return $n.REPETITION; + if (t instanceof An || t === 'RepetitionMandatory') return $n.REPETITION_MANDATORY; + if (t instanceof _n || t === 'RepetitionMandatoryWithSeparator') return $n.REPETITION_MANDATORY_WITH_SEPARATOR; + if (t instanceof mn || t === 'RepetitionWithSeparator') return $n.REPETITION_WITH_SEPARATOR; + if (t instanceof gn || t === 'Alternation') return $n.ALTERNATION; + throw Error('non exhaustive match'); + } + function jT(t) { + let { occurrence: e, rule: r, prodType: n, maxLookahead: i } = t, + a = u2(n); + return a === $n.ALTERNATION ? tg(e, r, i) : rg(e, r, a, i); + } + function Uie(t, e, r, n, i, a) { + let s = tg(t, e, r), + l = jie(s) ? Zm : Bu; + return a(s, n, l, i); + } + function Hie(t, e, r, n, i, a) { + let s = rg(t, e, i, r), + l = jie(s) ? Zm : Bu; + return a(s[0], l, n); + } + function Yie(t, e, r, n) { + let i = t.length, + a = Ia(t, (s) => Ia(s, (l) => l.length === 1)); + if (e) + return function (s) { + let l = qe(s, (u) => u.GATE); + for (let u = 0; u < i; u++) { + let h = t[u], + f = h.length, + d = l[u]; + if (!(d !== void 0 && d.call(this) === !1)) + e: for (let p = 0; p < f; p++) { + let m = h[p], + g = m.length; + for (let y = 0; y < g; y++) { + let v = this.LA(y + 1); + if (r(v, m[y]) === !1) continue e; + } + return u; + } + } + }; + if (a && !n) { + let s = qe(t, (u) => Gr(u)), + l = Vr( + s, + (u, h, f) => ( + Ee(h, (d) => { + Xe(u, d.tokenTypeIdx) || (u[d.tokenTypeIdx] = f), + Ee(d.categoryMatches, (p) => { + Xe(u, p) || (u[p] = f); + }); + }), + u + ), + {} + ); + return function () { + let u = this.LA(1); + return l[u.tokenTypeIdx]; + }; + } else + return function () { + for (let s = 0; s < i; s++) { + let l = t[s], + u = l.length; + e: for (let h = 0; h < u; h++) { + let f = l[h], + d = f.length; + for (let p = 0; p < d; p++) { + let m = this.LA(p + 1); + if (r(m, f[p]) === !1) continue e; + } + return s; + } + } + }; + } + function Wie(t, e, r) { + let n = Ia(t, (a) => a.length === 1), + i = t.length; + if (n && !r) { + let a = Gr(t); + if (a.length === 1 && Qt(a[0].categoryMatches)) { + let l = a[0].tokenTypeIdx; + return function () { + return this.LA(1).tokenTypeIdx === l; + }; + } else { + let s = Vr( + a, + (l, u, h) => ( + (l[u.tokenTypeIdx] = !0), + Ee(u.categoryMatches, (f) => { + l[f] = !0; + }), + l + ), + [] + ); + return function () { + let l = this.LA(1); + return s[l.tokenTypeIdx] === !0; + }; + } + } else + return function () { + e: for (let a = 0; a < i; a++) { + let s = t[a], + l = s.length; + for (let u = 0; u < l; u++) { + let h = this.LA(u + 1); + if (e(h, s[u]) === !1) continue e; + } + return !0; + } + return !1; + }; + } + function Vie(t) { + let e = new Array(t); + for (let r = 0; r < t; r++) e[r] = []; + return e; + } + function xN(t) { + let e = ['']; + for (let r = 0; r < t.length; r++) { + let n = t[r], + i = []; + for (let a = 0; a < e.length; a++) { + let s = e[a]; + i.push(s + '_' + n.tokenTypeIdx); + for (let l = 0; l < n.categoryMatches.length; l++) { + let u = '_' + n.categoryMatches[l]; + i.push(s + u); + } + } + e = i; + } + return e; + } + function AIe(t, e, r) { + for (let n = 0; n < t.length; n++) { + if (n === r) continue; + let i = t[n]; + for (let a = 0; a < e.length; a++) { + let s = e[a]; + if (i[s] === !0) return !1; + } + } + return !0; + } + function qie(t, e) { + let r = qe(t, (s) => WT([s], 1)), + n = Vie(r.length), + i = qe(r, (s) => { + let l = {}; + return ( + Ee(s, (u) => { + let h = xN(u.partialPath); + Ee(h, (f) => { + l[f] = !0; + }); + }), + l + ); + }), + a = r; + for (let s = 1; s <= e; s++) { + let l = a; + a = Vie(l.length); + for (let u = 0; u < l.length; u++) { + let h = l[u]; + for (let f = 0; f < h.length; f++) { + let d = h[f].partialPath, + p = h[f].suffixDef, + m = xN(d); + if (AIe(i, m, u) || Qt(p) || d.length === e) { + let y = n[u]; + if (KT(y, d) === !1) { + y.push(d); + for (let v = 0; v < m.length; v++) { + let x = m[v]; + i[u][x] = !0; + } + } + } else { + let y = WT(p, s + 1, d); + (a[u] = a[u].concat(y)), + Ee(y, (v) => { + let x = xN(v.partialPath); + Ee(x, (b) => { + i[u][b] = !0; + }); + }); + } + } + } + } + return n; + } + function tg(t, e, r, n) { + let i = new XT(t, $n.ALTERNATION, n); + return e.accept(i), qie(i.result, r); + } + function rg(t, e, r, n) { + let i = new XT(t, r); + e.accept(i); + let a = i.result, + l = new bN(e, t, r).startWalking(), + u = new Sn({ definition: a }), + h = new Sn({ definition: l }); + return qie([u, h], n); + } + function KT(t, e) { + e: for (let r = 0; r < t.length; r++) { + let n = t[r]; + if (n.length === e.length) { + for (let i = 0; i < n.length; i++) { + let a = e[i], + s = n[i]; + if ((a === s || s.categoryMatchesMap[a.tokenTypeIdx] !== void 0) === !1) continue e; + } + return !0; + } + } + return !1; + } + function Xie(t, e) { + return ( + t.length < e.length && + Ia(t, (r, n) => { + let i = e[n]; + return r === i || i.categoryMatchesMap[r.tokenTypeIdx]; + }) + ); + } + function jie(t) { + return Ia(t, (e) => Ia(e, (r) => Ia(r, (n) => Qt(n.categoryMatches)))); + } + var $n, + bN, + XT, + ng = R(() => { + 'use strict'; + Pt(); + c2(); + IT(); + s0(); + ns(); + (function (t) { + (t[(t.OPTION = 0)] = 'OPTION'), + (t[(t.REPETITION = 1)] = 'REPETITION'), + (t[(t.REPETITION_MANDATORY = 2)] = 'REPETITION_MANDATORY'), + (t[(t.REPETITION_MANDATORY_WITH_SEPARATOR = 3)] = 'REPETITION_MANDATORY_WITH_SEPARATOR'), + (t[(t.REPETITION_WITH_SEPARATOR = 4)] = 'REPETITION_WITH_SEPARATOR'), + (t[(t.ALTERNATION = 5)] = 'ALTERNATION'); + })($n || ($n = {})); + o(u2, 'getProdType'); + o(jT, 'getLookaheadPaths'); + o(Uie, 'buildLookaheadFuncForOr'); + o(Hie, 'buildLookaheadFuncForOptionalProd'); + o(Yie, 'buildAlternativesLookAheadFunc'); + o(Wie, 'buildSingleAlternativeLookaheadFunction'); + (bN = class extends Pu { + static { + o(this, 'RestDefinitionFinderWalker'); + } + constructor(e, r, n) { + super(), (this.topProd = e), (this.targetOccurrence = r), (this.targetProdType = n); + } + startWalking() { + return this.walk(this.topProd), this.restDef; + } + checkIsTarget(e, r, n, i) { + return e.idx === this.targetOccurrence && this.targetProdType === r + ? ((this.restDef = n.concat(i)), !0) + : !1; + } + walkOption(e, r, n) { + this.checkIsTarget(e, $n.OPTION, r, n) || super.walkOption(e, r, n); + } + walkAtLeastOne(e, r, n) { + this.checkIsTarget(e, $n.REPETITION_MANDATORY, r, n) || super.walkOption(e, r, n); + } + walkAtLeastOneSep(e, r, n) { + this.checkIsTarget(e, $n.REPETITION_MANDATORY_WITH_SEPARATOR, r, n) || super.walkOption(e, r, n); + } + walkMany(e, r, n) { + this.checkIsTarget(e, $n.REPETITION, r, n) || super.walkOption(e, r, n); + } + walkManySep(e, r, n) { + this.checkIsTarget(e, $n.REPETITION_WITH_SEPARATOR, r, n) || super.walkOption(e, r, n); + } + }), + (XT = class extends rs { + static { + o(this, 'InsideDefinitionFinderVisitor'); + } + constructor(e, r, n) { + super(), + (this.targetOccurrence = e), + (this.targetProdType = r), + (this.targetRef = n), + (this.result = []); + } + checkIsTarget(e, r) { + e.idx === this.targetOccurrence && + this.targetProdType === r && + (this.targetRef === void 0 || e === this.targetRef) && + (this.result = e.definition); + } + visitOption(e) { + this.checkIsTarget(e, $n.OPTION); + } + visitRepetition(e) { + this.checkIsTarget(e, $n.REPETITION); + } + visitRepetitionMandatory(e) { + this.checkIsTarget(e, $n.REPETITION_MANDATORY); + } + visitRepetitionMandatoryWithSeparator(e) { + this.checkIsTarget(e, $n.REPETITION_MANDATORY_WITH_SEPARATOR); + } + visitRepetitionWithSeparator(e) { + this.checkIsTarget(e, $n.REPETITION_WITH_SEPARATOR); + } + visitAlternation(e) { + this.checkIsTarget(e, $n.ALTERNATION); + } + }); + o(Vie, 'initializeArrayOfArrays'); + o(xN, 'pathToHashKeys'); + o(AIe, 'isUniquePrefixHash'); + o(qie, 'lookAheadSequenceFromAlternatives'); + o(tg, 'getLookaheadPathsForOr'); + o(rg, 'getLookaheadPathsForOptionalProd'); + o(KT, 'containsPath'); + o(Xie, 'isStrictPrefixOfPath'); + o(jie, 'areTokenCategoriesNotUsed'); + }); + function Kie(t) { + let e = t.lookaheadStrategy.validate({ + rules: t.rules, + tokenTypes: t.tokenTypes, + grammarName: t.grammarName + }); + return qe(e, (r) => Object.assign({ type: Pi.CUSTOM_LOOKAHEAD_VALIDATION }, r)); + } + function Qie(t, e, r, n) { + let i = ga(t, (u) => _Ie(u, r)), + a = IIe(t, e, r), + s = ga(t, (u) => RIe(u, r)), + l = ga(t, (u) => DIe(u, t, n, r)); + return i.concat(a, s, l); + } + function _Ie(t, e) { + let r = new wN(); + t.accept(r); + let n = r.allProductions, + i = IL(n, LIe), + a = Ls(i, (l) => l.length > 1); + return qe(or(a), (l) => { + let u = na(l), + h = e.buildDuplicateFoundError(t, l), + f = Rs(u), + d = { + message: h, + type: Pi.DUPLICATE_PRODUCTIONS, + ruleName: t.name, + dslName: f, + occurrence: u.idx + }, + p = Zie(u); + return p && (d.parameter = p), d; + }); + } + function LIe(t) { + return `${Rs(t)}_#_${t.idx}_#_${Zie(t)}`; + } + function Zie(t) { + return t instanceof fr ? t.terminalType.name : t instanceof Zr ? t.nonTerminalName : ''; + } + function DIe(t, e, r, n) { + let i = []; + if (Vr(e, (s, l) => (l.name === t.name ? s + 1 : s), 0) > 1) { + let s = n.buildDuplicateRuleNameError({ + topLevelRule: t, + grammarName: r + }); + i.push({ message: s, type: Pi.DUPLICATE_RULE_NAME, ruleName: t.name }); + } + return i; + } + function Jie(t, e, r) { + let n = [], + i; + return ( + Fn(e, t) || + ((i = `Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `), + n.push({ message: i, type: Pi.INVALID_RULE_OVERRIDE, ruleName: t })), + n + ); + } + function kN(t, e, r, n = []) { + let i = [], + a = QT(e.definition); + if (Qt(a)) return []; + { + let s = t.name; + Fn(a, t) && + i.push({ + message: r.buildLeftRecursionError({ + topLevelRule: t, + leftRecursionPath: n + }), + type: Pi.LEFT_RECURSION, + ruleName: s + }); + let u = jh(a, n.concat([t])), + h = ga(u, (f) => { + let d = Qr(n); + return d.push(f), kN(t, f, r, d); + }); + return i.concat(h); + } + } + function QT(t) { + let e = []; + if (Qt(t)) return e; + let r = na(t); + if (r instanceof Zr) e.push(r.referencedRule); + else if ( + r instanceof Sn || + r instanceof Jr || + r instanceof An || + r instanceof _n || + r instanceof mn || + r instanceof br + ) + e = e.concat(QT(r.definition)); + else if (r instanceof gn) e = Gr(qe(r.definition, (a) => QT(a.definition))); + else if (!(r instanceof fr)) throw Error('non exhaustive match'); + let n = n0(r), + i = t.length > 1; + if (n && i) { + let a = fi(t); + return e.concat(QT(a)); + } else return e; + } + function eae(t, e) { + let r = new h2(); + t.accept(r); + let n = r.alternations; + return ga(n, (a) => { + let s = Ru(a.definition); + return ga(s, (l, u) => { + let h = qT([l], [], Bu, 1); + return Qt(h) + ? [ + { + message: e.buildEmptyAlternationError({ + topLevelRule: t, + alternation: a, + emptyChoiceIdx: u + }), + type: Pi.NONE_LAST_EMPTY_ALT, + ruleName: t.name, + occurrence: a.idx, + alternative: u + 1 + } + ] + : []; + }); + }); + } + function tae(t, e, r) { + let n = new h2(); + t.accept(n); + let i = n.alternations; + return ( + (i = Kh(i, (s) => s.ignoreAmbiguities === !0)), + ga(i, (s) => { + let l = s.idx, + u = s.maxLookahead || e, + h = tg(l, t, u, s), + f = NIe(h, s, t, r), + d = MIe(h, s, t, r); + return f.concat(d); + }) + ); + } + function RIe(t, e) { + let r = new h2(); + t.accept(r); + let n = r.alternations; + return ga(n, (a) => + a.definition.length > 255 + ? [ + { + message: e.buildTooManyAlternativesError({ + topLevelRule: t, + alternation: a + }), + type: Pi.TOO_MANY_ALTS, + ruleName: t.name, + occurrence: a.idx + } + ] + : [] + ); + } + function rae(t, e, r) { + let n = []; + return ( + Ee(t, (i) => { + let a = new TN(); + i.accept(a); + let s = a.allProductions; + Ee(s, (l) => { + let u = u2(l), + h = l.maxLookahead || e, + f = l.idx, + p = rg(f, i, u, h)[0]; + if (Qt(Gr(p))) { + let m = r.buildEmptyRepetitionError({ + topLevelRule: i, + repetition: l + }); + n.push({ + message: m, + type: Pi.NO_NON_EMPTY_LOOKAHEAD, + ruleName: i.name + }); + } + }); + }), + n + ); + } + function NIe(t, e, r, n) { + let i = [], + a = Vr( + t, + (l, u, h) => ( + e.definition[h].ignoreAmbiguities === !0 || + Ee(u, (f) => { + let d = [h]; + Ee(t, (p, m) => { + h !== m && KT(p, f) && e.definition[m].ignoreAmbiguities !== !0 && d.push(m); + }), + d.length > 1 && !KT(i, f) && (i.push(f), l.push({ alts: d, path: f })); + }), + l + ), + [] + ); + return qe(a, (l) => { + let u = qe(l.alts, (f) => f + 1); + return { + message: n.buildAlternationAmbiguityError({ + topLevelRule: r, + alternation: e, + ambiguityIndices: u, + prefixPath: l.path + }), + type: Pi.AMBIGUOUS_ALTS, + ruleName: r.name, + occurrence: e.idx, + alternatives: l.alts + }; + }); + } + function MIe(t, e, r, n) { + let i = Vr( + t, + (s, l, u) => { + let h = qe(l, (f) => ({ idx: u, path: f })); + return s.concat(h); + }, + [] + ); + return wc( + ga(i, (s) => { + if (e.definition[s.idx].ignoreAmbiguities === !0) return []; + let u = s.idx, + h = s.path, + f = $r(i, (p) => e.definition[p.idx].ignoreAmbiguities !== !0 && p.idx < u && Xie(p.path, h)); + return qe(f, (p) => { + let m = [p.idx + 1, u + 1], + g = e.idx === 0 ? '' : e.idx; + return { + message: n.buildAlternationPrefixAmbiguityError({ + topLevelRule: r, + alternation: e, + ambiguityIndices: m, + prefixPath: p.path + }), + type: Pi.AMBIGUOUS_PREFIX_ALTS, + ruleName: r.name, + occurrence: g, + alternatives: m + }; + }); + }) + ); + } + function IIe(t, e, r) { + let n = [], + i = qe(e, (a) => a.name); + return ( + Ee(t, (a) => { + let s = a.name; + if (Fn(i, s)) { + let l = r.buildNamespaceConflictError(a); + n.push({ + message: l, + type: Pi.CONFLICT_TOKENS_RULES_NAMESPACE, + ruleName: s + }); + } + }), + n + ); + } + var wN, + h2, + TN, + f2 = R(() => { + 'use strict'; + Pt(); + Ns(); + ns(); + ng(); + c2(); + s0(); + o(Kie, 'validateLookahead'); + o(Qie, 'validateGrammar'); + o(_Ie, 'validateDuplicateProductions'); + o(LIe, 'identifyProductionForDuplicates'); + o(Zie, 'getExtraProductionArgument'); + wN = class extends rs { + static { + o(this, 'OccurrenceValidationCollector'); + } + constructor() { + super(...arguments), (this.allProductions = []); + } + visitNonTerminal(e) { + this.allProductions.push(e); + } + visitOption(e) { + this.allProductions.push(e); + } + visitRepetitionWithSeparator(e) { + this.allProductions.push(e); + } + visitRepetitionMandatory(e) { + this.allProductions.push(e); + } + visitRepetitionMandatoryWithSeparator(e) { + this.allProductions.push(e); + } + visitRepetition(e) { + this.allProductions.push(e); + } + visitAlternation(e) { + this.allProductions.push(e); + } + visitTerminal(e) { + this.allProductions.push(e); + } + }; + o(DIe, 'validateRuleDoesNotAlreadyExist'); + o(Jie, 'validateRuleIsOverridden'); + o(kN, 'validateNoLeftRecursion'); + o(QT, 'getFirstNoneTerminal'); + h2 = class extends rs { + static { + o(this, 'OrCollector'); + } + constructor() { + super(...arguments), (this.alternations = []); + } + visitAlternation(e) { + this.alternations.push(e); + } + }; + o(eae, 'validateEmptyOrAlternative'); + o(tae, 'validateAmbiguousAlternationAlternatives'); + TN = class extends rs { + static { + o(this, 'RepetitionCollector'); + } + constructor() { + super(...arguments), (this.allProductions = []); + } + visitRepetitionWithSeparator(e) { + this.allProductions.push(e); + } + visitRepetitionMandatory(e) { + this.allProductions.push(e); + } + visitRepetitionMandatoryWithSeparator(e) { + this.allProductions.push(e); + } + visitRepetition(e) { + this.allProductions.push(e); + } + }; + o(RIe, 'validateTooManyAlts'); + o(rae, 'validateSomeNonEmptyLookaheadPath'); + o(NIe, 'checkAlternativesAmbiguities'); + o(MIe, 'checkPrefixAlternativesAmbiguities'); + o(IIe, 'checkTerminalAndNoneTerminalsNameSpace'); + }); + function nae(t) { + let e = Xh(t, { errMsgProvider: zie }), + r = {}; + return ( + Ee(t.rules, (n) => { + r[n.name] = n; + }), + Gie(r, e.errMsgProvider) + ); + } + function iae(t) { + return (t = Xh(t, { errMsgProvider: Ol })), Qie(t.rules, t.tokenTypes, t.errMsgProvider, t.grammarName); + } + var aae = R(() => { + 'use strict'; + Pt(); + $ie(); + f2(); + Jm(); + o(nae, 'resolveGrammar'); + o(iae, 'validateGrammar'); + }); + function nf(t) { + return Fn(uae, t.name); + } + var sae, + oae, + lae, + cae, + uae, + ig, + c0, + d2, + p2, + m2, + ag = R(() => { + 'use strict'; + Pt(); + (sae = 'MismatchedTokenException'), + (oae = 'NoViableAltException'), + (lae = 'EarlyExitException'), + (cae = 'NotAllInputParsedException'), + (uae = [sae, oae, lae, cae]); + Object.freeze(uae); + o(nf, 'isRecognitionException'); + (ig = class extends Error { + static { + o(this, 'RecognitionException'); + } + constructor(e, r) { + super(e), + (this.token = r), + (this.resyncedTokens = []), + Object.setPrototypeOf(this, new.target.prototype), + Error.captureStackTrace && Error.captureStackTrace(this, this.constructor); + } + }), + (c0 = class extends ig { + static { + o(this, 'MismatchedTokenException'); + } + constructor(e, r, n) { + super(e, r), (this.previousToken = n), (this.name = sae); + } + }), + (d2 = class extends ig { + static { + o(this, 'NoViableAltException'); + } + constructor(e, r, n) { + super(e, r), (this.previousToken = n), (this.name = oae); + } + }), + (p2 = class extends ig { + static { + o(this, 'NotAllInputParsedException'); + } + constructor(e, r) { + super(e, r), (this.name = cae); + } + }), + (m2 = class extends ig { + static { + o(this, 'EarlyExitException'); + } + constructor(e, r, n) { + super(e, r), (this.previousToken = n), (this.name = lae); + } + }); + }); + function OIe(t, e, r, n, i, a, s) { + let l = this.getKeyForAutomaticLookahead(n, i), + u = this.firstAfterRepMap[l]; + if (u === void 0) { + let p = this.getCurrRuleFullName(), + m = this.getGAstProductions()[p]; + (u = new a(m, i).startWalking()), (this.firstAfterRepMap[l] = u); + } + let h = u.token, + f = u.occurrence, + d = u.isEndOfRule; + this.RULE_STACK.length === 1 && d && h === void 0 && ((h = fo), (f = 1)), + !(h === void 0 || f === void 0) && + this.shouldInRepetitionRecoveryBeTried(h, f, s) && + this.tryInRepetitionRecovery(t, e, r, h); + } + var EN, + SN, + CN, + ZT, + AN = R(() => { + 'use strict'; + l0(); + Pt(); + ag(); + aN(); + Ns(); + (EN = {}), + (SN = 'InRuleRecoveryException'), + (CN = class extends Error { + static { + o(this, 'InRuleRecoveryException'); + } + constructor(e) { + super(e), (this.name = SN); + } + }), + (ZT = class { + static { + o(this, 'Recoverable'); + } + initRecoverable(e) { + (this.firstAfterRepMap = {}), + (this.resyncFollows = {}), + (this.recoveryEnabled = Xe(e, 'recoveryEnabled') ? e.recoveryEnabled : is.recoveryEnabled), + this.recoveryEnabled && (this.attemptInRepetitionRecovery = OIe); + } + getTokenToInsert(e) { + let r = o0(e, '', NaN, NaN, NaN, NaN, NaN, NaN); + return (r.isInsertedInRecovery = !0), r; + } + canTokenTypeBeInsertedInRecovery(e) { + return !0; + } + canTokenTypeBeDeletedInRecovery(e) { + return !0; + } + tryInRepetitionRecovery(e, r, n, i) { + let a = this.findReSyncTokenType(), + s = this.exportLexerState(), + l = [], + u = !1, + h = this.LA(1), + f = this.LA(1), + d = o(() => { + let p = this.LA(0), + m = this.errorMessageProvider.buildMismatchTokenMessage({ + expected: i, + actual: h, + previous: p, + ruleName: this.getCurrRuleFullName() + }), + g = new c0(m, h, this.LA(0)); + (g.resyncedTokens = Ru(l)), this.SAVE_ERROR(g); + }, 'generateErrorMessage'); + for (; !u; ) + if (this.tokenMatcher(f, i)) { + d(); + return; + } else if (n.call(this)) { + d(), e.apply(this, r); + return; + } else + this.tokenMatcher(f, a) + ? (u = !0) + : ((f = this.SKIP_TOKEN()), this.addToResyncTokens(f, l)); + this.importLexerState(s); + } + shouldInRepetitionRecoveryBeTried(e, r, n) { + return !( + n === !1 || + this.tokenMatcher(this.LA(1), e) || + this.isBackTracking() || + this.canPerformInRuleRecovery(e, this.getFollowsForInRuleRecovery(e, r)) + ); + } + getFollowsForInRuleRecovery(e, r) { + let n = this.getCurrentGrammarPath(e, r); + return this.getNextPossibleTokenTypes(n); + } + tryInRuleRecovery(e, r) { + if (this.canRecoverWithSingleTokenInsertion(e, r)) return this.getTokenToInsert(e); + if (this.canRecoverWithSingleTokenDeletion(e)) { + let n = this.SKIP_TOKEN(); + return this.consumeToken(), n; + } + throw new CN('sad sad panda'); + } + canPerformInRuleRecovery(e, r) { + return ( + this.canRecoverWithSingleTokenInsertion(e, r) || this.canRecoverWithSingleTokenDeletion(e) + ); + } + canRecoverWithSingleTokenInsertion(e, r) { + if (!this.canTokenTypeBeInsertedInRecovery(e) || Qt(r)) return !1; + let n = this.LA(1); + return Za(r, (a) => this.tokenMatcher(n, a)) !== void 0; + } + canRecoverWithSingleTokenDeletion(e) { + return this.canTokenTypeBeDeletedInRecovery(e) ? this.tokenMatcher(this.LA(2), e) : !1; + } + isInCurrentRuleReSyncSet(e) { + let r = this.getCurrFollowKey(), + n = this.getFollowSetFromFollowKey(r); + return Fn(n, e); + } + findReSyncTokenType() { + let e = this.flattenFollowSet(), + r = this.LA(1), + n = 2; + for (;;) { + let i = Za(e, (a) => s2(r, a)); + if (i !== void 0) return i; + (r = this.LA(n)), n++; + } + } + getCurrFollowKey() { + if (this.RULE_STACK.length === 1) return EN; + let e = this.getLastExplicitRuleShortName(), + r = this.getLastExplicitRuleOccurrenceIndex(), + n = this.getPreviousExplicitRuleShortName(); + return { + ruleName: this.shortRuleNameToFullName(e), + idxInCallingRule: r, + inRule: this.shortRuleNameToFullName(n) + }; + } + buildFullFollowKeyStack() { + let e = this.RULE_STACK, + r = this.RULE_OCCURRENCE_STACK; + return qe(e, (n, i) => + i === 0 + ? EN + : { + ruleName: this.shortRuleNameToFullName(n), + idxInCallingRule: r[i], + inRule: this.shortRuleNameToFullName(e[i - 1]) + } + ); + } + flattenFollowSet() { + let e = qe(this.buildFullFollowKeyStack(), (r) => this.getFollowSetFromFollowKey(r)); + return Gr(e); + } + getFollowSetFromFollowKey(e) { + if (e === EN) return [fo]; + let r = e.ruleName + e.idxInCallingRule + OT + e.inRule; + return this.resyncFollows[r]; + } + addToResyncTokens(e, r) { + return this.tokenMatcher(e, fo) || r.push(e), r; + } + reSyncTo(e) { + let r = [], + n = this.LA(1); + for (; this.tokenMatcher(n, e) === !1; ) (n = this.SKIP_TOKEN()), this.addToResyncTokens(n, r); + return Ru(r); + } + attemptInRepetitionRecovery(e, r, n, i, a, s, l) {} + getCurrentGrammarPath(e, r) { + let n = this.getHumanReadableRuleStack(), + i = Qr(this.RULE_OCCURRENCE_STACK); + return { + ruleStack: n, + occurrenceStack: i, + lastTok: e, + lastTokOccurrence: r + }; + } + getHumanReadableRuleStack() { + return qe(this.RULE_STACK, (e) => this.shortRuleNameToFullName(e)); + } + }); + o(OIe, 'attemptInRepetitionRecovery'); + }); + function JT(t, e, r) { + return r | e | t; + } + var ek = R(() => { + 'use strict'; + o(JT, 'getKeyForAutomaticLookahead'); + }); + var $u, + _N = R(() => { + 'use strict'; + Pt(); + Jm(); + Ns(); + f2(); + ng(); + $u = class { + static { + o(this, 'LLkLookaheadStrategy'); + } + constructor(e) { + var r; + this.maxLookahead = (r = e?.maxLookahead) !== null && r !== void 0 ? r : is.maxLookahead; + } + validate(e) { + let r = this.validateNoLeftRecursion(e.rules); + if (Qt(r)) { + let n = this.validateEmptyOrAlternatives(e.rules), + i = this.validateAmbiguousAlternationAlternatives(e.rules, this.maxLookahead), + a = this.validateSomeNonEmptyLookaheadPath(e.rules, this.maxLookahead); + return [...r, ...n, ...i, ...a]; + } + return r; + } + validateNoLeftRecursion(e) { + return ga(e, (r) => kN(r, r, Ol)); + } + validateEmptyOrAlternatives(e) { + return ga(e, (r) => eae(r, Ol)); + } + validateAmbiguousAlternationAlternatives(e, r) { + return ga(e, (n) => tae(n, r, Ol)); + } + validateSomeNonEmptyLookaheadPath(e, r) { + return rae(e, r, Ol); + } + buildLookaheadForAlternation(e) { + return Uie(e.prodOccurrence, e.rule, e.maxLookahead, e.hasPredicates, e.dynamicTokensEnabled, Yie); + } + buildLookaheadForOptional(e) { + return Hie(e.prodOccurrence, e.rule, e.maxLookahead, e.dynamicTokensEnabled, u2(e.prodType), Wie); + } + }; + }); + function PIe(t) { + tk.reset(), t.accept(tk); + let e = tk.dslMethods; + return tk.reset(), e; + } + var rk, + LN, + tk, + hae = R(() => { + 'use strict'; + Pt(); + Ns(); + ek(); + ns(); + _N(); + (rk = class { + static { + o(this, 'LooksAhead'); + } + initLooksAhead(e) { + (this.dynamicTokensEnabled = Xe(e, 'dynamicTokensEnabled') + ? e.dynamicTokensEnabled + : is.dynamicTokensEnabled), + (this.maxLookahead = Xe(e, 'maxLookahead') ? e.maxLookahead : is.maxLookahead), + (this.lookaheadStrategy = Xe(e, 'lookaheadStrategy') + ? e.lookaheadStrategy + : new $u({ maxLookahead: this.maxLookahead })), + (this.lookAheadFuncsCache = new Map()); + } + preComputeLookaheadFunctions(e) { + Ee(e, (r) => { + this.TRACE_INIT(`${r.name} Rule Lookahead`, () => { + let { + alternation: n, + repetition: i, + option: a, + repetitionMandatory: s, + repetitionMandatoryWithSeparator: l, + repetitionWithSeparator: u + } = PIe(r); + Ee(n, (h) => { + let f = h.idx === 0 ? '' : h.idx; + this.TRACE_INIT(`${Rs(h)}${f}`, () => { + let d = this.lookaheadStrategy.buildLookaheadForAlternation({ + prodOccurrence: h.idx, + rule: r, + maxLookahead: h.maxLookahead || this.maxLookahead, + hasPredicates: h.hasPredicates, + dynamicTokensEnabled: this.dynamicTokensEnabled + }), + p = JT(this.fullRuleNameToShort[r.name], 256, h.idx); + this.setLaFuncCache(p, d); + }); + }), + Ee(i, (h) => { + this.computeLookaheadFunc(r, h.idx, 768, 'Repetition', h.maxLookahead, Rs(h)); + }), + Ee(a, (h) => { + this.computeLookaheadFunc(r, h.idx, 512, 'Option', h.maxLookahead, Rs(h)); + }), + Ee(s, (h) => { + this.computeLookaheadFunc( + r, + h.idx, + 1024, + 'RepetitionMandatory', + h.maxLookahead, + Rs(h) + ); + }), + Ee(l, (h) => { + this.computeLookaheadFunc( + r, + h.idx, + 1536, + 'RepetitionMandatoryWithSeparator', + h.maxLookahead, + Rs(h) + ); + }), + Ee(u, (h) => { + this.computeLookaheadFunc( + r, + h.idx, + 1280, + 'RepetitionWithSeparator', + h.maxLookahead, + Rs(h) + ); + }); + }); + }); + } + computeLookaheadFunc(e, r, n, i, a, s) { + this.TRACE_INIT(`${s}${r === 0 ? '' : r}`, () => { + let l = this.lookaheadStrategy.buildLookaheadForOptional({ + prodOccurrence: r, + rule: e, + maxLookahead: a || this.maxLookahead, + dynamicTokensEnabled: this.dynamicTokensEnabled, + prodType: i + }), + u = JT(this.fullRuleNameToShort[e.name], n, r); + this.setLaFuncCache(u, l); + }); + } + getKeyForAutomaticLookahead(e, r) { + let n = this.getLastExplicitRuleShortName(); + return JT(n, e, r); + } + getLaFuncFromCache(e) { + return this.lookAheadFuncsCache.get(e); + } + setLaFuncCache(e, r) { + this.lookAheadFuncsCache.set(e, r); + } + }), + (LN = class extends rs { + static { + o(this, 'DslMethodsCollectorVisitor'); + } + constructor() { + super(...arguments), + (this.dslMethods = { + option: [], + alternation: [], + repetition: [], + repetitionWithSeparator: [], + repetitionMandatory: [], + repetitionMandatoryWithSeparator: [] + }); + } + reset() { + this.dslMethods = { + option: [], + alternation: [], + repetition: [], + repetitionWithSeparator: [], + repetitionMandatory: [], + repetitionMandatoryWithSeparator: [] + }; + } + visitOption(e) { + this.dslMethods.option.push(e); + } + visitRepetitionWithSeparator(e) { + this.dslMethods.repetitionWithSeparator.push(e); + } + visitRepetitionMandatory(e) { + this.dslMethods.repetitionMandatory.push(e); + } + visitRepetitionMandatoryWithSeparator(e) { + this.dslMethods.repetitionMandatoryWithSeparator.push(e); + } + visitRepetition(e) { + this.dslMethods.repetition.push(e); + } + visitAlternation(e) { + this.dslMethods.alternation.push(e); + } + }), + (tk = new LN()); + o(PIe, 'collectMethods'); + }); + function NN(t, e) { + isNaN(t.startOffset) === !0 + ? ((t.startOffset = e.startOffset), (t.endOffset = e.endOffset)) + : t.endOffset < e.endOffset && (t.endOffset = e.endOffset); + } + function MN(t, e) { + isNaN(t.startOffset) === !0 + ? ((t.startOffset = e.startOffset), + (t.startColumn = e.startColumn), + (t.startLine = e.startLine), + (t.endOffset = e.endOffset), + (t.endColumn = e.endColumn), + (t.endLine = e.endLine)) + : t.endOffset < e.endOffset && + ((t.endOffset = e.endOffset), (t.endColumn = e.endColumn), (t.endLine = e.endLine)); + } + function fae(t, e, r) { + t.children[r] === void 0 ? (t.children[r] = [e]) : t.children[r].push(e); + } + function dae(t, e, r) { + t.children[e] === void 0 ? (t.children[e] = [r]) : t.children[e].push(r); + } + var pae = R(() => { + 'use strict'; + o(NN, 'setNodeLocationOnlyOffset'); + o(MN, 'setNodeLocationFull'); + o(fae, 'addTerminalToCst'); + o(dae, 'addNoneTerminalToCst'); + }); + function IN(t, e) { + Object.defineProperty(t, BIe, { + enumerable: !1, + configurable: !0, + writable: !1, + value: e + }); + } + var BIe, + mae = R(() => { + 'use strict'; + BIe = 'name'; + o(IN, 'defineNameProp'); + }); + function FIe(t, e) { + let r = Dr(t), + n = r.length; + for (let i = 0; i < n; i++) { + let a = r[i], + s = t[a], + l = s.length; + for (let u = 0; u < l; u++) { + let h = s[u]; + h.tokenTypeIdx === void 0 && this[h.name](h.children, e); + } + } + } + function gae(t, e) { + let r = o(function () {}, 'derivedConstructor'); + IN(r, t + 'BaseSemantics'); + let n = { + visit: o(function (i, a) { + if ((wt(i) && (i = i[0]), !er(i))) return this[i.name](i.children, a); + }, 'visit'), + validateVisitor: o(function () { + let i = zIe(this, e); + if (!Qt(i)) { + let a = qe(i, (s) => s.msg); + throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>: + ${a + .join( + ` + +` + ) + .replace( + /\n/g, + ` + ` + )}`); + } + }, 'validateVisitor') + }; + return (r.prototype = n), (r.prototype.constructor = r), (r._RULE_NAMES = e), r; + } + function yae(t, e, r) { + let n = o(function () {}, 'derivedConstructor'); + IN(n, t + 'BaseSemanticsWithDefaults'); + let i = Object.create(r.prototype); + return ( + Ee(e, (a) => { + i[a] = FIe; + }), + (n.prototype = i), + (n.prototype.constructor = n), + n + ); + } + function zIe(t, e) { + return GIe(t, e); + } + function GIe(t, e) { + let r = $r(e, (i) => wi(t[i]) === !1), + n = qe(r, (i) => ({ + msg: `Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`, + type: ON.MISSING_METHOD, + methodName: i + })); + return wc(n); + } + var ON, + vae = R(() => { + 'use strict'; + Pt(); + mae(); + o(FIe, 'defaultVisit'); + o(gae, 'createBaseSemanticVisitorConstructor'); + o(yae, 'createBaseVisitorConstructorWithDefaults'); + (function (t) { + (t[(t.REDUNDANT_METHOD = 0)] = 'REDUNDANT_METHOD'), (t[(t.MISSING_METHOD = 1)] = 'MISSING_METHOD'); + })(ON || (ON = {})); + o(zIe, 'validateVisitor'); + o(GIe, 'validateMissingCstMethods'); + }); + var sk, + xae = R(() => { + 'use strict'; + pae(); + Pt(); + vae(); + Ns(); + sk = class { + static { + o(this, 'TreeBuilder'); + } + initTreeBuilder(e) { + if ( + ((this.CST_STACK = []), + (this.outputCst = e.outputCst), + (this.nodeLocationTracking = Xe(e, 'nodeLocationTracking') + ? e.nodeLocationTracking + : is.nodeLocationTracking), + !this.outputCst) + ) + (this.cstInvocationStateUpdate = qn), + (this.cstFinallyStateUpdate = qn), + (this.cstPostTerminal = qn), + (this.cstPostNonTerminal = qn), + (this.cstPostRule = qn); + else if (/full/i.test(this.nodeLocationTracking)) + this.recoveryEnabled + ? ((this.setNodeLocationFromToken = MN), + (this.setNodeLocationFromNode = MN), + (this.cstPostRule = qn), + (this.setInitialNodeLocation = this.setInitialNodeLocationFullRecovery)) + : ((this.setNodeLocationFromToken = qn), + (this.setNodeLocationFromNode = qn), + (this.cstPostRule = this.cstPostRuleFull), + (this.setInitialNodeLocation = this.setInitialNodeLocationFullRegular)); + else if (/onlyOffset/i.test(this.nodeLocationTracking)) + this.recoveryEnabled + ? ((this.setNodeLocationFromToken = NN), + (this.setNodeLocationFromNode = NN), + (this.cstPostRule = qn), + (this.setInitialNodeLocation = this.setInitialNodeLocationOnlyOffsetRecovery)) + : ((this.setNodeLocationFromToken = qn), + (this.setNodeLocationFromNode = qn), + (this.cstPostRule = this.cstPostRuleOnlyOffset), + (this.setInitialNodeLocation = this.setInitialNodeLocationOnlyOffsetRegular)); + else if (/none/i.test(this.nodeLocationTracking)) + (this.setNodeLocationFromToken = qn), + (this.setNodeLocationFromNode = qn), + (this.cstPostRule = qn), + (this.setInitialNodeLocation = qn); + else throw Error(`Invalid config option: "${e.nodeLocationTracking}"`); + } + setInitialNodeLocationOnlyOffsetRecovery(e) { + e.location = { startOffset: NaN, endOffset: NaN }; + } + setInitialNodeLocationOnlyOffsetRegular(e) { + e.location = { startOffset: this.LA(1).startOffset, endOffset: NaN }; + } + setInitialNodeLocationFullRecovery(e) { + e.location = { + startOffset: NaN, + startLine: NaN, + startColumn: NaN, + endOffset: NaN, + endLine: NaN, + endColumn: NaN + }; + } + setInitialNodeLocationFullRegular(e) { + let r = this.LA(1); + e.location = { + startOffset: r.startOffset, + startLine: r.startLine, + startColumn: r.startColumn, + endOffset: NaN, + endLine: NaN, + endColumn: NaN + }; + } + cstInvocationStateUpdate(e) { + let r = { name: e, children: Object.create(null) }; + this.setInitialNodeLocation(r), this.CST_STACK.push(r); + } + cstFinallyStateUpdate() { + this.CST_STACK.pop(); + } + cstPostRuleFull(e) { + let r = this.LA(0), + n = e.location; + n.startOffset <= r.startOffset + ? ((n.endOffset = r.endOffset), (n.endLine = r.endLine), (n.endColumn = r.endColumn)) + : ((n.startOffset = NaN), (n.startLine = NaN), (n.startColumn = NaN)); + } + cstPostRuleOnlyOffset(e) { + let r = this.LA(0), + n = e.location; + n.startOffset <= r.startOffset ? (n.endOffset = r.endOffset) : (n.startOffset = NaN); + } + cstPostTerminal(e, r) { + let n = this.CST_STACK[this.CST_STACK.length - 1]; + fae(n, r, e), this.setNodeLocationFromToken(n.location, r); + } + cstPostNonTerminal(e, r) { + let n = this.CST_STACK[this.CST_STACK.length - 1]; + dae(n, r, e), this.setNodeLocationFromNode(n.location, e.location); + } + getBaseCstVisitorConstructor() { + if (er(this.baseCstVisitorConstructor)) { + let e = gae(this.className, Dr(this.gastProductionsCache)); + return (this.baseCstVisitorConstructor = e), e; + } + return this.baseCstVisitorConstructor; + } + getBaseCstVisitorConstructorWithDefaults() { + if (er(this.baseCstVisitorWithDefaultsConstructor)) { + let e = yae(this.className, Dr(this.gastProductionsCache), this.getBaseCstVisitorConstructor()); + return (this.baseCstVisitorWithDefaultsConstructor = e), e; + } + return this.baseCstVisitorWithDefaultsConstructor; + } + getLastExplicitRuleShortName() { + let e = this.RULE_STACK; + return e[e.length - 1]; + } + getPreviousExplicitRuleShortName() { + let e = this.RULE_STACK; + return e[e.length - 2]; + } + getLastExplicitRuleOccurrenceIndex() { + let e = this.RULE_OCCURRENCE_STACK; + return e[e.length - 1]; + } + }; + }); + var ok, + bae = R(() => { + 'use strict'; + Ns(); + ok = class { + static { + o(this, 'LexerAdapter'); + } + initLexerAdapter() { + (this.tokVector = []), (this.tokVectorLength = 0), (this.currIdx = -1); + } + set input(e) { + if (this.selfAnalysisDone !== !0) + throw Error("Missing invocation at the end of the Parser's constructor."); + this.reset(), (this.tokVector = e), (this.tokVectorLength = e.length); + } + get input() { + return this.tokVector; + } + SKIP_TOKEN() { + return this.currIdx <= this.tokVector.length - 2 ? (this.consumeToken(), this.LA(1)) : sg; + } + LA(e) { + let r = this.currIdx + e; + return r < 0 || this.tokVectorLength <= r ? sg : this.tokVector[r]; + } + consumeToken() { + this.currIdx++; + } + exportLexerState() { + return this.currIdx; + } + importLexerState(e) { + this.currIdx = e; + } + resetLexerState() { + this.currIdx = -1; + } + moveToTerminatedState() { + this.currIdx = this.tokVector.length - 1; + } + getLexerPosition() { + return this.exportLexerState(); + } + }; + }); + var lk, + wae = R(() => { + 'use strict'; + Pt(); + ag(); + Ns(); + Jm(); + f2(); + ns(); + lk = class { + static { + o(this, 'RecognizerApi'); + } + ACTION(e) { + return e.call(this); + } + consume(e, r, n) { + return this.consumeInternal(r, e, n); + } + subrule(e, r, n) { + return this.subruleInternal(r, e, n); + } + option(e, r) { + return this.optionInternal(r, e); + } + or(e, r) { + return this.orInternal(r, e); + } + many(e, r) { + return this.manyInternal(e, r); + } + atLeastOne(e, r) { + return this.atLeastOneInternal(e, r); + } + CONSUME(e, r) { + return this.consumeInternal(e, 0, r); + } + CONSUME1(e, r) { + return this.consumeInternal(e, 1, r); + } + CONSUME2(e, r) { + return this.consumeInternal(e, 2, r); + } + CONSUME3(e, r) { + return this.consumeInternal(e, 3, r); + } + CONSUME4(e, r) { + return this.consumeInternal(e, 4, r); + } + CONSUME5(e, r) { + return this.consumeInternal(e, 5, r); + } + CONSUME6(e, r) { + return this.consumeInternal(e, 6, r); + } + CONSUME7(e, r) { + return this.consumeInternal(e, 7, r); + } + CONSUME8(e, r) { + return this.consumeInternal(e, 8, r); + } + CONSUME9(e, r) { + return this.consumeInternal(e, 9, r); + } + SUBRULE(e, r) { + return this.subruleInternal(e, 0, r); + } + SUBRULE1(e, r) { + return this.subruleInternal(e, 1, r); + } + SUBRULE2(e, r) { + return this.subruleInternal(e, 2, r); + } + SUBRULE3(e, r) { + return this.subruleInternal(e, 3, r); + } + SUBRULE4(e, r) { + return this.subruleInternal(e, 4, r); + } + SUBRULE5(e, r) { + return this.subruleInternal(e, 5, r); + } + SUBRULE6(e, r) { + return this.subruleInternal(e, 6, r); + } + SUBRULE7(e, r) { + return this.subruleInternal(e, 7, r); + } + SUBRULE8(e, r) { + return this.subruleInternal(e, 8, r); + } + SUBRULE9(e, r) { + return this.subruleInternal(e, 9, r); + } + OPTION(e) { + return this.optionInternal(e, 0); + } + OPTION1(e) { + return this.optionInternal(e, 1); + } + OPTION2(e) { + return this.optionInternal(e, 2); + } + OPTION3(e) { + return this.optionInternal(e, 3); + } + OPTION4(e) { + return this.optionInternal(e, 4); + } + OPTION5(e) { + return this.optionInternal(e, 5); + } + OPTION6(e) { + return this.optionInternal(e, 6); + } + OPTION7(e) { + return this.optionInternal(e, 7); + } + OPTION8(e) { + return this.optionInternal(e, 8); + } + OPTION9(e) { + return this.optionInternal(e, 9); + } + OR(e) { + return this.orInternal(e, 0); + } + OR1(e) { + return this.orInternal(e, 1); + } + OR2(e) { + return this.orInternal(e, 2); + } + OR3(e) { + return this.orInternal(e, 3); + } + OR4(e) { + return this.orInternal(e, 4); + } + OR5(e) { + return this.orInternal(e, 5); + } + OR6(e) { + return this.orInternal(e, 6); + } + OR7(e) { + return this.orInternal(e, 7); + } + OR8(e) { + return this.orInternal(e, 8); + } + OR9(e) { + return this.orInternal(e, 9); + } + MANY(e) { + this.manyInternal(0, e); + } + MANY1(e) { + this.manyInternal(1, e); + } + MANY2(e) { + this.manyInternal(2, e); + } + MANY3(e) { + this.manyInternal(3, e); + } + MANY4(e) { + this.manyInternal(4, e); + } + MANY5(e) { + this.manyInternal(5, e); + } + MANY6(e) { + this.manyInternal(6, e); + } + MANY7(e) { + this.manyInternal(7, e); + } + MANY8(e) { + this.manyInternal(8, e); + } + MANY9(e) { + this.manyInternal(9, e); + } + MANY_SEP(e) { + this.manySepFirstInternal(0, e); + } + MANY_SEP1(e) { + this.manySepFirstInternal(1, e); + } + MANY_SEP2(e) { + this.manySepFirstInternal(2, e); + } + MANY_SEP3(e) { + this.manySepFirstInternal(3, e); + } + MANY_SEP4(e) { + this.manySepFirstInternal(4, e); + } + MANY_SEP5(e) { + this.manySepFirstInternal(5, e); + } + MANY_SEP6(e) { + this.manySepFirstInternal(6, e); + } + MANY_SEP7(e) { + this.manySepFirstInternal(7, e); + } + MANY_SEP8(e) { + this.manySepFirstInternal(8, e); + } + MANY_SEP9(e) { + this.manySepFirstInternal(9, e); + } + AT_LEAST_ONE(e) { + this.atLeastOneInternal(0, e); + } + AT_LEAST_ONE1(e) { + return this.atLeastOneInternal(1, e); + } + AT_LEAST_ONE2(e) { + this.atLeastOneInternal(2, e); + } + AT_LEAST_ONE3(e) { + this.atLeastOneInternal(3, e); + } + AT_LEAST_ONE4(e) { + this.atLeastOneInternal(4, e); + } + AT_LEAST_ONE5(e) { + this.atLeastOneInternal(5, e); + } + AT_LEAST_ONE6(e) { + this.atLeastOneInternal(6, e); + } + AT_LEAST_ONE7(e) { + this.atLeastOneInternal(7, e); + } + AT_LEAST_ONE8(e) { + this.atLeastOneInternal(8, e); + } + AT_LEAST_ONE9(e) { + this.atLeastOneInternal(9, e); + } + AT_LEAST_ONE_SEP(e) { + this.atLeastOneSepFirstInternal(0, e); + } + AT_LEAST_ONE_SEP1(e) { + this.atLeastOneSepFirstInternal(1, e); + } + AT_LEAST_ONE_SEP2(e) { + this.atLeastOneSepFirstInternal(2, e); + } + AT_LEAST_ONE_SEP3(e) { + this.atLeastOneSepFirstInternal(3, e); + } + AT_LEAST_ONE_SEP4(e) { + this.atLeastOneSepFirstInternal(4, e); + } + AT_LEAST_ONE_SEP5(e) { + this.atLeastOneSepFirstInternal(5, e); + } + AT_LEAST_ONE_SEP6(e) { + this.atLeastOneSepFirstInternal(6, e); + } + AT_LEAST_ONE_SEP7(e) { + this.atLeastOneSepFirstInternal(7, e); + } + AT_LEAST_ONE_SEP8(e) { + this.atLeastOneSepFirstInternal(8, e); + } + AT_LEAST_ONE_SEP9(e) { + this.atLeastOneSepFirstInternal(9, e); + } + RULE(e, r, n = og) { + if (Fn(this.definedRulesNames, e)) { + let s = { + message: Ol.buildDuplicateRuleNameError({ + topLevelRule: e, + grammarName: this.className + }), + type: Pi.DUPLICATE_RULE_NAME, + ruleName: e + }; + this.definitionErrors.push(s); + } + this.definedRulesNames.push(e); + let i = this.defineRule(e, r, n); + return (this[e] = i), i; + } + OVERRIDE_RULE(e, r, n = og) { + let i = Jie(e, this.definedRulesNames, this.className); + this.definitionErrors = this.definitionErrors.concat(i); + let a = this.defineRule(e, r, n); + return (this[e] = a), a; + } + BACKTRACK(e, r) { + return function () { + this.isBackTrackingStack.push(1); + let n = this.saveRecogState(); + try { + return e.apply(this, r), !0; + } catch (i) { + if (nf(i)) return !1; + throw i; + } finally { + this.reloadRecogState(n), this.isBackTrackingStack.pop(); + } + }; + } + getGAstProductions() { + return this.gastProductionsCache; + } + getSerializedGastProductions() { + return NT(or(this.gastProductionsCache)); + } + }; + }); + var ck, + Tae = R(() => { + 'use strict'; + Pt(); + ek(); + ag(); + ng(); + c2(); + Ns(); + AN(); + l0(); + s0(); + ck = class { + static { + o(this, 'RecognizerEngine'); + } + initRecognizerEngine(e, r) { + if ( + ((this.className = this.constructor.name), + (this.shortRuleNameToFull = {}), + (this.fullRuleNameToShort = {}), + (this.ruleShortNameIdx = 256), + (this.tokenMatcher = Zm), + (this.subruleIdx = 0), + (this.definedRulesNames = []), + (this.tokensMap = {}), + (this.isBackTrackingStack = []), + (this.RULE_STACK = []), + (this.RULE_OCCURRENCE_STACK = []), + (this.gastProductionsCache = {}), + Xe(r, 'serializedGrammar')) + ) + throw Error(`The Parser's configuration can no longer contain a property. + See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 + For Further details.`); + if (wt(e)) { + if (Qt(e)) + throw Error(`A Token Vocabulary cannot be empty. + Note that the first argument for the parser constructor + is no longer a Token vector (since v4.0).`); + if (typeof e[0].startOffset == 'number') + throw Error(`The Parser constructor no longer accepts a token vector as the first argument. + See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0 + For Further details.`); + } + if (wt(e)) this.tokensMap = Vr(e, (a, s) => ((a[s.name] = s), a), {}); + else if (Xe(e, 'modes') && Ia(Gr(or(e.modes)), Die)) { + let a = Gr(or(e.modes)), + s = Pm(a); + this.tokensMap = Vr(s, (l, u) => ((l[u.name] = u), l), {}); + } else if (pn(e)) this.tokensMap = Qr(e); + else + throw new Error( + ' argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition' + ); + this.tokensMap.EOF = fo; + let n = Xe(e, 'modes') ? Gr(or(e.modes)) : or(e), + i = Ia(n, (a) => Qt(a.categoryMatches)); + (this.tokenMatcher = i ? Zm : Bu), Fu(or(this.tokensMap)); + } + defineRule(e, r, n) { + if (this.selfAnalysisDone) + throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called' +Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`); + let i = Xe(n, 'resyncEnabled') ? n.resyncEnabled : og.resyncEnabled, + a = Xe(n, 'recoveryValueFunc') ? n.recoveryValueFunc : og.recoveryValueFunc, + s = this.ruleShortNameIdx << 12; + this.ruleShortNameIdx++, (this.shortRuleNameToFull[s] = e), (this.fullRuleNameToShort[e] = s); + let l; + return ( + this.outputCst === !0 + ? (l = o(function (...f) { + try { + this.ruleInvocationStateUpdate(s, e, this.subruleIdx), r.apply(this, f); + let d = this.CST_STACK[this.CST_STACK.length - 1]; + return this.cstPostRule(d), d; + } catch (d) { + return this.invokeRuleCatch(d, i, a); + } finally { + this.ruleFinallyStateUpdate(); + } + }, 'invokeRuleWithTry')) + : (l = o(function (...f) { + try { + return this.ruleInvocationStateUpdate(s, e, this.subruleIdx), r.apply(this, f); + } catch (d) { + return this.invokeRuleCatch(d, i, a); + } finally { + this.ruleFinallyStateUpdate(); + } + }, 'invokeRuleWithTryCst')), + Object.assign(l, { ruleName: e, originalGrammarAction: r }) + ); + } + invokeRuleCatch(e, r, n) { + let i = this.RULE_STACK.length === 1, + a = r && !this.isBackTracking() && this.recoveryEnabled; + if (nf(e)) { + let s = e; + if (a) { + let l = this.findReSyncTokenType(); + if (this.isInCurrentRuleReSyncSet(l)) + if (((s.resyncedTokens = this.reSyncTo(l)), this.outputCst)) { + let u = this.CST_STACK[this.CST_STACK.length - 1]; + return (u.recoveredNode = !0), u; + } else return n(e); + else { + if (this.outputCst) { + let u = this.CST_STACK[this.CST_STACK.length - 1]; + (u.recoveredNode = !0), (s.partialCstResult = u); + } + throw s; + } + } else { + if (i) return this.moveToTerminatedState(), n(e); + throw s; + } + } else throw e; + } + optionInternal(e, r) { + let n = this.getKeyForAutomaticLookahead(512, r); + return this.optionInternalLogic(e, r, n); + } + optionInternalLogic(e, r, n) { + let i = this.getLaFuncFromCache(n), + a; + if (typeof e != 'function') { + a = e.DEF; + let s = e.GATE; + if (s !== void 0) { + let l = i; + i = o(() => s.call(this) && l.call(this), 'lookAheadFunc'); + } + } else a = e; + if (i.call(this) === !0) return a.call(this); + } + atLeastOneInternal(e, r) { + let n = this.getKeyForAutomaticLookahead(1024, e); + return this.atLeastOneInternalLogic(e, r, n); + } + atLeastOneInternalLogic(e, r, n) { + let i = this.getLaFuncFromCache(n), + a; + if (typeof r != 'function') { + a = r.DEF; + let s = r.GATE; + if (s !== void 0) { + let l = i; + i = o(() => s.call(this) && l.call(this), 'lookAheadFunc'); + } + } else a = r; + if (i.call(this) === !0) { + let s = this.doSingleRepetition(a); + for (; i.call(this) === !0 && s === !0; ) s = this.doSingleRepetition(a); + } else throw this.raiseEarlyExitException(e, $n.REPETITION_MANDATORY, r.ERR_MSG); + this.attemptInRepetitionRecovery(this.atLeastOneInternal, [e, r], i, 1024, e, YT); + } + atLeastOneSepFirstInternal(e, r) { + let n = this.getKeyForAutomaticLookahead(1536, e); + this.atLeastOneSepFirstInternalLogic(e, r, n); + } + atLeastOneSepFirstInternalLogic(e, r, n) { + let i = r.DEF, + a = r.SEP; + if (this.getLaFuncFromCache(n).call(this) === !0) { + i.call(this); + let l = o(() => this.tokenMatcher(this.LA(1), a), 'separatorLookAheadFunc'); + for (; this.tokenMatcher(this.LA(1), a) === !0; ) this.CONSUME(a), i.call(this); + this.attemptInRepetitionRecovery( + this.repetitionSepSecondInternal, + [e, a, l, i, l2], + l, + 1536, + e, + l2 + ); + } else throw this.raiseEarlyExitException(e, $n.REPETITION_MANDATORY_WITH_SEPARATOR, r.ERR_MSG); + } + manyInternal(e, r) { + let n = this.getKeyForAutomaticLookahead(768, e); + return this.manyInternalLogic(e, r, n); + } + manyInternalLogic(e, r, n) { + let i = this.getLaFuncFromCache(n), + a; + if (typeof r != 'function') { + a = r.DEF; + let l = r.GATE; + if (l !== void 0) { + let u = i; + i = o(() => l.call(this) && u.call(this), 'lookaheadFunction'); + } + } else a = r; + let s = !0; + for (; i.call(this) === !0 && s === !0; ) s = this.doSingleRepetition(a); + this.attemptInRepetitionRecovery(this.manyInternal, [e, r], i, 768, e, HT, s); + } + manySepFirstInternal(e, r) { + let n = this.getKeyForAutomaticLookahead(1280, e); + this.manySepFirstInternalLogic(e, r, n); + } + manySepFirstInternalLogic(e, r, n) { + let i = r.DEF, + a = r.SEP; + if (this.getLaFuncFromCache(n).call(this) === !0) { + i.call(this); + let l = o(() => this.tokenMatcher(this.LA(1), a), 'separatorLookAheadFunc'); + for (; this.tokenMatcher(this.LA(1), a) === !0; ) this.CONSUME(a), i.call(this); + this.attemptInRepetitionRecovery( + this.repetitionSepSecondInternal, + [e, a, l, i, o2], + l, + 1280, + e, + o2 + ); + } + } + repetitionSepSecondInternal(e, r, n, i, a) { + for (; n(); ) this.CONSUME(r), i.call(this); + this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal, [e, r, n, i, a], n, 1536, e, a); + } + doSingleRepetition(e) { + let r = this.getLexerPosition(); + return e.call(this), this.getLexerPosition() > r; + } + orInternal(e, r) { + let n = this.getKeyForAutomaticLookahead(256, r), + i = wt(e) ? e : e.DEF, + s = this.getLaFuncFromCache(n).call(this, i); + if (s !== void 0) return i[s].ALT.call(this); + this.raiseNoAltException(r, e.ERR_MSG); + } + ruleFinallyStateUpdate() { + if ( + (this.RULE_STACK.pop(), + this.RULE_OCCURRENCE_STACK.pop(), + this.cstFinallyStateUpdate(), + this.RULE_STACK.length === 0 && this.isAtEndOfInput() === !1) + ) { + let e = this.LA(1), + r = this.errorMessageProvider.buildNotAllInputParsedMessage({ + firstRedundant: e, + ruleName: this.getCurrRuleFullName() + }); + this.SAVE_ERROR(new p2(r, e)); + } + } + subruleInternal(e, r, n) { + let i; + try { + let a = n !== void 0 ? n.ARGS : void 0; + return ( + (this.subruleIdx = r), + (i = e.apply(this, a)), + this.cstPostNonTerminal(i, n !== void 0 && n.LABEL !== void 0 ? n.LABEL : e.ruleName), + i + ); + } catch (a) { + throw this.subruleInternalError(a, n, e.ruleName); + } + } + subruleInternalError(e, r, n) { + throw ( + (nf(e) && + e.partialCstResult !== void 0 && + (this.cstPostNonTerminal( + e.partialCstResult, + r !== void 0 && r.LABEL !== void 0 ? r.LABEL : n + ), + delete e.partialCstResult), + e) + ); + } + consumeInternal(e, r, n) { + let i; + try { + let a = this.LA(1); + this.tokenMatcher(a, e) === !0 + ? (this.consumeToken(), (i = a)) + : this.consumeInternalError(e, a, n); + } catch (a) { + i = this.consumeInternalRecovery(e, r, a); + } + return this.cstPostTerminal(n !== void 0 && n.LABEL !== void 0 ? n.LABEL : e.name, i), i; + } + consumeInternalError(e, r, n) { + let i, + a = this.LA(0); + throw ( + (n !== void 0 && n.ERR_MSG + ? (i = n.ERR_MSG) + : (i = this.errorMessageProvider.buildMismatchTokenMessage({ + expected: e, + actual: r, + previous: a, + ruleName: this.getCurrRuleFullName() + })), + this.SAVE_ERROR(new c0(i, r, a))) + ); + } + consumeInternalRecovery(e, r, n) { + if (this.recoveryEnabled && n.name === 'MismatchedTokenException' && !this.isBackTracking()) { + let i = this.getFollowsForInRuleRecovery(e, r); + try { + return this.tryInRuleRecovery(e, i); + } catch (a) { + throw a.name === SN ? n : a; + } + } else throw n; + } + saveRecogState() { + let e = this.errors, + r = Qr(this.RULE_STACK); + return { + errors: e, + lexerState: this.exportLexerState(), + RULE_STACK: r, + CST_STACK: this.CST_STACK + }; + } + reloadRecogState(e) { + (this.errors = e.errors), this.importLexerState(e.lexerState), (this.RULE_STACK = e.RULE_STACK); + } + ruleInvocationStateUpdate(e, r, n) { + this.RULE_OCCURRENCE_STACK.push(n), this.RULE_STACK.push(e), this.cstInvocationStateUpdate(r); + } + isBackTracking() { + return this.isBackTrackingStack.length !== 0; + } + getCurrRuleFullName() { + let e = this.getLastExplicitRuleShortName(); + return this.shortRuleNameToFull[e]; + } + shortRuleNameToFullName(e) { + return this.shortRuleNameToFull[e]; + } + isAtEndOfInput() { + return this.tokenMatcher(this.LA(1), fo); + } + reset() { + this.resetLexerState(), + (this.subruleIdx = 0), + (this.isBackTrackingStack = []), + (this.errors = []), + (this.RULE_STACK = []), + (this.CST_STACK = []), + (this.RULE_OCCURRENCE_STACK = []); + } + }; + }); + var uk, + kae = R(() => { + 'use strict'; + ag(); + Pt(); + ng(); + Ns(); + uk = class { + static { + o(this, 'ErrorHandler'); + } + initErrorHandler(e) { + (this._errors = []), + (this.errorMessageProvider = Xe(e, 'errorMessageProvider') + ? e.errorMessageProvider + : is.errorMessageProvider); + } + SAVE_ERROR(e) { + if (nf(e)) + return ( + (e.context = { + ruleStack: this.getHumanReadableRuleStack(), + ruleOccurrenceStack: Qr(this.RULE_OCCURRENCE_STACK) + }), + this._errors.push(e), + e + ); + throw Error('Trying to save an Error which is not a RecognitionException'); + } + get errors() { + return Qr(this._errors); + } + set errors(e) { + this._errors = e; + } + raiseEarlyExitException(e, r, n) { + let i = this.getCurrRuleFullName(), + a = this.getGAstProductions()[i], + l = rg(e, a, r, this.maxLookahead)[0], + u = []; + for (let f = 1; f <= this.maxLookahead; f++) u.push(this.LA(f)); + let h = this.errorMessageProvider.buildEarlyExitMessage({ + expectedIterationPaths: l, + actual: u, + previous: this.LA(0), + customUserDescription: n, + ruleName: i + }); + throw this.SAVE_ERROR(new m2(h, this.LA(1), this.LA(0))); + } + raiseNoAltException(e, r) { + let n = this.getCurrRuleFullName(), + i = this.getGAstProductions()[n], + a = tg(e, i, this.maxLookahead), + s = []; + for (let h = 1; h <= this.maxLookahead; h++) s.push(this.LA(h)); + let l = this.LA(0), + u = this.errorMessageProvider.buildNoViableAltMessage({ + expectedPathsPerAlt: a, + actual: s, + previous: l, + customUserDescription: r, + ruleName: this.getCurrRuleFullName() + }); + throw this.SAVE_ERROR(new d2(u, this.LA(1), l)); + } + }; + }); + var hk, + Eae = R(() => { + 'use strict'; + c2(); + Pt(); + hk = class { + static { + o(this, 'ContentAssist'); + } + initContentAssist() {} + computeContentAssist(e, r) { + let n = this.gastProductionsCache[e]; + if (er(n)) throw Error(`Rule ->${e}<- does not exist in this grammar.`); + return qT([n], r, this.tokenMatcher, this.maxLookahead); + } + getNextPossibleTokenTypes(e) { + let r = na(e.ruleStack), + i = this.getGAstProductions()[r]; + return new UT(i, e).startWalking(); + } + }; + }); + function y2(t, e, r, n = !1) { + dk(r); + let i = ma(this.recordingProdStack), + a = wi(e) ? e : e.DEF, + s = new t({ definition: [], idx: r }); + return ( + n && (s.separator = e.SEP), + Xe(e, 'MAX_LOOKAHEAD') && (s.maxLookahead = e.MAX_LOOKAHEAD), + this.recordingProdStack.push(s), + a.call(this), + i.definition.push(s), + this.recordingProdStack.pop(), + pk + ); + } + function UIe(t, e) { + dk(e); + let r = ma(this.recordingProdStack), + n = wt(t) === !1, + i = n === !1 ? t : t.DEF, + a = new gn({ + definition: [], + idx: e, + ignoreAmbiguities: n && t.IGNORE_AMBIGUITIES === !0 + }); + Xe(t, 'MAX_LOOKAHEAD') && (a.maxLookahead = t.MAX_LOOKAHEAD); + let s = Nv(i, (l) => wi(l.GATE)); + return ( + (a.hasPredicates = s), + r.definition.push(a), + Ee(i, (l) => { + let u = new Sn({ definition: [] }); + a.definition.push(u), + Xe(l, 'IGNORE_AMBIGUITIES') + ? (u.ignoreAmbiguities = l.IGNORE_AMBIGUITIES) + : Xe(l, 'GATE') && (u.ignoreAmbiguities = !0), + this.recordingProdStack.push(u), + l.ALT.call(this), + this.recordingProdStack.pop(); + }), + pk + ); + } + function Aae(t) { + return t === 0 ? '' : `${t}`; + } + function dk(t) { + if (t < 0 || t > Sae) { + let e = new Error(`Invalid DSL Method idx value: <${t}> + Idx value must be a none negative value smaller than ${Sae + 1}`); + throw ((e.KNOWN_RECORDER_ERROR = !0), e); + } + } + var pk, + Cae, + Sae, + _ae, + Lae, + VIe, + fk, + Dae = R(() => { + 'use strict'; + Pt(); + ns(); + i2(); + s0(); + l0(); + Ns(); + ek(); + pk = { + description: 'This Object indicates the Parser is during Recording Phase' + }; + Object.freeze(pk); + (Cae = !0), (Sae = Math.pow(2, 8) - 1), (_ae = VT({ name: 'RECORDING_PHASE_TOKEN', pattern: ni.NA })); + Fu([_ae]); + Lae = o0( + _ae, + `This IToken indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`, + -1, + -1, + -1, + -1, + -1, + -1 + ); + Object.freeze(Lae); + (VIe = { + name: `This CSTNode indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`, + children: {} + }), + (fk = class { + static { + o(this, 'GastRecorder'); + } + initGastRecorder(e) { + (this.recordingProdStack = []), (this.RECORDING_PHASE = !1); + } + enableRecording() { + (this.RECORDING_PHASE = !0), + this.TRACE_INIT('Enable Recording', () => { + for (let e = 0; e < 10; e++) { + let r = e > 0 ? e : ''; + (this[`CONSUME${r}`] = function (n, i) { + return this.consumeInternalRecord(n, e, i); + }), + (this[`SUBRULE${r}`] = function (n, i) { + return this.subruleInternalRecord(n, e, i); + }), + (this[`OPTION${r}`] = function (n) { + return this.optionInternalRecord(n, e); + }), + (this[`OR${r}`] = function (n) { + return this.orInternalRecord(n, e); + }), + (this[`MANY${r}`] = function (n) { + this.manyInternalRecord(e, n); + }), + (this[`MANY_SEP${r}`] = function (n) { + this.manySepFirstInternalRecord(e, n); + }), + (this[`AT_LEAST_ONE${r}`] = function (n) { + this.atLeastOneInternalRecord(e, n); + }), + (this[`AT_LEAST_ONE_SEP${r}`] = function (n) { + this.atLeastOneSepFirstInternalRecord(e, n); + }); + } + (this.consume = function (e, r, n) { + return this.consumeInternalRecord(r, e, n); + }), + (this.subrule = function (e, r, n) { + return this.subruleInternalRecord(r, e, n); + }), + (this.option = function (e, r) { + return this.optionInternalRecord(r, e); + }), + (this.or = function (e, r) { + return this.orInternalRecord(r, e); + }), + (this.many = function (e, r) { + this.manyInternalRecord(e, r); + }), + (this.atLeastOne = function (e, r) { + this.atLeastOneInternalRecord(e, r); + }), + (this.ACTION = this.ACTION_RECORD), + (this.BACKTRACK = this.BACKTRACK_RECORD), + (this.LA = this.LA_RECORD); + }); + } + disableRecording() { + (this.RECORDING_PHASE = !1), + this.TRACE_INIT('Deleting Recording methods', () => { + let e = this; + for (let r = 0; r < 10; r++) { + let n = r > 0 ? r : ''; + delete e[`CONSUME${n}`], + delete e[`SUBRULE${n}`], + delete e[`OPTION${n}`], + delete e[`OR${n}`], + delete e[`MANY${n}`], + delete e[`MANY_SEP${n}`], + delete e[`AT_LEAST_ONE${n}`], + delete e[`AT_LEAST_ONE_SEP${n}`]; + } + delete e.consume, + delete e.subrule, + delete e.option, + delete e.or, + delete e.many, + delete e.atLeastOne, + delete e.ACTION, + delete e.BACKTRACK, + delete e.LA; + }); + } + ACTION_RECORD(e) {} + BACKTRACK_RECORD(e, r) { + return () => !0; + } + LA_RECORD(e) { + return sg; + } + topLevelRuleRecord(e, r) { + try { + let n = new ts({ definition: [], name: e }); + return ( + (n.name = e), + this.recordingProdStack.push(n), + r.call(this), + this.recordingProdStack.pop(), + n + ); + } catch (n) { + if (n.KNOWN_RECORDER_ERROR !== !0) + try { + n.message = + n.message + + ` + This error was thrown during the "grammar recording phase" For more info see: + https://chevrotain.io/docs/guide/internals.html#grammar-recording`; + } catch { + throw n; + } + throw n; + } + } + optionInternalRecord(e, r) { + return y2.call(this, Jr, e, r); + } + atLeastOneInternalRecord(e, r) { + y2.call(this, An, r, e); + } + atLeastOneSepFirstInternalRecord(e, r) { + y2.call(this, _n, r, e, Cae); + } + manyInternalRecord(e, r) { + y2.call(this, br, r, e); + } + manySepFirstInternalRecord(e, r) { + y2.call(this, mn, r, e, Cae); + } + orInternalRecord(e, r) { + return UIe.call(this, e, r); + } + subruleInternalRecord(e, r, n) { + if ((dk(r), !e || Xe(e, 'ruleName') === !1)) { + let l = new Error(` argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`); + throw ((l.KNOWN_RECORDER_ERROR = !0), l); + } + let i = ma(this.recordingProdStack), + a = e.ruleName, + s = new Zr({ + idx: r, + nonTerminalName: a, + label: n?.LABEL, + referencedRule: void 0 + }); + return i.definition.push(s), this.outputCst ? VIe : pk; + } + consumeInternalRecord(e, r, n) { + if ((dk(r), !dN(e))) { + let s = new Error(` argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`); + throw ((s.KNOWN_RECORDER_ERROR = !0), s); + } + let i = ma(this.recordingProdStack), + a = new fr({ idx: r, terminalType: e, label: n?.LABEL }); + return i.definition.push(a), Lae; + } + }); + o(y2, 'recordProd'); + o(UIe, 'recordOrProd'); + o(Aae, 'getIdxSuffix'); + o(dk, 'assertMethodIdxIsValid'); + }); + var mk, + Rae = R(() => { + 'use strict'; + Pt(); + qm(); + Ns(); + mk = class { + static { + o(this, 'PerformanceTracer'); + } + initPerformanceTracer(e) { + if (Xe(e, 'traceInitPerf')) { + let r = e.traceInitPerf, + n = typeof r == 'number'; + (this.traceInitMaxIdent = n ? r : 1 / 0), (this.traceInitPerf = n ? r > 0 : r); + } else (this.traceInitMaxIdent = 0), (this.traceInitPerf = is.traceInitPerf); + this.traceInitIndent = -1; + } + TRACE_INIT(e, r) { + if (this.traceInitPerf === !0) { + this.traceInitIndent++; + let n = new Array(this.traceInitIndent + 1).join(' '); + this.traceInitIndent < this.traceInitMaxIdent && console.log(`${n}--> <${e}>`); + let { time: i, value: a } = t2(r), + s = i > 10 ? console.warn : console.log; + return ( + this.traceInitIndent < this.traceInitMaxIdent && s(`${n}<-- <${e}> time: ${i}ms`), + this.traceInitIndent--, + a + ); + } else return r(); + } + }; + }); + function Nae(t, e) { + e.forEach((r) => { + let n = r.prototype; + Object.getOwnPropertyNames(n).forEach((i) => { + if (i === 'constructor') return; + let a = Object.getOwnPropertyDescriptor(n, i); + a && (a.get || a.set) ? Object.defineProperty(t.prototype, i, a) : (t.prototype[i] = r.prototype[i]); + }); + }); + } + var Mae = R(() => { + 'use strict'; + o(Nae, 'applyMixins'); + }); + function gk(t = void 0) { + return function () { + return t; + }; + } + var sg, + is, + og, + Pi, + v2, + x2, + Ns = R(() => { + 'use strict'; + Pt(); + qm(); + cie(); + l0(); + Jm(); + aae(); + AN(); + hae(); + xae(); + bae(); + wae(); + Tae(); + kae(); + Eae(); + Dae(); + Rae(); + Mae(); + f2(); + sg = o0(fo, '', NaN, NaN, NaN, NaN, NaN, NaN); + Object.freeze(sg); + (is = Object.freeze({ + recoveryEnabled: !1, + maxLookahead: 3, + dynamicTokensEnabled: !1, + outputCst: !0, + errorMessageProvider: Gu, + nodeLocationTracking: 'none', + traceInitPerf: !1, + skipValidations: !1 + })), + (og = Object.freeze({ + recoveryValueFunc: o(() => {}, 'recoveryValueFunc'), + resyncEnabled: !0 + })); + (function (t) { + (t[(t.INVALID_RULE_NAME = 0)] = 'INVALID_RULE_NAME'), + (t[(t.DUPLICATE_RULE_NAME = 1)] = 'DUPLICATE_RULE_NAME'), + (t[(t.INVALID_RULE_OVERRIDE = 2)] = 'INVALID_RULE_OVERRIDE'), + (t[(t.DUPLICATE_PRODUCTIONS = 3)] = 'DUPLICATE_PRODUCTIONS'), + (t[(t.UNRESOLVED_SUBRULE_REF = 4)] = 'UNRESOLVED_SUBRULE_REF'), + (t[(t.LEFT_RECURSION = 5)] = 'LEFT_RECURSION'), + (t[(t.NONE_LAST_EMPTY_ALT = 6)] = 'NONE_LAST_EMPTY_ALT'), + (t[(t.AMBIGUOUS_ALTS = 7)] = 'AMBIGUOUS_ALTS'), + (t[(t.CONFLICT_TOKENS_RULES_NAMESPACE = 8)] = 'CONFLICT_TOKENS_RULES_NAMESPACE'), + (t[(t.INVALID_TOKEN_NAME = 9)] = 'INVALID_TOKEN_NAME'), + (t[(t.NO_NON_EMPTY_LOOKAHEAD = 10)] = 'NO_NON_EMPTY_LOOKAHEAD'), + (t[(t.AMBIGUOUS_PREFIX_ALTS = 11)] = 'AMBIGUOUS_PREFIX_ALTS'), + (t[(t.TOO_MANY_ALTS = 12)] = 'TOO_MANY_ALTS'), + (t[(t.CUSTOM_LOOKAHEAD_VALIDATION = 13)] = 'CUSTOM_LOOKAHEAD_VALIDATION'); + })(Pi || (Pi = {})); + o(gk, 'EMPTY_ALT'); + v2 = class t { + static { + o(this, 'Parser'); + } + static performSelfAnalysis(e) { + throw Error( + 'The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.' + ); + } + performSelfAnalysis() { + this.TRACE_INIT('performSelfAnalysis', () => { + let e; + this.selfAnalysisDone = !0; + let r = this.className; + this.TRACE_INIT('toFastProps', () => { + r2(this); + }), + this.TRACE_INIT('Grammar Recording', () => { + try { + this.enableRecording(), + Ee(this.definedRulesNames, (i) => { + let s = this[i].originalGrammarAction, + l; + this.TRACE_INIT(`${i} Rule`, () => { + l = this.topLevelRuleRecord(i, s); + }), + (this.gastProductionsCache[i] = l); + }); + } finally { + this.disableRecording(); + } + }); + let n = []; + if ( + (this.TRACE_INIT('Grammar Resolving', () => { + (n = nae({ rules: or(this.gastProductionsCache) })), + (this.definitionErrors = this.definitionErrors.concat(n)); + }), + this.TRACE_INIT('Grammar Validations', () => { + if (Qt(n) && this.skipValidations === !1) { + let i = iae({ + rules: or(this.gastProductionsCache), + tokenTypes: or(this.tokensMap), + errMsgProvider: Ol, + grammarName: r + }), + a = Kie({ + lookaheadStrategy: this.lookaheadStrategy, + rules: or(this.gastProductionsCache), + tokenTypes: or(this.tokensMap), + grammarName: r + }); + this.definitionErrors = this.definitionErrors.concat(i, a); + } + }), + Qt(this.definitionErrors) && + (this.recoveryEnabled && + this.TRACE_INIT('computeAllProdsFollows', () => { + let i = lie(or(this.gastProductionsCache)); + this.resyncFollows = i; + }), + this.TRACE_INIT('ComputeLookaheadFunctions', () => { + var i, a; + (a = (i = this.lookaheadStrategy).initialize) === null || + a === void 0 || + a.call(i, { rules: or(this.gastProductionsCache) }), + this.preComputeLookaheadFunctions(or(this.gastProductionsCache)); + })), + !t.DEFER_DEFINITION_ERRORS_HANDLING && !Qt(this.definitionErrors)) + ) + throw ( + ((e = qe(this.definitionErrors, (i) => i.message)), + new Error(`Parser Definition Errors detected: + ${e.join(` +------------------------------- +`)}`)) + ); + }); + } + constructor(e, r) { + (this.definitionErrors = []), (this.selfAnalysisDone = !1); + let n = this; + if ( + (n.initErrorHandler(r), + n.initLexerAdapter(), + n.initLooksAhead(r), + n.initRecognizerEngine(e, r), + n.initRecoverable(r), + n.initTreeBuilder(r), + n.initContentAssist(), + n.initGastRecorder(r), + n.initPerformanceTracer(r), + Xe(r, 'ignoredIssues')) + ) + throw new Error(`The IParserConfig property has been deprecated. + Please use the flag on the relevant DSL method instead. + See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES + For further details.`); + this.skipValidations = Xe(r, 'skipValidations') ? r.skipValidations : is.skipValidations; + } + }; + v2.DEFER_DEFINITION_ERRORS_HANDLING = !1; + Nae(v2, [ZT, rk, sk, ok, ck, lk, uk, hk, fk, mk]); + x2 = class extends v2 { + static { + o(this, 'EmbeddedActionsParser'); + } + constructor(e, r = is) { + let n = Qr(r); + (n.outputCst = !1), super(e, n); + } + }; + }); + var Iae = R(() => { + 'use strict'; + ns(); + }); + var Oae = R(() => { + 'use strict'; + }); + var Pae = R(() => { + 'use strict'; + Iae(); + Oae(); + }); + var Bae = R(() => { + 'use strict'; + tN(); + }); + var u0 = R(() => { + 'use strict'; + tN(); + Ns(); + i2(); + l0(); + ng(); + _N(); + Jm(); + ag(); + mN(); + ns(); + ns(); + Pae(); + Bae(); + }); + function h0(t, e, r) { + return `${t.name}_${e}_${r}`; + } + function $ae(t) { + let e = { + decisionMap: {}, + decisionStates: [], + ruleToStartState: new Map(), + ruleToStopState: new Map(), + states: [] + }; + KIe(e, t); + let r = t.length; + for (let n = 0; n < r; n++) { + let i = t[n], + a = f0(e, i, i); + a !== void 0 && oOe(e, i, a); + } + return e; + } + function KIe(t, e) { + let r = e.length; + for (let n = 0; n < r; n++) { + let i = e[n], + a = ia(t, i, void 0, { type: YIe }), + s = ia(t, i, void 0, { type: ug }); + (a.stop = s), t.ruleToStartState.set(i, a), t.ruleToStopState.set(i, s); + } + } + function Vae(t, e, r) { + return r instanceof fr + ? BN(t, e, r.terminalType, r) + : r instanceof Zr + ? sOe(t, e, r) + : r instanceof gn + ? tOe(t, e, r) + : r instanceof Jr + ? rOe(t, e, r) + : r instanceof br + ? QIe(t, e, r) + : r instanceof mn + ? ZIe(t, e, r) + : r instanceof An + ? JIe(t, e, r) + : r instanceof _n + ? eOe(t, e, r) + : f0(t, e, r); + } + function QIe(t, e, r) { + let n = ia(t, e, r, { type: zae }); + sf(t, n); + let i = hg(t, e, n, r, f0(t, e, r)); + return Hae(t, e, r, i); + } + function ZIe(t, e, r) { + let n = ia(t, e, r, { type: zae }); + sf(t, n); + let i = hg(t, e, n, r, f0(t, e, r)), + a = BN(t, e, r.separator, r); + return Hae(t, e, r, i, a); + } + function JIe(t, e, r) { + let n = ia(t, e, r, { type: Fae }); + sf(t, n); + let i = hg(t, e, n, r, f0(t, e, r)); + return Uae(t, e, r, i); + } + function eOe(t, e, r) { + let n = ia(t, e, r, { type: Fae }); + sf(t, n); + let i = hg(t, e, n, r, f0(t, e, r)), + a = BN(t, e, r.separator, r); + return Uae(t, e, r, i, a); + } + function tOe(t, e, r) { + let n = ia(t, e, r, { type: af }); + sf(t, n); + let i = qe(r.definition, (s) => Vae(t, e, s)); + return hg(t, e, n, r, ...i); + } + function rOe(t, e, r) { + let n = ia(t, e, r, { type: af }); + sf(t, n); + let i = hg(t, e, n, r, f0(t, e, r)); + return nOe(t, e, r, i); + } + function f0(t, e, r) { + let n = $r( + qe(r.definition, (i) => Vae(t, e, i)), + (i) => i !== void 0 + ); + return n.length === 1 ? n[0] : n.length === 0 ? void 0 : aOe(t, n); + } + function Uae(t, e, r, n, i) { + let a = n.left, + s = n.right, + l = ia(t, e, r, { type: jIe }); + sf(t, l); + let u = ia(t, e, r, { type: Gae }); + return ( + (a.loopback = l), + (u.loopback = l), + (t.decisionMap[h0(e, i ? 'RepetitionMandatoryWithSeparator' : 'RepetitionMandatory', r.idx)] = l), + Ei(s, l), + i === void 0 ? (Ei(l, a), Ei(l, u)) : (Ei(l, u), Ei(l, i.left), Ei(i.right, a)), + { left: a, right: u } + ); + } + function Hae(t, e, r, n, i) { + let a = n.left, + s = n.right, + l = ia(t, e, r, { type: XIe }); + sf(t, l); + let u = ia(t, e, r, { type: Gae }), + h = ia(t, e, r, { type: qIe }); + return ( + (l.loopback = h), + (u.loopback = h), + Ei(l, a), + Ei(l, u), + Ei(s, h), + i !== void 0 ? (Ei(h, u), Ei(h, i.left), Ei(i.right, a)) : Ei(h, l), + (t.decisionMap[h0(e, i ? 'RepetitionWithSeparator' : 'Repetition', r.idx)] = l), + { left: l, right: u } + ); + } + function nOe(t, e, r, n) { + let i = n.left, + a = n.right; + return Ei(i, a), (t.decisionMap[h0(e, 'Option', r.idx)] = i), n; + } + function sf(t, e) { + return t.decisionStates.push(e), (e.decision = t.decisionStates.length - 1), e.decision; + } + function hg(t, e, r, n, ...i) { + let a = ia(t, e, n, { type: WIe, start: r }); + r.end = a; + for (let l of i) l !== void 0 ? (Ei(r, l.left), Ei(l.right, a)) : Ei(r, a); + let s = { left: r, right: a }; + return (t.decisionMap[h0(e, iOe(n), n.idx)] = r), s; + } + function iOe(t) { + if (t instanceof gn) return 'Alternation'; + if (t instanceof Jr) return 'Option'; + if (t instanceof br) return 'Repetition'; + if (t instanceof mn) return 'RepetitionWithSeparator'; + if (t instanceof An) return 'RepetitionMandatory'; + if (t instanceof _n) return 'RepetitionMandatoryWithSeparator'; + throw new Error('Invalid production type encountered'); + } + function aOe(t, e) { + let r = e.length; + for (let a = 0; a < r - 1; a++) { + let s = e[a], + l; + s.left.transitions.length === 1 && (l = s.left.transitions[0]); + let u = l instanceof cg, + h = l, + f = e[a + 1].left; + s.left.type === af && + s.right.type === af && + l !== void 0 && + ((u && h.followState === s.right) || l.target === s.right) + ? (u ? (h.followState = f) : (l.target = f), lOe(t, s.right)) + : Ei(s.right, f); + } + let n = e[0], + i = e[r - 1]; + return { left: n.left, right: i.right }; + } + function BN(t, e, r, n) { + let i = ia(t, e, n, { type: af }), + a = ia(t, e, n, { type: af }); + return FN(i, new lg(a, r)), { left: i, right: a }; + } + function sOe(t, e, r) { + let n = r.referencedRule, + i = t.ruleToStartState.get(n), + a = ia(t, e, r, { type: af }), + s = ia(t, e, r, { type: af }), + l = new cg(i, n, s); + return FN(a, l), { left: a, right: s }; + } + function oOe(t, e, r) { + let n = t.ruleToStartState.get(e); + Ei(n, r.left); + let i = t.ruleToStopState.get(e); + return Ei(r.right, i), { left: n, right: i }; + } + function Ei(t, e) { + let r = new w2(e); + FN(t, r); + } + function ia(t, e, r, n) { + let i = Object.assign( + { + atn: t, + production: r, + epsilonOnlyTransitions: !1, + rule: e, + transitions: [], + nextTokenWithinRule: [], + stateNumber: t.states.length + }, + n + ); + return t.states.push(i), i; + } + function FN(t, e) { + t.transitions.length === 0 && (t.epsilonOnlyTransitions = e.isEpsilon()), t.transitions.push(e); + } + function lOe(t, e) { + t.states.splice(t.states.indexOf(e), 1); + } + var af, + YIe, + Fae, + zae, + ug, + WIe, + qIe, + XIe, + jIe, + Gae, + b2, + lg, + w2, + cg, + Yae = R(() => { + 'use strict'; + Mm(); + LL(); + u0(); + o(h0, 'buildATNKey'); + (af = 1), + (YIe = 2), + (Fae = 4), + (zae = 5), + (ug = 7), + (WIe = 8), + (qIe = 9), + (XIe = 10), + (jIe = 11), + (Gae = 12), + (b2 = class { + static { + o(this, 'AbstractTransition'); + } + constructor(e) { + this.target = e; + } + isEpsilon() { + return !1; + } + }), + (lg = class extends b2 { + static { + o(this, 'AtomTransition'); + } + constructor(e, r) { + super(e), (this.tokenType = r); + } + }), + (w2 = class extends b2 { + static { + o(this, 'EpsilonTransition'); + } + constructor(e) { + super(e); + } + isEpsilon() { + return !0; + } + }), + (cg = class extends b2 { + static { + o(this, 'RuleTransition'); + } + constructor(e, r, n) { + super(e), (this.rule = r), (this.followState = n); + } + isEpsilon() { + return !0; + } + }); + o($ae, 'createATN'); + o(KIe, 'createRuleStartAndStopATNStates'); + o(Vae, 'atom'); + o(QIe, 'repetition'); + o(ZIe, 'repetitionSep'); + o(JIe, 'repetitionMandatory'); + o(eOe, 'repetitionMandatorySep'); + o(tOe, 'alternation'); + o(rOe, 'option'); + o(f0, 'block'); + o(Uae, 'plus'); + o(Hae, 'star'); + o(nOe, 'optional'); + o(sf, 'defineDecisionState'); + o(hg, 'makeAlts'); + o(iOe, 'getProdType'); + o(aOe, 'makeBlock'); + o(BN, 'tokenRef'); + o(sOe, 'ruleRef'); + o(oOe, 'buildRuleHandle'); + o(Ei, 'epsilon'); + o(ia, 'newState'); + o(FN, 'addTransition'); + o(lOe, 'removeState'); + }); + function zN(t, e = !0) { + return `${e ? `a${t.alt}` : ''}s${t.state.stateNumber}:${t.stack + .map((r) => r.stateNumber.toString()) + .join('_')}`; + } + var T2, + fg, + Wae = R(() => { + 'use strict'; + Mm(); + (T2 = {}), + (fg = class { + static { + o(this, 'ATNConfigSet'); + } + constructor() { + (this.map = {}), (this.configs = []); + } + get size() { + return this.configs.length; + } + finalize() { + this.map = {}; + } + add(e) { + let r = zN(e); + r in this.map || ((this.map[r] = this.configs.length), this.configs.push(e)); + } + get elements() { + return this.configs; + } + get alts() { + return qe(this.configs, (e) => e.alt); + } + get key() { + let e = ''; + for (let r in this.map) e += r + ':'; + return e; + } + }); + o(zN, 'getATNConfigKey'); + }); + function cOe(t, e) { + let r = {}; + return (n) => { + let i = n.toString(), + a = r[i]; + return a !== void 0 || ((a = { atnStartState: t, decision: e, states: {} }), (r[i] = a)), a; + }; + } + function Xae(t, e = !0) { + let r = new Set(); + for (let n of t) { + let i = new Set(); + for (let a of n) { + if (a === void 0) { + if (e) break; + return !1; + } + let s = [a.tokenTypeIdx].concat(a.categoryMatches); + for (let l of s) + if (r.has(l)) { + if (!i.has(l)) return !1; + } else r.add(l), i.add(l); + } + } + return !0; + } + function uOe(t) { + let e = t.decisionStates.length, + r = Array(e); + for (let n = 0; n < e; n++) r[n] = cOe(t.decisionStates[n], n); + return r; + } + function GN(t, e, r, n) { + let i = t[e](r), + a = i.start; + if (a === void 0) { + let l = wOe(i.atnStartState); + (a = Qae(i, Kae(l))), (i.start = a); + } + return hOe.apply(this, [i, a, r, n]); + } + function hOe(t, e, r, n) { + let i = e, + a = 1, + s = [], + l = this.LA(a++); + for (;;) { + let u = yOe(i, l); + if ((u === void 0 && (u = fOe.apply(this, [t, i, l, a, r, n])), u === T2)) return gOe(s, i, l); + if (u.isAcceptState === !0) return u.prediction; + (i = u), s.push(l), (l = this.LA(a++)); + } + } + function fOe(t, e, r, n, i, a) { + let s = vOe(e.configs, r, i); + if (s.size === 0) return jae(t, e, r, T2), T2; + let l = Kae(s), + u = bOe(s, i); + if (u !== void 0) (l.isAcceptState = !0), (l.prediction = u), (l.configs.uniqueAlt = u); + else if (COe(s)) { + let h = Ll(s.alts); + (l.isAcceptState = !0), (l.prediction = h), (l.configs.uniqueAlt = h), dOe.apply(this, [t, n, s.alts, a]); + } + return (l = jae(t, e, r, l)), l; + } + function dOe(t, e, r, n) { + let i = []; + for (let h = 1; h <= e; h++) i.push(this.LA(h).tokenType); + let a = t.atnStartState, + s = a.rule, + l = a.production, + u = pOe({ + topLevelRule: s, + ambiguityIndices: r, + production: l, + prefixPath: i + }); + n(u); + } + function pOe(t) { + let e = qe(t.prefixPath, (i) => zu(i)).join(', '), + r = t.production.idx === 0 ? '' : t.production.idx, + n = `Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(', ')}> in <${mOe( + t.production + )}${r}> inside <${t.topLevelRule.name}> Rule, +<${e}> may appears as a prefix path in all these alternatives. +`; + return ( + (n = + n + + `See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES +For Further details.`), + n + ); + } + function mOe(t) { + if (t instanceof Zr) return 'SUBRULE'; + if (t instanceof Jr) return 'OPTION'; + if (t instanceof gn) return 'OR'; + if (t instanceof An) return 'AT_LEAST_ONE'; + if (t instanceof _n) return 'AT_LEAST_ONE_SEP'; + if (t instanceof mn) return 'MANY_SEP'; + if (t instanceof br) return 'MANY'; + if (t instanceof fr) return 'CONSUME'; + throw Error('non exhaustive match'); + } + function gOe(t, e, r) { + let n = ga(e.configs.elements, (a) => a.state.transitions), + i = nte( + n.filter((a) => a instanceof lg).map((a) => a.tokenType), + (a) => a.tokenTypeIdx + ); + return { actualToken: r, possibleTokenTypes: i, tokenPath: t }; + } + function yOe(t, e) { + return t.edges[e.tokenTypeIdx]; + } + function vOe(t, e, r) { + let n = new fg(), + i = []; + for (let s of t.elements) { + if (r.is(s.alt) === !1) continue; + if (s.state.type === ug) { + i.push(s); + continue; + } + let l = s.state.transitions.length; + for (let u = 0; u < l; u++) { + let h = s.state.transitions[u], + f = xOe(h, e); + f !== void 0 && n.add({ state: f, alt: s.alt, stack: s.stack }); + } + } + let a; + if ((i.length === 0 && n.size === 1 && (a = n), a === void 0)) { + a = new fg(); + for (let s of n.elements) vk(s, a); + } + if (i.length > 0 && !kOe(a)) for (let s of i) a.add(s); + return a; + } + function xOe(t, e) { + if (t instanceof lg && s2(e, t.tokenType)) return t.target; + } + function bOe(t, e) { + let r; + for (let n of t.elements) + if (e.is(n.alt) === !0) { + if (r === void 0) r = n.alt; + else if (r !== n.alt) return; + } + return r; + } + function Kae(t) { + return { configs: t, edges: {}, isAcceptState: !1, prediction: -1 }; + } + function jae(t, e, r, n) { + return (n = Qae(t, n)), (e.edges[r.tokenTypeIdx] = n), n; + } + function Qae(t, e) { + if (e === T2) return e; + let r = e.configs.key, + n = t.states[r]; + return n !== void 0 ? n : (e.configs.finalize(), (t.states[r] = e), e); + } + function wOe(t) { + let e = new fg(), + r = t.transitions.length; + for (let n = 0; n < r; n++) { + let a = { state: t.transitions[n].target, alt: n, stack: [] }; + vk(a, e); + } + return e; + } + function vk(t, e) { + let r = t.state; + if (r.type === ug) { + if (t.stack.length > 0) { + let i = [...t.stack], + s = { state: i.pop(), alt: t.alt, stack: i }; + vk(s, e); + } else e.add(t); + return; + } + r.epsilonOnlyTransitions || e.add(t); + let n = r.transitions.length; + for (let i = 0; i < n; i++) { + let a = r.transitions[i], + s = TOe(t, a); + s !== void 0 && vk(s, e); + } + } + function TOe(t, e) { + if (e instanceof w2) return { state: e.target, alt: t.alt, stack: t.stack }; + if (e instanceof cg) { + let r = [...t.stack, e.followState]; + return { state: e.target, alt: t.alt, stack: r }; + } + } + function kOe(t) { + for (let e of t.elements) if (e.state.type === ug) return !0; + return !1; + } + function EOe(t) { + for (let e of t.elements) if (e.state.type !== ug) return !1; + return !0; + } + function COe(t) { + if (EOe(t)) return !0; + let e = SOe(t.elements); + return AOe(e) && !_Oe(e); + } + function SOe(t) { + let e = new Map(); + for (let r of t) { + let n = zN(r, !1), + i = e.get(n); + i === void 0 && ((i = {}), e.set(n, i)), (i[r.alt] = !0); + } + return e; + } + function AOe(t) { + for (let e of Array.from(t.values())) if (Object.keys(e).length > 1) return !0; + return !1; + } + function _Oe(t) { + for (let e of Array.from(t.values())) if (Object.keys(e).length === 1) return !0; + return !1; + } + var yk, + qae, + k2, + Zae = R(() => { + 'use strict'; + u0(); + Yae(); + Wae(); + BL(); + RL(); + ite(); + Mm(); + fw(); + $w(); + Ww(); + $L(); + o(cOe, 'createDFACache'); + (yk = class { + static { + o(this, 'PredicateSet'); + } + constructor() { + this.predicates = []; + } + is(e) { + return e >= this.predicates.length || this.predicates[e]; + } + set(e, r) { + this.predicates[e] = r; + } + toString() { + let e = '', + r = this.predicates.length; + for (let n = 0; n < r; n++) e += this.predicates[n] === !0 ? '1' : '0'; + return e; + } + }), + (qae = new yk()), + (k2 = class extends $u { + static { + o(this, 'LLStarLookaheadStrategy'); + } + constructor(e) { + var r; + super(), (this.logging = (r = e?.logging) !== null && r !== void 0 ? r : (n) => console.log(n)); + } + initialize(e) { + (this.atn = $ae(e.rules)), (this.dfas = uOe(this.atn)); + } + validateAmbiguousAlternationAlternatives() { + return []; + } + validateEmptyOrAlternatives() { + return []; + } + buildLookaheadForAlternation(e) { + let { prodOccurrence: r, rule: n, hasPredicates: i, dynamicTokensEnabled: a } = e, + s = this.dfas, + l = this.logging, + u = h0(n, 'Alternation', r), + f = this.atn.decisionMap[u].decision, + d = qe( + jT({ + maxLookahead: 1, + occurrence: r, + prodType: 'Alternation', + rule: n + }), + (p) => qe(p, (m) => m[0]) + ); + if (Xae(d, !1) && !a) { + let p = Vr( + d, + (m, g, y) => ( + Ee(g, (v) => { + v && + ((m[v.tokenTypeIdx] = y), + Ee(v.categoryMatches, (x) => { + m[x] = y; + })); + }), + m + ), + {} + ); + return i + ? function (m) { + var g; + let y = this.LA(1), + v = p[y.tokenTypeIdx]; + if (m !== void 0 && v !== void 0) { + let x = (g = m[v]) === null || g === void 0 ? void 0 : g.GATE; + if (x !== void 0 && x.call(this) === !1) return; + } + return v; + } + : function () { + let m = this.LA(1); + return p[m.tokenTypeIdx]; + }; + } else + return i + ? function (p) { + let m = new yk(), + g = p === void 0 ? 0 : p.length; + for (let v = 0; v < g; v++) { + let x = p?.[v].GATE; + m.set(v, x === void 0 || x.call(this)); + } + let y = GN.call(this, s, f, m, l); + return typeof y == 'number' ? y : void 0; + } + : function () { + let p = GN.call(this, s, f, qae, l); + return typeof p == 'number' ? p : void 0; + }; + } + buildLookaheadForOptional(e) { + let { prodOccurrence: r, rule: n, prodType: i, dynamicTokensEnabled: a } = e, + s = this.dfas, + l = this.logging, + u = h0(n, i, r), + f = this.atn.decisionMap[u].decision, + d = qe(jT({ maxLookahead: 1, occurrence: r, prodType: i, rule: n }), (p) => + qe(p, (m) => m[0]) + ); + if (Xae(d) && d[0][0] && !a) { + let p = d[0], + m = Gr(p); + if (m.length === 1 && Qt(m[0].categoryMatches)) { + let y = m[0].tokenTypeIdx; + return function () { + return this.LA(1).tokenTypeIdx === y; + }; + } else { + let g = Vr( + m, + (y, v) => ( + v !== void 0 && + ((y[v.tokenTypeIdx] = !0), + Ee(v.categoryMatches, (x) => { + y[x] = !0; + })), + y + ), + {} + ); + return function () { + let y = this.LA(1); + return g[y.tokenTypeIdx] === !0; + }; + } + } + return function () { + let p = GN.call(this, s, f, qae, l); + return typeof p == 'object' ? !1 : p === 0; + }; + } + }); + o(Xae, 'isLL1Sequence'); + o(uOe, 'initATNSimulator'); + o(GN, 'adaptivePredict'); + o(hOe, 'performLookahead'); + o(fOe, 'computeLookaheadTarget'); + o(dOe, 'reportLookaheadAmbiguity'); + o(pOe, 'buildAmbiguityError'); + o(mOe, 'getProductionDslName'); + o(gOe, 'buildAdaptivePredictError'); + o(yOe, 'getExistingTargetState'); + o(vOe, 'computeReachSet'); + o(xOe, 'getReachableTarget'); + o(bOe, 'getUniqueAlt'); + o(Kae, 'newDFAState'); + o(jae, 'addDFAEdge'); + o(Qae, 'addDFAState'); + o(wOe, 'computeStartState'); + o(vk, 'closure'); + o(TOe, 'getEpsilonTarget'); + o(kOe, 'hasConfigInRuleStopState'); + o(EOe, 'allConfigsInRuleStopStates'); + o(COe, 'hasConflictTerminatingPrediction'); + o(SOe, 'getConflictingAltSets'); + o(AOe, 'hasConflictingAltSet'); + o(_Oe, 'hasStateAssociatedWithOneAlt'); + }); + var Jae = R(() => { + 'use strict'; + Zae(); + }); + var ese, + $N, + tse, + xk, + Ur, + wr, + bk, + rse, + VN, + nse, + ise, + ase, + sse, + UN, + ose, + lse, + cse, + wk, + dg, + pg, + HN, + mg, + use, + YN, + WN, + qN, + XN, + jN, + hse, + fse, + KN, + dse, + QN, + E2, + pse, + mse, + gse, + yse, + vse, + xse, + bse, + wse, + Tk, + Tse, + kse, + Ese, + Cse, + Sse, + Ase, + _se, + Lse, + Dse, + Rse, + Nse, + kk, + Mse, + Ise, + Ose, + Pse, + Bse, + Fse, + zse, + Gse, + $se, + Vse, + Use, + Hse, + Yse, + ZN, + JN, + Wse, + qse, + Xse, + jse, + Kse, + Qse, + Zse, + Jse, + eoe, + eM, + Fe, + tM = R(() => { + 'use strict'; + (function (t) { + function e(r) { + return typeof r == 'string'; + } + o(e, 'is'), (t.is = e); + })(ese || (ese = {})); + (function (t) { + function e(r) { + return typeof r == 'string'; + } + o(e, 'is'), (t.is = e); + })($N || ($N = {})); + (function (t) { + (t.MIN_VALUE = -2147483648), (t.MAX_VALUE = 2147483647); + function e(r) { + return typeof r == 'number' && t.MIN_VALUE <= r && r <= t.MAX_VALUE; + } + o(e, 'is'), (t.is = e); + })(tse || (tse = {})); + (function (t) { + (t.MIN_VALUE = 0), (t.MAX_VALUE = 2147483647); + function e(r) { + return typeof r == 'number' && t.MIN_VALUE <= r && r <= t.MAX_VALUE; + } + o(e, 'is'), (t.is = e); + })(xk || (xk = {})); + (function (t) { + function e(n, i) { + return ( + n === Number.MAX_VALUE && (n = xk.MAX_VALUE), + i === Number.MAX_VALUE && (i = xk.MAX_VALUE), + { line: n, character: i } + ); + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return Fe.objectLiteral(i) && Fe.uinteger(i.line) && Fe.uinteger(i.character); + } + o(r, 'is'), (t.is = r); + })(Ur || (Ur = {})); + (function (t) { + function e(n, i, a, s) { + if (Fe.uinteger(n) && Fe.uinteger(i) && Fe.uinteger(a) && Fe.uinteger(s)) + return { start: Ur.create(n, i), end: Ur.create(a, s) }; + if (Ur.is(n) && Ur.is(i)) return { start: n, end: i }; + throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${a}, ${s}]`); + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return Fe.objectLiteral(i) && Ur.is(i.start) && Ur.is(i.end); + } + o(r, 'is'), (t.is = r); + })(wr || (wr = {})); + (function (t) { + function e(n, i) { + return { uri: n, range: i }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return Fe.objectLiteral(i) && wr.is(i.range) && (Fe.string(i.uri) || Fe.undefined(i.uri)); + } + o(r, 'is'), (t.is = r); + })(bk || (bk = {})); + (function (t) { + function e(n, i, a, s) { + return { + targetUri: n, + targetRange: i, + targetSelectionRange: a, + originSelectionRange: s + }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return ( + Fe.objectLiteral(i) && + wr.is(i.targetRange) && + Fe.string(i.targetUri) && + wr.is(i.targetSelectionRange) && + (wr.is(i.originSelectionRange) || Fe.undefined(i.originSelectionRange)) + ); + } + o(r, 'is'), (t.is = r); + })(rse || (rse = {})); + (function (t) { + function e(n, i, a, s) { + return { red: n, green: i, blue: a, alpha: s }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return ( + Fe.objectLiteral(i) && + Fe.numberRange(i.red, 0, 1) && + Fe.numberRange(i.green, 0, 1) && + Fe.numberRange(i.blue, 0, 1) && + Fe.numberRange(i.alpha, 0, 1) + ); + } + o(r, 'is'), (t.is = r); + })(VN || (VN = {})); + (function (t) { + function e(n, i) { + return { range: n, color: i }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return Fe.objectLiteral(i) && wr.is(i.range) && VN.is(i.color); + } + o(r, 'is'), (t.is = r); + })(nse || (nse = {})); + (function (t) { + function e(n, i, a) { + return { label: n, textEdit: i, additionalTextEdits: a }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return ( + Fe.objectLiteral(i) && + Fe.string(i.label) && + (Fe.undefined(i.textEdit) || pg.is(i)) && + (Fe.undefined(i.additionalTextEdits) || Fe.typedArray(i.additionalTextEdits, pg.is)) + ); + } + o(r, 'is'), (t.is = r); + })(ise || (ise = {})); + (function (t) { + (t.Comment = 'comment'), (t.Imports = 'imports'), (t.Region = 'region'); + })(ase || (ase = {})); + (function (t) { + function e(n, i, a, s, l, u) { + let h = { startLine: n, endLine: i }; + return ( + Fe.defined(a) && (h.startCharacter = a), + Fe.defined(s) && (h.endCharacter = s), + Fe.defined(l) && (h.kind = l), + Fe.defined(u) && (h.collapsedText = u), + h + ); + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return ( + Fe.objectLiteral(i) && + Fe.uinteger(i.startLine) && + Fe.uinteger(i.startLine) && + (Fe.undefined(i.startCharacter) || Fe.uinteger(i.startCharacter)) && + (Fe.undefined(i.endCharacter) || Fe.uinteger(i.endCharacter)) && + (Fe.undefined(i.kind) || Fe.string(i.kind)) + ); + } + o(r, 'is'), (t.is = r); + })(sse || (sse = {})); + (function (t) { + function e(n, i) { + return { location: n, message: i }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return Fe.defined(i) && bk.is(i.location) && Fe.string(i.message); + } + o(r, 'is'), (t.is = r); + })(UN || (UN = {})); + (function (t) { + (t.Error = 1), (t.Warning = 2), (t.Information = 3), (t.Hint = 4); + })(ose || (ose = {})); + (function (t) { + (t.Unnecessary = 1), (t.Deprecated = 2); + })(lse || (lse = {})); + (function (t) { + function e(r) { + let n = r; + return Fe.objectLiteral(n) && Fe.string(n.href); + } + o(e, 'is'), (t.is = e); + })(cse || (cse = {})); + (function (t) { + function e(n, i, a, s, l, u) { + let h = { range: n, message: i }; + return ( + Fe.defined(a) && (h.severity = a), + Fe.defined(s) && (h.code = s), + Fe.defined(l) && (h.source = l), + Fe.defined(u) && (h.relatedInformation = u), + h + ); + } + o(e, 'create'), (t.create = e); + function r(n) { + var i; + let a = n; + return ( + Fe.defined(a) && + wr.is(a.range) && + Fe.string(a.message) && + (Fe.number(a.severity) || Fe.undefined(a.severity)) && + (Fe.integer(a.code) || Fe.string(a.code) || Fe.undefined(a.code)) && + (Fe.undefined(a.codeDescription) || + Fe.string((i = a.codeDescription) === null || i === void 0 ? void 0 : i.href)) && + (Fe.string(a.source) || Fe.undefined(a.source)) && + (Fe.undefined(a.relatedInformation) || Fe.typedArray(a.relatedInformation, UN.is)) + ); + } + o(r, 'is'), (t.is = r); + })(wk || (wk = {})); + (function (t) { + function e(n, i, ...a) { + let s = { title: n, command: i }; + return Fe.defined(a) && a.length > 0 && (s.arguments = a), s; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return Fe.defined(i) && Fe.string(i.title) && Fe.string(i.command); + } + o(r, 'is'), (t.is = r); + })(dg || (dg = {})); + (function (t) { + function e(a, s) { + return { range: a, newText: s }; + } + o(e, 'replace'), (t.replace = e); + function r(a, s) { + return { range: { start: a, end: a }, newText: s }; + } + o(r, 'insert'), (t.insert = r); + function n(a) { + return { range: a, newText: '' }; + } + o(n, 'del'), (t.del = n); + function i(a) { + let s = a; + return Fe.objectLiteral(s) && Fe.string(s.newText) && wr.is(s.range); + } + o(i, 'is'), (t.is = i); + })(pg || (pg = {})); + (function (t) { + function e(n, i, a) { + let s = { label: n }; + return i !== void 0 && (s.needsConfirmation = i), a !== void 0 && (s.description = a), s; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return ( + Fe.objectLiteral(i) && + Fe.string(i.label) && + (Fe.boolean(i.needsConfirmation) || i.needsConfirmation === void 0) && + (Fe.string(i.description) || i.description === void 0) + ); + } + o(r, 'is'), (t.is = r); + })(HN || (HN = {})); + (function (t) { + function e(r) { + let n = r; + return Fe.string(n); + } + o(e, 'is'), (t.is = e); + })(mg || (mg = {})); + (function (t) { + function e(a, s, l) { + return { range: a, newText: s, annotationId: l }; + } + o(e, 'replace'), (t.replace = e); + function r(a, s, l) { + return { range: { start: a, end: a }, newText: s, annotationId: l }; + } + o(r, 'insert'), (t.insert = r); + function n(a, s) { + return { range: a, newText: '', annotationId: s }; + } + o(n, 'del'), (t.del = n); + function i(a) { + let s = a; + return pg.is(s) && (HN.is(s.annotationId) || mg.is(s.annotationId)); + } + o(i, 'is'), (t.is = i); + })(use || (use = {})); + (function (t) { + function e(n, i) { + return { textDocument: n, edits: i }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return Fe.defined(i) && KN.is(i.textDocument) && Array.isArray(i.edits); + } + o(r, 'is'), (t.is = r); + })(YN || (YN = {})); + (function (t) { + function e(n, i, a) { + let s = { kind: 'create', uri: n }; + return ( + i !== void 0 && (i.overwrite !== void 0 || i.ignoreIfExists !== void 0) && (s.options = i), + a !== void 0 && (s.annotationId = a), + s + ); + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return ( + i && + i.kind === 'create' && + Fe.string(i.uri) && + (i.options === void 0 || + ((i.options.overwrite === void 0 || Fe.boolean(i.options.overwrite)) && + (i.options.ignoreIfExists === void 0 || Fe.boolean(i.options.ignoreIfExists)))) && + (i.annotationId === void 0 || mg.is(i.annotationId)) + ); + } + o(r, 'is'), (t.is = r); + })(WN || (WN = {})); + (function (t) { + function e(n, i, a, s) { + let l = { kind: 'rename', oldUri: n, newUri: i }; + return ( + a !== void 0 && (a.overwrite !== void 0 || a.ignoreIfExists !== void 0) && (l.options = a), + s !== void 0 && (l.annotationId = s), + l + ); + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return ( + i && + i.kind === 'rename' && + Fe.string(i.oldUri) && + Fe.string(i.newUri) && + (i.options === void 0 || + ((i.options.overwrite === void 0 || Fe.boolean(i.options.overwrite)) && + (i.options.ignoreIfExists === void 0 || Fe.boolean(i.options.ignoreIfExists)))) && + (i.annotationId === void 0 || mg.is(i.annotationId)) + ); + } + o(r, 'is'), (t.is = r); + })(qN || (qN = {})); + (function (t) { + function e(n, i, a) { + let s = { kind: 'delete', uri: n }; + return ( + i !== void 0 && (i.recursive !== void 0 || i.ignoreIfNotExists !== void 0) && (s.options = i), + a !== void 0 && (s.annotationId = a), + s + ); + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return ( + i && + i.kind === 'delete' && + Fe.string(i.uri) && + (i.options === void 0 || + ((i.options.recursive === void 0 || Fe.boolean(i.options.recursive)) && + (i.options.ignoreIfNotExists === void 0 || Fe.boolean(i.options.ignoreIfNotExists)))) && + (i.annotationId === void 0 || mg.is(i.annotationId)) + ); + } + o(r, 'is'), (t.is = r); + })(XN || (XN = {})); + (function (t) { + function e(r) { + let n = r; + return ( + n && + (n.changes !== void 0 || n.documentChanges !== void 0) && + (n.documentChanges === void 0 || + n.documentChanges.every((i) => + Fe.string(i.kind) ? WN.is(i) || qN.is(i) || XN.is(i) : YN.is(i) + )) + ); + } + o(e, 'is'), (t.is = e); + })(jN || (jN = {})); + (function (t) { + function e(n) { + return { uri: n }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return Fe.defined(i) && Fe.string(i.uri); + } + o(r, 'is'), (t.is = r); + })(hse || (hse = {})); + (function (t) { + function e(n, i) { + return { uri: n, version: i }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return Fe.defined(i) && Fe.string(i.uri) && Fe.integer(i.version); + } + o(r, 'is'), (t.is = r); + })(fse || (fse = {})); + (function (t) { + function e(n, i) { + return { uri: n, version: i }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return Fe.defined(i) && Fe.string(i.uri) && (i.version === null || Fe.integer(i.version)); + } + o(r, 'is'), (t.is = r); + })(KN || (KN = {})); + (function (t) { + function e(n, i, a, s) { + return { uri: n, languageId: i, version: a, text: s }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return ( + Fe.defined(i) && + Fe.string(i.uri) && + Fe.string(i.languageId) && + Fe.integer(i.version) && + Fe.string(i.text) + ); + } + o(r, 'is'), (t.is = r); + })(dse || (dse = {})); + (function (t) { + (t.PlainText = 'plaintext'), (t.Markdown = 'markdown'); + function e(r) { + let n = r; + return n === t.PlainText || n === t.Markdown; + } + o(e, 'is'), (t.is = e); + })(QN || (QN = {})); + (function (t) { + function e(r) { + let n = r; + return Fe.objectLiteral(r) && QN.is(n.kind) && Fe.string(n.value); + } + o(e, 'is'), (t.is = e); + })(E2 || (E2 = {})); + (function (t) { + (t.Text = 1), + (t.Method = 2), + (t.Function = 3), + (t.Constructor = 4), + (t.Field = 5), + (t.Variable = 6), + (t.Class = 7), + (t.Interface = 8), + (t.Module = 9), + (t.Property = 10), + (t.Unit = 11), + (t.Value = 12), + (t.Enum = 13), + (t.Keyword = 14), + (t.Snippet = 15), + (t.Color = 16), + (t.File = 17), + (t.Reference = 18), + (t.Folder = 19), + (t.EnumMember = 20), + (t.Constant = 21), + (t.Struct = 22), + (t.Event = 23), + (t.Operator = 24), + (t.TypeParameter = 25); + })(pse || (pse = {})); + (function (t) { + (t.PlainText = 1), (t.Snippet = 2); + })(mse || (mse = {})); + (function (t) { + t.Deprecated = 1; + })(gse || (gse = {})); + (function (t) { + function e(n, i, a) { + return { newText: n, insert: i, replace: a }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return i && Fe.string(i.newText) && wr.is(i.insert) && wr.is(i.replace); + } + o(r, 'is'), (t.is = r); + })(yse || (yse = {})); + (function (t) { + (t.asIs = 1), (t.adjustIndentation = 2); + })(vse || (vse = {})); + (function (t) { + function e(r) { + let n = r; + return ( + n && + (Fe.string(n.detail) || n.detail === void 0) && + (Fe.string(n.description) || n.description === void 0) + ); + } + o(e, 'is'), (t.is = e); + })(xse || (xse = {})); + (function (t) { + function e(r) { + return { label: r }; + } + o(e, 'create'), (t.create = e); + })(bse || (bse = {})); + (function (t) { + function e(r, n) { + return { items: r || [], isIncomplete: !!n }; + } + o(e, 'create'), (t.create = e); + })(wse || (wse = {})); + (function (t) { + function e(n) { + return n.replace(/[\\`*_{}[\]()#+\-.!]/g, '\\$&'); + } + o(e, 'fromPlainText'), (t.fromPlainText = e); + function r(n) { + let i = n; + return Fe.string(i) || (Fe.objectLiteral(i) && Fe.string(i.language) && Fe.string(i.value)); + } + o(r, 'is'), (t.is = r); + })(Tk || (Tk = {})); + (function (t) { + function e(r) { + let n = r; + return ( + !!n && + Fe.objectLiteral(n) && + (E2.is(n.contents) || Tk.is(n.contents) || Fe.typedArray(n.contents, Tk.is)) && + (r.range === void 0 || wr.is(r.range)) + ); + } + o(e, 'is'), (t.is = e); + })(Tse || (Tse = {})); + (function (t) { + function e(r, n) { + return n ? { label: r, documentation: n } : { label: r }; + } + o(e, 'create'), (t.create = e); + })(kse || (kse = {})); + (function (t) { + function e(r, n, ...i) { + let a = { label: r }; + return ( + Fe.defined(n) && (a.documentation = n), + Fe.defined(i) ? (a.parameters = i) : (a.parameters = []), + a + ); + } + o(e, 'create'), (t.create = e); + })(Ese || (Ese = {})); + (function (t) { + (t.Text = 1), (t.Read = 2), (t.Write = 3); + })(Cse || (Cse = {})); + (function (t) { + function e(r, n) { + let i = { range: r }; + return Fe.number(n) && (i.kind = n), i; + } + o(e, 'create'), (t.create = e); + })(Sse || (Sse = {})); + (function (t) { + (t.File = 1), + (t.Module = 2), + (t.Namespace = 3), + (t.Package = 4), + (t.Class = 5), + (t.Method = 6), + (t.Property = 7), + (t.Field = 8), + (t.Constructor = 9), + (t.Enum = 10), + (t.Interface = 11), + (t.Function = 12), + (t.Variable = 13), + (t.Constant = 14), + (t.String = 15), + (t.Number = 16), + (t.Boolean = 17), + (t.Array = 18), + (t.Object = 19), + (t.Key = 20), + (t.Null = 21), + (t.EnumMember = 22), + (t.Struct = 23), + (t.Event = 24), + (t.Operator = 25), + (t.TypeParameter = 26); + })(Ase || (Ase = {})); + (function (t) { + t.Deprecated = 1; + })(_se || (_se = {})); + (function (t) { + function e(r, n, i, a, s) { + let l = { name: r, kind: n, location: { uri: a, range: i } }; + return s && (l.containerName = s), l; + } + o(e, 'create'), (t.create = e); + })(Lse || (Lse = {})); + (function (t) { + function e(r, n, i, a) { + return a !== void 0 + ? { name: r, kind: n, location: { uri: i, range: a } } + : { name: r, kind: n, location: { uri: i } }; + } + o(e, 'create'), (t.create = e); + })(Dse || (Dse = {})); + (function (t) { + function e(n, i, a, s, l, u) { + let h = { name: n, detail: i, kind: a, range: s, selectionRange: l }; + return u !== void 0 && (h.children = u), h; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return ( + i && + Fe.string(i.name) && + Fe.number(i.kind) && + wr.is(i.range) && + wr.is(i.selectionRange) && + (i.detail === void 0 || Fe.string(i.detail)) && + (i.deprecated === void 0 || Fe.boolean(i.deprecated)) && + (i.children === void 0 || Array.isArray(i.children)) && + (i.tags === void 0 || Array.isArray(i.tags)) + ); + } + o(r, 'is'), (t.is = r); + })(Rse || (Rse = {})); + (function (t) { + (t.Empty = ''), + (t.QuickFix = 'quickfix'), + (t.Refactor = 'refactor'), + (t.RefactorExtract = 'refactor.extract'), + (t.RefactorInline = 'refactor.inline'), + (t.RefactorRewrite = 'refactor.rewrite'), + (t.Source = 'source'), + (t.SourceOrganizeImports = 'source.organizeImports'), + (t.SourceFixAll = 'source.fixAll'); + })(Nse || (Nse = {})); + (function (t) { + (t.Invoked = 1), (t.Automatic = 2); + })(kk || (kk = {})); + (function (t) { + function e(n, i, a) { + let s = { diagnostics: n }; + return i != null && (s.only = i), a != null && (s.triggerKind = a), s; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return ( + Fe.defined(i) && + Fe.typedArray(i.diagnostics, wk.is) && + (i.only === void 0 || Fe.typedArray(i.only, Fe.string)) && + (i.triggerKind === void 0 || i.triggerKind === kk.Invoked || i.triggerKind === kk.Automatic) + ); + } + o(r, 'is'), (t.is = r); + })(Mse || (Mse = {})); + (function (t) { + function e(n, i, a) { + let s = { title: n }, + l = !0; + return ( + typeof i == 'string' ? ((l = !1), (s.kind = i)) : dg.is(i) ? (s.command = i) : (s.edit = i), + l && a !== void 0 && (s.kind = a), + s + ); + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return ( + i && + Fe.string(i.title) && + (i.diagnostics === void 0 || Fe.typedArray(i.diagnostics, wk.is)) && + (i.kind === void 0 || Fe.string(i.kind)) && + (i.edit !== void 0 || i.command !== void 0) && + (i.command === void 0 || dg.is(i.command)) && + (i.isPreferred === void 0 || Fe.boolean(i.isPreferred)) && + (i.edit === void 0 || jN.is(i.edit)) + ); + } + o(r, 'is'), (t.is = r); + })(Ise || (Ise = {})); + (function (t) { + function e(n, i) { + let a = { range: n }; + return Fe.defined(i) && (a.data = i), a; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return Fe.defined(i) && wr.is(i.range) && (Fe.undefined(i.command) || dg.is(i.command)); + } + o(r, 'is'), (t.is = r); + })(Ose || (Ose = {})); + (function (t) { + function e(n, i) { + return { tabSize: n, insertSpaces: i }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return Fe.defined(i) && Fe.uinteger(i.tabSize) && Fe.boolean(i.insertSpaces); + } + o(r, 'is'), (t.is = r); + })(Pse || (Pse = {})); + (function (t) { + function e(n, i, a) { + return { range: n, target: i, data: a }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return Fe.defined(i) && wr.is(i.range) && (Fe.undefined(i.target) || Fe.string(i.target)); + } + o(r, 'is'), (t.is = r); + })(Bse || (Bse = {})); + (function (t) { + function e(n, i) { + return { range: n, parent: i }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return Fe.objectLiteral(i) && wr.is(i.range) && (i.parent === void 0 || t.is(i.parent)); + } + o(r, 'is'), (t.is = r); + })(Fse || (Fse = {})); + (function (t) { + (t.namespace = 'namespace'), + (t.type = 'type'), + (t.class = 'class'), + (t.enum = 'enum'), + (t.interface = 'interface'), + (t.struct = 'struct'), + (t.typeParameter = 'typeParameter'), + (t.parameter = 'parameter'), + (t.variable = 'variable'), + (t.property = 'property'), + (t.enumMember = 'enumMember'), + (t.event = 'event'), + (t.function = 'function'), + (t.method = 'method'), + (t.macro = 'macro'), + (t.keyword = 'keyword'), + (t.modifier = 'modifier'), + (t.comment = 'comment'), + (t.string = 'string'), + (t.number = 'number'), + (t.regexp = 'regexp'), + (t.operator = 'operator'), + (t.decorator = 'decorator'); + })(zse || (zse = {})); + (function (t) { + (t.declaration = 'declaration'), + (t.definition = 'definition'), + (t.readonly = 'readonly'), + (t.static = 'static'), + (t.deprecated = 'deprecated'), + (t.abstract = 'abstract'), + (t.async = 'async'), + (t.modification = 'modification'), + (t.documentation = 'documentation'), + (t.defaultLibrary = 'defaultLibrary'); + })(Gse || (Gse = {})); + (function (t) { + function e(r) { + let n = r; + return ( + Fe.objectLiteral(n) && + (n.resultId === void 0 || typeof n.resultId == 'string') && + Array.isArray(n.data) && + (n.data.length === 0 || typeof n.data[0] == 'number') + ); + } + o(e, 'is'), (t.is = e); + })($se || ($se = {})); + (function (t) { + function e(n, i) { + return { range: n, text: i }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return i != null && wr.is(i.range) && Fe.string(i.text); + } + o(r, 'is'), (t.is = r); + })(Vse || (Vse = {})); + (function (t) { + function e(n, i, a) { + return { range: n, variableName: i, caseSensitiveLookup: a }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return ( + i != null && + wr.is(i.range) && + Fe.boolean(i.caseSensitiveLookup) && + (Fe.string(i.variableName) || i.variableName === void 0) + ); + } + o(r, 'is'), (t.is = r); + })(Use || (Use = {})); + (function (t) { + function e(n, i) { + return { range: n, expression: i }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return i != null && wr.is(i.range) && (Fe.string(i.expression) || i.expression === void 0); + } + o(r, 'is'), (t.is = r); + })(Hse || (Hse = {})); + (function (t) { + function e(n, i) { + return { frameId: n, stoppedLocation: i }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return Fe.defined(i) && wr.is(n.stoppedLocation); + } + o(r, 'is'), (t.is = r); + })(Yse || (Yse = {})); + (function (t) { + (t.Type = 1), (t.Parameter = 2); + function e(r) { + return r === 1 || r === 2; + } + o(e, 'is'), (t.is = e); + })(ZN || (ZN = {})); + (function (t) { + function e(n) { + return { value: n }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return ( + Fe.objectLiteral(i) && + (i.tooltip === void 0 || Fe.string(i.tooltip) || E2.is(i.tooltip)) && + (i.location === void 0 || bk.is(i.location)) && + (i.command === void 0 || dg.is(i.command)) + ); + } + o(r, 'is'), (t.is = r); + })(JN || (JN = {})); + (function (t) { + function e(n, i, a) { + let s = { position: n, label: i }; + return a !== void 0 && (s.kind = a), s; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return ( + (Fe.objectLiteral(i) && + Ur.is(i.position) && + (Fe.string(i.label) || Fe.typedArray(i.label, JN.is)) && + (i.kind === void 0 || ZN.is(i.kind)) && + i.textEdits === void 0) || + (Fe.typedArray(i.textEdits, pg.is) && + (i.tooltip === void 0 || Fe.string(i.tooltip) || E2.is(i.tooltip)) && + (i.paddingLeft === void 0 || Fe.boolean(i.paddingLeft)) && + (i.paddingRight === void 0 || Fe.boolean(i.paddingRight))) + ); + } + o(r, 'is'), (t.is = r); + })(Wse || (Wse = {})); + (function (t) { + function e(r) { + return { kind: 'snippet', value: r }; + } + o(e, 'createSnippet'), (t.createSnippet = e); + })(qse || (qse = {})); + (function (t) { + function e(r, n, i, a) { + return { insertText: r, filterText: n, range: i, command: a }; + } + o(e, 'create'), (t.create = e); + })(Xse || (Xse = {})); + (function (t) { + function e(r) { + return { items: r }; + } + o(e, 'create'), (t.create = e); + })(jse || (jse = {})); + (function (t) { + (t.Invoked = 0), (t.Automatic = 1); + })(Kse || (Kse = {})); + (function (t) { + function e(r, n) { + return { range: r, text: n }; + } + o(e, 'create'), (t.create = e); + })(Qse || (Qse = {})); + (function (t) { + function e(r, n) { + return { triggerKind: r, selectedCompletionInfo: n }; + } + o(e, 'create'), (t.create = e); + })(Zse || (Zse = {})); + (function (t) { + function e(r) { + let n = r; + return Fe.objectLiteral(n) && $N.is(n.uri) && Fe.string(n.name); + } + o(e, 'is'), (t.is = e); + })(Jse || (Jse = {})); + (function (t) { + function e(a, s, l, u) { + return new eM(a, s, l, u); + } + o(e, 'create'), (t.create = e); + function r(a) { + let s = a; + return !!( + Fe.defined(s) && + Fe.string(s.uri) && + (Fe.undefined(s.languageId) || Fe.string(s.languageId)) && + Fe.uinteger(s.lineCount) && + Fe.func(s.getText) && + Fe.func(s.positionAt) && + Fe.func(s.offsetAt) + ); + } + o(r, 'is'), (t.is = r); + function n(a, s) { + let l = a.getText(), + u = i(s, (f, d) => { + let p = f.range.start.line - d.range.start.line; + return p === 0 ? f.range.start.character - d.range.start.character : p; + }), + h = l.length; + for (let f = u.length - 1; f >= 0; f--) { + let d = u[f], + p = a.offsetAt(d.range.start), + m = a.offsetAt(d.range.end); + if (m <= h) l = l.substring(0, p) + d.newText + l.substring(m, l.length); + else throw new Error('Overlapping edit'); + h = p; + } + return l; + } + o(n, 'applyEdits'), (t.applyEdits = n); + function i(a, s) { + if (a.length <= 1) return a; + let l = (a.length / 2) | 0, + u = a.slice(0, l), + h = a.slice(l); + i(u, s), i(h, s); + let f = 0, + d = 0, + p = 0; + for (; f < u.length && d < h.length; ) s(u[f], h[d]) <= 0 ? (a[p++] = u[f++]) : (a[p++] = h[d++]); + for (; f < u.length; ) a[p++] = u[f++]; + for (; d < h.length; ) a[p++] = h[d++]; + return a; + } + o(i, 'mergeSort'); + })(eoe || (eoe = {})); + eM = class { + static { + o(this, 'FullTextDocument'); + } + constructor(e, r, n, i) { + (this._uri = e), + (this._languageId = r), + (this._version = n), + (this._content = i), + (this._lineOffsets = void 0); + } + get uri() { + return this._uri; + } + get languageId() { + return this._languageId; + } + get version() { + return this._version; + } + getText(e) { + if (e) { + let r = this.offsetAt(e.start), + n = this.offsetAt(e.end); + return this._content.substring(r, n); + } + return this._content; + } + update(e, r) { + (this._content = e.text), (this._version = r), (this._lineOffsets = void 0); + } + getLineOffsets() { + if (this._lineOffsets === void 0) { + let e = [], + r = this._content, + n = !0; + for (let i = 0; i < r.length; i++) { + n && (e.push(i), (n = !1)); + let a = r.charAt(i); + (n = + a === '\r' || + a === + ` +`), + a === '\r' && + i + 1 < r.length && + r.charAt(i + 1) === + ` +` && + i++; + } + n && r.length > 0 && e.push(r.length), (this._lineOffsets = e); + } + return this._lineOffsets; + } + positionAt(e) { + e = Math.max(Math.min(e, this._content.length), 0); + let r = this.getLineOffsets(), + n = 0, + i = r.length; + if (i === 0) return Ur.create(0, e); + for (; n < i; ) { + let s = Math.floor((n + i) / 2); + r[s] > e ? (i = s) : (n = s + 1); + } + let a = n - 1; + return Ur.create(a, e - r[a]); + } + offsetAt(e) { + let r = this.getLineOffsets(); + if (e.line >= r.length) return this._content.length; + if (e.line < 0) return 0; + let n = r[e.line], + i = e.line + 1 < r.length ? r[e.line + 1] : this._content.length; + return Math.max(Math.min(n + e.character, i), n); + } + get lineCount() { + return this.getLineOffsets().length; + } + }; + (function (t) { + let e = Object.prototype.toString; + function r(m) { + return typeof m < 'u'; + } + o(r, 'defined'), (t.defined = r); + function n(m) { + return typeof m > 'u'; + } + o(n, 'undefined'), (t.undefined = n); + function i(m) { + return m === !0 || m === !1; + } + o(i, 'boolean'), (t.boolean = i); + function a(m) { + return e.call(m) === '[object String]'; + } + o(a, 'string'), (t.string = a); + function s(m) { + return e.call(m) === '[object Number]'; + } + o(s, 'number'), (t.number = s); + function l(m, g, y) { + return e.call(m) === '[object Number]' && g <= m && m <= y; + } + o(l, 'numberRange'), (t.numberRange = l); + function u(m) { + return e.call(m) === '[object Number]' && -2147483648 <= m && m <= 2147483647; + } + o(u, 'integer'), (t.integer = u); + function h(m) { + return e.call(m) === '[object Number]' && 0 <= m && m <= 2147483647; + } + o(h, 'uinteger'), (t.uinteger = h); + function f(m) { + return e.call(m) === '[object Function]'; + } + o(f, 'func'), (t.func = f); + function d(m) { + return m !== null && typeof m == 'object'; + } + o(d, 'objectLiteral'), (t.objectLiteral = d); + function p(m, g) { + return Array.isArray(m) && m.every(g); + } + o(p, 'typedArray'), (t.typedArray = p); + })(Fe || (Fe = {})); + }); + var C2, + S2, + d0, + p0, + rM, + gg, + Ek = R(() => { + 'use strict'; + tM(); + Vo(); + Rl(); + (C2 = class { + static { + o(this, 'CstNodeBuilder'); + } + constructor() { + this.nodeStack = []; + } + get current() { + return this.nodeStack[this.nodeStack.length - 1]; + } + buildRootNode(e) { + return ( + (this.rootNode = new gg(e)), + (this.rootNode.root = this.rootNode), + (this.nodeStack = [this.rootNode]), + this.rootNode + ); + } + buildCompositeNode(e) { + let r = new p0(); + return ( + (r.grammarSource = e), + (r.root = this.rootNode), + this.current.content.push(r), + this.nodeStack.push(r), + r + ); + } + buildLeafNode(e, r) { + let n = new d0(e.startOffset, e.image.length, zm(e), e.tokenType, !1); + return (n.grammarSource = r), (n.root = this.rootNode), this.current.content.push(n), n; + } + removeNode(e) { + let r = e.container; + if (r) { + let n = r.content.indexOf(e); + n >= 0 && r.content.splice(n, 1); + } + } + construct(e) { + let r = this.current; + typeof e.$type == 'string' && (this.current.astNode = e), (e.$cstNode = r); + let n = this.nodeStack.pop(); + n?.content.length === 0 && this.removeNode(n); + } + addHiddenTokens(e) { + for (let r of e) { + let n = new d0(r.startOffset, r.image.length, zm(r), r.tokenType, !0); + (n.root = this.rootNode), this.addHiddenToken(this.rootNode, n); + } + } + addHiddenToken(e, r) { + let { offset: n, end: i } = r; + for (let a = 0; a < e.content.length; a++) { + let s = e.content[a], + { offset: l, end: u } = s; + if (co(s) && n > l && i < u) { + this.addHiddenToken(s, r); + return; + } else if (i <= l) { + e.content.splice(a, 0, r); + return; + } + } + e.content.push(r); + } + }), + (S2 = class { + static { + o(this, 'AbstractCstNode'); + } + get parent() { + return this.container; + } + get feature() { + return this.grammarSource; + } + get hidden() { + return !1; + } + get astNode() { + var e, r; + let n = + typeof ((e = this._astNode) === null || e === void 0 ? void 0 : e.$type) == 'string' + ? this._astNode + : (r = this.container) === null || r === void 0 + ? void 0 + : r.astNode; + if (!n) throw new Error('This node has no associated AST element'); + return n; + } + set astNode(e) { + this._astNode = e; + } + get element() { + return this.astNode; + } + get text() { + return this.root.fullText.substring(this.offset, this.end); + } + }), + (d0 = class extends S2 { + static { + o(this, 'LeafCstNodeImpl'); + } + get offset() { + return this._offset; + } + get length() { + return this._length; + } + get end() { + return this._offset + this._length; + } + get hidden() { + return this._hidden; + } + get tokenType() { + return this._tokenType; + } + get range() { + return this._range; + } + constructor(e, r, n, i, a = !1) { + super(), + (this._hidden = a), + (this._offset = e), + (this._tokenType = i), + (this._length = r), + (this._range = n); + } + }), + (p0 = class extends S2 { + static { + o(this, 'CompositeCstNodeImpl'); + } + constructor() { + super(...arguments), (this.content = new rM(this)); + } + get children() { + return this.content; + } + get offset() { + var e, r; + return (r = (e = this.firstNonHiddenNode) === null || e === void 0 ? void 0 : e.offset) !== + null && r !== void 0 + ? r + : 0; + } + get length() { + return this.end - this.offset; + } + get end() { + var e, r; + return (r = (e = this.lastNonHiddenNode) === null || e === void 0 ? void 0 : e.end) !== null && + r !== void 0 + ? r + : 0; + } + get range() { + let e = this.firstNonHiddenNode, + r = this.lastNonHiddenNode; + if (e && r) { + if (this._rangeCache === void 0) { + let { range: n } = e, + { range: i } = r; + this._rangeCache = { + start: n.start, + end: i.end.line < n.start.line ? n.start : i.end + }; + } + return this._rangeCache; + } else return { start: Ur.create(0, 0), end: Ur.create(0, 0) }; + } + get firstNonHiddenNode() { + for (let e of this.content) if (!e.hidden) return e; + return this.content[0]; + } + get lastNonHiddenNode() { + for (let e = this.content.length - 1; e >= 0; e--) { + let r = this.content[e]; + if (!r.hidden) return r; + } + return this.content[this.content.length - 1]; + } + }), + (rM = class t extends Array { + static { + o(this, 'CstNodeContainer'); + } + constructor(e) { + super(), (this.parent = e), Object.setPrototypeOf(this, t.prototype); + } + push(...e) { + return this.addParents(e), super.push(...e); + } + unshift(...e) { + return this.addParents(e), super.unshift(...e); + } + splice(e, r, ...n) { + return this.addParents(n), super.splice(e, r, ...n); + } + addParents(e) { + for (let r of e) r.container = this.parent; + } + }), + (gg = class extends p0 { + static { + o(this, 'RootCstNodeImpl'); + } + get text() { + return this._text.substring(this.offset, this.end); + } + get fullText() { + return this._text; + } + constructor(e) { + super(), (this._text = ''), (this._text = e ?? ''); + } + }); + }); + function nM(t) { + return t.$type === Ck; + } + var Ck, + toe, + roe, + A2, + _2, + Sk, + yg, + L2, + LOe, + iM, + D2 = R(() => { + 'use strict'; + u0(); + Jae(); + Sc(); + Il(); + es(); + Ek(); + Ck = Symbol('Datatype'); + o(nM, 'isDataTypeNode'); + (toe = '\u200B'), + (roe = o((t) => (t.endsWith(toe) ? t : t + toe), 'withRuleSuffix')), + (A2 = class { + static { + o(this, 'AbstractLangiumParser'); + } + constructor(e) { + (this._unorderedGroups = new Map()), (this.lexer = e.parser.Lexer); + let r = this.lexer.definition; + this.wrapper = new iM( + r, + Object.assign(Object.assign({}, e.parser.ParserConfig), { + errorMessageProvider: e.parser.ParserErrorMessageProvider + }) + ); + } + alternatives(e, r) { + this.wrapper.wrapOr(e, r); + } + optional(e, r) { + this.wrapper.wrapOption(e, r); + } + many(e, r) { + this.wrapper.wrapMany(e, r); + } + atLeastOne(e, r) { + this.wrapper.wrapAtLeastOne(e, r); + } + isRecording() { + return this.wrapper.IS_RECORDING; + } + get unorderedGroups() { + return this._unorderedGroups; + } + getRuleStack() { + return this.wrapper.RULE_STACK; + } + finalize() { + this.wrapper.wrapSelfAnalysis(); + } + }), + (_2 = class extends A2 { + static { + o(this, 'LangiumParser'); + } + get current() { + return this.stack[this.stack.length - 1]; + } + constructor(e) { + super(e), + (this.nodeBuilder = new C2()), + (this.stack = []), + (this.assignmentMap = new Map()), + (this.linker = e.references.Linker), + (this.converter = e.parser.ValueConverter), + (this.astReflection = e.shared.AstReflection); + } + rule(e, r) { + let n = e.fragment ? void 0 : Jv(e) ? Ck : r0(e), + i = this.wrapper.DEFINE_RULE(roe(e.name), this.startImplementation(n, r).bind(this)); + return e.entry && (this.mainRule = i), i; + } + parse(e) { + this.nodeBuilder.buildRootNode(e); + let r = this.lexer.tokenize(e); + this.wrapper.input = r.tokens; + let n = this.mainRule.call(this.wrapper, {}); + return ( + this.nodeBuilder.addHiddenTokens(r.hidden), + this.unorderedGroups.clear(), + { + value: n, + lexerErrors: r.errors, + parserErrors: this.wrapper.errors + } + ); + } + startImplementation(e, r) { + return (n) => { + if (!this.isRecording()) { + let a = { $type: e }; + this.stack.push(a), e === Ck && (a.value = ''); + } + let i; + try { + i = r(n); + } catch { + i = void 0; + } + return !this.isRecording() && i === void 0 && (i = this.construct()), i; + }; + } + consume(e, r, n) { + let i = this.wrapper.wrapConsume(e, r); + if (!this.isRecording() && this.isValidToken(i)) { + let a = this.nodeBuilder.buildLeafNode(i, n), + { assignment: s, isCrossRef: l } = this.getAssignment(n), + u = this.current; + if (s) { + let h = Ho(n) ? i.image : this.converter.convert(i.image, a); + this.assign(s.operator, s.feature, h, a, l); + } else if (nM(u)) { + let h = i.image; + Ho(n) || (h = this.converter.convert(h, a).toString()), (u.value += h); + } + } + } + isValidToken(e) { + return ( + !e.isInsertedInRecovery && + !isNaN(e.startOffset) && + typeof e.endOffset == 'number' && + !isNaN(e.endOffset) + ); + } + subrule(e, r, n, i) { + let a; + this.isRecording() || (a = this.nodeBuilder.buildCompositeNode(n)); + let s = this.wrapper.wrapSubrule(e, r, i); + !this.isRecording() && a && a.length > 0 && this.performSubruleAssignment(s, n, a); + } + performSubruleAssignment(e, r, n) { + let { assignment: i, isCrossRef: a } = this.getAssignment(r); + if (i) this.assign(i.operator, i.feature, e, n, a); + else if (!i) { + let s = this.current; + if (nM(s)) s.value += e.toString(); + else if (typeof e == 'object' && e) { + let l = e.$type, + u = this.assignWithoutOverride(e, s); + l && (u.$type = l); + let h = u; + this.stack.pop(), this.stack.push(h); + } + } + } + action(e, r) { + if (!this.isRecording()) { + let n = this.current; + if (!n.$cstNode && r.feature && r.operator) { + n = this.construct(!1); + let a = n.$cstNode.feature; + this.nodeBuilder.buildCompositeNode(a); + } + let i = { $type: e }; + this.stack.pop(), + this.stack.push(i), + r.feature && r.operator && this.assign(r.operator, r.feature, n, n.$cstNode, !1); + } + } + construct(e = !0) { + if (this.isRecording()) return; + let r = this.current; + return ( + ET(r), + this.nodeBuilder.construct(r), + e && this.stack.pop(), + nM(r) ? this.converter.convert(r.value, r.$cstNode) : (NR(this.astReflection, r), r) + ); + } + getAssignment(e) { + if (!this.assignmentMap.has(e)) { + let r = Qd(e, Nl); + this.assignmentMap.set(e, { + assignment: r, + isCrossRef: r ? Kd(r.terminal) : !1 + }); + } + return this.assignmentMap.get(e); + } + assign(e, r, n, i, a) { + let s = this.current, + l; + switch ( + (a && typeof n == 'string' ? (l = this.linker.buildReference(s, r, i, n)) : (l = n), e) + ) { + case '=': { + s[r] = l; + break; + } + case '?=': { + s[r] = !0; + break; + } + case '+=': + Array.isArray(s[r]) || (s[r] = []), s[r].push(l); + } + } + assignWithoutOverride(e, r) { + for (let [n, i] of Object.entries(r)) { + let a = e[n]; + a === void 0 + ? (e[n] = i) + : Array.isArray(a) && Array.isArray(i) && (i.push(...a), (e[n] = i)); + } + return e; + } + get definitionErrors() { + return this.wrapper.definitionErrors; + } + }), + (Sk = class { + static { + o(this, 'AbstractParserErrorMessageProvider'); + } + buildMismatchTokenMessage(e) { + return Gu.buildMismatchTokenMessage(e); + } + buildNotAllInputParsedMessage(e) { + return Gu.buildNotAllInputParsedMessage(e); + } + buildNoViableAltMessage(e) { + return Gu.buildNoViableAltMessage(e); + } + buildEarlyExitMessage(e) { + return Gu.buildEarlyExitMessage(e); + } + }), + (yg = class extends Sk { + static { + o(this, 'LangiumParserErrorMessageProvider'); + } + buildMismatchTokenMessage({ expected: e, actual: r }) { + return `Expecting ${ + e.LABEL + ? '`' + e.LABEL + '`' + : e.name.endsWith(':KW') + ? `keyword '${e.name.substring(0, e.name.length - 3)}'` + : `token of type '${e.name}'` + } but found \`${r.image}\`.`; + } + buildNotAllInputParsedMessage({ firstRedundant: e }) { + return `Expecting end of file but found \`${e.image}\`.`; + } + }), + (L2 = class extends A2 { + static { + o(this, 'LangiumCompletionParser'); + } + constructor() { + super(...arguments), + (this.tokens = []), + (this.elementStack = []), + (this.lastElementStack = []), + (this.nextTokenIndex = 0), + (this.stackSize = 0); + } + action() {} + construct() {} + parse(e) { + this.resetState(); + let r = this.lexer.tokenize(e); + return ( + (this.tokens = r.tokens), + (this.wrapper.input = [...this.tokens]), + this.mainRule.call(this.wrapper, {}), + this.unorderedGroups.clear(), + { + tokens: this.tokens, + elementStack: [...this.lastElementStack], + tokenIndex: this.nextTokenIndex + } + ); + } + rule(e, r) { + let n = this.wrapper.DEFINE_RULE(roe(e.name), this.startImplementation(r).bind(this)); + return e.entry && (this.mainRule = n), n; + } + resetState() { + (this.elementStack = []), + (this.lastElementStack = []), + (this.nextTokenIndex = 0), + (this.stackSize = 0); + } + startImplementation(e) { + return (r) => { + let n = this.keepStackSize(); + try { + e(r); + } finally { + this.resetStackSize(n); + } + }; + } + removeUnexpectedElements() { + this.elementStack.splice(this.stackSize); + } + keepStackSize() { + let e = this.elementStack.length; + return (this.stackSize = e), e; + } + resetStackSize(e) { + this.removeUnexpectedElements(), (this.stackSize = e); + } + consume(e, r, n) { + this.wrapper.wrapConsume(e, r), + this.isRecording() || + ((this.lastElementStack = [...this.elementStack, n]), + (this.nextTokenIndex = this.currIdx + 1)); + } + subrule(e, r, n, i) { + this.before(n), this.wrapper.wrapSubrule(e, r, i), this.after(n); + } + before(e) { + this.isRecording() || this.elementStack.push(e); + } + after(e) { + if (!this.isRecording()) { + let r = this.elementStack.lastIndexOf(e); + r >= 0 && this.elementStack.splice(r); + } + } + get currIdx() { + return this.wrapper.currIdx; + } + }), + (LOe = { + recoveryEnabled: !0, + nodeLocationTracking: 'full', + skipValidations: !0, + errorMessageProvider: new yg() + }), + (iM = class extends x2 { + static { + o(this, 'ChevrotainWrapper'); + } + constructor(e, r) { + let n = r && 'maxLookahead' in r; + super( + e, + Object.assign( + Object.assign(Object.assign({}, LOe), { + lookaheadStrategy: n ? new $u({ maxLookahead: r.maxLookahead }) : new k2() + }), + r + ) + ); + } + get IS_RECORDING() { + return this.RECORDING_PHASE; + } + DEFINE_RULE(e, r) { + return this.RULE(e, r); + } + wrapSelfAnalysis() { + this.performSelfAnalysis(); + } + wrapConsume(e, r) { + return this.consume(e, r); + } + wrapSubrule(e, r, n) { + return this.subrule(e, r, { ARGS: [n] }); + } + wrapOr(e, r) { + this.or(e, r); + } + wrapOption(e, r) { + this.option(e, r); + } + wrapMany(e, r) { + this.many(e, r); + } + wrapAtLeastOne(e, r) { + this.atLeastOne(e, r); + } + }); + }); + function _k(t, e, r) { + return DOe({ parser: e, tokens: r, rules: new Map(), ruleNames: new Map() }, t), e; + } + function DOe(t, e) { + let r = Qv(e, !1), + n = Kr(e.rules) + .filter(Oa) + .filter((i) => r.has(i)); + for (let i of n) { + let a = Object.assign(Object.assign({}, t), { + consume: 1, + optional: 1, + subrule: 1, + many: 1, + or: 1 + }); + a.rules.set(i.name, t.parser.rule(i, m0(a, i.definition))); + } + } + function m0(t, e, r = !1) { + let n; + if (Ho(e)) n = BOe(t, e); + else if (Iu(e)) n = ROe(t, e); + else if (Nl(e)) n = m0(t, e.terminal); + else if (Kd(e)) n = noe(t, e); + else if (Ml(e)) n = NOe(t, e); + else if (wT(e)) n = IOe(t, e); + else if (kT(e)) n = OOe(t, e); + else if (rf(e)) n = POe(t, e); + else if (fR(e)) { + let i = t.consume++; + n = o(() => t.parser.consume(i, fo, e), 'method'); + } else throw new jd(e.$cstNode, `Unexpected element type: ${e.$type}`); + return ioe(t, r ? void 0 : Ak(e), n, e.cardinality); + } + function ROe(t, e) { + let r = r0(e); + return () => t.parser.action(r, e); + } + function NOe(t, e) { + let r = e.rule.ref; + if (Oa(r)) { + let n = t.subrule++, + i = e.arguments.length > 0 ? MOe(r, e.arguments) : () => ({}); + return (a) => t.parser.subrule(n, aoe(t, r), e, i(a)); + } else if (Uo(r)) { + let n = t.consume++, + i = aM(t, r.name); + return () => t.parser.consume(n, i, e); + } else if (r) tf(r); + else throw new jd(e.$cstNode, `Undefined rule type: ${e.$type}`); + } + function MOe(t, e) { + let r = e.map((n) => Vu(n.value)); + return (n) => { + let i = {}; + for (let a = 0; a < r.length; a++) { + let s = t.parameters[a], + l = r[a]; + i[s.name] = l(n); + } + return i; + }; + } + function Vu(t) { + if (GD(t)) { + let e = Vu(t.left), + r = Vu(t.right); + return (n) => e(n) || r(n); + } else if (FD(t)) { + let e = Vu(t.left), + r = Vu(t.right); + return (n) => e(n) && r(n); + } else if (YD(t)) { + let e = Vu(t.value); + return (r) => !e(r); + } else if (jD(t)) { + let e = t.parameter.ref.name; + return (r) => r !== void 0 && r[e] === !0; + } else if (PD(t)) { + let e = !!t.true; + return () => e; + } + tf(t); + } + function IOe(t, e) { + if (e.elements.length === 1) return m0(t, e.elements[0]); + { + let r = []; + for (let i of e.elements) { + let a = { ALT: m0(t, i, !0) }, + s = Ak(i); + s && (a.GATE = Vu(s)), r.push(a); + } + let n = t.or++; + return (i) => + t.parser.alternatives( + n, + r.map((a) => { + let s = { ALT: o(() => a.ALT(i), 'ALT') }, + l = a.GATE; + return l && (s.GATE = () => l(i)), s; + }) + ); + } + } + function OOe(t, e) { + if (e.elements.length === 1) return m0(t, e.elements[0]); + let r = []; + for (let l of e.elements) { + let u = { ALT: m0(t, l, !0) }, + h = Ak(l); + h && (u.GATE = Vu(h)), r.push(u); + } + let n = t.or++, + i = o((l, u) => { + let h = u.getRuleStack().join('-'); + return `uGroup_${l}_${h}`; + }, 'idFunc'), + a = o( + (l) => + t.parser.alternatives( + n, + r.map((u, h) => { + let f = { ALT: o(() => !0, 'ALT') }, + d = t.parser; + f.ALT = () => { + if ((u.ALT(l), !d.isRecording())) { + let m = i(n, d); + d.unorderedGroups.get(m) || d.unorderedGroups.set(m, []); + let g = d.unorderedGroups.get(m); + typeof g?.[h] > 'u' && (g[h] = !0); + } + }; + let p = u.GATE; + return ( + p + ? (f.GATE = () => p(l)) + : (f.GATE = () => { + let m = d.unorderedGroups.get(i(n, d)); + return !m?.[h]; + }), + f + ); + }) + ), + 'alternatives' + ), + s = ioe(t, Ak(e), a, '*'); + return (l) => { + s(l), t.parser.isRecording() || t.parser.unorderedGroups.delete(i(n, t.parser)); + }; + } + function POe(t, e) { + let r = e.elements.map((n) => m0(t, n)); + return (n) => r.forEach((i) => i(n)); + } + function Ak(t) { + if (rf(t)) return t.guardCondition; + } + function noe(t, e, r = e.terminal) { + if (r) + if (Ml(r) && Oa(r.rule.ref)) { + let n = t.subrule++; + return (i) => t.parser.subrule(n, aoe(t, r.rule.ref), e, i); + } else if (Ml(r) && Uo(r.rule.ref)) { + let n = t.consume++, + i = aM(t, r.rule.ref.name); + return () => t.parser.consume(n, i, e); + } else if (Ho(r)) { + let n = t.consume++, + i = aM(t, r.value); + return () => t.parser.consume(n, i, e); + } else throw new Error('Could not build cross reference parser'); + else { + if (!e.type.ref) throw new Error('Could not resolve reference to type: ' + e.type.$refText); + let n = DT(e.type.ref), + i = n?.terminal; + if (!i) throw new Error('Could not find name assignment for type: ' + r0(e.type.ref)); + return noe(t, e, i); + } + } + function BOe(t, e) { + let r = t.consume++, + n = t.tokens[e.value]; + if (!n) throw new Error('Could not find token for keyword: ' + e.value); + return () => t.parser.consume(r, n, e); + } + function ioe(t, e, r, n) { + let i = e && Vu(e); + if (!n) + if (i) { + let a = t.or++; + return (s) => + t.parser.alternatives(a, [ + { ALT: o(() => r(s), 'ALT'), GATE: o(() => i(s), 'GATE') }, + { ALT: gk(), GATE: o(() => !i(s), 'GATE') } + ]); + } else return r; + if (n === '*') { + let a = t.many++; + return (s) => + t.parser.many(a, { + DEF: o(() => r(s), 'DEF'), + GATE: i ? () => i(s) : void 0 + }); + } else if (n === '+') { + let a = t.many++; + if (i) { + let s = t.or++; + return (l) => + t.parser.alternatives(s, [ + { + ALT: o(() => t.parser.atLeastOne(a, { DEF: o(() => r(l), 'DEF') }), 'ALT'), + GATE: o(() => i(l), 'GATE') + }, + { ALT: gk(), GATE: o(() => !i(l), 'GATE') } + ]); + } else return (s) => t.parser.atLeastOne(a, { DEF: o(() => r(s), 'DEF') }); + } else if (n === '?') { + let a = t.optional++; + return (s) => + t.parser.optional(a, { + DEF: o(() => r(s), 'DEF'), + GATE: i ? () => i(s) : void 0 + }); + } else tf(n); + } + function aoe(t, e) { + let r = FOe(t, e), + n = t.rules.get(r); + if (!n) throw new Error(`Rule "${r}" not found."`); + return n; + } + function FOe(t, e) { + if (Oa(e)) return e.name; + if (t.ruleNames.has(e)) return t.ruleNames.get(e); + { + let r = e, + n = r.$container, + i = e.$type; + for (; !Oa(n); ) + (rf(n) || wT(n) || kT(n)) && (i = n.elements.indexOf(r).toString() + ':' + i), + (r = n), + (n = n.$container); + return (i = n.name + ':' + i), t.ruleNames.set(e, i), i; + } + } + function aM(t, e) { + let r = t.tokens[e]; + if (!r) throw new Error(`Token "${e}" not found."`); + return r; + } + var sM = R(() => { + 'use strict'; + u0(); + Sc(); + pT(); + Ds(); + Il(); + o(_k, 'createParser'); + o(DOe, 'buildRules'); + o(m0, 'buildElement'); + o(ROe, 'buildAction'); + o(NOe, 'buildRuleCall'); + o(MOe, 'buildRuleCallPredicate'); + o(Vu, 'buildPredicate'); + o(IOe, 'buildAlternatives'); + o(OOe, 'buildUnorderedGroup'); + o(POe, 'buildGroup'); + o(Ak, 'getGuardCondition'); + o(noe, 'buildCrossReference'); + o(BOe, 'buildKeyword'); + o(ioe, 'wrap'); + o(aoe, 'getRule'); + o(FOe, 'getRuleName'); + o(aM, 'getToken'); + }); + function oM(t) { + let e = t.Grammar, + r = t.parser.Lexer, + n = new L2(t); + return _k(e, n, r.definition), n.finalize(), n; + } + var lM = R(() => { + 'use strict'; + D2(); + sM(); + o(oM, 'createCompletionParser'); + }); + function cM(t) { + let e = soe(t); + return e.finalize(), e; + } + function soe(t) { + let e = t.Grammar, + r = t.parser.Lexer, + n = new _2(t); + return _k(e, n, r.definition); + } + var uM = R(() => { + 'use strict'; + D2(); + sM(); + o(cM, 'createLangiumParser'); + o(soe, 'prepareLangiumParser'); + }); + var g0, + hM = R(() => { + 'use strict'; + u0(); + Sc(); + es(); + Il(); + Um(); + Ds(); + g0 = class { + static { + o(this, 'DefaultTokenBuilder'); + } + buildTokens(e, r) { + let n = Kr(Qv(e, !1)), + i = this.buildTerminalTokens(n), + a = this.buildKeywordTokens(n, i, r); + return ( + i.forEach((s) => { + let l = s.PATTERN; + typeof l == 'object' && l && 'test' in l && _T(l) ? a.unshift(s) : a.push(s); + }), + a + ); + } + buildTerminalTokens(e) { + return e + .filter(Uo) + .filter((r) => !r.fragment) + .map((r) => this.buildTerminalToken(r)) + .toArray(); + } + buildTerminalToken(e) { + let r = Hm(e), + n = this.requiresCustomPattern(r) ? this.regexPatternFunction(r) : r, + i = { name: e.name, PATTERN: n, LINE_BREAKS: !0 }; + return e.hidden && (i.GROUP = _T(r) ? ni.SKIPPED : 'hidden'), i; + } + requiresCustomPattern(e) { + return e.flags.includes('u') ? !0 : !!(e.source.includes('?<=') || e.source.includes('? ((r.lastIndex = i), r.exec(n)); + } + buildKeywordTokens(e, r, n) { + return e + .filter(Oa) + .flatMap((i) => Ac(i).filter(Ho)) + .distinct((i) => i.value) + .toArray() + .sort((i, a) => a.value.length - i.value.length) + .map((i) => this.buildKeywordToken(i, r, !!n?.caseInsensitive)); + } + buildKeywordToken(e, r, n) { + return { + name: e.value, + PATTERN: this.buildKeywordPattern(e, n), + LONGER_ALT: this.findLongerAlt(e, r) + }; + } + buildKeywordPattern(e, r) { + return r ? new RegExp(zR(e.value)) : e.value; + } + findLongerAlt(e, r) { + return r.reduce((n, i) => { + let a = i?.PATTERN; + return a?.source && GR('^' + a.source + '$', e.value) && n.push(i), n; + }, []); + } + }; + }); + var y0, + Dc, + fM = R(() => { + 'use strict'; + Sc(); + Il(); + y0 = class { + static { + o(this, 'DefaultValueConverter'); + } + convert(e, r) { + let n = r.grammarSource; + if ((Kd(n) && (n = UR(n)), Ml(n))) { + let i = n.rule.ref; + if (!i) throw new Error('This cst node was not parsed by a rule.'); + return this.runConverter(i, e, r); + } + return e; + } + runConverter(e, r, n) { + var i; + switch (e.name.toUpperCase()) { + case 'INT': + return Dc.convertInt(r); + case 'STRING': + return Dc.convertString(r); + case 'ID': + return Dc.convertID(r); + } + switch ((i = QR(e)) === null || i === void 0 ? void 0 : i.toLowerCase()) { + case 'number': + return Dc.convertNumber(r); + case 'boolean': + return Dc.convertBoolean(r); + case 'bigint': + return Dc.convertBigint(r); + case 'date': + return Dc.convertDate(r); + default: + return r; + } + } + }; + (function (t) { + function e(h) { + let f = ''; + for (let d = 1; d < h.length - 1; d++) { + let p = h.charAt(d); + if (p === '\\') { + let m = h.charAt(++d); + f += r(m); + } else f += p; + } + return f; + } + o(e, 'convertString'), (t.convertString = e); + function r(h) { + switch (h) { + case 'b': + return '\b'; + case 'f': + return '\f'; + case 'n': + return ` +`; + case 'r': + return '\r'; + case 't': + return ' '; + case 'v': + return '\v'; + case '0': + return '\0'; + default: + return h; + } + } + o(r, 'convertEscapeCharacter'); + function n(h) { + return h.charAt(0) === '^' ? h.substring(1) : h; + } + o(n, 'convertID'), (t.convertID = n); + function i(h) { + return parseInt(h); + } + o(i, 'convertInt'), (t.convertInt = i); + function a(h) { + return BigInt(h); + } + o(a, 'convertBigint'), (t.convertBigint = a); + function s(h) { + return new Date(h); + } + o(s, 'convertDate'), (t.convertDate = s); + function l(h) { + return Number(h); + } + o(l, 'convertNumber'), (t.convertNumber = l); + function u(h) { + return h.toLowerCase() === 'true'; + } + o(u, 'convertBoolean'), (t.convertBoolean = u); + })(Dc || (Dc = {})); + }); + var gM = gi((mM) => { + 'use strict'; + Object.defineProperty(mM, '__esModule', { value: !0 }); + var dM; + function pM() { + if (dM === void 0) throw new Error('No runtime abstraction layer installed'); + return dM; + } + o(pM, 'RAL'); + (function (t) { + function e(r) { + if (r === void 0) throw new Error('No runtime abstraction layer provided'); + dM = r; + } + o(e, 'install'), (t.install = e); + })(pM || (pM = {})); + mM.default = pM; + }); + var coe = gi((Pa) => { + 'use strict'; + Object.defineProperty(Pa, '__esModule', { value: !0 }); + Pa.stringArray = Pa.array = Pa.func = Pa.error = Pa.number = Pa.string = Pa.boolean = void 0; + function zOe(t) { + return t === !0 || t === !1; + } + o(zOe, 'boolean'); + Pa.boolean = zOe; + function ooe(t) { + return typeof t == 'string' || t instanceof String; + } + o(ooe, 'string'); + Pa.string = ooe; + function GOe(t) { + return typeof t == 'number' || t instanceof Number; + } + o(GOe, 'number'); + Pa.number = GOe; + function $Oe(t) { + return t instanceof Error; + } + o($Oe, 'error'); + Pa.error = $Oe; + function VOe(t) { + return typeof t == 'function'; + } + o(VOe, 'func'); + Pa.func = VOe; + function loe(t) { + return Array.isArray(t); + } + o(loe, 'array'); + Pa.array = loe; + function UOe(t) { + return loe(t) && t.every((e) => ooe(e)); + } + o(UOe, 'stringArray'); + Pa.stringArray = UOe; + }); + var vM = gi((vg) => { + 'use strict'; + Object.defineProperty(vg, '__esModule', { value: !0 }); + vg.Emitter = vg.Event = void 0; + var HOe = gM(), + uoe; + (function (t) { + let e = { dispose() {} }; + t.None = function () { + return e; + }; + })(uoe || (vg.Event = uoe = {})); + var yM = class { + static { + o(this, 'CallbackList'); + } + add(e, r = null, n) { + this._callbacks || ((this._callbacks = []), (this._contexts = [])), + this._callbacks.push(e), + this._contexts.push(r), + Array.isArray(n) && n.push({ dispose: o(() => this.remove(e, r), 'dispose') }); + } + remove(e, r = null) { + if (!this._callbacks) return; + let n = !1; + for (let i = 0, a = this._callbacks.length; i < a; i++) + if (this._callbacks[i] === e) + if (this._contexts[i] === r) { + this._callbacks.splice(i, 1), this._contexts.splice(i, 1); + return; + } else n = !0; + if (n) + throw new Error( + 'When adding a listener with a context, you should remove it with the same context' + ); + } + invoke(...e) { + if (!this._callbacks) return []; + let r = [], + n = this._callbacks.slice(0), + i = this._contexts.slice(0); + for (let a = 0, s = n.length; a < s; a++) + try { + r.push(n[a].apply(i[a], e)); + } catch (l) { + (0, HOe.default)().console.error(l); + } + return r; + } + isEmpty() { + return !this._callbacks || this._callbacks.length === 0; + } + dispose() { + (this._callbacks = void 0), (this._contexts = void 0); + } + }, + Lk = class t { + static { + o(this, 'Emitter'); + } + constructor(e) { + this._options = e; + } + get event() { + return ( + this._event || + (this._event = (e, r, n) => { + this._callbacks || (this._callbacks = new yM()), + this._options && + this._options.onFirstListenerAdd && + this._callbacks.isEmpty() && + this._options.onFirstListenerAdd(this), + this._callbacks.add(e, r); + let i = { + dispose: o(() => { + this._callbacks && + (this._callbacks.remove(e, r), + (i.dispose = t._noop), + this._options && + this._options.onLastListenerRemove && + this._callbacks.isEmpty() && + this._options.onLastListenerRemove(this)); + }, 'dispose') + }; + return Array.isArray(n) && n.push(i), i; + }), + this._event + ); + } + fire(e) { + this._callbacks && this._callbacks.invoke.call(this._callbacks, e); + } + dispose() { + this._callbacks && (this._callbacks.dispose(), (this._callbacks = void 0)); + } + }; + vg.Emitter = Lk; + Lk._noop = function () {}; + }); + var hoe = gi((xg) => { + 'use strict'; + Object.defineProperty(xg, '__esModule', { value: !0 }); + xg.CancellationTokenSource = xg.CancellationToken = void 0; + var YOe = gM(), + WOe = coe(), + xM = vM(), + Dk; + (function (t) { + (t.None = Object.freeze({ + isCancellationRequested: !1, + onCancellationRequested: xM.Event.None + })), + (t.Cancelled = Object.freeze({ + isCancellationRequested: !0, + onCancellationRequested: xM.Event.None + })); + function e(r) { + let n = r; + return ( + n && + (n === t.None || + n === t.Cancelled || + (WOe.boolean(n.isCancellationRequested) && !!n.onCancellationRequested)) + ); + } + o(e, 'is'), (t.is = e); + })(Dk || (xg.CancellationToken = Dk = {})); + var qOe = Object.freeze(function (t, e) { + let r = (0, YOe.default)().timer.setTimeout(t.bind(e), 0); + return { + dispose() { + r.dispose(); + } + }; + }), + Rk = class { + static { + o(this, 'MutableToken'); + } + constructor() { + this._isCancelled = !1; + } + cancel() { + this._isCancelled || + ((this._isCancelled = !0), this._emitter && (this._emitter.fire(void 0), this.dispose())); + } + get isCancellationRequested() { + return this._isCancelled; + } + get onCancellationRequested() { + return this._isCancelled + ? qOe + : (this._emitter || (this._emitter = new xM.Emitter()), this._emitter.event); + } + dispose() { + this._emitter && (this._emitter.dispose(), (this._emitter = void 0)); + } + }, + bM = class { + static { + o(this, 'CancellationTokenSource'); + } + get token() { + return this._token || (this._token = new Rk()), this._token; + } + cancel() { + this._token ? this._token.cancel() : (this._token = Dk.Cancelled); + } + dispose() { + this._token ? this._token instanceof Rk && this._token.dispose() : (this._token = Dk.None); + } + }; + xg.CancellationTokenSource = bM; + }); + var pr = {}; + var Wo = R(() => { + 'use strict'; + dr(pr, Xi(hoe(), 1)); + }); + function TM() { + return new Promise((t) => { + typeof setImmediate > 'u' ? setTimeout(t, 0) : setImmediate(t); + }); + } + function doe() { + return (wM = Date.now()), new pr.CancellationTokenSource(); + } + function poe(t) { + foe = t; + } + function of(t) { + return t === Rc; + } + async function Bi(t) { + if (t === pr.CancellationToken.None) return; + let e = Date.now(); + if ((e - wM >= foe && ((wM = e), await TM()), t.isCancellationRequested)) throw Rc; + } + var wM, + foe, + Rc, + as, + qo = R(() => { + 'use strict'; + Wo(); + o(TM, 'delayNextTick'); + (wM = 0), (foe = 10); + o(doe, 'startCancelableOperation'); + o(poe, 'setInterruptionPeriod'); + Rc = Symbol('OperationCancelled'); + o(of, 'isOperationCancelled'); + o(Bi, 'interruptAndCheck'); + as = class { + static { + o(this, 'Deferred'); + } + constructor() { + this.promise = new Promise((e, r) => { + (this.resolve = (n) => (e(n), this)), (this.reject = (n) => (r(n), this)); + }); + } + }; + }); + function kM(t, e) { + if (t.length <= 1) return t; + let r = (t.length / 2) | 0, + n = t.slice(0, r), + i = t.slice(r); + kM(n, e), kM(i, e); + let a = 0, + s = 0, + l = 0; + for (; a < n.length && s < i.length; ) e(n[a], i[s]) <= 0 ? (t[l++] = n[a++]) : (t[l++] = i[s++]); + for (; a < n.length; ) t[l++] = n[a++]; + for (; s < i.length; ) t[l++] = i[s++]; + return t; + } + function moe(t, e, r = 0) { + let n = e ? [r] : []; + for (let i = 0; i < t.length; i++) { + let a = t.charCodeAt(i); + goe(a) && (a === 13 && i + 1 < t.length && t.charCodeAt(i + 1) === 10 && i++, n.push(r + i + 1)); + } + return n; + } + function goe(t) { + return t === 13 || t === 10; + } + function yoe(t) { + let e = t.start, + r = t.end; + return e.line > r.line || (e.line === r.line && e.character > r.character) ? { start: r, end: e } : t; + } + function XOe(t) { + let e = yoe(t.range); + return e !== t.range ? { newText: t.newText, range: e } : t; + } + var Nk, + bg, + voe = R(() => { + 'use strict'; + Nk = class t { + static { + o(this, 'FullTextDocument'); + } + constructor(e, r, n, i) { + (this._uri = e), + (this._languageId = r), + (this._version = n), + (this._content = i), + (this._lineOffsets = void 0); + } + get uri() { + return this._uri; + } + get languageId() { + return this._languageId; + } + get version() { + return this._version; + } + getText(e) { + if (e) { + let r = this.offsetAt(e.start), + n = this.offsetAt(e.end); + return this._content.substring(r, n); + } + return this._content; + } + update(e, r) { + for (let n of e) + if (t.isIncremental(n)) { + let i = yoe(n.range), + a = this.offsetAt(i.start), + s = this.offsetAt(i.end); + this._content = + this._content.substring(0, a) + + n.text + + this._content.substring(s, this._content.length); + let l = Math.max(i.start.line, 0), + u = Math.max(i.end.line, 0), + h = this._lineOffsets, + f = moe(n.text, !1, a); + if (u - l === f.length) for (let p = 0, m = f.length; p < m; p++) h[p + l + 1] = f[p]; + else + f.length < 1e4 + ? h.splice(l + 1, u - l, ...f) + : (this._lineOffsets = h = h.slice(0, l + 1).concat(f, h.slice(u + 1))); + let d = n.text.length - (s - a); + if (d !== 0) for (let p = l + 1 + f.length, m = h.length; p < m; p++) h[p] = h[p] + d; + } else if (t.isFull(n)) (this._content = n.text), (this._lineOffsets = void 0); + else throw new Error('Unknown change event received'); + this._version = r; + } + getLineOffsets() { + return ( + this._lineOffsets === void 0 && (this._lineOffsets = moe(this._content, !0)), this._lineOffsets + ); + } + positionAt(e) { + e = Math.max(Math.min(e, this._content.length), 0); + let r = this.getLineOffsets(), + n = 0, + i = r.length; + if (i === 0) return { line: 0, character: e }; + for (; n < i; ) { + let s = Math.floor((n + i) / 2); + r[s] > e ? (i = s) : (n = s + 1); + } + let a = n - 1; + return (e = this.ensureBeforeEOL(e, r[a])), { line: a, character: e - r[a] }; + } + offsetAt(e) { + let r = this.getLineOffsets(); + if (e.line >= r.length) return this._content.length; + if (e.line < 0) return 0; + let n = r[e.line]; + if (e.character <= 0) return n; + let i = e.line + 1 < r.length ? r[e.line + 1] : this._content.length, + a = Math.min(n + e.character, i); + return this.ensureBeforeEOL(a, n); + } + ensureBeforeEOL(e, r) { + for (; e > r && goe(this._content.charCodeAt(e - 1)); ) e--; + return e; + } + get lineCount() { + return this.getLineOffsets().length; + } + static isIncremental(e) { + let r = e; + return ( + r != null && + typeof r.text == 'string' && + r.range !== void 0 && + (r.rangeLength === void 0 || typeof r.rangeLength == 'number') + ); + } + static isFull(e) { + let r = e; + return r != null && typeof r.text == 'string' && r.range === void 0 && r.rangeLength === void 0; + } + }; + (function (t) { + function e(i, a, s, l) { + return new Nk(i, a, s, l); + } + o(e, 'create'), (t.create = e); + function r(i, a, s) { + if (i instanceof Nk) return i.update(a, s), i; + throw new Error('TextDocument.update: document must be created by TextDocument.create'); + } + o(r, 'update'), (t.update = r); + function n(i, a) { + let s = i.getText(), + l = kM(a.map(XOe), (f, d) => { + let p = f.range.start.line - d.range.start.line; + return p === 0 ? f.range.start.character - d.range.start.character : p; + }), + u = 0, + h = []; + for (let f of l) { + let d = i.offsetAt(f.range.start); + if (d < u) throw new Error('Overlapping edit'); + d > u && h.push(s.substring(u, d)), + f.newText.length && h.push(f.newText), + (u = i.offsetAt(f.range.end)); + } + return h.push(s.substr(u)), h.join(''); + } + o(n, 'applyEdits'), (t.applyEdits = n); + })(bg || (bg = {})); + o(kM, 'mergeSort'); + o(moe, 'computeLineOffsets'); + o(goe, 'isEOL'); + o(yoe, 'getWellformedRange'); + o(XOe, 'getWellformedEdit'); + }); + var xoe, + Ms, + wg, + EM = R(() => { + 'use strict'; + (() => { + 'use strict'; + var t = { + 470: (i) => { + function a(u) { + if (typeof u != 'string') + throw new TypeError('Path must be a string. Received ' + JSON.stringify(u)); + } + o(a, 'e'); + function s(u, h) { + for (var f, d = '', p = 0, m = -1, g = 0, y = 0; y <= u.length; ++y) { + if (y < u.length) f = u.charCodeAt(y); + else { + if (f === 47) break; + f = 47; + } + if (f === 47) { + if (!(m === y - 1 || g === 1)) + if (m !== y - 1 && g === 2) { + if ( + d.length < 2 || + p !== 2 || + d.charCodeAt(d.length - 1) !== 46 || + d.charCodeAt(d.length - 2) !== 46 + ) { + if (d.length > 2) { + var v = d.lastIndexOf('/'); + if (v !== d.length - 1) { + v === -1 + ? ((d = ''), (p = 0)) + : (p = + (d = d.slice(0, v)).length - + 1 - + d.lastIndexOf('/')), + (m = y), + (g = 0); + continue; + } + } else if (d.length === 2 || d.length === 1) { + (d = ''), (p = 0), (m = y), (g = 0); + continue; + } + } + h && (d.length > 0 ? (d += '/..') : (d = '..'), (p = 2)); + } else + d.length > 0 ? (d += '/' + u.slice(m + 1, y)) : (d = u.slice(m + 1, y)), + (p = y - m - 1); + (m = y), (g = 0); + } else f === 46 && g !== -1 ? ++g : (g = -1); + } + return d; + } + o(s, 'r'); + var l = { + resolve: o(function () { + for (var u, h = '', f = !1, d = arguments.length - 1; d >= -1 && !f; d--) { + var p; + d >= 0 ? (p = arguments[d]) : (u === void 0 && (u = process.cwd()), (p = u)), + a(p), + p.length !== 0 && ((h = p + '/' + h), (f = p.charCodeAt(0) === 47)); + } + return (h = s(h, !f)), f ? (h.length > 0 ? '/' + h : '/') : h.length > 0 ? h : '.'; + }, 'resolve'), + normalize: o(function (u) { + if ((a(u), u.length === 0)) return '.'; + var h = u.charCodeAt(0) === 47, + f = u.charCodeAt(u.length - 1) === 47; + return ( + (u = s(u, !h)).length !== 0 || h || (u = '.'), + u.length > 0 && f && (u += '/'), + h ? '/' + u : u + ); + }, 'normalize'), + isAbsolute: o(function (u) { + return a(u), u.length > 0 && u.charCodeAt(0) === 47; + }, 'isAbsolute'), + join: o(function () { + if (arguments.length === 0) return '.'; + for (var u, h = 0; h < arguments.length; ++h) { + var f = arguments[h]; + a(f), f.length > 0 && (u === void 0 ? (u = f) : (u += '/' + f)); + } + return u === void 0 ? '.' : l.normalize(u); + }, 'join'), + relative: o(function (u, h) { + if ((a(u), a(h), u === h || (u = l.resolve(u)) === (h = l.resolve(h)))) return ''; + for (var f = 1; f < u.length && u.charCodeAt(f) === 47; ++f); + for ( + var d = u.length, p = d - f, m = 1; + m < h.length && h.charCodeAt(m) === 47; + ++m + ); + for (var g = h.length - m, y = p < g ? p : g, v = -1, x = 0; x <= y; ++x) { + if (x === y) { + if (g > y) { + if (h.charCodeAt(m + x) === 47) return h.slice(m + x + 1); + if (x === 0) return h.slice(m + x); + } else p > y && (u.charCodeAt(f + x) === 47 ? (v = x) : x === 0 && (v = 0)); + break; + } + var b = u.charCodeAt(f + x); + if (b !== h.charCodeAt(m + x)) break; + b === 47 && (v = x); + } + var w = ''; + for (x = f + v + 1; x <= d; ++x) + (x !== d && u.charCodeAt(x) !== 47) || + (w.length === 0 ? (w += '..') : (w += '/..')); + return w.length > 0 + ? w + h.slice(m + v) + : ((m += v), h.charCodeAt(m) === 47 && ++m, h.slice(m)); + }, 'relative'), + _makeLong: o(function (u) { + return u; + }, '_makeLong'), + dirname: o(function (u) { + if ((a(u), u.length === 0)) return '.'; + for ( + var h = u.charCodeAt(0), f = h === 47, d = -1, p = !0, m = u.length - 1; + m >= 1; + --m + ) + if ((h = u.charCodeAt(m)) === 47) { + if (!p) { + d = m; + break; + } + } else p = !1; + return d === -1 ? (f ? '/' : '.') : f && d === 1 ? '//' : u.slice(0, d); + }, 'dirname'), + basename: o(function (u, h) { + if (h !== void 0 && typeof h != 'string') + throw new TypeError('"ext" argument must be a string'); + a(u); + var f, + d = 0, + p = -1, + m = !0; + if (h !== void 0 && h.length > 0 && h.length <= u.length) { + if (h.length === u.length && h === u) return ''; + var g = h.length - 1, + y = -1; + for (f = u.length - 1; f >= 0; --f) { + var v = u.charCodeAt(f); + if (v === 47) { + if (!m) { + d = f + 1; + break; + } + } else + y === -1 && ((m = !1), (y = f + 1)), + g >= 0 && + (v === h.charCodeAt(g) + ? --g == -1 && (p = f) + : ((g = -1), (p = y))); + } + return d === p ? (p = y) : p === -1 && (p = u.length), u.slice(d, p); + } + for (f = u.length - 1; f >= 0; --f) + if (u.charCodeAt(f) === 47) { + if (!m) { + d = f + 1; + break; + } + } else p === -1 && ((m = !1), (p = f + 1)); + return p === -1 ? '' : u.slice(d, p); + }, 'basename'), + extname: o(function (u) { + a(u); + for (var h = -1, f = 0, d = -1, p = !0, m = 0, g = u.length - 1; g >= 0; --g) { + var y = u.charCodeAt(g); + if (y !== 47) + d === -1 && ((p = !1), (d = g + 1)), + y === 46 + ? h === -1 + ? (h = g) + : m !== 1 && (m = 1) + : h !== -1 && (m = -1); + else if (!p) { + f = g + 1; + break; + } + } + return h === -1 || d === -1 || m === 0 || (m === 1 && h === d - 1 && h === f + 1) + ? '' + : u.slice(h, d); + }, 'extname'), + format: o(function (u) { + if (u === null || typeof u != 'object') + throw new TypeError( + 'The "pathObject" argument must be of type Object. Received type ' + + typeof u + ); + return (function (h, f) { + var d = f.dir || f.root, + p = f.base || (f.name || '') + (f.ext || ''); + return d ? (d === f.root ? d + p : d + '/' + p) : p; + })(0, u); + }, 'format'), + parse: o(function (u) { + a(u); + var h = { root: '', dir: '', base: '', ext: '', name: '' }; + if (u.length === 0) return h; + var f, + d = u.charCodeAt(0), + p = d === 47; + p ? ((h.root = '/'), (f = 1)) : (f = 0); + for (var m = -1, g = 0, y = -1, v = !0, x = u.length - 1, b = 0; x >= f; --x) + if ((d = u.charCodeAt(x)) !== 47) + y === -1 && ((v = !1), (y = x + 1)), + d === 46 + ? m === -1 + ? (m = x) + : b !== 1 && (b = 1) + : m !== -1 && (b = -1); + else if (!v) { + g = x + 1; + break; + } + return ( + m === -1 || y === -1 || b === 0 || (b === 1 && m === y - 1 && m === g + 1) + ? y !== -1 && + (h.base = h.name = g === 0 && p ? u.slice(1, y) : u.slice(g, y)) + : (g === 0 && p + ? ((h.name = u.slice(1, m)), (h.base = u.slice(1, y))) + : ((h.name = u.slice(g, m)), (h.base = u.slice(g, y))), + (h.ext = u.slice(m, y))), + g > 0 ? (h.dir = u.slice(0, g - 1)) : p && (h.dir = '/'), + h + ); + }, 'parse'), + sep: '/', + delimiter: ':', + win32: null, + posix: null + }; + (l.posix = l), (i.exports = l); + } + }, + e = {}; + function r(i) { + var a = e[i]; + if (a !== void 0) return a.exports; + var s = (e[i] = { exports: {} }); + return t[i](s, s.exports, r), s.exports; + } + o(r, 'r'), + (r.d = (i, a) => { + for (var s in a) + r.o(a, s) && !r.o(i, s) && Object.defineProperty(i, s, { enumerable: !0, get: a[s] }); + }), + (r.o = (i, a) => Object.prototype.hasOwnProperty.call(i, a)), + (r.r = (i) => { + typeof Symbol < 'u' && + Symbol.toStringTag && + Object.defineProperty(i, Symbol.toStringTag, { value: 'Module' }), + Object.defineProperty(i, '__esModule', { value: !0 }); + }); + var n = {}; + (() => { + let i; + r.r(n), + r.d(n, { URI: o(() => p, 'URI'), Utils: o(() => M, 'Utils') }), + typeof process == 'object' + ? (i = process.platform === 'win32') + : typeof navigator == 'object' && (i = navigator.userAgent.indexOf('Windows') >= 0); + let a = /^\w[\w\d+.-]*$/, + s = /^\//, + l = /^\/\//; + function u(N, k) { + if (!N.scheme && k) + throw new Error( + `[UriError]: Scheme is missing: {scheme: "", authority: "${N.authority}", path: "${N.path}", query: "${N.query}", fragment: "${N.fragment}"}` + ); + if (N.scheme && !a.test(N.scheme)) + throw new Error('[UriError]: Scheme contains illegal characters.'); + if (N.path) { + if (N.authority) { + if (!s.test(N.path)) + throw new Error( + '[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character' + ); + } else if (l.test(N.path)) + throw new Error( + '[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")' + ); + } + } + o(u, 's'); + let h = '', + f = '/', + d = /^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/; + class p { + static { + o(this, 'f'); + } + static isUri(k) { + return ( + k instanceof p || + (!!k && + typeof k.authority == 'string' && + typeof k.fragment == 'string' && + typeof k.path == 'string' && + typeof k.query == 'string' && + typeof k.scheme == 'string' && + typeof k.fsPath == 'string' && + typeof k.with == 'function' && + typeof k.toString == 'function') + ); + } + scheme; + authority; + path; + query; + fragment; + constructor(k, I, C, O, D, P = !1) { + typeof k == 'object' + ? ((this.scheme = k.scheme || h), + (this.authority = k.authority || h), + (this.path = k.path || h), + (this.query = k.query || h), + (this.fragment = k.fragment || h)) + : ((this.scheme = (function (F, B) { + return F || B ? F : 'file'; + })(k, P)), + (this.authority = I || h), + (this.path = (function (F, B) { + switch (F) { + case 'https': + case 'http': + case 'file': + B ? B[0] !== f && (B = f + B) : (B = f); + } + return B; + })(this.scheme, C || h)), + (this.query = O || h), + (this.fragment = D || h), + u(this, P)); + } + get fsPath() { + return b(this, !1); + } + with(k) { + if (!k) return this; + let { scheme: I, authority: C, path: O, query: D, fragment: P } = k; + return ( + I === void 0 ? (I = this.scheme) : I === null && (I = h), + C === void 0 ? (C = this.authority) : C === null && (C = h), + O === void 0 ? (O = this.path) : O === null && (O = h), + D === void 0 ? (D = this.query) : D === null && (D = h), + P === void 0 ? (P = this.fragment) : P === null && (P = h), + I === this.scheme && + C === this.authority && + O === this.path && + D === this.query && + P === this.fragment + ? this + : new g(I, C, O, D, P) + ); + } + static parse(k, I = !1) { + let C = d.exec(k); + return C + ? new g(C[2] || h, E(C[4] || h), E(C[5] || h), E(C[7] || h), E(C[9] || h), I) + : new g(h, h, h, h, h); + } + static file(k) { + let I = h; + if ((i && (k = k.replace(/\\/g, f)), k[0] === f && k[1] === f)) { + let C = k.indexOf(f, 2); + C === -1 + ? ((I = k.substring(2)), (k = f)) + : ((I = k.substring(2, C)), (k = k.substring(C) || f)); + } + return new g('file', I, k, h, h); + } + static from(k) { + let I = new g(k.scheme, k.authority, k.path, k.query, k.fragment); + return u(I, !0), I; + } + toString(k = !1) { + return w(this, k); + } + toJSON() { + return this; + } + static revive(k) { + if (k) { + if (k instanceof p) return k; + { + let I = new g(k); + return (I._formatted = k.external), (I._fsPath = k._sep === m ? k.fsPath : null), I; + } + } + return k; + } + } + let m = i ? 1 : void 0; + class g extends p { + static { + o(this, 'l'); + } + _formatted = null; + _fsPath = null; + get fsPath() { + return this._fsPath || (this._fsPath = b(this, !1)), this._fsPath; + } + toString(k = !1) { + return k + ? w(this, !0) + : (this._formatted || (this._formatted = w(this, !1)), this._formatted); + } + toJSON() { + let k = { $mid: 1 }; + return ( + this._fsPath && ((k.fsPath = this._fsPath), (k._sep = m)), + this._formatted && (k.external = this._formatted), + this.path && (k.path = this.path), + this.scheme && (k.scheme = this.scheme), + this.authority && (k.authority = this.authority), + this.query && (k.query = this.query), + this.fragment && (k.fragment = this.fragment), + k + ); + } + } + let y = { + 58: '%3A', + 47: '%2F', + 63: '%3F', + 35: '%23', + 91: '%5B', + 93: '%5D', + 64: '%40', + 33: '%21', + 36: '%24', + 38: '%26', + 39: '%27', + 40: '%28', + 41: '%29', + 42: '%2A', + 43: '%2B', + 44: '%2C', + 59: '%3B', + 61: '%3D', + 32: '%20' + }; + function v(N, k, I) { + let C, + O = -1; + for (let D = 0; D < N.length; D++) { + let P = N.charCodeAt(D); + if ( + (P >= 97 && P <= 122) || + (P >= 65 && P <= 90) || + (P >= 48 && P <= 57) || + P === 45 || + P === 46 || + P === 95 || + P === 126 || + (k && P === 47) || + (I && P === 91) || + (I && P === 93) || + (I && P === 58) + ) + O !== -1 && ((C += encodeURIComponent(N.substring(O, D))), (O = -1)), + C !== void 0 && (C += N.charAt(D)); + else { + C === void 0 && (C = N.substr(0, D)); + let F = y[P]; + F !== void 0 + ? (O !== -1 && ((C += encodeURIComponent(N.substring(O, D))), (O = -1)), (C += F)) + : O === -1 && (O = D); + } + } + return O !== -1 && (C += encodeURIComponent(N.substring(O))), C !== void 0 ? C : N; + } + o(v, 'd'); + function x(N) { + let k; + for (let I = 0; I < N.length; I++) { + let C = N.charCodeAt(I); + C === 35 || C === 63 + ? (k === void 0 && (k = N.substr(0, I)), (k += y[C])) + : k !== void 0 && (k += N[I]); + } + return k !== void 0 ? k : N; + } + o(x, 'p'); + function b(N, k) { + let I; + return ( + (I = + N.authority && N.path.length > 1 && N.scheme === 'file' + ? `//${N.authority}${N.path}` + : N.path.charCodeAt(0) === 47 && + ((N.path.charCodeAt(1) >= 65 && N.path.charCodeAt(1) <= 90) || + (N.path.charCodeAt(1) >= 97 && N.path.charCodeAt(1) <= 122)) && + N.path.charCodeAt(2) === 58 + ? k + ? N.path.substr(1) + : N.path[1].toLowerCase() + N.path.substr(2) + : N.path), + i && (I = I.replace(/\//g, '\\')), + I + ); + } + o(b, 'm'); + function w(N, k) { + let I = k ? x : v, + C = '', + { scheme: O, authority: D, path: P, query: F, fragment: B } = N; + if ((O && ((C += O), (C += ':')), (D || O === 'file') && ((C += f), (C += f)), D)) { + let $ = D.indexOf('@'); + if ($ !== -1) { + let z = D.substr(0, $); + (D = D.substr($ + 1)), + ($ = z.lastIndexOf(':')), + $ === -1 + ? (C += I(z, !1, !1)) + : ((C += I(z.substr(0, $), !1, !1)), + (C += ':'), + (C += I(z.substr($ + 1), !1, !0))), + (C += '@'); + } + (D = D.toLowerCase()), + ($ = D.lastIndexOf(':')), + $ === -1 ? (C += I(D, !1, !0)) : ((C += I(D.substr(0, $), !1, !0)), (C += D.substr($))); + } + if (P) { + if (P.length >= 3 && P.charCodeAt(0) === 47 && P.charCodeAt(2) === 58) { + let $ = P.charCodeAt(1); + $ >= 65 && $ <= 90 && (P = `/${String.fromCharCode($ + 32)}:${P.substr(3)}`); + } else if (P.length >= 2 && P.charCodeAt(1) === 58) { + let $ = P.charCodeAt(0); + $ >= 65 && $ <= 90 && (P = `${String.fromCharCode($ + 32)}:${P.substr(2)}`); + } + C += I(P, !0, !1); + } + return ( + F && ((C += '?'), (C += I(F, !1, !1))), B && ((C += '#'), (C += k ? B : v(B, !1, !1))), C + ); + } + o(w, 'y'); + function S(N) { + try { + return decodeURIComponent(N); + } catch { + return N.length > 3 ? N.substr(0, 3) + S(N.substr(3)) : N; + } + } + o(S, 'v'); + let T = /(%[0-9A-Za-z][0-9A-Za-z])+/g; + function E(N) { + return N.match(T) ? N.replace(T, (k) => S(k)) : N; + } + o(E, 'C'); + var _ = r(470); + let A = _.posix || _, + L = '/'; + var M; + (function (N) { + (N.joinPath = function (k, ...I) { + return k.with({ path: A.join(k.path, ...I) }); + }), + (N.resolvePath = function (k, ...I) { + let C = k.path, + O = !1; + C[0] !== L && ((C = L + C), (O = !0)); + let D = A.resolve(C, ...I); + return O && D[0] === L && !k.authority && (D = D.substring(1)), k.with({ path: D }); + }), + (N.dirname = function (k) { + if (k.path.length === 0 || k.path === L) return k; + let I = A.dirname(k.path); + return I.length === 1 && I.charCodeAt(0) === 46 && (I = ''), k.with({ path: I }); + }), + (N.basename = function (k) { + return A.basename(k.path); + }), + (N.extname = function (k) { + return A.extname(k.path); + }); + })(M || (M = {})); + })(), + (xoe = n); + })(); + ({ URI: Ms, Utils: wg } = xoe); + }); + var ss, + Nc = R(() => { + 'use strict'; + EM(); + (function (t) { + (t.basename = wg.basename), + (t.dirname = wg.dirname), + (t.extname = wg.extname), + (t.joinPath = wg.joinPath), + (t.resolvePath = wg.resolvePath); + function e(n, i) { + return n?.toString() === i?.toString(); + } + o(e, 'equals'), (t.equals = e); + function r(n, i) { + let a = typeof n == 'string' ? n : n.path, + s = typeof i == 'string' ? i : i.path, + l = a.split('/').filter((p) => p.length > 0), + u = s.split('/').filter((p) => p.length > 0), + h = 0; + for (; h < l.length && l[h] === u[h]; h++); + let f = '../'.repeat(l.length - h), + d = u.slice(h).join('/'); + return f + d; + } + o(r, 'relative'), (t.relative = r); + })(ss || (ss = {})); + }); + var yn, + R2, + N2, + Tg = R(() => { + 'use strict'; + voe(); + Tg(); + Wo(); + Ds(); + Nc(); + (function (t) { + (t[(t.Changed = 0)] = 'Changed'), + (t[(t.Parsed = 1)] = 'Parsed'), + (t[(t.IndexedContent = 2)] = 'IndexedContent'), + (t[(t.ComputedScopes = 3)] = 'ComputedScopes'), + (t[(t.Linked = 4)] = 'Linked'), + (t[(t.IndexedReferences = 5)] = 'IndexedReferences'), + (t[(t.Validated = 6)] = 'Validated'); + })(yn || (yn = {})); + (R2 = class { + static { + o(this, 'DefaultLangiumDocumentFactory'); + } + constructor(e) { + (this.serviceRegistry = e.ServiceRegistry), + (this.textDocuments = e.workspace.TextDocuments), + (this.fileSystemProvider = e.workspace.FileSystemProvider); + } + async fromUri(e, r = pr.CancellationToken.None) { + let n = await this.fileSystemProvider.readFile(e); + return this.createAsync(e, n, r); + } + fromTextDocument(e, r, n) { + return (r = r ?? Ms.parse(e.uri)), n ? this.createAsync(r, e, n) : this.create(r, e); + } + fromString(e, r, n) { + return n ? this.createAsync(r, e, n) : this.create(r, e); + } + fromModel(e, r) { + return this.create(r, { $model: e }); + } + create(e, r) { + if (typeof r == 'string') { + let n = this.parse(e, r); + return this.createLangiumDocument(n, e, void 0, r); + } else if ('$model' in r) { + let n = { value: r.$model, parserErrors: [], lexerErrors: [] }; + return this.createLangiumDocument(n, e); + } else { + let n = this.parse(e, r.getText()); + return this.createLangiumDocument(n, e, r); + } + } + async createAsync(e, r, n) { + if (typeof r == 'string') { + let i = await this.parseAsync(e, r, n); + return this.createLangiumDocument(i, e, void 0, r); + } else { + let i = await this.parseAsync(e, r.getText(), n); + return this.createLangiumDocument(i, e, r); + } + } + createLangiumDocument(e, r, n, i) { + let a; + if (n) + a = { + parseResult: e, + uri: r, + state: yn.Parsed, + references: [], + textDocument: n + }; + else { + let s = this.createTextDocumentGetter(r, i); + a = { + parseResult: e, + uri: r, + state: yn.Parsed, + references: [], + get textDocument() { + return s(); + } + }; + } + return (e.value.$document = a), a; + } + async update(e, r) { + var n, i; + let a = (n = e.parseResult.value.$cstNode) === null || n === void 0 ? void 0 : n.root.fullText, + s = (i = this.textDocuments) === null || i === void 0 ? void 0 : i.get(e.uri.toString()), + l = s ? s.getText() : await this.fileSystemProvider.readFile(e.uri); + if (s) Object.defineProperty(e, 'textDocument', { value: s }); + else { + let u = this.createTextDocumentGetter(e.uri, l); + Object.defineProperty(e, 'textDocument', { get: u }); + } + return ( + a !== l && + ((e.parseResult = await this.parseAsync(e.uri, l, r)), (e.parseResult.value.$document = e)), + (e.state = yn.Parsed), + e + ); + } + parse(e, r) { + return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r); + } + parseAsync(e, r, n) { + return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r, n); + } + createTextDocumentGetter(e, r) { + let n = this.serviceRegistry, + i; + return () => + i ?? (i = bg.create(e.toString(), n.getServices(e).LanguageMetaData.languageId, 0, r ?? '')); + } + }), + (N2 = class { + static { + o(this, 'DefaultLangiumDocuments'); + } + constructor(e) { + (this.documentMap = new Map()), + (this.langiumDocumentFactory = e.workspace.LangiumDocumentFactory); + } + get all() { + return Kr(this.documentMap.values()); + } + addDocument(e) { + let r = e.uri.toString(); + if (this.documentMap.has(r)) + throw new Error(`A document with the URI '${r}' is already present.`); + this.documentMap.set(r, e); + } + getDocument(e) { + let r = e.toString(); + return this.documentMap.get(r); + } + async getOrCreateDocument(e, r) { + let n = this.getDocument(e); + return n || ((n = await this.langiumDocumentFactory.fromUri(e, r)), this.addDocument(n), n); + } + createDocument(e, r, n) { + if (n) + return this.langiumDocumentFactory + .fromString(r, e, n) + .then((i) => (this.addDocument(i), i)); + { + let i = this.langiumDocumentFactory.fromString(r, e); + return this.addDocument(i), i; + } + } + hasDocument(e) { + return this.documentMap.has(e.toString()); + } + invalidateDocument(e) { + let r = e.toString(), + n = this.documentMap.get(r); + return ( + n && + ((n.state = yn.Changed), + (n.precomputedScopes = void 0), + (n.references = []), + (n.diagnostics = void 0)), + n + ); + } + deleteDocument(e) { + let r = e.toString(), + n = this.documentMap.get(r); + return n && ((n.state = yn.Changed), this.documentMap.delete(r)), n; + } + }); + }); + var M2, + CM = R(() => { + 'use strict'; + Wo(); + Vo(); + es(); + qo(); + Tg(); + M2 = class { + static { + o(this, 'DefaultLinker'); + } + constructor(e) { + (this.reflection = e.shared.AstReflection), + (this.langiumDocuments = () => e.shared.workspace.LangiumDocuments), + (this.scopeProvider = e.references.ScopeProvider), + (this.astNodeLocator = e.workspace.AstNodeLocator); + } + async link(e, r = pr.CancellationToken.None) { + for (let n of Yo(e.parseResult.value)) await Bi(r), $m(n).forEach((i) => this.doLink(i, e)); + } + doLink(e, r) { + let n = e.reference; + if (n._ref === void 0) + try { + let i = this.getCandidate(e); + if (Wd(i)) n._ref = i; + else if (((n._nodeDescription = i), this.langiumDocuments().hasDocument(i.documentUri))) { + let a = this.loadAstNode(i); + n._ref = a ?? this.createLinkingError(e, i); + } + } catch (i) { + n._ref = Object.assign(Object.assign({}, e), { + message: `An error occurred while resolving reference to '${n.$refText}': ${i}` + }); + } + r.references.push(n); + } + unlink(e) { + for (let r of e.references) delete r._ref, delete r._nodeDescription; + e.references = []; + } + getCandidate(e) { + let n = this.scopeProvider.getScope(e).getElement(e.reference.$refText); + return n ?? this.createLinkingError(e); + } + buildReference(e, r, n, i) { + let a = this, + s = { + $refNode: n, + $refText: i, + get ref() { + var l; + if (Xn(this._ref)) return this._ref; + if (ED(this._nodeDescription)) { + let u = a.loadAstNode(this._nodeDescription); + this._ref = + u ?? + a.createLinkingError( + { reference: s, container: e, property: r }, + this._nodeDescription + ); + } else if (this._ref === void 0) { + let u = a.getLinkedNode({ + reference: s, + container: e, + property: r + }); + if (u.error && Oi(e).state < yn.ComputedScopes) return; + (this._ref = (l = u.node) !== null && l !== void 0 ? l : u.error), + (this._nodeDescription = u.descr); + } + return Xn(this._ref) ? this._ref : void 0; + }, + get $nodeDescription() { + return this._nodeDescription; + }, + get error() { + return Wd(this._ref) ? this._ref : void 0; + } + }; + return s; + } + getLinkedNode(e) { + try { + let r = this.getCandidate(e); + if (Wd(r)) return { error: r }; + let n = this.loadAstNode(r); + return n ? { node: n, descr: r } : { descr: r, error: this.createLinkingError(e, r) }; + } catch (r) { + return { + error: Object.assign(Object.assign({}, e), { + message: `An error occurred while resolving reference to '${e.reference.$refText}': ${r}` + }) + }; + } + } + loadAstNode(e) { + if (e.node) return e.node; + let r = this.langiumDocuments().getDocument(e.documentUri); + if (r) return this.astNodeLocator.getAstNode(r.parseResult.value, e.path); + } + createLinkingError(e, r) { + let n = Oi(e.container); + n.state < yn.ComputedScopes && + console.warn( + `Attempted reference resolution before document reached ComputedScopes state (${n.uri}).` + ); + let i = this.reflection.getReferenceType(e); + return Object.assign(Object.assign({}, e), { + message: `Could not resolve reference to ${i} named '${e.reference.$refText}'.`, + targetDescription: r + }); + } + }; + }); + function boe(t) { + return typeof t.name == 'string'; + } + var I2, + SM = R(() => { + 'use strict'; + Il(); + o(boe, 'isNamed'); + I2 = class { + static { + o(this, 'DefaultNameProvider'); + } + getName(e) { + if (boe(e)) return e.name; + } + getNameNode(e) { + return Zv(e.$cstNode, 'name'); + } + }; + }); + var O2, + AM = R(() => { + 'use strict'; + Il(); + Vo(); + es(); + Rl(); + Ds(); + Nc(); + O2 = class { + static { + o(this, 'DefaultReferences'); + } + constructor(e) { + (this.nameProvider = e.references.NameProvider), + (this.index = e.shared.workspace.IndexManager), + (this.nodeLocator = e.workspace.AstNodeLocator); + } + findDeclaration(e) { + if (e) { + let r = jR(e), + n = e.astNode; + if (r && n) { + let i = n[r.feature]; + if (xa(i)) return i.ref; + if (Array.isArray(i)) { + for (let a of i) + if (xa(a) && a.$refNode && a.$refNode.offset <= e.offset && a.$refNode.end >= e.end) + return a.ref; + } + } + if (n) { + let i = this.nameProvider.getNameNode(n); + if (i && (i === e || SD(e, i))) return n; + } + } + } + findDeclarationNode(e) { + let r = this.findDeclaration(e); + if (r?.$cstNode) { + let n = this.nameProvider.getNameNode(r); + return n ?? r.$cstNode; + } + } + findReferences(e, r) { + let n = []; + if (r.includeDeclaration) { + let a = this.getReferenceToSelf(e); + a && n.push(a); + } + let i = this.index.findAllReferences(e, this.nodeLocator.getAstNodePath(e)); + return ( + r.documentUri && (i = i.filter((a) => ss.equals(a.sourceUri, r.documentUri))), + n.push(...i), + Kr(n) + ); + } + getReferenceToSelf(e) { + let r = this.nameProvider.getNameNode(e); + if (r) { + let n = Oi(e), + i = this.nodeLocator.getAstNodePath(e); + return { + sourceUri: n.uri, + sourcePath: i, + targetUri: n.uri, + targetPath: i, + segment: Xd(r), + local: !0 + }; + } + } + }; + }); + var Mc, + v0, + kg = R(() => { + 'use strict'; + Ds(); + (Mc = class { + static { + o(this, 'MultiMap'); + } + constructor(e) { + if (((this.map = new Map()), e)) for (let [r, n] of e) this.add(r, n); + } + get size() { + return Fm.sum(Kr(this.map.values()).map((e) => e.length)); + } + clear() { + this.map.clear(); + } + delete(e, r) { + if (r === void 0) return this.map.delete(e); + { + let n = this.map.get(e); + if (n) { + let i = n.indexOf(r); + if (i >= 0) return n.length === 1 ? this.map.delete(e) : n.splice(i, 1), !0; + } + return !1; + } + } + get(e) { + var r; + return (r = this.map.get(e)) !== null && r !== void 0 ? r : []; + } + has(e, r) { + if (r === void 0) return this.map.has(e); + { + let n = this.map.get(e); + return n ? n.indexOf(r) >= 0 : !1; + } + } + add(e, r) { + return this.map.has(e) ? this.map.get(e).push(r) : this.map.set(e, [r]), this; + } + addAll(e, r) { + return this.map.has(e) ? this.map.get(e).push(...r) : this.map.set(e, Array.from(r)), this; + } + forEach(e) { + this.map.forEach((r, n) => r.forEach((i) => e(i, n, this))); + } + [Symbol.iterator]() { + return this.entries().iterator(); + } + entries() { + return Kr(this.map.entries()).flatMap(([e, r]) => r.map((n) => [e, n])); + } + keys() { + return Kr(this.map.keys()); + } + values() { + return Kr(this.map.values()).flat(); + } + entriesGroupedByKey() { + return Kr(this.map.entries()); + } + }), + (v0 = class { + static { + o(this, 'BiMap'); + } + get size() { + return this.map.size; + } + constructor(e) { + if (((this.map = new Map()), (this.inverse = new Map()), e)) + for (let [r, n] of e) this.set(r, n); + } + clear() { + this.map.clear(), this.inverse.clear(); + } + set(e, r) { + return this.map.set(e, r), this.inverse.set(r, e), this; + } + get(e) { + return this.map.get(e); + } + getKey(e) { + return this.inverse.get(e); + } + delete(e) { + let r = this.map.get(e); + return r !== void 0 ? (this.map.delete(e), this.inverse.delete(r), !0) : !1; + } + }); + }); + var P2, + _M = R(() => { + 'use strict'; + Wo(); + es(); + kg(); + qo(); + P2 = class { + static { + o(this, 'DefaultScopeComputation'); + } + constructor(e) { + (this.nameProvider = e.references.NameProvider), + (this.descriptions = e.workspace.AstNodeDescriptionProvider); + } + async computeExports(e, r = pr.CancellationToken.None) { + return this.computeExportsForNode(e.parseResult.value, e, void 0, r); + } + async computeExportsForNode(e, r, n = Wv, i = pr.CancellationToken.None) { + let a = []; + this.exportNode(e, a, r); + for (let s of n(e)) await Bi(i), this.exportNode(s, a, r); + return a; + } + exportNode(e, r, n) { + let i = this.nameProvider.getName(e); + i && r.push(this.descriptions.createDescription(e, i, n)); + } + async computeLocalScopes(e, r = pr.CancellationToken.None) { + let n = e.parseResult.value, + i = new Mc(); + for (let a of Ac(n)) await Bi(r), this.processNode(a, e, i); + return i; + } + processNode(e, r, n) { + let i = e.$container; + if (i) { + let a = this.nameProvider.getName(e); + a && n.add(i, this.descriptions.createDescription(e, a, r)); + } + } + }; + }); + var Eg, + B2, + jOe, + LM = R(() => { + 'use strict'; + Ds(); + (Eg = class { + static { + o(this, 'StreamScope'); + } + constructor(e, r, n) { + var i; + (this.elements = e), + (this.outerScope = r), + (this.caseInsensitive = (i = n?.caseInsensitive) !== null && i !== void 0 ? i : !1); + } + getAllElements() { + return this.outerScope ? this.elements.concat(this.outerScope.getAllElements()) : this.elements; + } + getElement(e) { + let r = this.caseInsensitive + ? this.elements.find((n) => n.name.toLowerCase() === e.toLowerCase()) + : this.elements.find((n) => n.name === e); + if (r) return r; + if (this.outerScope) return this.outerScope.getElement(e); + } + }), + (B2 = class { + static { + o(this, 'MapScope'); + } + constructor(e, r, n) { + var i; + (this.elements = new Map()), + (this.caseInsensitive = (i = n?.caseInsensitive) !== null && i !== void 0 ? i : !1); + for (let a of e) { + let s = this.caseInsensitive ? a.name.toLowerCase() : a.name; + this.elements.set(s, a); + } + this.outerScope = r; + } + getElement(e) { + let r = this.caseInsensitive ? e.toLowerCase() : e, + n = this.elements.get(r); + if (n) return n; + if (this.outerScope) return this.outerScope.getElement(e); + } + getAllElements() { + let e = Kr(this.elements.values()); + return this.outerScope && (e = e.concat(this.outerScope.getAllElements())), e; + } + }), + (jOe = { + getElement() {}, + getAllElements() { + return Gv; + } + }); + }); + var Cg, + F2, + x0, + Mk, + Sg, + Ik = R(() => { + 'use strict'; + (Cg = class { + static { + o(this, 'DisposableCache'); + } + constructor() { + (this.toDispose = []), (this.isDisposed = !1); + } + onDispose(e) { + this.toDispose.push(e); + } + dispose() { + this.throwIfDisposed(), + this.clear(), + (this.isDisposed = !0), + this.toDispose.forEach((e) => e.dispose()); + } + throwIfDisposed() { + if (this.isDisposed) throw new Error('This cache has already been disposed'); + } + }), + (F2 = class extends Cg { + static { + o(this, 'SimpleCache'); + } + constructor() { + super(...arguments), (this.cache = new Map()); + } + has(e) { + return this.throwIfDisposed(), this.cache.has(e); + } + set(e, r) { + this.throwIfDisposed(), this.cache.set(e, r); + } + get(e, r) { + if ((this.throwIfDisposed(), this.cache.has(e))) return this.cache.get(e); + if (r) { + let n = r(); + return this.cache.set(e, n), n; + } else return; + } + delete(e) { + return this.throwIfDisposed(), this.cache.delete(e); + } + clear() { + this.throwIfDisposed(), this.cache.clear(); + } + }), + (x0 = class extends Cg { + static { + o(this, 'ContextCache'); + } + constructor(e) { + super(), (this.cache = new Map()), (this.converter = e ?? ((r) => r)); + } + has(e, r) { + return this.throwIfDisposed(), this.cacheForContext(e).has(r); + } + set(e, r, n) { + this.throwIfDisposed(), this.cacheForContext(e).set(r, n); + } + get(e, r, n) { + this.throwIfDisposed(); + let i = this.cacheForContext(e); + if (i.has(r)) return i.get(r); + if (n) { + let a = n(); + return i.set(r, a), a; + } else return; + } + delete(e, r) { + return this.throwIfDisposed(), this.cacheForContext(e).delete(r); + } + clear(e) { + if ((this.throwIfDisposed(), e)) { + let r = this.converter(e); + this.cache.delete(r); + } else this.cache.clear(); + } + cacheForContext(e) { + let r = this.converter(e), + n = this.cache.get(r); + return n || ((n = new Map()), this.cache.set(r, n)), n; + } + }), + (Mk = class extends x0 { + static { + o(this, 'DocumentCache'); + } + constructor(e) { + super((r) => r.toString()), + this.onDispose( + e.workspace.DocumentBuilder.onUpdate((r, n) => { + let i = r.concat(n); + for (let a of i) this.clear(a); + }) + ); + } + }), + (Sg = class extends F2 { + static { + o(this, 'WorkspaceCache'); + } + constructor(e) { + super(), + this.onDispose( + e.workspace.DocumentBuilder.onUpdate(() => { + this.clear(); + }) + ); + } + }); + }); + var z2, + DM = R(() => { + 'use strict'; + LM(); + es(); + Ds(); + Ik(); + z2 = class { + static { + o(this, 'DefaultScopeProvider'); + } + constructor(e) { + (this.reflection = e.shared.AstReflection), + (this.nameProvider = e.references.NameProvider), + (this.descriptions = e.workspace.AstNodeDescriptionProvider), + (this.indexManager = e.shared.workspace.IndexManager), + (this.globalScopeCache = new Sg(e.shared)); + } + getScope(e) { + let r = [], + n = this.reflection.getReferenceType(e), + i = Oi(e.container).precomputedScopes; + if (i) { + let s = e.container; + do { + let l = i.get(s); + l.length > 0 && r.push(Kr(l).filter((u) => this.reflection.isSubtype(u.type, n))), + (s = s.$container); + } while (s); + } + let a = this.getGlobalScope(n, e); + for (let s = r.length - 1; s >= 0; s--) a = this.createScope(r[s], a); + return a; + } + createScope(e, r, n) { + return new Eg(Kr(e), r, n); + } + createScopeForNodes(e, r, n) { + let i = Kr(e) + .map((a) => { + let s = this.nameProvider.getName(a); + if (s) return this.descriptions.createDescription(a, s); + }) + .nonNullable(); + return new Eg(i, r, n); + } + getGlobalScope(e, r) { + return this.globalScopeCache.get(e, () => new B2(this.indexManager.allElements(e))); + } + }; + }); + function RM(t) { + return typeof t.$comment == 'string'; + } + function woe(t) { + return typeof t == 'object' && !!t && ('$ref' in t || '$error' in t); + } + var G2, + Ok = R(() => { + 'use strict'; + EM(); + Vo(); + es(); + Il(); + o(RM, 'isAstNodeWithComment'); + o(woe, 'isIntermediateReference'); + G2 = class { + static { + o(this, 'DefaultJsonSerializer'); + } + constructor(e) { + (this.ignoreProperties = new Set([ + '$container', + '$containerProperty', + '$containerIndex', + '$document', + '$cstNode' + ])), + (this.langiumDocuments = e.shared.workspace.LangiumDocuments), + (this.astNodeLocator = e.workspace.AstNodeLocator), + (this.nameProvider = e.references.NameProvider), + (this.commentProvider = e.documentation.CommentProvider); + } + serialize(e, r = {}) { + let n = r?.replacer, + i = o((s, l) => this.replacer(s, l, r), 'defaultReplacer'), + a = n ? (s, l) => n(s, l, i) : i; + try { + return (this.currentDocument = Oi(e)), JSON.stringify(e, a, r?.space); + } finally { + this.currentDocument = void 0; + } + } + deserialize(e, r = {}) { + let n = JSON.parse(e); + return this.linkNode(n, n, r), n; + } + replacer(e, r, { refText: n, sourceText: i, textRegions: a, comments: s, uriConverter: l }) { + var u, h, f, d; + if (!this.ignoreProperties.has(e)) + if (xa(r)) { + let p = r.ref, + m = n ? r.$refText : void 0; + if (p) { + let g = Oi(p), + y = ''; + this.currentDocument && + this.currentDocument !== g && + (l ? (y = l(g.uri, r)) : (y = g.uri.toString())); + let v = this.astNodeLocator.getAstNodePath(p); + return { $ref: `${y}#${v}`, $refText: m }; + } else + return { + $error: + (h = (u = r.error) === null || u === void 0 ? void 0 : u.message) !== null && + h !== void 0 + ? h + : 'Could not resolve reference', + $refText: m + }; + } else if (Xn(r)) { + let p; + if ( + (a && + ((p = this.addAstNodeRegionWithAssignmentsTo(Object.assign({}, r))), + (!e || r.$document) && + p?.$textRegion && + (p.$textRegion.documentURI = + (f = this.currentDocument) === null || f === void 0 + ? void 0 + : f.uri.toString())), + i && + !e && + (p ?? (p = Object.assign({}, r)), + (p.$sourceText = (d = r.$cstNode) === null || d === void 0 ? void 0 : d.text)), + s) + ) { + p ?? (p = Object.assign({}, r)); + let m = this.commentProvider.getComment(r); + m && (p.$comment = m.replace(/\r/g, '')); + } + return p ?? r; + } else return r; + } + addAstNodeRegionWithAssignmentsTo(e) { + let r = o( + (n) => ({ + offset: n.offset, + end: n.end, + length: n.length, + range: n.range + }), + 'createDocumentSegment' + ); + if (e.$cstNode) { + let n = (e.$textRegion = r(e.$cstNode)), + i = (n.assignments = {}); + return ( + Object.keys(e) + .filter((a) => !a.startsWith('$')) + .forEach((a) => { + let s = YR(e.$cstNode, a).map(r); + s.length !== 0 && (i[a] = s); + }), + e + ); + } + } + linkNode(e, r, n, i, a, s) { + for (let [u, h] of Object.entries(e)) + if (Array.isArray(h)) + for (let f = 0; f < h.length; f++) { + let d = h[f]; + woe(d) + ? (h[f] = this.reviveReference(e, u, r, d, n)) + : Xn(d) && this.linkNode(d, r, n, e, u, f); + } + else + woe(h) + ? (e[u] = this.reviveReference(e, u, r, h, n)) + : Xn(h) && this.linkNode(h, r, n, e, u); + let l = e; + (l.$container = i), (l.$containerProperty = a), (l.$containerIndex = s); + } + reviveReference(e, r, n, i, a) { + let s = i.$refText, + l = i.$error; + if (i.$ref) { + let u = this.getRefNode(n, i.$ref, a.uriConverter); + if (Xn(u)) return s || (s = this.nameProvider.getName(u)), { $refText: s ?? '', ref: u }; + l = u; + } + if (l) { + let u = { $refText: s ?? '' }; + return ( + (u.error = { + container: e, + property: r, + message: l, + reference: u + }), + u + ); + } else return; + } + getRefNode(e, r, n) { + try { + let i = r.indexOf('#'); + if (i === 0) { + let u = this.astNodeLocator.getAstNode(e, r.substring(1)); + return u || 'Could not resolve path: ' + r; + } + if (i < 0) { + let u = n ? n(r) : Ms.parse(r), + h = this.langiumDocuments.getDocument(u); + return h ? h.parseResult.value : 'Could not find document for URI: ' + r; + } + let a = n ? n(r.substring(0, i)) : Ms.parse(r.substring(0, i)), + s = this.langiumDocuments.getDocument(a); + if (!s) return 'Could not find document for URI: ' + r; + if (i === r.length - 1) return s.parseResult.value; + let l = this.astNodeLocator.getAstNode(s.parseResult.value, r.substring(i + 1)); + return l || 'Could not resolve URI: ' + r; + } catch (i) { + return String(i); + } + } + }; + }); + var $2, + NM = R(() => { + 'use strict'; + Nc(); + $2 = class { + static { + o(this, 'DefaultServiceRegistry'); + } + register(e) { + if (!this.singleton && !this.map) { + this.singleton = e; + return; + } + if (!this.map && ((this.map = {}), this.singleton)) { + for (let r of this.singleton.LanguageMetaData.fileExtensions) this.map[r] = this.singleton; + this.singleton = void 0; + } + for (let r of e.LanguageMetaData.fileExtensions) + this.map[r] !== void 0 && + this.map[r] !== e && + console.warn( + `The file extension ${r} is used by multiple languages. It is now assigned to '${e.LanguageMetaData.languageId}'.` + ), + (this.map[r] = e); + } + getServices(e) { + if (this.singleton !== void 0) return this.singleton; + if (this.map === void 0) + throw new Error( + 'The service registry is empty. Use `register` to register the services of a language.' + ); + let r = ss.extname(e), + n = this.map[r]; + if (!n) throw new Error(`The service registry contains no services for the extension '${r}'.`); + return n; + } + get all() { + return this.singleton !== void 0 + ? [this.singleton] + : this.map !== void 0 + ? Object.values(this.map) + : []; + } + }; + }); + function Pk(t) { + return { code: t }; + } + var Ag, + V2, + U2 = R(() => { + 'use strict'; + kg(); + qo(); + Ds(); + o(Pk, 'diagnosticData'); + (function (t) { + t.all = ['fast', 'slow', 'built-in']; + })(Ag || (Ag = {})); + V2 = class { + static { + o(this, 'ValidationRegistry'); + } + constructor(e) { + (this.entries = new Mc()), (this.reflection = e.shared.AstReflection); + } + register(e, r = this, n = 'fast') { + if (n === 'built-in') + throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors."); + for (let [i, a] of Object.entries(e)) { + let s = a; + if (Array.isArray(s)) + for (let l of s) { + let u = { + check: this.wrapValidationException(l, r), + category: n + }; + this.addEntry(i, u); + } + else if (typeof s == 'function') { + let l = { + check: this.wrapValidationException(s, r), + category: n + }; + this.addEntry(i, l); + } + } + } + wrapValidationException(e, r) { + return async (n, i, a) => { + try { + await e.call(r, n, i, a); + } catch (s) { + if (of(s)) throw s; + console.error('An error occurred during validation:', s); + let l = s instanceof Error ? s.message : String(s); + s instanceof Error && s.stack && console.error(s.stack), + i('error', 'An error occurred during validation: ' + l, { + node: n + }); + } + }; + } + addEntry(e, r) { + if (e === 'AstNode') { + this.entries.add('AstNode', r); + return; + } + for (let n of this.reflection.getAllSubTypes(e)) this.entries.add(n, r); + } + getChecks(e, r) { + let n = Kr(this.entries.get(e)).concat(this.entries.get('AstNode')); + return r && (n = n.filter((i) => r.includes(i.category))), n.map((i) => i.check); + } + }; + }); + function Toe(t) { + if (t.range) return t.range; + let e; + return ( + typeof t.property == 'string' + ? (e = Zv(t.node.$cstNode, t.property, t.index)) + : typeof t.keyword == 'string' && (e = qR(t.node.$cstNode, t.keyword, t.index)), + e ?? (e = t.node.$cstNode), + e ? e.range : { start: { line: 0, character: 0 }, end: { line: 0, character: 0 } } + ); + } + function Bk(t) { + switch (t) { + case 'error': + return 1; + case 'warning': + return 2; + case 'info': + return 3; + case 'hint': + return 4; + default: + throw new Error('Invalid diagnostic severity: ' + t); + } + } + var H2, + Uu, + MM = R(() => { + 'use strict'; + Wo(); + Il(); + es(); + Rl(); + qo(); + U2(); + H2 = class { + static { + o(this, 'DefaultDocumentValidator'); + } + constructor(e) { + (this.validationRegistry = e.validation.ValidationRegistry), (this.metadata = e.LanguageMetaData); + } + async validateDocument(e, r = {}, n = pr.CancellationToken.None) { + let i = e.parseResult, + a = []; + if ( + (await Bi(n), + (!r.categories || r.categories.includes('built-in')) && + (this.processLexingErrors(i, a, r), + (r.stopAfterLexingErrors && + a.some((s) => { + var l; + return ((l = s.data) === null || l === void 0 ? void 0 : l.code) === Uu.LexingError; + })) || + (this.processParsingErrors(i, a, r), + r.stopAfterParsingErrors && + a.some((s) => { + var l; + return ( + ((l = s.data) === null || l === void 0 ? void 0 : l.code) === + Uu.ParsingError + ); + })) || + (this.processLinkingErrors(e, a, r), + r.stopAfterLinkingErrors && + a.some((s) => { + var l; + return ( + ((l = s.data) === null || l === void 0 ? void 0 : l.code) === + Uu.LinkingError + ); + })))) + ) + return a; + try { + a.push(...(await this.validateAst(i.value, r, n))); + } catch (s) { + if (of(s)) throw s; + console.error('An error occurred during validation:', s); + } + return await Bi(n), a; + } + processLexingErrors(e, r, n) { + for (let i of e.lexerErrors) { + let a = { + severity: Bk('error'), + range: { + start: { line: i.line - 1, character: i.column - 1 }, + end: { line: i.line - 1, character: i.column + i.length - 1 } + }, + message: i.message, + data: Pk(Uu.LexingError), + source: this.getSource() + }; + r.push(a); + } + } + processParsingErrors(e, r, n) { + for (let i of e.parserErrors) { + let a; + if (isNaN(i.token.startOffset)) { + if ('previousToken' in i) { + let s = i.previousToken; + if (isNaN(s.startOffset)) { + let l = { line: 0, character: 0 }; + a = { start: l, end: l }; + } else { + let l = { line: s.endLine - 1, character: s.endColumn }; + a = { start: l, end: l }; + } + } + } else a = zm(i.token); + if (a) { + let s = { + severity: Bk('error'), + range: a, + message: i.message, + data: Pk(Uu.ParsingError), + source: this.getSource() + }; + r.push(s); + } + } + } + processLinkingErrors(e, r, n) { + for (let i of e.references) { + let a = i.error; + if (a) { + let s = { + node: a.container, + property: a.property, + index: a.index, + data: { + code: Uu.LinkingError, + containerType: a.container.$type, + property: a.property, + refText: a.reference.$refText + } + }; + r.push(this.toDiagnostic('error', a.message, s)); + } + } + } + async validateAst(e, r, n = pr.CancellationToken.None) { + let i = [], + a = o((s, l, u) => { + i.push(this.toDiagnostic(s, l, u)); + }, 'acceptor'); + return ( + await Promise.all( + Yo(e).map(async (s) => { + await Bi(n); + let l = this.validationRegistry.getChecks(s.$type, r.categories); + for (let u of l) await u(s, a, n); + }) + ), + i + ); + } + toDiagnostic(e, r, n) { + return { + message: r, + range: Toe(n), + severity: Bk(e), + code: n.code, + codeDescription: n.codeDescription, + tags: n.tags, + relatedInformation: n.relatedInformation, + data: n.data, + source: this.getSource() + }; + } + getSource() { + return this.metadata.languageId; + } + }; + o(Toe, 'getDiagnosticRange'); + o(Bk, 'toDiagnosticSeverity'); + (function (t) { + (t.LexingError = 'lexing-error'), + (t.ParsingError = 'parsing-error'), + (t.LinkingError = 'linking-error'); + })(Uu || (Uu = {})); + }); + var Y2, + W2, + IM = R(() => { + 'use strict'; + Wo(); + Vo(); + es(); + Rl(); + qo(); + Nc(); + (Y2 = class { + static { + o(this, 'DefaultAstNodeDescriptionProvider'); + } + constructor(e) { + (this.astNodeLocator = e.workspace.AstNodeLocator), (this.nameProvider = e.references.NameProvider); + } + createDescription(e, r, n = Oi(e)) { + r ?? (r = this.nameProvider.getName(e)); + let i = this.astNodeLocator.getAstNodePath(e); + if (!r) throw new Error(`Node at path ${i} has no name.`); + let a, + s = o(() => { + var l; + return ( + a ?? + (a = Xd( + (l = this.nameProvider.getNameNode(e)) !== null && l !== void 0 ? l : e.$cstNode + )) + ); + }, 'nameSegmentGetter'); + return { + node: e, + name: r, + get nameSegment() { + return s(); + }, + selectionSegment: Xd(e.$cstNode), + type: e.$type, + documentUri: n.uri, + path: i + }; + } + }), + (W2 = class { + static { + o(this, 'DefaultReferenceDescriptionProvider'); + } + constructor(e) { + this.nodeLocator = e.workspace.AstNodeLocator; + } + async createDescriptions(e, r = pr.CancellationToken.None) { + let n = [], + i = e.parseResult.value; + for (let a of Yo(i)) + await Bi(r), + $m(a) + .filter((s) => !Wd(s)) + .forEach((s) => { + let l = this.createDescription(s); + l && n.push(l); + }); + return n; + } + createDescription(e) { + let r = e.reference.$nodeDescription, + n = e.reference.$refNode; + if (!r || !n) return; + let i = Oi(e.container).uri; + return { + sourceUri: i, + sourcePath: this.nodeLocator.getAstNodePath(e.container), + targetUri: r.documentUri, + targetPath: r.path, + segment: Xd(n), + local: ss.equals(r.documentUri, i) + }; + } + }); + }); + var q2, + OM = R(() => { + 'use strict'; + q2 = class { + static { + o(this, 'DefaultAstNodeLocator'); + } + constructor() { + (this.segmentSeparator = '/'), (this.indexSeparator = '@'); + } + getAstNodePath(e) { + if (e.$container) { + let r = this.getAstNodePath(e.$container), + n = this.getPathSegment(e); + return r + this.segmentSeparator + n; + } + return ''; + } + getPathSegment({ $containerProperty: e, $containerIndex: r }) { + if (!e) throw new Error("Missing '$containerProperty' in AST node."); + return r !== void 0 ? e + this.indexSeparator + r : e; + } + getAstNode(e, r) { + return r.split(this.segmentSeparator).reduce((i, a) => { + if (!i || a.length === 0) return i; + let s = a.indexOf(this.indexSeparator); + if (s > 0) { + let l = a.substring(0, s), + u = parseInt(a.substring(s + 1)), + h = i[l]; + return h?.[u]; + } + return i[a]; + }, e); + } + }; + }); + var X2, + PM = R(() => { + 'use strict'; + qo(); + X2 = class { + static { + o(this, 'DefaultConfigurationProvider'); + } + constructor(e) { + (this._ready = new as()), + (this.settings = {}), + (this.workspaceConfig = !1), + (this.serviceRegistry = e.ServiceRegistry); + } + get ready() { + return this._ready.promise; + } + initialize(e) { + var r, n; + this.workspaceConfig = + (n = (r = e.capabilities.workspace) === null || r === void 0 ? void 0 : r.configuration) !== + null && n !== void 0 + ? n + : !1; + } + async initialized(e) { + if (this.workspaceConfig) { + if (e.register) { + let r = this.serviceRegistry.all; + e.register({ + section: r.map((n) => this.toSectionName(n.LanguageMetaData.languageId)) + }); + } + if (e.fetchConfiguration) { + let r = this.serviceRegistry.all.map((i) => ({ + section: this.toSectionName(i.LanguageMetaData.languageId) + })), + n = await e.fetchConfiguration(r); + r.forEach((i, a) => { + this.updateSectionConfiguration(i.section, n[a]); + }); + } + } + this._ready.resolve(); + } + updateConfiguration(e) { + e.settings && + Object.keys(e.settings).forEach((r) => { + this.updateSectionConfiguration(r, e.settings[r]); + }); + } + updateSectionConfiguration(e, r) { + this.settings[e] = r; + } + async getConfiguration(e, r) { + await this.ready; + let n = this.toSectionName(e); + if (this.settings[n]) return this.settings[n][r]; + } + toSectionName(e) { + return `${e}`; + } + }; + }); + var b0, + BM = R(() => { + 'use strict'; + (function (t) { + function e(r) { + return { dispose: o(async () => await r(), 'dispose') }; + } + o(e, 'create'), (t.create = e); + })(b0 || (b0 = {})); + }); + var j2, + FM = R(() => { + 'use strict'; + Wo(); + BM(); + kg(); + qo(); + Ds(); + U2(); + Tg(); + j2 = class { + static { + o(this, 'DefaultDocumentBuilder'); + } + constructor(e) { + (this.updateBuildOptions = { + validation: { categories: ['built-in', 'fast'] } + }), + (this.updateListeners = []), + (this.buildPhaseListeners = new Mc()), + (this.buildState = new Map()), + (this.documentBuildWaiters = new Map()), + (this.currentState = yn.Changed), + (this.langiumDocuments = e.workspace.LangiumDocuments), + (this.langiumDocumentFactory = e.workspace.LangiumDocumentFactory), + (this.indexManager = e.workspace.IndexManager), + (this.serviceRegistry = e.ServiceRegistry); + } + async build(e, r = {}, n = pr.CancellationToken.None) { + var i, a; + for (let s of e) { + let l = s.uri.toString(); + if (s.state === yn.Validated) { + if (typeof r.validation == 'boolean' && r.validation) + (s.state = yn.IndexedReferences), (s.diagnostics = void 0), this.buildState.delete(l); + else if (typeof r.validation == 'object') { + let u = this.buildState.get(l), + h = (i = u?.result) === null || i === void 0 ? void 0 : i.validationChecks; + if (h) { + let d = ( + (a = r.validation.categories) !== null && a !== void 0 ? a : Ag.all + ).filter((p) => !h.includes(p)); + d.length > 0 && + (this.buildState.set(l, { + completed: !1, + options: { + validation: Object.assign(Object.assign({}, r.validation), { + categories: d + }) + }, + result: u.result + }), + (s.state = yn.IndexedReferences)); + } + } + } else this.buildState.delete(l); + } + (this.currentState = yn.Changed), + await this.emitUpdate( + e.map((s) => s.uri), + [] + ), + await this.buildDocuments(e, r, n); + } + async update(e, r, n = pr.CancellationToken.None) { + this.currentState = yn.Changed; + for (let s of r) + this.langiumDocuments.deleteDocument(s), + this.buildState.delete(s.toString()), + this.indexManager.remove(s); + for (let s of e) { + if (!this.langiumDocuments.invalidateDocument(s)) { + let u = this.langiumDocumentFactory.fromModel({ $type: 'INVALID' }, s); + (u.state = yn.Changed), this.langiumDocuments.addDocument(u); + } + this.buildState.delete(s.toString()); + } + let i = Kr(e) + .concat(r) + .map((s) => s.toString()) + .toSet(); + this.langiumDocuments.all + .filter((s) => !i.has(s.uri.toString()) && this.shouldRelink(s, i)) + .forEach((s) => { + this.serviceRegistry.getServices(s.uri).references.Linker.unlink(s), + (s.state = Math.min(s.state, yn.ComputedScopes)), + (s.diagnostics = void 0); + }), + await this.emitUpdate(e, r), + await Bi(n); + let a = this.langiumDocuments.all + .filter((s) => { + var l; + return ( + s.state < yn.Linked || + !( + !((l = this.buildState.get(s.uri.toString())) === null || l === void 0) && + l.completed + ) + ); + }) + .toArray(); + await this.buildDocuments(a, this.updateBuildOptions, n); + } + async emitUpdate(e, r) { + await Promise.all(this.updateListeners.map((n) => n(e, r))); + } + shouldRelink(e, r) { + return e.references.some((n) => n.error !== void 0) ? !0 : this.indexManager.isAffected(e, r); + } + onUpdate(e) { + return ( + this.updateListeners.push(e), + b0.create(() => { + let r = this.updateListeners.indexOf(e); + r >= 0 && this.updateListeners.splice(r, 1); + }) + ); + } + async buildDocuments(e, r, n) { + this.prepareBuild(e, r), + await this.runCancelable(e, yn.Parsed, n, (a) => this.langiumDocumentFactory.update(a, n)), + await this.runCancelable(e, yn.IndexedContent, n, (a) => this.indexManager.updateContent(a, n)), + await this.runCancelable(e, yn.ComputedScopes, n, async (a) => { + let s = this.serviceRegistry.getServices(a.uri).references.ScopeComputation; + a.precomputedScopes = await s.computeLocalScopes(a, n); + }), + await this.runCancelable(e, yn.Linked, n, (a) => + this.serviceRegistry.getServices(a.uri).references.Linker.link(a, n) + ), + await this.runCancelable(e, yn.IndexedReferences, n, (a) => + this.indexManager.updateReferences(a, n) + ); + let i = e.filter((a) => this.shouldValidate(a)); + await this.runCancelable(i, yn.Validated, n, (a) => this.validate(a, n)); + for (let a of e) { + let s = this.buildState.get(a.uri.toString()); + s && (s.completed = !0); + } + } + prepareBuild(e, r) { + for (let n of e) { + let i = n.uri.toString(), + a = this.buildState.get(i); + (!a || a.completed) && + this.buildState.set(i, { + completed: !1, + options: r, + result: a?.result + }); + } + } + async runCancelable(e, r, n, i) { + let a = e.filter((s) => s.state < r); + for (let s of a) await Bi(n), await i(s), (s.state = r); + await this.notifyBuildPhase(a, r, n), (this.currentState = r); + } + onBuildPhase(e, r) { + return ( + this.buildPhaseListeners.add(e, r), + b0.create(() => { + this.buildPhaseListeners.delete(e, r); + }) + ); + } + waitUntil(e, r, n) { + let i; + if ((r && 'path' in r ? (i = r) : (n = r), n ?? (n = pr.CancellationToken.None), i)) { + let a = this.langiumDocuments.getDocument(i); + if (a && a.state > e) return Promise.resolve(i); + } + return this.currentState >= e + ? Promise.resolve(void 0) + : n.isCancellationRequested + ? Promise.reject(Rc) + : new Promise((a, s) => { + let l = this.onBuildPhase(e, () => { + if ((l.dispose(), u.dispose(), i)) { + let h = this.langiumDocuments.getDocument(i); + a(h?.uri); + } else a(void 0); + }), + u = n.onCancellationRequested(() => { + l.dispose(), u.dispose(), s(Rc); + }); + }); + } + async notifyBuildPhase(e, r, n) { + if (e.length === 0) return; + let i = this.buildPhaseListeners.get(r); + for (let a of i) await Bi(n), await a(e, n); + } + shouldValidate(e) { + return !!this.getBuildOptions(e).validation; + } + async validate(e, r) { + var n, i; + let a = this.serviceRegistry.getServices(e.uri).validation.DocumentValidator, + s = this.getBuildOptions(e).validation, + l = typeof s == 'object' ? s : void 0, + u = await a.validateDocument(e, l, r); + e.diagnostics ? e.diagnostics.push(...u) : (e.diagnostics = u); + let h = this.buildState.get(e.uri.toString()); + if (h) { + ((n = h.result) !== null && n !== void 0) || (h.result = {}); + let f = (i = l?.categories) !== null && i !== void 0 ? i : Ag.all; + h.result.validationChecks + ? h.result.validationChecks.push(...f) + : (h.result.validationChecks = [...f]); + } + } + getBuildOptions(e) { + var r, n; + return (n = + (r = this.buildState.get(e.uri.toString())) === null || r === void 0 ? void 0 : r.options) !== + null && n !== void 0 + ? n + : {}; + } + }; + }); + var K2, + zM = R(() => { + 'use strict'; + es(); + Ik(); + Wo(); + Ds(); + Nc(); + K2 = class { + static { + o(this, 'DefaultIndexManager'); + } + constructor(e) { + (this.symbolIndex = new Map()), + (this.symbolByTypeIndex = new x0()), + (this.referenceIndex = new Map()), + (this.documents = e.workspace.LangiumDocuments), + (this.serviceRegistry = e.ServiceRegistry), + (this.astReflection = e.AstReflection); + } + findAllReferences(e, r) { + let n = Oi(e).uri, + i = []; + return ( + this.referenceIndex.forEach((a) => { + a.forEach((s) => { + ss.equals(s.targetUri, n) && s.targetPath === r && i.push(s); + }); + }), + Kr(i) + ); + } + allElements(e, r) { + let n = Kr(this.symbolIndex.keys()); + return ( + r && (n = n.filter((i) => !r || r.has(i))), n.map((i) => this.getFileDescriptions(i, e)).flat() + ); + } + getFileDescriptions(e, r) { + var n; + return r + ? this.symbolByTypeIndex.get(e, r, () => { + var a; + return ((a = this.symbolIndex.get(e)) !== null && a !== void 0 ? a : []).filter((l) => + this.astReflection.isSubtype(l.type, r) + ); + }) + : (n = this.symbolIndex.get(e)) !== null && n !== void 0 + ? n + : []; + } + remove(e) { + let r = e.toString(); + this.symbolIndex.delete(r), this.symbolByTypeIndex.clear(r), this.referenceIndex.delete(r); + } + async updateContent(e, r = pr.CancellationToken.None) { + let i = await this.serviceRegistry + .getServices(e.uri) + .references.ScopeComputation.computeExports(e, r), + a = e.uri.toString(); + this.symbolIndex.set(a, i), this.symbolByTypeIndex.clear(a); + } + async updateReferences(e, r = pr.CancellationToken.None) { + let i = await this.serviceRegistry + .getServices(e.uri) + .workspace.ReferenceDescriptionProvider.createDescriptions(e, r); + this.referenceIndex.set(e.uri.toString(), i); + } + isAffected(e, r) { + let n = this.referenceIndex.get(e.uri.toString()); + return n ? n.some((i) => !i.local && r.has(i.targetUri.toString())) : !1; + } + }; + }); + var Q2, + GM = R(() => { + 'use strict'; + Wo(); + qo(); + Nc(); + Q2 = class { + static { + o(this, 'DefaultWorkspaceManager'); + } + constructor(e) { + (this.initialBuildOptions = {}), + (this._ready = new as()), + (this.serviceRegistry = e.ServiceRegistry), + (this.langiumDocuments = e.workspace.LangiumDocuments), + (this.documentBuilder = e.workspace.DocumentBuilder), + (this.fileSystemProvider = e.workspace.FileSystemProvider), + (this.mutex = e.workspace.WorkspaceLock); + } + get ready() { + return this._ready.promise; + } + initialize(e) { + var r; + this.folders = (r = e.workspaceFolders) !== null && r !== void 0 ? r : void 0; + } + initialized(e) { + return this.mutex.write((r) => { + var n; + return this.initializeWorkspace((n = this.folders) !== null && n !== void 0 ? n : [], r); + }); + } + async initializeWorkspace(e, r = pr.CancellationToken.None) { + let n = await this.performStartup(e); + await Bi(r), await this.documentBuilder.build(n, this.initialBuildOptions, r); + } + async performStartup(e) { + let r = this.serviceRegistry.all.flatMap((a) => a.LanguageMetaData.fileExtensions), + n = [], + i = o((a) => { + n.push(a), this.langiumDocuments.hasDocument(a.uri) || this.langiumDocuments.addDocument(a); + }, 'collector'); + return ( + await this.loadAdditionalDocuments(e, i), + await Promise.all( + e.map((a) => [a, this.getRootFolder(a)]).map(async (a) => this.traverseFolder(...a, r, i)) + ), + this._ready.resolve(), + n + ); + } + loadAdditionalDocuments(e, r) { + return Promise.resolve(); + } + getRootFolder(e) { + return Ms.parse(e.uri); + } + async traverseFolder(e, r, n, i) { + let a = await this.fileSystemProvider.readDirectory(r); + await Promise.all( + a.map(async (s) => { + if (this.includeEntry(e, s, n)) { + if (s.isDirectory) await this.traverseFolder(e, s.uri, n, i); + else if (s.isFile) { + let l = await this.langiumDocuments.getOrCreateDocument(s.uri); + i(l); + } + } + }) + ); + } + includeEntry(e, r, n) { + let i = ss.basename(r.uri); + if (i.startsWith('.')) return !1; + if (r.isDirectory) return i !== 'node_modules' && i !== 'out'; + if (r.isFile) { + let a = ss.extname(r.uri); + return n.includes(a); + } + return !1; + } + }; + }); + function koe(t) { + return Array.isArray(t) && (t.length === 0 || 'name' in t[0]); + } + function VM(t) { + return t && 'modes' in t && 'defaultMode' in t; + } + function $M(t) { + return !koe(t) && !VM(t); + } + var Z2, + UM = R(() => { + 'use strict'; + u0(); + Z2 = class { + static { + o(this, 'DefaultLexer'); + } + constructor(e) { + let r = e.parser.TokenBuilder.buildTokens(e.Grammar, { + caseInsensitive: e.LanguageMetaData.caseInsensitive + }); + this.tokenTypes = this.toTokenTypeDictionary(r); + let n = $M(r) ? Object.values(r) : r; + this.chevrotainLexer = new ni(n, { positionTracking: 'full' }); + } + get definition() { + return this.tokenTypes; + } + tokenize(e) { + var r; + let n = this.chevrotainLexer.tokenize(e); + return { + tokens: n.tokens, + errors: n.errors, + hidden: (r = n.groups.hidden) !== null && r !== void 0 ? r : [] + }; + } + toTokenTypeDictionary(e) { + if ($M(e)) return e; + let r = VM(e) ? Object.values(e.modes).flat() : e, + n = {}; + return r.forEach((i) => (n[i.name] = i)), n; + } + }; + o(koe, 'isTokenTypeArray'); + o(VM, 'isIMultiModeLexerDefinition'); + o($M, 'isTokenTypeDictionary'); + }); + function WM(t, e, r) { + let n, i; + typeof t == 'string' ? ((i = e), (n = r)) : ((i = t.range.start), (n = e)), i || (i = Ur.create(0, 0)); + let a = Soe(t), + s = XM(n), + l = QOe({ lines: a, position: i, options: s }); + return rPe({ index: 0, tokens: l, position: i }); + } + function qM(t, e) { + let r = XM(e), + n = Soe(t); + if (n.length === 0) return !1; + let i = n[0], + a = n[n.length - 1], + s = r.start, + l = r.end; + return !!s?.exec(i) && !!l?.exec(a); + } + function Soe(t) { + let e = ''; + return typeof t == 'string' ? (e = t) : (e = t.text), e.split(BR); + } + function QOe(t) { + var e, r, n; + let i = [], + a = t.position.line, + s = t.position.character; + for (let l = 0; l < t.lines.length; l++) { + let u = l === 0, + h = l === t.lines.length - 1, + f = t.lines[l], + d = 0; + if (u && t.options.start) { + let m = (e = t.options.start) === null || e === void 0 ? void 0 : e.exec(f); + m && (d = m.index + m[0].length); + } else { + let m = (r = t.options.line) === null || r === void 0 ? void 0 : r.exec(f); + m && (d = m.index + m[0].length); + } + if (h) { + let m = (n = t.options.end) === null || n === void 0 ? void 0 : n.exec(f); + m && (f = f.substring(0, m.index)); + } + if (((f = f.substring(0, tPe(f))), YM(f, d) >= f.length)) { + if (i.length > 0) { + let m = Ur.create(a, s); + i.push({ type: 'break', content: '', range: wr.create(m, m) }); + } + } else { + Eoe.lastIndex = d; + let m = Eoe.exec(f); + if (m) { + let g = m[0], + y = m[1], + v = Ur.create(a, s + d), + x = Ur.create(a, s + d + g.length); + i.push({ type: 'tag', content: y, range: wr.create(v, x) }), (d += g.length), (d = YM(f, d)); + } + if (d < f.length) { + let g = f.substring(d), + y = Array.from(g.matchAll(KOe)); + i.push(...ZOe(y, g, a, s + d)); + } + } + a++, (s = 0); + } + return i.length > 0 && i[i.length - 1].type === 'break' ? i.slice(0, -1) : i; + } + function ZOe(t, e, r, n) { + let i = []; + if (t.length === 0) { + let a = Ur.create(r, n), + s = Ur.create(r, n + e.length); + i.push({ type: 'text', content: e, range: wr.create(a, s) }); + } else { + let a = 0; + for (let l of t) { + let u = l.index, + h = e.substring(a, u); + h.length > 0 && + i.push({ + type: 'text', + content: e.substring(a, u), + range: wr.create(Ur.create(r, a + n), Ur.create(r, u + n)) + }); + let f = h.length + 1, + d = l[1]; + if ( + (i.push({ + type: 'inline-tag', + content: d, + range: wr.create(Ur.create(r, a + f + n), Ur.create(r, a + f + d.length + n)) + }), + (f += d.length), + l.length === 4) + ) { + f += l[2].length; + let p = l[3]; + i.push({ + type: 'text', + content: p, + range: wr.create(Ur.create(r, a + f + n), Ur.create(r, a + f + p.length + n)) + }); + } else + i.push({ + type: 'text', + content: '', + range: wr.create(Ur.create(r, a + f + n), Ur.create(r, a + f + n)) + }); + a = u + l[0].length; + } + let s = e.substring(a); + s.length > 0 && + i.push({ + type: 'text', + content: s, + range: wr.create(Ur.create(r, a + n), Ur.create(r, a + n + s.length)) + }); + } + return i; + } + function YM(t, e) { + let r = t.substring(e).match(JOe); + return r ? e + r.index : t.length; + } + function tPe(t) { + let e = t.match(ePe); + if (e && typeof e.index == 'number') return e.index; + } + function rPe(t) { + var e, r, n, i; + let a = Ur.create(t.position.line, t.position.character); + if (t.tokens.length === 0) return new Fk([], wr.create(a, a)); + let s = []; + for (; t.index < t.tokens.length; ) { + let h = nPe(t, s[s.length - 1]); + h && s.push(h); + } + let l = (r = (e = s[0]) === null || e === void 0 ? void 0 : e.range.start) !== null && r !== void 0 ? r : a, + u = + (i = (n = s[s.length - 1]) === null || n === void 0 ? void 0 : n.range.end) !== null && i !== void 0 + ? i + : a; + return new Fk(s, wr.create(l, u)); + } + function nPe(t, e) { + let r = t.tokens[t.index]; + if (r.type === 'tag') return _oe(t, !1); + if (r.type === 'text' || r.type === 'inline-tag') return Aoe(t); + iPe(r, e), t.index++; + } + function iPe(t, e) { + if (e) { + let r = new zk('', t.range); + 'inlines' in e ? e.inlines.push(r) : e.content.inlines.push(r); + } + } + function Aoe(t) { + let e = t.tokens[t.index], + r = e, + n = e, + i = []; + for (; e && e.type !== 'break' && e.type !== 'tag'; ) i.push(aPe(t)), (n = e), (e = t.tokens[t.index]); + return new ex(i, wr.create(r.range.start, n.range.end)); + } + function aPe(t) { + return t.tokens[t.index].type === 'inline-tag' ? _oe(t, !0) : Loe(t); + } + function _oe(t, e) { + let r = t.tokens[t.index++], + n = r.content.substring(1), + i = t.tokens[t.index]; + if (i?.type === 'text') + if (e) { + let a = Loe(t); + return new J2(n, new ex([a], a.range), e, wr.create(r.range.start, a.range.end)); + } else { + let a = Aoe(t); + return new J2(n, a, e, wr.create(r.range.start, a.range.end)); + } + else { + let a = r.range; + return new J2(n, new ex([], a), e, a); + } + } + function Loe(t) { + let e = t.tokens[t.index++]; + return new zk(e.content, e.range); + } + function XM(t) { + if (!t) return XM({ start: '/**', end: '*/', line: '*' }); + let { start: e, end: r, line: n } = t; + return { start: HM(e, !0), end: HM(r, !1), line: HM(n, !0) }; + } + function HM(t, e) { + if (typeof t == 'string' || typeof t == 'object') { + let r = typeof t == 'string' ? t0(t) : t.source; + return e ? new RegExp(`^\\s*${r}`) : new RegExp(`\\s*${r}\\s*$`); + } else return t; + } + function sPe(t, e, r) { + var n, i; + if (t === 'linkplain' || t === 'linkcode' || t === 'link') { + let a = e.indexOf(' '), + s = e; + if (a > 0) { + let u = YM(e, a); + (s = e.substring(u)), (e = e.substring(0, a)); + } + return ( + (t === 'linkcode' || (t === 'link' && r.link === 'code')) && (s = `\`${s}\``), + (i = (n = r.renderLink) === null || n === void 0 ? void 0 : n.call(r, e, s)) !== null && i !== void 0 + ? i + : oPe(e, s) + ); + } + } + function oPe(t, e) { + try { + return Ms.parse(t, !0), `[${e}](${t})`; + } catch { + return t; + } + } + function Coe(t) { + return t.endsWith(` +`) + ? ` +` + : ` + +`; + } + var Eoe, + KOe, + JOe, + ePe, + Fk, + J2, + ex, + zk, + jM = R(() => { + 'use strict'; + tM(); + Um(); + Nc(); + o(WM, 'parseJSDoc'); + o(qM, 'isJSDoc'); + o(Soe, 'getLines'); + (Eoe = /\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy), (KOe = /\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu); + o(QOe, 'tokenize'); + o(ZOe, 'buildInlineTokens'); + (JOe = /\S/), (ePe = /\s*$/); + o(YM, 'skipWhitespace'); + o(tPe, 'lastCharacter'); + o(rPe, 'parseJSDocComment'); + o(nPe, 'parseJSDocElement'); + o(iPe, 'appendEmptyLine'); + o(Aoe, 'parseJSDocText'); + o(aPe, 'parseJSDocInline'); + o(_oe, 'parseJSDocTag'); + o(Loe, 'parseJSDocLine'); + o(XM, 'normalizeOptions'); + o(HM, 'normalizeOption'); + (Fk = class { + static { + o(this, 'JSDocCommentImpl'); + } + constructor(e, r) { + (this.elements = e), (this.range = r); + } + getTag(e) { + return this.getAllTags().find((r) => r.name === e); + } + getTags(e) { + return this.getAllTags().filter((r) => r.name === e); + } + getAllTags() { + return this.elements.filter((e) => 'name' in e); + } + toString() { + let e = ''; + for (let r of this.elements) + if (e.length === 0) e = r.toString(); + else { + let n = r.toString(); + e += Coe(e) + n; + } + return e.trim(); + } + toMarkdown(e) { + let r = ''; + for (let n of this.elements) + if (r.length === 0) r = n.toMarkdown(e); + else { + let i = n.toMarkdown(e); + r += Coe(r) + i; + } + return r.trim(); + } + }), + (J2 = class { + static { + o(this, 'JSDocTagImpl'); + } + constructor(e, r, n, i) { + (this.name = e), (this.content = r), (this.inline = n), (this.range = i); + } + toString() { + let e = `@${this.name}`, + r = this.content.toString(); + return ( + this.content.inlines.length === 1 + ? (e = `${e} ${r}`) + : this.content.inlines.length > 1 && + (e = `${e} +${r}`), + this.inline ? `{${e}}` : e + ); + } + toMarkdown(e) { + var r, n; + return (n = (r = e?.renderTag) === null || r === void 0 ? void 0 : r.call(e, this)) !== null && + n !== void 0 + ? n + : this.toMarkdownDefault(e); + } + toMarkdownDefault(e) { + let r = this.content.toMarkdown(e); + if (this.inline) { + let a = sPe(this.name, r, e ?? {}); + if (typeof a == 'string') return a; + } + let n = ''; + e?.tag === 'italic' || e?.tag === void 0 + ? (n = '*') + : e?.tag === 'bold' + ? (n = '**') + : e?.tag === 'bold-italic' && (n = '***'); + let i = `${n}@${this.name}${n}`; + return ( + this.content.inlines.length === 1 + ? (i = `${i} \u2014 ${r}`) + : this.content.inlines.length > 1 && + (i = `${i} +${r}`), + this.inline ? `{${i}}` : i + ); + } + }); + o(sPe, 'renderInlineTag'); + o(oPe, 'renderLinkDefault'); + (ex = class { + static { + o(this, 'JSDocTextImpl'); + } + constructor(e, r) { + (this.inlines = e), (this.range = r); + } + toString() { + let e = ''; + for (let r = 0; r < this.inlines.length; r++) { + let n = this.inlines[r], + i = this.inlines[r + 1]; + (e += n.toString()), + i && + i.range.start.line > n.range.start.line && + (e += ` +`); + } + return e; + } + toMarkdown(e) { + let r = ''; + for (let n = 0; n < this.inlines.length; n++) { + let i = this.inlines[n], + a = this.inlines[n + 1]; + (r += i.toMarkdown(e)), + a && + a.range.start.line > i.range.start.line && + (r += ` +`); + } + return r; + } + }), + (zk = class { + static { + o(this, 'JSDocLineImpl'); + } + constructor(e, r) { + (this.text = e), (this.range = r); + } + toString() { + return this.text; + } + toMarkdown() { + return this.text; + } + }); + o(Coe, 'fillNewlines'); + }); + var tx, + KM = R(() => { + 'use strict'; + es(); + jM(); + tx = class { + static { + o(this, 'JSDocDocumentationProvider'); + } + constructor(e) { + (this.indexManager = e.shared.workspace.IndexManager), + (this.commentProvider = e.documentation.CommentProvider); + } + getDocumentation(e) { + let r = this.commentProvider.getComment(e); + if (r && qM(r)) + return WM(r).toMarkdown({ + renderLink: o((i, a) => this.documentationLinkRenderer(e, i, a), 'renderLink'), + renderTag: o((i) => this.documentationTagRenderer(e, i), 'renderTag') + }); + } + documentationLinkRenderer(e, r, n) { + var i; + let a = + (i = this.findNameInPrecomputedScopes(e, r)) !== null && i !== void 0 + ? i + : this.findNameInGlobalScope(e, r); + if (a && a.nameSegment) { + let s = a.nameSegment.range.start.line + 1, + l = a.nameSegment.range.start.character + 1, + u = a.documentUri.with({ fragment: `L${s},${l}` }); + return `[${n}](${u.toString()})`; + } else return; + } + documentationTagRenderer(e, r) {} + findNameInPrecomputedScopes(e, r) { + let i = Oi(e).precomputedScopes; + if (!i) return; + let a = e; + do { + let l = i.get(a).find((u) => u.name === r); + if (l) return l; + a = a.$container; + } while (a); + } + findNameInGlobalScope(e, r) { + return this.indexManager.allElements().find((i) => i.name === r); + } + }; + }); + var rx, + QM = R(() => { + 'use strict'; + Ok(); + Rl(); + rx = class { + static { + o(this, 'DefaultCommentProvider'); + } + constructor(e) { + this.grammarConfig = () => e.parser.GrammarConfig; + } + getComment(e) { + var r; + return RM(e) + ? e.$comment + : (r = _D(e.$cstNode, this.grammarConfig().multilineCommentRules)) === null || r === void 0 + ? void 0 + : r.text; + } + }; + }); + var ii = {}; + var ZM = R(() => { + 'use strict'; + dr(ii, Xi(vM(), 1)); + }); + var nx, + JM, + eI, + tI = R(() => { + 'use strict'; + qo(); + ZM(); + (nx = class { + static { + o(this, 'DefaultAsyncParser'); + } + constructor(e) { + this.syncParser = e.parser.LangiumParser; + } + parse(e) { + return Promise.resolve(this.syncParser.parse(e)); + } + }), + (JM = class { + static { + o(this, 'AbstractThreadedAsyncParser'); + } + constructor(e) { + (this.threadCount = 8), + (this.terminationDelay = 200), + (this.workerPool = []), + (this.queue = []), + (this.hydrator = e.serializer.Hydrator); + } + initializeWorkers() { + for (; this.workerPool.length < this.threadCount; ) { + let e = this.createWorker(); + e.onReady(() => { + if (this.queue.length > 0) { + let r = this.queue.shift(); + r && (e.lock(), r.resolve(e)); + } + }), + this.workerPool.push(e); + } + } + async parse(e, r) { + let n = await this.acquireParserWorker(r), + i = new as(), + a, + s = r.onCancellationRequested(() => { + a = setTimeout(() => { + this.terminateWorker(n); + }, this.terminationDelay); + }); + return ( + n + .parse(e) + .then((l) => { + let u = this.hydrator.hydrate(l); + i.resolve(u); + }) + .catch((l) => { + i.reject(l); + }) + .finally(() => { + s.dispose(), clearTimeout(a); + }), + i.promise + ); + } + terminateWorker(e) { + e.terminate(); + let r = this.workerPool.indexOf(e); + r >= 0 && this.workerPool.splice(r, 1); + } + async acquireParserWorker(e) { + this.initializeWorkers(); + for (let n of this.workerPool) if (n.ready) return n.lock(), n; + let r = new as(); + return ( + e.onCancellationRequested(() => { + let n = this.queue.indexOf(r); + n >= 0 && this.queue.splice(n, 1), r.reject(Rc); + }), + this.queue.push(r), + r.promise + ); + } + }), + (eI = class { + static { + o(this, 'ParserWorker'); + } + get ready() { + return this._ready; + } + get onReady() { + return this.onReadyEmitter.event; + } + constructor(e, r, n, i) { + (this.onReadyEmitter = new ii.Emitter()), + (this.deferred = new as()), + (this._ready = !0), + (this._parsing = !1), + (this.sendMessage = e), + (this._terminate = i), + r((a) => { + let s = a; + this.deferred.resolve(s), this.unlock(); + }), + n((a) => { + this.deferred.reject(a), this.unlock(); + }); + } + terminate() { + this.deferred.reject(Rc), this._terminate(); + } + lock() { + this._ready = !1; + } + unlock() { + (this._parsing = !1), (this._ready = !0), this.onReadyEmitter.fire(); + } + parse(e) { + if (this._parsing) throw new Error('Parser worker is busy'); + return ( + (this._parsing = !0), (this.deferred = new as()), this.sendMessage(e), this.deferred.promise + ); + } + }); + }); + var ix, + rI = R(() => { + 'use strict'; + Wo(); + qo(); + ix = class { + static { + o(this, 'DefaultWorkspaceLock'); + } + constructor() { + (this.previousTokenSource = new pr.CancellationTokenSource()), + (this.writeQueue = []), + (this.readQueue = []), + (this.done = !0); + } + write(e) { + this.cancelWrite(); + let r = new pr.CancellationTokenSource(); + return (this.previousTokenSource = r), this.enqueue(this.writeQueue, e, r.token); + } + read(e) { + return this.enqueue(this.readQueue, e); + } + enqueue(e, r, n) { + let i = new as(), + a = { + action: r, + deferred: i, + cancellationToken: n ?? pr.CancellationToken.None + }; + return e.push(a), this.performNextOperation(), i.promise; + } + async performNextOperation() { + if (!this.done) return; + let e = []; + if (this.writeQueue.length > 0) e.push(this.writeQueue.shift()); + else if (this.readQueue.length > 0) e.push(...this.readQueue.splice(0, this.readQueue.length)); + else return; + (this.done = !1), + await Promise.all( + e.map(async ({ action: r, deferred: n, cancellationToken: i }) => { + try { + let a = await Promise.resolve().then(() => r(i)); + n.resolve(a); + } catch (a) { + of(a) ? n.resolve(void 0) : n.reject(a); + } + }) + ), + (this.done = !0), + this.performNextOperation(); + } + cancelWrite() { + this.previousTokenSource.cancel(); + } + }; + }); + var ax, + nI = R(() => { + 'use strict'; + Ek(); + Sc(); + Vo(); + es(); + kg(); + Rl(); + ax = class { + static { + o(this, 'DefaultHydrator'); + } + constructor(e) { + (this.grammarElementIdMap = new v0()), + (this.tokenTypeIdMap = new v0()), + (this.grammar = e.Grammar), + (this.lexer = e.parser.Lexer), + (this.linker = e.references.Linker); + } + dehydrate(e) { + return { + lexerErrors: e.lexerErrors.map((r) => Object.assign({}, r)), + parserErrors: e.parserErrors.map((r) => Object.assign({}, r)), + value: this.dehydrateAstNode(e.value, this.createDehyrationContext(e.value)) + }; + } + createDehyrationContext(e) { + let r = new Map(), + n = new Map(); + for (let i of Yo(e)) r.set(i, {}); + if (e.$cstNode) for (let i of qd(e.$cstNode)) n.set(i, {}); + return { astNodes: r, cstNodes: n }; + } + dehydrateAstNode(e, r) { + let n = r.astNodes.get(e); + (n.$type = e.$type), + (n.$containerIndex = e.$containerIndex), + (n.$containerProperty = e.$containerProperty), + e.$cstNode !== void 0 && (n.$cstNode = this.dehydrateCstNode(e.$cstNode, r)); + for (let [i, a] of Object.entries(e)) + if (!i.startsWith('$')) + if (Array.isArray(a)) { + let s = []; + n[i] = s; + for (let l of a) + Xn(l) + ? s.push(this.dehydrateAstNode(l, r)) + : xa(l) + ? s.push(this.dehydrateReference(l, r)) + : s.push(l); + } else + Xn(a) + ? (n[i] = this.dehydrateAstNode(a, r)) + : xa(a) + ? (n[i] = this.dehydrateReference(a, r)) + : a !== void 0 && (n[i] = a); + return n; + } + dehydrateReference(e, r) { + let n = {}; + return (n.$refText = e.$refText), e.$refNode && (n.$refNode = r.cstNodes.get(e.$refNode)), n; + } + dehydrateCstNode(e, r) { + let n = r.cstNodes.get(e); + return ( + zv(e) + ? (n.fullText = e.fullText) + : (n.grammarSource = this.getGrammarElementId(e.grammarSource)), + (n.hidden = e.hidden), + (n.astNode = r.astNodes.get(e.astNode)), + co(e) + ? (n.content = e.content.map((i) => this.dehydrateCstNode(i, r))) + : ef(e) && + ((n.tokenType = e.tokenType.name), + (n.offset = e.offset), + (n.length = e.length), + (n.startLine = e.range.start.line), + (n.startColumn = e.range.start.character), + (n.endLine = e.range.end.line), + (n.endColumn = e.range.end.character)), + n + ); + } + hydrate(e) { + let r = e.value, + n = this.createHydrationContext(r); + return ( + '$cstNode' in r && this.hydrateCstNode(r.$cstNode, n), + { + lexerErrors: e.lexerErrors, + parserErrors: e.parserErrors, + value: this.hydrateAstNode(r, n) + } + ); + } + createHydrationContext(e) { + let r = new Map(), + n = new Map(); + for (let a of Yo(e)) r.set(a, {}); + let i; + if (e.$cstNode) + for (let a of qd(e.$cstNode)) { + let s; + 'fullText' in a + ? ((s = new gg(a.fullText)), (i = s)) + : 'content' in a + ? (s = new p0()) + : 'tokenType' in a && (s = this.hydrateCstLeafNode(a)), + s && (n.set(a, s), (s.root = i)); + } + return { astNodes: r, cstNodes: n }; + } + hydrateAstNode(e, r) { + let n = r.astNodes.get(e); + (n.$type = e.$type), + (n.$containerIndex = e.$containerIndex), + (n.$containerProperty = e.$containerProperty), + e.$cstNode && (n.$cstNode = r.cstNodes.get(e.$cstNode)); + for (let [i, a] of Object.entries(e)) + if (!i.startsWith('$')) + if (Array.isArray(a)) { + let s = []; + n[i] = s; + for (let l of a) + Xn(l) + ? s.push(this.setParent(this.hydrateAstNode(l, r), n)) + : xa(l) + ? s.push(this.hydrateReference(l, n, i, r)) + : s.push(l); + } else + Xn(a) + ? (n[i] = this.setParent(this.hydrateAstNode(a, r), n)) + : xa(a) + ? (n[i] = this.hydrateReference(a, n, i, r)) + : a !== void 0 && (n[i] = a); + return n; + } + setParent(e, r) { + return (e.$container = r), e; + } + hydrateReference(e, r, n, i) { + return this.linker.buildReference(r, n, i.cstNodes.get(e.$refNode), e.$refText); + } + hydrateCstNode(e, r, n = 0) { + let i = r.cstNodes.get(e); + if ( + (typeof e.grammarSource == 'number' && + (i.grammarSource = this.getGrammarElement(e.grammarSource)), + (i.astNode = r.astNodes.get(e.astNode)), + co(i)) + ) + for (let a of e.content) { + let s = this.hydrateCstNode(a, r, n++); + i.content.push(s); + } + return i; + } + hydrateCstLeafNode(e) { + let r = this.getTokenType(e.tokenType), + n = e.offset, + i = e.length, + a = e.startLine, + s = e.startColumn, + l = e.endLine, + u = e.endColumn, + h = e.hidden; + return new d0( + n, + i, + { + start: { line: a, character: s }, + end: { line: l, character: u } + }, + r, + h + ); + } + getTokenType(e) { + return this.lexer.definition[e]; + } + getGrammarElementId(e) { + return ( + this.grammarElementIdMap.size === 0 && this.createGrammarElementIdMap(), + this.grammarElementIdMap.get(e) + ); + } + getGrammarElement(e) { + this.grammarElementIdMap.size === 0 && this.createGrammarElementIdMap(); + let r = this.grammarElementIdMap.getKey(e); + if (r) return r; + throw new Error('Invalid grammar element id: ' + e); + } + createGrammarElementIdMap() { + let e = 0; + for (let r of Yo(this.grammar)) Uv(r) && this.grammarElementIdMap.set(r, e++); + } + }; + }); + function po(t) { + return { + documentation: { + CommentProvider: o((e) => new rx(e), 'CommentProvider'), + DocumentationProvider: o((e) => new tx(e), 'DocumentationProvider') + }, + parser: { + AsyncParser: o((e) => new nx(e), 'AsyncParser'), + GrammarConfig: o((e) => JR(e), 'GrammarConfig'), + LangiumParser: o((e) => cM(e), 'LangiumParser'), + CompletionParser: o((e) => oM(e), 'CompletionParser'), + ValueConverter: o(() => new y0(), 'ValueConverter'), + TokenBuilder: o(() => new g0(), 'TokenBuilder'), + Lexer: o((e) => new Z2(e), 'Lexer'), + ParserErrorMessageProvider: o(() => new yg(), 'ParserErrorMessageProvider') + }, + workspace: { + AstNodeLocator: o(() => new q2(), 'AstNodeLocator'), + AstNodeDescriptionProvider: o((e) => new Y2(e), 'AstNodeDescriptionProvider'), + ReferenceDescriptionProvider: o((e) => new W2(e), 'ReferenceDescriptionProvider') + }, + references: { + Linker: o((e) => new M2(e), 'Linker'), + NameProvider: o(() => new I2(), 'NameProvider'), + ScopeProvider: o((e) => new z2(e), 'ScopeProvider'), + ScopeComputation: o((e) => new P2(e), 'ScopeComputation'), + References: o((e) => new O2(e), 'References') + }, + serializer: { + Hydrator: o((e) => new ax(e), 'Hydrator'), + JsonSerializer: o((e) => new G2(e), 'JsonSerializer') + }, + validation: { + DocumentValidator: o((e) => new H2(e), 'DocumentValidator'), + ValidationRegistry: o((e) => new V2(e), 'ValidationRegistry') + }, + shared: o(() => t.shared, 'shared') + }; + } + function mo(t) { + return { + ServiceRegistry: o(() => new $2(), 'ServiceRegistry'), + workspace: { + LangiumDocuments: o((e) => new N2(e), 'LangiumDocuments'), + LangiumDocumentFactory: o((e) => new R2(e), 'LangiumDocumentFactory'), + DocumentBuilder: o((e) => new j2(e), 'DocumentBuilder'), + IndexManager: o((e) => new K2(e), 'IndexManager'), + WorkspaceManager: o((e) => new Q2(e), 'WorkspaceManager'), + FileSystemProvider: o((e) => t.fileSystemProvider(e), 'FileSystemProvider'), + WorkspaceLock: o(() => new ix(), 'WorkspaceLock'), + ConfigurationProvider: o((e) => new X2(e), 'ConfigurationProvider') + } + }; + } + var iI = R(() => { + 'use strict'; + eN(); + lM(); + uM(); + hM(); + fM(); + CM(); + SM(); + AM(); + _M(); + DM(); + Ok(); + NM(); + MM(); + U2(); + IM(); + OM(); + PM(); + FM(); + Tg(); + zM(); + GM(); + UM(); + KM(); + QM(); + D2(); + tI(); + rI(); + nI(); + o(po, 'createDefaultCoreModule'); + o(mo, 'createDefaultSharedCoreModule'); + }); + function Fi(t, e, r, n, i, a, s, l, u) { + let h = [t, e, r, n, i, a, s, l, u].reduce(Gk, {}); + return Moe(h); + } + function Noe(t) { + if (t && t[sI]) for (let e of Object.values(t)) Noe(e); + return t; + } + function Moe(t, e) { + let r = new Proxy( + {}, + { + deleteProperty: o(() => !1, 'deleteProperty'), + get: o((n, i) => Roe(n, i, t, e || r), 'get'), + getOwnPropertyDescriptor: o( + (n, i) => (Roe(n, i, t, e || r), Object.getOwnPropertyDescriptor(n, i)), + 'getOwnPropertyDescriptor' + ), + has: o((n, i) => i in t, 'has'), + ownKeys: o(() => [...Reflect.ownKeys(t), sI], 'ownKeys') + } + ); + return (r[sI] = !0), r; + } + function Roe(t, e, r, n) { + if (e in t) { + if (t[e] instanceof Error) + throw new Error('Construction failure. Please make sure that your dependencies are constructable.', { + cause: t[e] + }); + if (t[e] === Doe) + throw new Error( + 'Cycle detected. Please make "' + + String(e) + + '" lazy. See https://langium.org/docs/configuration-services/#resolving-cyclic-dependencies' + ); + return t[e]; + } else if (e in r) { + let i = r[e]; + t[e] = Doe; + try { + t[e] = typeof i == 'function' ? i(n) : Moe(i, n); + } catch (a) { + throw ((t[e] = a instanceof Error ? a : void 0), a); + } + return t[e]; + } else return; + } + function Gk(t, e) { + if (e) { + for (let [r, n] of Object.entries(e)) + if (n !== void 0) { + let i = t[r]; + i !== null && n !== null && typeof i == 'object' && typeof n == 'object' + ? (t[r] = Gk(i, n)) + : (t[r] = n); + } + } + return t; + } + var aI, + sI, + Doe, + oI = R(() => { + 'use strict'; + (function (t) { + t.merge = (e, r) => Gk(Gk({}, e), r); + })(aI || (aI = {})); + o(Fi, 'inject'); + sI = Symbol('isProxy'); + o(Noe, 'eagerLoad'); + o(Moe, '_inject'); + Doe = Symbol(); + o(Roe, '_resolve'); + o(Gk, '_merge'); + }); + var Ioe = R(() => { + 'use strict'; + }); + var Ooe = R(() => { + 'use strict'; + QM(); + KM(); + jM(); + }); + var Poe = R(() => { + 'use strict'; + }); + var Boe = R(() => { + 'use strict'; + eN(); + Poe(); + }); + var Foe = R(() => { + 'use strict'; + }); + var zoe = R(() => { + 'use strict'; + tI(); + lM(); + Ek(); + uM(); + D2(); + UM(); + Foe(); + hM(); + fM(); + }); + var Goe = R(() => { + 'use strict'; + CM(); + SM(); + AM(); + LM(); + _M(); + DM(); + }); + var $oe = R(() => { + 'use strict'; + nI(); + Ok(); + }); + var $k, + go, + lI = R(() => { + 'use strict'; + ($k = class { + static { + o(this, 'EmptyFileSystemProvider'); + } + readFile() { + throw new Error('No file system is available.'); + } + async readDirectory() { + return []; + } + }), + (go = { fileSystemProvider: o(() => new $k(), 'fileSystemProvider') }); + }); + function uPe() { + let t = Fi(mo(go), cPe), + e = Fi(po({ shared: t }), lPe); + return t.ServiceRegistry.register(e), e; + } + function lf(t) { + var e; + let r = uPe(), + n = r.serializer.JsonSerializer.deserialize(t); + return ( + r.shared.workspace.LangiumDocumentFactory.fromModel( + n, + Ms.parse(`memory://${(e = n.name) !== null && e !== void 0 ? e : 'grammar'}.langium`) + ), + n + ); + } + var lPe, + cPe, + Voe = R(() => { + 'use strict'; + iI(); + oI(); + Sc(); + lI(); + Nc(); + (lPe = { + Grammar: o(() => {}, 'Grammar'), + LanguageMetaData: o( + () => ({ + caseInsensitive: !1, + fileExtensions: ['.langium'], + languageId: 'langium' + }), + 'LanguageMetaData' + ) + }), + (cPe = { AstReflection: o(() => new Gm(), 'AstReflection') }); + o(uPe, 'createMinimalGrammarServices'); + o(lf, 'loadGrammarFromJson'); + }); + var Rr = {}; + hr(Rr, { + AstUtils: () => CT, + BiMap: () => v0, + Cancellation: () => pr, + ContextCache: () => x0, + CstUtils: () => dT, + DONE_RESULT: () => Ja, + Deferred: () => as, + Disposable: () => b0, + DisposableCache: () => Cg, + DocumentCache: () => Mk, + EMPTY_STREAM: () => Gv, + ErrorWithLocation: () => jd, + GrammarUtils: () => RT, + MultiMap: () => Mc, + OperationCancelled: () => Rc, + Reduction: () => Fm, + RegExpUtils: () => LT, + SimpleCache: () => F2, + StreamImpl: () => uo, + TreeStreamImpl: () => Cc, + URI: () => Ms, + UriUtils: () => ss, + WorkspaceCache: () => Sg, + assertUnreachable: () => tf, + delayNextTick: () => TM, + interruptAndCheck: () => Bi, + isOperationCancelled: () => of, + loadGrammarFromJson: () => lf, + setInterruptionPeriod: () => poe, + startCancelableOperation: () => doe, + stream: () => Kr + }); + var Uoe = R(() => { + 'use strict'; + Ik(); + ZM(); + dr(Rr, ii); + kg(); + BM(); + pT(); + Voe(); + qo(); + Ds(); + Nc(); + es(); + Wo(); + Rl(); + Il(); + Um(); + }); + var Hoe = R(() => { + 'use strict'; + MM(); + U2(); + }); + var Yoe = R(() => { + 'use strict'; + IM(); + OM(); + PM(); + FM(); + Tg(); + lI(); + zM(); + rI(); + GM(); + }); + var ba = {}; + hr(ba, { + AbstractAstReflection: () => Yd, + AbstractCstNode: () => S2, + AbstractLangiumParser: () => A2, + AbstractParserErrorMessageProvider: () => Sk, + AbstractThreadedAsyncParser: () => JM, + AstUtils: () => CT, + BiMap: () => v0, + Cancellation: () => pr, + CompositeCstNodeImpl: () => p0, + ContextCache: () => x0, + CstNodeBuilder: () => C2, + CstUtils: () => dT, + DONE_RESULT: () => Ja, + DatatypeSymbol: () => Ck, + DefaultAstNodeDescriptionProvider: () => Y2, + DefaultAstNodeLocator: () => q2, + DefaultAsyncParser: () => nx, + DefaultCommentProvider: () => rx, + DefaultConfigurationProvider: () => X2, + DefaultDocumentBuilder: () => j2, + DefaultDocumentValidator: () => H2, + DefaultHydrator: () => ax, + DefaultIndexManager: () => K2, + DefaultJsonSerializer: () => G2, + DefaultLangiumDocumentFactory: () => R2, + DefaultLangiumDocuments: () => N2, + DefaultLexer: () => Z2, + DefaultLinker: () => M2, + DefaultNameProvider: () => I2, + DefaultReferenceDescriptionProvider: () => W2, + DefaultReferences: () => O2, + DefaultScopeComputation: () => P2, + DefaultScopeProvider: () => z2, + DefaultServiceRegistry: () => $2, + DefaultTokenBuilder: () => g0, + DefaultValueConverter: () => y0, + DefaultWorkspaceLock: () => ix, + DefaultWorkspaceManager: () => Q2, + Deferred: () => as, + Disposable: () => b0, + DisposableCache: () => Cg, + DocumentCache: () => Mk, + DocumentState: () => yn, + DocumentValidator: () => Uu, + EMPTY_SCOPE: () => jOe, + EMPTY_STREAM: () => Gv, + EmptyFileSystem: () => go, + EmptyFileSystemProvider: () => $k, + ErrorWithLocation: () => jd, + GrammarAST: () => Yv, + GrammarUtils: () => RT, + JSDocDocumentationProvider: () => tx, + LangiumCompletionParser: () => L2, + LangiumParser: () => _2, + LangiumParserErrorMessageProvider: () => yg, + LeafCstNodeImpl: () => d0, + MapScope: () => B2, + Module: () => aI, + MultiMap: () => Mc, + OperationCancelled: () => Rc, + ParserWorker: () => eI, + Reduction: () => Fm, + RegExpUtils: () => LT, + RootCstNodeImpl: () => gg, + SimpleCache: () => F2, + StreamImpl: () => uo, + StreamScope: () => Eg, + TextDocument: () => bg, + TreeStreamImpl: () => Cc, + URI: () => Ms, + UriUtils: () => ss, + ValidationCategory: () => Ag, + ValidationRegistry: () => V2, + ValueConverter: () => Dc, + WorkspaceCache: () => Sg, + assertUnreachable: () => tf, + createCompletionParser: () => oM, + createDefaultCoreModule: () => po, + createDefaultSharedCoreModule: () => mo, + createGrammarConfig: () => JR, + createLangiumParser: () => cM, + delayNextTick: () => TM, + diagnosticData: () => Pk, + eagerLoad: () => Noe, + getDiagnosticRange: () => Toe, + inject: () => Fi, + interruptAndCheck: () => Bi, + isAstNode: () => Xn, + isAstNodeDescription: () => ED, + isAstNodeWithComment: () => RM, + isCompositeCstNode: () => co, + isIMultiModeLexerDefinition: () => VM, + isJSDoc: () => qM, + isLeafCstNode: () => ef, + isLinkingError: () => Wd, + isNamed: () => boe, + isOperationCancelled: () => of, + isReference: () => xa, + isRootCstNode: () => zv, + isTokenTypeArray: () => koe, + isTokenTypeDictionary: () => $M, + loadGrammarFromJson: () => lf, + parseJSDoc: () => WM, + prepareLangiumParser: () => soe, + setInterruptionPeriod: () => poe, + startCancelableOperation: () => doe, + stream: () => Kr, + toDiagnosticSeverity: () => Bk + }); + var Ic = R(() => { + 'use strict'; + iI(); + oI(); + NM(); + Ioe(); + Vo(); + Ooe(); + Boe(); + zoe(); + Goe(); + $oe(); + Uoe(); + dr(ba, Rr); + Hoe(); + Yoe(); + Sc(); + }); + function Joe(t) { + return Pl.isInstance(t, Zoe); + } + function ele(t) { + return Pl.isInstance(t, cI); + } + function tle(t) { + return Pl.isInstance(t, uI); + } + function rle(t) { + return Pl.isInstance(t, pPe); + } + function nle(t) { + return Pl.isInstance(t, hI); + } + function ale(t) { + return Pl.isInstance(t, ile); + } + function sle(t) { + return Pl.isInstance(t, fI); + } + function lle(t) { + return Pl.isInstance(t, ole); + } + function ule(t) { + return Pl.isInstance(t, cle); + } + function fle(t) { + return Pl.isInstance(t, hle); + } + function ple(t) { + return Pl.isInstance(t, dle); + } + var hPe, + Tt, + Qoe, + Zoe, + cI, + fPe, + dPe, + uI, + pPe, + hI, + ile, + fI, + ole, + cle, + hle, + dle, + mPe, + mle, + Pl, + Woe, + gPe, + qoe, + yPe, + Xoe, + vPe, + joe, + xPe, + Koe, + bPe, + wPe, + TPe, + kPe, + EPe, + CPe, + Bl, + dI, + pI, + mI, + gI, + yI, + SPe, + APe, + _Pe, + LPe, + _g, + w0, + Xo, + DPe, + jo = R(() => { + 'use strict'; + Ic(); + Ic(); + Ic(); + Ic(); + (hPe = Object.defineProperty), + (Tt = o((t, e) => hPe(t, 'name', { value: e, configurable: !0 }), '__name')), + (Qoe = 'Statement'), + (Zoe = 'Architecture'); + o(Joe, 'isArchitecture'); + Tt(Joe, 'isArchitecture'); + cI = 'Branch'; + o(ele, 'isBranch'); + Tt(ele, 'isBranch'); + (fPe = 'Checkout'), (dPe = 'CherryPicking'), (uI = 'Commit'); + o(tle, 'isCommit'); + Tt(tle, 'isCommit'); + pPe = 'Common'; + o(rle, 'isCommon'); + Tt(rle, 'isCommon'); + hI = 'GitGraph'; + o(nle, 'isGitGraph'); + Tt(nle, 'isGitGraph'); + ile = 'Info'; + o(ale, 'isInfo'); + Tt(ale, 'isInfo'); + fI = 'Merge'; + o(sle, 'isMerge'); + Tt(sle, 'isMerge'); + ole = 'Packet'; + o(lle, 'isPacket'); + Tt(lle, 'isPacket'); + cle = 'PacketBlock'; + o(ule, 'isPacketBlock'); + Tt(ule, 'isPacketBlock'); + hle = 'Pie'; + o(fle, 'isPie'); + Tt(fle, 'isPie'); + dle = 'PieSection'; + o(ple, 'isPieSection'); + Tt(ple, 'isPieSection'); + (mPe = 'Direction'), + (mle = class extends Yd { + static { + o(this, 'MermaidAstReflection'); + } + static { + Tt(this, 'MermaidAstReflection'); + } + getAllTypes() { + return [ + 'Architecture', + 'Branch', + 'Checkout', + 'CherryPicking', + 'Commit', + 'Common', + 'Direction', + 'Edge', + 'GitGraph', + 'Group', + 'Info', + 'Junction', + 'Merge', + 'Packet', + 'PacketBlock', + 'Pie', + 'PieSection', + 'Service', + 'Statement' + ]; + } + computeIsSubtype(t, e) { + switch (t) { + case cI: + case fPe: + case dPe: + case uI: + case fI: + return this.isSubtype(Qoe, e); + case mPe: + return this.isSubtype(hI, e); + default: + return !1; + } + } + getReferenceType(t) { + let e = `${t.container.$type}:${t.property}`; + switch (e) { + default: + throw new Error(`${e} is not a valid reference id.`); + } + } + getTypeMetaData(t) { + switch (t) { + case 'Architecture': + return { + name: 'Architecture', + properties: [ + { name: 'accDescr' }, + { name: 'accTitle' }, + { name: 'edges', defaultValue: [] }, + { name: 'groups', defaultValue: [] }, + { name: 'junctions', defaultValue: [] }, + { name: 'services', defaultValue: [] }, + { name: 'title' } + ] + }; + case 'Branch': + return { + name: 'Branch', + properties: [{ name: 'name' }, { name: 'order' }] + }; + case 'Checkout': + return { name: 'Checkout', properties: [{ name: 'branch' }] }; + case 'CherryPicking': + return { + name: 'CherryPicking', + properties: [{ name: 'id' }, { name: 'parent' }, { name: 'tags', defaultValue: [] }] + }; + case 'Commit': + return { + name: 'Commit', + properties: [ + { name: 'id' }, + { name: 'message' }, + { name: 'tags', defaultValue: [] }, + { name: 'type' } + ] + }; + case 'Common': + return { + name: 'Common', + properties: [{ name: 'accDescr' }, { name: 'accTitle' }, { name: 'title' }] + }; + case 'Edge': + return { + name: 'Edge', + properties: [ + { name: 'lhsDir' }, + { name: 'lhsGroup', defaultValue: !1 }, + { name: 'lhsId' }, + { name: 'lhsInto', defaultValue: !1 }, + { name: 'rhsDir' }, + { name: 'rhsGroup', defaultValue: !1 }, + { name: 'rhsId' }, + { name: 'rhsInto', defaultValue: !1 }, + { name: 'title' } + ] + }; + case 'GitGraph': + return { + name: 'GitGraph', + properties: [ + { name: 'accDescr' }, + { name: 'accTitle' }, + { name: 'statements', defaultValue: [] }, + { name: 'title' } + ] + }; + case 'Group': + return { + name: 'Group', + properties: [{ name: 'icon' }, { name: 'id' }, { name: 'in' }, { name: 'title' }] + }; + case 'Info': + return { + name: 'Info', + properties: [{ name: 'accDescr' }, { name: 'accTitle' }, { name: 'title' }] + }; + case 'Junction': + return { + name: 'Junction', + properties: [{ name: 'id' }, { name: 'in' }] + }; + case 'Merge': + return { + name: 'Merge', + properties: [ + { name: 'branch' }, + { name: 'id' }, + { name: 'tags', defaultValue: [] }, + { name: 'type' } + ] + }; + case 'Packet': + return { + name: 'Packet', + properties: [ + { name: 'accDescr' }, + { name: 'accTitle' }, + { name: 'blocks', defaultValue: [] }, + { name: 'title' } + ] + }; + case 'PacketBlock': + return { + name: 'PacketBlock', + properties: [{ name: 'end' }, { name: 'label' }, { name: 'start' }] + }; + case 'Pie': + return { + name: 'Pie', + properties: [ + { name: 'accDescr' }, + { name: 'accTitle' }, + { name: 'sections', defaultValue: [] }, + { name: 'showData', defaultValue: !1 }, + { name: 'title' } + ] + }; + case 'PieSection': + return { + name: 'PieSection', + properties: [{ name: 'label' }, { name: 'value' }] + }; + case 'Service': + return { + name: 'Service', + properties: [ + { name: 'icon' }, + { name: 'iconText' }, + { name: 'id' }, + { name: 'in' }, + { name: 'title' } + ] + }; + case 'Direction': + return { + name: 'Direction', + properties: [ + { name: 'accDescr' }, + { name: 'accTitle' }, + { name: 'dir' }, + { name: 'statements', defaultValue: [] }, + { name: 'title' } + ] + }; + default: + return { name: t, properties: [] }; + } + } + }), + (Pl = new mle()), + (gPe = Tt( + () => + Woe ?? + (Woe = lf( + '{"$type":"Grammar","isDeclared":true,"name":"Info","imports":[],"rules":[{"$type":"ParserRule","name":"Info","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}' + )), + 'InfoGrammar' + )), + (yPe = Tt( + () => + qoe ?? + (qoe = lf( + `{"$type":"Grammar","isDeclared":true,"name":"Packet","imports":[],"rules":[{"$type":"ParserRule","name":"Packet","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"packet-beta"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"+"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"?"},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}` + )), + 'PacketGrammar' + )), + (vPe = Tt( + () => + Xoe ?? + (Xoe = lf( + '{"$type":"Grammar","isDeclared":true,"name":"Pie","imports":[],"rules":[{"$type":"ParserRule","name":"Pie","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"+"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"PIE_SECTION_LABEL","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]+\\"/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"PIE_SECTION_VALUE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/(0|[1-9][0-9]*)(\\\\.[0-9]+)?/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}' + )), + 'PieGrammar' + )), + (xPe = Tt( + () => + joe ?? + (joe = lf( + '{"$type":"Grammar","isDeclared":true,"name":"Architecture","imports":[],"rules":[{"$type":"ParserRule","name":"Architecture","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Statement","fragment":true,"definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"LeftPort","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"RightPort","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Arrow","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_ID","definition":{"$type":"RegexToken","regex":"/[\\\\w]+/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TEXT_ICON","definition":{"$type":"RegexToken","regex":"/\\\\(\\"[^\\"]+\\"\\\\)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[[\\\\w ]+\\\\]/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}' + )), + 'ArchitectureGrammar' + )), + (bPe = Tt( + () => + Koe ?? + (Koe = lf( + `{"$type":"Grammar","isDeclared":true,"name":"GitGraph","interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"rules":[{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"ParserRule","name":"GitGraph","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+(?=\\\\s)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"imports":[],"types":[],"usedGrammars":[]}` + )), + 'GitGraphGrammar' + )), + (wPe = { + languageId: 'info', + fileExtensions: ['.mmd', '.mermaid'], + caseInsensitive: !1 + }), + (TPe = { + languageId: 'packet', + fileExtensions: ['.mmd', '.mermaid'], + caseInsensitive: !1 + }), + (kPe = { + languageId: 'pie', + fileExtensions: ['.mmd', '.mermaid'], + caseInsensitive: !1 + }), + (EPe = { + languageId: 'architecture', + fileExtensions: ['.mmd', '.mermaid'], + caseInsensitive: !1 + }), + (CPe = { + languageId: 'gitGraph', + fileExtensions: ['.mmd', '.mermaid'], + caseInsensitive: !1 + }), + (Bl = { AstReflection: Tt(() => new mle(), 'AstReflection') }), + (dI = { + Grammar: Tt(() => gPe(), 'Grammar'), + LanguageMetaData: Tt(() => wPe, 'LanguageMetaData'), + parser: {} + }), + (pI = { + Grammar: Tt(() => yPe(), 'Grammar'), + LanguageMetaData: Tt(() => TPe, 'LanguageMetaData'), + parser: {} + }), + (mI = { + Grammar: Tt(() => vPe(), 'Grammar'), + LanguageMetaData: Tt(() => kPe, 'LanguageMetaData'), + parser: {} + }), + (gI = { + Grammar: Tt(() => xPe(), 'Grammar'), + LanguageMetaData: Tt(() => EPe, 'LanguageMetaData'), + parser: {} + }), + (yI = { + Grammar: Tt(() => bPe(), 'Grammar'), + LanguageMetaData: Tt(() => CPe, 'LanguageMetaData'), + parser: {} + }), + (SPe = /accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/), + (APe = /accTitle[\t ]*:([^\n\r]*)/), + (_Pe = /title([\t ][^\n\r]*|)/), + (LPe = { ACC_DESCR: SPe, ACC_TITLE: APe, TITLE: _Pe }), + (_g = class extends y0 { + static { + o(this, 'AbstractMermaidValueConverter'); + } + static { + Tt(this, 'AbstractMermaidValueConverter'); + } + runConverter(t, e, r) { + let n = this.runCommonConverter(t, e, r); + return ( + n === void 0 && (n = this.runCustomConverter(t, e, r)), + n === void 0 ? super.runConverter(t, e, r) : n + ); + } + runCommonConverter(t, e, r) { + let n = LPe[t.name]; + if (n === void 0) return; + let i = n.exec(e); + if (i !== null) { + if (i[1] !== void 0) return i[1].trim().replace(/[\t ]{2,}/gm, ' '); + if (i[2] !== void 0) + return i[2] + .replace(/^\s*/gm, '') + .replace(/\s+$/gm, '') + .replace(/[\t ]{2,}/gm, ' ') + .replace( + /[\n\r]{2,}/gm, + ` +` + ); + } + } + }), + (w0 = class extends _g { + static { + o(this, 'CommonValueConverter'); + } + static { + Tt(this, 'CommonValueConverter'); + } + runCustomConverter(t, e, r) {} + }), + (Xo = class extends g0 { + static { + o(this, 'AbstractMermaidTokenBuilder'); + } + static { + Tt(this, 'AbstractMermaidTokenBuilder'); + } + constructor(t) { + super(), (this.keywords = new Set(t)); + } + buildKeywordTokens(t, e, r) { + let n = super.buildKeywordTokens(t, e, r); + return ( + n.forEach((i) => { + this.keywords.has(i.name) && + i.PATTERN !== void 0 && + (i.PATTERN = new RegExp(i.PATTERN.toString() + '(?:(?=%%)|(?!\\S))')); + }), + n + ); + } + }), + (DPe = class extends Xo { + static { + o(this, 'CommonTokenBuilder'); + } + static { + Tt(this, 'CommonTokenBuilder'); + } + }); + }); + function Uk(t = go) { + let e = Fi(mo(t), Bl), + r = Fi(po({ shared: e }), yI, Vk); + return e.ServiceRegistry.register(r), { shared: e, GitGraph: r }; + } + var RPe, + Vk, + vI = R(() => { + 'use strict'; + jo(); + Ic(); + (RPe = class extends Xo { + static { + o(this, 'GitGraphTokenBuilder'); + } + static { + Tt(this, 'GitGraphTokenBuilder'); + } + constructor() { + super(['gitGraph']); + } + }), + (Vk = { + parser: { + TokenBuilder: Tt(() => new RPe(), 'TokenBuilder'), + ValueConverter: Tt(() => new w0(), 'ValueConverter') + } + }); + o(Uk, 'createGitGraphServices'); + Tt(Uk, 'createGitGraphServices'); + }); + function Yk(t = go) { + let e = Fi(mo(t), Bl), + r = Fi(po({ shared: e }), dI, Hk); + return e.ServiceRegistry.register(r), { shared: e, Info: r }; + } + var NPe, + Hk, + xI = R(() => { + 'use strict'; + jo(); + Ic(); + (NPe = class extends Xo { + static { + o(this, 'InfoTokenBuilder'); + } + static { + Tt(this, 'InfoTokenBuilder'); + } + constructor() { + super(['info', 'showInfo']); + } + }), + (Hk = { + parser: { + TokenBuilder: Tt(() => new NPe(), 'TokenBuilder'), + ValueConverter: Tt(() => new w0(), 'ValueConverter') + } + }); + o(Yk, 'createInfoServices'); + Tt(Yk, 'createInfoServices'); + }); + function qk(t = go) { + let e = Fi(mo(t), Bl), + r = Fi(po({ shared: e }), pI, Wk); + return e.ServiceRegistry.register(r), { shared: e, Packet: r }; + } + var MPe, + Wk, + bI = R(() => { + 'use strict'; + jo(); + Ic(); + (MPe = class extends Xo { + static { + o(this, 'PacketTokenBuilder'); + } + static { + Tt(this, 'PacketTokenBuilder'); + } + constructor() { + super(['packet-beta']); + } + }), + (Wk = { + parser: { + TokenBuilder: Tt(() => new MPe(), 'TokenBuilder'), + ValueConverter: Tt(() => new w0(), 'ValueConverter') + } + }); + o(qk, 'createPacketServices'); + Tt(qk, 'createPacketServices'); + }); + function jk(t = go) { + let e = Fi(mo(t), Bl), + r = Fi(po({ shared: e }), mI, Xk); + return e.ServiceRegistry.register(r), { shared: e, Pie: r }; + } + var IPe, + OPe, + Xk, + wI = R(() => { + 'use strict'; + jo(); + Ic(); + (IPe = class extends Xo { + static { + o(this, 'PieTokenBuilder'); + } + static { + Tt(this, 'PieTokenBuilder'); + } + constructor() { + super(['pie', 'showData']); + } + }), + (OPe = class extends _g { + static { + o(this, 'PieValueConverter'); + } + static { + Tt(this, 'PieValueConverter'); + } + runCustomConverter(t, e, r) { + if (t.name === 'PIE_SECTION_LABEL') return e.replace(/"/g, '').trim(); + } + }), + (Xk = { + parser: { + TokenBuilder: Tt(() => new IPe(), 'TokenBuilder'), + ValueConverter: Tt(() => new OPe(), 'ValueConverter') + } + }); + o(jk, 'createPieServices'); + Tt(jk, 'createPieServices'); + }); + function Qk(t = go) { + let e = Fi(mo(t), Bl), + r = Fi(po({ shared: e }), gI, Kk); + return e.ServiceRegistry.register(r), { shared: e, Architecture: r }; + } + var PPe, + BPe, + Kk, + TI = R(() => { + 'use strict'; + jo(); + Ic(); + (PPe = class extends Xo { + static { + o(this, 'ArchitectureTokenBuilder'); + } + static { + Tt(this, 'ArchitectureTokenBuilder'); + } + constructor() { + super(['architecture']); + } + }), + (BPe = class extends _g { + static { + o(this, 'ArchitectureValueConverter'); + } + static { + Tt(this, 'ArchitectureValueConverter'); + } + runCustomConverter(t, e, r) { + if (t.name === 'ARCH_ICON') return e.replace(/[()]/g, '').trim(); + if (t.name === 'ARCH_TEXT_ICON') return e.replace(/["()]/g, ''); + if (t.name === 'ARCH_TITLE') return e.replace(/[[\]]/g, '').trim(); + } + }), + (Kk = { + parser: { + TokenBuilder: Tt(() => new PPe(), 'TokenBuilder'), + ValueConverter: Tt(() => new BPe(), 'ValueConverter') + } + }); + o(Qk, 'createArchitectureServices'); + Tt(Qk, 'createArchitectureServices'); + }); + var gle = {}; + hr(gle, { InfoModule: () => Hk, createInfoServices: () => Yk }); + var yle = R(() => { + 'use strict'; + xI(); + jo(); + }); + var vle = {}; + hr(vle, { PacketModule: () => Wk, createPacketServices: () => qk }); + var xle = R(() => { + 'use strict'; + bI(); + jo(); + }); + var ble = {}; + hr(ble, { PieModule: () => Xk, createPieServices: () => jk }); + var wle = R(() => { + 'use strict'; + wI(); + jo(); + }); + var Tle = {}; + hr(Tle, { + ArchitectureModule: () => Kk, + createArchitectureServices: () => Qk + }); + var kle = R(() => { + 'use strict'; + TI(); + jo(); + }); + var Ele = {}; + hr(Ele, { GitGraphModule: () => Vk, createGitGraphServices: () => Uk }); + var Cle = R(() => { + 'use strict'; + vI(); + jo(); + }); + async function Fl(t, e) { + let r = FPe[t]; + if (!r) throw new Error(`Unknown diagram type: ${t}`); + T0[t] || (await r()); + let i = T0[t].parse(e); + if (i.lexerErrors.length > 0 || i.parserErrors.length > 0) throw new zPe(i); + return i.value; + } + var T0, + FPe, + zPe, + Lg = R(() => { + 'use strict'; + vI(); + xI(); + bI(); + wI(); + TI(); + jo(); + (T0 = {}), + (FPe = { + info: Tt(async () => { + let { createInfoServices: t } = await Promise.resolve().then(() => (yle(), gle)), + e = t().Info.parser.LangiumParser; + T0.info = e; + }, 'info'), + packet: Tt(async () => { + let { createPacketServices: t } = await Promise.resolve().then(() => (xle(), vle)), + e = t().Packet.parser.LangiumParser; + T0.packet = e; + }, 'packet'), + pie: Tt(async () => { + let { createPieServices: t } = await Promise.resolve().then(() => (wle(), ble)), + e = t().Pie.parser.LangiumParser; + T0.pie = e; + }, 'pie'), + architecture: Tt(async () => { + let { createArchitectureServices: t } = await Promise.resolve().then(() => (kle(), Tle)), + e = t().Architecture.parser.LangiumParser; + T0.architecture = e; + }, 'architecture'), + gitGraph: Tt(async () => { + let { createGitGraphServices: t } = await Promise.resolve().then(() => (Cle(), Ele)), + e = t().GitGraph.parser.LangiumParser; + T0.gitGraph = e; + }, 'gitGraph') + }); + o(Fl, 'parse'); + Tt(Fl, 'parse'); + zPe = class extends Error { + static { + o(this, 'MermaidParseError'); + } + constructor(t) { + let e = t.lexerErrors.map((n) => n.message).join(` +`), + r = t.parserErrors.map((n) => n.message).join(` +`); + super(`Parsing failed: ${e} ${r}`), (this.result = t); + } + static { + Tt(this, 'MermaidParseError'); + } + }; + }); + function cf(t, e) { + t.accDescr && e.setAccDescription?.(t.accDescr), + t.accTitle && e.setAccTitle?.(t.accTitle), + t.title && e.setDiagramTitle?.(t.title); + } + var sx = R(() => { + 'use strict'; + o(cf, 'populateCommonDb'); + }); + var Hr, + Zk = R(() => { + 'use strict'; + Hr = { NORMAL: 0, REVERSE: 1, HIGHLIGHT: 2, MERGE: 3, CHERRY_PICK: 4 }; + }); + var uf, + Jk = R(() => { + 'use strict'; + uf = class { + constructor(e) { + this.init = e; + this.records = this.init(); + } + static { + o(this, 'ImperativeState'); + } + reset() { + this.records = this.init(); + } + }; + }); + function kI() { + return J_({ length: 7 }); + } + function $Pe(t, e) { + let r = Object.create(null); + return t.reduce((n, i) => { + let a = e(i); + return r[a] || ((r[a] = !0), n.push(i)), n; + }, []); + } + function Sle(t, e, r) { + let n = t.indexOf(e); + n === -1 ? t.push(r) : t.splice(n, 1, r); + } + function _le(t) { + let e = t.reduce((i, a) => (i.seq > a.seq ? i : a), t[0]), + r = ''; + t.forEach(function (i) { + i === e ? (r += ' *') : (r += ' |'); + }); + let n = [r, e.id, e.seq]; + for (let i in pt.records.branches) pt.records.branches.get(i) === e.id && n.push(i); + if ((V.debug(n.join(' ')), e.parents && e.parents.length == 2 && e.parents[0] && e.parents[1])) { + let i = pt.records.commits.get(e.parents[0]); + Sle(t, e, i), e.parents[1] && t.push(pt.records.commits.get(e.parents[1])); + } else { + if (e.parents.length == 0) return; + if (e.parents[0]) { + let i = pt.records.commits.get(e.parents[0]); + Sle(t, e, i); + } + } + (t = $Pe(t, (i) => i.id)), _le(t); + } + var GPe, + k0, + pt, + VPe, + UPe, + HPe, + YPe, + WPe, + qPe, + XPe, + Ale, + jPe, + KPe, + QPe, + ZPe, + JPe, + Lle, + eBe, + tBe, + rBe, + eE, + EI = R(() => { + 'use strict'; + ut(); + xr(); + qs(); + rr(); + bi(); + Zk(); + Jk(); + sl(); + (GPe = mr.gitGraph), + (k0 = o(() => Ts({ ...GPe, ...Or().gitGraph }), 'getConfig')), + (pt = new uf(() => { + let t = k0(), + e = t.mainBranchName, + r = t.mainBranchOrder; + return { + mainBranchName: e, + commits: new Map(), + head: null, + branchConfig: new Map([[e, { name: e, order: r }]]), + branches: new Map([[e, null]]), + currBranch: e, + direction: 'LR', + seq: 0, + options: {} + }; + })); + o(kI, 'getID'); + o($Pe, 'uniqBy'); + (VPe = o(function (t) { + pt.records.direction = t; + }, 'setDirection')), + (UPe = o(function (t) { + V.debug('options str', t), (t = t?.trim()), (t = t || '{}'); + try { + pt.records.options = JSON.parse(t); + } catch (e) { + V.error('error while parsing gitGraph options', e.message); + } + }, 'setOptions')), + (HPe = o(function () { + return pt.records.options; + }, 'getOptions')), + (YPe = o(function (t) { + let e = t.msg, + r = t.id, + n = t.type, + i = t.tags; + V.info('commit', e, r, n, i), V.debug('Entering commit:', e, r, n, i); + let a = k0(); + (r = We.sanitizeText(r, a)), + (e = We.sanitizeText(e, a)), + (i = i?.map((l) => We.sanitizeText(l, a))); + let s = { + id: r || pt.records.seq + '-' + kI(), + message: e, + seq: pt.records.seq++, + type: n ?? Hr.NORMAL, + tags: i ?? [], + parents: pt.records.head == null ? [] : [pt.records.head.id], + branch: pt.records.currBranch + }; + (pt.records.head = s), + V.info('main branch', a.mainBranchName), + pt.records.commits.set(s.id, s), + pt.records.branches.set(pt.records.currBranch, s.id), + V.debug('in pushCommit ' + s.id); + }, 'commit')), + (WPe = o(function (t) { + let e = t.name, + r = t.order; + if (((e = We.sanitizeText(e, k0())), pt.records.branches.has(e))) + throw new Error( + `Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${e}")` + ); + pt.records.branches.set(e, pt.records.head != null ? pt.records.head.id : null), + pt.records.branchConfig.set(e, { name: e, order: r }), + Ale(e), + V.debug('in createBranch'); + }, 'branch')), + (qPe = o((t) => { + let e = t.branch, + r = t.id, + n = t.type, + i = t.tags, + a = k0(); + (e = We.sanitizeText(e, a)), r && (r = We.sanitizeText(r, a)); + let s = pt.records.branches.get(pt.records.currBranch), + l = pt.records.branches.get(e), + u = s ? pt.records.commits.get(s) : void 0, + h = l ? pt.records.commits.get(l) : void 0; + if (u && h && u.branch === e) throw new Error(`Cannot merge branch '${e}' into itself.`); + if (pt.records.currBranch === e) { + let p = new Error('Incorrect usage of "merge". Cannot merge a branch to itself'); + throw ( + ((p.hash = { + text: `merge ${e}`, + token: `merge ${e}`, + expected: ['branch abc'] + }), + p) + ); + } + if (u === void 0 || !u) { + let p = new Error( + `Incorrect usage of "merge". Current branch (${pt.records.currBranch})has no commits` + ); + throw ( + ((p.hash = { + text: `merge ${e}`, + token: `merge ${e}`, + expected: ['commit'] + }), + p) + ); + } + if (!pt.records.branches.has(e)) { + let p = new Error('Incorrect usage of "merge". Branch to be merged (' + e + ') does not exist'); + throw ( + ((p.hash = { + text: `merge ${e}`, + token: `merge ${e}`, + expected: [`branch ${e}`] + }), + p) + ); + } + if (h === void 0 || !h) { + let p = new Error('Incorrect usage of "merge". Branch to be merged (' + e + ') has no commits'); + throw ( + ((p.hash = { + text: `merge ${e}`, + token: `merge ${e}`, + expected: ['"commit"'] + }), + p) + ); + } + if (u === h) { + let p = new Error('Incorrect usage of "merge". Both branches have same head'); + throw ( + ((p.hash = { + text: `merge ${e}`, + token: `merge ${e}`, + expected: ['branch abc'] + }), + p) + ); + } + if (r && pt.records.commits.has(r)) { + let p = new Error( + 'Incorrect usage of "merge". Commit with id:' + + r + + ' already exists, use different custom Id' + ); + throw ( + ((p.hash = { + text: `merge ${e} ${r} ${n} ${i?.join(' ')}`, + token: `merge ${e} ${r} ${n} ${i?.join(' ')}`, + expected: [`merge ${e} ${r}_UNIQUE ${n} ${i?.join(' ')}`] + }), + p) + ); + } + let f = l || '', + d = { + id: r || `${pt.records.seq}-${kI()}`, + message: `merged branch ${e} into ${pt.records.currBranch}`, + seq: pt.records.seq++, + parents: pt.records.head == null ? [] : [pt.records.head.id, f], + branch: pt.records.currBranch, + type: Hr.MERGE, + customType: n, + customId: !!r, + tags: i ?? [] + }; + (pt.records.head = d), + pt.records.commits.set(d.id, d), + pt.records.branches.set(pt.records.currBranch, d.id), + V.debug(pt.records.branches), + V.debug('in mergeBranch'); + }, 'merge')), + (XPe = o(function (t) { + let e = t.id, + r = t.targetId, + n = t.tags, + i = t.parent; + V.debug('Entering cherryPick:', e, r, n); + let a = k0(); + if ( + ((e = We.sanitizeText(e, a)), + (r = We.sanitizeText(r, a)), + (n = n?.map((u) => We.sanitizeText(u, a))), + (i = We.sanitizeText(i, a)), + !e || !pt.records.commits.has(e)) + ) { + let u = new Error( + 'Incorrect usage of "cherryPick". Source commit id should exist and provided' + ); + throw ( + ((u.hash = { + text: `cherryPick ${e} ${r}`, + token: `cherryPick ${e} ${r}`, + expected: ['cherry-pick abc'] + }), + u) + ); + } + let s = pt.records.commits.get(e); + if (s === void 0 || !s) + throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided'); + if (i && !(Array.isArray(s.parents) && s.parents.includes(i))) + throw new Error( + 'Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.' + ); + let l = s.branch; + if (s.type === Hr.MERGE && !i) + throw new Error( + 'Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.' + ); + if (!r || !pt.records.commits.has(r)) { + if (l === pt.records.currBranch) { + let d = new Error( + 'Incorrect usage of "cherryPick". Source commit is already on current branch' + ); + throw ( + ((d.hash = { + text: `cherryPick ${e} ${r}`, + token: `cherryPick ${e} ${r}`, + expected: ['cherry-pick abc'] + }), + d) + ); + } + let u = pt.records.branches.get(pt.records.currBranch); + if (u === void 0 || !u) { + let d = new Error( + `Incorrect usage of "cherry-pick". Current branch (${pt.records.currBranch})has no commits` + ); + throw ( + ((d.hash = { + text: `cherryPick ${e} ${r}`, + token: `cherryPick ${e} ${r}`, + expected: ['cherry-pick abc'] + }), + d) + ); + } + let h = pt.records.commits.get(u); + if (h === void 0 || !h) { + let d = new Error( + `Incorrect usage of "cherry-pick". Current branch (${pt.records.currBranch})has no commits` + ); + throw ( + ((d.hash = { + text: `cherryPick ${e} ${r}`, + token: `cherryPick ${e} ${r}`, + expected: ['cherry-pick abc'] + }), + d) + ); + } + let f = { + id: pt.records.seq + '-' + kI(), + message: `cherry-picked ${s?.message} into ${pt.records.currBranch}`, + seq: pt.records.seq++, + parents: pt.records.head == null ? [] : [pt.records.head.id, s.id], + branch: pt.records.currBranch, + type: Hr.CHERRY_PICK, + tags: n + ? n.filter(Boolean) + : [`cherry-pick:${s.id}${s.type === Hr.MERGE ? `|parent:${i}` : ''}`] + }; + (pt.records.head = f), + pt.records.commits.set(f.id, f), + pt.records.branches.set(pt.records.currBranch, f.id), + V.debug(pt.records.branches), + V.debug('in cherryPick'); + } + }, 'cherryPick')), + (Ale = o(function (t) { + if (((t = We.sanitizeText(t, k0())), pt.records.branches.has(t))) { + pt.records.currBranch = t; + let e = pt.records.branches.get(pt.records.currBranch); + e === void 0 || !e + ? (pt.records.head = null) + : (pt.records.head = pt.records.commits.get(e) ?? null); + } else { + let e = new Error( + `Trying to checkout branch which is not yet created. (Help try using "branch ${t}")` + ); + throw ( + ((e.hash = { + text: `checkout ${t}`, + token: `checkout ${t}`, + expected: [`branch ${t}`] + }), + e) + ); + } + }, 'checkout')); + o(Sle, 'upsert'); + o(_le, 'prettyPrintCommitHistory'); + (jPe = o(function () { + V.debug(pt.records.commits); + let t = Lle()[0]; + _le([t]); + }, 'prettyPrint')), + (KPe = o(function () { + pt.reset(), vr(); + }, 'clear')), + (QPe = o(function () { + return [...pt.records.branchConfig.values()] + .map((e, r) => + e.order !== null && e.order !== void 0 ? e : { ...e, order: parseFloat(`0.${r}`) } + ) + .sort((e, r) => (e.order ?? 0) - (r.order ?? 0)) + .map(({ name: e }) => ({ name: e })); + }, 'getBranchesAsObjArray')), + (ZPe = o(function () { + return pt.records.branches; + }, 'getBranches')), + (JPe = o(function () { + return pt.records.commits; + }, 'getCommits')), + (Lle = o(function () { + let t = [...pt.records.commits.values()]; + return ( + t.forEach(function (e) { + V.debug(e.id); + }), + t.sort((e, r) => e.seq - r.seq), + t + ); + }, 'getCommitsArray')), + (eBe = o(function () { + return pt.records.currBranch; + }, 'getCurrentBranch')), + (tBe = o(function () { + return pt.records.direction; + }, 'getDirection')), + (rBe = o(function () { + return pt.records.head; + }, 'getHead')), + (eE = { + commitType: Hr, + getConfig: k0, + setDirection: VPe, + setOptions: UPe, + getOptions: HPe, + commit: YPe, + branch: WPe, + merge: qPe, + cherryPick: XPe, + checkout: Ale, + prettyPrint: jPe, + clear: KPe, + getBranchesAsObjArray: QPe, + getBranches: ZPe, + getCommits: JPe, + getCommitsArray: Lle, + getCurrentBranch: eBe, + getDirection: tBe, + getHead: rBe, + setAccTitle: kr, + getAccTitle: Ar, + getAccDescription: Lr, + setAccDescription: _r, + setDiagramTitle: nn, + getDiagramTitle: Xr + }); + }); + var nBe, + iBe, + aBe, + sBe, + oBe, + lBe, + cBe, + Dle, + Rle = R(() => { + 'use strict'; + Lg(); + ut(); + sx(); + EI(); + Zk(); + (nBe = o((t, e) => { + cf(t, e), t.dir && e.setDirection(t.dir); + for (let r of t.statements) iBe(r, e); + }, 'populate')), + (iBe = o((t, e) => { + let n = { + Commit: o((i) => e.commit(aBe(i)), 'Commit'), + Branch: o((i) => e.branch(sBe(i)), 'Branch'), + Merge: o((i) => e.merge(oBe(i)), 'Merge'), + Checkout: o((i) => e.checkout(lBe(i)), 'Checkout'), + CherryPicking: o((i) => e.cherryPick(cBe(i)), 'CherryPicking') + }[t.$type]; + n ? n(t) : V.error(`Unknown statement type: ${t.$type}`); + }, 'parseStatement')), + (aBe = o( + (t) => ({ + id: t.id, + msg: t.message ?? '', + type: t.type !== void 0 ? Hr[t.type] : Hr.NORMAL, + tags: t.tags ?? void 0 + }), + 'parseCommit' + )), + (sBe = o((t) => ({ name: t.name, order: t.order ?? 0 }), 'parseBranch')), + (oBe = o( + (t) => ({ + branch: t.branch, + id: t.id ?? '', + type: t.type !== void 0 ? Hr[t.type] : void 0, + tags: t.tags ?? void 0 + }), + 'parseMerge' + )), + (lBe = o((t) => t.branch, 'parseCheckout')), + (cBe = o( + (t) => ({ + id: t.id, + targetId: '', + tags: t.tags?.length === 0 ? void 0 : t.tags, + parent: t.parent + }), + 'parseCherryPicking' + )), + (Dle = { + parse: o(async (t) => { + let e = await Fl('gitGraph', t); + V.debug(e), nBe(e, eE); + }, 'parse') + }); + }); + var uBe, + Ko, + ff, + df, + Oc, + Hu, + E0, + Is, + Os, + tE, + ox, + rE, + hf, + Tr, + hBe, + Mle, + Ile, + fBe, + dBe, + pBe, + mBe, + gBe, + yBe, + vBe, + xBe, + bBe, + wBe, + TBe, + kBe, + Nle, + EBe, + lx, + CBe, + SBe, + ABe, + _Be, + LBe, + Ole, + Ple = R(() => { + 'use strict'; + Zt(); + _t(); + ut(); + xr(); + Zk(); + (uBe = de()), + (Ko = uBe?.gitGraph), + (ff = 10), + (df = 40), + (Oc = 4), + (Hu = 2), + (E0 = 8), + (Is = new Map()), + (Os = new Map()), + (tE = 30), + (ox = new Map()), + (rE = []), + (hf = 0), + (Tr = 'LR'), + (hBe = o(() => { + Is.clear(), Os.clear(), ox.clear(), (hf = 0), (rE = []), (Tr = 'LR'); + }, 'clear')), + (Mle = o((t) => { + let e = document.createElementNS('http://www.w3.org/2000/svg', 'text'); + return ( + (typeof t == 'string' ? t.split(/\\n|\n|/gi) : t).forEach((n) => { + let i = document.createElementNS('http://www.w3.org/2000/svg', 'tspan'); + i.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve'), + i.setAttribute('dy', '1em'), + i.setAttribute('x', '0'), + i.setAttribute('class', 'row'), + (i.textContent = n.trim()), + e.appendChild(i); + }), + e + ); + }, 'drawText')), + (Ile = o((t) => { + let e, r, n; + return ( + Tr === 'BT' + ? ((r = o((i, a) => i <= a, 'comparisonFunc')), (n = 1 / 0)) + : ((r = o((i, a) => i >= a, 'comparisonFunc')), (n = 0)), + t.forEach((i) => { + let a = Tr === 'TB' || Tr == 'BT' ? Os.get(i)?.y : Os.get(i)?.x; + a !== void 0 && r(a, n) && ((e = i), (n = a)); + }), + e + ); + }, 'findClosestParent')), + (fBe = o((t) => { + let e = '', + r = 1 / 0; + return ( + t.forEach((n) => { + let i = Os.get(n).y; + i <= r && ((e = n), (r = i)); + }), + e || void 0 + ); + }, 'findClosestParentBT')), + (dBe = o((t, e, r) => { + let n = r, + i = r, + a = []; + t.forEach((s) => { + let l = e.get(s); + if (!l) throw new Error(`Commit not found for key ${s}`); + l.parents.length ? ((n = mBe(l)), (i = Math.max(n, i))) : a.push(l), gBe(l, n); + }), + (n = i), + a.forEach((s) => { + yBe(s, n, r); + }), + t.forEach((s) => { + let l = e.get(s); + if (l?.parents.length) { + let u = fBe(l.parents); + (n = Os.get(u).y - df), n <= i && (i = n); + let h = Is.get(l.branch).pos, + f = n - ff; + Os.set(l.id, { x: h, y: f }); + } + }); + }, 'setParallelBTPos')), + (pBe = o((t) => { + let e = Ile(t.parents.filter((n) => n !== null)); + if (!e) throw new Error(`Closest parent not found for commit ${t.id}`); + let r = Os.get(e)?.y; + if (r === void 0) throw new Error(`Closest parent position not found for commit ${t.id}`); + return r; + }, 'findClosestParentPos')), + (mBe = o((t) => pBe(t) + df, 'calculateCommitPosition')), + (gBe = o((t, e) => { + let r = Is.get(t.branch); + if (!r) throw new Error(`Branch not found for commit ${t.id}`); + let n = r.pos, + i = e + ff; + return Os.set(t.id, { x: n, y: i }), { x: n, y: i }; + }, 'setCommitPosition')), + (yBe = o((t, e, r) => { + let n = Is.get(t.branch); + if (!n) throw new Error(`Branch not found for commit ${t.id}`); + let i = e + r, + a = n.pos; + Os.set(t.id, { x: a, y: i }); + }, 'setRootPosition')), + (vBe = o((t, e, r, n, i, a) => { + if (a === Hr.HIGHLIGHT) + t + .append('rect') + .attr('x', r.x - 10) + .attr('y', r.y - 10) + .attr('width', 20) + .attr('height', 20) + .attr('class', `commit ${e.id} commit-highlight${i % E0} ${n}-outer`), + t + .append('rect') + .attr('x', r.x - 6) + .attr('y', r.y - 6) + .attr('width', 12) + .attr('height', 12) + .attr('class', `commit ${e.id} commit${i % E0} ${n}-inner`); + else if (a === Hr.CHERRY_PICK) + t + .append('circle') + .attr('cx', r.x) + .attr('cy', r.y) + .attr('r', 10) + .attr('class', `commit ${e.id} ${n}`), + t + .append('circle') + .attr('cx', r.x - 3) + .attr('cy', r.y + 2) + .attr('r', 2.75) + .attr('fill', '#fff') + .attr('class', `commit ${e.id} ${n}`), + t + .append('circle') + .attr('cx', r.x + 3) + .attr('cy', r.y + 2) + .attr('r', 2.75) + .attr('fill', '#fff') + .attr('class', `commit ${e.id} ${n}`), + t + .append('line') + .attr('x1', r.x + 3) + .attr('y1', r.y + 1) + .attr('x2', r.x) + .attr('y2', r.y - 5) + .attr('stroke', '#fff') + .attr('class', `commit ${e.id} ${n}`), + t + .append('line') + .attr('x1', r.x - 3) + .attr('y1', r.y + 1) + .attr('x2', r.x) + .attr('y2', r.y - 5) + .attr('stroke', '#fff') + .attr('class', `commit ${e.id} ${n}`); + else { + let s = t.append('circle'); + if ( + (s.attr('cx', r.x), + s.attr('cy', r.y), + s.attr('r', e.type === Hr.MERGE ? 9 : 10), + s.attr('class', `commit ${e.id} commit${i % E0}`), + a === Hr.MERGE) + ) { + let l = t.append('circle'); + l.attr('cx', r.x), + l.attr('cy', r.y), + l.attr('r', 6), + l.attr('class', `commit ${n} ${e.id} commit${i % E0}`); + } + a === Hr.REVERSE && + t + .append('path') + .attr( + 'd', + `M ${r.x - 5},${r.y - 5}L${r.x + 5},${r.y + 5}M${r.x - 5},${r.y + 5}L${r.x + 5},${ + r.y - 5 + }` + ) + .attr('class', `commit ${n} ${e.id} commit${i % E0}`); + } + }, 'drawCommitBullet')), + (xBe = o((t, e, r, n) => { + if ( + e.type !== Hr.CHERRY_PICK && + ((e.customId && e.type === Hr.MERGE) || e.type !== Hr.MERGE) && + Ko?.showCommitLabel + ) { + let i = t.append('g'), + a = i.insert('rect').attr('class', 'commit-label-bkg'), + s = i + .append('text') + .attr('x', n) + .attr('y', r.y + 25) + .attr('class', 'commit-label') + .text(e.id), + l = s.node()?.getBBox(); + if ( + l && + (a + .attr('x', r.posWithOffset - l.width / 2 - Hu) + .attr('y', r.y + 13.5) + .attr('width', l.width + 2 * Hu) + .attr('height', l.height + 2 * Hu), + Tr === 'TB' || Tr === 'BT' + ? (a.attr('x', r.x - (l.width + 4 * Oc + 5)).attr('y', r.y - 12), + s.attr('x', r.x - (l.width + 4 * Oc)).attr('y', r.y + l.height - 12)) + : s.attr('x', r.posWithOffset - l.width / 2), + Ko.rotateCommitLabel) + ) + if (Tr === 'TB' || Tr === 'BT') + s.attr('transform', 'rotate(-45, ' + r.x + ', ' + r.y + ')'), + a.attr('transform', 'rotate(-45, ' + r.x + ', ' + r.y + ')'); + else { + let u = -7.5 - ((l.width + 10) / 25) * 9.5, + h = 10 + (l.width / 25) * 8.5; + i.attr( + 'transform', + 'translate(' + u + ', ' + h + ') rotate(-45, ' + n + ', ' + r.y + ')' + ); + } + } + }, 'drawCommitLabel')), + (bBe = o((t, e, r, n) => { + if (e.tags.length > 0) { + let i = 0, + a = 0, + s = 0, + l = []; + for (let u of e.tags.reverse()) { + let h = t.insert('polygon'), + f = t.append('circle'), + d = t + .append('text') + .attr('y', r.y - 16 - i) + .attr('class', 'tag-label') + .text(u), + p = d.node()?.getBBox(); + if (!p) throw new Error('Tag bbox not found'); + (a = Math.max(a, p.width)), + (s = Math.max(s, p.height)), + d.attr('x', r.posWithOffset - p.width / 2), + l.push({ tag: d, hole: f, rect: h, yOffset: i }), + (i += 20); + } + for (let { tag: u, hole: h, rect: f, yOffset: d } of l) { + let p = s / 2, + m = r.y - 19.2 - d; + if ( + (f.attr('class', 'tag-label-bkg').attr( + 'points', + ` + ${n - a / 2 - Oc / 2},${m + Hu} + ${n - a / 2 - Oc / 2},${m - Hu} + ${r.posWithOffset - a / 2 - Oc},${m - p - Hu} + ${r.posWithOffset + a / 2 + Oc},${m - p - Hu} + ${r.posWithOffset + a / 2 + Oc},${m + p + Hu} + ${r.posWithOffset - a / 2 - Oc},${m + p + Hu}` + ), + h + .attr('cy', m) + .attr('cx', n - a / 2 + Oc / 2) + .attr('r', 1.5) + .attr('class', 'tag-hole'), + Tr === 'TB' || Tr === 'BT') + ) { + let g = n + d; + f + .attr('class', 'tag-label-bkg') + .attr( + 'points', + ` + ${r.x},${g + 2} + ${r.x},${g - 2} + ${r.x + ff},${g - p - 2} + ${r.x + ff + a + 4},${g - p - 2} + ${r.x + ff + a + 4},${g + p + 2} + ${r.x + ff},${g + p + 2}` + ) + .attr('transform', 'translate(12,12) rotate(45, ' + r.x + ',' + n + ')'), + h + .attr('cx', r.x + Oc / 2) + .attr('cy', g) + .attr('transform', 'translate(12,12) rotate(45, ' + r.x + ',' + n + ')'), + u + .attr('x', r.x + 5) + .attr('y', g + 3) + .attr('transform', 'translate(14,14) rotate(45, ' + r.x + ',' + n + ')'); + } + } + } + }, 'drawCommitTags')), + (wBe = o((t) => { + switch (t.customType ?? t.type) { + case Hr.NORMAL: + return 'commit-normal'; + case Hr.REVERSE: + return 'commit-reverse'; + case Hr.HIGHLIGHT: + return 'commit-highlight'; + case Hr.MERGE: + return 'commit-merge'; + case Hr.CHERRY_PICK: + return 'commit-cherry-pick'; + default: + return 'commit-normal'; + } + }, 'getCommitClassType')), + (TBe = o((t, e, r, n) => { + let i = { x: 0, y: 0 }; + if (t.parents.length > 0) { + let a = Ile(t.parents); + if (a) { + let s = n.get(a) ?? i; + return e === 'TB' ? s.y + df : e === 'BT' ? (n.get(t.id) ?? i).y - df : s.x + df; + } + } else return e === 'TB' ? tE : e === 'BT' ? (n.get(t.id) ?? i).y - df : 0; + return 0; + }, 'calculatePosition')), + (kBe = o((t, e, r) => { + let n = Tr === 'BT' && r ? e : e + ff, + i = Tr === 'TB' || Tr === 'BT' ? n : Is.get(t.branch)?.pos, + a = Tr === 'TB' || Tr === 'BT' ? Is.get(t.branch)?.pos : n; + if (a === void 0 || i === void 0) throw new Error(`Position were undefined for commit ${t.id}`); + return { x: a, y: i, posWithOffset: n }; + }, 'getCommitPosition')), + (Nle = o((t, e, r) => { + if (!Ko) throw new Error('GitGraph config not found'); + let n = t.append('g').attr('class', 'commit-bullets'), + i = t.append('g').attr('class', 'commit-labels'), + a = Tr === 'TB' || Tr === 'BT' ? tE : 0, + s = [...e.keys()], + l = Ko?.parallelCommits ?? !1, + u = o((f, d) => { + let p = e.get(f)?.seq, + m = e.get(d)?.seq; + return p !== void 0 && m !== void 0 ? p - m : 0; + }, 'sortKeys'), + h = s.sort(u); + Tr === 'BT' && (l && dBe(h, e, a), (h = h.reverse())), + h.forEach((f) => { + let d = e.get(f); + if (!d) throw new Error(`Commit not found for key ${f}`); + l && (a = TBe(d, Tr, a, Os)); + let p = kBe(d, a, l); + if (r) { + let m = wBe(d), + g = d.customType ?? d.type, + y = Is.get(d.branch)?.index ?? 0; + vBe(n, d, p, m, y, g), xBe(i, d, p, a), bBe(i, d, p, a); + } + Tr === 'TB' || Tr === 'BT' + ? Os.set(d.id, { x: p.x, y: p.posWithOffset }) + : Os.set(d.id, { x: p.posWithOffset, y: p.y }), + (a = Tr === 'BT' && l ? a + df : a + df + ff), + a > hf && (hf = a); + }); + }, 'drawCommits')), + (EBe = o((t, e, r, n, i) => { + let s = (Tr === 'TB' || Tr === 'BT' ? r.x < n.x : r.y < n.y) ? e.branch : t.branch, + l = o((h) => h.branch === s, 'isOnBranchToGetCurve'), + u = o((h) => h.seq > t.seq && h.seq < e.seq, 'isBetweenCommits'); + return [...i.values()].some((h) => u(h) && l(h)); + }, 'shouldRerouteArrow')), + (lx = o((t, e, r = 0) => { + let n = t + Math.abs(t - e) / 2; + if (r > 5) return n; + if (rE.every((s) => Math.abs(s - n) >= 10)) return rE.push(n), n; + let a = Math.abs(t - e); + return lx(t, e - a / 5, r + 1); + }, 'findLane')), + (CBe = o((t, e, r, n) => { + let i = Os.get(e.id), + a = Os.get(r.id); + if (i === void 0 || a === void 0) + throw new Error(`Commit positions not found for commits ${e.id} and ${r.id}`); + let s = EBe(e, r, i, a, n), + l = '', + u = '', + h = 0, + f = 0, + d = Is.get(r.branch)?.index; + r.type === Hr.MERGE && e.id !== r.parents[0] && (d = Is.get(e.branch)?.index); + let p; + if (s) { + (l = 'A 10 10, 0, 0, 0,'), (u = 'A 10 10, 0, 0, 1,'), (h = 10), (f = 10); + let m = i.y < a.y ? lx(i.y, a.y) : lx(a.y, i.y), + g = i.x < a.x ? lx(i.x, a.x) : lx(a.x, i.x); + Tr === 'TB' + ? i.x < a.x + ? (p = `M ${i.x} ${i.y} L ${g - h} ${i.y} ${u} ${g} ${i.y + f} L ${g} ${a.y - h} ${l} ${ + g + f + } ${a.y} L ${a.x} ${a.y}`) + : ((d = Is.get(e.branch)?.index), + (p = `M ${i.x} ${i.y} L ${g + h} ${i.y} ${l} ${g} ${i.y + f} L ${g} ${a.y - h} ${u} ${ + g - f + } ${a.y} L ${a.x} ${a.y}`)) + : Tr === 'BT' + ? i.x < a.x + ? (p = `M ${i.x} ${i.y} L ${g - h} ${i.y} ${l} ${g} ${i.y - f} L ${g} ${a.y + h} ${u} ${ + g + f + } ${a.y} L ${a.x} ${a.y}`) + : ((d = Is.get(e.branch)?.index), + (p = `M ${i.x} ${i.y} L ${g + h} ${i.y} ${u} ${g} ${i.y - f} L ${g} ${a.y + h} ${l} ${ + g - f + } ${a.y} L ${a.x} ${a.y}`)) + : i.y < a.y + ? (p = `M ${i.x} ${i.y} L ${i.x} ${m - h} ${l} ${i.x + f} ${m} L ${a.x - h} ${m} ${u} ${ + a.x + } ${m + f} L ${a.x} ${a.y}`) + : ((d = Is.get(e.branch)?.index), + (p = `M ${i.x} ${i.y} L ${i.x} ${m + h} ${u} ${i.x + f} ${m} L ${a.x - h} ${m} ${l} ${ + a.x + } ${m - f} L ${a.x} ${a.y}`)); + } else + (l = 'A 20 20, 0, 0, 0,'), + (u = 'A 20 20, 0, 0, 1,'), + (h = 20), + (f = 20), + Tr === 'TB' + ? (i.x < a.x && + (r.type === Hr.MERGE && e.id !== r.parents[0] + ? (p = `M ${i.x} ${i.y} L ${i.x} ${a.y - h} ${l} ${i.x + f} ${a.y} L ${a.x} ${ + a.y + }`) + : (p = `M ${i.x} ${i.y} L ${a.x - h} ${i.y} ${u} ${a.x} ${i.y + f} L ${a.x} ${ + a.y + }`)), + i.x > a.x && + ((l = 'A 20 20, 0, 0, 0,'), + (u = 'A 20 20, 0, 0, 1,'), + (h = 20), + (f = 20), + r.type === Hr.MERGE && e.id !== r.parents[0] + ? (p = `M ${i.x} ${i.y} L ${i.x} ${a.y - h} ${u} ${i.x - f} ${a.y} L ${a.x} ${ + a.y + }`) + : (p = `M ${i.x} ${i.y} L ${a.x + h} ${i.y} ${l} ${a.x} ${i.y + f} L ${a.x} ${ + a.y + }`)), + i.x === a.x && (p = `M ${i.x} ${i.y} L ${a.x} ${a.y}`)) + : Tr === 'BT' + ? (i.x < a.x && + (r.type === Hr.MERGE && e.id !== r.parents[0] + ? (p = `M ${i.x} ${i.y} L ${i.x} ${a.y + h} ${u} ${i.x + f} ${a.y} L ${a.x} ${ + a.y + }`) + : (p = `M ${i.x} ${i.y} L ${a.x - h} ${i.y} ${l} ${a.x} ${i.y - f} L ${a.x} ${ + a.y + }`)), + i.x > a.x && + ((l = 'A 20 20, 0, 0, 0,'), + (u = 'A 20 20, 0, 0, 1,'), + (h = 20), + (f = 20), + r.type === Hr.MERGE && e.id !== r.parents[0] + ? (p = `M ${i.x} ${i.y} L ${i.x} ${a.y + h} ${l} ${i.x - f} ${a.y} L ${a.x} ${ + a.y + }`) + : (p = `M ${i.x} ${i.y} L ${a.x - h} ${i.y} ${l} ${a.x} ${i.y - f} L ${a.x} ${ + a.y + }`)), + i.x === a.x && (p = `M ${i.x} ${i.y} L ${a.x} ${a.y}`)) + : (i.y < a.y && + (r.type === Hr.MERGE && e.id !== r.parents[0] + ? (p = `M ${i.x} ${i.y} L ${a.x - h} ${i.y} ${u} ${a.x} ${i.y + f} L ${a.x} ${ + a.y + }`) + : (p = `M ${i.x} ${i.y} L ${i.x} ${a.y - h} ${l} ${i.x + f} ${a.y} L ${a.x} ${ + a.y + }`)), + i.y > a.y && + (r.type === Hr.MERGE && e.id !== r.parents[0] + ? (p = `M ${i.x} ${i.y} L ${a.x - h} ${i.y} ${l} ${a.x} ${i.y - f} L ${a.x} ${ + a.y + }`) + : (p = `M ${i.x} ${i.y} L ${i.x} ${a.y + h} ${u} ${i.x + f} ${a.y} L ${a.x} ${ + a.y + }`)), + i.y === a.y && (p = `M ${i.x} ${i.y} L ${a.x} ${a.y}`)); + if (p === void 0) throw new Error('Line definition not found'); + t.append('path') + .attr('d', p) + .attr('class', 'arrow arrow' + (d % E0)); + }, 'drawArrow')), + (SBe = o((t, e) => { + let r = t.append('g').attr('class', 'commit-arrows'); + [...e.keys()].forEach((n) => { + let i = e.get(n); + i.parents && + i.parents.length > 0 && + i.parents.forEach((a) => { + CBe(r, e.get(a), i, e); + }); + }); + }, 'drawArrows')), + (ABe = o((t, e) => { + let r = t.append('g'); + e.forEach((n, i) => { + let a = i % E0, + s = Is.get(n.name)?.pos; + if (s === void 0) throw new Error(`Position not found for branch ${n.name}`); + let l = r.append('line'); + l.attr('x1', 0), + l.attr('y1', s), + l.attr('x2', hf), + l.attr('y2', s), + l.attr('class', 'branch branch' + a), + Tr === 'TB' + ? (l.attr('y1', tE), l.attr('x1', s), l.attr('y2', hf), l.attr('x2', s)) + : Tr === 'BT' && (l.attr('y1', hf), l.attr('x1', s), l.attr('y2', tE), l.attr('x2', s)), + rE.push(s); + let u = n.name, + h = Mle(u), + f = r.insert('rect'), + p = r + .insert('g') + .attr('class', 'branchLabel') + .insert('g') + .attr('class', 'label branch-label' + a); + p.node().appendChild(h); + let m = h.getBBox(); + f + .attr('class', 'branchLabelBkg label' + a) + .attr('rx', 4) + .attr('ry', 4) + .attr('x', -m.width - 4 - (Ko?.rotateCommitLabel === !0 ? 30 : 0)) + .attr('y', -m.height / 2 + 8) + .attr('width', m.width + 18) + .attr('height', m.height + 4), + p.attr( + 'transform', + 'translate(' + + (-m.width - 14 - (Ko?.rotateCommitLabel === !0 ? 30 : 0)) + + ', ' + + (s - m.height / 2 - 1) + + ')' + ), + Tr === 'TB' + ? (f.attr('x', s - m.width / 2 - 10).attr('y', 0), + p.attr('transform', 'translate(' + (s - m.width / 2 - 5) + ', 0)')) + : Tr === 'BT' + ? (f.attr('x', s - m.width / 2 - 10).attr('y', hf), + p.attr('transform', 'translate(' + (s - m.width / 2 - 5) + ', ' + hf + ')')) + : f.attr('transform', 'translate(-19, ' + (s - m.height / 2) + ')'); + }); + }, 'drawBranches')), + (_Be = o(function (t, e, r, n, i) { + return ( + Is.set(t, { pos: e, index: r }), + (e += 50 + (i ? 40 : 0) + (Tr === 'TB' || Tr === 'BT' ? n.width / 2 : 0)), + e + ); + }, 'setBranchPosition')), + (LBe = o(function (t, e, r, n) { + if ( + (hBe(), + V.debug( + 'in gitgraph renderer', + t + + ` +`, + 'id:', + e, + r + ), + !Ko) + ) + throw new Error('GitGraph config not found'); + let i = Ko.rotateCommitLabel ?? !1, + a = n.db; + ox = a.getCommits(); + let s = a.getBranchesAsObjArray(); + Tr = a.getDirection(); + let l = $e(`[id="${e}"]`), + u = 0; + s.forEach((h, f) => { + let d = Mle(h.name), + p = l.append('g'), + m = p.insert('g').attr('class', 'branchLabel'), + g = m.insert('g').attr('class', 'label branch-label'); + g.node()?.appendChild(d); + let y = d.getBBox(); + (u = _Be(h.name, u, f, y, i)), g.remove(), m.remove(), p.remove(); + }), + Nle(l, ox, !1), + Ko.showBranches && ABe(l, s), + SBe(l, ox), + Nle(l, ox, !0), + Lt.insertTitle(l, 'gitTitleText', Ko.titleTopMargin ?? 0, a.getDiagramTitle()), + aS(void 0, l, Ko.diagramPadding, Ko.useMaxWidth); + }, 'draw')), + (Ole = { draw: LBe }); + }); + var DBe, + Ble, + Fle = R(() => { + 'use strict'; + (DBe = o( + (t) => ` + .commit-id, + .commit-msg, + .branch-label { + fill: lightgrey; + color: lightgrey; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + } + ${[0, 1, 2, 3, 4, 5, 6, 7].map( + (e) => ` + .branch-label${e} { fill: ${t['gitBranchLabel' + e]}; } + .commit${e} { stroke: ${t['git' + e]}; fill: ${t['git' + e]}; } + .commit-highlight${e} { stroke: ${t['gitInv' + e]}; fill: ${t['gitInv' + e]}; } + .label${e} { fill: ${t['git' + e]}; } + .arrow${e} { stroke: ${t['git' + e]}; } + ` + ).join(` +`)} + + .branch { + stroke-width: 1; + stroke: ${t.lineColor}; + stroke-dasharray: 2; + } + .commit-label { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelColor};} + .commit-label-bkg { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelBackground}; opacity: 0.5; } + .tag-label { font-size: ${t.tagLabelFontSize}; fill: ${t.tagLabelColor};} + .tag-label-bkg { fill: ${t.tagLabelBackground}; stroke: ${t.tagLabelBorder}; } + .tag-hole { fill: ${t.textColor}; } + + .commit-merge { + stroke: ${t.primaryColor}; + fill: ${t.primaryColor}; + } + .commit-reverse { + stroke: ${t.primaryColor}; + fill: ${t.primaryColor}; + stroke-width: 3; + } + .commit-highlight-outer { + } + .commit-highlight-inner { + stroke: ${t.primaryColor}; + fill: ${t.primaryColor}; + } + + .arrow { stroke-width: 8; stroke-linecap: round; fill: none} + .gitTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; + } +`, + 'getStyles' + )), + (Ble = DBe); + }); + var zle = {}; + hr(zle, { diagram: () => RBe }); + var RBe, + Gle = R(() => { + 'use strict'; + Rle(); + EI(); + Ple(); + Fle(); + RBe = { parser: Dle, db: eE, renderer: Ole, styles: Ble }; + }); + var CI, + Ule, + Hle = R(() => { + 'use strict'; + CI = (function () { + var t = o(function (I, C, O, D) { + for (O = O || {}, D = I.length; D--; O[I[D]] = C); + return O; + }, 'o'), + e = [ + 6, 8, 10, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 33, 35, + 36, 38, 40 + ], + r = [1, 26], + n = [1, 27], + i = [1, 28], + a = [1, 29], + s = [1, 30], + l = [1, 31], + u = [1, 32], + h = [1, 33], + f = [1, 34], + d = [1, 9], + p = [1, 10], + m = [1, 11], + g = [1, 12], + y = [1, 13], + v = [1, 14], + x = [1, 15], + b = [1, 16], + w = [1, 19], + S = [1, 20], + T = [1, 21], + E = [1, 22], + _ = [1, 23], + A = [1, 25], + L = [1, 35], + M = { + trace: o(function () {}, 'trace'), + yy: {}, + symbols_: { + error: 2, + start: 3, + gantt: 4, + document: 5, + EOF: 6, + line: 7, + SPACE: 8, + statement: 9, + NL: 10, + weekday: 11, + weekday_monday: 12, + weekday_tuesday: 13, + weekday_wednesday: 14, + weekday_thursday: 15, + weekday_friday: 16, + weekday_saturday: 17, + weekday_sunday: 18, + weekend: 19, + weekend_friday: 20, + weekend_saturday: 21, + dateFormat: 22, + inclusiveEndDates: 23, + topAxis: 24, + axisFormat: 25, + tickInterval: 26, + excludes: 27, + includes: 28, + todayMarker: 29, + title: 30, + acc_title: 31, + acc_title_value: 32, + acc_descr: 33, + acc_descr_value: 34, + acc_descr_multiline_value: 35, + section: 36, + clickStatement: 37, + taskTxt: 38, + taskData: 39, + click: 40, + callbackname: 41, + callbackargs: 42, + href: 43, + clickStatementDebug: 44, + $accept: 0, + $end: 1 + }, + terminals_: { + 2: 'error', + 4: 'gantt', + 6: 'EOF', + 8: 'SPACE', + 10: 'NL', + 12: 'weekday_monday', + 13: 'weekday_tuesday', + 14: 'weekday_wednesday', + 15: 'weekday_thursday', + 16: 'weekday_friday', + 17: 'weekday_saturday', + 18: 'weekday_sunday', + 20: 'weekend_friday', + 21: 'weekend_saturday', + 22: 'dateFormat', + 23: 'inclusiveEndDates', + 24: 'topAxis', + 25: 'axisFormat', + 26: 'tickInterval', + 27: 'excludes', + 28: 'includes', + 29: 'todayMarker', + 30: 'title', + 31: 'acc_title', + 32: 'acc_title_value', + 33: 'acc_descr', + 34: 'acc_descr_value', + 35: 'acc_descr_multiline_value', + 36: 'section', + 38: 'taskTxt', + 39: 'taskData', + 40: 'click', + 41: 'callbackname', + 42: 'callbackargs', + 43: 'href' + }, + productions_: [ + 0, + [3, 3], + [5, 0], + [5, 2], + [7, 2], + [7, 1], + [7, 1], + [7, 1], + [11, 1], + [11, 1], + [11, 1], + [11, 1], + [11, 1], + [11, 1], + [11, 1], + [19, 1], + [19, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 2], + [9, 2], + [9, 1], + [9, 1], + [9, 1], + [9, 2], + [37, 2], + [37, 3], + [37, 3], + [37, 4], + [37, 3], + [37, 4], + [37, 2], + [44, 2], + [44, 3], + [44, 3], + [44, 4], + [44, 3], + [44, 4], + [44, 2] + ], + performAction: o(function (C, O, D, P, F, B, $) { + var z = B.length - 1; + switch (F) { + case 1: + return B[z - 1]; + case 2: + this.$ = []; + break; + case 3: + B[z - 1].push(B[z]), (this.$ = B[z - 1]); + break; + case 4: + case 5: + this.$ = B[z]; + break; + case 6: + case 7: + this.$ = []; + break; + case 8: + P.setWeekday('monday'); + break; + case 9: + P.setWeekday('tuesday'); + break; + case 10: + P.setWeekday('wednesday'); + break; + case 11: + P.setWeekday('thursday'); + break; + case 12: + P.setWeekday('friday'); + break; + case 13: + P.setWeekday('saturday'); + break; + case 14: + P.setWeekday('sunday'); + break; + case 15: + P.setWeekend('friday'); + break; + case 16: + P.setWeekend('saturday'); + break; + case 17: + P.setDateFormat(B[z].substr(11)), (this.$ = B[z].substr(11)); + break; + case 18: + P.enableInclusiveEndDates(), (this.$ = B[z].substr(18)); + break; + case 19: + P.TopAxis(), (this.$ = B[z].substr(8)); + break; + case 20: + P.setAxisFormat(B[z].substr(11)), (this.$ = B[z].substr(11)); + break; + case 21: + P.setTickInterval(B[z].substr(13)), (this.$ = B[z].substr(13)); + break; + case 22: + P.setExcludes(B[z].substr(9)), (this.$ = B[z].substr(9)); + break; + case 23: + P.setIncludes(B[z].substr(9)), (this.$ = B[z].substr(9)); + break; + case 24: + P.setTodayMarker(B[z].substr(12)), (this.$ = B[z].substr(12)); + break; + case 27: + P.setDiagramTitle(B[z].substr(6)), (this.$ = B[z].substr(6)); + break; + case 28: + (this.$ = B[z].trim()), P.setAccTitle(this.$); + break; + case 29: + case 30: + (this.$ = B[z].trim()), P.setAccDescription(this.$); + break; + case 31: + P.addSection(B[z].substr(8)), (this.$ = B[z].substr(8)); + break; + case 33: + P.addTask(B[z - 1], B[z]), (this.$ = 'task'); + break; + case 34: + (this.$ = B[z - 1]), P.setClickEvent(B[z - 1], B[z], null); + break; + case 35: + (this.$ = B[z - 2]), P.setClickEvent(B[z - 2], B[z - 1], B[z]); + break; + case 36: + (this.$ = B[z - 2]), + P.setClickEvent(B[z - 2], B[z - 1], null), + P.setLink(B[z - 2], B[z]); + break; + case 37: + (this.$ = B[z - 3]), + P.setClickEvent(B[z - 3], B[z - 2], B[z - 1]), + P.setLink(B[z - 3], B[z]); + break; + case 38: + (this.$ = B[z - 2]), + P.setClickEvent(B[z - 2], B[z], null), + P.setLink(B[z - 2], B[z - 1]); + break; + case 39: + (this.$ = B[z - 3]), + P.setClickEvent(B[z - 3], B[z - 1], B[z]), + P.setLink(B[z - 3], B[z - 2]); + break; + case 40: + (this.$ = B[z - 1]), P.setLink(B[z - 1], B[z]); + break; + case 41: + case 47: + this.$ = B[z - 1] + ' ' + B[z]; + break; + case 42: + case 43: + case 45: + this.$ = B[z - 2] + ' ' + B[z - 1] + ' ' + B[z]; + break; + case 44: + case 46: + this.$ = B[z - 3] + ' ' + B[z - 2] + ' ' + B[z - 1] + ' ' + B[z]; + break; + } + }, 'anonymous'), + table: [ + { 3: 1, 4: [1, 2] }, + { 1: [3] }, + t(e, [2, 2], { 5: 3 }), + { + 6: [1, 4], + 7: 5, + 8: [1, 6], + 9: 7, + 10: [1, 8], + 11: 17, + 12: r, + 13: n, + 14: i, + 15: a, + 16: s, + 17: l, + 18: u, + 19: 18, + 20: h, + 21: f, + 22: d, + 23: p, + 24: m, + 25: g, + 26: y, + 27: v, + 28: x, + 29: b, + 30: w, + 31: S, + 33: T, + 35: E, + 36: _, + 37: 24, + 38: A, + 40: L + }, + t(e, [2, 7], { 1: [2, 1] }), + t(e, [2, 3]), + { + 9: 36, + 11: 17, + 12: r, + 13: n, + 14: i, + 15: a, + 16: s, + 17: l, + 18: u, + 19: 18, + 20: h, + 21: f, + 22: d, + 23: p, + 24: m, + 25: g, + 26: y, + 27: v, + 28: x, + 29: b, + 30: w, + 31: S, + 33: T, + 35: E, + 36: _, + 37: 24, + 38: A, + 40: L + }, + t(e, [2, 5]), + t(e, [2, 6]), + t(e, [2, 17]), + t(e, [2, 18]), + t(e, [2, 19]), + t(e, [2, 20]), + t(e, [2, 21]), + t(e, [2, 22]), + t(e, [2, 23]), + t(e, [2, 24]), + t(e, [2, 25]), + t(e, [2, 26]), + t(e, [2, 27]), + { 32: [1, 37] }, + { 34: [1, 38] }, + t(e, [2, 30]), + t(e, [2, 31]), + t(e, [2, 32]), + { 39: [1, 39] }, + t(e, [2, 8]), + t(e, [2, 9]), + t(e, [2, 10]), + t(e, [2, 11]), + t(e, [2, 12]), + t(e, [2, 13]), + t(e, [2, 14]), + t(e, [2, 15]), + t(e, [2, 16]), + { 41: [1, 40], 43: [1, 41] }, + t(e, [2, 4]), + t(e, [2, 28]), + t(e, [2, 29]), + t(e, [2, 33]), + t(e, [2, 34], { 42: [1, 42], 43: [1, 43] }), + t(e, [2, 40], { 41: [1, 44] }), + t(e, [2, 35], { 43: [1, 45] }), + t(e, [2, 36]), + t(e, [2, 38], { 42: [1, 46] }), + t(e, [2, 37]), + t(e, [2, 39]) + ], + defaultActions: {}, + parseError: o(function (C, O) { + if (O.recoverable) this.trace(C); + else { + var D = new Error(C); + throw ((D.hash = O), D); + } + }, 'parseError'), + parse: o(function (C) { + var O = this, + D = [0], + P = [], + F = [null], + B = [], + $ = this.table, + z = '', + Y = 0, + Q = 0, + X = 0, + ie = 2, + j = 1, + J = B.slice.call(arguments, 1), + Z = Object.create(this.lexer), + H = { yy: {} }; + for (var q in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, q) && (H.yy[q] = this.yy[q]); + Z.setInput(C, H.yy), + (H.yy.lexer = Z), + (H.yy.parser = this), + typeof Z.yylloc > 'u' && (Z.yylloc = {}); + var K = Z.yylloc; + B.push(K); + var se = Z.options && Z.options.ranges; + typeof H.yy.parseError == 'function' + ? (this.parseError = H.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError); + function ce(ge) { + (D.length = D.length - 2 * ge), (F.length = F.length - ge), (B.length = B.length - ge); + } + o(ce, 'popStack'); + function ue() { + var ge; + return ( + (ge = P.pop() || Z.lex() || j), + typeof ge != 'number' && + (ge instanceof Array && ((P = ge), (ge = P.pop())), + (ge = O.symbols_[ge] || ge)), + ge + ); + } + o(ue, 'lex'); + for (var te, De, oe, ke, Ie, Se, Ue = {}, Pe, _e, me, W; ; ) { + if ( + ((oe = D[D.length - 1]), + this.defaultActions[oe] + ? (ke = this.defaultActions[oe]) + : ((te === null || typeof te > 'u') && (te = ue()), (ke = $[oe] && $[oe][te])), + typeof ke > 'u' || !ke.length || !ke[0]) + ) { + var fe = ''; + W = []; + for (Pe in $[oe]) + this.terminals_[Pe] && Pe > ie && W.push("'" + this.terminals_[Pe] + "'"); + Z.showPosition + ? (fe = + 'Parse error on line ' + + (Y + 1) + + `: +` + + Z.showPosition() + + ` +Expecting ` + + W.join(', ') + + ", got '" + + (this.terminals_[te] || te) + + "'") + : (fe = + 'Parse error on line ' + + (Y + 1) + + ': Unexpected ' + + (te == j ? 'end of input' : "'" + (this.terminals_[te] || te) + "'")), + this.parseError(fe, { + text: Z.match, + token: this.terminals_[te] || te, + line: Z.yylineno, + loc: K, + expected: W + }); + } + if (ke[0] instanceof Array && ke.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + oe + ', token: ' + te + ); + switch (ke[0]) { + case 1: + D.push(te), + F.push(Z.yytext), + B.push(Z.yylloc), + D.push(ke[1]), + (te = null), + De + ? ((te = De), (De = null)) + : ((Q = Z.yyleng), + (z = Z.yytext), + (Y = Z.yylineno), + (K = Z.yylloc), + X > 0 && X--); + break; + case 2: + if ( + ((_e = this.productions_[ke[1]][1]), + (Ue.$ = F[F.length - _e]), + (Ue._$ = { + first_line: B[B.length - (_e || 1)].first_line, + last_line: B[B.length - 1].last_line, + first_column: B[B.length - (_e || 1)].first_column, + last_column: B[B.length - 1].last_column + }), + se && + (Ue._$.range = [ + B[B.length - (_e || 1)].range[0], + B[B.length - 1].range[1] + ]), + (Se = this.performAction.apply(Ue, [z, Q, Y, H.yy, ke[1], F, B].concat(J))), + typeof Se < 'u') + ) + return Se; + _e && + ((D = D.slice(0, -1 * _e * 2)), + (F = F.slice(0, -1 * _e)), + (B = B.slice(0, -1 * _e))), + D.push(this.productions_[ke[1]][0]), + F.push(Ue.$), + B.push(Ue._$), + (me = $[D[D.length - 2]][D[D.length - 1]]), + D.push(me); + break; + case 3: + return !0; + } + } + return !0; + }, 'parse') + }, + N = (function () { + var I = { + EOF: 1, + parseError: o(function (O, D) { + if (this.yy.parser) this.yy.parser.parseError(O, D); + else throw new Error(O); + }, 'parseError'), + setInput: o(function (C, O) { + return ( + (this.yy = O || this.yy || {}), + (this._input = C), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, 'setInput'), + input: o(function () { + var C = this._input[0]; + (this.yytext += C), + this.yyleng++, + this.offset++, + (this.match += C), + (this.matched += C); + var O = C.match(/(?:\r\n?|\n).*/g); + return ( + O ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + C + ); + }, 'input'), + unput: o(function (C) { + var O = C.length, + D = C.split(/(?:\r\n?|\n)/g); + (this._input = C + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - O)), + (this.offset -= O); + var P = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + D.length - 1 && (this.yylineno -= D.length - 1); + var F = this.yylloc.range; + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: D + ? (D.length === P.length ? this.yylloc.first_column : 0) + + P[P.length - D.length].length - + D[0].length + : this.yylloc.first_column - O + }), + this.options.ranges && (this.yylloc.range = [F[0], F[0] + this.yyleng - O]), + (this.yyleng = this.yytext.length), + this + ); + }, 'unput'), + more: o(function () { + return (this._more = !0), this; + }, 'more'), + reject: o(function () { + if (this.options.backtrack_lexer) this._backtrack = !0; + else + return this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + return this; + }, 'reject'), + less: o(function (C) { + this.unput(this.match.slice(C)); + }, 'less'), + pastInput: o(function () { + var C = this.matched.substr(0, this.matched.length - this.match.length); + return (C.length > 20 ? '...' : '') + C.substr(-20).replace(/\n/g, ''); + }, 'pastInput'), + upcomingInput: o(function () { + var C = this.match; + return ( + C.length < 20 && (C += this._input.substr(0, 20 - C.length)), + (C.substr(0, 20) + (C.length > 20 ? '...' : '')).replace(/\n/g, '') + ); + }, 'upcomingInput'), + showPosition: o(function () { + var C = this.pastInput(), + O = new Array(C.length + 1).join('-'); + return ( + C + + this.upcomingInput() + + ` +` + + O + + '^' + ); + }, 'showPosition'), + test_match: o(function (C, O) { + var D, P, F; + if ( + (this.options.backtrack_lexer && + ((F = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }), + this.options.ranges && (F.yylloc.range = this.yylloc.range.slice(0))), + (P = C[0].match(/(?:\r\n?|\n).*/g)), + P && (this.yylineno += P.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: P + ? P[P.length - 1].length - P[P.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + C[0].length + }), + (this.yytext += C[0]), + (this.match += C[0]), + (this.matches = C), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(C[0].length)), + (this.matched += C[0]), + (D = this.performAction.call( + this, + this.yy, + this, + O, + this.conditionStack[this.conditionStack.length - 1] + )), + this.done && this._input && (this.done = !1), + D) + ) + return D; + if (this._backtrack) { + for (var B in F) this[B] = F[B]; + return !1; + } + return !1; + }, 'test_match'), + next: o(function () { + if (this.done) return this.EOF; + this._input || (this.done = !0); + var C, O, D, P; + this._more || ((this.yytext = ''), (this.match = '')); + for (var F = this._currentRules(), B = 0; B < F.length; B++) + if ( + ((D = this._input.match(this.rules[F[B]])), + D && (!O || D[0].length > O[0].length)) + ) { + if (((O = D), (P = B), this.options.backtrack_lexer)) { + if (((C = this.test_match(D, F[B])), C !== !1)) return C; + if (this._backtrack) { + O = !1; + continue; + } else return !1; + } else if (!this.options.flex) break; + } + return O + ? ((C = this.test_match(O, F[P])), C !== !1 ? C : !1) + : this._input === '' + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, 'next'), + lex: o(function () { + var O = this.next(); + return O || this.lex(); + }, 'lex'), + begin: o(function (O) { + this.conditionStack.push(O); + }, 'begin'), + popState: o(function () { + var O = this.conditionStack.length - 1; + return O > 0 ? this.conditionStack.pop() : this.conditionStack[0]; + }, 'popState'), + _currentRules: o(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules; + }, '_currentRules'), + topState: o(function (O) { + return ( + (O = this.conditionStack.length - 1 - Math.abs(O || 0)), + O >= 0 ? this.conditionStack[O] : 'INITIAL' + ); + }, 'topState'), + pushState: o(function (O) { + this.begin(O); + }, 'pushState'), + stateStackSize: o(function () { + return this.conditionStack.length; + }, 'stateStackSize'), + options: { 'case-insensitive': !0 }, + performAction: o(function (O, D, P, F) { + var B = F; + switch (P) { + case 0: + return this.begin('open_directive'), 'open_directive'; + break; + case 1: + return this.begin('acc_title'), 31; + break; + case 2: + return this.popState(), 'acc_title_value'; + break; + case 3: + return this.begin('acc_descr'), 33; + break; + case 4: + return this.popState(), 'acc_descr_value'; + break; + case 5: + this.begin('acc_descr_multiline'); + break; + case 6: + this.popState(); + break; + case 7: + return 'acc_descr_multiline_value'; + case 8: + break; + case 9: + break; + case 10: + break; + case 11: + return 10; + case 12: + break; + case 13: + break; + case 14: + this.begin('href'); + break; + case 15: + this.popState(); + break; + case 16: + return 43; + case 17: + this.begin('callbackname'); + break; + case 18: + this.popState(); + break; + case 19: + this.popState(), this.begin('callbackargs'); + break; + case 20: + return 41; + case 21: + this.popState(); + break; + case 22: + return 42; + case 23: + this.begin('click'); + break; + case 24: + this.popState(); + break; + case 25: + return 40; + case 26: + return 4; + case 27: + return 22; + case 28: + return 23; + case 29: + return 24; + case 30: + return 25; + case 31: + return 26; + case 32: + return 28; + case 33: + return 27; + case 34: + return 29; + case 35: + return 12; + case 36: + return 13; + case 37: + return 14; + case 38: + return 15; + case 39: + return 16; + case 40: + return 17; + case 41: + return 18; + case 42: + return 20; + case 43: + return 21; + case 44: + return 'date'; + case 45: + return 30; + case 46: + return 'accDescription'; + case 47: + return 36; + case 48: + return 38; + case 49: + return 39; + case 50: + return ':'; + case 51: + return 6; + case 52: + return 'INVALID'; + } + }, 'anonymous'), + rules: [ + /^(?:%%\{)/i, + /^(?:accTitle\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*\{\s*)/i, + /^(?:[\}])/i, + /^(?:[^\}]*)/i, + /^(?:%%(?!\{)*[^\n]*)/i, + /^(?:[^\}]%%*[^\n]*)/i, + /^(?:%%*[^\n]*[\n]*)/i, + /^(?:[\n]+)/i, + /^(?:\s+)/i, + /^(?:%[^\n]*)/i, + /^(?:href[\s]+["])/i, + /^(?:["])/i, + /^(?:[^"]*)/i, + /^(?:call[\s]+)/i, + /^(?:\([\s]*\))/i, + /^(?:\()/i, + /^(?:[^(]*)/i, + /^(?:\))/i, + /^(?:[^)]*)/i, + /^(?:click[\s]+)/i, + /^(?:[\s\n])/i, + /^(?:[^\s\n]*)/i, + /^(?:gantt\b)/i, + /^(?:dateFormat\s[^#\n;]+)/i, + /^(?:inclusiveEndDates\b)/i, + /^(?:topAxis\b)/i, + /^(?:axisFormat\s[^#\n;]+)/i, + /^(?:tickInterval\s[^#\n;]+)/i, + /^(?:includes\s[^#\n;]+)/i, + /^(?:excludes\s[^#\n;]+)/i, + /^(?:todayMarker\s[^\n;]+)/i, + /^(?:weekday\s+monday\b)/i, + /^(?:weekday\s+tuesday\b)/i, + /^(?:weekday\s+wednesday\b)/i, + /^(?:weekday\s+thursday\b)/i, + /^(?:weekday\s+friday\b)/i, + /^(?:weekday\s+saturday\b)/i, + /^(?:weekday\s+sunday\b)/i, + /^(?:weekend\s+friday\b)/i, + /^(?:weekend\s+saturday\b)/i, + /^(?:\d\d\d\d-\d\d-\d\d\b)/i, + /^(?:title\s[^\n]+)/i, + /^(?:accDescription\s[^#\n;]+)/i, + /^(?:section\s[^\n]+)/i, + /^(?:[^:\n]+)/i, + /^(?::[^#\n;]+)/i, + /^(?::)/i, + /^(?:$)/i, + /^(?:.)/i + ], + conditions: { + acc_descr_multiline: { rules: [6, 7], inclusive: !1 }, + acc_descr: { rules: [4], inclusive: !1 }, + acc_title: { rules: [2], inclusive: !1 }, + callbackargs: { rules: [21, 22], inclusive: !1 }, + callbackname: { rules: [18, 19, 20], inclusive: !1 }, + href: { rules: [15, 16], inclusive: !1 }, + click: { rules: [24, 25], inclusive: !1 }, + INITIAL: { + rules: [ + 0, 1, 3, 5, 8, 9, 10, 11, 12, 13, 14, 17, 23, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52 + ], + inclusive: !0 + } + } + }; + return I; + })(); + M.lexer = N; + function k() { + this.yy = {}; + } + return o(k, 'Parser'), (k.prototype = M), (M.Parser = k), new k(); + })(); + CI.parser = CI; + Ule = CI; + }); + var Yle = gi((SI, AI) => { + 'use strict'; + (function (t, e) { + typeof SI == 'object' && typeof AI < 'u' + ? (AI.exports = e()) + : typeof define == 'function' && define.amd + ? define(e) + : ((t = typeof globalThis < 'u' ? globalThis : t || self).dayjs_plugin_isoWeek = e()); + })(SI, function () { + 'use strict'; + var t = 'day'; + return function (e, r, n) { + var i = o(function (l) { + return l.add(4 - l.isoWeekday(), t); + }, 'a'), + a = r.prototype; + (a.isoWeekYear = function () { + return i(this).year(); + }), + (a.isoWeek = function (l) { + if (!this.$utils().u(l)) return this.add(7 * (l - this.isoWeek()), t); + var u, + h, + f, + d, + p = i(this), + m = + ((u = this.isoWeekYear()), + (h = this.$u), + (f = (h ? n.utc : n)().year(u).startOf('year')), + (d = 4 - f.isoWeekday()), + f.isoWeekday() > 4 && (d += 7), + f.add(d, t)); + return p.diff(m, 'week') + 1; + }), + (a.isoWeekday = function (l) { + return this.$utils().u(l) ? this.day() || 7 : this.day(this.day() % 7 ? l : l - 7); + }); + var s = a.startOf; + a.startOf = function (l, u) { + var h = this.$utils(), + f = !!h.u(u) || u; + return h.p(l) === 'isoweek' + ? f + ? this.date(this.date() - (this.isoWeekday() - 1)).startOf('day') + : this.date(this.date() - 1 - (this.isoWeekday() - 1) + 7).endOf('day') + : s.bind(this)(l, u); + }; + }; + }); + }); + var Wle = gi((_I, LI) => { + 'use strict'; + (function (t, e) { + typeof _I == 'object' && typeof LI < 'u' + ? (LI.exports = e()) + : typeof define == 'function' && define.amd + ? define(e) + : ((t = typeof globalThis < 'u' ? globalThis : t || self).dayjs_plugin_customParseFormat = e()); + })(_I, function () { + 'use strict'; + var t = { + LTS: 'h:mm:ss A', + LT: 'h:mm A', + L: 'MM/DD/YYYY', + LL: 'MMMM D, YYYY', + LLL: 'MMMM D, YYYY h:mm A', + LLLL: 'dddd, MMMM D, YYYY h:mm A' + }, + e = /(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g, + r = /\d/, + n = /\d\d/, + i = /\d\d?/, + a = /\d*[^-_:/,()\s\d]+/, + s = {}, + l = o(function (g) { + return (g = +g) + (g > 68 ? 1900 : 2e3); + }, 'a'), + u = o(function (g) { + return function (y) { + this[g] = +y; + }; + }, 'f'), + h = [ + /[+-]\d\d:?(\d\d)?|Z/, + function (g) { + (this.zone || (this.zone = {})).offset = (function (y) { + if (!y || y === 'Z') return 0; + var v = y.match(/([+-]|\d\d)/g), + x = 60 * v[1] + (+v[2] || 0); + return x === 0 ? 0 : v[0] === '+' ? -x : x; + })(g); + } + ], + f = o(function (g) { + var y = s[g]; + return y && (y.indexOf ? y : y.s.concat(y.f)); + }, 'u'), + d = o(function (g, y) { + var v, + x = s.meridiem; + if (x) { + for (var b = 1; b <= 24; b += 1) + if (g.indexOf(x(b, 0, y)) > -1) { + v = b > 12; + break; + } + } else v = g === (y ? 'pm' : 'PM'); + return v; + }, 'd'), + p = { + A: [ + a, + function (g) { + this.afternoon = d(g, !1); + } + ], + a: [ + a, + function (g) { + this.afternoon = d(g, !0); + } + ], + Q: [ + r, + function (g) { + this.month = 3 * (g - 1) + 1; + } + ], + S: [ + r, + function (g) { + this.milliseconds = 100 * +g; + } + ], + SS: [ + n, + function (g) { + this.milliseconds = 10 * +g; + } + ], + SSS: [ + /\d{3}/, + function (g) { + this.milliseconds = +g; + } + ], + s: [i, u('seconds')], + ss: [i, u('seconds')], + m: [i, u('minutes')], + mm: [i, u('minutes')], + H: [i, u('hours')], + h: [i, u('hours')], + HH: [i, u('hours')], + hh: [i, u('hours')], + D: [i, u('day')], + DD: [n, u('day')], + Do: [ + a, + function (g) { + var y = s.ordinal, + v = g.match(/\d+/); + if (((this.day = v[0]), y)) + for (var x = 1; x <= 31; x += 1) y(x).replace(/\[|\]/g, '') === g && (this.day = x); + } + ], + w: [i, u('week')], + ww: [n, u('week')], + M: [i, u('month')], + MM: [n, u('month')], + MMM: [ + a, + function (g) { + var y = f('months'), + v = + ( + f('monthsShort') || + y.map(function (x) { + return x.slice(0, 3); + }) + ).indexOf(g) + 1; + if (v < 1) throw new Error(); + this.month = v % 12 || v; + } + ], + MMMM: [ + a, + function (g) { + var y = f('months').indexOf(g) + 1; + if (y < 1) throw new Error(); + this.month = y % 12 || y; + } + ], + Y: [/[+-]?\d+/, u('year')], + YY: [ + n, + function (g) { + this.year = l(g); + } + ], + YYYY: [/\d{4}/, u('year')], + Z: h, + ZZ: h + }; + function m(g) { + var y, v; + (y = g), (v = s && s.formats); + for ( + var x = (g = y.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g, function (A, L, M) { + var N = M && M.toUpperCase(); + return ( + L || + v[M] || + t[M] || + v[N].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g, function (k, I, C) { + return I || C.slice(1); + }) + ); + })).match(e), + b = x.length, + w = 0; + w < b; + w += 1 + ) { + var S = x[w], + T = p[S], + E = T && T[0], + _ = T && T[1]; + x[w] = _ ? { regex: E, parser: _ } : S.replace(/^\[|\]$/g, ''); + } + return function (A) { + for (var L = {}, M = 0, N = 0; M < b; M += 1) { + var k = x[M]; + if (typeof k == 'string') N += k.length; + else { + var I = k.regex, + C = k.parser, + O = A.slice(N), + D = I.exec(O)[0]; + C.call(L, D), (A = A.replace(D, '')); + } + } + return ( + (function (P) { + var F = P.afternoon; + if (F !== void 0) { + var B = P.hours; + F ? B < 12 && (P.hours += 12) : B === 12 && (P.hours = 0), delete P.afternoon; + } + })(L), + L + ); + }; + } + return ( + o(m, 'l'), + function (g, y, v) { + (v.p.customParseFormat = !0), g && g.parseTwoDigitYear && (l = g.parseTwoDigitYear); + var x = y.prototype, + b = x.parse; + x.parse = function (w) { + var S = w.date, + T = w.utc, + E = w.args; + this.$u = T; + var _ = E[1]; + if (typeof _ == 'string') { + var A = E[2] === !0, + L = E[3] === !0, + M = A || L, + N = E[2]; + L && (N = E[2]), + (s = this.$locale()), + !A && N && (s = v.Ls[N]), + (this.$d = (function (O, D, P, F) { + try { + if (['x', 'X'].indexOf(D) > -1) return new Date((D === 'X' ? 1e3 : 1) * O); + var B = m(D)(O), + $ = B.year, + z = B.month, + Y = B.day, + Q = B.hours, + X = B.minutes, + ie = B.seconds, + j = B.milliseconds, + J = B.zone, + Z = B.week, + H = new Date(), + q = Y || ($ || z ? 1 : H.getDate()), + K = $ || H.getFullYear(), + se = 0; + ($ && !z) || (se = z > 0 ? z - 1 : H.getMonth()); + var ce, + ue = Q || 0, + te = X || 0, + De = ie || 0, + oe = j || 0; + return J + ? new Date(Date.UTC(K, se, q, ue, te, De, oe + 60 * J.offset * 1e3)) + : P + ? new Date(Date.UTC(K, se, q, ue, te, De, oe)) + : ((ce = new Date(K, se, q, ue, te, De, oe)), + Z && (ce = F(ce).week(Z).toDate()), + ce); + } catch { + return new Date(''); + } + })(S, _, T, v)), + this.init(), + N && N !== !0 && (this.$L = this.locale(N).$L), + M && S != this.format(_) && (this.$d = new Date('')), + (s = {}); + } else if (_ instanceof Array) + for (var k = _.length, I = 1; I <= k; I += 1) { + E[1] = _[I - 1]; + var C = v.apply(this, E); + if (C.isValid()) { + (this.$d = C.$d), (this.$L = C.$L), this.init(); + break; + } + I === k && (this.$d = new Date('')); + } + else b.call(this, w); + }; + } + ); + }); + }); + var qle = gi((DI, RI) => { + 'use strict'; + (function (t, e) { + typeof DI == 'object' && typeof RI < 'u' + ? (RI.exports = e()) + : typeof define == 'function' && define.amd + ? define(e) + : ((t = typeof globalThis < 'u' ? globalThis : t || self).dayjs_plugin_advancedFormat = e()); + })(DI, function () { + 'use strict'; + return function (t, e) { + var r = e.prototype, + n = r.format; + r.format = function (i) { + var a = this, + s = this.$locale(); + if (!this.isValid()) return n.bind(this)(i); + var l = this.$utils(), + u = (i || 'YYYY-MM-DDTHH:mm:ssZ').replace( + /\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g, + function (h) { + switch (h) { + case 'Q': + return Math.ceil((a.$M + 1) / 3); + case 'Do': + return s.ordinal(a.$D); + case 'gggg': + return a.weekYear(); + case 'GGGG': + return a.isoWeekYear(); + case 'wo': + return s.ordinal(a.week(), 'W'); + case 'w': + case 'ww': + return l.s(a.week(), h === 'w' ? 1 : 2, '0'); + case 'W': + case 'WW': + return l.s(a.isoWeek(), h === 'W' ? 1 : 2, '0'); + case 'k': + case 'kk': + return l.s(String(a.$H === 0 ? 24 : a.$H), h === 'k' ? 1 : 2, '0'); + case 'X': + return Math.floor(a.$d.getTime() / 1e3); + case 'x': + return a.$d.getTime(); + case 'z': + return '[' + a.offsetName() + ']'; + case 'zzz': + return '[' + a.offsetName('long') + ']'; + default: + return h; + } + } + ); + return n.bind(this)(u); + }; + }; + }); + }); + function cce(t, e, r) { + let n = !0; + for (; n; ) + (n = !1), + r.forEach(function (i) { + let a = '^\\s*' + i + '\\s*$', + s = new RegExp(a); + t[0].match(s) && ((e[i] = !0), t.shift(1), (n = !0)); + }); + } + var Kle, + yo, + Qle, + Zle, + Jle, + Xle, + Pc, + OI, + PI, + BI, + cx, + ux, + FI, + zI, + aE, + Rg, + GI, + ece, + $I, + hx, + VI, + UI, + sE, + NI, + OBe, + PBe, + BBe, + FBe, + zBe, + GBe, + $Be, + VBe, + UBe, + HBe, + YBe, + WBe, + qBe, + XBe, + jBe, + KBe, + QBe, + ZBe, + JBe, + eFe, + tFe, + rFe, + nFe, + tce, + iFe, + aFe, + sFe, + rce, + oFe, + MI, + nce, + ice, + nE, + Dg, + lFe, + cFe, + II, + iE, + zi, + ace, + uFe, + C0, + hFe, + jle, + fFe, + sce, + dFe, + oce, + pFe, + mFe, + lce, + uce = R(() => { + 'use strict'; + (Kle = Xi(Up(), 1)), (yo = Xi(Nb(), 1)), (Qle = Xi(Yle(), 1)), (Zle = Xi(Wle(), 1)), (Jle = Xi(qle(), 1)); + ut(); + _t(); + xr(); + bi(); + yo.default.extend(Qle.default); + yo.default.extend(Zle.default); + yo.default.extend(Jle.default); + (Xle = { friday: 5, saturday: 6 }), + (Pc = ''), + (OI = ''), + (BI = ''), + (cx = []), + (ux = []), + (FI = new Map()), + (zI = []), + (aE = []), + (Rg = ''), + (GI = ''), + (ece = ['active', 'done', 'crit', 'milestone']), + ($I = []), + (hx = !1), + (VI = !1), + (UI = 'sunday'), + (sE = 'saturday'), + (NI = 0), + (OBe = o(function () { + (zI = []), + (aE = []), + (Rg = ''), + ($I = []), + (nE = 0), + (II = void 0), + (iE = void 0), + (zi = []), + (Pc = ''), + (OI = ''), + (GI = ''), + (PI = void 0), + (BI = ''), + (cx = []), + (ux = []), + (hx = !1), + (VI = !1), + (NI = 0), + (FI = new Map()), + vr(), + (UI = 'sunday'), + (sE = 'saturday'); + }, 'clear')), + (PBe = o(function (t) { + OI = t; + }, 'setAxisFormat')), + (BBe = o(function () { + return OI; + }, 'getAxisFormat')), + (FBe = o(function (t) { + PI = t; + }, 'setTickInterval')), + (zBe = o(function () { + return PI; + }, 'getTickInterval')), + (GBe = o(function (t) { + BI = t; + }, 'setTodayMarker')), + ($Be = o(function () { + return BI; + }, 'getTodayMarker')), + (VBe = o(function (t) { + Pc = t; + }, 'setDateFormat')), + (UBe = o(function () { + hx = !0; + }, 'enableInclusiveEndDates')), + (HBe = o(function () { + return hx; + }, 'endDatesAreInclusive')), + (YBe = o(function () { + VI = !0; + }, 'enableTopAxis')), + (WBe = o(function () { + return VI; + }, 'topAxisEnabled')), + (qBe = o(function (t) { + GI = t; + }, 'setDisplayMode')), + (XBe = o(function () { + return GI; + }, 'getDisplayMode')), + (jBe = o(function () { + return Pc; + }, 'getDateFormat')), + (KBe = o(function (t) { + cx = t.toLowerCase().split(/[\s,]+/); + }, 'setIncludes')), + (QBe = o(function () { + return cx; + }, 'getIncludes')), + (ZBe = o(function (t) { + ux = t.toLowerCase().split(/[\s,]+/); + }, 'setExcludes')), + (JBe = o(function () { + return ux; + }, 'getExcludes')), + (eFe = o(function () { + return FI; + }, 'getLinks')), + (tFe = o(function (t) { + (Rg = t), zI.push(t); + }, 'addSection')), + (rFe = o(function () { + return zI; + }, 'getSections')), + (nFe = o(function () { + let t = jle(), + e = 10, + r = 0; + for (; !t && r < e; ) (t = jle()), r++; + return (aE = zi), aE; + }, 'getTasks')), + (tce = o(function (t, e, r, n) { + return n.includes(t.format(e.trim())) + ? !1 + : (r.includes('weekends') && (t.isoWeekday() === Xle[sE] || t.isoWeekday() === Xle[sE] + 1)) || + r.includes(t.format('dddd').toLowerCase()) + ? !0 + : r.includes(t.format(e.trim())); + }, 'isInvalidDate')), + (iFe = o(function (t) { + UI = t; + }, 'setWeekday')), + (aFe = o(function () { + return UI; + }, 'getWeekday')), + (sFe = o(function (t) { + sE = t; + }, 'setWeekend')), + (rce = o(function (t, e, r, n) { + if (!r.length || t.manualEndTime) return; + let i; + t.startTime instanceof Date + ? (i = (0, yo.default)(t.startTime)) + : (i = (0, yo.default)(t.startTime, e, !0)), + (i = i.add(1, 'd')); + let a; + t.endTime instanceof Date + ? (a = (0, yo.default)(t.endTime)) + : (a = (0, yo.default)(t.endTime, e, !0)); + let [s, l] = oFe(i, a, e, r, n); + (t.endTime = s.toDate()), (t.renderEndTime = l); + }, 'checkTaskDates')), + (oFe = o(function (t, e, r, n, i) { + let a = !1, + s = null; + for (; t <= e; ) + a || (s = e.toDate()), (a = tce(t, r, n, i)), a && (e = e.add(1, 'd')), (t = t.add(1, 'd')); + return [e, s]; + }, 'fixTaskDates')), + (MI = o(function (t, e, r) { + r = r.trim(); + let i = /^after\s+(?[\d\w- ]+)/.exec(r); + if (i !== null) { + let s = null; + for (let u of i.groups.ids.split(' ')) { + let h = C0(u); + h !== void 0 && (!s || h.endTime > s.endTime) && (s = h); + } + if (s) return s.endTime; + let l = new Date(); + return l.setHours(0, 0, 0, 0), l; + } + let a = (0, yo.default)(r, e.trim(), !0); + if (a.isValid()) return a.toDate(); + { + V.debug('Invalid date:' + r), V.debug('With date format:' + e.trim()); + let s = new Date(r); + if (s === void 0 || isNaN(s.getTime()) || s.getFullYear() < -1e4 || s.getFullYear() > 1e4) + throw new Error('Invalid date:' + r); + return s; + } + }, 'getStartDate')), + (nce = o(function (t) { + let e = /^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim()); + return e !== null ? [Number.parseFloat(e[1]), e[2]] : [NaN, 'ms']; + }, 'parseDuration')), + (ice = o(function (t, e, r, n = !1) { + r = r.trim(); + let a = /^until\s+(?[\d\w- ]+)/.exec(r); + if (a !== null) { + let f = null; + for (let p of a.groups.ids.split(' ')) { + let m = C0(p); + m !== void 0 && (!f || m.startTime < f.startTime) && (f = m); + } + if (f) return f.startTime; + let d = new Date(); + return d.setHours(0, 0, 0, 0), d; + } + let s = (0, yo.default)(r, e.trim(), !0); + if (s.isValid()) return n && (s = s.add(1, 'd')), s.toDate(); + let l = (0, yo.default)(t), + [u, h] = nce(r); + if (!Number.isNaN(u)) { + let f = l.add(u, h); + f.isValid() && (l = f); + } + return l.toDate(); + }, 'getEndDate')), + (nE = 0), + (Dg = o(function (t) { + return t === void 0 ? ((nE = nE + 1), 'task' + nE) : t; + }, 'parseId')), + (lFe = o(function (t, e) { + let r; + e.substr(0, 1) === ':' ? (r = e.substr(1, e.length)) : (r = e); + let n = r.split(','), + i = {}; + cce(n, i, ece); + for (let s = 0; s < n.length; s++) n[s] = n[s].trim(); + let a = ''; + switch (n.length) { + case 1: + (i.id = Dg()), (i.startTime = t.endTime), (a = n[0]); + break; + case 2: + (i.id = Dg()), (i.startTime = MI(void 0, Pc, n[0])), (a = n[1]); + break; + case 3: + (i.id = Dg(n[0])), (i.startTime = MI(void 0, Pc, n[1])), (a = n[2]); + break; + default: + } + return ( + a && + ((i.endTime = ice(i.startTime, Pc, a, hx)), + (i.manualEndTime = (0, yo.default)(a, 'YYYY-MM-DD', !0).isValid()), + rce(i, Pc, ux, cx)), + i + ); + }, 'compileData')), + (cFe = o(function (t, e) { + let r; + e.substr(0, 1) === ':' ? (r = e.substr(1, e.length)) : (r = e); + let n = r.split(','), + i = {}; + cce(n, i, ece); + for (let a = 0; a < n.length; a++) n[a] = n[a].trim(); + switch (n.length) { + case 1: + (i.id = Dg()), (i.startTime = { type: 'prevTaskEnd', id: t }), (i.endTime = { data: n[0] }); + break; + case 2: + (i.id = Dg()), + (i.startTime = { type: 'getStartDate', startData: n[0] }), + (i.endTime = { data: n[1] }); + break; + case 3: + (i.id = Dg(n[0])), + (i.startTime = { type: 'getStartDate', startData: n[1] }), + (i.endTime = { data: n[2] }); + break; + default: + } + return i; + }, 'parseData')), + (zi = []), + (ace = {}), + (uFe = o(function (t, e) { + let r = { + section: Rg, + type: Rg, + processed: !1, + manualEndTime: !1, + renderEndTime: null, + raw: { data: e }, + task: t, + classes: [] + }, + n = cFe(iE, e); + (r.raw.startTime = n.startTime), + (r.raw.endTime = n.endTime), + (r.id = n.id), + (r.prevTaskId = iE), + (r.active = n.active), + (r.done = n.done), + (r.crit = n.crit), + (r.milestone = n.milestone), + (r.order = NI), + NI++; + let i = zi.push(r); + (iE = r.id), (ace[r.id] = i - 1); + }, 'addTask')), + (C0 = o(function (t) { + let e = ace[t]; + return zi[e]; + }, 'findTaskById')), + (hFe = o(function (t, e) { + let r = { + section: Rg, + type: Rg, + description: t, + task: t, + classes: [] + }, + n = lFe(II, e); + (r.startTime = n.startTime), + (r.endTime = n.endTime), + (r.id = n.id), + (r.active = n.active), + (r.done = n.done), + (r.crit = n.crit), + (r.milestone = n.milestone), + (II = r), + aE.push(r); + }, 'addTaskOrg')), + (jle = o(function () { + let t = o(function (r) { + let n = zi[r], + i = ''; + switch (zi[r].raw.startTime.type) { + case 'prevTaskEnd': { + let a = C0(n.prevTaskId); + n.startTime = a.endTime; + break; + } + case 'getStartDate': + (i = MI(void 0, Pc, zi[r].raw.startTime.startData)), i && (zi[r].startTime = i); + break; + } + return ( + zi[r].startTime && + ((zi[r].endTime = ice(zi[r].startTime, Pc, zi[r].raw.endTime.data, hx)), + zi[r].endTime && + ((zi[r].processed = !0), + (zi[r].manualEndTime = (0, yo.default)( + zi[r].raw.endTime.data, + 'YYYY-MM-DD', + !0 + ).isValid()), + rce(zi[r], Pc, ux, cx))), + zi[r].processed + ); + }, 'compileTask'), + e = !0; + for (let [r, n] of zi.entries()) t(r), (e = e && n.processed); + return e; + }, 'compileTasks')), + (fFe = o(function (t, e) { + let r = e; + de().securityLevel !== 'loose' && (r = (0, Kle.sanitizeUrl)(e)), + t.split(',').forEach(function (n) { + C0(n) !== void 0 && + (oce(n, () => { + window.open(r, '_self'); + }), + FI.set(n, r)); + }), + sce(t, 'clickable'); + }, 'setLink')), + (sce = o(function (t, e) { + t.split(',').forEach(function (r) { + let n = C0(r); + n !== void 0 && n.classes.push(e); + }); + }, 'setClass')), + (dFe = o(function (t, e, r) { + if (de().securityLevel !== 'loose' || e === void 0) return; + let n = []; + if (typeof r == 'string') { + n = r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/); + for (let a = 0; a < n.length; a++) { + let s = n[a].trim(); + s.startsWith('"') && s.endsWith('"') && (s = s.substr(1, s.length - 2)), (n[a] = s); + } + } + n.length === 0 && n.push(t), + C0(t) !== void 0 && + oce(t, () => { + Lt.runFunc(e, ...n); + }); + }, 'setClickFun')), + (oce = o(function (t, e) { + $I.push( + function () { + let r = document.querySelector(`[id="${t}"]`); + r !== null && + r.addEventListener('click', function () { + e(); + }); + }, + function () { + let r = document.querySelector(`[id="${t}-text"]`); + r !== null && + r.addEventListener('click', function () { + e(); + }); + } + ); + }, 'pushFun')), + (pFe = o(function (t, e, r) { + t.split(',').forEach(function (n) { + dFe(n, e, r); + }), + sce(t, 'clickable'); + }, 'setClickEvent')), + (mFe = o(function (t) { + $I.forEach(function (e) { + e(t); + }); + }, 'bindFunctions')), + (lce = { + getConfig: o(() => de().gantt, 'getConfig'), + clear: OBe, + setDateFormat: VBe, + getDateFormat: jBe, + enableInclusiveEndDates: UBe, + endDatesAreInclusive: HBe, + enableTopAxis: YBe, + topAxisEnabled: WBe, + setAxisFormat: PBe, + getAxisFormat: BBe, + setTickInterval: FBe, + getTickInterval: zBe, + setTodayMarker: GBe, + getTodayMarker: $Be, + setAccTitle: kr, + getAccTitle: Ar, + setDiagramTitle: nn, + getDiagramTitle: Xr, + setDisplayMode: qBe, + getDisplayMode: XBe, + setAccDescription: _r, + getAccDescription: Lr, + addSection: tFe, + getSections: rFe, + getTasks: nFe, + addTask: uFe, + findTaskById: C0, + addTaskOrg: hFe, + setIncludes: KBe, + getIncludes: QBe, + setExcludes: ZBe, + getExcludes: JBe, + setClickEvent: pFe, + setLink: fFe, + getLinks: eFe, + bindFunctions: mFe, + parseDuration: nce, + isInvalidDate: tce, + setWeekday: iFe, + getWeekday: aFe, + setWeekend: sFe + }); + o(cce, 'getTaskTags'); + }); + var oE, + gFe, + hce, + yFe, + Yu, + vFe, + fce, + dce = R(() => { + 'use strict'; + oE = Xi(Nb(), 1); + ut(); + Zt(); + rr(); + _t(); + Yn(); + (gFe = o(function () { + V.debug('Something is calling, setConf, remove the call'); + }, 'setConf')), + (hce = { + monday: _h, + tuesday: k3, + wednesday: E3, + thursday: cc, + friday: C3, + saturday: S3, + sunday: yl + }), + (yFe = o((t, e) => { + let r = [...t].map(() => -1 / 0), + n = [...t].sort((a, s) => a.startTime - s.startTime || a.order - s.order), + i = 0; + for (let a of n) + for (let s = 0; s < r.length; s++) + if (a.startTime >= r[s]) { + (r[s] = a.endTime), (a.order = s + e), s > i && (i = s); + break; + } + return i; + }, 'getMaxIntersections')), + (vFe = o(function (t, e, r, n) { + let i = de().gantt, + a = de().securityLevel, + s; + a === 'sandbox' && (s = $e('#i' + e)); + let l = a === 'sandbox' ? $e(s.nodes()[0].contentDocument.body) : $e('body'), + u = a === 'sandbox' ? s.nodes()[0].contentDocument : document, + h = u.getElementById(e); + (Yu = h.parentElement.offsetWidth), + Yu === void 0 && (Yu = 1200), + i.useWidth !== void 0 && (Yu = i.useWidth); + let f = n.db.getTasks(), + d = []; + for (let A of f) d.push(A.type); + d = _(d); + let p = {}, + m = 2 * i.topPadding; + if (n.db.getDisplayMode() === 'compact' || i.displayMode === 'compact') { + let A = {}; + for (let M of f) A[M.section] === void 0 ? (A[M.section] = [M]) : A[M.section].push(M); + let L = 0; + for (let M of Object.keys(A)) { + let N = yFe(A[M], L) + 1; + (L += N), (m += N * (i.barHeight + i.barGap)), (p[M] = N); + } + } else { + m += f.length * (i.barHeight + i.barGap); + for (let A of d) p[A] = f.filter((L) => L.type === A).length; + } + h.setAttribute('viewBox', '0 0 ' + Yu + ' ' + m); + let g = l.select(`[id="${e}"]`), + y = L3() + .domain([ + I4(f, function (A) { + return A.startTime; + }), + M4(f, function (A) { + return A.endTime; + }) + ]) + .rangeRound([0, Yu - i.leftPadding - i.rightPadding]); + function v(A, L) { + let M = A.startTime, + N = L.startTime, + k = 0; + return M > N ? (k = 1) : M < N && (k = -1), k; + } + o(v, 'taskCompare'), + f.sort(v), + x(f, Yu, m), + Sr(g, m, Yu, i.useMaxWidth), + g + .append('text') + .text(n.db.getDiagramTitle()) + .attr('x', Yu / 2) + .attr('y', i.titleTopMargin) + .attr('class', 'titleText'); + function x(A, L, M) { + let N = i.barHeight, + k = N + i.barGap, + I = i.topPadding, + C = i.leftPadding, + O = gl().domain([0, d.length]).range(['#00B9FA', '#F95002']).interpolate(BA); + w(k, I, C, L, M, A, n.db.getExcludes(), n.db.getIncludes()), + S(C, I, L, M), + b(A, k, I, C, N, O, L, M), + T(k, I, C, N, O), + E(C, I, L, M); + } + o(x, 'makeGantt'); + function b(A, L, M, N, k, I, C) { + let D = [...new Set(A.map(($) => $.order))].map(($) => A.find((z) => z.order === $)); + g.append('g') + .selectAll('rect') + .data(D) + .enter() + .append('rect') + .attr('x', 0) + .attr('y', function ($, z) { + return (z = $.order), z * L + M - 2; + }) + .attr('width', function () { + return C - i.rightPadding / 2; + }) + .attr('height', L) + .attr('class', function ($) { + for (let [z, Y] of d.entries()) + if ($.type === Y) return 'section section' + (z % i.numberSectionStyles); + return 'section section0'; + }); + let P = g.append('g').selectAll('rect').data(A).enter(), + F = n.db.getLinks(); + if ( + (P.append('rect') + .attr('id', function ($) { + return $.id; + }) + .attr('rx', 3) + .attr('ry', 3) + .attr('x', function ($) { + return $.milestone + ? y($.startTime) + N + 0.5 * (y($.endTime) - y($.startTime)) - 0.5 * k + : y($.startTime) + N; + }) + .attr('y', function ($, z) { + return (z = $.order), z * L + M; + }) + .attr('width', function ($) { + return $.milestone ? k : y($.renderEndTime || $.endTime) - y($.startTime); + }) + .attr('height', k) + .attr('transform-origin', function ($, z) { + return ( + (z = $.order), + (y($.startTime) + N + 0.5 * (y($.endTime) - y($.startTime))).toString() + + 'px ' + + (z * L + M + 0.5 * k).toString() + + 'px' + ); + }) + .attr('class', function ($) { + let z = 'task', + Y = ''; + $.classes.length > 0 && (Y = $.classes.join(' ')); + let Q = 0; + for (let [ie, j] of d.entries()) $.type === j && (Q = ie % i.numberSectionStyles); + let X = ''; + return ( + $.active + ? $.crit + ? (X += ' activeCrit') + : (X = ' active') + : $.done + ? $.crit + ? (X = ' doneCrit') + : (X = ' done') + : $.crit && (X += ' crit'), + X.length === 0 && (X = ' task'), + $.milestone && (X = ' milestone ' + X), + (X += Q), + (X += ' ' + Y), + z + X + ); + }), + P.append('text') + .attr('id', function ($) { + return $.id + '-text'; + }) + .text(function ($) { + return $.task; + }) + .attr('font-size', i.fontSize) + .attr('x', function ($) { + let z = y($.startTime), + Y = y($.renderEndTime || $.endTime); + $.milestone && (z += 0.5 * (y($.endTime) - y($.startTime)) - 0.5 * k), + $.milestone && (Y = z + k); + let Q = this.getBBox().width; + return Q > Y - z + ? Y + Q + 1.5 * i.leftPadding > C + ? z + N - 5 + : Y + N + 5 + : (Y - z) / 2 + z + N; + }) + .attr('y', function ($, z) { + return (z = $.order), z * L + i.barHeight / 2 + (i.fontSize / 2 - 2) + M; + }) + .attr('text-height', k) + .attr('class', function ($) { + let z = y($.startTime), + Y = y($.endTime); + $.milestone && (Y = z + k); + let Q = this.getBBox().width, + X = ''; + $.classes.length > 0 && (X = $.classes.join(' ')); + let ie = 0; + for (let [J, Z] of d.entries()) $.type === Z && (ie = J % i.numberSectionStyles); + let j = ''; + return ( + $.active && ($.crit ? (j = 'activeCritText' + ie) : (j = 'activeText' + ie)), + $.done + ? $.crit + ? (j = j + ' doneCritText' + ie) + : (j = j + ' doneText' + ie) + : $.crit && (j = j + ' critText' + ie), + $.milestone && (j += ' milestoneText'), + Q > Y - z + ? Y + Q + 1.5 * i.leftPadding > C + ? X + ' taskTextOutsideLeft taskTextOutside' + ie + ' ' + j + : X + + ' taskTextOutsideRight taskTextOutside' + + ie + + ' ' + + j + + ' width-' + + Q + : X + ' taskText taskText' + ie + ' ' + j + ' width-' + Q + ); + }), + de().securityLevel === 'sandbox') + ) { + let $; + $ = $e('#i' + e); + let z = $.nodes()[0].contentDocument; + P.filter(function (Y) { + return F.has(Y.id); + }).each(function (Y) { + var Q = z.querySelector('#' + Y.id), + X = z.querySelector('#' + Y.id + '-text'); + let ie = Q.parentNode; + var j = z.createElement('a'); + j.setAttribute('xlink:href', F.get(Y.id)), + j.setAttribute('target', '_top'), + ie.appendChild(j), + j.appendChild(Q), + j.appendChild(X); + }); + } + } + o(b, 'drawRects'); + function w(A, L, M, N, k, I, C, O) { + if (C.length === 0 && O.length === 0) return; + let D, P; + for (let { startTime: Q, endTime: X } of I) + (D === void 0 || Q < D) && (D = Q), (P === void 0 || X > P) && (P = X); + if (!D || !P) return; + if ((0, oE.default)(P).diff((0, oE.default)(D), 'year') > 5) { + V.warn( + 'The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.' + ); + return; + } + let F = n.db.getDateFormat(), + B = [], + $ = null, + z = (0, oE.default)(D); + for (; z.valueOf() <= P; ) + n.db.isInvalidDate(z, F, C, O) + ? $ + ? ($.end = z) + : ($ = { start: z, end: z }) + : $ && (B.push($), ($ = null)), + (z = z.add(1, 'd')); + g.append('g') + .selectAll('rect') + .data(B) + .enter() + .append('rect') + .attr('id', function (Q) { + return 'exclude-' + Q.start.format('YYYY-MM-DD'); + }) + .attr('x', function (Q) { + return y(Q.start) + M; + }) + .attr('y', i.gridLineStartPadding) + .attr('width', function (Q) { + let X = Q.end.add(1, 'day'); + return y(X) - y(Q.start); + }) + .attr('height', k - L - i.gridLineStartPadding) + .attr('transform-origin', function (Q, X) { + return ( + (y(Q.start) + M + 0.5 * (y(Q.end) - y(Q.start))).toString() + + 'px ' + + (X * A + 0.5 * k).toString() + + 'px' + ); + }) + .attr('class', 'exclude-range'); + } + o(w, 'drawExcludeDays'); + function S(A, L, M, N) { + let k = vS(y) + .tickSize(-N + L + i.gridLineStartPadding) + .tickFormat(md(n.db.getAxisFormat() || i.axisFormat || '%Y-%m-%d')), + C = /^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec( + n.db.getTickInterval() || i.tickInterval + ); + if (C !== null) { + let O = C[1], + D = C[2], + P = n.db.getWeekday() || i.weekday; + switch (D) { + case 'millisecond': + k.ticks(oc.every(O)); + break; + case 'second': + k.ticks(Ks.every(O)); + break; + case 'minute': + k.ticks(gu.every(O)); + break; + case 'hour': + k.ticks(yu.every(O)); + break; + case 'day': + k.ticks(Do.every(O)); + break; + case 'week': + k.ticks(hce[P].every(O)); + break; + case 'month': + k.ticks(vu.every(O)); + break; + } + } + if ( + (g + .append('g') + .attr('class', 'grid') + .attr('transform', 'translate(' + A + ', ' + (N - 50) + ')') + .call(k) + .selectAll('text') + .style('text-anchor', 'middle') + .attr('fill', '#000') + .attr('stroke', 'none') + .attr('font-size', 10) + .attr('dy', '1em'), + n.db.topAxisEnabled() || i.topAxis) + ) { + let O = yS(y) + .tickSize(-N + L + i.gridLineStartPadding) + .tickFormat(md(n.db.getAxisFormat() || i.axisFormat || '%Y-%m-%d')); + if (C !== null) { + let D = C[1], + P = C[2], + F = n.db.getWeekday() || i.weekday; + switch (P) { + case 'millisecond': + O.ticks(oc.every(D)); + break; + case 'second': + O.ticks(Ks.every(D)); + break; + case 'minute': + O.ticks(gu.every(D)); + break; + case 'hour': + O.ticks(yu.every(D)); + break; + case 'day': + O.ticks(Do.every(D)); + break; + case 'week': + O.ticks(hce[F].every(D)); + break; + case 'month': + O.ticks(vu.every(D)); + break; + } + } + g.append('g') + .attr('class', 'grid') + .attr('transform', 'translate(' + A + ', ' + L + ')') + .call(O) + .selectAll('text') + .style('text-anchor', 'middle') + .attr('fill', '#000') + .attr('stroke', 'none') + .attr('font-size', 10); + } + } + o(S, 'makeGrid'); + function T(A, L) { + let M = 0, + N = Object.keys(p).map((k) => [k, p[k]]); + g.append('g') + .selectAll('text') + .data(N) + .enter() + .append(function (k) { + let I = k[0].split(We.lineBreakRegex), + C = -(I.length - 1) / 2, + O = u.createElementNS('http://www.w3.org/2000/svg', 'text'); + O.setAttribute('dy', C + 'em'); + for (let [D, P] of I.entries()) { + let F = u.createElementNS('http://www.w3.org/2000/svg', 'tspan'); + F.setAttribute('alignment-baseline', 'central'), + F.setAttribute('x', '10'), + D > 0 && F.setAttribute('dy', '1em'), + (F.textContent = P), + O.appendChild(F); + } + return O; + }) + .attr('x', 10) + .attr('y', function (k, I) { + if (I > 0) + for (let C = 0; C < I; C++) return (M += N[I - 1][1]), (k[1] * A) / 2 + M * A + L; + else return (k[1] * A) / 2 + L; + }) + .attr('font-size', i.sectionFontSize) + .attr('class', function (k) { + for (let [I, C] of d.entries()) + if (k[0] === C) return 'sectionTitle sectionTitle' + (I % i.numberSectionStyles); + return 'sectionTitle'; + }); + } + o(T, 'vertLabels'); + function E(A, L, M, N) { + let k = n.db.getTodayMarker(); + if (k === 'off') return; + let I = g.append('g').attr('class', 'today'), + C = new Date(), + O = I.append('line'); + O.attr('x1', y(C) + A) + .attr('x2', y(C) + A) + .attr('y1', i.titleTopMargin) + .attr('y2', N - i.titleTopMargin) + .attr('class', 'today'), + k !== '' && O.attr('style', k.replace(/,/g, ';')); + } + o(E, 'drawToday'); + function _(A) { + let L = {}, + M = []; + for (let N = 0, k = A.length; N < k; ++N) + Object.prototype.hasOwnProperty.call(L, A[N]) || ((L[A[N]] = !0), M.push(A[N])); + return M; + } + o(_, 'checkUnique'); + }, 'draw')), + (fce = { setConf: gFe, draw: vFe }); + }); + var xFe, + pce, + mce = R(() => { + 'use strict'; + (xFe = o( + (t) => ` + .mermaid-main-font { + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + .exclude-range { + fill: ${t.excludeBkgColor}; + } + + .section { + stroke: none; + opacity: 0.2; + } + + .section0 { + fill: ${t.sectionBkgColor}; + } + + .section2 { + fill: ${t.sectionBkgColor2}; + } + + .section1, + .section3 { + fill: ${t.altSectionBkgColor}; + opacity: 0.2; + } + + .sectionTitle0 { + fill: ${t.titleColor}; + } + + .sectionTitle1 { + fill: ${t.titleColor}; + } + + .sectionTitle2 { + fill: ${t.titleColor}; + } + + .sectionTitle3 { + fill: ${t.titleColor}; + } + + .sectionTitle { + text-anchor: start; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + + /* Grid and axis */ + + .grid .tick { + stroke: ${t.gridColor}; + opacity: 0.8; + shape-rendering: crispEdges; + } + + .grid .tick text { + font-family: ${t.fontFamily}; + fill: ${t.textColor}; + } + + .grid path { + stroke-width: 0; + } + + + /* Today line */ + + .today { + fill: none; + stroke: ${t.todayLineColor}; + stroke-width: 2px; + } + + + /* Task styling */ + + /* Default task */ + + .task { + stroke-width: 2; + } + + .taskText { + text-anchor: middle; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + .taskTextOutsideRight { + fill: ${t.taskTextDarkColor}; + text-anchor: start; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + .taskTextOutsideLeft { + fill: ${t.taskTextDarkColor}; + text-anchor: end; + } + + + /* Special case clickable */ + + .task.clickable { + cursor: pointer; + } + + .taskText.clickable { + cursor: pointer; + fill: ${t.taskTextClickableColor} !important; + font-weight: bold; + } + + .taskTextOutsideLeft.clickable { + cursor: pointer; + fill: ${t.taskTextClickableColor} !important; + font-weight: bold; + } + + .taskTextOutsideRight.clickable { + cursor: pointer; + fill: ${t.taskTextClickableColor} !important; + font-weight: bold; + } + + + /* Specific task settings for the sections*/ + + .taskText0, + .taskText1, + .taskText2, + .taskText3 { + fill: ${t.taskTextColor}; + } + + .task0, + .task1, + .task2, + .task3 { + fill: ${t.taskBkgColor}; + stroke: ${t.taskBorderColor}; + } + + .taskTextOutside0, + .taskTextOutside2 + { + fill: ${t.taskTextOutsideColor}; + } + + .taskTextOutside1, + .taskTextOutside3 { + fill: ${t.taskTextOutsideColor}; + } + + + /* Active task */ + + .active0, + .active1, + .active2, + .active3 { + fill: ${t.activeTaskBkgColor}; + stroke: ${t.activeTaskBorderColor}; + } + + .activeText0, + .activeText1, + .activeText2, + .activeText3 { + fill: ${t.taskTextDarkColor} !important; + } + + + /* Completed task */ + + .done0, + .done1, + .done2, + .done3 { + stroke: ${t.doneTaskBorderColor}; + fill: ${t.doneTaskBkgColor}; + stroke-width: 2; + } + + .doneText0, + .doneText1, + .doneText2, + .doneText3 { + fill: ${t.taskTextDarkColor} !important; + } + + + /* Tasks on the critical line */ + + .crit0, + .crit1, + .crit2, + .crit3 { + stroke: ${t.critBorderColor}; + fill: ${t.critBkgColor}; + stroke-width: 2; + } + + .activeCrit0, + .activeCrit1, + .activeCrit2, + .activeCrit3 { + stroke: ${t.critBorderColor}; + fill: ${t.activeTaskBkgColor}; + stroke-width: 2; + } + + .doneCrit0, + .doneCrit1, + .doneCrit2, + .doneCrit3 { + stroke: ${t.critBorderColor}; + fill: ${t.doneTaskBkgColor}; + stroke-width: 2; + cursor: pointer; + shape-rendering: crispEdges; + } + + .milestone { + transform: rotate(45deg) scale(0.8,0.8); + } + + .milestoneText { + font-style: italic; + } + .doneCritText0, + .doneCritText1, + .doneCritText2, + .doneCritText3 { + fill: ${t.taskTextDarkColor} !important; + } + + .activeCritText0, + .activeCritText1, + .activeCritText2, + .activeCritText3 { + fill: ${t.taskTextDarkColor} !important; + } + + .titleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.titleColor || t.textColor}; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } +`, + 'getStyles' + )), + (pce = xFe); + }); + var gce = {}; + hr(gce, { diagram: () => bFe }); + var bFe, + yce = R(() => { + 'use strict'; + Hle(); + uce(); + dce(); + mce(); + bFe = { parser: Ule, db: lce, renderer: fce, styles: pce }; + }); + var bce, + wce = R(() => { + 'use strict'; + Lg(); + ut(); + bce = { + parse: o(async (t) => { + let e = await Fl('info', t); + V.debug(e); + }, 'parse') + }; + }); + var fx, + HI = R(() => { + fx = '11.2.0'; + }); + var CFe, + SFe, + Tce, + kce = R(() => { + 'use strict'; + HI(); + (CFe = { version: fx }), (SFe = o(() => CFe.version, 'getVersion')), (Tce = { getVersion: SFe }); + }); + var Ps, + pf = R(() => { + 'use strict'; + Zt(); + _t(); + Ps = o((t) => { + let { securityLevel: e } = de(), + r = $e('body'); + if (e === 'sandbox') { + let a = $e(`#i${t}`).node()?.contentDocument ?? document; + r = $e(a.body); + } + return r.select(`#${t}`); + }, 'selectSvgElement'); + }); + var AFe, + Ece, + Cce = R(() => { + 'use strict'; + ut(); + pf(); + Yn(); + (AFe = o((t, e, r) => { + V.debug( + `rendering info diagram +` + t + ); + let n = Ps(e); + Sr(n, 100, 400, !0), + n + .append('g') + .append('text') + .attr('x', 100) + .attr('y', 40) + .attr('class', 'version') + .attr('font-size', 32) + .style('text-anchor', 'middle') + .text(`v${r}`); + }, 'draw')), + (Ece = { draw: AFe }); + }); + var Sce = {}; + hr(Sce, { diagram: () => _Fe }); + var _Fe, + Ace = R(() => { + 'use strict'; + wce(); + kce(); + Cce(); + _Fe = { parser: bce, db: Tce, renderer: Ece }; + }); + var Dce, + YI, + lE, + WI, + RFe, + NFe, + MFe, + IFe, + OFe, + PFe, + BFe, + cE, + qI = R(() => { + 'use strict'; + ut(); + bi(); + sl(); + (Dce = mr.pie), + (YI = { sections: new Map(), showData: !1, config: Dce }), + (lE = YI.sections), + (WI = YI.showData), + (RFe = structuredClone(Dce)), + (NFe = o(() => structuredClone(RFe), 'getConfig')), + (MFe = o(() => { + (lE = new Map()), (WI = YI.showData), vr(); + }, 'clear')), + (IFe = o(({ label: t, value: e }) => { + lE.has(t) || (lE.set(t, e), V.debug(`added new section: ${t}, with value: ${e}`)); + }, 'addSection')), + (OFe = o(() => lE, 'getSections')), + (PFe = o((t) => { + WI = t; + }, 'setShowData')), + (BFe = o(() => WI, 'getShowData')), + (cE = { + getConfig: NFe, + clear: MFe, + setDiagramTitle: nn, + getDiagramTitle: Xr, + setAccTitle: kr, + getAccTitle: Ar, + setAccDescription: _r, + getAccDescription: Lr, + addSection: IFe, + getSections: OFe, + setShowData: PFe, + getShowData: BFe + }); + }); + var FFe, + Rce, + Nce = R(() => { + 'use strict'; + Lg(); + ut(); + sx(); + qI(); + (FFe = o((t, e) => { + cf(t, e), e.setShowData(t.showData), t.sections.map(e.addSection); + }, 'populateDb')), + (Rce = { + parse: o(async (t) => { + let e = await Fl('pie', t); + V.debug(e), FFe(e, cE); + }, 'parse') + }); + }); + var zFe, + Mce, + Ice = R(() => { + 'use strict'; + (zFe = o( + (t) => ` + .pieCircle{ + stroke: ${t.pieStrokeColor}; + stroke-width : ${t.pieStrokeWidth}; + opacity : ${t.pieOpacity}; + } + .pieOuterCircle{ + stroke: ${t.pieOuterStrokeColor}; + stroke-width: ${t.pieOuterStrokeWidth}; + fill: none; + } + .pieTitleText { + text-anchor: middle; + font-size: ${t.pieTitleTextSize}; + fill: ${t.pieTitleTextColor}; + font-family: ${t.fontFamily}; + } + .slice { + font-family: ${t.fontFamily}; + fill: ${t.pieSectionTextColor}; + font-size:${t.pieSectionTextSize}; + // fill: white; + } + .legend text { + fill: ${t.pieLegendTextColor}; + font-family: ${t.fontFamily}; + font-size: ${t.pieLegendTextSize}; + } +`, + 'getStyles' + )), + (Mce = zFe); + }); + var GFe, + $Fe, + Oce, + Pce = R(() => { + 'use strict'; + Zt(); + _t(); + ut(); + pf(); + Yn(); + xr(); + (GFe = o((t) => { + let e = [...t.entries()].map((n) => ({ label: n[0], value: n[1] })).sort((n, i) => i.value - n.value); + return O3().value((n) => n.value)(e); + }, 'createPieArcs')), + ($Fe = o((t, e, r, n) => { + V.debug( + `rendering pie chart +` + t + ); + let i = n.db, + a = de(), + s = Ts(i.getConfig(), a.pie), + l = 40, + u = 18, + h = 4, + f = 450, + d = f, + p = Ps(e), + m = p.append('g'); + m.attr('transform', 'translate(' + d / 2 + ',' + f / 2 + ')'); + let { themeVariables: g } = a, + [y] = mc(g.pieOuterStrokeWidth); + y ??= 2; + let v = s.textPosition, + x = Math.min(d, f) / 2 - l, + b = bl().innerRadius(0).outerRadius(x), + w = bl() + .innerRadius(x * v) + .outerRadius(x * v); + m.append('circle') + .attr('cx', 0) + .attr('cy', 0) + .attr('r', x + y / 2) + .attr('class', 'pieOuterCircle'); + let S = i.getSections(), + T = GFe(S), + E = [ + g.pie1, + g.pie2, + g.pie3, + g.pie4, + g.pie5, + g.pie6, + g.pie7, + g.pie8, + g.pie9, + g.pie10, + g.pie11, + g.pie12 + ], + _ = pu(E); + m.selectAll('mySlices') + .data(T) + .enter() + .append('path') + .attr('d', b) + .attr('fill', (k) => _(k.data.label)) + .attr('class', 'pieCircle'); + let A = 0; + S.forEach((k) => { + A += k; + }), + m + .selectAll('mySlices') + .data(T) + .enter() + .append('text') + .text((k) => ((k.data.value / A) * 100).toFixed(0) + '%') + .attr('transform', (k) => 'translate(' + w.centroid(k) + ')') + .style('text-anchor', 'middle') + .attr('class', 'slice'), + m + .append('text') + .text(i.getDiagramTitle()) + .attr('x', 0) + .attr('y', -(f - 50) / 2) + .attr('class', 'pieTitleText'); + let L = m + .selectAll('.legend') + .data(_.domain()) + .enter() + .append('g') + .attr('class', 'legend') + .attr('transform', (k, I) => { + let C = u + h, + O = (C * _.domain().length) / 2, + D = 12 * u, + P = I * C - O; + return 'translate(' + D + ',' + P + ')'; + }); + L.append('rect').attr('width', u).attr('height', u).style('fill', _).style('stroke', _), + L.data(T) + .append('text') + .attr('x', u + h) + .attr('y', u - h) + .text((k) => { + let { label: I, value: C } = k.data; + return i.getShowData() ? `${I} [${C}]` : I; + }); + let M = Math.max( + ...L.selectAll('text') + .nodes() + .map((k) => k?.getBoundingClientRect().width ?? 0) + ), + N = d + l + u + h + M; + p.attr('viewBox', `0 0 ${N} ${f}`), Sr(p, f, N, s.useMaxWidth); + }, 'draw')), + (Oce = { draw: $Fe }); + }); + var Bce = {}; + hr(Bce, { diagram: () => VFe }); + var VFe, + Fce = R(() => { + 'use strict'; + Nce(); + qI(); + Ice(); + Pce(); + VFe = { parser: Rce, db: cE, renderer: Oce, styles: Mce }; + }); + var XI, + $ce, + Vce = R(() => { + 'use strict'; + XI = (function () { + var t = o(function (we, Te, Ce, Ae) { + for (Ce = Ce || {}, Ae = we.length; Ae--; Ce[we[Ae]] = Te); + return Ce; + }, 'o'), + e = [1, 3], + r = [1, 4], + n = [1, 5], + i = [1, 6], + a = [1, 7], + s = [ + 1, 4, 5, 10, 12, 13, 14, 18, 25, 35, 37, 39, 41, 42, 48, 50, 51, 52, 53, 54, 55, 56, 57, 60, 61, + 63, 64, 65, 66, 67 + ], + l = [ + 1, 4, 5, 10, 12, 13, 14, 18, 25, 28, 35, 37, 39, 41, 42, 48, 50, 51, 52, 53, 54, 55, 56, 57, 60, + 61, 63, 64, 65, 66, 67 + ], + u = [55, 56, 57], + h = [2, 36], + f = [1, 37], + d = [1, 36], + p = [1, 38], + m = [1, 35], + g = [1, 43], + y = [1, 41], + v = [1, 14], + x = [1, 23], + b = [1, 18], + w = [1, 19], + S = [1, 20], + T = [1, 21], + E = [1, 22], + _ = [1, 24], + A = [1, 25], + L = [1, 26], + M = [1, 27], + N = [1, 28], + k = [1, 29], + I = [1, 32], + C = [1, 33], + O = [1, 34], + D = [1, 39], + P = [1, 40], + F = [1, 42], + B = [1, 44], + $ = [1, 62], + z = [1, 61], + Y = [4, 5, 8, 10, 12, 13, 14, 18, 44, 47, 49, 55, 56, 57, 63, 64, 65, 66, 67], + Q = [1, 65], + X = [1, 66], + ie = [1, 67], + j = [1, 68], + J = [1, 69], + Z = [1, 70], + H = [1, 71], + q = [1, 72], + K = [1, 73], + se = [1, 74], + ce = [1, 75], + ue = [1, 76], + te = [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18], + De = [1, 90], + oe = [1, 91], + ke = [1, 92], + Ie = [1, 99], + Se = [1, 93], + Ue = [1, 96], + Pe = [1, 94], + _e = [1, 95], + me = [1, 97], + W = [1, 98], + fe = [1, 102], + ge = [10, 55, 56, 57], + re = [4, 5, 6, 8, 10, 11, 13, 17, 18, 19, 20, 55, 56, 57], + he = { + trace: o(function () {}, 'trace'), + yy: {}, + symbols_: { + error: 2, + idStringToken: 3, + ALPHA: 4, + NUM: 5, + NODE_STRING: 6, + DOWN: 7, + MINUS: 8, + DEFAULT: 9, + COMMA: 10, + COLON: 11, + AMP: 12, + BRKT: 13, + MULT: 14, + UNICODE_TEXT: 15, + styleComponent: 16, + UNIT: 17, + SPACE: 18, + STYLE: 19, + PCT: 20, + idString: 21, + style: 22, + stylesOpt: 23, + classDefStatement: 24, + CLASSDEF: 25, + start: 26, + eol: 27, + QUADRANT: 28, + document: 29, + line: 30, + statement: 31, + axisDetails: 32, + quadrantDetails: 33, + points: 34, + title: 35, + title_value: 36, + acc_title: 37, + acc_title_value: 38, + acc_descr: 39, + acc_descr_value: 40, + acc_descr_multiline_value: 41, + section: 42, + text: 43, + point_start: 44, + point_x: 45, + point_y: 46, + class_name: 47, + 'X-AXIS': 48, + 'AXIS-TEXT-DELIMITER': 49, + 'Y-AXIS': 50, + QUADRANT_1: 51, + QUADRANT_2: 52, + QUADRANT_3: 53, + QUADRANT_4: 54, + NEWLINE: 55, + SEMI: 56, + EOF: 57, + alphaNumToken: 58, + textNoTagsToken: 59, + STR: 60, + MD_STR: 61, + alphaNum: 62, + PUNCTUATION: 63, + PLUS: 64, + EQUALS: 65, + DOT: 66, + UNDERSCORE: 67, + $accept: 0, + $end: 1 + }, + terminals_: { + 2: 'error', + 4: 'ALPHA', + 5: 'NUM', + 6: 'NODE_STRING', + 7: 'DOWN', + 8: 'MINUS', + 9: 'DEFAULT', + 10: 'COMMA', + 11: 'COLON', + 12: 'AMP', + 13: 'BRKT', + 14: 'MULT', + 15: 'UNICODE_TEXT', + 17: 'UNIT', + 18: 'SPACE', + 19: 'STYLE', + 20: 'PCT', + 25: 'CLASSDEF', + 28: 'QUADRANT', + 35: 'title', + 36: 'title_value', + 37: 'acc_title', + 38: 'acc_title_value', + 39: 'acc_descr', + 40: 'acc_descr_value', + 41: 'acc_descr_multiline_value', + 42: 'section', + 44: 'point_start', + 45: 'point_x', + 46: 'point_y', + 47: 'class_name', + 48: 'X-AXIS', + 49: 'AXIS-TEXT-DELIMITER', + 50: 'Y-AXIS', + 51: 'QUADRANT_1', + 52: 'QUADRANT_2', + 53: 'QUADRANT_3', + 54: 'QUADRANT_4', + 55: 'NEWLINE', + 56: 'SEMI', + 57: 'EOF', + 60: 'STR', + 61: 'MD_STR', + 63: 'PUNCTUATION', + 64: 'PLUS', + 65: 'EQUALS', + 66: 'DOT', + 67: 'UNDERSCORE' + }, + productions_: [ + 0, + [3, 1], + [3, 1], + [3, 1], + [3, 1], + [3, 1], + [3, 1], + [3, 1], + [3, 1], + [3, 1], + [3, 1], + [3, 1], + [3, 1], + [16, 1], + [16, 1], + [16, 1], + [16, 1], + [16, 1], + [16, 1], + [16, 1], + [16, 1], + [16, 1], + [16, 1], + [21, 1], + [21, 2], + [22, 1], + [22, 2], + [23, 1], + [23, 3], + [24, 5], + [26, 2], + [26, 2], + [26, 2], + [29, 0], + [29, 2], + [30, 2], + [31, 0], + [31, 1], + [31, 2], + [31, 1], + [31, 1], + [31, 1], + [31, 2], + [31, 2], + [31, 2], + [31, 1], + [31, 1], + [34, 4], + [34, 5], + [34, 5], + [34, 6], + [32, 4], + [32, 3], + [32, 2], + [32, 4], + [32, 3], + [32, 2], + [33, 2], + [33, 2], + [33, 2], + [33, 2], + [27, 1], + [27, 1], + [27, 1], + [43, 1], + [43, 2], + [43, 1], + [43, 1], + [62, 1], + [62, 2], + [58, 1], + [58, 1], + [58, 1], + [58, 1], + [58, 1], + [58, 1], + [58, 1], + [58, 1], + [58, 1], + [58, 1], + [58, 1], + [59, 1], + [59, 1], + [59, 1] + ], + performAction: o(function (Te, Ce, Ae, Ge, Me, ye, He) { + var ze = ye.length - 1; + switch (Me) { + case 23: + this.$ = ye[ze]; + break; + case 24: + this.$ = ye[ze - 1] + '' + ye[ze]; + break; + case 26: + this.$ = ye[ze - 1] + ye[ze]; + break; + case 27: + this.$ = [ye[ze].trim()]; + break; + case 28: + ye[ze - 2].push(ye[ze].trim()), (this.$ = ye[ze - 2]); + break; + case 29: + (this.$ = ye[ze - 4]), Ge.addClass(ye[ze - 2], ye[ze]); + break; + case 37: + this.$ = []; + break; + case 42: + (this.$ = ye[ze].trim()), Ge.setDiagramTitle(this.$); + break; + case 43: + (this.$ = ye[ze].trim()), Ge.setAccTitle(this.$); + break; + case 44: + case 45: + (this.$ = ye[ze].trim()), Ge.setAccDescription(this.$); + break; + case 46: + Ge.addSection(ye[ze].substr(8)), (this.$ = ye[ze].substr(8)); + break; + case 47: + Ge.addPoint(ye[ze - 3], '', ye[ze - 1], ye[ze], []); + break; + case 48: + Ge.addPoint(ye[ze - 4], ye[ze - 3], ye[ze - 1], ye[ze], []); + break; + case 49: + Ge.addPoint(ye[ze - 4], '', ye[ze - 2], ye[ze - 1], ye[ze]); + break; + case 50: + Ge.addPoint(ye[ze - 5], ye[ze - 4], ye[ze - 2], ye[ze - 1], ye[ze]); + break; + case 51: + Ge.setXAxisLeftText(ye[ze - 2]), Ge.setXAxisRightText(ye[ze]); + break; + case 52: + (ye[ze - 1].text += ' \u27F6 '), Ge.setXAxisLeftText(ye[ze - 1]); + break; + case 53: + Ge.setXAxisLeftText(ye[ze]); + break; + case 54: + Ge.setYAxisBottomText(ye[ze - 2]), Ge.setYAxisTopText(ye[ze]); + break; + case 55: + (ye[ze - 1].text += ' \u27F6 '), Ge.setYAxisBottomText(ye[ze - 1]); + break; + case 56: + Ge.setYAxisBottomText(ye[ze]); + break; + case 57: + Ge.setQuadrant1Text(ye[ze]); + break; + case 58: + Ge.setQuadrant2Text(ye[ze]); + break; + case 59: + Ge.setQuadrant3Text(ye[ze]); + break; + case 60: + Ge.setQuadrant4Text(ye[ze]); + break; + case 64: + this.$ = { text: ye[ze], type: 'text' }; + break; + case 65: + this.$ = { + text: ye[ze - 1].text + '' + ye[ze], + type: ye[ze - 1].type + }; + break; + case 66: + this.$ = { text: ye[ze], type: 'text' }; + break; + case 67: + this.$ = { text: ye[ze], type: 'markdown' }; + break; + case 68: + this.$ = ye[ze]; + break; + case 69: + this.$ = ye[ze - 1] + '' + ye[ze]; + break; + } + }, 'anonymous'), + table: [ + { 18: e, 26: 1, 27: 2, 28: r, 55: n, 56: i, 57: a }, + { 1: [3] }, + { 18: e, 26: 8, 27: 2, 28: r, 55: n, 56: i, 57: a }, + { 18: e, 26: 9, 27: 2, 28: r, 55: n, 56: i, 57: a }, + t(s, [2, 33], { 29: 10 }), + t(l, [2, 61]), + t(l, [2, 62]), + t(l, [2, 63]), + { 1: [2, 30] }, + { 1: [2, 31] }, + t(u, h, { + 30: 11, + 31: 12, + 24: 13, + 32: 15, + 33: 16, + 34: 17, + 43: 30, + 58: 31, + 1: [2, 32], + 4: f, + 5: d, + 10: p, + 12: m, + 13: g, + 14: y, + 18: v, + 25: x, + 35: b, + 37: w, + 39: S, + 41: T, + 42: E, + 48: _, + 50: A, + 51: L, + 52: M, + 53: N, + 54: k, + 60: I, + 61: C, + 63: O, + 64: D, + 65: P, + 66: F, + 67: B + }), + t(s, [2, 34]), + { 27: 45, 55: n, 56: i, 57: a }, + t(u, [2, 37]), + t(u, h, { + 24: 13, + 32: 15, + 33: 16, + 34: 17, + 43: 30, + 58: 31, + 31: 46, + 4: f, + 5: d, + 10: p, + 12: m, + 13: g, + 14: y, + 18: v, + 25: x, + 35: b, + 37: w, + 39: S, + 41: T, + 42: E, + 48: _, + 50: A, + 51: L, + 52: M, + 53: N, + 54: k, + 60: I, + 61: C, + 63: O, + 64: D, + 65: P, + 66: F, + 67: B + }), + t(u, [2, 39]), + t(u, [2, 40]), + t(u, [2, 41]), + { 36: [1, 47] }, + { 38: [1, 48] }, + { 40: [1, 49] }, + t(u, [2, 45]), + t(u, [2, 46]), + { 18: [1, 50] }, + { + 4: f, + 5: d, + 10: p, + 12: m, + 13: g, + 14: y, + 43: 51, + 58: 31, + 60: I, + 61: C, + 63: O, + 64: D, + 65: P, + 66: F, + 67: B + }, + { + 4: f, + 5: d, + 10: p, + 12: m, + 13: g, + 14: y, + 43: 52, + 58: 31, + 60: I, + 61: C, + 63: O, + 64: D, + 65: P, + 66: F, + 67: B + }, + { + 4: f, + 5: d, + 10: p, + 12: m, + 13: g, + 14: y, + 43: 53, + 58: 31, + 60: I, + 61: C, + 63: O, + 64: D, + 65: P, + 66: F, + 67: B + }, + { + 4: f, + 5: d, + 10: p, + 12: m, + 13: g, + 14: y, + 43: 54, + 58: 31, + 60: I, + 61: C, + 63: O, + 64: D, + 65: P, + 66: F, + 67: B + }, + { + 4: f, + 5: d, + 10: p, + 12: m, + 13: g, + 14: y, + 43: 55, + 58: 31, + 60: I, + 61: C, + 63: O, + 64: D, + 65: P, + 66: F, + 67: B + }, + { + 4: f, + 5: d, + 10: p, + 12: m, + 13: g, + 14: y, + 43: 56, + 58: 31, + 60: I, + 61: C, + 63: O, + 64: D, + 65: P, + 66: F, + 67: B + }, + { + 4: f, + 5: d, + 8: $, + 10: p, + 12: m, + 13: g, + 14: y, + 18: z, + 44: [1, 57], + 47: [1, 58], + 58: 60, + 59: 59, + 63: O, + 64: D, + 65: P, + 66: F, + 67: B + }, + t(Y, [2, 64]), + t(Y, [2, 66]), + t(Y, [2, 67]), + t(Y, [2, 70]), + t(Y, [2, 71]), + t(Y, [2, 72]), + t(Y, [2, 73]), + t(Y, [2, 74]), + t(Y, [2, 75]), + t(Y, [2, 76]), + t(Y, [2, 77]), + t(Y, [2, 78]), + t(Y, [2, 79]), + t(Y, [2, 80]), + t(s, [2, 35]), + t(u, [2, 38]), + t(u, [2, 42]), + t(u, [2, 43]), + t(u, [2, 44]), + { + 3: 64, + 4: Q, + 5: X, + 6: ie, + 7: j, + 8: J, + 9: Z, + 10: H, + 11: q, + 12: K, + 13: se, + 14: ce, + 15: ue, + 21: 63 + }, + t(u, [2, 53], { + 59: 59, + 58: 60, + 4: f, + 5: d, + 8: $, + 10: p, + 12: m, + 13: g, + 14: y, + 18: z, + 49: [1, 77], + 63: O, + 64: D, + 65: P, + 66: F, + 67: B + }), + t(u, [2, 56], { + 59: 59, + 58: 60, + 4: f, + 5: d, + 8: $, + 10: p, + 12: m, + 13: g, + 14: y, + 18: z, + 49: [1, 78], + 63: O, + 64: D, + 65: P, + 66: F, + 67: B + }), + t(u, [2, 57], { + 59: 59, + 58: 60, + 4: f, + 5: d, + 8: $, + 10: p, + 12: m, + 13: g, + 14: y, + 18: z, + 63: O, + 64: D, + 65: P, + 66: F, + 67: B + }), + t(u, [2, 58], { + 59: 59, + 58: 60, + 4: f, + 5: d, + 8: $, + 10: p, + 12: m, + 13: g, + 14: y, + 18: z, + 63: O, + 64: D, + 65: P, + 66: F, + 67: B + }), + t(u, [2, 59], { + 59: 59, + 58: 60, + 4: f, + 5: d, + 8: $, + 10: p, + 12: m, + 13: g, + 14: y, + 18: z, + 63: O, + 64: D, + 65: P, + 66: F, + 67: B + }), + t(u, [2, 60], { + 59: 59, + 58: 60, + 4: f, + 5: d, + 8: $, + 10: p, + 12: m, + 13: g, + 14: y, + 18: z, + 63: O, + 64: D, + 65: P, + 66: F, + 67: B + }), + { 45: [1, 79] }, + { 44: [1, 80] }, + t(Y, [2, 65]), + t(Y, [2, 81]), + t(Y, [2, 82]), + t(Y, [2, 83]), + { + 3: 82, + 4: Q, + 5: X, + 6: ie, + 7: j, + 8: J, + 9: Z, + 10: H, + 11: q, + 12: K, + 13: se, + 14: ce, + 15: ue, + 18: [1, 81] + }, + t(te, [2, 23]), + t(te, [2, 1]), + t(te, [2, 2]), + t(te, [2, 3]), + t(te, [2, 4]), + t(te, [2, 5]), + t(te, [2, 6]), + t(te, [2, 7]), + t(te, [2, 8]), + t(te, [2, 9]), + t(te, [2, 10]), + t(te, [2, 11]), + t(te, [2, 12]), + t(u, [2, 52], { + 58: 31, + 43: 83, + 4: f, + 5: d, + 10: p, + 12: m, + 13: g, + 14: y, + 60: I, + 61: C, + 63: O, + 64: D, + 65: P, + 66: F, + 67: B + }), + t(u, [2, 55], { + 58: 31, + 43: 84, + 4: f, + 5: d, + 10: p, + 12: m, + 13: g, + 14: y, + 60: I, + 61: C, + 63: O, + 64: D, + 65: P, + 66: F, + 67: B + }), + { 46: [1, 85] }, + { 45: [1, 86] }, + { + 4: De, + 5: oe, + 6: ke, + 8: Ie, + 11: Se, + 13: Ue, + 16: 89, + 17: Pe, + 18: _e, + 19: me, + 20: W, + 22: 88, + 23: 87 + }, + t(te, [2, 24]), + t(u, [2, 51], { + 59: 59, + 58: 60, + 4: f, + 5: d, + 8: $, + 10: p, + 12: m, + 13: g, + 14: y, + 18: z, + 63: O, + 64: D, + 65: P, + 66: F, + 67: B + }), + t(u, [2, 54], { + 59: 59, + 58: 60, + 4: f, + 5: d, + 8: $, + 10: p, + 12: m, + 13: g, + 14: y, + 18: z, + 63: O, + 64: D, + 65: P, + 66: F, + 67: B + }), + t(u, [2, 47], { + 22: 88, + 16: 89, + 23: 100, + 4: De, + 5: oe, + 6: ke, + 8: Ie, + 11: Se, + 13: Ue, + 17: Pe, + 18: _e, + 19: me, + 20: W + }), + { 46: [1, 101] }, + t(u, [2, 29], { 10: fe }), + t(ge, [2, 27], { + 16: 103, + 4: De, + 5: oe, + 6: ke, + 8: Ie, + 11: Se, + 13: Ue, + 17: Pe, + 18: _e, + 19: me, + 20: W + }), + t(re, [2, 25]), + t(re, [2, 13]), + t(re, [2, 14]), + t(re, [2, 15]), + t(re, [2, 16]), + t(re, [2, 17]), + t(re, [2, 18]), + t(re, [2, 19]), + t(re, [2, 20]), + t(re, [2, 21]), + t(re, [2, 22]), + t(u, [2, 49], { 10: fe }), + t(u, [2, 48], { + 22: 88, + 16: 89, + 23: 104, + 4: De, + 5: oe, + 6: ke, + 8: Ie, + 11: Se, + 13: Ue, + 17: Pe, + 18: _e, + 19: me, + 20: W + }), + { + 4: De, + 5: oe, + 6: ke, + 8: Ie, + 11: Se, + 13: Ue, + 16: 89, + 17: Pe, + 18: _e, + 19: me, + 20: W, + 22: 105 + }, + t(re, [2, 26]), + t(u, [2, 50], { 10: fe }), + t(ge, [2, 28], { + 16: 103, + 4: De, + 5: oe, + 6: ke, + 8: Ie, + 11: Se, + 13: Ue, + 17: Pe, + 18: _e, + 19: me, + 20: W + }) + ], + defaultActions: { 8: [2, 30], 9: [2, 31] }, + parseError: o(function (Te, Ce) { + if (Ce.recoverable) this.trace(Te); + else { + var Ae = new Error(Te); + throw ((Ae.hash = Ce), Ae); + } + }, 'parseError'), + parse: o(function (Te) { + var Ce = this, + Ae = [0], + Ge = [], + Me = [null], + ye = [], + He = this.table, + ze = '', + Ze = 0, + gt = 0, + yt = 0, + tt = 2, + Ye = 1, + Je = ye.slice.call(arguments, 1), + Ve = Object.create(this.lexer), + je = { yy: {} }; + for (var kt in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, kt) && (je.yy[kt] = this.yy[kt]); + Ve.setInput(Te, je.yy), + (je.yy.lexer = Ve), + (je.yy.parser = this), + typeof Ve.yylloc > 'u' && (Ve.yylloc = {}); + var at = Ve.yylloc; + ye.push(at); + var xt = Ve.options && Ve.options.ranges; + typeof je.yy.parseError == 'function' + ? (this.parseError = je.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError); + function it(on) { + (Ae.length = Ae.length - 2 * on), + (Me.length = Me.length - on), + (ye.length = ye.length - on); + } + o(it, 'popStack'); + function dt() { + var on; + return ( + (on = Ge.pop() || Ve.lex() || Ye), + typeof on != 'number' && + (on instanceof Array && ((Ge = on), (on = Ge.pop())), + (on = Ce.symbols_[on] || on)), + on + ); + } + o(dt, 'lex'); + for (var lt, It, mt, St, gr, xn, jt = {}, rn, Er, Kn, hn; ; ) { + if ( + ((mt = Ae[Ae.length - 1]), + this.defaultActions[mt] + ? (St = this.defaultActions[mt]) + : ((lt === null || typeof lt > 'u') && (lt = dt()), + (St = He[mt] && He[mt][lt])), + typeof St > 'u' || !St.length || !St[0]) + ) { + var Qn = ''; + hn = []; + for (rn in He[mt]) + this.terminals_[rn] && rn > tt && hn.push("'" + this.terminals_[rn] + "'"); + Ve.showPosition + ? (Qn = + 'Parse error on line ' + + (Ze + 1) + + `: +` + + Ve.showPosition() + + ` +Expecting ` + + hn.join(', ') + + ", got '" + + (this.terminals_[lt] || lt) + + "'") + : (Qn = + 'Parse error on line ' + + (Ze + 1) + + ': Unexpected ' + + (lt == Ye ? 'end of input' : "'" + (this.terminals_[lt] || lt) + "'")), + this.parseError(Qn, { + text: Ve.match, + token: this.terminals_[lt] || lt, + line: Ve.yylineno, + loc: at, + expected: hn + }); + } + if (St[0] instanceof Array && St.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + mt + ', token: ' + lt + ); + switch (St[0]) { + case 1: + Ae.push(lt), + Me.push(Ve.yytext), + ye.push(Ve.yylloc), + Ae.push(St[1]), + (lt = null), + It + ? ((lt = It), (It = null)) + : ((gt = Ve.yyleng), + (ze = Ve.yytext), + (Ze = Ve.yylineno), + (at = Ve.yylloc), + yt > 0 && yt--); + break; + case 2: + if ( + ((Er = this.productions_[St[1]][1]), + (jt.$ = Me[Me.length - Er]), + (jt._$ = { + first_line: ye[ye.length - (Er || 1)].first_line, + last_line: ye[ye.length - 1].last_line, + first_column: ye[ye.length - (Er || 1)].first_column, + last_column: ye[ye.length - 1].last_column + }), + xt && + (jt._$.range = [ + ye[ye.length - (Er || 1)].range[0], + ye[ye.length - 1].range[1] + ]), + (xn = this.performAction.apply( + jt, + [ze, gt, Ze, je.yy, St[1], Me, ye].concat(Je) + )), + typeof xn < 'u') + ) + return xn; + Er && + ((Ae = Ae.slice(0, -1 * Er * 2)), + (Me = Me.slice(0, -1 * Er)), + (ye = ye.slice(0, -1 * Er))), + Ae.push(this.productions_[St[1]][0]), + Me.push(jt.$), + ye.push(jt._$), + (Kn = He[Ae[Ae.length - 2]][Ae[Ae.length - 1]]), + Ae.push(Kn); + break; + case 3: + return !0; + } + } + return !0; + }, 'parse') + }, + ne = (function () { + var we = { + EOF: 1, + parseError: o(function (Ce, Ae) { + if (this.yy.parser) this.yy.parser.parseError(Ce, Ae); + else throw new Error(Ce); + }, 'parseError'), + setInput: o(function (Te, Ce) { + return ( + (this.yy = Ce || this.yy || {}), + (this._input = Te), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, 'setInput'), + input: o(function () { + var Te = this._input[0]; + (this.yytext += Te), + this.yyleng++, + this.offset++, + (this.match += Te), + (this.matched += Te); + var Ce = Te.match(/(?:\r\n?|\n).*/g); + return ( + Ce ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + Te + ); + }, 'input'), + unput: o(function (Te) { + var Ce = Te.length, + Ae = Te.split(/(?:\r\n?|\n)/g); + (this._input = Te + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - Ce)), + (this.offset -= Ce); + var Ge = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + Ae.length - 1 && (this.yylineno -= Ae.length - 1); + var Me = this.yylloc.range; + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: Ae + ? (Ae.length === Ge.length ? this.yylloc.first_column : 0) + + Ge[Ge.length - Ae.length].length - + Ae[0].length + : this.yylloc.first_column - Ce + }), + this.options.ranges && (this.yylloc.range = [Me[0], Me[0] + this.yyleng - Ce]), + (this.yyleng = this.yytext.length), + this + ); + }, 'unput'), + more: o(function () { + return (this._more = !0), this; + }, 'more'), + reject: o(function () { + if (this.options.backtrack_lexer) this._backtrack = !0; + else + return this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + return this; + }, 'reject'), + less: o(function (Te) { + this.unput(this.match.slice(Te)); + }, 'less'), + pastInput: o(function () { + var Te = this.matched.substr(0, this.matched.length - this.match.length); + return (Te.length > 20 ? '...' : '') + Te.substr(-20).replace(/\n/g, ''); + }, 'pastInput'), + upcomingInput: o(function () { + var Te = this.match; + return ( + Te.length < 20 && (Te += this._input.substr(0, 20 - Te.length)), + (Te.substr(0, 20) + (Te.length > 20 ? '...' : '')).replace(/\n/g, '') + ); + }, 'upcomingInput'), + showPosition: o(function () { + var Te = this.pastInput(), + Ce = new Array(Te.length + 1).join('-'); + return ( + Te + + this.upcomingInput() + + ` +` + + Ce + + '^' + ); + }, 'showPosition'), + test_match: o(function (Te, Ce) { + var Ae, Ge, Me; + if ( + (this.options.backtrack_lexer && + ((Me = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }), + this.options.ranges && (Me.yylloc.range = this.yylloc.range.slice(0))), + (Ge = Te[0].match(/(?:\r\n?|\n).*/g)), + Ge && (this.yylineno += Ge.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: Ge + ? Ge[Ge.length - 1].length - Ge[Ge.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + Te[0].length + }), + (this.yytext += Te[0]), + (this.match += Te[0]), + (this.matches = Te), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(Te[0].length)), + (this.matched += Te[0]), + (Ae = this.performAction.call( + this, + this.yy, + this, + Ce, + this.conditionStack[this.conditionStack.length - 1] + )), + this.done && this._input && (this.done = !1), + Ae) + ) + return Ae; + if (this._backtrack) { + for (var ye in Me) this[ye] = Me[ye]; + return !1; + } + return !1; + }, 'test_match'), + next: o(function () { + if (this.done) return this.EOF; + this._input || (this.done = !0); + var Te, Ce, Ae, Ge; + this._more || ((this.yytext = ''), (this.match = '')); + for (var Me = this._currentRules(), ye = 0; ye < Me.length; ye++) + if ( + ((Ae = this._input.match(this.rules[Me[ye]])), + Ae && (!Ce || Ae[0].length > Ce[0].length)) + ) { + if (((Ce = Ae), (Ge = ye), this.options.backtrack_lexer)) { + if (((Te = this.test_match(Ae, Me[ye])), Te !== !1)) return Te; + if (this._backtrack) { + Ce = !1; + continue; + } else return !1; + } else if (!this.options.flex) break; + } + return Ce + ? ((Te = this.test_match(Ce, Me[Ge])), Te !== !1 ? Te : !1) + : this._input === '' + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, 'next'), + lex: o(function () { + var Ce = this.next(); + return Ce || this.lex(); + }, 'lex'), + begin: o(function (Ce) { + this.conditionStack.push(Ce); + }, 'begin'), + popState: o(function () { + var Ce = this.conditionStack.length - 1; + return Ce > 0 ? this.conditionStack.pop() : this.conditionStack[0]; + }, 'popState'), + _currentRules: o(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules; + }, '_currentRules'), + topState: o(function (Ce) { + return ( + (Ce = this.conditionStack.length - 1 - Math.abs(Ce || 0)), + Ce >= 0 ? this.conditionStack[Ce] : 'INITIAL' + ); + }, 'topState'), + pushState: o(function (Ce) { + this.begin(Ce); + }, 'pushState'), + stateStackSize: o(function () { + return this.conditionStack.length; + }, 'stateStackSize'), + options: { 'case-insensitive': !0 }, + performAction: o(function (Ce, Ae, Ge, Me) { + var ye = Me; + switch (Ge) { + case 0: + break; + case 1: + break; + case 2: + return 55; + case 3: + break; + case 4: + return this.begin('title'), 35; + break; + case 5: + return this.popState(), 'title_value'; + break; + case 6: + return this.begin('acc_title'), 37; + break; + case 7: + return this.popState(), 'acc_title_value'; + break; + case 8: + return this.begin('acc_descr'), 39; + break; + case 9: + return this.popState(), 'acc_descr_value'; + break; + case 10: + this.begin('acc_descr_multiline'); + break; + case 11: + this.popState(); + break; + case 12: + return 'acc_descr_multiline_value'; + case 13: + return 48; + case 14: + return 50; + case 15: + return 49; + case 16: + return 51; + case 17: + return 52; + case 18: + return 53; + case 19: + return 54; + case 20: + return 25; + case 21: + this.begin('md_string'); + break; + case 22: + return 'MD_STR'; + case 23: + this.popState(); + break; + case 24: + this.begin('string'); + break; + case 25: + this.popState(); + break; + case 26: + return 'STR'; + case 27: + this.begin('class_name'); + break; + case 28: + return this.popState(), 47; + break; + case 29: + return this.begin('point_start'), 44; + break; + case 30: + return this.begin('point_x'), 45; + break; + case 31: + this.popState(); + break; + case 32: + this.popState(), this.begin('point_y'); + break; + case 33: + return this.popState(), 46; + break; + case 34: + return 28; + case 35: + return 4; + case 36: + return 11; + case 37: + return 64; + case 38: + return 10; + case 39: + return 65; + case 40: + return 65; + case 41: + return 14; + case 42: + return 13; + case 43: + return 67; + case 44: + return 66; + case 45: + return 12; + case 46: + return 8; + case 47: + return 5; + case 48: + return 18; + case 49: + return 56; + case 50: + return 63; + case 51: + return 57; + } + }, 'anonymous'), + rules: [ + /^(?:%%(?!\{)[^\n]*)/i, + /^(?:[^\}]%%[^\n]*)/i, + /^(?:[\n\r]+)/i, + /^(?:%%[^\n]*)/i, + /^(?:title\b)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accTitle\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*\{\s*)/i, + /^(?:[\}])/i, + /^(?:[^\}]*)/i, + /^(?: *x-axis *)/i, + /^(?: *y-axis *)/i, + /^(?: *--+> *)/i, + /^(?: *quadrant-1 *)/i, + /^(?: *quadrant-2 *)/i, + /^(?: *quadrant-3 *)/i, + /^(?: *quadrant-4 *)/i, + /^(?:classDef\b)/i, + /^(?:["][`])/i, + /^(?:[^`"]+)/i, + /^(?:[`]["])/i, + /^(?:["])/i, + /^(?:["])/i, + /^(?:[^"]*)/i, + /^(?::::)/i, + /^(?:^\w+)/i, + /^(?:\s*:\s*\[\s*)/i, + /^(?:(1)|(0(.\d+)?))/i, + /^(?:\s*\] *)/i, + /^(?:\s*,\s*)/i, + /^(?:(1)|(0(.\d+)?))/i, + /^(?: *quadrantChart *)/i, + /^(?:[A-Za-z]+)/i, + /^(?::)/i, + /^(?:\+)/i, + /^(?:,)/i, + /^(?:=)/i, + /^(?:=)/i, + /^(?:\*)/i, + /^(?:#)/i, + /^(?:[\_])/i, + /^(?:\.)/i, + /^(?:&)/i, + /^(?:-)/i, + /^(?:[0-9]+)/i, + /^(?:\s)/i, + /^(?:;)/i, + /^(?:[!"#$%&'*+,-.`?\\_/])/i, + /^(?:$)/i + ], + conditions: { + class_name: { rules: [28], inclusive: !1 }, + point_y: { rules: [33], inclusive: !1 }, + point_x: { rules: [32], inclusive: !1 }, + point_start: { rules: [30, 31], inclusive: !1 }, + acc_descr_multiline: { rules: [11, 12], inclusive: !1 }, + acc_descr: { rules: [9], inclusive: !1 }, + acc_title: { rules: [7], inclusive: !1 }, + title: { rules: [5], inclusive: !1 }, + md_string: { rules: [22, 23], inclusive: !1 }, + string: { rules: [25, 26], inclusive: !1 }, + INITIAL: { + rules: [ + 0, 1, 2, 3, 4, 6, 8, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 24, 27, 29, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51 + ], + inclusive: !0 + } + } + }; + return we; + })(); + he.lexer = ne; + function ae() { + this.yy = {}; + } + return o(ae, 'Parser'), (ae.prototype = he), (he.Parser = ae), new ae(); + })(); + XI.parser = XI; + $ce = XI; + }); + var os, + uE, + Uce = R(() => { + 'use strict'; + Zt(); + sl(); + ut(); + jb(); + (os = hp()), + (uE = class { + constructor() { + this.classes = new Map(); + (this.config = this.getDefaultConfig()), + (this.themeConfig = this.getDefaultThemeConfig()), + (this.data = this.getDefaultData()); + } + static { + o(this, 'QuadrantBuilder'); + } + getDefaultData() { + return { + titleText: '', + quadrant1Text: '', + quadrant2Text: '', + quadrant3Text: '', + quadrant4Text: '', + xAxisLeftText: '', + xAxisRightText: '', + yAxisBottomText: '', + yAxisTopText: '', + points: [] + }; + } + getDefaultConfig() { + return { + showXAxis: !0, + showYAxis: !0, + showTitle: !0, + chartHeight: mr.quadrantChart?.chartWidth || 500, + chartWidth: mr.quadrantChart?.chartHeight || 500, + titlePadding: mr.quadrantChart?.titlePadding || 10, + titleFontSize: mr.quadrantChart?.titleFontSize || 20, + quadrantPadding: mr.quadrantChart?.quadrantPadding || 5, + xAxisLabelPadding: mr.quadrantChart?.xAxisLabelPadding || 5, + yAxisLabelPadding: mr.quadrantChart?.yAxisLabelPadding || 5, + xAxisLabelFontSize: mr.quadrantChart?.xAxisLabelFontSize || 16, + yAxisLabelFontSize: mr.quadrantChart?.yAxisLabelFontSize || 16, + quadrantLabelFontSize: mr.quadrantChart?.quadrantLabelFontSize || 16, + quadrantTextTopPadding: mr.quadrantChart?.quadrantTextTopPadding || 5, + pointTextPadding: mr.quadrantChart?.pointTextPadding || 5, + pointLabelFontSize: mr.quadrantChart?.pointLabelFontSize || 12, + pointRadius: mr.quadrantChart?.pointRadius || 5, + xAxisPosition: mr.quadrantChart?.xAxisPosition || 'top', + yAxisPosition: mr.quadrantChart?.yAxisPosition || 'left', + quadrantInternalBorderStrokeWidth: mr.quadrantChart?.quadrantInternalBorderStrokeWidth || 1, + quadrantExternalBorderStrokeWidth: mr.quadrantChart?.quadrantExternalBorderStrokeWidth || 2 + }; + } + getDefaultThemeConfig() { + return { + quadrant1Fill: os.quadrant1Fill, + quadrant2Fill: os.quadrant2Fill, + quadrant3Fill: os.quadrant3Fill, + quadrant4Fill: os.quadrant4Fill, + quadrant1TextFill: os.quadrant1TextFill, + quadrant2TextFill: os.quadrant2TextFill, + quadrant3TextFill: os.quadrant3TextFill, + quadrant4TextFill: os.quadrant4TextFill, + quadrantPointFill: os.quadrantPointFill, + quadrantPointTextFill: os.quadrantPointTextFill, + quadrantXAxisTextFill: os.quadrantXAxisTextFill, + quadrantYAxisTextFill: os.quadrantYAxisTextFill, + quadrantTitleFill: os.quadrantTitleFill, + quadrantInternalBorderStrokeFill: os.quadrantInternalBorderStrokeFill, + quadrantExternalBorderStrokeFill: os.quadrantExternalBorderStrokeFill + }; + } + clear() { + (this.config = this.getDefaultConfig()), + (this.themeConfig = this.getDefaultThemeConfig()), + (this.data = this.getDefaultData()), + (this.classes = new Map()), + V.info('clear called'); + } + setData(e) { + this.data = { ...this.data, ...e }; + } + addPoints(e) { + this.data.points = [...e, ...this.data.points]; + } + addClass(e, r) { + this.classes.set(e, r); + } + setConfig(e) { + V.trace('setConfig called with: ', e), (this.config = { ...this.config, ...e }); + } + setThemeConfig(e) { + V.trace('setThemeConfig called with: ', e), (this.themeConfig = { ...this.themeConfig, ...e }); + } + calculateSpace(e, r, n, i) { + let a = this.config.xAxisLabelPadding * 2 + this.config.xAxisLabelFontSize, + s = { + top: e === 'top' && r ? a : 0, + bottom: e === 'bottom' && r ? a : 0 + }, + l = this.config.yAxisLabelPadding * 2 + this.config.yAxisLabelFontSize, + u = { + left: this.config.yAxisPosition === 'left' && n ? l : 0, + right: this.config.yAxisPosition === 'right' && n ? l : 0 + }, + h = this.config.titleFontSize + this.config.titlePadding * 2, + f = { top: i ? h : 0 }, + d = this.config.quadrantPadding + u.left, + p = this.config.quadrantPadding + s.top + f.top, + m = this.config.chartWidth - this.config.quadrantPadding * 2 - u.left - u.right, + g = this.config.chartHeight - this.config.quadrantPadding * 2 - s.top - s.bottom - f.top, + y = m / 2, + v = g / 2; + return { + xAxisSpace: s, + yAxisSpace: u, + titleSpace: f, + quadrantSpace: { + quadrantLeft: d, + quadrantTop: p, + quadrantWidth: m, + quadrantHalfWidth: y, + quadrantHeight: g, + quadrantHalfHeight: v + } + }; + } + getAxisLabels(e, r, n, i) { + let { quadrantSpace: a, titleSpace: s } = i, + { + quadrantHalfHeight: l, + quadrantHeight: u, + quadrantLeft: h, + quadrantHalfWidth: f, + quadrantTop: d, + quadrantWidth: p + } = a, + m = !!this.data.xAxisRightText, + g = !!this.data.yAxisTopText, + y = []; + return ( + this.data.xAxisLeftText && + r && + y.push({ + text: this.data.xAxisLeftText, + fill: this.themeConfig.quadrantXAxisTextFill, + x: h + (m ? f / 2 : 0), + y: + e === 'top' + ? this.config.xAxisLabelPadding + s.top + : this.config.xAxisLabelPadding + d + u + this.config.quadrantPadding, + fontSize: this.config.xAxisLabelFontSize, + verticalPos: m ? 'center' : 'left', + horizontalPos: 'top', + rotation: 0 + }), + this.data.xAxisRightText && + r && + y.push({ + text: this.data.xAxisRightText, + fill: this.themeConfig.quadrantXAxisTextFill, + x: h + f + (m ? f / 2 : 0), + y: + e === 'top' + ? this.config.xAxisLabelPadding + s.top + : this.config.xAxisLabelPadding + d + u + this.config.quadrantPadding, + fontSize: this.config.xAxisLabelFontSize, + verticalPos: m ? 'center' : 'left', + horizontalPos: 'top', + rotation: 0 + }), + this.data.yAxisBottomText && + n && + y.push({ + text: this.data.yAxisBottomText, + fill: this.themeConfig.quadrantYAxisTextFill, + x: + this.config.yAxisPosition === 'left' + ? this.config.yAxisLabelPadding + : this.config.yAxisLabelPadding + h + p + this.config.quadrantPadding, + y: d + u - (g ? l / 2 : 0), + fontSize: this.config.yAxisLabelFontSize, + verticalPos: g ? 'center' : 'left', + horizontalPos: 'top', + rotation: -90 + }), + this.data.yAxisTopText && + n && + y.push({ + text: this.data.yAxisTopText, + fill: this.themeConfig.quadrantYAxisTextFill, + x: + this.config.yAxisPosition === 'left' + ? this.config.yAxisLabelPadding + : this.config.yAxisLabelPadding + h + p + this.config.quadrantPadding, + y: d + l - (g ? l / 2 : 0), + fontSize: this.config.yAxisLabelFontSize, + verticalPos: g ? 'center' : 'left', + horizontalPos: 'top', + rotation: -90 + }), + y + ); + } + getQuadrants(e) { + let { quadrantSpace: r } = e, + { quadrantHalfHeight: n, quadrantLeft: i, quadrantHalfWidth: a, quadrantTop: s } = r, + l = [ + { + text: { + text: this.data.quadrant1Text, + fill: this.themeConfig.quadrant1TextFill, + x: 0, + y: 0, + fontSize: this.config.quadrantLabelFontSize, + verticalPos: 'center', + horizontalPos: 'middle', + rotation: 0 + }, + x: i + a, + y: s, + width: a, + height: n, + fill: this.themeConfig.quadrant1Fill + }, + { + text: { + text: this.data.quadrant2Text, + fill: this.themeConfig.quadrant2TextFill, + x: 0, + y: 0, + fontSize: this.config.quadrantLabelFontSize, + verticalPos: 'center', + horizontalPos: 'middle', + rotation: 0 + }, + x: i, + y: s, + width: a, + height: n, + fill: this.themeConfig.quadrant2Fill + }, + { + text: { + text: this.data.quadrant3Text, + fill: this.themeConfig.quadrant3TextFill, + x: 0, + y: 0, + fontSize: this.config.quadrantLabelFontSize, + verticalPos: 'center', + horizontalPos: 'middle', + rotation: 0 + }, + x: i, + y: s + n, + width: a, + height: n, + fill: this.themeConfig.quadrant3Fill + }, + { + text: { + text: this.data.quadrant4Text, + fill: this.themeConfig.quadrant4TextFill, + x: 0, + y: 0, + fontSize: this.config.quadrantLabelFontSize, + verticalPos: 'center', + horizontalPos: 'middle', + rotation: 0 + }, + x: i + a, + y: s + n, + width: a, + height: n, + fill: this.themeConfig.quadrant4Fill + } + ]; + for (let u of l) + (u.text.x = u.x + u.width / 2), + this.data.points.length === 0 + ? ((u.text.y = u.y + u.height / 2), (u.text.horizontalPos = 'middle')) + : ((u.text.y = u.y + this.config.quadrantTextTopPadding), + (u.text.horizontalPos = 'top')); + return l; + } + getQuadrantPoints(e) { + let { quadrantSpace: r } = e, + { quadrantHeight: n, quadrantLeft: i, quadrantTop: a, quadrantWidth: s } = r, + l = gl() + .domain([0, 1]) + .range([i, s + i]), + u = gl() + .domain([0, 1]) + .range([n + a, a]); + return this.data.points.map((f) => { + let d = this.classes.get(f.className); + return ( + d && (f = { ...d, ...f }), + { + x: l(f.x), + y: u(f.y), + fill: f.color ?? this.themeConfig.quadrantPointFill, + radius: f.radius ?? this.config.pointRadius, + text: { + text: f.text, + fill: this.themeConfig.quadrantPointTextFill, + x: l(f.x), + y: u(f.y) + this.config.pointTextPadding, + verticalPos: 'center', + horizontalPos: 'top', + fontSize: this.config.pointLabelFontSize, + rotation: 0 + }, + strokeColor: f.strokeColor ?? this.themeConfig.quadrantPointFill, + strokeWidth: f.strokeWidth ?? '0px' + } + ); + }); + } + getBorders(e) { + let r = this.config.quadrantExternalBorderStrokeWidth / 2, + { quadrantSpace: n } = e, + { + quadrantHalfHeight: i, + quadrantHeight: a, + quadrantLeft: s, + quadrantHalfWidth: l, + quadrantTop: u, + quadrantWidth: h + } = n; + return [ + { + strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill, + strokeWidth: this.config.quadrantExternalBorderStrokeWidth, + x1: s - r, + y1: u, + x2: s + h + r, + y2: u + }, + { + strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill, + strokeWidth: this.config.quadrantExternalBorderStrokeWidth, + x1: s + h, + y1: u + r, + x2: s + h, + y2: u + a - r + }, + { + strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill, + strokeWidth: this.config.quadrantExternalBorderStrokeWidth, + x1: s - r, + y1: u + a, + x2: s + h + r, + y2: u + a + }, + { + strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill, + strokeWidth: this.config.quadrantExternalBorderStrokeWidth, + x1: s, + y1: u + r, + x2: s, + y2: u + a - r + }, + { + strokeFill: this.themeConfig.quadrantInternalBorderStrokeFill, + strokeWidth: this.config.quadrantInternalBorderStrokeWidth, + x1: s + l, + y1: u + r, + x2: s + l, + y2: u + a - r + }, + { + strokeFill: this.themeConfig.quadrantInternalBorderStrokeFill, + strokeWidth: this.config.quadrantInternalBorderStrokeWidth, + x1: s + r, + y1: u + i, + x2: s + h - r, + y2: u + i + } + ]; + } + getTitle(e) { + if (e) + return { + text: this.data.titleText, + fill: this.themeConfig.quadrantTitleFill, + fontSize: this.config.titleFontSize, + horizontalPos: 'top', + verticalPos: 'center', + rotation: 0, + y: this.config.titlePadding, + x: this.config.chartWidth / 2 + }; + } + build() { + let e = this.config.showXAxis && !!(this.data.xAxisLeftText || this.data.xAxisRightText), + r = this.config.showYAxis && !!(this.data.yAxisTopText || this.data.yAxisBottomText), + n = this.config.showTitle && !!this.data.titleText, + i = this.data.points.length > 0 ? 'bottom' : this.config.xAxisPosition, + a = this.calculateSpace(i, e, r, n); + return { + points: this.getQuadrantPoints(a), + quadrants: this.getQuadrants(a), + axisLabels: this.getAxisLabels(i, e, r, a), + borderLines: this.getBorders(a), + title: this.getTitle(n) + }; + } + }); + }); + function jI(t) { + return !/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(t); + } + function Hce(t) { + return !/^\d+$/.test(t); + } + function Yce(t) { + return !/^\d+px$/.test(t); + } + var S0, + Wce = R(() => { + 'use strict'; + S0 = class extends Error { + static { + o(this, 'InvalidStyleError'); + } + constructor(e, r, n) { + super(`value for ${e} ${r} is invalid, please use a valid ${n}`), (this.name = 'InvalidStyleError'); + } + }; + o(jI, 'validateHexCode'); + o(Hce, 'validateNumber'); + o(Yce, 'validateSizeInPixels'); + }); + function Wu(t) { + return qr(t.trim(), YFe); + } + function WFe(t) { + wa.setData({ quadrant1Text: Wu(t.text) }); + } + function qFe(t) { + wa.setData({ quadrant2Text: Wu(t.text) }); + } + function XFe(t) { + wa.setData({ quadrant3Text: Wu(t.text) }); + } + function jFe(t) { + wa.setData({ quadrant4Text: Wu(t.text) }); + } + function KFe(t) { + wa.setData({ xAxisLeftText: Wu(t.text) }); + } + function QFe(t) { + wa.setData({ xAxisRightText: Wu(t.text) }); + } + function ZFe(t) { + wa.setData({ yAxisTopText: Wu(t.text) }); + } + function JFe(t) { + wa.setData({ yAxisBottomText: Wu(t.text) }); + } + function KI(t) { + let e = {}; + for (let r of t) { + let [n, i] = r.trim().split(/\s*:\s*/); + if (n === 'radius') { + if (Hce(i)) throw new S0(n, i, 'number'); + e.radius = parseInt(i); + } else if (n === 'color') { + if (jI(i)) throw new S0(n, i, 'hex code'); + e.color = i; + } else if (n === 'stroke-color') { + if (jI(i)) throw new S0(n, i, 'hex code'); + e.strokeColor = i; + } else if (n === 'stroke-width') { + if (Yce(i)) throw new S0(n, i, 'number of pixels (eg. 10px)'); + e.strokeWidth = i; + } else throw new Error(`style named ${n} is not supported.`); + } + return e; + } + function eze(t, e, r, n, i) { + let a = KI(i); + wa.addPoints([{ x: r, y: n, text: Wu(t.text), className: e, ...a }]); + } + function tze(t, e) { + wa.addClass(t, KI(e)); + } + function rze(t) { + wa.setConfig({ chartWidth: t }); + } + function nze(t) { + wa.setConfig({ chartHeight: t }); + } + function ize() { + let t = de(), + { themeVariables: e, quadrantChart: r } = t; + return ( + r && wa.setConfig(r), + wa.setThemeConfig({ + quadrant1Fill: e.quadrant1Fill, + quadrant2Fill: e.quadrant2Fill, + quadrant3Fill: e.quadrant3Fill, + quadrant4Fill: e.quadrant4Fill, + quadrant1TextFill: e.quadrant1TextFill, + quadrant2TextFill: e.quadrant2TextFill, + quadrant3TextFill: e.quadrant3TextFill, + quadrant4TextFill: e.quadrant4TextFill, + quadrantPointFill: e.quadrantPointFill, + quadrantPointTextFill: e.quadrantPointTextFill, + quadrantXAxisTextFill: e.quadrantXAxisTextFill, + quadrantYAxisTextFill: e.quadrantYAxisTextFill, + quadrantExternalBorderStrokeFill: e.quadrantExternalBorderStrokeFill, + quadrantInternalBorderStrokeFill: e.quadrantInternalBorderStrokeFill, + quadrantTitleFill: e.quadrantTitleFill + }), + wa.setData({ titleText: Xr() }), + wa.build() + ); + } + var YFe, + wa, + aze, + qce, + Xce = R(() => { + 'use strict'; + _t(); + rr(); + bi(); + Uce(); + Wce(); + YFe = de(); + o(Wu, 'textSanitizer'); + wa = new uE(); + o(WFe, 'setQuadrant1Text'); + o(qFe, 'setQuadrant2Text'); + o(XFe, 'setQuadrant3Text'); + o(jFe, 'setQuadrant4Text'); + o(KFe, 'setXAxisLeftText'); + o(QFe, 'setXAxisRightText'); + o(ZFe, 'setYAxisTopText'); + o(JFe, 'setYAxisBottomText'); + o(KI, 'parseStyles'); + o(eze, 'addPoint'); + o(tze, 'addClass'); + o(rze, 'setWidth'); + o(nze, 'setHeight'); + o(ize, 'getQuadrantData'); + (aze = o(function () { + wa.clear(), vr(); + }, 'clear')), + (qce = { + setWidth: rze, + setHeight: nze, + setQuadrant1Text: WFe, + setQuadrant2Text: qFe, + setQuadrant3Text: XFe, + setQuadrant4Text: jFe, + setXAxisLeftText: KFe, + setXAxisRightText: QFe, + setYAxisTopText: ZFe, + setYAxisBottomText: JFe, + parseStyles: KI, + addPoint: eze, + addClass: tze, + getQuadrantData: ize, + clear: aze, + setAccTitle: kr, + getAccTitle: Ar, + setDiagramTitle: nn, + getDiagramTitle: Xr, + getAccDescription: Lr, + setAccDescription: _r + }); + }); + var sze, + jce, + Kce = R(() => { + 'use strict'; + Zt(); + _t(); + ut(); + Yn(); + (sze = o((t, e, r, n) => { + function i(A) { + return A === 'top' ? 'hanging' : 'middle'; + } + o(i, 'getDominantBaseLine'); + function a(A) { + return A === 'left' ? 'start' : 'middle'; + } + o(a, 'getTextAnchor'); + function s(A) { + return `translate(${A.x}, ${A.y}) rotate(${A.rotation || 0})`; + } + o(s, 'getTransformation'); + let l = de(); + V.debug( + `Rendering quadrant chart +` + t + ); + let u = l.securityLevel, + h; + u === 'sandbox' && (h = $e('#i' + e)); + let d = (u === 'sandbox' ? $e(h.nodes()[0].contentDocument.body) : $e('body')).select(`[id="${e}"]`), + p = d.append('g').attr('class', 'main'), + m = l.quadrantChart?.chartWidth ?? 500, + g = l.quadrantChart?.chartHeight ?? 500; + Sr(d, g, m, l.quadrantChart?.useMaxWidth ?? !0), + d.attr('viewBox', '0 0 ' + m + ' ' + g), + n.db.setHeight(g), + n.db.setWidth(m); + let y = n.db.getQuadrantData(), + v = p.append('g').attr('class', 'quadrants'), + x = p.append('g').attr('class', 'border'), + b = p.append('g').attr('class', 'data-points'), + w = p.append('g').attr('class', 'labels'), + S = p.append('g').attr('class', 'title'); + y.title && + S.append('text') + .attr('x', 0) + .attr('y', 0) + .attr('fill', y.title.fill) + .attr('font-size', y.title.fontSize) + .attr('dominant-baseline', i(y.title.horizontalPos)) + .attr('text-anchor', a(y.title.verticalPos)) + .attr('transform', s(y.title)) + .text(y.title.text), + y.borderLines && + x + .selectAll('line') + .data(y.borderLines) + .enter() + .append('line') + .attr('x1', (A) => A.x1) + .attr('y1', (A) => A.y1) + .attr('x2', (A) => A.x2) + .attr('y2', (A) => A.y2) + .style('stroke', (A) => A.strokeFill) + .style('stroke-width', (A) => A.strokeWidth); + let T = v.selectAll('g.quadrant').data(y.quadrants).enter().append('g').attr('class', 'quadrant'); + T.append('rect') + .attr('x', (A) => A.x) + .attr('y', (A) => A.y) + .attr('width', (A) => A.width) + .attr('height', (A) => A.height) + .attr('fill', (A) => A.fill), + T.append('text') + .attr('x', 0) + .attr('y', 0) + .attr('fill', (A) => A.text.fill) + .attr('font-size', (A) => A.text.fontSize) + .attr('dominant-baseline', (A) => i(A.text.horizontalPos)) + .attr('text-anchor', (A) => a(A.text.verticalPos)) + .attr('transform', (A) => s(A.text)) + .text((A) => A.text.text), + w + .selectAll('g.label') + .data(y.axisLabels) + .enter() + .append('g') + .attr('class', 'label') + .append('text') + .attr('x', 0) + .attr('y', 0) + .text((A) => A.text) + .attr('fill', (A) => A.fill) + .attr('font-size', (A) => A.fontSize) + .attr('dominant-baseline', (A) => i(A.horizontalPos)) + .attr('text-anchor', (A) => a(A.verticalPos)) + .attr('transform', (A) => s(A)); + let _ = b.selectAll('g.data-point').data(y.points).enter().append('g').attr('class', 'data-point'); + _.append('circle') + .attr('cx', (A) => A.x) + .attr('cy', (A) => A.y) + .attr('r', (A) => A.radius) + .attr('fill', (A) => A.fill) + .attr('stroke', (A) => A.strokeColor) + .attr('stroke-width', (A) => A.strokeWidth), + _.append('text') + .attr('x', 0) + .attr('y', 0) + .text((A) => A.text.text) + .attr('fill', (A) => A.text.fill) + .attr('font-size', (A) => A.text.fontSize) + .attr('dominant-baseline', (A) => i(A.text.horizontalPos)) + .attr('text-anchor', (A) => a(A.text.verticalPos)) + .attr('transform', (A) => s(A.text)); + }, 'draw')), + (jce = { draw: sze }); + }); + var Qce = {}; + hr(Qce, { diagram: () => oze }); + var oze, + Zce = R(() => { + 'use strict'; + Vce(); + Xce(); + Kce(); + oze = { + parser: $ce, + db: qce, + renderer: jce, + styles: o(() => '', 'styles') + }; + }); + var QI, + tue, + rue = R(() => { + 'use strict'; + QI = (function () { + var t = o(function (O, D, P, F) { + for (P = P || {}, F = O.length; F--; P[O[F]] = D); + return P; + }, 'o'), + e = [1, 10, 12, 14, 16, 18, 19, 21, 23], + r = [2, 6], + n = [1, 3], + i = [1, 5], + a = [1, 6], + s = [1, 7], + l = [1, 5, 10, 12, 14, 16, 18, 19, 21, 23, 34, 35, 36], + u = [1, 25], + h = [1, 26], + f = [1, 28], + d = [1, 29], + p = [1, 30], + m = [1, 31], + g = [1, 32], + y = [1, 33], + v = [1, 34], + x = [1, 35], + b = [1, 36], + w = [1, 37], + S = [1, 43], + T = [1, 42], + E = [1, 47], + _ = [1, 50], + A = [1, 10, 12, 14, 16, 18, 19, 21, 23, 34, 35, 36], + L = [1, 10, 12, 14, 16, 18, 19, 21, 23, 24, 26, 27, 28, 34, 35, 36], + M = [ + 1, 10, 12, 14, 16, 18, 19, 21, 23, 24, 26, 27, 28, 34, 35, 36, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50 + ], + N = [1, 64], + k = { + trace: o(function () {}, 'trace'), + yy: {}, + symbols_: { + error: 2, + start: 3, + eol: 4, + XYCHART: 5, + chartConfig: 6, + document: 7, + CHART_ORIENTATION: 8, + statement: 9, + title: 10, + text: 11, + X_AXIS: 12, + parseXAxis: 13, + Y_AXIS: 14, + parseYAxis: 15, + LINE: 16, + plotData: 17, + BAR: 18, + acc_title: 19, + acc_title_value: 20, + acc_descr: 21, + acc_descr_value: 22, + acc_descr_multiline_value: 23, + SQUARE_BRACES_START: 24, + commaSeparatedNumbers: 25, + SQUARE_BRACES_END: 26, + NUMBER_WITH_DECIMAL: 27, + COMMA: 28, + xAxisData: 29, + bandData: 30, + ARROW_DELIMITER: 31, + commaSeparatedTexts: 32, + yAxisData: 33, + NEWLINE: 34, + SEMI: 35, + EOF: 36, + alphaNum: 37, + STR: 38, + MD_STR: 39, + alphaNumToken: 40, + AMP: 41, + NUM: 42, + ALPHA: 43, + PLUS: 44, + EQUALS: 45, + MULT: 46, + DOT: 47, + BRKT: 48, + MINUS: 49, + UNDERSCORE: 50, + $accept: 0, + $end: 1 + }, + terminals_: { + 2: 'error', + 5: 'XYCHART', + 8: 'CHART_ORIENTATION', + 10: 'title', + 12: 'X_AXIS', + 14: 'Y_AXIS', + 16: 'LINE', + 18: 'BAR', + 19: 'acc_title', + 20: 'acc_title_value', + 21: 'acc_descr', + 22: 'acc_descr_value', + 23: 'acc_descr_multiline_value', + 24: 'SQUARE_BRACES_START', + 26: 'SQUARE_BRACES_END', + 27: 'NUMBER_WITH_DECIMAL', + 28: 'COMMA', + 31: 'ARROW_DELIMITER', + 34: 'NEWLINE', + 35: 'SEMI', + 36: 'EOF', + 38: 'STR', + 39: 'MD_STR', + 41: 'AMP', + 42: 'NUM', + 43: 'ALPHA', + 44: 'PLUS', + 45: 'EQUALS', + 46: 'MULT', + 47: 'DOT', + 48: 'BRKT', + 49: 'MINUS', + 50: 'UNDERSCORE' + }, + productions_: [ + 0, + [3, 2], + [3, 3], + [3, 2], + [3, 1], + [6, 1], + [7, 0], + [7, 2], + [9, 2], + [9, 2], + [9, 2], + [9, 2], + [9, 2], + [9, 3], + [9, 2], + [9, 3], + [9, 2], + [9, 2], + [9, 1], + [17, 3], + [25, 3], + [25, 1], + [13, 1], + [13, 2], + [13, 1], + [29, 1], + [29, 3], + [30, 3], + [32, 3], + [32, 1], + [15, 1], + [15, 2], + [15, 1], + [33, 3], + [4, 1], + [4, 1], + [4, 1], + [11, 1], + [11, 1], + [11, 1], + [37, 1], + [37, 2], + [40, 1], + [40, 1], + [40, 1], + [40, 1], + [40, 1], + [40, 1], + [40, 1], + [40, 1], + [40, 1], + [40, 1] + ], + performAction: o(function (D, P, F, B, $, z, Y) { + var Q = z.length - 1; + switch ($) { + case 5: + B.setOrientation(z[Q]); + break; + case 9: + B.setDiagramTitle(z[Q].text.trim()); + break; + case 12: + B.setLineData({ text: '', type: 'text' }, z[Q]); + break; + case 13: + B.setLineData(z[Q - 1], z[Q]); + break; + case 14: + B.setBarData({ text: '', type: 'text' }, z[Q]); + break; + case 15: + B.setBarData(z[Q - 1], z[Q]); + break; + case 16: + (this.$ = z[Q].trim()), B.setAccTitle(this.$); + break; + case 17: + case 18: + (this.$ = z[Q].trim()), B.setAccDescription(this.$); + break; + case 19: + this.$ = z[Q - 1]; + break; + case 20: + this.$ = [Number(z[Q - 2]), ...z[Q]]; + break; + case 21: + this.$ = [Number(z[Q])]; + break; + case 22: + B.setXAxisTitle(z[Q]); + break; + case 23: + B.setXAxisTitle(z[Q - 1]); + break; + case 24: + B.setXAxisTitle({ type: 'text', text: '' }); + break; + case 25: + B.setXAxisBand(z[Q]); + break; + case 26: + B.setXAxisRangeData(Number(z[Q - 2]), Number(z[Q])); + break; + case 27: + this.$ = z[Q - 1]; + break; + case 28: + this.$ = [z[Q - 2], ...z[Q]]; + break; + case 29: + this.$ = [z[Q]]; + break; + case 30: + B.setYAxisTitle(z[Q]); + break; + case 31: + B.setYAxisTitle(z[Q - 1]); + break; + case 32: + B.setYAxisTitle({ type: 'text', text: '' }); + break; + case 33: + B.setYAxisRangeData(Number(z[Q - 2]), Number(z[Q])); + break; + case 37: + this.$ = { text: z[Q], type: 'text' }; + break; + case 38: + this.$ = { text: z[Q], type: 'text' }; + break; + case 39: + this.$ = { text: z[Q], type: 'markdown' }; + break; + case 40: + this.$ = z[Q]; + break; + case 41: + this.$ = z[Q - 1] + '' + z[Q]; + break; + } + }, 'anonymous'), + table: [ + t(e, r, { 3: 1, 4: 2, 7: 4, 5: n, 34: i, 35: a, 36: s }), + { 1: [3] }, + t(e, r, { 4: 2, 7: 4, 3: 8, 5: n, 34: i, 35: a, 36: s }), + t(e, r, { + 4: 2, + 7: 4, + 6: 9, + 3: 10, + 5: n, + 8: [1, 11], + 34: i, + 35: a, + 36: s + }), + { + 1: [2, 4], + 9: 12, + 10: [1, 13], + 12: [1, 14], + 14: [1, 15], + 16: [1, 16], + 18: [1, 17], + 19: [1, 18], + 21: [1, 19], + 23: [1, 20] + }, + t(l, [2, 34]), + t(l, [2, 35]), + t(l, [2, 36]), + { 1: [2, 1] }, + t(e, r, { 4: 2, 7: 4, 3: 21, 5: n, 34: i, 35: a, 36: s }), + { 1: [2, 3] }, + t(l, [2, 5]), + t(e, [2, 7], { 4: 22, 34: i, 35: a, 36: s }), + { + 11: 23, + 37: 24, + 38: u, + 39: h, + 40: 27, + 41: f, + 42: d, + 43: p, + 44: m, + 45: g, + 46: y, + 47: v, + 48: x, + 49: b, + 50: w + }, + { + 11: 39, + 13: 38, + 24: S, + 27: T, + 29: 40, + 30: 41, + 37: 24, + 38: u, + 39: h, + 40: 27, + 41: f, + 42: d, + 43: p, + 44: m, + 45: g, + 46: y, + 47: v, + 48: x, + 49: b, + 50: w + }, + { + 11: 45, + 15: 44, + 27: E, + 33: 46, + 37: 24, + 38: u, + 39: h, + 40: 27, + 41: f, + 42: d, + 43: p, + 44: m, + 45: g, + 46: y, + 47: v, + 48: x, + 49: b, + 50: w + }, + { + 11: 49, + 17: 48, + 24: _, + 37: 24, + 38: u, + 39: h, + 40: 27, + 41: f, + 42: d, + 43: p, + 44: m, + 45: g, + 46: y, + 47: v, + 48: x, + 49: b, + 50: w + }, + { + 11: 52, + 17: 51, + 24: _, + 37: 24, + 38: u, + 39: h, + 40: 27, + 41: f, + 42: d, + 43: p, + 44: m, + 45: g, + 46: y, + 47: v, + 48: x, + 49: b, + 50: w + }, + { 20: [1, 53] }, + { 22: [1, 54] }, + t(A, [2, 18]), + { 1: [2, 2] }, + t(A, [2, 8]), + t(A, [2, 9]), + t(L, [2, 37], { + 40: 55, + 41: f, + 42: d, + 43: p, + 44: m, + 45: g, + 46: y, + 47: v, + 48: x, + 49: b, + 50: w + }), + t(L, [2, 38]), + t(L, [2, 39]), + t(M, [2, 40]), + t(M, [2, 42]), + t(M, [2, 43]), + t(M, [2, 44]), + t(M, [2, 45]), + t(M, [2, 46]), + t(M, [2, 47]), + t(M, [2, 48]), + t(M, [2, 49]), + t(M, [2, 50]), + t(M, [2, 51]), + t(A, [2, 10]), + t(A, [2, 22], { 30: 41, 29: 56, 24: S, 27: T }), + t(A, [2, 24]), + t(A, [2, 25]), + { 31: [1, 57] }, + { + 11: 59, + 32: 58, + 37: 24, + 38: u, + 39: h, + 40: 27, + 41: f, + 42: d, + 43: p, + 44: m, + 45: g, + 46: y, + 47: v, + 48: x, + 49: b, + 50: w + }, + t(A, [2, 11]), + t(A, [2, 30], { 33: 60, 27: E }), + t(A, [2, 32]), + { 31: [1, 61] }, + t(A, [2, 12]), + { 17: 62, 24: _ }, + { 25: 63, 27: N }, + t(A, [2, 14]), + { 17: 65, 24: _ }, + t(A, [2, 16]), + t(A, [2, 17]), + t(M, [2, 41]), + t(A, [2, 23]), + { 27: [1, 66] }, + { 26: [1, 67] }, + { 26: [2, 29], 28: [1, 68] }, + t(A, [2, 31]), + { 27: [1, 69] }, + t(A, [2, 13]), + { 26: [1, 70] }, + { 26: [2, 21], 28: [1, 71] }, + t(A, [2, 15]), + t(A, [2, 26]), + t(A, [2, 27]), + { + 11: 59, + 32: 72, + 37: 24, + 38: u, + 39: h, + 40: 27, + 41: f, + 42: d, + 43: p, + 44: m, + 45: g, + 46: y, + 47: v, + 48: x, + 49: b, + 50: w + }, + t(A, [2, 33]), + t(A, [2, 19]), + { 25: 73, 27: N }, + { 26: [2, 28] }, + { 26: [2, 20] } + ], + defaultActions: { + 8: [2, 1], + 10: [2, 3], + 21: [2, 2], + 72: [2, 28], + 73: [2, 20] + }, + parseError: o(function (D, P) { + if (P.recoverable) this.trace(D); + else { + var F = new Error(D); + throw ((F.hash = P), F); + } + }, 'parseError'), + parse: o(function (D) { + var P = this, + F = [0], + B = [], + $ = [null], + z = [], + Y = this.table, + Q = '', + X = 0, + ie = 0, + j = 0, + J = 2, + Z = 1, + H = z.slice.call(arguments, 1), + q = Object.create(this.lexer), + K = { yy: {} }; + for (var se in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, se) && (K.yy[se] = this.yy[se]); + q.setInput(D, K.yy), + (K.yy.lexer = q), + (K.yy.parser = this), + typeof q.yylloc > 'u' && (q.yylloc = {}); + var ce = q.yylloc; + z.push(ce); + var ue = q.options && q.options.ranges; + typeof K.yy.parseError == 'function' + ? (this.parseError = K.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError); + function te(he) { + (F.length = F.length - 2 * he), ($.length = $.length - he), (z.length = z.length - he); + } + o(te, 'popStack'); + function De() { + var he; + return ( + (he = B.pop() || q.lex() || Z), + typeof he != 'number' && + (he instanceof Array && ((B = he), (he = B.pop())), + (he = P.symbols_[he] || he)), + he + ); + } + o(De, 'lex'); + for (var oe, ke, Ie, Se, Ue, Pe, _e = {}, me, W, fe, ge; ; ) { + if ( + ((Ie = F[F.length - 1]), + this.defaultActions[Ie] + ? (Se = this.defaultActions[Ie]) + : ((oe === null || typeof oe > 'u') && (oe = De()), (Se = Y[Ie] && Y[Ie][oe])), + typeof Se > 'u' || !Se.length || !Se[0]) + ) { + var re = ''; + ge = []; + for (me in Y[Ie]) + this.terminals_[me] && me > J && ge.push("'" + this.terminals_[me] + "'"); + q.showPosition + ? (re = + 'Parse error on line ' + + (X + 1) + + `: +` + + q.showPosition() + + ` +Expecting ` + + ge.join(', ') + + ", got '" + + (this.terminals_[oe] || oe) + + "'") + : (re = + 'Parse error on line ' + + (X + 1) + + ': Unexpected ' + + (oe == Z ? 'end of input' : "'" + (this.terminals_[oe] || oe) + "'")), + this.parseError(re, { + text: q.match, + token: this.terminals_[oe] || oe, + line: q.yylineno, + loc: ce, + expected: ge + }); + } + if (Se[0] instanceof Array && Se.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + Ie + ', token: ' + oe + ); + switch (Se[0]) { + case 1: + F.push(oe), + $.push(q.yytext), + z.push(q.yylloc), + F.push(Se[1]), + (oe = null), + ke + ? ((oe = ke), (ke = null)) + : ((ie = q.yyleng), + (Q = q.yytext), + (X = q.yylineno), + (ce = q.yylloc), + j > 0 && j--); + break; + case 2: + if ( + ((W = this.productions_[Se[1]][1]), + (_e.$ = $[$.length - W]), + (_e._$ = { + first_line: z[z.length - (W || 1)].first_line, + last_line: z[z.length - 1].last_line, + first_column: z[z.length - (W || 1)].first_column, + last_column: z[z.length - 1].last_column + }), + ue && + (_e._$.range = [ + z[z.length - (W || 1)].range[0], + z[z.length - 1].range[1] + ]), + (Pe = this.performAction.apply( + _e, + [Q, ie, X, K.yy, Se[1], $, z].concat(H) + )), + typeof Pe < 'u') + ) + return Pe; + W && + ((F = F.slice(0, -1 * W * 2)), + ($ = $.slice(0, -1 * W)), + (z = z.slice(0, -1 * W))), + F.push(this.productions_[Se[1]][0]), + $.push(_e.$), + z.push(_e._$), + (fe = Y[F[F.length - 2]][F[F.length - 1]]), + F.push(fe); + break; + case 3: + return !0; + } + } + return !0; + }, 'parse') + }, + I = (function () { + var O = { + EOF: 1, + parseError: o(function (P, F) { + if (this.yy.parser) this.yy.parser.parseError(P, F); + else throw new Error(P); + }, 'parseError'), + setInput: o(function (D, P) { + return ( + (this.yy = P || this.yy || {}), + (this._input = D), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, 'setInput'), + input: o(function () { + var D = this._input[0]; + (this.yytext += D), + this.yyleng++, + this.offset++, + (this.match += D), + (this.matched += D); + var P = D.match(/(?:\r\n?|\n).*/g); + return ( + P ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + D + ); + }, 'input'), + unput: o(function (D) { + var P = D.length, + F = D.split(/(?:\r\n?|\n)/g); + (this._input = D + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - P)), + (this.offset -= P); + var B = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + F.length - 1 && (this.yylineno -= F.length - 1); + var $ = this.yylloc.range; + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: F + ? (F.length === B.length ? this.yylloc.first_column : 0) + + B[B.length - F.length].length - + F[0].length + : this.yylloc.first_column - P + }), + this.options.ranges && (this.yylloc.range = [$[0], $[0] + this.yyleng - P]), + (this.yyleng = this.yytext.length), + this + ); + }, 'unput'), + more: o(function () { + return (this._more = !0), this; + }, 'more'), + reject: o(function () { + if (this.options.backtrack_lexer) this._backtrack = !0; + else + return this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + return this; + }, 'reject'), + less: o(function (D) { + this.unput(this.match.slice(D)); + }, 'less'), + pastInput: o(function () { + var D = this.matched.substr(0, this.matched.length - this.match.length); + return (D.length > 20 ? '...' : '') + D.substr(-20).replace(/\n/g, ''); + }, 'pastInput'), + upcomingInput: o(function () { + var D = this.match; + return ( + D.length < 20 && (D += this._input.substr(0, 20 - D.length)), + (D.substr(0, 20) + (D.length > 20 ? '...' : '')).replace(/\n/g, '') + ); + }, 'upcomingInput'), + showPosition: o(function () { + var D = this.pastInput(), + P = new Array(D.length + 1).join('-'); + return ( + D + + this.upcomingInput() + + ` +` + + P + + '^' + ); + }, 'showPosition'), + test_match: o(function (D, P) { + var F, B, $; + if ( + (this.options.backtrack_lexer && + (($ = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }), + this.options.ranges && ($.yylloc.range = this.yylloc.range.slice(0))), + (B = D[0].match(/(?:\r\n?|\n).*/g)), + B && (this.yylineno += B.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: B + ? B[B.length - 1].length - B[B.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + D[0].length + }), + (this.yytext += D[0]), + (this.match += D[0]), + (this.matches = D), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(D[0].length)), + (this.matched += D[0]), + (F = this.performAction.call( + this, + this.yy, + this, + P, + this.conditionStack[this.conditionStack.length - 1] + )), + this.done && this._input && (this.done = !1), + F) + ) + return F; + if (this._backtrack) { + for (var z in $) this[z] = $[z]; + return !1; + } + return !1; + }, 'test_match'), + next: o(function () { + if (this.done) return this.EOF; + this._input || (this.done = !0); + var D, P, F, B; + this._more || ((this.yytext = ''), (this.match = '')); + for (var $ = this._currentRules(), z = 0; z < $.length; z++) + if ( + ((F = this._input.match(this.rules[$[z]])), + F && (!P || F[0].length > P[0].length)) + ) { + if (((P = F), (B = z), this.options.backtrack_lexer)) { + if (((D = this.test_match(F, $[z])), D !== !1)) return D; + if (this._backtrack) { + P = !1; + continue; + } else return !1; + } else if (!this.options.flex) break; + } + return P + ? ((D = this.test_match(P, $[B])), D !== !1 ? D : !1) + : this._input === '' + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, 'next'), + lex: o(function () { + var P = this.next(); + return P || this.lex(); + }, 'lex'), + begin: o(function (P) { + this.conditionStack.push(P); + }, 'begin'), + popState: o(function () { + var P = this.conditionStack.length - 1; + return P > 0 ? this.conditionStack.pop() : this.conditionStack[0]; + }, 'popState'), + _currentRules: o(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules; + }, '_currentRules'), + topState: o(function (P) { + return ( + (P = this.conditionStack.length - 1 - Math.abs(P || 0)), + P >= 0 ? this.conditionStack[P] : 'INITIAL' + ); + }, 'topState'), + pushState: o(function (P) { + this.begin(P); + }, 'pushState'), + stateStackSize: o(function () { + return this.conditionStack.length; + }, 'stateStackSize'), + options: { 'case-insensitive': !0 }, + performAction: o(function (P, F, B, $) { + var z = $; + switch (B) { + case 0: + break; + case 1: + break; + case 2: + return this.popState(), 34; + break; + case 3: + return this.popState(), 34; + break; + case 4: + return 34; + case 5: + break; + case 6: + return 10; + case 7: + return this.pushState('acc_title'), 19; + break; + case 8: + return this.popState(), 'acc_title_value'; + break; + case 9: + return this.pushState('acc_descr'), 21; + break; + case 10: + return this.popState(), 'acc_descr_value'; + break; + case 11: + this.pushState('acc_descr_multiline'); + break; + case 12: + this.popState(); + break; + case 13: + return 'acc_descr_multiline_value'; + case 14: + return 5; + case 15: + return 8; + case 16: + return this.pushState('axis_data'), 'X_AXIS'; + break; + case 17: + return this.pushState('axis_data'), 'Y_AXIS'; + break; + case 18: + return this.pushState('axis_band_data'), 24; + break; + case 19: + return 31; + case 20: + return this.pushState('data'), 16; + break; + case 21: + return this.pushState('data'), 18; + break; + case 22: + return this.pushState('data_inner'), 24; + break; + case 23: + return 27; + case 24: + return this.popState(), 26; + break; + case 25: + this.popState(); + break; + case 26: + this.pushState('string'); + break; + case 27: + this.popState(); + break; + case 28: + return 'STR'; + case 29: + return 24; + case 30: + return 26; + case 31: + return 43; + case 32: + return 'COLON'; + case 33: + return 44; + case 34: + return 28; + case 35: + return 45; + case 36: + return 46; + case 37: + return 48; + case 38: + return 50; + case 39: + return 47; + case 40: + return 41; + case 41: + return 49; + case 42: + return 42; + case 43: + break; + case 44: + return 35; + case 45: + return 36; + } + }, 'anonymous'), + rules: [ + /^(?:%%(?!\{)[^\n]*)/i, + /^(?:[^\}]%%[^\n]*)/i, + /^(?:(\r?\n))/i, + /^(?:(\r?\n))/i, + /^(?:[\n\r]+)/i, + /^(?:%%[^\n]*)/i, + /^(?:title\b)/i, + /^(?:accTitle\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*\{\s*)/i, + /^(?:\{)/i, + /^(?:[^\}]*)/i, + /^(?:xychart-beta\b)/i, + /^(?:(?:vertical|horizontal))/i, + /^(?:x-axis\b)/i, + /^(?:y-axis\b)/i, + /^(?:\[)/i, + /^(?:-->)/i, + /^(?:line\b)/i, + /^(?:bar\b)/i, + /^(?:\[)/i, + /^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i, + /^(?:\])/i, + /^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i, + /^(?:["])/i, + /^(?:["])/i, + /^(?:[^"]*)/i, + /^(?:\[)/i, + /^(?:\])/i, + /^(?:[A-Za-z]+)/i, + /^(?::)/i, + /^(?:\+)/i, + /^(?:,)/i, + /^(?:=)/i, + /^(?:\*)/i, + /^(?:#)/i, + /^(?:[\_])/i, + /^(?:\.)/i, + /^(?:&)/i, + /^(?:-)/i, + /^(?:[0-9]+)/i, + /^(?:\s+)/i, + /^(?:;)/i, + /^(?:$)/i + ], + conditions: { + data_inner: { + rules: [ + 0, 1, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 20, 21, 23, 24, 25, 26, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45 + ], + inclusive: !0 + }, + data: { + rules: [ + 0, 1, 3, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 20, 21, 22, 25, 26, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45 + ], + inclusive: !0 + }, + axis_band_data: { + rules: [ + 0, 1, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 20, 21, 24, 25, 26, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45 + ], + inclusive: !0 + }, + axis_data: { + rules: [ + 0, 1, 2, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45 + ], + inclusive: !0 + }, + acc_descr_multiline: { rules: [12, 13], inclusive: !1 }, + acc_descr: { rules: [10], inclusive: !1 }, + acc_title: { rules: [8], inclusive: !1 }, + title: { rules: [], inclusive: !1 }, + md_string: { rules: [], inclusive: !1 }, + string: { rules: [27, 28], inclusive: !1 }, + INITIAL: { + rules: [ + 0, 1, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 20, 21, 25, 26, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45 + ], + inclusive: !0 + } + } + }; + return O; + })(); + k.lexer = I; + function C() { + this.yy = {}; + } + return o(C, 'Parser'), (C.prototype = k), (k.Parser = C), new C(); + })(); + QI.parser = QI; + tue = QI; + }); + function ZI(t) { + return t.type === 'bar'; + } + function hE(t) { + return t.type === 'band'; + } + function Ng(t) { + return t.type === 'linear'; + } + var fE = R(() => { + 'use strict'; + o(ZI, 'isBarPlot'); + o(hE, 'isBandAxisData'); + o(Ng, 'isLinearAxisData'); + }); + var Mg, + JI = R(() => { + 'use strict'; + Al(); + Mg = class { + constructor(e) { + this.parentGroup = e; + } + static { + o(this, 'TextDimensionCalculatorWithFont'); + } + getMaxDimension(e, r) { + if (!this.parentGroup) + return { + width: e.reduce((a, s) => Math.max(s.length, a), 0) * r, + height: r + }; + let n = { width: 0, height: 0 }, + i = this.parentGroup.append('g').attr('visibility', 'hidden').attr('font-size', r); + for (let a of e) { + let s = bj(i, 1, a), + l = s ? s.width : a.length * r, + u = s ? s.height : r; + (n.width = Math.max(n.width, l)), (n.height = Math.max(n.height, u)); + } + return i.remove(), n; + } + }; + }); + var Ig, + eO = R(() => { + 'use strict'; + Ig = class { + constructor(e, r, n, i) { + this.axisConfig = e; + this.title = r; + this.textDimensionCalculator = n; + this.axisThemeConfig = i; + this.boundingRect = { x: 0, y: 0, width: 0, height: 0 }; + this.axisPosition = 'left'; + this.showTitle = !1; + this.showLabel = !1; + this.showTick = !1; + this.showAxisLine = !1; + this.outerPadding = 0; + this.titleTextHeight = 0; + this.labelTextHeight = 0; + (this.range = [0, 10]), + (this.boundingRect = { x: 0, y: 0, width: 0, height: 0 }), + (this.axisPosition = 'left'); + } + static { + o(this, 'BaseAxis'); + } + setRange(e) { + (this.range = e), + this.axisPosition === 'left' || this.axisPosition === 'right' + ? (this.boundingRect.height = e[1] - e[0]) + : (this.boundingRect.width = e[1] - e[0]), + this.recalculateScale(); + } + getRange() { + return [this.range[0] + this.outerPadding, this.range[1] - this.outerPadding]; + } + setAxisPosition(e) { + (this.axisPosition = e), this.setRange(this.range); + } + getTickDistance() { + let e = this.getRange(); + return Math.abs(e[0] - e[1]) / this.getTickValues().length; + } + getAxisOuterPadding() { + return this.outerPadding; + } + getLabelDimension() { + return this.textDimensionCalculator.getMaxDimension( + this.getTickValues().map((e) => e.toString()), + this.axisConfig.labelFontSize + ); + } + recalculateOuterPaddingToDrawBar() { + 0.7 * this.getTickDistance() > this.outerPadding * 2 && + (this.outerPadding = Math.floor((0.7 * this.getTickDistance()) / 2)), + this.recalculateScale(); + } + calculateSpaceIfDrawnHorizontally(e) { + let r = e.height; + if ( + (this.axisConfig.showAxisLine && + r > this.axisConfig.axisLineWidth && + ((r -= this.axisConfig.axisLineWidth), (this.showAxisLine = !0)), + this.axisConfig.showLabel) + ) { + let n = this.getLabelDimension(), + i = 0.2 * e.width; + this.outerPadding = Math.min(n.width / 2, i); + let a = n.height + this.axisConfig.labelPadding * 2; + (this.labelTextHeight = n.height), a <= r && ((r -= a), (this.showLabel = !0)); + } + if ( + (this.axisConfig.showTick && + r >= this.axisConfig.tickLength && + ((this.showTick = !0), (r -= this.axisConfig.tickLength)), + this.axisConfig.showTitle && this.title) + ) { + let n = this.textDimensionCalculator.getMaxDimension( + [this.title], + this.axisConfig.titleFontSize + ), + i = n.height + this.axisConfig.titlePadding * 2; + (this.titleTextHeight = n.height), i <= r && ((r -= i), (this.showTitle = !0)); + } + (this.boundingRect.width = e.width), (this.boundingRect.height = e.height - r); + } + calculateSpaceIfDrawnVertical(e) { + let r = e.width; + if ( + (this.axisConfig.showAxisLine && + r > this.axisConfig.axisLineWidth && + ((r -= this.axisConfig.axisLineWidth), (this.showAxisLine = !0)), + this.axisConfig.showLabel) + ) { + let n = this.getLabelDimension(), + i = 0.2 * e.height; + this.outerPadding = Math.min(n.height / 2, i); + let a = n.width + this.axisConfig.labelPadding * 2; + a <= r && ((r -= a), (this.showLabel = !0)); + } + if ( + (this.axisConfig.showTick && + r >= this.axisConfig.tickLength && + ((this.showTick = !0), (r -= this.axisConfig.tickLength)), + this.axisConfig.showTitle && this.title) + ) { + let n = this.textDimensionCalculator.getMaxDimension( + [this.title], + this.axisConfig.titleFontSize + ), + i = n.height + this.axisConfig.titlePadding * 2; + (this.titleTextHeight = n.height), i <= r && ((r -= i), (this.showTitle = !0)); + } + (this.boundingRect.width = e.width - r), (this.boundingRect.height = e.height); + } + calculateSpace(e) { + return ( + this.axisPosition === 'left' || this.axisPosition === 'right' + ? this.calculateSpaceIfDrawnVertical(e) + : this.calculateSpaceIfDrawnHorizontally(e), + this.recalculateScale(), + { width: this.boundingRect.width, height: this.boundingRect.height } + ); + } + setBoundingBoxXY(e) { + (this.boundingRect.x = e.x), (this.boundingRect.y = e.y); + } + getDrawableElementsForLeftAxis() { + let e = []; + if (this.showAxisLine) { + let r = this.boundingRect.x + this.boundingRect.width - this.axisConfig.axisLineWidth / 2; + e.push({ + type: 'path', + groupTexts: ['left-axis', 'axisl-line'], + data: [ + { + path: `M ${r},${this.boundingRect.y} L ${r},${ + this.boundingRect.y + this.boundingRect.height + } `, + strokeFill: this.axisThemeConfig.axisLineColor, + strokeWidth: this.axisConfig.axisLineWidth + } + ] + }); + } + if ( + (this.showLabel && + e.push({ + type: 'text', + groupTexts: ['left-axis', 'label'], + data: this.getTickValues().map((r) => ({ + text: r.toString(), + x: + this.boundingRect.x + + this.boundingRect.width - + (this.showLabel ? this.axisConfig.labelPadding : 0) - + (this.showTick ? this.axisConfig.tickLength : 0) - + (this.showAxisLine ? this.axisConfig.axisLineWidth : 0), + y: this.getScaleValue(r), + fill: this.axisThemeConfig.labelColor, + fontSize: this.axisConfig.labelFontSize, + rotation: 0, + verticalPos: 'middle', + horizontalPos: 'right' + })) + }), + this.showTick) + ) { + let r = + this.boundingRect.x + + this.boundingRect.width - + (this.showAxisLine ? this.axisConfig.axisLineWidth : 0); + e.push({ + type: 'path', + groupTexts: ['left-axis', 'ticks'], + data: this.getTickValues().map((n) => ({ + path: `M ${r},${this.getScaleValue(n)} L ${ + r - this.axisConfig.tickLength + },${this.getScaleValue(n)}`, + strokeFill: this.axisThemeConfig.tickColor, + strokeWidth: this.axisConfig.tickWidth + })) + }); + } + return ( + this.showTitle && + e.push({ + type: 'text', + groupTexts: ['left-axis', 'title'], + data: [ + { + text: this.title, + x: this.boundingRect.x + this.axisConfig.titlePadding, + y: this.boundingRect.y + this.boundingRect.height / 2, + fill: this.axisThemeConfig.titleColor, + fontSize: this.axisConfig.titleFontSize, + rotation: 270, + verticalPos: 'top', + horizontalPos: 'center' + } + ] + }), + e + ); + } + getDrawableElementsForBottomAxis() { + let e = []; + if (this.showAxisLine) { + let r = this.boundingRect.y + this.axisConfig.axisLineWidth / 2; + e.push({ + type: 'path', + groupTexts: ['bottom-axis', 'axis-line'], + data: [ + { + path: `M ${this.boundingRect.x},${r} L ${ + this.boundingRect.x + this.boundingRect.width + },${r}`, + strokeFill: this.axisThemeConfig.axisLineColor, + strokeWidth: this.axisConfig.axisLineWidth + } + ] + }); + } + if ( + (this.showLabel && + e.push({ + type: 'text', + groupTexts: ['bottom-axis', 'label'], + data: this.getTickValues().map((r) => ({ + text: r.toString(), + x: this.getScaleValue(r), + y: + this.boundingRect.y + + this.axisConfig.labelPadding + + (this.showTick ? this.axisConfig.tickLength : 0) + + (this.showAxisLine ? this.axisConfig.axisLineWidth : 0), + fill: this.axisThemeConfig.labelColor, + fontSize: this.axisConfig.labelFontSize, + rotation: 0, + verticalPos: 'top', + horizontalPos: 'center' + })) + }), + this.showTick) + ) { + let r = this.boundingRect.y + (this.showAxisLine ? this.axisConfig.axisLineWidth : 0); + e.push({ + type: 'path', + groupTexts: ['bottom-axis', 'ticks'], + data: this.getTickValues().map((n) => ({ + path: `M ${this.getScaleValue(n)},${r} L ${this.getScaleValue(n)},${ + r + this.axisConfig.tickLength + }`, + strokeFill: this.axisThemeConfig.tickColor, + strokeWidth: this.axisConfig.tickWidth + })) + }); + } + return ( + this.showTitle && + e.push({ + type: 'text', + groupTexts: ['bottom-axis', 'title'], + data: [ + { + text: this.title, + x: this.range[0] + (this.range[1] - this.range[0]) / 2, + y: + this.boundingRect.y + + this.boundingRect.height - + this.axisConfig.titlePadding - + this.titleTextHeight, + fill: this.axisThemeConfig.titleColor, + fontSize: this.axisConfig.titleFontSize, + rotation: 0, + verticalPos: 'top', + horizontalPos: 'center' + } + ] + }), + e + ); + } + getDrawableElementsForTopAxis() { + let e = []; + if (this.showAxisLine) { + let r = this.boundingRect.y + this.boundingRect.height - this.axisConfig.axisLineWidth / 2; + e.push({ + type: 'path', + groupTexts: ['top-axis', 'axis-line'], + data: [ + { + path: `M ${this.boundingRect.x},${r} L ${ + this.boundingRect.x + this.boundingRect.width + },${r}`, + strokeFill: this.axisThemeConfig.axisLineColor, + strokeWidth: this.axisConfig.axisLineWidth + } + ] + }); + } + if ( + (this.showLabel && + e.push({ + type: 'text', + groupTexts: ['top-axis', 'label'], + data: this.getTickValues().map((r) => ({ + text: r.toString(), + x: this.getScaleValue(r), + y: + this.boundingRect.y + + (this.showTitle ? this.titleTextHeight + this.axisConfig.titlePadding * 2 : 0) + + this.axisConfig.labelPadding, + fill: this.axisThemeConfig.labelColor, + fontSize: this.axisConfig.labelFontSize, + rotation: 0, + verticalPos: 'top', + horizontalPos: 'center' + })) + }), + this.showTick) + ) { + let r = this.boundingRect.y; + e.push({ + type: 'path', + groupTexts: ['top-axis', 'ticks'], + data: this.getTickValues().map((n) => ({ + path: `M ${this.getScaleValue(n)},${ + r + + this.boundingRect.height - + (this.showAxisLine ? this.axisConfig.axisLineWidth : 0) + } L ${this.getScaleValue(n)},${ + r + + this.boundingRect.height - + this.axisConfig.tickLength - + (this.showAxisLine ? this.axisConfig.axisLineWidth : 0) + }`, + strokeFill: this.axisThemeConfig.tickColor, + strokeWidth: this.axisConfig.tickWidth + })) + }); + } + return ( + this.showTitle && + e.push({ + type: 'text', + groupTexts: ['top-axis', 'title'], + data: [ + { + text: this.title, + x: this.boundingRect.x + this.boundingRect.width / 2, + y: this.boundingRect.y + this.axisConfig.titlePadding, + fill: this.axisThemeConfig.titleColor, + fontSize: this.axisConfig.titleFontSize, + rotation: 0, + verticalPos: 'top', + horizontalPos: 'center' + } + ] + }), + e + ); + } + getDrawableElements() { + if (this.axisPosition === 'left') return this.getDrawableElementsForLeftAxis(); + if (this.axisPosition === 'right') throw Error('Drawing of right axis is not implemented'); + return this.axisPosition === 'bottom' + ? this.getDrawableElementsForBottomAxis() + : this.axisPosition === 'top' + ? this.getDrawableElementsForTopAxis() + : []; + } + }; + }); + var dE, + nue = R(() => { + 'use strict'; + Zt(); + ut(); + eO(); + dE = class extends Ig { + static { + o(this, 'BandAxis'); + } + constructor(e, r, n, i, a) { + super(e, i, a, r), + (this.categories = n), + (this.scale = Op().domain(this.categories).range(this.getRange())); + } + setRange(e) { + super.setRange(e); + } + recalculateScale() { + (this.scale = Op() + .domain(this.categories) + .range(this.getRange()) + .paddingInner(1) + .paddingOuter(0) + .align(0.5)), + V.trace('BandAxis axis final categories, range: ', this.categories, this.getRange()); + } + getTickValues() { + return this.categories; + } + getScaleValue(e) { + return this.scale(e) ?? this.getRange()[0]; + } + }; + }); + var pE, + iue = R(() => { + 'use strict'; + Zt(); + eO(); + pE = class extends Ig { + static { + o(this, 'LinearAxis'); + } + constructor(e, r, n, i, a) { + super(e, i, a, r), + (this.domain = n), + (this.scale = gl().domain(this.domain).range(this.getRange())); + } + getTickValues() { + return this.scale.ticks(); + } + recalculateScale() { + let e = [...this.domain]; + this.axisPosition === 'left' && e.reverse(), (this.scale = gl().domain(e).range(this.getRange())); + } + getScaleValue(e) { + return this.scale(e); + } + }; + }); + function tO(t, e, r, n) { + let i = new Mg(n); + return hE(t) ? new dE(e, r, t.categories, t.title, i) : new pE(e, r, [t.min, t.max], t.title, i); + } + var aue = R(() => { + 'use strict'; + fE(); + JI(); + nue(); + iue(); + o(tO, 'getAxis'); + }); + function sue(t, e, r, n) { + let i = new Mg(n); + return new rO(i, t, e, r); + } + var rO, + oue = R(() => { + 'use strict'; + JI(); + rO = class { + constructor(e, r, n, i) { + this.textDimensionCalculator = e; + this.chartConfig = r; + this.chartData = n; + this.chartThemeConfig = i; + (this.boundingRect = { x: 0, y: 0, width: 0, height: 0 }), (this.showChartTitle = !1); + } + static { + o(this, 'ChartTitle'); + } + setBoundingBoxXY(e) { + (this.boundingRect.x = e.x), (this.boundingRect.y = e.y); + } + calculateSpace(e) { + let r = this.textDimensionCalculator.getMaxDimension( + [this.chartData.title], + this.chartConfig.titleFontSize + ), + n = Math.max(r.width, e.width), + i = r.height + 2 * this.chartConfig.titlePadding; + return ( + r.width <= n && + r.height <= i && + this.chartConfig.showTitle && + this.chartData.title && + ((this.boundingRect.width = n), (this.boundingRect.height = i), (this.showChartTitle = !0)), + { width: this.boundingRect.width, height: this.boundingRect.height } + ); + } + getDrawableElements() { + let e = []; + return ( + this.showChartTitle && + e.push({ + groupTexts: ['chart-title'], + type: 'text', + data: [ + { + fontSize: this.chartConfig.titleFontSize, + text: this.chartData.title, + verticalPos: 'middle', + horizontalPos: 'center', + x: this.boundingRect.x + this.boundingRect.width / 2, + y: this.boundingRect.y + this.boundingRect.height / 2, + fill: this.chartThemeConfig.titleColor, + rotation: 0 + } + ] + }), + e + ); + } + }; + o(sue, 'getChartTitleComponent'); + }); + var mE, + lue = R(() => { + 'use strict'; + Zt(); + mE = class { + constructor(e, r, n, i, a) { + this.plotData = e; + this.xAxis = r; + this.yAxis = n; + this.orientation = i; + this.plotIndex = a; + } + static { + o(this, 'LinePlot'); + } + getDrawableElement() { + let e = this.plotData.data.map((n) => [ + this.xAxis.getScaleValue(n[0]), + this.yAxis.getScaleValue(n[1]) + ]), + r; + return ( + this.orientation === 'horizontal' + ? (r = ha() + .y((n) => n[0]) + .x((n) => n[1])(e)) + : (r = ha() + .x((n) => n[0]) + .y((n) => n[1])(e)), + r + ? [ + { + groupTexts: ['plot', `line-plot-${this.plotIndex}`], + type: 'path', + data: [ + { + path: r, + strokeFill: this.plotData.strokeFill, + strokeWidth: this.plotData.strokeWidth + } + ] + } + ] + : [] + ); + } + }; + }); + var gE, + cue = R(() => { + 'use strict'; + gE = class { + constructor(e, r, n, i, a, s) { + this.barData = e; + this.boundingRect = r; + this.xAxis = n; + this.yAxis = i; + this.orientation = a; + this.plotIndex = s; + } + static { + o(this, 'BarPlot'); + } + getDrawableElement() { + let e = this.barData.data.map((a) => [ + this.xAxis.getScaleValue(a[0]), + this.yAxis.getScaleValue(a[1]) + ]), + n = Math.min(this.xAxis.getAxisOuterPadding() * 2, this.xAxis.getTickDistance()) * (1 - 0.05), + i = n / 2; + return this.orientation === 'horizontal' + ? [ + { + groupTexts: ['plot', `bar-plot-${this.plotIndex}`], + type: 'rect', + data: e.map((a) => ({ + x: this.boundingRect.x, + y: a[0] - i, + height: n, + width: a[1] - this.boundingRect.x, + fill: this.barData.fill, + strokeWidth: 0, + strokeFill: this.barData.fill + })) + } + ] + : [ + { + groupTexts: ['plot', `bar-plot-${this.plotIndex}`], + type: 'rect', + data: e.map((a) => ({ + x: a[0] - i, + y: a[1], + width: n, + height: this.boundingRect.y + this.boundingRect.height - a[1], + fill: this.barData.fill, + strokeWidth: 0, + strokeFill: this.barData.fill + })) + } + ]; + } + }; + }); + function uue(t, e, r) { + return new nO(t, e, r); + } + var nO, + hue = R(() => { + 'use strict'; + lue(); + cue(); + nO = class { + constructor(e, r, n) { + this.chartConfig = e; + this.chartData = r; + this.chartThemeConfig = n; + this.boundingRect = { x: 0, y: 0, width: 0, height: 0 }; + } + static { + o(this, 'BasePlot'); + } + setAxes(e, r) { + (this.xAxis = e), (this.yAxis = r); + } + setBoundingBoxXY(e) { + (this.boundingRect.x = e.x), (this.boundingRect.y = e.y); + } + calculateSpace(e) { + return ( + (this.boundingRect.width = e.width), + (this.boundingRect.height = e.height), + { width: this.boundingRect.width, height: this.boundingRect.height } + ); + } + getDrawableElements() { + if (!(this.xAxis && this.yAxis)) throw Error('Axes must be passed to render Plots'); + let e = []; + for (let [r, n] of this.chartData.plots.entries()) + switch (n.type) { + case 'line': + { + let i = new mE(n, this.xAxis, this.yAxis, this.chartConfig.chartOrientation, r); + e.push(...i.getDrawableElement()); + } + break; + case 'bar': + { + let i = new gE( + n, + this.boundingRect, + this.xAxis, + this.yAxis, + this.chartConfig.chartOrientation, + r + ); + e.push(...i.getDrawableElement()); + } + break; + } + return e; + } + }; + o(uue, 'getPlotComponent'); + }); + var yE, + fue = R(() => { + 'use strict'; + aue(); + oue(); + hue(); + fE(); + yE = class { + constructor(e, r, n, i) { + this.chartConfig = e; + this.chartData = r; + this.componentStore = { + title: sue(e, r, n, i), + plot: uue(e, r, n), + xAxis: tO( + r.xAxis, + e.xAxis, + { + titleColor: n.xAxisTitleColor, + labelColor: n.xAxisLabelColor, + tickColor: n.xAxisTickColor, + axisLineColor: n.xAxisLineColor + }, + i + ), + yAxis: tO( + r.yAxis, + e.yAxis, + { + titleColor: n.yAxisTitleColor, + labelColor: n.yAxisLabelColor, + tickColor: n.yAxisTickColor, + axisLineColor: n.yAxisLineColor + }, + i + ) + }; + } + static { + o(this, 'Orchestrator'); + } + calculateVerticalSpace() { + let e = this.chartConfig.width, + r = this.chartConfig.height, + n = 0, + i = 0, + a = Math.floor((e * this.chartConfig.plotReservedSpacePercent) / 100), + s = Math.floor((r * this.chartConfig.plotReservedSpacePercent) / 100), + l = this.componentStore.plot.calculateSpace({ + width: a, + height: s + }); + (e -= l.width), + (r -= l.height), + (l = this.componentStore.title.calculateSpace({ + width: this.chartConfig.width, + height: r + })), + (i = l.height), + (r -= l.height), + this.componentStore.xAxis.setAxisPosition('bottom'), + (l = this.componentStore.xAxis.calculateSpace({ + width: e, + height: r + })), + (r -= l.height), + this.componentStore.yAxis.setAxisPosition('left'), + (l = this.componentStore.yAxis.calculateSpace({ + width: e, + height: r + })), + (n = l.width), + (e -= l.width), + e > 0 && ((a += e), (e = 0)), + r > 0 && ((s += r), (r = 0)), + this.componentStore.plot.calculateSpace({ width: a, height: s }), + this.componentStore.plot.setBoundingBoxXY({ x: n, y: i }), + this.componentStore.xAxis.setRange([n, n + a]), + this.componentStore.xAxis.setBoundingBoxXY({ x: n, y: i + s }), + this.componentStore.yAxis.setRange([i, i + s]), + this.componentStore.yAxis.setBoundingBoxXY({ x: 0, y: i }), + this.chartData.plots.some((u) => ZI(u)) && + this.componentStore.xAxis.recalculateOuterPaddingToDrawBar(); + } + calculateHorizontalSpace() { + let e = this.chartConfig.width, + r = this.chartConfig.height, + n = 0, + i = 0, + a = 0, + s = Math.floor((e * this.chartConfig.plotReservedSpacePercent) / 100), + l = Math.floor((r * this.chartConfig.plotReservedSpacePercent) / 100), + u = this.componentStore.plot.calculateSpace({ + width: s, + height: l + }); + (e -= u.width), + (r -= u.height), + (u = this.componentStore.title.calculateSpace({ + width: this.chartConfig.width, + height: r + })), + (n = u.height), + (r -= u.height), + this.componentStore.xAxis.setAxisPosition('left'), + (u = this.componentStore.xAxis.calculateSpace({ + width: e, + height: r + })), + (e -= u.width), + (i = u.width), + this.componentStore.yAxis.setAxisPosition('top'), + (u = this.componentStore.yAxis.calculateSpace({ + width: e, + height: r + })), + (r -= u.height), + (a = n + u.height), + e > 0 && ((s += e), (e = 0)), + r > 0 && ((l += r), (r = 0)), + this.componentStore.plot.calculateSpace({ width: s, height: l }), + this.componentStore.plot.setBoundingBoxXY({ x: i, y: a }), + this.componentStore.yAxis.setRange([i, i + s]), + this.componentStore.yAxis.setBoundingBoxXY({ x: i, y: n }), + this.componentStore.xAxis.setRange([a, a + l]), + this.componentStore.xAxis.setBoundingBoxXY({ x: 0, y: a }), + this.chartData.plots.some((h) => ZI(h)) && + this.componentStore.xAxis.recalculateOuterPaddingToDrawBar(); + } + calculateSpace() { + this.chartConfig.chartOrientation === 'horizontal' + ? this.calculateHorizontalSpace() + : this.calculateVerticalSpace(); + } + getDrawableElement() { + this.calculateSpace(); + let e = []; + this.componentStore.plot.setAxes(this.componentStore.xAxis, this.componentStore.yAxis); + for (let r of Object.values(this.componentStore)) e.push(...r.getDrawableElements()); + return e; + } + }; + }); + var vE, + due = R(() => { + 'use strict'; + fue(); + vE = class { + static { + o(this, 'XYChartBuilder'); + } + static build(e, r, n, i) { + return new yE(e, r, n, i).getDrawableElement(); + } + }; + }); + function mue() { + let t = hp(), + e = Or(); + return Ts(t.xyChart, e.themeVariables.xyChart); + } + function gue() { + let t = Or(); + return Ts(mr.xyChart, t.xyChart); + } + function yue() { + return { + yAxis: { type: 'linear', title: '', min: 1 / 0, max: -1 / 0 }, + xAxis: { type: 'band', title: '', categories: [] }, + title: '', + plots: [] + }; + } + function sO(t) { + let e = Or(); + return qr(t.trim(), e); + } + function hze(t) { + pue = t; + } + function fze(t) { + t === 'horizontal' ? (px.chartOrientation = 'horizontal') : (px.chartOrientation = 'vertical'); + } + function dze(t) { + sn.xAxis.title = sO(t.text); + } + function vue(t, e) { + (sn.xAxis = { type: 'linear', title: sn.xAxis.title, min: t, max: e }), (xE = !0); + } + function pze(t) { + (sn.xAxis = { + type: 'band', + title: sn.xAxis.title, + categories: t.map((e) => sO(e.text)) + }), + (xE = !0); + } + function mze(t) { + sn.yAxis.title = sO(t.text); + } + function gze(t, e) { + (sn.yAxis = { type: 'linear', title: sn.yAxis.title, min: t, max: e }), (aO = !0); + } + function yze(t) { + let e = Math.min(...t), + r = Math.max(...t), + n = Ng(sn.yAxis) ? sn.yAxis.min : 1 / 0, + i = Ng(sn.yAxis) ? sn.yAxis.max : -1 / 0; + sn.yAxis = { + type: 'linear', + title: sn.yAxis.title, + min: Math.min(n, e), + max: Math.max(i, r) + }; + } + function xue(t) { + let e = []; + if (t.length === 0) return e; + if (!xE) { + let r = Ng(sn.xAxis) ? sn.xAxis.min : 1 / 0, + n = Ng(sn.xAxis) ? sn.xAxis.max : -1 / 0; + vue(Math.min(r, 1), Math.max(n, t.length)); + } + if ((aO || yze(t), hE(sn.xAxis) && (e = sn.xAxis.categories.map((r, n) => [r, t[n]])), Ng(sn.xAxis))) { + let r = sn.xAxis.min, + n = sn.xAxis.max, + i = (n - r) / (t.length - 1), + a = []; + for (let s = r; s <= n; s += i) a.push(`${s}`); + e = a.map((s, l) => [s, t[l]]); + } + return e; + } + function bue(t) { + return iO[t === 0 ? 0 : t % iO.length]; + } + function vze(t, e) { + let r = xue(e); + sn.plots.push({ + type: 'line', + strokeFill: bue(dx), + strokeWidth: 2, + data: r + }), + dx++; + } + function xze(t, e) { + let r = xue(e); + sn.plots.push({ type: 'bar', fill: bue(dx), data: r }), dx++; + } + function bze() { + if (sn.plots.length === 0) throw Error('No Plot to render, please provide a plot with some data'); + return (sn.title = Xr()), vE.build(px, sn, mx, pue); + } + function wze() { + return mx; + } + function Tze() { + return px; + } + var dx, + pue, + px, + mx, + sn, + iO, + xE, + aO, + kze, + wue, + Tue = R(() => { + 'use strict'; + qs(); + sl(); + jb(); + xr(); + rr(); + bi(); + due(); + fE(); + (dx = 0), + (px = gue()), + (mx = mue()), + (sn = yue()), + (iO = mx.plotColorPalette.split(',').map((t) => t.trim())), + (xE = !1), + (aO = !1); + o(mue, 'getChartDefaultThemeConfig'); + o(gue, 'getChartDefaultConfig'); + o(yue, 'getChartDefaultData'); + o(sO, 'textSanitizer'); + o(hze, 'setTmpSVGG'); + o(fze, 'setOrientation'); + o(dze, 'setXAxisTitle'); + o(vue, 'setXAxisRangeData'); + o(pze, 'setXAxisBand'); + o(mze, 'setYAxisTitle'); + o(gze, 'setYAxisRangeData'); + o(yze, 'setYAxisRangeFromPlotData'); + o(xue, 'transformDataWithoutCategory'); + o(bue, 'getPlotColorFromPalette'); + o(vze, 'setLineData'); + o(xze, 'setBarData'); + o(bze, 'getDrawableElem'); + o(wze, 'getChartThemeConfig'); + o(Tze, 'getChartConfig'); + (kze = o(function () { + vr(), + (dx = 0), + (px = gue()), + (sn = yue()), + (mx = mue()), + (iO = mx.plotColorPalette.split(',').map((t) => t.trim())), + (xE = !1), + (aO = !1); + }, 'clear')), + (wue = { + getDrawableElem: bze, + clear: kze, + setAccTitle: kr, + getAccTitle: Ar, + setDiagramTitle: nn, + getDiagramTitle: Xr, + getAccDescription: Lr, + setAccDescription: _r, + setOrientation: fze, + setXAxisTitle: dze, + setXAxisRangeData: vue, + setXAxisBand: pze, + setYAxisTitle: mze, + setYAxisRangeData: gze, + setLineData: vze, + setBarData: xze, + setTmpSVGG: hze, + getChartThemeConfig: wze, + getChartConfig: Tze + }); + }); + var Eze, + kue, + Eue = R(() => { + 'use strict'; + ut(); + pf(); + Yn(); + (Eze = o((t, e, r, n) => { + let i = n.db, + a = i.getChartThemeConfig(), + s = i.getChartConfig(); + function l(v) { + return v === 'top' ? 'text-before-edge' : 'middle'; + } + o(l, 'getDominantBaseLine'); + function u(v) { + return v === 'left' ? 'start' : v === 'right' ? 'end' : 'middle'; + } + o(u, 'getTextAnchor'); + function h(v) { + return `translate(${v.x}, ${v.y}) rotate(${v.rotation || 0})`; + } + o(h, 'getTextTransformation'), + V.debug( + `Rendering xychart chart +` + t + ); + let f = Ps(e), + d = f.append('g').attr('class', 'main'), + p = d.append('rect').attr('width', s.width).attr('height', s.height).attr('class', 'background'); + Sr(f, s.height, s.width, !0), + f.attr('viewBox', `0 0 ${s.width} ${s.height}`), + p.attr('fill', a.backgroundColor), + i.setTmpSVGG(f.append('g').attr('class', 'mermaid-tmp-group')); + let m = i.getDrawableElem(), + g = {}; + function y(v) { + let x = d, + b = ''; + for (let [w] of v.entries()) { + let S = d; + w > 0 && g[b] && (S = g[b]), + (b += v[w]), + (x = g[b]), + x || (x = g[b] = S.append('g').attr('class', v[w])); + } + return x; + } + o(y, 'getGroup'); + for (let v of m) { + if (v.data.length === 0) continue; + let x = y(v.groupTexts); + switch (v.type) { + case 'rect': + x.selectAll('rect') + .data(v.data) + .enter() + .append('rect') + .attr('x', (b) => b.x) + .attr('y', (b) => b.y) + .attr('width', (b) => b.width) + .attr('height', (b) => b.height) + .attr('fill', (b) => b.fill) + .attr('stroke', (b) => b.strokeFill) + .attr('stroke-width', (b) => b.strokeWidth); + break; + case 'text': + x.selectAll('text') + .data(v.data) + .enter() + .append('text') + .attr('x', 0) + .attr('y', 0) + .attr('fill', (b) => b.fill) + .attr('font-size', (b) => b.fontSize) + .attr('dominant-baseline', (b) => l(b.verticalPos)) + .attr('text-anchor', (b) => u(b.horizontalPos)) + .attr('transform', (b) => h(b)) + .text((b) => b.text); + break; + case 'path': + x.selectAll('path') + .data(v.data) + .enter() + .append('path') + .attr('d', (b) => b.path) + .attr('fill', (b) => (b.fill ? b.fill : 'none')) + .attr('stroke', (b) => b.strokeFill) + .attr('stroke-width', (b) => b.strokeWidth); + break; + } + } + }, 'draw')), + (kue = { draw: Eze }); + }); + var Cue = {}; + hr(Cue, { diagram: () => Cze }); + var Cze, + Sue = R(() => { + 'use strict'; + rue(); + Tue(); + Eue(); + Cze = { parser: tue, db: wue, renderer: kue }; + }); + var oO, + Lue, + Due = R(() => { + 'use strict'; + oO = (function () { + var t = o(function (ie, j, J, Z) { + for (J = J || {}, Z = ie.length; Z--; J[ie[Z]] = j); + return J; + }, 'o'), + e = [1, 3], + r = [1, 4], + n = [1, 5], + i = [1, 6], + a = [5, 6, 8, 9, 11, 13, 31, 32, 33, 34, 35, 36, 44, 62, 63], + s = [1, 18], + l = [2, 7], + u = [1, 22], + h = [1, 23], + f = [1, 24], + d = [1, 25], + p = [1, 26], + m = [1, 27], + g = [1, 20], + y = [1, 28], + v = [1, 29], + x = [62, 63], + b = [5, 8, 9, 11, 13, 31, 32, 33, 34, 35, 36, 44, 51, 53, 62, 63], + w = [1, 47], + S = [1, 48], + T = [1, 49], + E = [1, 50], + _ = [1, 51], + A = [1, 52], + L = [1, 53], + M = [53, 54], + N = [1, 64], + k = [1, 60], + I = [1, 61], + C = [1, 62], + O = [1, 63], + D = [1, 65], + P = [1, 69], + F = [1, 70], + B = [1, 67], + $ = [1, 68], + z = [5, 8, 9, 11, 13, 31, 32, 33, 34, 35, 36, 44, 62, 63], + Y = { + trace: o(function () {}, 'trace'), + yy: {}, + symbols_: { + error: 2, + start: 3, + directive: 4, + NEWLINE: 5, + RD: 6, + diagram: 7, + EOF: 8, + acc_title: 9, + acc_title_value: 10, + acc_descr: 11, + acc_descr_value: 12, + acc_descr_multiline_value: 13, + requirementDef: 14, + elementDef: 15, + relationshipDef: 16, + requirementType: 17, + requirementName: 18, + STRUCT_START: 19, + requirementBody: 20, + ID: 21, + COLONSEP: 22, + id: 23, + TEXT: 24, + text: 25, + RISK: 26, + riskLevel: 27, + VERIFYMTHD: 28, + verifyType: 29, + STRUCT_STOP: 30, + REQUIREMENT: 31, + FUNCTIONAL_REQUIREMENT: 32, + INTERFACE_REQUIREMENT: 33, + PERFORMANCE_REQUIREMENT: 34, + PHYSICAL_REQUIREMENT: 35, + DESIGN_CONSTRAINT: 36, + LOW_RISK: 37, + MED_RISK: 38, + HIGH_RISK: 39, + VERIFY_ANALYSIS: 40, + VERIFY_DEMONSTRATION: 41, + VERIFY_INSPECTION: 42, + VERIFY_TEST: 43, + ELEMENT: 44, + elementName: 45, + elementBody: 46, + TYPE: 47, + type: 48, + DOCREF: 49, + ref: 50, + END_ARROW_L: 51, + relationship: 52, + LINE: 53, + END_ARROW_R: 54, + CONTAINS: 55, + COPIES: 56, + DERIVES: 57, + SATISFIES: 58, + VERIFIES: 59, + REFINES: 60, + TRACES: 61, + unqString: 62, + qString: 63, + $accept: 0, + $end: 1 + }, + terminals_: { + 2: 'error', + 5: 'NEWLINE', + 6: 'RD', + 8: 'EOF', + 9: 'acc_title', + 10: 'acc_title_value', + 11: 'acc_descr', + 12: 'acc_descr_value', + 13: 'acc_descr_multiline_value', + 19: 'STRUCT_START', + 21: 'ID', + 22: 'COLONSEP', + 24: 'TEXT', + 26: 'RISK', + 28: 'VERIFYMTHD', + 30: 'STRUCT_STOP', + 31: 'REQUIREMENT', + 32: 'FUNCTIONAL_REQUIREMENT', + 33: 'INTERFACE_REQUIREMENT', + 34: 'PERFORMANCE_REQUIREMENT', + 35: 'PHYSICAL_REQUIREMENT', + 36: 'DESIGN_CONSTRAINT', + 37: 'LOW_RISK', + 38: 'MED_RISK', + 39: 'HIGH_RISK', + 40: 'VERIFY_ANALYSIS', + 41: 'VERIFY_DEMONSTRATION', + 42: 'VERIFY_INSPECTION', + 43: 'VERIFY_TEST', + 44: 'ELEMENT', + 47: 'TYPE', + 49: 'DOCREF', + 51: 'END_ARROW_L', + 53: 'LINE', + 54: 'END_ARROW_R', + 55: 'CONTAINS', + 56: 'COPIES', + 57: 'DERIVES', + 58: 'SATISFIES', + 59: 'VERIFIES', + 60: 'REFINES', + 61: 'TRACES', + 62: 'unqString', + 63: 'qString' + }, + productions_: [ + 0, + [3, 3], + [3, 2], + [3, 4], + [4, 2], + [4, 2], + [4, 1], + [7, 0], + [7, 2], + [7, 2], + [7, 2], + [7, 2], + [7, 2], + [14, 5], + [20, 5], + [20, 5], + [20, 5], + [20, 5], + [20, 2], + [20, 1], + [17, 1], + [17, 1], + [17, 1], + [17, 1], + [17, 1], + [17, 1], + [27, 1], + [27, 1], + [27, 1], + [29, 1], + [29, 1], + [29, 1], + [29, 1], + [15, 5], + [46, 5], + [46, 5], + [46, 2], + [46, 1], + [16, 5], + [16, 5], + [52, 1], + [52, 1], + [52, 1], + [52, 1], + [52, 1], + [52, 1], + [52, 1], + [18, 1], + [18, 1], + [23, 1], + [23, 1], + [25, 1], + [25, 1], + [45, 1], + [45, 1], + [48, 1], + [48, 1], + [50, 1], + [50, 1] + ], + performAction: o(function (j, J, Z, H, q, K, se) { + var ce = K.length - 1; + switch (q) { + case 4: + (this.$ = K[ce].trim()), H.setAccTitle(this.$); + break; + case 5: + case 6: + (this.$ = K[ce].trim()), H.setAccDescription(this.$); + break; + case 7: + this.$ = []; + break; + case 13: + H.addRequirement(K[ce - 3], K[ce - 4]); + break; + case 14: + H.setNewReqId(K[ce - 2]); + break; + case 15: + H.setNewReqText(K[ce - 2]); + break; + case 16: + H.setNewReqRisk(K[ce - 2]); + break; + case 17: + H.setNewReqVerifyMethod(K[ce - 2]); + break; + case 20: + this.$ = H.RequirementType.REQUIREMENT; + break; + case 21: + this.$ = H.RequirementType.FUNCTIONAL_REQUIREMENT; + break; + case 22: + this.$ = H.RequirementType.INTERFACE_REQUIREMENT; + break; + case 23: + this.$ = H.RequirementType.PERFORMANCE_REQUIREMENT; + break; + case 24: + this.$ = H.RequirementType.PHYSICAL_REQUIREMENT; + break; + case 25: + this.$ = H.RequirementType.DESIGN_CONSTRAINT; + break; + case 26: + this.$ = H.RiskLevel.LOW_RISK; + break; + case 27: + this.$ = H.RiskLevel.MED_RISK; + break; + case 28: + this.$ = H.RiskLevel.HIGH_RISK; + break; + case 29: + this.$ = H.VerifyType.VERIFY_ANALYSIS; + break; + case 30: + this.$ = H.VerifyType.VERIFY_DEMONSTRATION; + break; + case 31: + this.$ = H.VerifyType.VERIFY_INSPECTION; + break; + case 32: + this.$ = H.VerifyType.VERIFY_TEST; + break; + case 33: + H.addElement(K[ce - 3]); + break; + case 34: + H.setNewElementType(K[ce - 2]); + break; + case 35: + H.setNewElementDocRef(K[ce - 2]); + break; + case 38: + H.addRelationship(K[ce - 2], K[ce], K[ce - 4]); + break; + case 39: + H.addRelationship(K[ce - 2], K[ce - 4], K[ce]); + break; + case 40: + this.$ = H.Relationships.CONTAINS; + break; + case 41: + this.$ = H.Relationships.COPIES; + break; + case 42: + this.$ = H.Relationships.DERIVES; + break; + case 43: + this.$ = H.Relationships.SATISFIES; + break; + case 44: + this.$ = H.Relationships.VERIFIES; + break; + case 45: + this.$ = H.Relationships.REFINES; + break; + case 46: + this.$ = H.Relationships.TRACES; + break; + } + }, 'anonymous'), + table: [ + { 3: 1, 4: 2, 6: e, 9: r, 11: n, 13: i }, + { 1: [3] }, + { 3: 8, 4: 2, 5: [1, 7], 6: e, 9: r, 11: n, 13: i }, + { 5: [1, 9] }, + { 10: [1, 10] }, + { 12: [1, 11] }, + t(a, [2, 6]), + { 3: 12, 4: 2, 6: e, 9: r, 11: n, 13: i }, + { 1: [2, 2] }, + { + 4: 17, + 5: s, + 7: 13, + 8: l, + 9: r, + 11: n, + 13: i, + 14: 14, + 15: 15, + 16: 16, + 17: 19, + 23: 21, + 31: u, + 32: h, + 33: f, + 34: d, + 35: p, + 36: m, + 44: g, + 62: y, + 63: v + }, + t(a, [2, 4]), + t(a, [2, 5]), + { 1: [2, 1] }, + { 8: [1, 30] }, + { + 4: 17, + 5: s, + 7: 31, + 8: l, + 9: r, + 11: n, + 13: i, + 14: 14, + 15: 15, + 16: 16, + 17: 19, + 23: 21, + 31: u, + 32: h, + 33: f, + 34: d, + 35: p, + 36: m, + 44: g, + 62: y, + 63: v + }, + { + 4: 17, + 5: s, + 7: 32, + 8: l, + 9: r, + 11: n, + 13: i, + 14: 14, + 15: 15, + 16: 16, + 17: 19, + 23: 21, + 31: u, + 32: h, + 33: f, + 34: d, + 35: p, + 36: m, + 44: g, + 62: y, + 63: v + }, + { + 4: 17, + 5: s, + 7: 33, + 8: l, + 9: r, + 11: n, + 13: i, + 14: 14, + 15: 15, + 16: 16, + 17: 19, + 23: 21, + 31: u, + 32: h, + 33: f, + 34: d, + 35: p, + 36: m, + 44: g, + 62: y, + 63: v + }, + { + 4: 17, + 5: s, + 7: 34, + 8: l, + 9: r, + 11: n, + 13: i, + 14: 14, + 15: 15, + 16: 16, + 17: 19, + 23: 21, + 31: u, + 32: h, + 33: f, + 34: d, + 35: p, + 36: m, + 44: g, + 62: y, + 63: v + }, + { + 4: 17, + 5: s, + 7: 35, + 8: l, + 9: r, + 11: n, + 13: i, + 14: 14, + 15: 15, + 16: 16, + 17: 19, + 23: 21, + 31: u, + 32: h, + 33: f, + 34: d, + 35: p, + 36: m, + 44: g, + 62: y, + 63: v + }, + { 18: 36, 62: [1, 37], 63: [1, 38] }, + { 45: 39, 62: [1, 40], 63: [1, 41] }, + { 51: [1, 42], 53: [1, 43] }, + t(x, [2, 20]), + t(x, [2, 21]), + t(x, [2, 22]), + t(x, [2, 23]), + t(x, [2, 24]), + t(x, [2, 25]), + t(b, [2, 49]), + t(b, [2, 50]), + { 1: [2, 3] }, + { 8: [2, 8] }, + { 8: [2, 9] }, + { 8: [2, 10] }, + { 8: [2, 11] }, + { 8: [2, 12] }, + { 19: [1, 44] }, + { 19: [2, 47] }, + { 19: [2, 48] }, + { 19: [1, 45] }, + { 19: [2, 53] }, + { 19: [2, 54] }, + { 52: 46, 55: w, 56: S, 57: T, 58: E, 59: _, 60: A, 61: L }, + { 52: 54, 55: w, 56: S, 57: T, 58: E, 59: _, 60: A, 61: L }, + { 5: [1, 55] }, + { 5: [1, 56] }, + { 53: [1, 57] }, + t(M, [2, 40]), + t(M, [2, 41]), + t(M, [2, 42]), + t(M, [2, 43]), + t(M, [2, 44]), + t(M, [2, 45]), + t(M, [2, 46]), + { 54: [1, 58] }, + { 5: N, 20: 59, 21: k, 24: I, 26: C, 28: O, 30: D }, + { 5: P, 30: F, 46: 66, 47: B, 49: $ }, + { 23: 71, 62: y, 63: v }, + { 23: 72, 62: y, 63: v }, + t(z, [2, 13]), + { 22: [1, 73] }, + { 22: [1, 74] }, + { 22: [1, 75] }, + { 22: [1, 76] }, + { 5: N, 20: 77, 21: k, 24: I, 26: C, 28: O, 30: D }, + t(z, [2, 19]), + t(z, [2, 33]), + { 22: [1, 78] }, + { 22: [1, 79] }, + { 5: P, 30: F, 46: 80, 47: B, 49: $ }, + t(z, [2, 37]), + t(z, [2, 38]), + t(z, [2, 39]), + { 23: 81, 62: y, 63: v }, + { 25: 82, 62: [1, 83], 63: [1, 84] }, + { 27: 85, 37: [1, 86], 38: [1, 87], 39: [1, 88] }, + { 29: 89, 40: [1, 90], 41: [1, 91], 42: [1, 92], 43: [1, 93] }, + t(z, [2, 18]), + { 48: 94, 62: [1, 95], 63: [1, 96] }, + { 50: 97, 62: [1, 98], 63: [1, 99] }, + t(z, [2, 36]), + { 5: [1, 100] }, + { 5: [1, 101] }, + { 5: [2, 51] }, + { 5: [2, 52] }, + { 5: [1, 102] }, + { 5: [2, 26] }, + { 5: [2, 27] }, + { 5: [2, 28] }, + { 5: [1, 103] }, + { 5: [2, 29] }, + { 5: [2, 30] }, + { 5: [2, 31] }, + { 5: [2, 32] }, + { 5: [1, 104] }, + { 5: [2, 55] }, + { 5: [2, 56] }, + { 5: [1, 105] }, + { 5: [2, 57] }, + { 5: [2, 58] }, + { 5: N, 20: 106, 21: k, 24: I, 26: C, 28: O, 30: D }, + { 5: N, 20: 107, 21: k, 24: I, 26: C, 28: O, 30: D }, + { 5: N, 20: 108, 21: k, 24: I, 26: C, 28: O, 30: D }, + { 5: N, 20: 109, 21: k, 24: I, 26: C, 28: O, 30: D }, + { 5: P, 30: F, 46: 110, 47: B, 49: $ }, + { 5: P, 30: F, 46: 111, 47: B, 49: $ }, + t(z, [2, 14]), + t(z, [2, 15]), + t(z, [2, 16]), + t(z, [2, 17]), + t(z, [2, 34]), + t(z, [2, 35]) + ], + defaultActions: { + 8: [2, 2], + 12: [2, 1], + 30: [2, 3], + 31: [2, 8], + 32: [2, 9], + 33: [2, 10], + 34: [2, 11], + 35: [2, 12], + 37: [2, 47], + 38: [2, 48], + 40: [2, 53], + 41: [2, 54], + 83: [2, 51], + 84: [2, 52], + 86: [2, 26], + 87: [2, 27], + 88: [2, 28], + 90: [2, 29], + 91: [2, 30], + 92: [2, 31], + 93: [2, 32], + 95: [2, 55], + 96: [2, 56], + 98: [2, 57], + 99: [2, 58] + }, + parseError: o(function (j, J) { + if (J.recoverable) this.trace(j); + else { + var Z = new Error(j); + throw ((Z.hash = J), Z); + } + }, 'parseError'), + parse: o(function (j) { + var J = this, + Z = [0], + H = [], + q = [null], + K = [], + se = this.table, + ce = '', + ue = 0, + te = 0, + De = 0, + oe = 2, + ke = 1, + Ie = K.slice.call(arguments, 1), + Se = Object.create(this.lexer), + Ue = { yy: {} }; + for (var Pe in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, Pe) && (Ue.yy[Pe] = this.yy[Pe]); + Se.setInput(j, Ue.yy), + (Ue.yy.lexer = Se), + (Ue.yy.parser = this), + typeof Se.yylloc > 'u' && (Se.yylloc = {}); + var _e = Se.yylloc; + K.push(_e); + var me = Se.options && Se.options.ranges; + typeof Ue.yy.parseError == 'function' + ? (this.parseError = Ue.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError); + function W(He) { + (Z.length = Z.length - 2 * He), (q.length = q.length - He), (K.length = K.length - He); + } + o(W, 'popStack'); + function fe() { + var He; + return ( + (He = H.pop() || Se.lex() || ke), + typeof He != 'number' && + (He instanceof Array && ((H = He), (He = H.pop())), + (He = J.symbols_[He] || He)), + He + ); + } + o(fe, 'lex'); + for (var ge, re, he, ne, ae, we, Te = {}, Ce, Ae, Ge, Me; ; ) { + if ( + ((he = Z[Z.length - 1]), + this.defaultActions[he] + ? (ne = this.defaultActions[he]) + : ((ge === null || typeof ge > 'u') && (ge = fe()), + (ne = se[he] && se[he][ge])), + typeof ne > 'u' || !ne.length || !ne[0]) + ) { + var ye = ''; + Me = []; + for (Ce in se[he]) + this.terminals_[Ce] && Ce > oe && Me.push("'" + this.terminals_[Ce] + "'"); + Se.showPosition + ? (ye = + 'Parse error on line ' + + (ue + 1) + + `: +` + + Se.showPosition() + + ` +Expecting ` + + Me.join(', ') + + ", got '" + + (this.terminals_[ge] || ge) + + "'") + : (ye = + 'Parse error on line ' + + (ue + 1) + + ': Unexpected ' + + (ge == ke ? 'end of input' : "'" + (this.terminals_[ge] || ge) + "'")), + this.parseError(ye, { + text: Se.match, + token: this.terminals_[ge] || ge, + line: Se.yylineno, + loc: _e, + expected: Me + }); + } + if (ne[0] instanceof Array && ne.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + he + ', token: ' + ge + ); + switch (ne[0]) { + case 1: + Z.push(ge), + q.push(Se.yytext), + K.push(Se.yylloc), + Z.push(ne[1]), + (ge = null), + re + ? ((ge = re), (re = null)) + : ((te = Se.yyleng), + (ce = Se.yytext), + (ue = Se.yylineno), + (_e = Se.yylloc), + De > 0 && De--); + break; + case 2: + if ( + ((Ae = this.productions_[ne[1]][1]), + (Te.$ = q[q.length - Ae]), + (Te._$ = { + first_line: K[K.length - (Ae || 1)].first_line, + last_line: K[K.length - 1].last_line, + first_column: K[K.length - (Ae || 1)].first_column, + last_column: K[K.length - 1].last_column + }), + me && + (Te._$.range = [ + K[K.length - (Ae || 1)].range[0], + K[K.length - 1].range[1] + ]), + (we = this.performAction.apply( + Te, + [ce, te, ue, Ue.yy, ne[1], q, K].concat(Ie) + )), + typeof we < 'u') + ) + return we; + Ae && + ((Z = Z.slice(0, -1 * Ae * 2)), + (q = q.slice(0, -1 * Ae)), + (K = K.slice(0, -1 * Ae))), + Z.push(this.productions_[ne[1]][0]), + q.push(Te.$), + K.push(Te._$), + (Ge = se[Z[Z.length - 2]][Z[Z.length - 1]]), + Z.push(Ge); + break; + case 3: + return !0; + } + } + return !0; + }, 'parse') + }, + Q = (function () { + var ie = { + EOF: 1, + parseError: o(function (J, Z) { + if (this.yy.parser) this.yy.parser.parseError(J, Z); + else throw new Error(J); + }, 'parseError'), + setInput: o(function (j, J) { + return ( + (this.yy = J || this.yy || {}), + (this._input = j), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, 'setInput'), + input: o(function () { + var j = this._input[0]; + (this.yytext += j), + this.yyleng++, + this.offset++, + (this.match += j), + (this.matched += j); + var J = j.match(/(?:\r\n?|\n).*/g); + return ( + J ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + j + ); + }, 'input'), + unput: o(function (j) { + var J = j.length, + Z = j.split(/(?:\r\n?|\n)/g); + (this._input = j + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - J)), + (this.offset -= J); + var H = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + Z.length - 1 && (this.yylineno -= Z.length - 1); + var q = this.yylloc.range; + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: Z + ? (Z.length === H.length ? this.yylloc.first_column : 0) + + H[H.length - Z.length].length - + Z[0].length + : this.yylloc.first_column - J + }), + this.options.ranges && (this.yylloc.range = [q[0], q[0] + this.yyleng - J]), + (this.yyleng = this.yytext.length), + this + ); + }, 'unput'), + more: o(function () { + return (this._more = !0), this; + }, 'more'), + reject: o(function () { + if (this.options.backtrack_lexer) this._backtrack = !0; + else + return this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + return this; + }, 'reject'), + less: o(function (j) { + this.unput(this.match.slice(j)); + }, 'less'), + pastInput: o(function () { + var j = this.matched.substr(0, this.matched.length - this.match.length); + return (j.length > 20 ? '...' : '') + j.substr(-20).replace(/\n/g, ''); + }, 'pastInput'), + upcomingInput: o(function () { + var j = this.match; + return ( + j.length < 20 && (j += this._input.substr(0, 20 - j.length)), + (j.substr(0, 20) + (j.length > 20 ? '...' : '')).replace(/\n/g, '') + ); + }, 'upcomingInput'), + showPosition: o(function () { + var j = this.pastInput(), + J = new Array(j.length + 1).join('-'); + return ( + j + + this.upcomingInput() + + ` +` + + J + + '^' + ); + }, 'showPosition'), + test_match: o(function (j, J) { + var Z, H, q; + if ( + (this.options.backtrack_lexer && + ((q = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }), + this.options.ranges && (q.yylloc.range = this.yylloc.range.slice(0))), + (H = j[0].match(/(?:\r\n?|\n).*/g)), + H && (this.yylineno += H.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: H + ? H[H.length - 1].length - H[H.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + j[0].length + }), + (this.yytext += j[0]), + (this.match += j[0]), + (this.matches = j), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(j[0].length)), + (this.matched += j[0]), + (Z = this.performAction.call( + this, + this.yy, + this, + J, + this.conditionStack[this.conditionStack.length - 1] + )), + this.done && this._input && (this.done = !1), + Z) + ) + return Z; + if (this._backtrack) { + for (var K in q) this[K] = q[K]; + return !1; + } + return !1; + }, 'test_match'), + next: o(function () { + if (this.done) return this.EOF; + this._input || (this.done = !0); + var j, J, Z, H; + this._more || ((this.yytext = ''), (this.match = '')); + for (var q = this._currentRules(), K = 0; K < q.length; K++) + if ( + ((Z = this._input.match(this.rules[q[K]])), + Z && (!J || Z[0].length > J[0].length)) + ) { + if (((J = Z), (H = K), this.options.backtrack_lexer)) { + if (((j = this.test_match(Z, q[K])), j !== !1)) return j; + if (this._backtrack) { + J = !1; + continue; + } else return !1; + } else if (!this.options.flex) break; + } + return J + ? ((j = this.test_match(J, q[H])), j !== !1 ? j : !1) + : this._input === '' + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, 'next'), + lex: o(function () { + var J = this.next(); + return J || this.lex(); + }, 'lex'), + begin: o(function (J) { + this.conditionStack.push(J); + }, 'begin'), + popState: o(function () { + var J = this.conditionStack.length - 1; + return J > 0 ? this.conditionStack.pop() : this.conditionStack[0]; + }, 'popState'), + _currentRules: o(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules; + }, '_currentRules'), + topState: o(function (J) { + return ( + (J = this.conditionStack.length - 1 - Math.abs(J || 0)), + J >= 0 ? this.conditionStack[J] : 'INITIAL' + ); + }, 'topState'), + pushState: o(function (J) { + this.begin(J); + }, 'pushState'), + stateStackSize: o(function () { + return this.conditionStack.length; + }, 'stateStackSize'), + options: { 'case-insensitive': !0 }, + performAction: o(function (J, Z, H, q) { + var K = q; + switch (H) { + case 0: + return 'title'; + case 1: + return this.begin('acc_title'), 9; + break; + case 2: + return this.popState(), 'acc_title_value'; + break; + case 3: + return this.begin('acc_descr'), 11; + break; + case 4: + return this.popState(), 'acc_descr_value'; + break; + case 5: + this.begin('acc_descr_multiline'); + break; + case 6: + this.popState(); + break; + case 7: + return 'acc_descr_multiline_value'; + case 8: + return 5; + case 9: + break; + case 10: + break; + case 11: + break; + case 12: + return 8; + case 13: + return 6; + case 14: + return 19; + case 15: + return 30; + case 16: + return 22; + case 17: + return 21; + case 18: + return 24; + case 19: + return 26; + case 20: + return 28; + case 21: + return 31; + case 22: + return 32; + case 23: + return 33; + case 24: + return 34; + case 25: + return 35; + case 26: + return 36; + case 27: + return 37; + case 28: + return 38; + case 29: + return 39; + case 30: + return 40; + case 31: + return 41; + case 32: + return 42; + case 33: + return 43; + case 34: + return 44; + case 35: + return 55; + case 36: + return 56; + case 37: + return 57; + case 38: + return 58; + case 39: + return 59; + case 40: + return 60; + case 41: + return 61; + case 42: + return 47; + case 43: + return 49; + case 44: + return 51; + case 45: + return 54; + case 46: + return 53; + case 47: + this.begin('string'); + break; + case 48: + this.popState(); + break; + case 49: + return 'qString'; + case 50: + return (Z.yytext = Z.yytext.trim()), 62; + break; + } + }, 'anonymous'), + rules: [ + /^(?:title\s[^#\n;]+)/i, + /^(?:accTitle\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*\{\s*)/i, + /^(?:[\}])/i, + /^(?:[^\}]*)/i, + /^(?:(\r?\n)+)/i, + /^(?:\s+)/i, + /^(?:#[^\n]*)/i, + /^(?:%[^\n]*)/i, + /^(?:$)/i, + /^(?:requirementDiagram\b)/i, + /^(?:\{)/i, + /^(?:\})/i, + /^(?::)/i, + /^(?:id\b)/i, + /^(?:text\b)/i, + /^(?:risk\b)/i, + /^(?:verifyMethod\b)/i, + /^(?:requirement\b)/i, + /^(?:functionalRequirement\b)/i, + /^(?:interfaceRequirement\b)/i, + /^(?:performanceRequirement\b)/i, + /^(?:physicalRequirement\b)/i, + /^(?:designConstraint\b)/i, + /^(?:low\b)/i, + /^(?:medium\b)/i, + /^(?:high\b)/i, + /^(?:analysis\b)/i, + /^(?:demonstration\b)/i, + /^(?:inspection\b)/i, + /^(?:test\b)/i, + /^(?:element\b)/i, + /^(?:contains\b)/i, + /^(?:copies\b)/i, + /^(?:derives\b)/i, + /^(?:satisfies\b)/i, + /^(?:verifies\b)/i, + /^(?:refines\b)/i, + /^(?:traces\b)/i, + /^(?:type\b)/i, + /^(?:docref\b)/i, + /^(?:<-)/i, + /^(?:->)/i, + /^(?:-)/i, + /^(?:["])/i, + /^(?:["])/i, + /^(?:[^"]*)/i, + /^(?:[\w][^\r\n\{\<\>\-\=]*)/i + ], + conditions: { + acc_descr_multiline: { rules: [6, 7], inclusive: !1 }, + acc_descr: { rules: [4], inclusive: !1 }, + acc_title: { rules: [2], inclusive: !1 }, + unqString: { rules: [], inclusive: !1 }, + token: { rules: [], inclusive: !1 }, + string: { rules: [48, 49], inclusive: !1 }, + INITIAL: { + rules: [ + 0, 1, 3, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 47, 50 + ], + inclusive: !0 + } + } + }; + return ie; + })(); + Y.lexer = Q; + function X() { + this.yy = {}; + } + return o(X, 'Parser'), (X.prototype = Y), (Y.Parser = X), new X(); + })(); + oO.parser = oO; + Lue = oO; + }); + var lO, + Bs, + gx, + mf, + yx, + Lze, + Dze, + Rze, + Nze, + Mze, + Ize, + Oze, + Pze, + Bze, + Fze, + zze, + Gze, + $ze, + Vze, + Uze, + Hze, + Yze, + Rue, + Nue = R(() => { + 'use strict'; + _t(); + ut(); + bi(); + (lO = []), + (Bs = {}), + (gx = new Map()), + (mf = {}), + (yx = new Map()), + (Lze = { + REQUIREMENT: 'Requirement', + FUNCTIONAL_REQUIREMENT: 'Functional Requirement', + INTERFACE_REQUIREMENT: 'Interface Requirement', + PERFORMANCE_REQUIREMENT: 'Performance Requirement', + PHYSICAL_REQUIREMENT: 'Physical Requirement', + DESIGN_CONSTRAINT: 'Design Constraint' + }), + (Dze = { LOW_RISK: 'Low', MED_RISK: 'Medium', HIGH_RISK: 'High' }), + (Rze = { + VERIFY_ANALYSIS: 'Analysis', + VERIFY_DEMONSTRATION: 'Demonstration', + VERIFY_INSPECTION: 'Inspection', + VERIFY_TEST: 'Test' + }), + (Nze = { + CONTAINS: 'contains', + COPIES: 'copies', + DERIVES: 'derives', + SATISFIES: 'satisfies', + VERIFIES: 'verifies', + REFINES: 'refines', + TRACES: 'traces' + }), + (Mze = o( + (t, e) => ( + gx.has(t) || + gx.set(t, { + name: t, + type: e, + id: Bs.id, + text: Bs.text, + risk: Bs.risk, + verifyMethod: Bs.verifyMethod + }), + (Bs = {}), + gx.get(t) + ), + 'addRequirement' + )), + (Ize = o(() => gx, 'getRequirements')), + (Oze = o((t) => { + Bs !== void 0 && (Bs.id = t); + }, 'setNewReqId')), + (Pze = o((t) => { + Bs !== void 0 && (Bs.text = t); + }, 'setNewReqText')), + (Bze = o((t) => { + Bs !== void 0 && (Bs.risk = t); + }, 'setNewReqRisk')), + (Fze = o((t) => { + Bs !== void 0 && (Bs.verifyMethod = t); + }, 'setNewReqVerifyMethod')), + (zze = o( + (t) => ( + yx.has(t) || + (yx.set(t, { name: t, type: mf.type, docRef: mf.docRef }), + V.info('Added new requirement: ', t)), + (mf = {}), + yx.get(t) + ), + 'addElement' + )), + (Gze = o(() => yx, 'getElements')), + ($ze = o((t) => { + mf !== void 0 && (mf.type = t); + }, 'setNewElementType')), + (Vze = o((t) => { + mf !== void 0 && (mf.docRef = t); + }, 'setNewElementDocRef')), + (Uze = o((t, e, r) => { + lO.push({ type: t, src: e, dst: r }); + }, 'addRelationship')), + (Hze = o(() => lO, 'getRelationships')), + (Yze = o(() => { + (lO = []), (Bs = {}), (gx = new Map()), (mf = {}), (yx = new Map()), vr(); + }, 'clear')), + (Rue = { + RequirementType: Lze, + RiskLevel: Dze, + VerifyType: Rze, + Relationships: Nze, + getConfig: o(() => de().req, 'getConfig'), + addRequirement: Mze, + getRequirements: Ize, + setNewReqId: Oze, + setNewReqText: Pze, + setNewReqRisk: Bze, + setNewReqVerifyMethod: Fze, + setAccTitle: kr, + getAccTitle: Ar, + setAccDescription: _r, + getAccDescription: Lr, + addElement: zze, + getElements: Gze, + setNewElementType: $ze, + setNewElementDocRef: Vze, + addRelationship: Uze, + getRelationships: Hze, + clear: Yze + }); + }); + var Wze, + Mue, + Iue = R(() => { + 'use strict'; + (Wze = o( + (t) => ` + + marker { + fill: ${t.relationColor}; + stroke: ${t.relationColor}; + } + + marker.cross { + stroke: ${t.lineColor}; + } + + svg { + font-family: ${t.fontFamily}; + font-size: ${t.fontSize}; + } + + .reqBox { + fill: ${t.requirementBackground}; + fill-opacity: 1.0; + stroke: ${t.requirementBorderColor}; + stroke-width: ${t.requirementBorderSize}; + } + + .reqTitle, .reqLabel{ + fill: ${t.requirementTextColor}; + } + .reqLabelBox { + fill: ${t.relationLabelBackground}; + fill-opacity: 1.0; + } + + .req-title-line { + stroke: ${t.requirementBorderColor}; + stroke-width: ${t.requirementBorderSize}; + } + .relationshipLine { + stroke: ${t.relationColor}; + stroke-width: 1; + } + .relationshipLabel { + fill: ${t.relationLabelColor}; + } + +`, + 'getStyles' + )), + (Mue = Wze); + }); + var cO, + qze, + uO, + Oue = R(() => { + 'use strict'; + (cO = { CONTAINS: 'contains', ARROW: 'arrow' }), + (qze = o((t, e) => { + let r = t + .append('defs') + .append('marker') + .attr('id', cO.CONTAINS + '_line_ending') + .attr('refX', 0) + .attr('refY', e.line_height / 2) + .attr('markerWidth', e.line_height) + .attr('markerHeight', e.line_height) + .attr('orient', 'auto') + .append('g'); + r + .append('circle') + .attr('cx', e.line_height / 2) + .attr('cy', e.line_height / 2) + .attr('r', e.line_height / 2) + .attr('fill', 'none'), + r + .append('line') + .attr('x1', 0) + .attr('x2', e.line_height) + .attr('y1', e.line_height / 2) + .attr('y2', e.line_height / 2) + .attr('stroke-width', 1), + r + .append('line') + .attr('y1', 0) + .attr('y2', e.line_height) + .attr('x1', e.line_height / 2) + .attr('x2', e.line_height / 2) + .attr('stroke-width', 1), + t + .append('defs') + .append('marker') + .attr('id', cO.ARROW + '_line_ending') + .attr('refX', e.line_height) + .attr('refY', 0.5 * e.line_height) + .attr('markerWidth', e.line_height) + .attr('markerHeight', e.line_height) + .attr('orient', 'auto') + .append('path') + .attr( + 'd', + `M0,0 + L${e.line_height},${e.line_height / 2} + M${e.line_height},${e.line_height / 2} + L0,${e.line_height}` + ) + .attr('stroke-width', 1); + }, 'insertLineEndings')), + (uO = { ReqMarkers: cO, insertLineEndings: qze }); + }); + var ai, + Pue, + Bue, + Fue, + zue, + Xze, + jze, + Kze, + Qze, + Zze, + Jze, + Og, + eGe, + Gue, + $ue = R(() => { + 'use strict'; + Zt(); + Vd(); + ya(); + _t(); + ut(); + Yn(); + rr(); + Oue(); + (ai = {}), + (Pue = 0), + (Bue = o( + (t, e) => + t + .insert('rect', '#' + e) + .attr('class', 'req reqBox') + .attr('x', 0) + .attr('y', 0) + .attr('width', ai.rect_min_width + 'px') + .attr('height', ai.rect_min_height + 'px'), + 'newRectNode' + )), + (Fue = o((t, e, r) => { + let n = ai.rect_min_width / 2, + i = t + .append('text') + .attr('class', 'req reqLabel reqTitle') + .attr('id', e) + .attr('x', n) + .attr('y', ai.rect_padding) + .attr('dominant-baseline', 'hanging'), + a = 0; + r.forEach((h) => { + a == 0 + ? i + .append('tspan') + .attr('text-anchor', 'middle') + .attr('x', ai.rect_min_width / 2) + .attr('dy', 0) + .text(h) + : i + .append('tspan') + .attr('text-anchor', 'middle') + .attr('x', ai.rect_min_width / 2) + .attr('dy', ai.line_height * 0.75) + .text(h), + a++; + }); + let s = 1.5 * ai.rect_padding, + l = a * ai.line_height * 0.75, + u = s + l; + return ( + t + .append('line') + .attr('class', 'req-title-line') + .attr('x1', '0') + .attr('x2', ai.rect_min_width) + .attr('y1', u) + .attr('y2', u), + { titleNode: i, y: u } + ); + }, 'newTitleNode')), + (zue = o((t, e, r, n) => { + let i = t + .append('text') + .attr('class', 'req reqLabel') + .attr('id', e) + .attr('x', ai.rect_padding) + .attr('y', n) + .attr('dominant-baseline', 'hanging'), + a = 0, + s = 30, + l = []; + return ( + r.forEach((u) => { + let h = u.length; + for (; h > s && a < 3; ) { + let f = u.substring(0, s); + (u = u.substring(s, u.length)), (h = u.length), (l[l.length] = f), a++; + } + if (a == 3) { + let f = l[l.length - 1]; + l[l.length - 1] = f.substring(0, f.length - 4) + '...'; + } else l[l.length] = u; + a = 0; + }), + l.forEach((u) => { + i.append('tspan').attr('x', ai.rect_padding).attr('dy', ai.line_height).text(u); + }), + i + ); + }, 'newBodyNode')), + (Xze = o((t, e, r, n) => { + let i = e.node().getTotalLength(), + a = e.node().getPointAtLength(i * 0.5), + s = 'rel' + Pue; + Pue++; + let u = t + .append('text') + .attr('class', 'req relationshipLabel') + .attr('id', s) + .attr('x', a.x) + .attr('y', a.y) + .attr('text-anchor', 'middle') + .attr('dominant-baseline', 'middle') + .text(n) + .node() + .getBBox(); + t.insert('rect', '#' + s) + .attr('class', 'req reqLabelBox') + .attr('x', a.x - u.width / 2) + .attr('y', a.y - u.height / 2) + .attr('width', u.width) + .attr('height', u.height) + .attr('fill', 'white') + .attr('fill-opacity', '85%'); + }, 'addEdgeLabel')), + (jze = o(function (t, e, r, n, i) { + let a = r.edge(Og(e.src), Og(e.dst)), + s = ha() + .x(function (u) { + return u.x; + }) + .y(function (u) { + return u.y; + }), + l = t + .insert('path', '#' + n) + .attr('class', 'er relationshipLine') + .attr('d', s(a.points)) + .attr('fill', 'none'); + e.type == i.db.Relationships.CONTAINS + ? l.attr( + 'marker-start', + 'url(' + We.getUrl(ai.arrowMarkerAbsolute) + '#' + e.type + '_line_ending)' + ) + : (l.attr('stroke-dasharray', '10,7'), + l.attr( + 'marker-end', + 'url(' + We.getUrl(ai.arrowMarkerAbsolute) + '#' + uO.ReqMarkers.ARROW + '_line_ending)' + )), + Xze(t, l, ai, `<<${e.type}>>`); + }, 'drawRelationshipFromLayout')), + (Kze = o((t, e, r) => { + t.forEach((n, i) => { + (i = Og(i)), V.info('Added new requirement: ', i); + let a = r.append('g').attr('id', i), + s = 'req-' + i, + l = Bue(a, s), + u = [], + h = Fue(a, i + '_title', [`<<${n.type}>>`, `${n.name}`]); + u.push(h.titleNode); + let f = zue( + a, + i + '_body', + [`Id: ${n.id}`, `Text: ${n.text}`, `Risk: ${n.risk}`, `Verification: ${n.verifyMethod}`], + h.y + ); + u.push(f); + let d = l.node().getBBox(); + e.setNode(i, { + width: d.width, + height: d.height, + shape: 'rect', + id: i + }); + }); + }, 'drawReqs')), + (Qze = o((t, e, r) => { + t.forEach((n, i) => { + let a = Og(i), + s = r.append('g').attr('id', a), + l = 'element-' + a, + u = Bue(s, l), + h = [], + f = Fue(s, l + '_title', ['<>', `${i}`]); + h.push(f.titleNode); + let d = zue( + s, + l + '_body', + [`Type: ${n.type || 'Not Specified'}`, `Doc Ref: ${n.docRef || 'None'}`], + f.y + ); + h.push(d); + let p = u.node().getBBox(); + e.setNode(a, { + width: p.width, + height: p.height, + shape: 'rect', + id: a + }); + }); + }, 'drawElements')), + (Zze = o( + (t, e) => ( + t.forEach(function (r) { + let n = Og(r.src), + i = Og(r.dst); + e.setEdge(n, i, { relationship: r }); + }), + t + ), + 'addRelationships' + )), + (Jze = o(function (t, e) { + e.nodes().forEach(function (r) { + r !== void 0 && + e.node(r) !== void 0 && + (t.select('#' + r), + t + .select('#' + r) + .attr( + 'transform', + 'translate(' + + (e.node(r).x - e.node(r).width / 2) + + ',' + + (e.node(r).y - e.node(r).height / 2) + + ' )' + )); + }); + }, 'adjustEntities')), + (Og = o((t) => t.replace(/\s/g, '').replace(/\./g, '_'), 'elementString')), + (eGe = o((t, e, r, n) => { + ai = de().requirement; + let i = ai.securityLevel, + a; + i === 'sandbox' && (a = $e('#i' + e)); + let l = (i === 'sandbox' ? $e(a.nodes()[0].contentDocument.body) : $e('body')).select( + `[id='${e}']` + ); + uO.insertLineEndings(l, ai); + let u = new lr({ multigraph: !1, compound: !1, directed: !0 }) + .setGraph({ + rankdir: ai.layoutDirection, + marginx: 20, + marginy: 20, + nodesep: 100, + edgesep: 100, + ranksep: 100 + }) + .setDefaultEdgeLabel(function () { + return {}; + }), + h = n.db.getRequirements(), + f = n.db.getElements(), + d = n.db.getRelationships(); + Kze(h, u, l), + Qze(f, u, l), + Zze(d, u), + lo(u), + Jze(l, u), + d.forEach(function (v) { + jze(l, v, u, e, n); + }); + let p = ai.rect_padding, + m = l.node().getBBox(), + g = m.width + p * 2, + y = m.height + p * 2; + Sr(l, y, g, ai.useMaxWidth), l.attr('viewBox', `${m.x - p} ${m.y - p} ${g} ${y}`); + }, 'draw')), + (Gue = { draw: eGe }); + }); + var Vue = {}; + hr(Vue, { diagram: () => tGe }); + var tGe, + Uue = R(() => { + 'use strict'; + Due(); + Nue(); + Iue(); + $ue(); + tGe = { parser: Lue, db: Rue, renderer: Gue, styles: Mue }; + }); + var hO, + Wue, + que = R(() => { + 'use strict'; + hO = (function () { + var t = o(function (H, q, K, se) { + for (K = K || {}, se = H.length; se--; K[H[se]] = q); + return K; + }, 'o'), + e = [1, 2], + r = [1, 3], + n = [1, 4], + i = [2, 4], + a = [1, 9], + s = [1, 11], + l = [1, 13], + u = [1, 14], + h = [1, 16], + f = [1, 17], + d = [1, 18], + p = [1, 24], + m = [1, 25], + g = [1, 26], + y = [1, 27], + v = [1, 28], + x = [1, 29], + b = [1, 30], + w = [1, 31], + S = [1, 32], + T = [1, 33], + E = [1, 34], + _ = [1, 35], + A = [1, 36], + L = [1, 37], + M = [1, 38], + N = [1, 39], + k = [1, 41], + I = [1, 42], + C = [1, 43], + O = [1, 44], + D = [1, 45], + P = [1, 46], + F = [ + 1, 4, 5, 13, 14, 16, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 47, 48, 49, + 50, 52, 53, 54, 59, 60, 61, 62, 70 + ], + B = [4, 5, 16, 50, 52, 53], + $ = [ + 4, 5, 13, 14, 16, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 50, 52, 53, + 54, 59, 60, 61, 62, 70 + ], + z = [ + 4, 5, 13, 14, 16, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 49, 50, 52, + 53, 54, 59, 60, 61, 62, 70 + ], + Y = [ + 4, 5, 13, 14, 16, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 48, 50, 52, + 53, 54, 59, 60, 61, 62, 70 + ], + Q = [ + 4, 5, 13, 14, 16, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 47, 50, 52, + 53, 54, 59, 60, 61, 62, 70 + ], + X = [68, 69, 70], + ie = [1, 122], + j = { + trace: o(function () {}, 'trace'), + yy: {}, + symbols_: { + error: 2, + start: 3, + SPACE: 4, + NEWLINE: 5, + SD: 6, + document: 7, + line: 8, + statement: 9, + box_section: 10, + box_line: 11, + participant_statement: 12, + create: 13, + box: 14, + restOfLine: 15, + end: 16, + signal: 17, + autonumber: 18, + NUM: 19, + off: 20, + activate: 21, + actor: 22, + deactivate: 23, + note_statement: 24, + links_statement: 25, + link_statement: 26, + properties_statement: 27, + details_statement: 28, + title: 29, + legacy_title: 30, + acc_title: 31, + acc_title_value: 32, + acc_descr: 33, + acc_descr_value: 34, + acc_descr_multiline_value: 35, + loop: 36, + rect: 37, + opt: 38, + alt: 39, + else_sections: 40, + par: 41, + par_sections: 42, + par_over: 43, + critical: 44, + option_sections: 45, + break: 46, + option: 47, + and: 48, + else: 49, + participant: 50, + AS: 51, + participant_actor: 52, + destroy: 53, + note: 54, + placement: 55, + text2: 56, + over: 57, + actor_pair: 58, + links: 59, + link: 60, + properties: 61, + details: 62, + spaceList: 63, + ',': 64, + left_of: 65, + right_of: 66, + signaltype: 67, + '+': 68, + '-': 69, + ACTOR: 70, + SOLID_OPEN_ARROW: 71, + DOTTED_OPEN_ARROW: 72, + SOLID_ARROW: 73, + BIDIRECTIONAL_SOLID_ARROW: 74, + DOTTED_ARROW: 75, + BIDIRECTIONAL_DOTTED_ARROW: 76, + SOLID_CROSS: 77, + DOTTED_CROSS: 78, + SOLID_POINT: 79, + DOTTED_POINT: 80, + TXT: 81, + $accept: 0, + $end: 1 + }, + terminals_: { + 2: 'error', + 4: 'SPACE', + 5: 'NEWLINE', + 6: 'SD', + 13: 'create', + 14: 'box', + 15: 'restOfLine', + 16: 'end', + 18: 'autonumber', + 19: 'NUM', + 20: 'off', + 21: 'activate', + 23: 'deactivate', + 29: 'title', + 30: 'legacy_title', + 31: 'acc_title', + 32: 'acc_title_value', + 33: 'acc_descr', + 34: 'acc_descr_value', + 35: 'acc_descr_multiline_value', + 36: 'loop', + 37: 'rect', + 38: 'opt', + 39: 'alt', + 41: 'par', + 43: 'par_over', + 44: 'critical', + 46: 'break', + 47: 'option', + 48: 'and', + 49: 'else', + 50: 'participant', + 51: 'AS', + 52: 'participant_actor', + 53: 'destroy', + 54: 'note', + 57: 'over', + 59: 'links', + 60: 'link', + 61: 'properties', + 62: 'details', + 64: ',', + 65: 'left_of', + 66: 'right_of', + 68: '+', + 69: '-', + 70: 'ACTOR', + 71: 'SOLID_OPEN_ARROW', + 72: 'DOTTED_OPEN_ARROW', + 73: 'SOLID_ARROW', + 74: 'BIDIRECTIONAL_SOLID_ARROW', + 75: 'DOTTED_ARROW', + 76: 'BIDIRECTIONAL_DOTTED_ARROW', + 77: 'SOLID_CROSS', + 78: 'DOTTED_CROSS', + 79: 'SOLID_POINT', + 80: 'DOTTED_POINT', + 81: 'TXT' + }, + productions_: [ + 0, + [3, 2], + [3, 2], + [3, 2], + [7, 0], + [7, 2], + [8, 2], + [8, 1], + [8, 1], + [10, 0], + [10, 2], + [11, 2], + [11, 1], + [11, 1], + [9, 1], + [9, 2], + [9, 4], + [9, 2], + [9, 4], + [9, 3], + [9, 3], + [9, 2], + [9, 3], + [9, 3], + [9, 2], + [9, 2], + [9, 2], + [9, 2], + [9, 2], + [9, 1], + [9, 1], + [9, 2], + [9, 2], + [9, 1], + [9, 4], + [9, 4], + [9, 4], + [9, 4], + [9, 4], + [9, 4], + [9, 4], + [9, 4], + [45, 1], + [45, 4], + [42, 1], + [42, 4], + [40, 1], + [40, 4], + [12, 5], + [12, 3], + [12, 5], + [12, 3], + [12, 3], + [24, 4], + [24, 4], + [25, 3], + [26, 3], + [27, 3], + [28, 3], + [63, 2], + [63, 1], + [58, 3], + [58, 1], + [55, 1], + [55, 1], + [17, 5], + [17, 5], + [17, 4], + [22, 1], + [67, 1], + [67, 1], + [67, 1], + [67, 1], + [67, 1], + [67, 1], + [67, 1], + [67, 1], + [67, 1], + [67, 1], + [56, 1] + ], + performAction: o(function (q, K, se, ce, ue, te, De) { + var oe = te.length - 1; + switch (ue) { + case 3: + return ce.apply(te[oe]), te[oe]; + break; + case 4: + case 9: + this.$ = []; + break; + case 5: + case 10: + te[oe - 1].push(te[oe]), (this.$ = te[oe - 1]); + break; + case 6: + case 7: + case 11: + case 12: + this.$ = te[oe]; + break; + case 8: + case 13: + this.$ = []; + break; + case 15: + (te[oe].type = 'createParticipant'), (this.$ = te[oe]); + break; + case 16: + te[oe - 1].unshift({ + type: 'boxStart', + boxData: ce.parseBoxData(te[oe - 2]) + }), + te[oe - 1].push({ type: 'boxEnd', boxText: te[oe - 2] }), + (this.$ = te[oe - 1]); + break; + case 18: + this.$ = { + type: 'sequenceIndex', + sequenceIndex: Number(te[oe - 2]), + sequenceIndexStep: Number(te[oe - 1]), + sequenceVisible: !0, + signalType: ce.LINETYPE.AUTONUMBER + }; + break; + case 19: + this.$ = { + type: 'sequenceIndex', + sequenceIndex: Number(te[oe - 1]), + sequenceIndexStep: 1, + sequenceVisible: !0, + signalType: ce.LINETYPE.AUTONUMBER + }; + break; + case 20: + this.$ = { + type: 'sequenceIndex', + sequenceVisible: !1, + signalType: ce.LINETYPE.AUTONUMBER + }; + break; + case 21: + this.$ = { + type: 'sequenceIndex', + sequenceVisible: !0, + signalType: ce.LINETYPE.AUTONUMBER + }; + break; + case 22: + this.$ = { + type: 'activeStart', + signalType: ce.LINETYPE.ACTIVE_START, + actor: te[oe - 1].actor + }; + break; + case 23: + this.$ = { + type: 'activeEnd', + signalType: ce.LINETYPE.ACTIVE_END, + actor: te[oe - 1].actor + }; + break; + case 29: + ce.setDiagramTitle(te[oe].substring(6)), (this.$ = te[oe].substring(6)); + break; + case 30: + ce.setDiagramTitle(te[oe].substring(7)), (this.$ = te[oe].substring(7)); + break; + case 31: + (this.$ = te[oe].trim()), ce.setAccTitle(this.$); + break; + case 32: + case 33: + (this.$ = te[oe].trim()), ce.setAccDescription(this.$); + break; + case 34: + te[oe - 1].unshift({ + type: 'loopStart', + loopText: ce.parseMessage(te[oe - 2]), + signalType: ce.LINETYPE.LOOP_START + }), + te[oe - 1].push({ + type: 'loopEnd', + loopText: te[oe - 2], + signalType: ce.LINETYPE.LOOP_END + }), + (this.$ = te[oe - 1]); + break; + case 35: + te[oe - 1].unshift({ + type: 'rectStart', + color: ce.parseMessage(te[oe - 2]), + signalType: ce.LINETYPE.RECT_START + }), + te[oe - 1].push({ + type: 'rectEnd', + color: ce.parseMessage(te[oe - 2]), + signalType: ce.LINETYPE.RECT_END + }), + (this.$ = te[oe - 1]); + break; + case 36: + te[oe - 1].unshift({ + type: 'optStart', + optText: ce.parseMessage(te[oe - 2]), + signalType: ce.LINETYPE.OPT_START + }), + te[oe - 1].push({ + type: 'optEnd', + optText: ce.parseMessage(te[oe - 2]), + signalType: ce.LINETYPE.OPT_END + }), + (this.$ = te[oe - 1]); + break; + case 37: + te[oe - 1].unshift({ + type: 'altStart', + altText: ce.parseMessage(te[oe - 2]), + signalType: ce.LINETYPE.ALT_START + }), + te[oe - 1].push({ + type: 'altEnd', + signalType: ce.LINETYPE.ALT_END + }), + (this.$ = te[oe - 1]); + break; + case 38: + te[oe - 1].unshift({ + type: 'parStart', + parText: ce.parseMessage(te[oe - 2]), + signalType: ce.LINETYPE.PAR_START + }), + te[oe - 1].push({ + type: 'parEnd', + signalType: ce.LINETYPE.PAR_END + }), + (this.$ = te[oe - 1]); + break; + case 39: + te[oe - 1].unshift({ + type: 'parStart', + parText: ce.parseMessage(te[oe - 2]), + signalType: ce.LINETYPE.PAR_OVER_START + }), + te[oe - 1].push({ + type: 'parEnd', + signalType: ce.LINETYPE.PAR_END + }), + (this.$ = te[oe - 1]); + break; + case 40: + te[oe - 1].unshift({ + type: 'criticalStart', + criticalText: ce.parseMessage(te[oe - 2]), + signalType: ce.LINETYPE.CRITICAL_START + }), + te[oe - 1].push({ + type: 'criticalEnd', + signalType: ce.LINETYPE.CRITICAL_END + }), + (this.$ = te[oe - 1]); + break; + case 41: + te[oe - 1].unshift({ + type: 'breakStart', + breakText: ce.parseMessage(te[oe - 2]), + signalType: ce.LINETYPE.BREAK_START + }), + te[oe - 1].push({ + type: 'breakEnd', + optText: ce.parseMessage(te[oe - 2]), + signalType: ce.LINETYPE.BREAK_END + }), + (this.$ = te[oe - 1]); + break; + case 43: + this.$ = te[oe - 3].concat([ + { + type: 'option', + optionText: ce.parseMessage(te[oe - 1]), + signalType: ce.LINETYPE.CRITICAL_OPTION + }, + te[oe] + ]); + break; + case 45: + this.$ = te[oe - 3].concat([ + { + type: 'and', + parText: ce.parseMessage(te[oe - 1]), + signalType: ce.LINETYPE.PAR_AND + }, + te[oe] + ]); + break; + case 47: + this.$ = te[oe - 3].concat([ + { + type: 'else', + altText: ce.parseMessage(te[oe - 1]), + signalType: ce.LINETYPE.ALT_ELSE + }, + te[oe] + ]); + break; + case 48: + (te[oe - 3].draw = 'participant'), + (te[oe - 3].type = 'addParticipant'), + (te[oe - 3].description = ce.parseMessage(te[oe - 1])), + (this.$ = te[oe - 3]); + break; + case 49: + (te[oe - 1].draw = 'participant'), + (te[oe - 1].type = 'addParticipant'), + (this.$ = te[oe - 1]); + break; + case 50: + (te[oe - 3].draw = 'actor'), + (te[oe - 3].type = 'addParticipant'), + (te[oe - 3].description = ce.parseMessage(te[oe - 1])), + (this.$ = te[oe - 3]); + break; + case 51: + (te[oe - 1].draw = 'actor'), + (te[oe - 1].type = 'addParticipant'), + (this.$ = te[oe - 1]); + break; + case 52: + (te[oe - 1].type = 'destroyParticipant'), (this.$ = te[oe - 1]); + break; + case 53: + this.$ = [ + te[oe - 1], + { + type: 'addNote', + placement: te[oe - 2], + actor: te[oe - 1].actor, + text: te[oe] + } + ]; + break; + case 54: + (te[oe - 2] = [].concat(te[oe - 1], te[oe - 1]).slice(0, 2)), + (te[oe - 2][0] = te[oe - 2][0].actor), + (te[oe - 2][1] = te[oe - 2][1].actor), + (this.$ = [ + te[oe - 1], + { + type: 'addNote', + placement: ce.PLACEMENT.OVER, + actor: te[oe - 2].slice(0, 2), + text: te[oe] + } + ]); + break; + case 55: + this.$ = [te[oe - 1], { type: 'addLinks', actor: te[oe - 1].actor, text: te[oe] }]; + break; + case 56: + this.$ = [te[oe - 1], { type: 'addALink', actor: te[oe - 1].actor, text: te[oe] }]; + break; + case 57: + this.$ = [ + te[oe - 1], + { + type: 'addProperties', + actor: te[oe - 1].actor, + text: te[oe] + } + ]; + break; + case 58: + this.$ = [ + te[oe - 1], + { + type: 'addDetails', + actor: te[oe - 1].actor, + text: te[oe] + } + ]; + break; + case 61: + this.$ = [te[oe - 2], te[oe]]; + break; + case 62: + this.$ = te[oe]; + break; + case 63: + this.$ = ce.PLACEMENT.LEFTOF; + break; + case 64: + this.$ = ce.PLACEMENT.RIGHTOF; + break; + case 65: + this.$ = [ + te[oe - 4], + te[oe - 1], + { + type: 'addMessage', + from: te[oe - 4].actor, + to: te[oe - 1].actor, + signalType: te[oe - 3], + msg: te[oe], + activate: !0 + }, + { + type: 'activeStart', + signalType: ce.LINETYPE.ACTIVE_START, + actor: te[oe - 1].actor + } + ]; + break; + case 66: + this.$ = [ + te[oe - 4], + te[oe - 1], + { + type: 'addMessage', + from: te[oe - 4].actor, + to: te[oe - 1].actor, + signalType: te[oe - 3], + msg: te[oe] + }, + { + type: 'activeEnd', + signalType: ce.LINETYPE.ACTIVE_END, + actor: te[oe - 4].actor + } + ]; + break; + case 67: + this.$ = [ + te[oe - 3], + te[oe - 1], + { + type: 'addMessage', + from: te[oe - 3].actor, + to: te[oe - 1].actor, + signalType: te[oe - 2], + msg: te[oe] + } + ]; + break; + case 68: + this.$ = { type: 'addParticipant', actor: te[oe] }; + break; + case 69: + this.$ = ce.LINETYPE.SOLID_OPEN; + break; + case 70: + this.$ = ce.LINETYPE.DOTTED_OPEN; + break; + case 71: + this.$ = ce.LINETYPE.SOLID; + break; + case 72: + this.$ = ce.LINETYPE.BIDIRECTIONAL_SOLID; + break; + case 73: + this.$ = ce.LINETYPE.DOTTED; + break; + case 74: + this.$ = ce.LINETYPE.BIDIRECTIONAL_DOTTED; + break; + case 75: + this.$ = ce.LINETYPE.SOLID_CROSS; + break; + case 76: + this.$ = ce.LINETYPE.DOTTED_CROSS; + break; + case 77: + this.$ = ce.LINETYPE.SOLID_POINT; + break; + case 78: + this.$ = ce.LINETYPE.DOTTED_POINT; + break; + case 79: + this.$ = ce.parseMessage(te[oe].trim().substring(1)); + break; + } + }, 'anonymous'), + table: [ + { 3: 1, 4: e, 5: r, 6: n }, + { 1: [3] }, + { 3: 5, 4: e, 5: r, 6: n }, + { 3: 6, 4: e, 5: r, 6: n }, + t( + [ + 1, 4, 5, 13, 14, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 50, + 52, 53, 54, 59, 60, 61, 62, 70 + ], + i, + { 7: 7 } + ), + { 1: [2, 1] }, + { 1: [2, 2] }, + { + 1: [2, 3], + 4: a, + 5: s, + 8: 8, + 9: 10, + 12: 12, + 13: l, + 14: u, + 17: 15, + 18: h, + 21: f, + 22: 40, + 23: d, + 24: 19, + 25: 20, + 26: 21, + 27: 22, + 28: 23, + 29: p, + 30: m, + 31: g, + 33: y, + 35: v, + 36: x, + 37: b, + 38: w, + 39: S, + 41: T, + 43: E, + 44: _, + 46: A, + 50: L, + 52: M, + 53: N, + 54: k, + 59: I, + 60: C, + 61: O, + 62: D, + 70: P + }, + t(F, [2, 5]), + { + 9: 47, + 12: 12, + 13: l, + 14: u, + 17: 15, + 18: h, + 21: f, + 22: 40, + 23: d, + 24: 19, + 25: 20, + 26: 21, + 27: 22, + 28: 23, + 29: p, + 30: m, + 31: g, + 33: y, + 35: v, + 36: x, + 37: b, + 38: w, + 39: S, + 41: T, + 43: E, + 44: _, + 46: A, + 50: L, + 52: M, + 53: N, + 54: k, + 59: I, + 60: C, + 61: O, + 62: D, + 70: P + }, + t(F, [2, 7]), + t(F, [2, 8]), + t(F, [2, 14]), + { 12: 48, 50: L, 52: M, 53: N }, + { 15: [1, 49] }, + { 5: [1, 50] }, + { 5: [1, 53], 19: [1, 51], 20: [1, 52] }, + { 22: 54, 70: P }, + { 22: 55, 70: P }, + { 5: [1, 56] }, + { 5: [1, 57] }, + { 5: [1, 58] }, + { 5: [1, 59] }, + { 5: [1, 60] }, + t(F, [2, 29]), + t(F, [2, 30]), + { 32: [1, 61] }, + { 34: [1, 62] }, + t(F, [2, 33]), + { 15: [1, 63] }, + { 15: [1, 64] }, + { 15: [1, 65] }, + { 15: [1, 66] }, + { 15: [1, 67] }, + { 15: [1, 68] }, + { 15: [1, 69] }, + { 15: [1, 70] }, + { 22: 71, 70: P }, + { 22: 72, 70: P }, + { 22: 73, 70: P }, + { + 67: 74, + 71: [1, 75], + 72: [1, 76], + 73: [1, 77], + 74: [1, 78], + 75: [1, 79], + 76: [1, 80], + 77: [1, 81], + 78: [1, 82], + 79: [1, 83], + 80: [1, 84] + }, + { 55: 85, 57: [1, 86], 65: [1, 87], 66: [1, 88] }, + { 22: 89, 70: P }, + { 22: 90, 70: P }, + { 22: 91, 70: P }, + { 22: 92, 70: P }, + t([5, 51, 64, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], [2, 68]), + t(F, [2, 6]), + t(F, [2, 15]), + t(B, [2, 9], { 10: 93 }), + t(F, [2, 17]), + { 5: [1, 95], 19: [1, 94] }, + { 5: [1, 96] }, + t(F, [2, 21]), + { 5: [1, 97] }, + { 5: [1, 98] }, + t(F, [2, 24]), + t(F, [2, 25]), + t(F, [2, 26]), + t(F, [2, 27]), + t(F, [2, 28]), + t(F, [2, 31]), + t(F, [2, 32]), + t($, i, { 7: 99 }), + t($, i, { 7: 100 }), + t($, i, { 7: 101 }), + t(z, i, { 40: 102, 7: 103 }), + t(Y, i, { 42: 104, 7: 105 }), + t(Y, i, { 7: 105, 42: 106 }), + t(Q, i, { 45: 107, 7: 108 }), + t($, i, { 7: 109 }), + { 5: [1, 111], 51: [1, 110] }, + { 5: [1, 113], 51: [1, 112] }, + { 5: [1, 114] }, + { 22: 117, 68: [1, 115], 69: [1, 116], 70: P }, + t(X, [2, 69]), + t(X, [2, 70]), + t(X, [2, 71]), + t(X, [2, 72]), + t(X, [2, 73]), + t(X, [2, 74]), + t(X, [2, 75]), + t(X, [2, 76]), + t(X, [2, 77]), + t(X, [2, 78]), + { 22: 118, 70: P }, + { 22: 120, 58: 119, 70: P }, + { 70: [2, 63] }, + { 70: [2, 64] }, + { 56: 121, 81: ie }, + { 56: 123, 81: ie }, + { 56: 124, 81: ie }, + { 56: 125, 81: ie }, + { + 4: [1, 128], + 5: [1, 130], + 11: 127, + 12: 129, + 16: [1, 126], + 50: L, + 52: M, + 53: N + }, + { 5: [1, 131] }, + t(F, [2, 19]), + t(F, [2, 20]), + t(F, [2, 22]), + t(F, [2, 23]), + { + 4: a, + 5: s, + 8: 8, + 9: 10, + 12: 12, + 13: l, + 14: u, + 16: [1, 132], + 17: 15, + 18: h, + 21: f, + 22: 40, + 23: d, + 24: 19, + 25: 20, + 26: 21, + 27: 22, + 28: 23, + 29: p, + 30: m, + 31: g, + 33: y, + 35: v, + 36: x, + 37: b, + 38: w, + 39: S, + 41: T, + 43: E, + 44: _, + 46: A, + 50: L, + 52: M, + 53: N, + 54: k, + 59: I, + 60: C, + 61: O, + 62: D, + 70: P + }, + { + 4: a, + 5: s, + 8: 8, + 9: 10, + 12: 12, + 13: l, + 14: u, + 16: [1, 133], + 17: 15, + 18: h, + 21: f, + 22: 40, + 23: d, + 24: 19, + 25: 20, + 26: 21, + 27: 22, + 28: 23, + 29: p, + 30: m, + 31: g, + 33: y, + 35: v, + 36: x, + 37: b, + 38: w, + 39: S, + 41: T, + 43: E, + 44: _, + 46: A, + 50: L, + 52: M, + 53: N, + 54: k, + 59: I, + 60: C, + 61: O, + 62: D, + 70: P + }, + { + 4: a, + 5: s, + 8: 8, + 9: 10, + 12: 12, + 13: l, + 14: u, + 16: [1, 134], + 17: 15, + 18: h, + 21: f, + 22: 40, + 23: d, + 24: 19, + 25: 20, + 26: 21, + 27: 22, + 28: 23, + 29: p, + 30: m, + 31: g, + 33: y, + 35: v, + 36: x, + 37: b, + 38: w, + 39: S, + 41: T, + 43: E, + 44: _, + 46: A, + 50: L, + 52: M, + 53: N, + 54: k, + 59: I, + 60: C, + 61: O, + 62: D, + 70: P + }, + { 16: [1, 135] }, + { + 4: a, + 5: s, + 8: 8, + 9: 10, + 12: 12, + 13: l, + 14: u, + 16: [2, 46], + 17: 15, + 18: h, + 21: f, + 22: 40, + 23: d, + 24: 19, + 25: 20, + 26: 21, + 27: 22, + 28: 23, + 29: p, + 30: m, + 31: g, + 33: y, + 35: v, + 36: x, + 37: b, + 38: w, + 39: S, + 41: T, + 43: E, + 44: _, + 46: A, + 49: [1, 136], + 50: L, + 52: M, + 53: N, + 54: k, + 59: I, + 60: C, + 61: O, + 62: D, + 70: P + }, + { 16: [1, 137] }, + { + 4: a, + 5: s, + 8: 8, + 9: 10, + 12: 12, + 13: l, + 14: u, + 16: [2, 44], + 17: 15, + 18: h, + 21: f, + 22: 40, + 23: d, + 24: 19, + 25: 20, + 26: 21, + 27: 22, + 28: 23, + 29: p, + 30: m, + 31: g, + 33: y, + 35: v, + 36: x, + 37: b, + 38: w, + 39: S, + 41: T, + 43: E, + 44: _, + 46: A, + 48: [1, 138], + 50: L, + 52: M, + 53: N, + 54: k, + 59: I, + 60: C, + 61: O, + 62: D, + 70: P + }, + { 16: [1, 139] }, + { 16: [1, 140] }, + { + 4: a, + 5: s, + 8: 8, + 9: 10, + 12: 12, + 13: l, + 14: u, + 16: [2, 42], + 17: 15, + 18: h, + 21: f, + 22: 40, + 23: d, + 24: 19, + 25: 20, + 26: 21, + 27: 22, + 28: 23, + 29: p, + 30: m, + 31: g, + 33: y, + 35: v, + 36: x, + 37: b, + 38: w, + 39: S, + 41: T, + 43: E, + 44: _, + 46: A, + 47: [1, 141], + 50: L, + 52: M, + 53: N, + 54: k, + 59: I, + 60: C, + 61: O, + 62: D, + 70: P + }, + { + 4: a, + 5: s, + 8: 8, + 9: 10, + 12: 12, + 13: l, + 14: u, + 16: [1, 142], + 17: 15, + 18: h, + 21: f, + 22: 40, + 23: d, + 24: 19, + 25: 20, + 26: 21, + 27: 22, + 28: 23, + 29: p, + 30: m, + 31: g, + 33: y, + 35: v, + 36: x, + 37: b, + 38: w, + 39: S, + 41: T, + 43: E, + 44: _, + 46: A, + 50: L, + 52: M, + 53: N, + 54: k, + 59: I, + 60: C, + 61: O, + 62: D, + 70: P + }, + { 15: [1, 143] }, + t(F, [2, 49]), + { 15: [1, 144] }, + t(F, [2, 51]), + t(F, [2, 52]), + { 22: 145, 70: P }, + { 22: 146, 70: P }, + { 56: 147, 81: ie }, + { 56: 148, 81: ie }, + { 56: 149, 81: ie }, + { 64: [1, 150], 81: [2, 62] }, + { 5: [2, 55] }, + { 5: [2, 79] }, + { 5: [2, 56] }, + { 5: [2, 57] }, + { 5: [2, 58] }, + t(F, [2, 16]), + t(B, [2, 10]), + { 12: 151, 50: L, 52: M, 53: N }, + t(B, [2, 12]), + t(B, [2, 13]), + t(F, [2, 18]), + t(F, [2, 34]), + t(F, [2, 35]), + t(F, [2, 36]), + t(F, [2, 37]), + { 15: [1, 152] }, + t(F, [2, 38]), + { 15: [1, 153] }, + t(F, [2, 39]), + t(F, [2, 40]), + { 15: [1, 154] }, + t(F, [2, 41]), + { 5: [1, 155] }, + { 5: [1, 156] }, + { 56: 157, 81: ie }, + { 56: 158, 81: ie }, + { 5: [2, 67] }, + { 5: [2, 53] }, + { 5: [2, 54] }, + { 22: 159, 70: P }, + t(B, [2, 11]), + t(z, i, { 7: 103, 40: 160 }), + t(Y, i, { 7: 105, 42: 161 }), + t(Q, i, { 7: 108, 45: 162 }), + t(F, [2, 48]), + t(F, [2, 50]), + { 5: [2, 65] }, + { 5: [2, 66] }, + { 81: [2, 61] }, + { 16: [2, 47] }, + { 16: [2, 45] }, + { 16: [2, 43] } + ], + defaultActions: { + 5: [2, 1], + 6: [2, 2], + 87: [2, 63], + 88: [2, 64], + 121: [2, 55], + 122: [2, 79], + 123: [2, 56], + 124: [2, 57], + 125: [2, 58], + 147: [2, 67], + 148: [2, 53], + 149: [2, 54], + 157: [2, 65], + 158: [2, 66], + 159: [2, 61], + 160: [2, 47], + 161: [2, 45], + 162: [2, 43] + }, + parseError: o(function (q, K) { + if (K.recoverable) this.trace(q); + else { + var se = new Error(q); + throw ((se.hash = K), se); + } + }, 'parseError'), + parse: o(function (q) { + var K = this, + se = [0], + ce = [], + ue = [null], + te = [], + De = this.table, + oe = '', + ke = 0, + Ie = 0, + Se = 0, + Ue = 2, + Pe = 1, + _e = te.slice.call(arguments, 1), + me = Object.create(this.lexer), + W = { yy: {} }; + for (var fe in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, fe) && (W.yy[fe] = this.yy[fe]); + me.setInput(q, W.yy), + (W.yy.lexer = me), + (W.yy.parser = this), + typeof me.yylloc > 'u' && (me.yylloc = {}); + var ge = me.yylloc; + te.push(ge); + var re = me.options && me.options.ranges; + typeof W.yy.parseError == 'function' + ? (this.parseError = W.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError); + function he(yt) { + (se.length = se.length - 2 * yt), + (ue.length = ue.length - yt), + (te.length = te.length - yt); + } + o(he, 'popStack'); + function ne() { + var yt; + return ( + (yt = ce.pop() || me.lex() || Pe), + typeof yt != 'number' && + (yt instanceof Array && ((ce = yt), (yt = ce.pop())), + (yt = K.symbols_[yt] || yt)), + yt + ); + } + o(ne, 'lex'); + for (var ae, we, Te, Ce, Ae, Ge, Me = {}, ye, He, ze, Ze; ; ) { + if ( + ((Te = se[se.length - 1]), + this.defaultActions[Te] + ? (Ce = this.defaultActions[Te]) + : ((ae === null || typeof ae > 'u') && (ae = ne()), + (Ce = De[Te] && De[Te][ae])), + typeof Ce > 'u' || !Ce.length || !Ce[0]) + ) { + var gt = ''; + Ze = []; + for (ye in De[Te]) + this.terminals_[ye] && ye > Ue && Ze.push("'" + this.terminals_[ye] + "'"); + me.showPosition + ? (gt = + 'Parse error on line ' + + (ke + 1) + + `: +` + + me.showPosition() + + ` +Expecting ` + + Ze.join(', ') + + ", got '" + + (this.terminals_[ae] || ae) + + "'") + : (gt = + 'Parse error on line ' + + (ke + 1) + + ': Unexpected ' + + (ae == Pe ? 'end of input' : "'" + (this.terminals_[ae] || ae) + "'")), + this.parseError(gt, { + text: me.match, + token: this.terminals_[ae] || ae, + line: me.yylineno, + loc: ge, + expected: Ze + }); + } + if (Ce[0] instanceof Array && Ce.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + Te + ', token: ' + ae + ); + switch (Ce[0]) { + case 1: + se.push(ae), + ue.push(me.yytext), + te.push(me.yylloc), + se.push(Ce[1]), + (ae = null), + we + ? ((ae = we), (we = null)) + : ((Ie = me.yyleng), + (oe = me.yytext), + (ke = me.yylineno), + (ge = me.yylloc), + Se > 0 && Se--); + break; + case 2: + if ( + ((He = this.productions_[Ce[1]][1]), + (Me.$ = ue[ue.length - He]), + (Me._$ = { + first_line: te[te.length - (He || 1)].first_line, + last_line: te[te.length - 1].last_line, + first_column: te[te.length - (He || 1)].first_column, + last_column: te[te.length - 1].last_column + }), + re && + (Me._$.range = [ + te[te.length - (He || 1)].range[0], + te[te.length - 1].range[1] + ]), + (Ge = this.performAction.apply( + Me, + [oe, Ie, ke, W.yy, Ce[1], ue, te].concat(_e) + )), + typeof Ge < 'u') + ) + return Ge; + He && + ((se = se.slice(0, -1 * He * 2)), + (ue = ue.slice(0, -1 * He)), + (te = te.slice(0, -1 * He))), + se.push(this.productions_[Ce[1]][0]), + ue.push(Me.$), + te.push(Me._$), + (ze = De[se[se.length - 2]][se[se.length - 1]]), + se.push(ze); + break; + case 3: + return !0; + } + } + return !0; + }, 'parse') + }, + J = (function () { + var H = { + EOF: 1, + parseError: o(function (K, se) { + if (this.yy.parser) this.yy.parser.parseError(K, se); + else throw new Error(K); + }, 'parseError'), + setInput: o(function (q, K) { + return ( + (this.yy = K || this.yy || {}), + (this._input = q), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, 'setInput'), + input: o(function () { + var q = this._input[0]; + (this.yytext += q), + this.yyleng++, + this.offset++, + (this.match += q), + (this.matched += q); + var K = q.match(/(?:\r\n?|\n).*/g); + return ( + K ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + q + ); + }, 'input'), + unput: o(function (q) { + var K = q.length, + se = q.split(/(?:\r\n?|\n)/g); + (this._input = q + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - K)), + (this.offset -= K); + var ce = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + se.length - 1 && (this.yylineno -= se.length - 1); + var ue = this.yylloc.range; + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: se + ? (se.length === ce.length ? this.yylloc.first_column : 0) + + ce[ce.length - se.length].length - + se[0].length + : this.yylloc.first_column - K + }), + this.options.ranges && (this.yylloc.range = [ue[0], ue[0] + this.yyleng - K]), + (this.yyleng = this.yytext.length), + this + ); + }, 'unput'), + more: o(function () { + return (this._more = !0), this; + }, 'more'), + reject: o(function () { + if (this.options.backtrack_lexer) this._backtrack = !0; + else + return this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + return this; + }, 'reject'), + less: o(function (q) { + this.unput(this.match.slice(q)); + }, 'less'), + pastInput: o(function () { + var q = this.matched.substr(0, this.matched.length - this.match.length); + return (q.length > 20 ? '...' : '') + q.substr(-20).replace(/\n/g, ''); + }, 'pastInput'), + upcomingInput: o(function () { + var q = this.match; + return ( + q.length < 20 && (q += this._input.substr(0, 20 - q.length)), + (q.substr(0, 20) + (q.length > 20 ? '...' : '')).replace(/\n/g, '') + ); + }, 'upcomingInput'), + showPosition: o(function () { + var q = this.pastInput(), + K = new Array(q.length + 1).join('-'); + return ( + q + + this.upcomingInput() + + ` +` + + K + + '^' + ); + }, 'showPosition'), + test_match: o(function (q, K) { + var se, ce, ue; + if ( + (this.options.backtrack_lexer && + ((ue = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }), + this.options.ranges && (ue.yylloc.range = this.yylloc.range.slice(0))), + (ce = q[0].match(/(?:\r\n?|\n).*/g)), + ce && (this.yylineno += ce.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: ce + ? ce[ce.length - 1].length - ce[ce.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + q[0].length + }), + (this.yytext += q[0]), + (this.match += q[0]), + (this.matches = q), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(q[0].length)), + (this.matched += q[0]), + (se = this.performAction.call( + this, + this.yy, + this, + K, + this.conditionStack[this.conditionStack.length - 1] + )), + this.done && this._input && (this.done = !1), + se) + ) + return se; + if (this._backtrack) { + for (var te in ue) this[te] = ue[te]; + return !1; + } + return !1; + }, 'test_match'), + next: o(function () { + if (this.done) return this.EOF; + this._input || (this.done = !0); + var q, K, se, ce; + this._more || ((this.yytext = ''), (this.match = '')); + for (var ue = this._currentRules(), te = 0; te < ue.length; te++) + if ( + ((se = this._input.match(this.rules[ue[te]])), + se && (!K || se[0].length > K[0].length)) + ) { + if (((K = se), (ce = te), this.options.backtrack_lexer)) { + if (((q = this.test_match(se, ue[te])), q !== !1)) return q; + if (this._backtrack) { + K = !1; + continue; + } else return !1; + } else if (!this.options.flex) break; + } + return K + ? ((q = this.test_match(K, ue[ce])), q !== !1 ? q : !1) + : this._input === '' + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, 'next'), + lex: o(function () { + var K = this.next(); + return K || this.lex(); + }, 'lex'), + begin: o(function (K) { + this.conditionStack.push(K); + }, 'begin'), + popState: o(function () { + var K = this.conditionStack.length - 1; + return K > 0 ? this.conditionStack.pop() : this.conditionStack[0]; + }, 'popState'), + _currentRules: o(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules; + }, '_currentRules'), + topState: o(function (K) { + return ( + (K = this.conditionStack.length - 1 - Math.abs(K || 0)), + K >= 0 ? this.conditionStack[K] : 'INITIAL' + ); + }, 'topState'), + pushState: o(function (K) { + this.begin(K); + }, 'pushState'), + stateStackSize: o(function () { + return this.conditionStack.length; + }, 'stateStackSize'), + options: { 'case-insensitive': !0 }, + performAction: o(function (K, se, ce, ue) { + var te = ue; + switch (ce) { + case 0: + return 5; + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + break; + case 5: + break; + case 6: + return 19; + case 7: + return this.begin('LINE'), 14; + break; + case 8: + return this.begin('ID'), 50; + break; + case 9: + return this.begin('ID'), 52; + break; + case 10: + return 13; + case 11: + return this.begin('ID'), 53; + break; + case 12: + return (se.yytext = se.yytext.trim()), this.begin('ALIAS'), 70; + break; + case 13: + return this.popState(), this.popState(), this.begin('LINE'), 51; + break; + case 14: + return this.popState(), this.popState(), 5; + break; + case 15: + return this.begin('LINE'), 36; + break; + case 16: + return this.begin('LINE'), 37; + break; + case 17: + return this.begin('LINE'), 38; + break; + case 18: + return this.begin('LINE'), 39; + break; + case 19: + return this.begin('LINE'), 49; + break; + case 20: + return this.begin('LINE'), 41; + break; + case 21: + return this.begin('LINE'), 43; + break; + case 22: + return this.begin('LINE'), 48; + break; + case 23: + return this.begin('LINE'), 44; + break; + case 24: + return this.begin('LINE'), 47; + break; + case 25: + return this.begin('LINE'), 46; + break; + case 26: + return this.popState(), 15; + break; + case 27: + return 16; + case 28: + return 65; + case 29: + return 66; + case 30: + return 59; + case 31: + return 60; + case 32: + return 61; + case 33: + return 62; + case 34: + return 57; + case 35: + return 54; + case 36: + return this.begin('ID'), 21; + break; + case 37: + return this.begin('ID'), 23; + break; + case 38: + return 29; + case 39: + return 30; + case 40: + return this.begin('acc_title'), 31; + break; + case 41: + return this.popState(), 'acc_title_value'; + break; + case 42: + return this.begin('acc_descr'), 33; + break; + case 43: + return this.popState(), 'acc_descr_value'; + break; + case 44: + this.begin('acc_descr_multiline'); + break; + case 45: + this.popState(); + break; + case 46: + return 'acc_descr_multiline_value'; + case 47: + return 6; + case 48: + return 18; + case 49: + return 20; + case 50: + return 64; + case 51: + return 5; + case 52: + return (se.yytext = se.yytext.trim()), 70; + break; + case 53: + return 73; + case 54: + return 74; + case 55: + return 75; + case 56: + return 76; + case 57: + return 71; + case 58: + return 72; + case 59: + return 77; + case 60: + return 78; + case 61: + return 79; + case 62: + return 80; + case 63: + return 81; + case 64: + return 68; + case 65: + return 69; + case 66: + return 5; + case 67: + return 'INVALID'; + } + }, 'anonymous'), + rules: [ + /^(?:[\n]+)/i, + /^(?:\s+)/i, + /^(?:((?!\n)\s)+)/i, + /^(?:#[^\n]*)/i, + /^(?:%(?!\{)[^\n]*)/i, + /^(?:[^\}]%%[^\n]*)/i, + /^(?:[0-9]+(?=[ \n]+))/i, + /^(?:box\b)/i, + /^(?:participant\b)/i, + /^(?:actor\b)/i, + /^(?:create\b)/i, + /^(?:destroy\b)/i, + /^(?:[^\<->\->:\n,;]+?([\-]*[^\<->\->:\n,;]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i, + /^(?:as\b)/i, + /^(?:(?:))/i, + /^(?:loop\b)/i, + /^(?:rect\b)/i, + /^(?:opt\b)/i, + /^(?:alt\b)/i, + /^(?:else\b)/i, + /^(?:par\b)/i, + /^(?:par_over\b)/i, + /^(?:and\b)/i, + /^(?:critical\b)/i, + /^(?:option\b)/i, + /^(?:break\b)/i, + /^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i, + /^(?:end\b)/i, + /^(?:left of\b)/i, + /^(?:right of\b)/i, + /^(?:links\b)/i, + /^(?:link\b)/i, + /^(?:properties\b)/i, + /^(?:details\b)/i, + /^(?:over\b)/i, + /^(?:note\b)/i, + /^(?:activate\b)/i, + /^(?:deactivate\b)/i, + /^(?:title\s[^#\n;]+)/i, + /^(?:title:\s[^#\n;]+)/i, + /^(?:accTitle\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*\{\s*)/i, + /^(?:[\}])/i, + /^(?:[^\}]*)/i, + /^(?:sequenceDiagram\b)/i, + /^(?:autonumber\b)/i, + /^(?:off\b)/i, + /^(?:,)/i, + /^(?:;)/i, + /^(?:[^\+\<->\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+\<->\->:\n,;]+)*)/i, + /^(?:->>)/i, + /^(?:<<->>)/i, + /^(?:-->>)/i, + /^(?:<<-->>)/i, + /^(?:->)/i, + /^(?:-->)/i, + /^(?:-[x])/i, + /^(?:--[x])/i, + /^(?:-[\)])/i, + /^(?:--[\)])/i, + /^(?::(?:(?:no)?wrap)?[^#\n;]+)/i, + /^(?:\+)/i, + /^(?:-)/i, + /^(?:$)/i, + /^(?:.)/i + ], + conditions: { + acc_descr_multiline: { rules: [45, 46], inclusive: !1 }, + acc_descr: { rules: [43], inclusive: !1 }, + acc_title: { rules: [41], inclusive: !1 }, + ID: { rules: [2, 3, 12], inclusive: !1 }, + ALIAS: { rules: [2, 3, 13, 14], inclusive: !1 }, + LINE: { rules: [2, 3, 26], inclusive: !1 }, + INITIAL: { + rules: [ + 0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 44, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67 + ], + inclusive: !0 + } + } + }; + return H; + })(); + j.lexer = J; + function Z() { + this.yy = {}; + } + return o(Z, 'Parser'), (Z.prototype = j), (j.Parser = Z), new Z(); + })(); + hO.parser = hO; + Wue = hO; + }); + function dO(t, e) { + if (t.links == null) t.links = e; + else for (let r in e) t.links[r] = e[r]; + } + function Zue(t, e) { + if (t.properties == null) t.properties = e; + else for (let r in e) t.properties[r] = e[r]; + } + function SGe() { + Mt.records.currentBox = void 0; + } + var Mt, + aGe, + fO, + sGe, + oGe, + pi, + lGe, + cGe, + uGe, + hGe, + fGe, + dGe, + pGe, + xx, + mGe, + gGe, + yGe, + vGe, + xGe, + Xue, + A0, + bGe, + wGe, + TGe, + vx, + kGe, + EGe, + jue, + Kue, + CGe, + Que, + Jue, + AGe, + ehe, + pO, + the = R(() => { + 'use strict'; + _t(); + ut(); + Jk(); + rr(); + bi(); + (Mt = new uf(() => ({ + prevActor: void 0, + actors: new Map(), + createdActors: new Map(), + destroyedActors: new Map(), + boxes: [], + messages: [], + notes: [], + sequenceNumbersEnabled: !1, + wrapEnabled: void 0, + currentBox: void 0, + lastCreated: void 0, + lastDestroyed: void 0 + }))), + (aGe = o(function (t) { + Mt.records.boxes.push({ + name: t.text, + wrap: t.wrap ?? A0(), + fill: t.color, + actorKeys: [] + }), + (Mt.records.currentBox = Mt.records.boxes.slice(-1)[0]); + }, 'addBox')), + (fO = o(function (t, e, r, n) { + let i = Mt.records.currentBox, + a = Mt.records.actors.get(t); + if (a) { + if (Mt.records.currentBox && a.box && Mt.records.currentBox !== a.box) + throw new Error( + `A same participant should only be defined in one Box: ${a.name} can't be in '${a.box.name}' and in '${Mt.records.currentBox.name}' at the same time.` + ); + if (((i = a.box ? a.box : Mt.records.currentBox), (a.box = i), a && e === a.name && r == null)) + return; + } + if ( + (r?.text == null && (r = { text: e, type: n }), + (n == null || r.text == null) && (r = { text: e, type: n }), + Mt.records.actors.set(t, { + box: i, + name: e, + description: r.text, + wrap: r.wrap ?? A0(), + prevActor: Mt.records.prevActor, + links: {}, + properties: {}, + actorCnt: null, + rectData: null, + type: n ?? 'participant' + }), + Mt.records.prevActor) + ) { + let s = Mt.records.actors.get(Mt.records.prevActor); + s && (s.nextActor = t); + } + Mt.records.currentBox && Mt.records.currentBox.actorKeys.push(t), (Mt.records.prevActor = t); + }, 'addActor')), + (sGe = o((t) => { + let e, + r = 0; + if (!t) return 0; + for (e = 0; e < Mt.records.messages.length; e++) + Mt.records.messages[e].type === vx.ACTIVE_START && Mt.records.messages[e].from === t && r++, + Mt.records.messages[e].type === vx.ACTIVE_END && Mt.records.messages[e].from === t && r--; + return r; + }, 'activationCount')), + (oGe = o(function (t, e, r, n) { + Mt.records.messages.push({ + from: t, + to: e, + message: r.text, + wrap: r.wrap ?? A0(), + answer: n + }); + }, 'addMessage')), + (pi = o(function (t, e, r, n, i = !1) { + if (n === vx.ACTIVE_END && sGe(t ?? '') < 1) { + let s = new Error('Trying to inactivate an inactive participant (' + t + ')'); + throw ( + ((s.hash = { + text: '->>-', + token: '->>-', + line: '1', + loc: { + first_line: 1, + last_line: 1, + first_column: 1, + last_column: 1 + }, + expected: ["'ACTIVE_PARTICIPANT'"] + }), + s) + ); + } + return ( + Mt.records.messages.push({ + from: t, + to: e, + message: r?.text ?? '', + wrap: r?.wrap ?? A0(), + type: n, + activate: i + }), + !0 + ); + }, 'addSignal')), + (lGe = o(function () { + return Mt.records.boxes.length > 0; + }, 'hasAtLeastOneBox')), + (cGe = o(function () { + return Mt.records.boxes.some((t) => t.name); + }, 'hasAtLeastOneBoxWithTitle')), + (uGe = o(function () { + return Mt.records.messages; + }, 'getMessages')), + (hGe = o(function () { + return Mt.records.boxes; + }, 'getBoxes')), + (fGe = o(function () { + return Mt.records.actors; + }, 'getActors')), + (dGe = o(function () { + return Mt.records.createdActors; + }, 'getCreatedActors')), + (pGe = o(function () { + return Mt.records.destroyedActors; + }, 'getDestroyedActors')), + (xx = o(function (t) { + return Mt.records.actors.get(t); + }, 'getActor')), + (mGe = o(function () { + return [...Mt.records.actors.keys()]; + }, 'getActorKeys')), + (gGe = o(function () { + Mt.records.sequenceNumbersEnabled = !0; + }, 'enableSequenceNumbers')), + (yGe = o(function () { + Mt.records.sequenceNumbersEnabled = !1; + }, 'disableSequenceNumbers')), + (vGe = o(() => Mt.records.sequenceNumbersEnabled, 'showSequenceNumbers')), + (xGe = o(function (t) { + Mt.records.wrapEnabled = t; + }, 'setWrap')), + (Xue = o((t) => { + if (t === void 0) return {}; + t = t.trim(); + let e = /^:?wrap:/.exec(t) !== null ? !0 : /^:?nowrap:/.exec(t) !== null ? !1 : void 0; + return { + cleanedText: (e === void 0 ? t : t.replace(/^:?(?:no)?wrap:/, '')).trim(), + wrap: e + }; + }, 'extractWrap')), + (A0 = o( + () => (Mt.records.wrapEnabled !== void 0 ? Mt.records.wrapEnabled : de().sequence?.wrap ?? !1), + 'autoWrap' + )), + (bGe = o(function () { + Mt.reset(), vr(); + }, 'clear')), + (wGe = o(function (t) { + let e = t.trim(), + { wrap: r, cleanedText: n } = Xue(e), + i = { text: n, wrap: r }; + return V.debug(`parseMessage: ${JSON.stringify(i)}`), i; + }, 'parseMessage')), + (TGe = o(function (t) { + let e = /^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(t), + r = e?.[1] ? e[1].trim() : 'transparent', + n = e?.[2] ? e[2].trim() : void 0; + if (window?.CSS) window.CSS.supports('color', r) || ((r = 'transparent'), (n = t.trim())); + else { + let s = new Option().style; + (s.color = r), s.color !== r && ((r = 'transparent'), (n = t.trim())); + } + let { wrap: i, cleanedText: a } = Xue(n); + return { text: a ? qr(a, de()) : void 0, color: r, wrap: i }; + }, 'parseBoxData')), + (vx = { + SOLID: 0, + DOTTED: 1, + NOTE: 2, + SOLID_CROSS: 3, + DOTTED_CROSS: 4, + SOLID_OPEN: 5, + DOTTED_OPEN: 6, + LOOP_START: 10, + LOOP_END: 11, + ALT_START: 12, + ALT_ELSE: 13, + ALT_END: 14, + OPT_START: 15, + OPT_END: 16, + ACTIVE_START: 17, + ACTIVE_END: 18, + PAR_START: 19, + PAR_AND: 20, + PAR_END: 21, + RECT_START: 22, + RECT_END: 23, + SOLID_POINT: 24, + DOTTED_POINT: 25, + AUTONUMBER: 26, + CRITICAL_START: 27, + CRITICAL_OPTION: 28, + CRITICAL_END: 29, + BREAK_START: 30, + BREAK_END: 31, + PAR_OVER_START: 32, + BIDIRECTIONAL_SOLID: 33, + BIDIRECTIONAL_DOTTED: 34 + }), + (kGe = { FILLED: 0, OPEN: 1 }), + (EGe = { LEFTOF: 0, RIGHTOF: 1, OVER: 2 }), + (jue = o(function (t, e, r) { + let n = { + actor: t, + placement: e, + message: r.text, + wrap: r.wrap ?? A0() + }, + i = [].concat(t, t); + Mt.records.notes.push(n), + Mt.records.messages.push({ + from: i[0], + to: i[1], + message: r.text, + wrap: r.wrap ?? A0(), + type: vx.NOTE, + placement: e + }); + }, 'addNote')), + (Kue = o(function (t, e) { + let r = xx(t); + try { + let n = qr(e.text, de()); + (n = n.replace(/&/g, '&')), (n = n.replace(/=/g, '=')); + let i = JSON.parse(n); + dO(r, i); + } catch (n) { + V.error('error while parsing actor link text', n); + } + }, 'addLinks')), + (CGe = o(function (t, e) { + let r = xx(t); + try { + let n = {}, + i = qr(e.text, de()), + a = i.indexOf('@'); + (i = i.replace(/&/g, '&')), (i = i.replace(/=/g, '=')); + let s = i.slice(0, a - 1).trim(), + l = i.slice(a + 1).trim(); + (n[s] = l), dO(r, n); + } catch (n) { + V.error('error while parsing actor link text', n); + } + }, 'addALink')); + o(dO, 'insertLinks'); + Que = o(function (t, e) { + let r = xx(t); + try { + let n = qr(e.text, de()), + i = JSON.parse(n); + Zue(r, i); + } catch (n) { + V.error('error while parsing actor properties text', n); + } + }, 'addProperties'); + o(Zue, 'insertProperties'); + o(SGe, 'boxEnd'); + (Jue = o(function (t, e) { + let r = xx(t), + n = document.getElementById(e.text); + try { + let i = n.innerHTML, + a = JSON.parse(i); + a.properties && Zue(r, a.properties), a.links && dO(r, a.links); + } catch (i) { + V.error('error while parsing actor details text', i); + } + }, 'addDetails')), + (AGe = o(function (t, e) { + if (t?.properties !== void 0) return t.properties[e]; + }, 'getActorProperty')), + (ehe = o(function (t) { + if (Array.isArray(t)) + t.forEach(function (e) { + ehe(e); + }); + else + switch (t.type) { + case 'sequenceIndex': + Mt.records.messages.push({ + from: void 0, + to: void 0, + message: { + start: t.sequenceIndex, + step: t.sequenceIndexStep, + visible: t.sequenceVisible + }, + wrap: !1, + type: t.signalType + }); + break; + case 'addParticipant': + fO(t.actor, t.actor, t.description, t.draw); + break; + case 'createParticipant': + if (Mt.records.actors.has(t.actor)) + throw new Error( + "It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior" + ); + (Mt.records.lastCreated = t.actor), + fO(t.actor, t.actor, t.description, t.draw), + Mt.records.createdActors.set(t.actor, Mt.records.messages.length); + break; + case 'destroyParticipant': + (Mt.records.lastDestroyed = t.actor), + Mt.records.destroyedActors.set(t.actor, Mt.records.messages.length); + break; + case 'activeStart': + pi(t.actor, void 0, void 0, t.signalType); + break; + case 'activeEnd': + pi(t.actor, void 0, void 0, t.signalType); + break; + case 'addNote': + jue(t.actor, t.placement, t.text); + break; + case 'addLinks': + Kue(t.actor, t.text); + break; + case 'addALink': + CGe(t.actor, t.text); + break; + case 'addProperties': + Que(t.actor, t.text); + break; + case 'addDetails': + Jue(t.actor, t.text); + break; + case 'addMessage': + if (Mt.records.lastCreated) { + if (t.to !== Mt.records.lastCreated) + throw new Error( + 'The created participant ' + + Mt.records.lastCreated.name + + ' does not have an associated creating message after its declaration. Please check the sequence diagram.' + ); + Mt.records.lastCreated = void 0; + } else if (Mt.records.lastDestroyed) { + if (t.to !== Mt.records.lastDestroyed && t.from !== Mt.records.lastDestroyed) + throw new Error( + 'The destroyed participant ' + + Mt.records.lastDestroyed.name + + ' does not have an associated destroying message after its declaration. Please check the sequence diagram.' + ); + Mt.records.lastDestroyed = void 0; + } + pi(t.from, t.to, t.msg, t.signalType, t.activate); + break; + case 'boxStart': + aGe(t.boxData); + break; + case 'boxEnd': + SGe(); + break; + case 'loopStart': + pi(void 0, void 0, t.loopText, t.signalType); + break; + case 'loopEnd': + pi(void 0, void 0, void 0, t.signalType); + break; + case 'rectStart': + pi(void 0, void 0, t.color, t.signalType); + break; + case 'rectEnd': + pi(void 0, void 0, void 0, t.signalType); + break; + case 'optStart': + pi(void 0, void 0, t.optText, t.signalType); + break; + case 'optEnd': + pi(void 0, void 0, void 0, t.signalType); + break; + case 'altStart': + pi(void 0, void 0, t.altText, t.signalType); + break; + case 'else': + pi(void 0, void 0, t.altText, t.signalType); + break; + case 'altEnd': + pi(void 0, void 0, void 0, t.signalType); + break; + case 'setAccTitle': + kr(t.text); + break; + case 'parStart': + pi(void 0, void 0, t.parText, t.signalType); + break; + case 'and': + pi(void 0, void 0, t.parText, t.signalType); + break; + case 'parEnd': + pi(void 0, void 0, void 0, t.signalType); + break; + case 'criticalStart': + pi(void 0, void 0, t.criticalText, t.signalType); + break; + case 'option': + pi(void 0, void 0, t.optionText, t.signalType); + break; + case 'criticalEnd': + pi(void 0, void 0, void 0, t.signalType); + break; + case 'breakStart': + pi(void 0, void 0, t.breakText, t.signalType); + break; + case 'breakEnd': + pi(void 0, void 0, void 0, t.signalType); + break; + } + }, 'apply')), + (pO = { + addActor: fO, + addMessage: oGe, + addSignal: pi, + addLinks: Kue, + addDetails: Jue, + addProperties: Que, + autoWrap: A0, + setWrap: xGe, + enableSequenceNumbers: gGe, + disableSequenceNumbers: yGe, + showSequenceNumbers: vGe, + getMessages: uGe, + getActors: fGe, + getCreatedActors: dGe, + getDestroyedActors: pGe, + getActor: xx, + getActorKeys: mGe, + getActorProperty: AGe, + getAccTitle: Ar, + getBoxes: hGe, + getDiagramTitle: Xr, + setDiagramTitle: nn, + getConfig: o(() => de().sequence, 'getConfig'), + clear: bGe, + parseMessage: wGe, + parseBoxData: TGe, + LINETYPE: vx, + ARROWTYPE: kGe, + PLACEMENT: EGe, + addNote: jue, + setAccTitle: kr, + apply: ehe, + setAccDescription: _r, + getAccDescription: Lr, + hasAtLeastOneBox: lGe, + hasAtLeastOneBoxWithTitle: cGe + }); + }); + var _Ge, + rhe, + nhe = R(() => { + 'use strict'; + (_Ge = o( + (t) => `.actor { + stroke: ${t.actorBorder}; + fill: ${t.actorBkg}; + } + + text.actor > tspan { + fill: ${t.actorTextColor}; + stroke: none; + } + + .actor-line { + stroke: ${t.actorLineColor}; + } + + .messageLine0 { + stroke-width: 1.5; + stroke-dasharray: none; + stroke: ${t.signalColor}; + } + + .messageLine1 { + stroke-width: 1.5; + stroke-dasharray: 2, 2; + stroke: ${t.signalColor}; + } + + #arrowhead path { + fill: ${t.signalColor}; + stroke: ${t.signalColor}; + } + + .sequenceNumber { + fill: ${t.sequenceNumberColor}; + } + + #sequencenumber { + fill: ${t.signalColor}; + } + + #crosshead path { + fill: ${t.signalColor}; + stroke: ${t.signalColor}; + } + + .messageText { + fill: ${t.signalTextColor}; + stroke: none; + } + + .labelBox { + stroke: ${t.labelBoxBorderColor}; + fill: ${t.labelBoxBkgColor}; + } + + .labelText, .labelText > tspan { + fill: ${t.labelTextColor}; + stroke: none; + } + + .loopText, .loopText > tspan { + fill: ${t.loopTextColor}; + stroke: none; + } + + .loopLine { + stroke-width: 2px; + stroke-dasharray: 2, 2; + stroke: ${t.labelBoxBorderColor}; + fill: ${t.labelBoxBorderColor}; + } + + .note { + //stroke: #decc93; + stroke: ${t.noteBorderColor}; + fill: ${t.noteBkgColor}; + } + + .noteText, .noteText > tspan { + fill: ${t.noteTextColor}; + stroke: none; + } + + .activation0 { + fill: ${t.activationBkgColor}; + stroke: ${t.activationBorderColor}; + } + + .activation1 { + fill: ${t.activationBkgColor}; + stroke: ${t.activationBorderColor}; + } + + .activation2 { + fill: ${t.activationBkgColor}; + stroke: ${t.activationBorderColor}; + } + + .actorPopupMenu { + position: absolute; + } + + .actorPopupMenuPanel { + position: absolute; + fill: ${t.actorBkg}; + box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); + filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4)); +} + .actor-man line { + stroke: ${t.actorBorder}; + fill: ${t.actorBkg}; + } + .actor-man circle, line { + stroke: ${t.actorBorder}; + fill: ${t.actorBkg}; + stroke-width: 2px; + } +`, + 'getStyles' + )), + (rhe = _Ge); + }); + var mO, + gf, + ahe, + she, + LGe, + ihe, + gO, + DGe, + RGe, + bx, + _0, + ohe, + Bc, + yO, + NGe, + MGe, + IGe, + OGe, + PGe, + BGe, + FGe, + lhe, + zGe, + GGe, + $Ge, + VGe, + UGe, + HGe, + YGe, + che, + WGe, + vO, + qGe, + si, + uhe = R(() => { + 'use strict'; + rr(); + Qy(); + xr(); + mO = Xi(Up(), 1); + qs(); + (gf = 18 * 2), + (ahe = 'actor-top'), + (she = 'actor-bottom'), + (LGe = 'actor-box'), + (ihe = 'actor-man'), + (gO = o(function (t, e) { + return yd(t, e); + }, 'drawRect')), + (DGe = o(function (t, e, r, n, i) { + if (e.links === void 0 || e.links === null || Object.keys(e.links).length === 0) + return { height: 0, width: 0 }; + let a = e.links, + s = e.actorCnt, + l = e.rectData; + var u = 'none'; + i && (u = 'block !important'); + let h = t.append('g'); + h.attr('id', 'actor' + s + '_popup'), h.attr('class', 'actorPopupMenu'), h.attr('display', u); + var f = ''; + l.class !== void 0 && (f = ' ' + l.class); + let d = l.width > r ? l.width : r, + p = h.append('rect'); + if ( + (p.attr('class', 'actorPopupMenuPanel' + f), + p.attr('x', l.x), + p.attr('y', l.height), + p.attr('fill', l.fill), + p.attr('stroke', l.stroke), + p.attr('width', d), + p.attr('height', l.height), + p.attr('rx', l.rx), + p.attr('ry', l.ry), + a != null) + ) { + var m = 20; + for (let v in a) { + var g = h.append('a'), + y = (0, mO.sanitizeUrl)(a[v]); + g.attr('xlink:href', y), + g.attr('target', '_blank'), + qGe(n)(v, g, l.x + 10, l.height + m, d, 20, { class: 'actor' }, n), + (m += 30); + } + } + return p.attr('height', m), { height: l.height + m, width: d }; + }, 'drawPopup')), + (RGe = o(function (t) { + return ( + "var pu = document.getElementById('" + + t + + "'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }" + ); + }, 'popupMenuToggle')), + (bx = o(async function (t, e, r = null) { + let n = t.append('foreignObject'), + i = await yh(e.text, Or()), + s = n + .append('xhtml:div') + .attr('style', 'width: fit-content;') + .attr('xmlns', 'http://www.w3.org/1999/xhtml') + .html(i) + .node() + .getBoundingClientRect(); + if ( + (n.attr('height', Math.round(s.height)).attr('width', Math.round(s.width)), + e.class === 'noteText') + ) { + let l = t.node().firstChild; + l.setAttribute('height', s.height + 2 * e.textMargin); + let u = l.getBBox(); + n.attr('x', Math.round(u.x + u.width / 2 - s.width / 2)).attr( + 'y', + Math.round(u.y + u.height / 2 - s.height / 2) + ); + } else if (r) { + let { startx: l, stopx: u, starty: h } = r; + if (l > u) { + let f = l; + (l = u), (u = f); + } + n.attr('x', Math.round(l + Math.abs(l - u) / 2 - s.width / 2)), + e.class === 'loopText' ? n.attr('y', Math.round(h)) : n.attr('y', Math.round(h - s.height)); + } + return [n]; + }, 'drawKatex')), + (_0 = o(function (t, e) { + let r = 0, + n = 0, + i = e.text.split(We.lineBreakRegex), + [a, s] = mc(e.fontSize), + l = [], + u = 0, + h = o(() => e.y, 'yfunc'); + if (e.valign !== void 0 && e.textMargin !== void 0 && e.textMargin > 0) + switch (e.valign) { + case 'top': + case 'start': + h = o(() => Math.round(e.y + e.textMargin), 'yfunc'); + break; + case 'middle': + case 'center': + h = o(() => Math.round(e.y + (r + n + e.textMargin) / 2), 'yfunc'); + break; + case 'bottom': + case 'end': + h = o(() => Math.round(e.y + (r + n + 2 * e.textMargin) - e.textMargin), 'yfunc'); + break; + } + if (e.anchor !== void 0 && e.textMargin !== void 0 && e.width !== void 0) + switch (e.anchor) { + case 'left': + case 'start': + (e.x = Math.round(e.x + e.textMargin)), + (e.anchor = 'start'), + (e.dominantBaseline = 'middle'), + (e.alignmentBaseline = 'middle'); + break; + case 'middle': + case 'center': + (e.x = Math.round(e.x + e.width / 2)), + (e.anchor = 'middle'), + (e.dominantBaseline = 'middle'), + (e.alignmentBaseline = 'middle'); + break; + case 'right': + case 'end': + (e.x = Math.round(e.x + e.width - e.textMargin)), + (e.anchor = 'end'), + (e.dominantBaseline = 'middle'), + (e.alignmentBaseline = 'middle'); + break; + } + for (let [f, d] of i.entries()) { + e.textMargin !== void 0 && e.textMargin === 0 && a !== void 0 && (u = f * a); + let p = t.append('text'); + p.attr('x', e.x), + p.attr('y', h()), + e.anchor !== void 0 && + p + .attr('text-anchor', e.anchor) + .attr('dominant-baseline', e.dominantBaseline) + .attr('alignment-baseline', e.alignmentBaseline), + e.fontFamily !== void 0 && p.style('font-family', e.fontFamily), + s !== void 0 && p.style('font-size', s), + e.fontWeight !== void 0 && p.style('font-weight', e.fontWeight), + e.fill !== void 0 && p.attr('fill', e.fill), + e.class !== void 0 && p.attr('class', e.class), + e.dy !== void 0 ? p.attr('dy', e.dy) : u !== 0 && p.attr('dy', u); + let m = d || K_; + if (e.tspan) { + let g = p.append('tspan'); + g.attr('x', e.x), e.fill !== void 0 && g.attr('fill', e.fill), g.text(m); + } else p.text(m); + e.valign !== void 0 && + e.textMargin !== void 0 && + e.textMargin > 0 && + ((n += (p._groups || p)[0][0].getBBox().height), (r = n)), + l.push(p); + } + return l; + }, 'drawText')), + (ohe = o(function (t, e) { + function r(i, a, s, l, u) { + return ( + i + + ',' + + a + + ' ' + + (i + s) + + ',' + + a + + ' ' + + (i + s) + + ',' + + (a + l - u) + + ' ' + + (i + s - u * 1.2) + + ',' + + (a + l) + + ' ' + + i + + ',' + + (a + l) + ); + } + o(r, 'genPoints'); + let n = t.append('polygon'); + return ( + n.attr('points', r(e.x, e.y, e.width, e.height, 7)), + n.attr('class', 'labelBox'), + (e.y = e.y + e.height / 2), + _0(t, e), + n + ); + }, 'drawLabel')), + (Bc = -1), + (yO = o((t, e, r, n) => { + t.select && + r.forEach((i) => { + let a = e.get(i), + s = t.select('#actor' + a.actorCnt); + !n.mirrorActors && a.stopy + ? s.attr('y2', a.stopy + a.height / 2) + : n.mirrorActors && s.attr('y2', a.stopy); + }); + }, 'fixLifeLineHeights')), + (NGe = o(function (t, e, r, n) { + let i = n ? e.stopy : e.starty, + a = e.x + e.width / 2, + s = i + 5, + l = t.append('g').lower(); + var u = l; + n || + (Bc++, + Object.keys(e.links || {}).length && + !r.forceMenus && + u.attr('onclick', RGe(`actor${Bc}_popup`)).attr('cursor', 'pointer'), + u + .append('line') + .attr('id', 'actor' + Bc) + .attr('x1', a) + .attr('y1', s) + .attr('x2', a) + .attr('y2', 2e3) + .attr('class', 'actor-line 200') + .attr('stroke-width', '0.5px') + .attr('stroke', '#999') + .attr('name', e.name), + (u = l.append('g')), + (e.actorCnt = Bc), + e.links != null && u.attr('id', 'root-' + Bc)); + let h = wl(); + var f = 'actor'; + e.properties?.class ? (f = e.properties.class) : (h.fill = '#eaeaea'), + n ? (f += ` ${she}`) : (f += ` ${ahe}`), + (h.x = e.x), + (h.y = i), + (h.width = e.width), + (h.height = e.height), + (h.class = f), + (h.rx = 3), + (h.ry = 3), + (h.name = e.name); + let d = gO(u, h); + if (((e.rectData = h), e.properties?.icon)) { + let m = e.properties.icon.trim(); + m.charAt(0) === '@' + ? EW(u, h.x + h.width - 20, h.y + 10, m.substr(1)) + : kW(u, h.x + h.width - 20, h.y + 10, m); + } + vO(r, Ni(e.description))( + e.description, + u, + h.x, + h.y, + h.width, + h.height, + { class: `actor ${LGe}` }, + r + ); + let p = e.height; + if (d.node) { + let m = d.node().getBBox(); + (e.height = m.height), (p = m.height); + } + return p; + }, 'drawActorTypeParticipant')), + (MGe = o(function (t, e, r, n) { + let i = n ? e.stopy : e.starty, + a = e.x + e.width / 2, + s = i + 80, + l = t.append('g').lower(); + n || + (Bc++, + l + .append('line') + .attr('id', 'actor' + Bc) + .attr('x1', a) + .attr('y1', s) + .attr('x2', a) + .attr('y2', 2e3) + .attr('class', 'actor-line 200') + .attr('stroke-width', '0.5px') + .attr('stroke', '#999') + .attr('name', e.name), + (e.actorCnt = Bc)); + let u = t.append('g'), + h = ihe; + n ? (h += ` ${she}`) : (h += ` ${ahe}`), u.attr('class', h), u.attr('name', e.name); + let f = wl(); + (f.x = e.x), + (f.y = i), + (f.fill = '#eaeaea'), + (f.width = e.width), + (f.height = e.height), + (f.class = 'actor'), + (f.rx = 3), + (f.ry = 3), + u + .append('line') + .attr('id', 'actor-man-torso' + Bc) + .attr('x1', a) + .attr('y1', i + 25) + .attr('x2', a) + .attr('y2', i + 45), + u + .append('line') + .attr('id', 'actor-man-arms' + Bc) + .attr('x1', a - gf / 2) + .attr('y1', i + 33) + .attr('x2', a + gf / 2) + .attr('y2', i + 33), + u + .append('line') + .attr('x1', a - gf / 2) + .attr('y1', i + 60) + .attr('x2', a) + .attr('y2', i + 45), + u + .append('line') + .attr('x1', a) + .attr('y1', i + 45) + .attr('x2', a + gf / 2 - 2) + .attr('y2', i + 60); + let d = u.append('circle'); + d.attr('cx', e.x + e.width / 2), + d.attr('cy', i + 10), + d.attr('r', 15), + d.attr('width', e.width), + d.attr('height', e.height); + let p = u.node().getBBox(); + return ( + (e.height = p.height), + vO(r, Ni(e.description))( + e.description, + u, + f.x, + f.y + 35, + f.width, + f.height, + { class: `actor ${ihe}` }, + r + ), + e.height + ); + }, 'drawActorTypeActor')), + (IGe = o(async function (t, e, r, n) { + switch (e.type) { + case 'actor': + return await MGe(t, e, r, n); + case 'participant': + return await NGe(t, e, r, n); + } + }, 'drawActor')), + (OGe = o(function (t, e, r) { + let i = t.append('g'); + lhe(i, e), + e.name && + vO(r)(e.name, i, e.x, e.y + (e.textMaxHeight || 0) / 2, e.width, 0, { class: 'text' }, r), + i.lower(); + }, 'drawBox')), + (PGe = o(function (t) { + return t.append('g'); + }, 'anchorElement')), + (BGe = o(function (t, e, r, n, i) { + let a = wl(), + s = e.anchored; + (a.x = e.startx), + (a.y = e.starty), + (a.class = 'activation' + (i % 3)), + (a.width = e.stopx - e.startx), + (a.height = r - e.starty), + gO(s, a); + }, 'drawActivation')), + (FGe = o(async function (t, e, r, n) { + let { + boxMargin: i, + boxTextMargin: a, + labelBoxHeight: s, + labelBoxWidth: l, + messageFontFamily: u, + messageFontSize: h, + messageFontWeight: f + } = n, + d = t.append('g'), + p = o(function (y, v, x, b) { + return d + .append('line') + .attr('x1', y) + .attr('y1', v) + .attr('x2', x) + .attr('y2', b) + .attr('class', 'loopLine'); + }, 'drawLoopLine'); + p(e.startx, e.starty, e.stopx, e.starty), + p(e.stopx, e.starty, e.stopx, e.stopy), + p(e.startx, e.stopy, e.stopx, e.stopy), + p(e.startx, e.starty, e.startx, e.stopy), + e.sections !== void 0 && + e.sections.forEach(function (y) { + p(e.startx, y.y, e.stopx, y.y).style('stroke-dasharray', '3, 3'); + }); + let m = Ky(); + (m.text = r), + (m.x = e.startx), + (m.y = e.starty), + (m.fontFamily = u), + (m.fontSize = h), + (m.fontWeight = f), + (m.anchor = 'middle'), + (m.valign = 'middle'), + (m.tspan = !1), + (m.width = l || 50), + (m.height = s || 20), + (m.textMargin = a), + (m.class = 'labelText'), + ohe(d, m), + (m = che()), + (m.text = e.title), + (m.x = e.startx + l / 2 + (e.stopx - e.startx) / 2), + (m.y = e.starty + i + a), + (m.anchor = 'middle'), + (m.valign = 'middle'), + (m.textMargin = a), + (m.class = 'loopText'), + (m.fontFamily = u), + (m.fontSize = h), + (m.fontWeight = f), + (m.wrap = !0); + let g = Ni(m.text) ? await bx(d, m, e) : _0(d, m); + if (e.sectionTitles !== void 0) { + for (let [y, v] of Object.entries(e.sectionTitles)) + if (v.message) { + (m.text = v.message), + (m.x = e.startx + (e.stopx - e.startx) / 2), + (m.y = e.sections[y].y + i + a), + (m.class = 'loopText'), + (m.anchor = 'middle'), + (m.valign = 'middle'), + (m.tspan = !1), + (m.fontFamily = u), + (m.fontSize = h), + (m.fontWeight = f), + (m.wrap = e.wrap), + Ni(m.text) ? ((e.starty = e.sections[y].y), await bx(d, m, e)) : _0(d, m); + let x = Math.round( + g.map((b) => (b._groups || b)[0][0].getBBox().height).reduce((b, w) => b + w) + ); + e.sections[y].height += x - (i + a); + } + } + return (e.height = Math.round(e.stopy - e.starty)), d; + }, 'drawLoop')), + (lhe = o(function (t, e) { + j3(t, e); + }, 'drawBackgroundRect')), + (zGe = o(function (t) { + t.append('defs') + .append('symbol') + .attr('id', 'database') + .attr('fill-rule', 'evenodd') + .attr('clip-rule', 'evenodd') + .append('path') + .attr('transform', 'scale(.5)') + .attr( + 'd', + 'M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z' + ); + }, 'insertDatabaseIcon')), + (GGe = o(function (t) { + t.append('defs') + .append('symbol') + .attr('id', 'computer') + .attr('width', '24') + .attr('height', '24') + .append('path') + .attr('transform', 'scale(.5)') + .attr( + 'd', + 'M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z' + ); + }, 'insertComputerIcon')), + ($Ge = o(function (t) { + t.append('defs') + .append('symbol') + .attr('id', 'clock') + .attr('width', '24') + .attr('height', '24') + .append('path') + .attr('transform', 'scale(.5)') + .attr( + 'd', + 'M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z' + ); + }, 'insertClockIcon')), + (VGe = o(function (t) { + t.append('defs') + .append('marker') + .attr('id', 'arrowhead') + .attr('refX', 7.9) + .attr('refY', 5) + .attr('markerUnits', 'userSpaceOnUse') + .attr('markerWidth', 12) + .attr('markerHeight', 12) + .attr('orient', 'auto-start-reverse') + .append('path') + .attr('d', 'M -1 0 L 10 5 L 0 10 z'); + }, 'insertArrowHead')), + (UGe = o(function (t) { + t.append('defs') + .append('marker') + .attr('id', 'filled-head') + .attr('refX', 15.5) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L14,7 L9,1 Z'); + }, 'insertArrowFilledHead')), + (HGe = o(function (t) { + t.append('defs') + .append('marker') + .attr('id', 'sequencenumber') + .attr('refX', 15) + .attr('refY', 15) + .attr('markerWidth', 60) + .attr('markerHeight', 40) + .attr('orient', 'auto') + .append('circle') + .attr('cx', 15) + .attr('cy', 15) + .attr('r', 6); + }, 'insertSequenceNumber')), + (YGe = o(function (t) { + t.append('defs') + .append('marker') + .attr('id', 'crosshead') + .attr('markerWidth', 15) + .attr('markerHeight', 8) + .attr('orient', 'auto') + .attr('refX', 4) + .attr('refY', 4.5) + .append('path') + .attr('fill', 'none') + .attr('stroke', '#000000') + .style('stroke-dasharray', '0, 0') + .attr('stroke-width', '1pt') + .attr('d', 'M 1,2 L 6,7 M 6,2 L 1,7'); + }, 'insertArrowCrossHead')), + (che = o(function () { + return { + x: 0, + y: 0, + fill: void 0, + anchor: void 0, + style: '#666', + width: void 0, + height: void 0, + textMargin: 0, + rx: 0, + ry: 0, + tspan: !0, + valign: void 0 + }; + }, 'getTextObj')), + (WGe = o(function () { + return { + x: 0, + y: 0, + fill: '#EDF2AE', + stroke: '#666', + width: 100, + anchor: 'start', + height: 100, + rx: 0, + ry: 0 + }; + }, 'getNoteRect')), + (vO = (function () { + function t(a, s, l, u, h, f, d) { + let p = s + .append('text') + .attr('x', l + h / 2) + .attr('y', u + f / 2 + 5) + .style('text-anchor', 'middle') + .text(a); + i(p, d); + } + o(t, 'byText'); + function e(a, s, l, u, h, f, d, p) { + let { actorFontSize: m, actorFontFamily: g, actorFontWeight: y } = p, + [v, x] = mc(m), + b = a.split(We.lineBreakRegex); + for (let w = 0; w < b.length; w++) { + let S = w * v - (v * (b.length - 1)) / 2, + T = s + .append('text') + .attr('x', l + h / 2) + .attr('y', u) + .style('text-anchor', 'middle') + .style('font-size', x) + .style('font-weight', y) + .style('font-family', g); + T.append('tspan') + .attr('x', l + h / 2) + .attr('dy', S) + .text(b[w]), + T.attr('y', u + f / 2) + .attr('dominant-baseline', 'central') + .attr('alignment-baseline', 'central'), + i(T, d); + } + } + o(e, 'byTspan'); + function r(a, s, l, u, h, f, d, p) { + let m = s.append('switch'), + y = m + .append('foreignObject') + .attr('x', l) + .attr('y', u) + .attr('width', h) + .attr('height', f) + .append('xhtml:div') + .style('display', 'table') + .style('height', '100%') + .style('width', '100%'); + y + .append('div') + .style('display', 'table-cell') + .style('text-align', 'center') + .style('vertical-align', 'middle') + .text(a), + e(a, m, l, u, h, f, d, p), + i(y, d); + } + o(r, 'byFo'); + async function n(a, s, l, u, h, f, d, p) { + let m = await Zf(a, Or()), + g = s.append('switch'), + v = g + .append('foreignObject') + .attr('x', l + h / 2 - m.width / 2) + .attr('y', u + f / 2 - m.height / 2) + .attr('width', m.width) + .attr('height', m.height) + .append('xhtml:div') + .style('height', '100%') + .style('width', '100%'); + v + .append('div') + .style('text-align', 'center') + .style('vertical-align', 'middle') + .html(await yh(a, Or())), + e(a, g, l, u, h, f, d, p), + i(v, d); + } + o(n, 'byKatex'); + function i(a, s) { + for (let l in s) s.hasOwnProperty(l) && a.attr(l, s[l]); + } + return ( + o(i, '_setTextAttrs'), + function (a, s = !1) { + return s ? n : a.textPlacement === 'fo' ? r : a.textPlacement === 'old' ? t : e; + } + ); + })()), + (qGe = (function () { + function t(i, a, s, l, u, h, f) { + let d = a.append('text').attr('x', s).attr('y', l).style('text-anchor', 'start').text(i); + n(d, f); + } + o(t, 'byText'); + function e(i, a, s, l, u, h, f, d) { + let { actorFontSize: p, actorFontFamily: m, actorFontWeight: g } = d, + y = i.split(We.lineBreakRegex); + for (let v = 0; v < y.length; v++) { + let x = v * p - (p * (y.length - 1)) / 2, + b = a + .append('text') + .attr('x', s) + .attr('y', l) + .style('text-anchor', 'start') + .style('font-size', p) + .style('font-weight', g) + .style('font-family', m); + b.append('tspan').attr('x', s).attr('dy', x).text(y[v]), + b + .attr('y', l + h / 2) + .attr('dominant-baseline', 'central') + .attr('alignment-baseline', 'central'), + n(b, f); + } + } + o(e, 'byTspan'); + function r(i, a, s, l, u, h, f, d) { + let p = a.append('switch'), + g = p + .append('foreignObject') + .attr('x', s) + .attr('y', l) + .attr('width', u) + .attr('height', h) + .append('xhtml:div') + .style('display', 'table') + .style('height', '100%') + .style('width', '100%'); + g + .append('div') + .style('display', 'table-cell') + .style('text-align', 'center') + .style('vertical-align', 'middle') + .text(i), + e(i, p, s, l, u, h, f, d), + n(g, f); + } + o(r, 'byFo'); + function n(i, a) { + for (let s in a) a.hasOwnProperty(s) && i.attr(s, a[s]); + } + return ( + o(n, '_setTextAttrs'), + function (i) { + return i.textPlacement === 'fo' ? r : i.textPlacement === 'old' ? t : e; + } + ); + })()), + (si = { + drawRect: gO, + drawText: _0, + drawLabel: ohe, + drawActor: IGe, + drawBox: OGe, + drawPopup: DGe, + anchorElement: PGe, + drawActivation: BGe, + drawLoop: FGe, + drawBackgroundRect: lhe, + insertArrowHead: VGe, + insertArrowFilledHead: UGe, + insertSequenceNumber: HGe, + insertArrowCrossHead: YGe, + insertDatabaseIcon: zGe, + insertComputerIcon: GGe, + insertClockIcon: $Ge, + getTextObj: che, + getNoteRect: WGe, + fixLifeLineHeights: yO, + sanitizeUrl: mO.sanitizeUrl + }); + }); + async function jGe(t, e) { + Ke.bumpVerticalPos(10); + let { startx: r, stopx: n, message: i } = e, + a = We.splitBreaks(i).length, + s = Ni(i), + l = s ? await Zf(i, de()) : Lt.calculateTextDimensions(i, L0(Ne)); + if (!s) { + let d = l.height / a; + (e.height += d), Ke.bumpVerticalPos(d); + } + let u, + h = l.height - 10, + f = l.width; + if (r === n) { + (u = Ke.getVerticalPos() + h), + Ne.rightAngles || ((h += Ne.boxMargin), (u = Ke.getVerticalPos() + h)), + (h += 30); + let d = We.getMax(f / 2, Ne.width / 2); + Ke.insert(r - d, Ke.getVerticalPos() - 10 + h, n + d, Ke.getVerticalPos() + 30 + h); + } else (h += Ne.boxMargin), (u = Ke.getVerticalPos() + h), Ke.insert(r, u - 10, n, u); + return ( + Ke.bumpVerticalPos(h), + (e.height += h), + (e.stopy = e.starty + e.height), + Ke.insert(e.fromBounds, e.starty, e.toBounds, e.stopy), + u + ); + } + function Fc(t, e, r, n, i) { + Ke.bumpVerticalPos(r); + let a = n; + if (e.id && e.message && t[e.id]) { + let s = t[e.id].width, + l = L0(Ne); + (e.message = Lt.wrapLabel(`[${e.message}]`, s - 2 * Ne.wrapPadding, l)), (e.width = s), (e.wrap = !0); + let u = Lt.calculateTextDimensions(e.message, l), + h = We.getMax(u.height, Ne.labelBoxHeight); + (a = n + h), V.debug(`${h} - ${e.message}`); + } + i(e), Ke.bumpVerticalPos(a); + } + function ZGe(t, e, r, n, i, a, s) { + function l(h, f) { + h.x < i.get(t.from).x + ? (Ke.insert(e.stopx - f, e.starty, e.startx, e.stopy + h.height / 2 + Ne.noteMargin), + (e.stopx = e.stopx + f)) + : (Ke.insert(e.startx, e.starty, e.stopx + f, e.stopy + h.height / 2 + Ne.noteMargin), + (e.stopx = e.stopx - f)); + } + o(l, 'receiverAdjustment'); + function u(h, f) { + h.x < i.get(t.to).x + ? (Ke.insert(e.startx - f, e.starty, e.stopx, e.stopy + h.height / 2 + Ne.noteMargin), + (e.startx = e.startx + f)) + : (Ke.insert(e.stopx, e.starty, e.startx + f, e.stopy + h.height / 2 + Ne.noteMargin), + (e.startx = e.startx - f)); + } + if ((o(u, 'senderAdjustment'), a.get(t.to) == n)) { + let h = i.get(t.to), + f = h.type == 'actor' ? gf / 2 + 3 : h.width / 2 + 3; + l(h, f), (h.starty = r - h.height / 2), Ke.bumpVerticalPos(h.height / 2); + } else if (s.get(t.from) == n) { + let h = i.get(t.from); + if (Ne.mirrorActors) { + let f = h.type == 'actor' ? gf / 2 : h.width / 2; + u(h, f); + } + (h.stopy = r - h.height / 2), Ke.bumpVerticalPos(h.height / 2); + } else if (s.get(t.to) == n) { + let h = i.get(t.to); + if (Ne.mirrorActors) { + let f = h.type == 'actor' ? gf / 2 + 3 : h.width / 2 + 3; + l(h, f); + } + (h.stopy = r - h.height / 2), Ke.bumpVerticalPos(h.height / 2); + } + } + async function e$e(t, e, r) { + let n = {}; + for (let i of e) + if (t.get(i.to) && t.get(i.from)) { + let a = t.get(i.to); + if ( + (i.placement === r.db.PLACEMENT.LEFTOF && !a.prevActor) || + (i.placement === r.db.PLACEMENT.RIGHTOF && !a.nextActor) + ) + continue; + let s = i.placement !== void 0, + l = !s, + u = s ? Pg(Ne) : L0(Ne), + h = i.wrap ? Lt.wrapLabel(i.message, Ne.width - 2 * Ne.wrapPadding, u) : i.message, + d = + (Ni(h) ? await Zf(i.message, de()) : Lt.calculateTextDimensions(h, u)).width + + 2 * Ne.wrapPadding; + l && i.from === a.nextActor + ? (n[i.to] = We.getMax(n[i.to] || 0, d)) + : l && i.from === a.prevActor + ? (n[i.from] = We.getMax(n[i.from] || 0, d)) + : l && i.from === i.to + ? ((n[i.from] = We.getMax(n[i.from] || 0, d / 2)), (n[i.to] = We.getMax(n[i.to] || 0, d / 2))) + : i.placement === r.db.PLACEMENT.RIGHTOF + ? (n[i.from] = We.getMax(n[i.from] || 0, d)) + : i.placement === r.db.PLACEMENT.LEFTOF + ? (n[a.prevActor] = We.getMax(n[a.prevActor] || 0, d)) + : i.placement === r.db.PLACEMENT.OVER && + (a.prevActor && (n[a.prevActor] = We.getMax(n[a.prevActor] || 0, d / 2)), + a.nextActor && (n[i.from] = We.getMax(n[i.from] || 0, d / 2))); + } + return V.debug('maxMessageWidthPerActor:', n), n; + } + async function r$e(t, e, r) { + let n = 0; + for (let a of t.keys()) { + let s = t.get(a); + s.wrap && (s.description = Lt.wrapLabel(s.description, Ne.width - 2 * Ne.wrapPadding, xO(Ne))); + let l = Ni(s.description) + ? await Zf(s.description, de()) + : Lt.calculateTextDimensions(s.description, xO(Ne)); + (s.width = s.wrap ? Ne.width : We.getMax(Ne.width, l.width + 2 * Ne.wrapPadding)), + (s.height = s.wrap ? We.getMax(l.height, Ne.height) : Ne.height), + (n = We.getMax(n, s.height)); + } + for (let a in e) { + let s = t.get(a); + if (!s) continue; + let l = t.get(s.nextActor); + if (!l) { + let d = e[a] + Ne.actorMargin - s.width / 2; + s.margin = We.getMax(d, Ne.actorMargin); + continue; + } + let h = e[a] + Ne.actorMargin - s.width / 2 - l.width / 2; + s.margin = We.getMax(h, Ne.actorMargin); + } + let i = 0; + return ( + r.forEach((a) => { + let s = L0(Ne), + l = a.actorKeys.reduce((f, d) => (f += t.get(d).width + (t.get(d).margin || 0)), 0); + (l -= 2 * Ne.boxTextMargin), a.wrap && (a.name = Lt.wrapLabel(a.name, l - 2 * Ne.wrapPadding, s)); + let u = Lt.calculateTextDimensions(a.name, s); + i = We.getMax(u.height, i); + let h = We.getMax(l, u.width + 2 * Ne.wrapPadding); + if (((a.margin = Ne.boxTextMargin), l < h)) { + let f = (h - l) / 2; + a.margin += f; + } + }), + r.forEach((a) => (a.textMaxHeight = i)), + We.getMax(n, Ne.height) + ); + } + var Ne, + Ke, + XGe, + L0, + Pg, + xO, + KGe, + QGe, + bO, + fhe, + dhe, + bE, + hhe, + JGe, + t$e, + n$e, + i$e, + a$e, + phe, + mhe = R(() => { + 'use strict'; + Zt(); + uhe(); + ut(); + rr(); + Qy(); + _t(); + cp(); + xr(); + Yn(); + (Ne = {}), + (Ke = { + data: { + startx: void 0, + stopx: void 0, + starty: void 0, + stopy: void 0 + }, + verticalPos: 0, + sequenceItems: [], + activations: [], + models: { + getHeight: o(function () { + return ( + Math.max.apply( + null, + this.actors.length === 0 ? [0] : this.actors.map((t) => t.height || 0) + ) + + (this.loops.length === 0 + ? 0 + : this.loops.map((t) => t.height || 0).reduce((t, e) => t + e)) + + (this.messages.length === 0 + ? 0 + : this.messages.map((t) => t.height || 0).reduce((t, e) => t + e)) + + (this.notes.length === 0 + ? 0 + : this.notes.map((t) => t.height || 0).reduce((t, e) => t + e)) + ); + }, 'getHeight'), + clear: o(function () { + (this.actors = []), + (this.boxes = []), + (this.loops = []), + (this.messages = []), + (this.notes = []); + }, 'clear'), + addBox: o(function (t) { + this.boxes.push(t); + }, 'addBox'), + addActor: o(function (t) { + this.actors.push(t); + }, 'addActor'), + addLoop: o(function (t) { + this.loops.push(t); + }, 'addLoop'), + addMessage: o(function (t) { + this.messages.push(t); + }, 'addMessage'), + addNote: o(function (t) { + this.notes.push(t); + }, 'addNote'), + lastActor: o(function () { + return this.actors[this.actors.length - 1]; + }, 'lastActor'), + lastLoop: o(function () { + return this.loops[this.loops.length - 1]; + }, 'lastLoop'), + lastMessage: o(function () { + return this.messages[this.messages.length - 1]; + }, 'lastMessage'), + lastNote: o(function () { + return this.notes[this.notes.length - 1]; + }, 'lastNote'), + actors: [], + boxes: [], + loops: [], + messages: [], + notes: [] + }, + init: o(function () { + (this.sequenceItems = []), + (this.activations = []), + this.models.clear(), + (this.data = { + startx: void 0, + stopx: void 0, + starty: void 0, + stopy: void 0 + }), + (this.verticalPos = 0), + dhe(de()); + }, 'init'), + updateVal: o(function (t, e, r, n) { + t[e] === void 0 ? (t[e] = r) : (t[e] = n(r, t[e])); + }, 'updateVal'), + updateBounds: o(function (t, e, r, n) { + let i = this, + a = 0; + function s(l) { + return o(function (h) { + a++; + let f = i.sequenceItems.length - a + 1; + i.updateVal(h, 'starty', e - f * Ne.boxMargin, Math.min), + i.updateVal(h, 'stopy', n + f * Ne.boxMargin, Math.max), + i.updateVal(Ke.data, 'startx', t - f * Ne.boxMargin, Math.min), + i.updateVal(Ke.data, 'stopx', r + f * Ne.boxMargin, Math.max), + l !== 'activation' && + (i.updateVal(h, 'startx', t - f * Ne.boxMargin, Math.min), + i.updateVal(h, 'stopx', r + f * Ne.boxMargin, Math.max), + i.updateVal(Ke.data, 'starty', e - f * Ne.boxMargin, Math.min), + i.updateVal(Ke.data, 'stopy', n + f * Ne.boxMargin, Math.max)); + }, 'updateItemBounds'); + } + o(s, 'updateFn'), this.sequenceItems.forEach(s()), this.activations.forEach(s('activation')); + }, 'updateBounds'), + insert: o(function (t, e, r, n) { + let i = We.getMin(t, r), + a = We.getMax(t, r), + s = We.getMin(e, n), + l = We.getMax(e, n); + this.updateVal(Ke.data, 'startx', i, Math.min), + this.updateVal(Ke.data, 'starty', s, Math.min), + this.updateVal(Ke.data, 'stopx', a, Math.max), + this.updateVal(Ke.data, 'stopy', l, Math.max), + this.updateBounds(i, s, a, l); + }, 'insert'), + newActivation: o(function (t, e, r) { + let n = r.get(t.from), + i = bE(t.from).length || 0, + a = n.x + n.width / 2 + ((i - 1) * Ne.activationWidth) / 2; + this.activations.push({ + startx: a, + starty: this.verticalPos + 2, + stopx: a + Ne.activationWidth, + stopy: void 0, + actor: t.from, + anchored: si.anchorElement(e) + }); + }, 'newActivation'), + endActivation: o(function (t) { + let e = this.activations + .map(function (r) { + return r.actor; + }) + .lastIndexOf(t.from); + return this.activations.splice(e, 1)[0]; + }, 'endActivation'), + createLoop: o(function (t = { message: void 0, wrap: !1, width: void 0 }, e) { + return { + startx: void 0, + starty: this.verticalPos, + stopx: void 0, + stopy: void 0, + title: t.message, + wrap: t.wrap, + width: t.width, + height: 0, + fill: e + }; + }, 'createLoop'), + newLoop: o(function (t = { message: void 0, wrap: !1, width: void 0 }, e) { + this.sequenceItems.push(this.createLoop(t, e)); + }, 'newLoop'), + endLoop: o(function () { + return this.sequenceItems.pop(); + }, 'endLoop'), + isLoopOverlap: o(function () { + return this.sequenceItems.length + ? this.sequenceItems[this.sequenceItems.length - 1].overlap + : !1; + }, 'isLoopOverlap'), + addSectionToLoop: o(function (t) { + let e = this.sequenceItems.pop(); + (e.sections = e.sections || []), + (e.sectionTitles = e.sectionTitles || []), + e.sections.push({ y: Ke.getVerticalPos(), height: 0 }), + e.sectionTitles.push(t), + this.sequenceItems.push(e); + }, 'addSectionToLoop'), + saveVerticalPos: o(function () { + this.isLoopOverlap() && (this.savedVerticalPos = this.verticalPos); + }, 'saveVerticalPos'), + resetVerticalPos: o(function () { + this.isLoopOverlap() && (this.verticalPos = this.savedVerticalPos); + }, 'resetVerticalPos'), + bumpVerticalPos: o(function (t) { + (this.verticalPos = this.verticalPos + t), + (this.data.stopy = We.getMax(this.data.stopy, this.verticalPos)); + }, 'bumpVerticalPos'), + getVerticalPos: o(function () { + return this.verticalPos; + }, 'getVerticalPos'), + getBounds: o(function () { + return { bounds: this.data, models: this.models }; + }, 'getBounds') + }), + (XGe = o(async function (t, e) { + Ke.bumpVerticalPos(Ne.boxMargin), (e.height = Ne.boxMargin), (e.starty = Ke.getVerticalPos()); + let r = wl(); + (r.x = e.startx), (r.y = e.starty), (r.width = e.width || Ne.width), (r.class = 'note'); + let n = t.append('g'), + i = si.drawRect(n, r), + a = Ky(); + (a.x = e.startx), + (a.y = e.starty), + (a.width = r.width), + (a.dy = '1em'), + (a.text = e.message), + (a.class = 'noteText'), + (a.fontFamily = Ne.noteFontFamily), + (a.fontSize = Ne.noteFontSize), + (a.fontWeight = Ne.noteFontWeight), + (a.anchor = Ne.noteAlign), + (a.textMargin = Ne.noteMargin), + (a.valign = 'center'); + let s = Ni(a.text) ? await bx(n, a) : _0(n, a), + l = Math.round(s.map((u) => (u._groups || u)[0][0].getBBox().height).reduce((u, h) => u + h)); + i.attr('height', l + 2 * Ne.noteMargin), + (e.height += l + 2 * Ne.noteMargin), + Ke.bumpVerticalPos(l + 2 * Ne.noteMargin), + (e.stopy = e.starty + l + 2 * Ne.noteMargin), + (e.stopx = e.startx + r.width), + Ke.insert(e.startx, e.starty, e.stopx, e.stopy), + Ke.models.addNote(e); + }, 'drawNote')), + (L0 = o( + (t) => ({ + fontFamily: t.messageFontFamily, + fontSize: t.messageFontSize, + fontWeight: t.messageFontWeight + }), + 'messageFont' + )), + (Pg = o( + (t) => ({ + fontFamily: t.noteFontFamily, + fontSize: t.noteFontSize, + fontWeight: t.noteFontWeight + }), + 'noteFont' + )), + (xO = o( + (t) => ({ + fontFamily: t.actorFontFamily, + fontSize: t.actorFontSize, + fontWeight: t.actorFontWeight + }), + 'actorFont' + )); + o(jGe, 'boundMessage'); + (KGe = o(async function (t, e, r, n) { + let { startx: i, stopx: a, starty: s, message: l, type: u, sequenceIndex: h, sequenceVisible: f } = e, + d = Lt.calculateTextDimensions(l, L0(Ne)), + p = Ky(); + (p.x = i), + (p.y = s + 10), + (p.width = a - i), + (p.class = 'messageText'), + (p.dy = '1em'), + (p.text = l), + (p.fontFamily = Ne.messageFontFamily), + (p.fontSize = Ne.messageFontSize), + (p.fontWeight = Ne.messageFontWeight), + (p.anchor = Ne.messageAlign), + (p.valign = 'center'), + (p.textMargin = Ne.wrapPadding), + (p.tspan = !1), + Ni(p.text) ? await bx(t, p, { startx: i, stopx: a, starty: r }) : _0(t, p); + let m = d.width, + g; + i === a + ? Ne.rightAngles + ? (g = t + .append('path') + .attr('d', `M ${i},${r} H ${i + We.getMax(Ne.width / 2, m / 2)} V ${r + 25} H ${i}`)) + : (g = t + .append('path') + .attr( + 'd', + 'M ' + + i + + ',' + + r + + ' C ' + + (i + 60) + + ',' + + (r - 10) + + ' ' + + (i + 60) + + ',' + + (r + 30) + + ' ' + + i + + ',' + + (r + 20) + )) + : ((g = t.append('line')), g.attr('x1', i), g.attr('y1', r), g.attr('x2', a), g.attr('y2', r)), + u === n.db.LINETYPE.DOTTED || + u === n.db.LINETYPE.DOTTED_CROSS || + u === n.db.LINETYPE.DOTTED_POINT || + u === n.db.LINETYPE.DOTTED_OPEN || + u === n.db.LINETYPE.BIDIRECTIONAL_DOTTED + ? (g.style('stroke-dasharray', '3, 3'), g.attr('class', 'messageLine1')) + : g.attr('class', 'messageLine0'); + let y = ''; + Ne.arrowMarkerAbsolute && + ((y = + window.location.protocol + + '//' + + window.location.host + + window.location.pathname + + window.location.search), + (y = y.replace(/\(/g, '\\(')), + (y = y.replace(/\)/g, '\\)'))), + g.attr('stroke-width', 2), + g.attr('stroke', 'none'), + g.style('fill', 'none'), + (u === n.db.LINETYPE.SOLID || u === n.db.LINETYPE.DOTTED) && + g.attr('marker-end', 'url(' + y + '#arrowhead)'), + (u === n.db.LINETYPE.BIDIRECTIONAL_SOLID || u === n.db.LINETYPE.BIDIRECTIONAL_DOTTED) && + (g.attr('marker-start', 'url(' + y + '#arrowhead)'), + g.attr('marker-end', 'url(' + y + '#arrowhead)')), + (u === n.db.LINETYPE.SOLID_POINT || u === n.db.LINETYPE.DOTTED_POINT) && + g.attr('marker-end', 'url(' + y + '#filled-head)'), + (u === n.db.LINETYPE.SOLID_CROSS || u === n.db.LINETYPE.DOTTED_CROSS) && + g.attr('marker-end', 'url(' + y + '#crosshead)'), + (f || Ne.showSequenceNumbers) && + (g.attr('marker-start', 'url(' + y + '#sequencenumber)'), + t + .append('text') + .attr('x', i) + .attr('y', r + 4) + .attr('font-family', 'sans-serif') + .attr('font-size', '12px') + .attr('text-anchor', 'middle') + .attr('class', 'sequenceNumber') + .text(h)); + }, 'drawMessage')), + (QGe = o(function (t, e, r, n, i, a, s) { + let l = 0, + u = 0, + h, + f = 0; + for (let d of n) { + let p = e.get(d), + m = p.box; + h && h != m && (s || Ke.models.addBox(h), (u += Ne.boxMargin + h.margin)), + m && m != h && (s || ((m.x = l + u), (m.y = i)), (u += m.margin)), + (p.width = p.width || Ne.width), + (p.height = We.getMax(p.height || Ne.height, Ne.height)), + (p.margin = p.margin || Ne.actorMargin), + (f = We.getMax(f, p.height)), + r.get(p.name) && (u += p.width / 2), + (p.x = l + u), + (p.starty = Ke.getVerticalPos()), + Ke.insert(p.x, i, p.x + p.width, p.height), + (l += p.width + u), + p.box && (p.box.width = l + m.margin - p.box.x), + (u = p.margin), + (h = p.box), + Ke.models.addActor(p); + } + h && !s && Ke.models.addBox(h), Ke.bumpVerticalPos(f); + }, 'addActorRenderingData')), + (bO = o(async function (t, e, r, n) { + if (n) { + let i = 0; + Ke.bumpVerticalPos(Ne.boxMargin * 2); + for (let a of r) { + let s = e.get(a); + s.stopy || (s.stopy = Ke.getVerticalPos()); + let l = await si.drawActor(t, s, Ne, !0); + i = We.getMax(i, l); + } + Ke.bumpVerticalPos(i + Ne.boxMargin); + } else + for (let i of r) { + let a = e.get(i); + await si.drawActor(t, a, Ne, !1); + } + }, 'drawActors')), + (fhe = o(function (t, e, r, n) { + let i = 0, + a = 0; + for (let s of r) { + let l = e.get(s), + u = t$e(l), + h = si.drawPopup(t, l, u, Ne, Ne.forceMenus, n); + h.height > i && (i = h.height), h.width + l.x > a && (a = h.width + l.x); + } + return { maxHeight: i, maxWidth: a }; + }, 'drawActorsPopup')), + (dhe = o(function (t) { + On(Ne, t), + t.fontFamily && (Ne.actorFontFamily = Ne.noteFontFamily = Ne.messageFontFamily = t.fontFamily), + t.fontSize && (Ne.actorFontSize = Ne.noteFontSize = Ne.messageFontSize = t.fontSize), + t.fontWeight && (Ne.actorFontWeight = Ne.noteFontWeight = Ne.messageFontWeight = t.fontWeight); + }, 'setConf')), + (bE = o(function (t) { + return Ke.activations.filter(function (e) { + return e.actor === t; + }); + }, 'actorActivations')), + (hhe = o(function (t, e) { + let r = e.get(t), + n = bE(t), + i = n.reduce(function (s, l) { + return We.getMin(s, l.startx); + }, r.x + r.width / 2 - 1), + a = n.reduce(function (s, l) { + return We.getMax(s, l.stopx); + }, r.x + r.width / 2 + 1); + return [i, a]; + }, 'activationBounds')); + o(Fc, 'adjustLoopHeightForWrap'); + o(ZGe, 'adjustCreatedDestroyedData'); + JGe = o(async function (t, e, r, n) { + let { securityLevel: i, sequence: a } = de(); + Ne = a; + let s; + i === 'sandbox' && (s = $e('#i' + e)); + let l = i === 'sandbox' ? $e(s.nodes()[0].contentDocument.body) : $e('body'), + u = i === 'sandbox' ? s.nodes()[0].contentDocument : document; + Ke.init(), V.debug(n.db); + let h = i === 'sandbox' ? l.select(`[id="${e}"]`) : $e(`[id="${e}"]`), + f = n.db.getActors(), + d = n.db.getCreatedActors(), + p = n.db.getDestroyedActors(), + m = n.db.getBoxes(), + g = n.db.getActorKeys(), + y = n.db.getMessages(), + v = n.db.getDiagramTitle(), + x = n.db.hasAtLeastOneBox(), + b = n.db.hasAtLeastOneBoxWithTitle(), + w = await e$e(f, y, n); + if ( + ((Ne.height = await r$e(f, w, m)), + si.insertComputerIcon(h), + si.insertDatabaseIcon(h), + si.insertClockIcon(h), + x && (Ke.bumpVerticalPos(Ne.boxMargin), b && Ke.bumpVerticalPos(m[0].textMaxHeight)), + Ne.hideUnusedParticipants === !0) + ) { + let F = new Set(); + y.forEach((B) => { + F.add(B.from), F.add(B.to); + }), + (g = g.filter((B) => F.has(B))); + } + QGe(h, f, d, g, 0, y, !1); + let S = await a$e(y, f, w, n); + si.insertArrowHead(h), + si.insertArrowCrossHead(h), + si.insertArrowFilledHead(h), + si.insertSequenceNumber(h); + function T(F, B) { + let $ = Ke.endActivation(F); + $.starty + 18 > B && (($.starty = B - 6), (B += 12)), + si.drawActivation(h, $, B, Ne, bE(F.from).length), + Ke.insert($.startx, B - 10, $.stopx, B); + } + o(T, 'activeEnd'); + let E = 1, + _ = 1, + A = [], + L = [], + M = 0; + for (let F of y) { + let B, $, z; + switch (F.type) { + case n.db.LINETYPE.NOTE: + Ke.resetVerticalPos(), ($ = F.noteModel), await XGe(h, $); + break; + case n.db.LINETYPE.ACTIVE_START: + Ke.newActivation(F, h, f); + break; + case n.db.LINETYPE.ACTIVE_END: + T(F, Ke.getVerticalPos()); + break; + case n.db.LINETYPE.LOOP_START: + Fc(S, F, Ne.boxMargin, Ne.boxMargin + Ne.boxTextMargin, (Y) => Ke.newLoop(Y)); + break; + case n.db.LINETYPE.LOOP_END: + (B = Ke.endLoop()), + await si.drawLoop(h, B, 'loop', Ne), + Ke.bumpVerticalPos(B.stopy - Ke.getVerticalPos()), + Ke.models.addLoop(B); + break; + case n.db.LINETYPE.RECT_START: + Fc(S, F, Ne.boxMargin, Ne.boxMargin, (Y) => Ke.newLoop(void 0, Y.message)); + break; + case n.db.LINETYPE.RECT_END: + (B = Ke.endLoop()), + L.push(B), + Ke.models.addLoop(B), + Ke.bumpVerticalPos(B.stopy - Ke.getVerticalPos()); + break; + case n.db.LINETYPE.OPT_START: + Fc(S, F, Ne.boxMargin, Ne.boxMargin + Ne.boxTextMargin, (Y) => Ke.newLoop(Y)); + break; + case n.db.LINETYPE.OPT_END: + (B = Ke.endLoop()), + await si.drawLoop(h, B, 'opt', Ne), + Ke.bumpVerticalPos(B.stopy - Ke.getVerticalPos()), + Ke.models.addLoop(B); + break; + case n.db.LINETYPE.ALT_START: + Fc(S, F, Ne.boxMargin, Ne.boxMargin + Ne.boxTextMargin, (Y) => Ke.newLoop(Y)); + break; + case n.db.LINETYPE.ALT_ELSE: + Fc(S, F, Ne.boxMargin + Ne.boxTextMargin, Ne.boxMargin, (Y) => Ke.addSectionToLoop(Y)); + break; + case n.db.LINETYPE.ALT_END: + (B = Ke.endLoop()), + await si.drawLoop(h, B, 'alt', Ne), + Ke.bumpVerticalPos(B.stopy - Ke.getVerticalPos()), + Ke.models.addLoop(B); + break; + case n.db.LINETYPE.PAR_START: + case n.db.LINETYPE.PAR_OVER_START: + Fc(S, F, Ne.boxMargin, Ne.boxMargin + Ne.boxTextMargin, (Y) => Ke.newLoop(Y)), + Ke.saveVerticalPos(); + break; + case n.db.LINETYPE.PAR_AND: + Fc(S, F, Ne.boxMargin + Ne.boxTextMargin, Ne.boxMargin, (Y) => Ke.addSectionToLoop(Y)); + break; + case n.db.LINETYPE.PAR_END: + (B = Ke.endLoop()), + await si.drawLoop(h, B, 'par', Ne), + Ke.bumpVerticalPos(B.stopy - Ke.getVerticalPos()), + Ke.models.addLoop(B); + break; + case n.db.LINETYPE.AUTONUMBER: + (E = F.message.start || E), + (_ = F.message.step || _), + F.message.visible ? n.db.enableSequenceNumbers() : n.db.disableSequenceNumbers(); + break; + case n.db.LINETYPE.CRITICAL_START: + Fc(S, F, Ne.boxMargin, Ne.boxMargin + Ne.boxTextMargin, (Y) => Ke.newLoop(Y)); + break; + case n.db.LINETYPE.CRITICAL_OPTION: + Fc(S, F, Ne.boxMargin + Ne.boxTextMargin, Ne.boxMargin, (Y) => Ke.addSectionToLoop(Y)); + break; + case n.db.LINETYPE.CRITICAL_END: + (B = Ke.endLoop()), + await si.drawLoop(h, B, 'critical', Ne), + Ke.bumpVerticalPos(B.stopy - Ke.getVerticalPos()), + Ke.models.addLoop(B); + break; + case n.db.LINETYPE.BREAK_START: + Fc(S, F, Ne.boxMargin, Ne.boxMargin + Ne.boxTextMargin, (Y) => Ke.newLoop(Y)); + break; + case n.db.LINETYPE.BREAK_END: + (B = Ke.endLoop()), + await si.drawLoop(h, B, 'break', Ne), + Ke.bumpVerticalPos(B.stopy - Ke.getVerticalPos()), + Ke.models.addLoop(B); + break; + default: + try { + (z = F.msgModel), + (z.starty = Ke.getVerticalPos()), + (z.sequenceIndex = E), + (z.sequenceVisible = n.db.showSequenceNumbers()); + let Y = await jGe(h, z); + ZGe(F, z, Y, M, f, d, p), + A.push({ messageModel: z, lineStartY: Y }), + Ke.models.addMessage(z); + } catch (Y) { + V.error('error while drawing message', Y); + } + } + [ + n.db.LINETYPE.SOLID_OPEN, + n.db.LINETYPE.DOTTED_OPEN, + n.db.LINETYPE.SOLID, + n.db.LINETYPE.DOTTED, + n.db.LINETYPE.SOLID_CROSS, + n.db.LINETYPE.DOTTED_CROSS, + n.db.LINETYPE.SOLID_POINT, + n.db.LINETYPE.DOTTED_POINT, + n.db.LINETYPE.BIDIRECTIONAL_SOLID, + n.db.LINETYPE.BIDIRECTIONAL_DOTTED + ].includes(F.type) && (E = E + _), + M++; + } + V.debug('createdActors', d), V.debug('destroyedActors', p), await bO(h, f, g, !1); + for (let F of A) await KGe(h, F.messageModel, F.lineStartY, n); + Ne.mirrorActors && (await bO(h, f, g, !0)), + L.forEach((F) => si.drawBackgroundRect(h, F)), + yO(h, f, g, Ne); + for (let F of Ke.models.boxes) + (F.height = Ke.getVerticalPos() - F.y), + Ke.insert(F.x, F.y, F.x + F.width, F.height), + (F.startx = F.x), + (F.starty = F.y), + (F.stopx = F.startx + F.width), + (F.stopy = F.starty + F.height), + (F.stroke = 'rgb(0,0,0, 0.5)'), + si.drawBox(h, F, Ne); + x && Ke.bumpVerticalPos(Ne.boxMargin); + let N = fhe(h, f, g, u), + { bounds: k } = Ke.getBounds(); + k.startx === void 0 && (k.startx = 0), + k.starty === void 0 && (k.starty = 0), + k.stopx === void 0 && (k.stopx = 0), + k.stopy === void 0 && (k.stopy = 0); + let I = k.stopy - k.starty; + I < N.maxHeight && (I = N.maxHeight); + let C = I + 2 * Ne.diagramMarginY; + Ne.mirrorActors && (C = C - Ne.boxMargin + Ne.bottomMarginAdj); + let O = k.stopx - k.startx; + O < N.maxWidth && (O = N.maxWidth); + let D = O + 2 * Ne.diagramMarginX; + v && + h + .append('text') + .text(v) + .attr('x', (k.stopx - k.startx) / 2 - 2 * Ne.diagramMarginX) + .attr('y', -25), + Sr(h, C, D, Ne.useMaxWidth); + let P = v ? 40 : 0; + h.attr( + 'viewBox', + k.startx - Ne.diagramMarginX + ' -' + (Ne.diagramMarginY + P) + ' ' + D + ' ' + (C + P) + ), + V.debug('models:', Ke.models); + }, 'draw'); + o(e$e, 'getMaxMessageWidthPerActor'); + t$e = o(function (t) { + let e = 0, + r = xO(Ne); + for (let n in t.links) { + let a = Lt.calculateTextDimensions(n, r).width + 2 * Ne.wrapPadding + 2 * Ne.boxMargin; + e < a && (e = a); + } + return e; + }, 'getRequiredPopupWidth'); + o(r$e, 'calculateActorMargins'); + (n$e = o(async function (t, e, r) { + let n = e.get(t.from), + i = e.get(t.to), + a = n.x, + s = i.x, + l = t.wrap && t.message, + u = Ni(t.message) + ? await Zf(t.message, de()) + : Lt.calculateTextDimensions(l ? Lt.wrapLabel(t.message, Ne.width, Pg(Ne)) : t.message, Pg(Ne)), + h = { + width: l ? Ne.width : We.getMax(Ne.width, u.width + 2 * Ne.noteMargin), + height: 0, + startx: n.x, + stopx: 0, + starty: 0, + stopy: 0, + message: t.message + }; + return ( + t.placement === r.db.PLACEMENT.RIGHTOF + ? ((h.width = l + ? We.getMax(Ne.width, u.width) + : We.getMax(n.width / 2 + i.width / 2, u.width + 2 * Ne.noteMargin)), + (h.startx = a + (n.width + Ne.actorMargin) / 2)) + : t.placement === r.db.PLACEMENT.LEFTOF + ? ((h.width = l + ? We.getMax(Ne.width, u.width + 2 * Ne.noteMargin) + : We.getMax(n.width / 2 + i.width / 2, u.width + 2 * Ne.noteMargin)), + (h.startx = a - h.width + (n.width - Ne.actorMargin) / 2)) + : t.to === t.from + ? ((u = Lt.calculateTextDimensions( + l ? Lt.wrapLabel(t.message, We.getMax(Ne.width, n.width), Pg(Ne)) : t.message, + Pg(Ne) + )), + (h.width = l + ? We.getMax(Ne.width, n.width) + : We.getMax(n.width, Ne.width, u.width + 2 * Ne.noteMargin)), + (h.startx = a + (n.width - h.width) / 2)) + : ((h.width = Math.abs(a + n.width / 2 - (s + i.width / 2)) + Ne.actorMargin), + (h.startx = + a < s ? a + n.width / 2 - Ne.actorMargin / 2 : s + i.width / 2 - Ne.actorMargin / 2)), + l && (h.message = Lt.wrapLabel(t.message, h.width - 2 * Ne.wrapPadding, Pg(Ne))), + V.debug(`NM:[${h.startx},${h.stopx},${h.starty},${h.stopy}:${h.width},${h.height}=${t.message}]`), + h + ); + }, 'buildNoteModel')), + (i$e = o(function (t, e, r) { + if ( + ![ + r.db.LINETYPE.SOLID_OPEN, + r.db.LINETYPE.DOTTED_OPEN, + r.db.LINETYPE.SOLID, + r.db.LINETYPE.DOTTED, + r.db.LINETYPE.SOLID_CROSS, + r.db.LINETYPE.DOTTED_CROSS, + r.db.LINETYPE.SOLID_POINT, + r.db.LINETYPE.DOTTED_POINT, + r.db.LINETYPE.BIDIRECTIONAL_SOLID, + r.db.LINETYPE.BIDIRECTIONAL_DOTTED + ].includes(t.type) + ) + return {}; + let [n, i] = hhe(t.from, e), + [a, s] = hhe(t.to, e), + l = n <= a, + u = l ? i : n, + h = l ? a : s, + f = Math.abs(a - s) > 2, + d = o((y) => (l ? -y : y), 'adjustValue'); + t.from === t.to + ? (h = u) + : (t.activate && !f && (h += d(Ne.activationWidth / 2 - 1)), + [r.db.LINETYPE.SOLID_OPEN, r.db.LINETYPE.DOTTED_OPEN].includes(t.type) || (h += d(3)), + [r.db.LINETYPE.BIDIRECTIONAL_SOLID, r.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(t.type) && + (u -= d(3))); + let p = [n, i, a, s], + m = Math.abs(u - h); + t.wrap && + t.message && + (t.message = Lt.wrapLabel(t.message, We.getMax(m + 2 * Ne.wrapPadding, Ne.width), L0(Ne))); + let g = Lt.calculateTextDimensions(t.message, L0(Ne)); + return { + width: We.getMax(t.wrap ? 0 : g.width + 2 * Ne.wrapPadding, m + 2 * Ne.wrapPadding, Ne.width), + height: 0, + startx: u, + stopx: h, + starty: 0, + stopy: 0, + message: t.message, + type: t.type, + wrap: t.wrap, + fromBounds: Math.min.apply(null, p), + toBounds: Math.max.apply(null, p) + }; + }, 'buildMessageModel')), + (a$e = o(async function (t, e, r, n) { + let i = {}, + a = [], + s, + l, + u; + for (let h of t) { + switch (((h.id = Lt.random({ length: 10 })), h.type)) { + case n.db.LINETYPE.LOOP_START: + case n.db.LINETYPE.ALT_START: + case n.db.LINETYPE.OPT_START: + case n.db.LINETYPE.PAR_START: + case n.db.LINETYPE.PAR_OVER_START: + case n.db.LINETYPE.CRITICAL_START: + case n.db.LINETYPE.BREAK_START: + a.push({ + id: h.id, + msg: h.message, + from: Number.MAX_SAFE_INTEGER, + to: Number.MIN_SAFE_INTEGER, + width: 0 + }); + break; + case n.db.LINETYPE.ALT_ELSE: + case n.db.LINETYPE.PAR_AND: + case n.db.LINETYPE.CRITICAL_OPTION: + h.message && ((s = a.pop()), (i[s.id] = s), (i[h.id] = s), a.push(s)); + break; + case n.db.LINETYPE.LOOP_END: + case n.db.LINETYPE.ALT_END: + case n.db.LINETYPE.OPT_END: + case n.db.LINETYPE.PAR_END: + case n.db.LINETYPE.CRITICAL_END: + case n.db.LINETYPE.BREAK_END: + (s = a.pop()), (i[s.id] = s); + break; + case n.db.LINETYPE.ACTIVE_START: + { + let d = e.get(h.from ? h.from : h.to.actor), + p = bE(h.from ? h.from : h.to.actor).length, + m = d.x + d.width / 2 + ((p - 1) * Ne.activationWidth) / 2, + g = { + startx: m, + stopx: m + Ne.activationWidth, + actor: h.from, + enabled: !0 + }; + Ke.activations.push(g); + } + break; + case n.db.LINETYPE.ACTIVE_END: + { + let d = Ke.activations.map((p) => p.actor).lastIndexOf(h.from); + Ke.activations.splice(d, 1).splice(0, 1); + } + break; + } + h.placement !== void 0 + ? ((l = await n$e(h, e, n)), + (h.noteModel = l), + a.forEach((d) => { + (s = d), + (s.from = We.getMin(s.from, l.startx)), + (s.to = We.getMax(s.to, l.startx + l.width)), + (s.width = We.getMax(s.width, Math.abs(s.from - s.to)) - Ne.labelBoxWidth); + })) + : ((u = i$e(h, e, n)), + (h.msgModel = u), + u.startx && + u.stopx && + a.length > 0 && + a.forEach((d) => { + if (((s = d), u.startx === u.stopx)) { + let p = e.get(h.from), + m = e.get(h.to); + (s.from = We.getMin(p.x - u.width / 2, p.x - p.width / 2, s.from)), + (s.to = We.getMax(m.x + u.width / 2, m.x + p.width / 2, s.to)), + (s.width = + We.getMax(s.width, Math.abs(s.to - s.from)) - Ne.labelBoxWidth); + } else + (s.from = We.getMin(u.startx, s.from)), + (s.to = We.getMax(u.stopx, s.to)), + (s.width = We.getMax(s.width, u.width) - Ne.labelBoxWidth); + })); + } + return (Ke.activations = []), V.debug('Loop type widths:', i), i; + }, 'calculateLoopBounds')), + (phe = { + bounds: Ke, + drawActors: bO, + drawActorsPopup: fhe, + setConf: dhe, + draw: JGe + }); + }); + var ghe = {}; + hr(ghe, { diagram: () => s$e }); + var s$e, + yhe = R(() => { + 'use strict'; + que(); + the(); + nhe(); + mhe(); + s$e = { + parser: Wue, + db: pO, + renderer: phe, + styles: rhe, + init: o(({ wrap: t }) => { + pO.setWrap(t); + }, 'init') + }; + }); + var wO, + wE, + TO = R(() => { + 'use strict'; + wO = (function () { + var t = o(function (Pe, _e, me, W) { + for (me = me || {}, W = Pe.length; W--; me[Pe[W]] = _e); + return me; + }, 'o'), + e = [1, 17], + r = [1, 18], + n = [1, 19], + i = [1, 39], + a = [1, 40], + s = [1, 25], + l = [1, 23], + u = [1, 24], + h = [1, 31], + f = [1, 32], + d = [1, 33], + p = [1, 34], + m = [1, 35], + g = [1, 36], + y = [1, 26], + v = [1, 27], + x = [1, 28], + b = [1, 29], + w = [1, 43], + S = [1, 30], + T = [1, 42], + E = [1, 44], + _ = [1, 41], + A = [1, 45], + L = [1, 9], + M = [1, 8, 9], + N = [1, 56], + k = [1, 57], + I = [1, 58], + C = [1, 59], + O = [1, 60], + D = [1, 61], + P = [1, 62], + F = [1, 8, 9, 39], + B = [1, 74], + $ = [1, 8, 9, 12, 13, 21, 37, 39, 42, 59, 60, 61, 62, 63, 64, 65, 70, 72], + z = [ + 1, 8, 9, 12, 13, 19, 21, 37, 39, 42, 46, 59, 60, 61, 62, 63, 64, 65, 70, 72, 74, 80, 95, 97, 98 + ], + Y = [13, 74, 80, 95, 97, 98], + Q = [13, 64, 65, 74, 80, 95, 97, 98], + X = [13, 59, 60, 61, 62, 63, 74, 80, 95, 97, 98], + ie = [1, 93], + j = [1, 110], + J = [1, 108], + Z = [1, 102], + H = [1, 103], + q = [1, 104], + K = [1, 105], + se = [1, 106], + ce = [1, 107], + ue = [1, 109], + te = [1, 8, 9, 37, 39, 42], + De = [1, 8, 9, 21], + oe = [1, 8, 9, 78], + ke = [1, 8, 9, 21, 73, 74, 78, 80, 81, 82, 83, 84, 85], + Ie = { + trace: o(function () {}, 'trace'), + yy: {}, + symbols_: { + error: 2, + start: 3, + mermaidDoc: 4, + statements: 5, + graphConfig: 6, + CLASS_DIAGRAM: 7, + NEWLINE: 8, + EOF: 9, + statement: 10, + classLabel: 11, + SQS: 12, + STR: 13, + SQE: 14, + namespaceName: 15, + alphaNumToken: 16, + className: 17, + classLiteralName: 18, + GENERICTYPE: 19, + relationStatement: 20, + LABEL: 21, + namespaceStatement: 22, + classStatement: 23, + memberStatement: 24, + annotationStatement: 25, + clickStatement: 26, + styleStatement: 27, + cssClassStatement: 28, + noteStatement: 29, + direction: 30, + acc_title: 31, + acc_title_value: 32, + acc_descr: 33, + acc_descr_value: 34, + acc_descr_multiline_value: 35, + namespaceIdentifier: 36, + STRUCT_START: 37, + classStatements: 38, + STRUCT_STOP: 39, + NAMESPACE: 40, + classIdentifier: 41, + STYLE_SEPARATOR: 42, + members: 43, + CLASS: 44, + ANNOTATION_START: 45, + ANNOTATION_END: 46, + MEMBER: 47, + SEPARATOR: 48, + relation: 49, + NOTE_FOR: 50, + noteText: 51, + NOTE: 52, + direction_tb: 53, + direction_bt: 54, + direction_rl: 55, + direction_lr: 56, + relationType: 57, + lineType: 58, + AGGREGATION: 59, + EXTENSION: 60, + COMPOSITION: 61, + DEPENDENCY: 62, + LOLLIPOP: 63, + LINE: 64, + DOTTED_LINE: 65, + CALLBACK: 66, + LINK: 67, + LINK_TARGET: 68, + CLICK: 69, + CALLBACK_NAME: 70, + CALLBACK_ARGS: 71, + HREF: 72, + STYLE: 73, + ALPHA: 74, + stylesOpt: 75, + CSSCLASS: 76, + style: 77, + COMMA: 78, + styleComponent: 79, + NUM: 80, + COLON: 81, + UNIT: 82, + SPACE: 83, + BRKT: 84, + PCT: 85, + commentToken: 86, + textToken: 87, + graphCodeTokens: 88, + textNoTagsToken: 89, + TAGSTART: 90, + TAGEND: 91, + '==': 92, + '--': 93, + DEFAULT: 94, + MINUS: 95, + keywords: 96, + UNICODE_TEXT: 97, + BQUOTE_STR: 98, + $accept: 0, + $end: 1 + }, + terminals_: { + 2: 'error', + 7: 'CLASS_DIAGRAM', + 8: 'NEWLINE', + 9: 'EOF', + 12: 'SQS', + 13: 'STR', + 14: 'SQE', + 19: 'GENERICTYPE', + 21: 'LABEL', + 31: 'acc_title', + 32: 'acc_title_value', + 33: 'acc_descr', + 34: 'acc_descr_value', + 35: 'acc_descr_multiline_value', + 37: 'STRUCT_START', + 39: 'STRUCT_STOP', + 40: 'NAMESPACE', + 42: 'STYLE_SEPARATOR', + 44: 'CLASS', + 45: 'ANNOTATION_START', + 46: 'ANNOTATION_END', + 47: 'MEMBER', + 48: 'SEPARATOR', + 50: 'NOTE_FOR', + 52: 'NOTE', + 53: 'direction_tb', + 54: 'direction_bt', + 55: 'direction_rl', + 56: 'direction_lr', + 59: 'AGGREGATION', + 60: 'EXTENSION', + 61: 'COMPOSITION', + 62: 'DEPENDENCY', + 63: 'LOLLIPOP', + 64: 'LINE', + 65: 'DOTTED_LINE', + 66: 'CALLBACK', + 67: 'LINK', + 68: 'LINK_TARGET', + 69: 'CLICK', + 70: 'CALLBACK_NAME', + 71: 'CALLBACK_ARGS', + 72: 'HREF', + 73: 'STYLE', + 74: 'ALPHA', + 76: 'CSSCLASS', + 78: 'COMMA', + 80: 'NUM', + 81: 'COLON', + 82: 'UNIT', + 83: 'SPACE', + 84: 'BRKT', + 85: 'PCT', + 88: 'graphCodeTokens', + 90: 'TAGSTART', + 91: 'TAGEND', + 92: '==', + 93: '--', + 94: 'DEFAULT', + 95: 'MINUS', + 96: 'keywords', + 97: 'UNICODE_TEXT', + 98: 'BQUOTE_STR' + }, + productions_: [ + 0, + [3, 1], + [3, 1], + [4, 1], + [6, 4], + [5, 1], + [5, 2], + [5, 3], + [11, 3], + [15, 1], + [15, 2], + [17, 1], + [17, 1], + [17, 2], + [17, 2], + [17, 2], + [10, 1], + [10, 2], + [10, 1], + [10, 1], + [10, 1], + [10, 1], + [10, 1], + [10, 1], + [10, 1], + [10, 1], + [10, 1], + [10, 2], + [10, 2], + [10, 1], + [22, 4], + [22, 5], + [36, 2], + [38, 1], + [38, 2], + [38, 3], + [23, 1], + [23, 3], + [23, 4], + [23, 6], + [41, 2], + [41, 3], + [25, 4], + [43, 1], + [43, 2], + [24, 1], + [24, 2], + [24, 1], + [24, 1], + [20, 3], + [20, 4], + [20, 4], + [20, 5], + [29, 3], + [29, 2], + [30, 1], + [30, 1], + [30, 1], + [30, 1], + [49, 3], + [49, 2], + [49, 2], + [49, 1], + [57, 1], + [57, 1], + [57, 1], + [57, 1], + [57, 1], + [58, 1], + [58, 1], + [26, 3], + [26, 4], + [26, 3], + [26, 4], + [26, 4], + [26, 5], + [26, 3], + [26, 4], + [26, 4], + [26, 5], + [26, 4], + [26, 5], + [26, 5], + [26, 6], + [27, 3], + [28, 3], + [75, 1], + [75, 3], + [77, 1], + [77, 2], + [79, 1], + [79, 1], + [79, 1], + [79, 1], + [79, 1], + [79, 1], + [79, 1], + [79, 1], + [79, 1], + [86, 1], + [86, 1], + [87, 1], + [87, 1], + [87, 1], + [87, 1], + [87, 1], + [87, 1], + [87, 1], + [89, 1], + [89, 1], + [89, 1], + [89, 1], + [16, 1], + [16, 1], + [16, 1], + [16, 1], + [18, 1], + [51, 1] + ], + performAction: o(function (_e, me, W, fe, ge, re, he) { + var ne = re.length - 1; + switch (ge) { + case 8: + this.$ = re[ne - 1]; + break; + case 9: + case 11: + case 12: + this.$ = re[ne]; + break; + case 10: + case 13: + this.$ = re[ne - 1] + re[ne]; + break; + case 14: + case 15: + this.$ = re[ne - 1] + '~' + re[ne] + '~'; + break; + case 16: + fe.addRelation(re[ne]); + break; + case 17: + (re[ne - 1].title = fe.cleanupLabel(re[ne])), fe.addRelation(re[ne - 1]); + break; + case 27: + (this.$ = re[ne].trim()), fe.setAccTitle(this.$); + break; + case 28: + case 29: + (this.$ = re[ne].trim()), fe.setAccDescription(this.$); + break; + case 30: + fe.addClassesToNamespace(re[ne - 3], re[ne - 1]); + break; + case 31: + fe.addClassesToNamespace(re[ne - 4], re[ne - 1]); + break; + case 32: + (this.$ = re[ne]), fe.addNamespace(re[ne]); + break; + case 33: + this.$ = [re[ne]]; + break; + case 34: + this.$ = [re[ne - 1]]; + break; + case 35: + re[ne].unshift(re[ne - 2]), (this.$ = re[ne]); + break; + case 37: + fe.setCssClass(re[ne - 2], re[ne]); + break; + case 38: + fe.addMembers(re[ne - 3], re[ne - 1]); + break; + case 39: + fe.setCssClass(re[ne - 5], re[ne - 3]), fe.addMembers(re[ne - 5], re[ne - 1]); + break; + case 40: + (this.$ = re[ne]), fe.addClass(re[ne]); + break; + case 41: + (this.$ = re[ne - 1]), + fe.addClass(re[ne - 1]), + fe.setClassLabel(re[ne - 1], re[ne]); + break; + case 42: + fe.addAnnotation(re[ne], re[ne - 2]); + break; + case 43: + this.$ = [re[ne]]; + break; + case 44: + re[ne].push(re[ne - 1]), (this.$ = re[ne]); + break; + case 45: + break; + case 46: + fe.addMember(re[ne - 1], fe.cleanupLabel(re[ne])); + break; + case 47: + break; + case 48: + break; + case 49: + this.$ = { + id1: re[ne - 2], + id2: re[ne], + relation: re[ne - 1], + relationTitle1: 'none', + relationTitle2: 'none' + }; + break; + case 50: + this.$ = { + id1: re[ne - 3], + id2: re[ne], + relation: re[ne - 1], + relationTitle1: re[ne - 2], + relationTitle2: 'none' + }; + break; + case 51: + this.$ = { + id1: re[ne - 3], + id2: re[ne], + relation: re[ne - 2], + relationTitle1: 'none', + relationTitle2: re[ne - 1] + }; + break; + case 52: + this.$ = { + id1: re[ne - 4], + id2: re[ne], + relation: re[ne - 2], + relationTitle1: re[ne - 3], + relationTitle2: re[ne - 1] + }; + break; + case 53: + fe.addNote(re[ne], re[ne - 1]); + break; + case 54: + fe.addNote(re[ne]); + break; + case 55: + fe.setDirection('TB'); + break; + case 56: + fe.setDirection('BT'); + break; + case 57: + fe.setDirection('RL'); + break; + case 58: + fe.setDirection('LR'); + break; + case 59: + this.$ = { + type1: re[ne - 2], + type2: re[ne], + lineType: re[ne - 1] + }; + break; + case 60: + this.$ = { + type1: 'none', + type2: re[ne], + lineType: re[ne - 1] + }; + break; + case 61: + this.$ = { + type1: re[ne - 1], + type2: 'none', + lineType: re[ne] + }; + break; + case 62: + this.$ = { type1: 'none', type2: 'none', lineType: re[ne] }; + break; + case 63: + this.$ = fe.relationType.AGGREGATION; + break; + case 64: + this.$ = fe.relationType.EXTENSION; + break; + case 65: + this.$ = fe.relationType.COMPOSITION; + break; + case 66: + this.$ = fe.relationType.DEPENDENCY; + break; + case 67: + this.$ = fe.relationType.LOLLIPOP; + break; + case 68: + this.$ = fe.lineType.LINE; + break; + case 69: + this.$ = fe.lineType.DOTTED_LINE; + break; + case 70: + case 76: + (this.$ = re[ne - 2]), fe.setClickEvent(re[ne - 1], re[ne]); + break; + case 71: + case 77: + (this.$ = re[ne - 3]), + fe.setClickEvent(re[ne - 2], re[ne - 1]), + fe.setTooltip(re[ne - 2], re[ne]); + break; + case 72: + (this.$ = re[ne - 2]), fe.setLink(re[ne - 1], re[ne]); + break; + case 73: + (this.$ = re[ne - 3]), fe.setLink(re[ne - 2], re[ne - 1], re[ne]); + break; + case 74: + (this.$ = re[ne - 3]), + fe.setLink(re[ne - 2], re[ne - 1]), + fe.setTooltip(re[ne - 2], re[ne]); + break; + case 75: + (this.$ = re[ne - 4]), + fe.setLink(re[ne - 3], re[ne - 2], re[ne]), + fe.setTooltip(re[ne - 3], re[ne - 1]); + break; + case 78: + (this.$ = re[ne - 3]), fe.setClickEvent(re[ne - 2], re[ne - 1], re[ne]); + break; + case 79: + (this.$ = re[ne - 4]), + fe.setClickEvent(re[ne - 3], re[ne - 2], re[ne - 1]), + fe.setTooltip(re[ne - 3], re[ne]); + break; + case 80: + (this.$ = re[ne - 3]), fe.setLink(re[ne - 2], re[ne]); + break; + case 81: + (this.$ = re[ne - 4]), fe.setLink(re[ne - 3], re[ne - 1], re[ne]); + break; + case 82: + (this.$ = re[ne - 4]), + fe.setLink(re[ne - 3], re[ne - 1]), + fe.setTooltip(re[ne - 3], re[ne]); + break; + case 83: + (this.$ = re[ne - 5]), + fe.setLink(re[ne - 4], re[ne - 2], re[ne]), + fe.setTooltip(re[ne - 4], re[ne - 1]); + break; + case 84: + (this.$ = re[ne - 2]), fe.setCssStyle(re[ne - 1], re[ne]); + break; + case 85: + fe.setCssClass(re[ne - 1], re[ne]); + break; + case 86: + this.$ = [re[ne]]; + break; + case 87: + re[ne - 2].push(re[ne]), (this.$ = re[ne - 2]); + break; + case 89: + this.$ = re[ne - 1] + re[ne]; + break; + } + }, 'anonymous'), + table: [ + { + 3: 1, + 4: 2, + 5: 3, + 6: 4, + 7: [1, 6], + 10: 5, + 16: 37, + 17: 20, + 18: 38, + 20: 7, + 22: 8, + 23: 9, + 24: 10, + 25: 11, + 26: 12, + 27: 13, + 28: 14, + 29: 15, + 30: 16, + 31: e, + 33: r, + 35: n, + 36: 21, + 40: i, + 41: 22, + 44: a, + 45: s, + 47: l, + 48: u, + 50: h, + 52: f, + 53: d, + 54: p, + 55: m, + 56: g, + 66: y, + 67: v, + 69: x, + 73: b, + 74: w, + 76: S, + 80: T, + 95: E, + 97: _, + 98: A + }, + { 1: [3] }, + { 1: [2, 1] }, + { 1: [2, 2] }, + { 1: [2, 3] }, + t(L, [2, 5], { 8: [1, 46] }), + { 8: [1, 47] }, + t(M, [2, 16], { 21: [1, 48] }), + t(M, [2, 18]), + t(M, [2, 19]), + t(M, [2, 20]), + t(M, [2, 21]), + t(M, [2, 22]), + t(M, [2, 23]), + t(M, [2, 24]), + t(M, [2, 25]), + t(M, [2, 26]), + { 32: [1, 49] }, + { 34: [1, 50] }, + t(M, [2, 29]), + t(M, [2, 45], { + 49: 51, + 57: 54, + 58: 55, + 13: [1, 52], + 21: [1, 53], + 59: N, + 60: k, + 61: I, + 62: C, + 63: O, + 64: D, + 65: P + }), + { 37: [1, 63] }, + t(F, [2, 36], { 37: [1, 65], 42: [1, 64] }), + t(M, [2, 47]), + t(M, [2, 48]), + { 16: 66, 74: w, 80: T, 95: E, 97: _ }, + { 16: 37, 17: 67, 18: 38, 74: w, 80: T, 95: E, 97: _, 98: A }, + { 16: 37, 17: 68, 18: 38, 74: w, 80: T, 95: E, 97: _, 98: A }, + { 16: 37, 17: 69, 18: 38, 74: w, 80: T, 95: E, 97: _, 98: A }, + { 74: [1, 70] }, + { 13: [1, 71] }, + { 16: 37, 17: 72, 18: 38, 74: w, 80: T, 95: E, 97: _, 98: A }, + { 13: B, 51: 73 }, + t(M, [2, 55]), + t(M, [2, 56]), + t(M, [2, 57]), + t(M, [2, 58]), + t($, [2, 11], { + 16: 37, + 18: 38, + 17: 75, + 19: [1, 76], + 74: w, + 80: T, + 95: E, + 97: _, + 98: A + }), + t($, [2, 12], { 19: [1, 77] }), + { 15: 78, 16: 79, 74: w, 80: T, 95: E, 97: _ }, + { 16: 37, 17: 80, 18: 38, 74: w, 80: T, 95: E, 97: _, 98: A }, + t(z, [2, 112]), + t(z, [2, 113]), + t(z, [2, 114]), + t(z, [2, 115]), + t([1, 8, 9, 12, 13, 19, 21, 37, 39, 42, 59, 60, 61, 62, 63, 64, 65, 70, 72], [2, 116]), + t(L, [2, 6], { + 10: 5, + 20: 7, + 22: 8, + 23: 9, + 24: 10, + 25: 11, + 26: 12, + 27: 13, + 28: 14, + 29: 15, + 30: 16, + 17: 20, + 36: 21, + 41: 22, + 16: 37, + 18: 38, + 5: 81, + 31: e, + 33: r, + 35: n, + 40: i, + 44: a, + 45: s, + 47: l, + 48: u, + 50: h, + 52: f, + 53: d, + 54: p, + 55: m, + 56: g, + 66: y, + 67: v, + 69: x, + 73: b, + 74: w, + 76: S, + 80: T, + 95: E, + 97: _, + 98: A + }), + { + 5: 82, + 10: 5, + 16: 37, + 17: 20, + 18: 38, + 20: 7, + 22: 8, + 23: 9, + 24: 10, + 25: 11, + 26: 12, + 27: 13, + 28: 14, + 29: 15, + 30: 16, + 31: e, + 33: r, + 35: n, + 36: 21, + 40: i, + 41: 22, + 44: a, + 45: s, + 47: l, + 48: u, + 50: h, + 52: f, + 53: d, + 54: p, + 55: m, + 56: g, + 66: y, + 67: v, + 69: x, + 73: b, + 74: w, + 76: S, + 80: T, + 95: E, + 97: _, + 98: A + }, + t(M, [2, 17]), + t(M, [2, 27]), + t(M, [2, 28]), + { + 13: [1, 84], + 16: 37, + 17: 83, + 18: 38, + 74: w, + 80: T, + 95: E, + 97: _, + 98: A + }, + { + 49: 85, + 57: 54, + 58: 55, + 59: N, + 60: k, + 61: I, + 62: C, + 63: O, + 64: D, + 65: P + }, + t(M, [2, 46]), + { 58: 86, 64: D, 65: P }, + t(Y, [2, 62], { 57: 87, 59: N, 60: k, 61: I, 62: C, 63: O }), + t(Q, [2, 63]), + t(Q, [2, 64]), + t(Q, [2, 65]), + t(Q, [2, 66]), + t(Q, [2, 67]), + t(X, [2, 68]), + t(X, [2, 69]), + { 8: [1, 89], 23: 90, 38: 88, 41: 22, 44: a }, + { 16: 91, 74: w, 80: T, 95: E, 97: _ }, + { 43: 92, 47: ie }, + { 46: [1, 94] }, + { 13: [1, 95] }, + { 13: [1, 96] }, + { 70: [1, 97], 72: [1, 98] }, + { + 21: j, + 73: J, + 74: Z, + 75: 99, + 77: 100, + 79: 101, + 80: H, + 81: q, + 82: K, + 83: se, + 84: ce, + 85: ue + }, + { 74: [1, 111] }, + { 13: B, 51: 112 }, + t(M, [2, 54]), + t(M, [2, 117]), + t($, [2, 13]), + t($, [2, 14]), + t($, [2, 15]), + { 37: [2, 32] }, + { 15: 113, 16: 79, 37: [2, 9], 74: w, 80: T, 95: E, 97: _ }, + t(te, [2, 40], { 11: 114, 12: [1, 115] }), + t(L, [2, 7]), + { 9: [1, 116] }, + t(De, [2, 49]), + { 16: 37, 17: 117, 18: 38, 74: w, 80: T, 95: E, 97: _, 98: A }, + { + 13: [1, 119], + 16: 37, + 17: 118, + 18: 38, + 74: w, + 80: T, + 95: E, + 97: _, + 98: A + }, + t(Y, [2, 61], { 57: 120, 59: N, 60: k, 61: I, 62: C, 63: O }), + t(Y, [2, 60]), + { 39: [1, 121] }, + { 23: 90, 38: 122, 41: 22, 44: a }, + { 8: [1, 123], 39: [2, 33] }, + t(F, [2, 37], { 37: [1, 124] }), + { 39: [1, 125] }, + { 39: [2, 43], 43: 126, 47: ie }, + { 16: 37, 17: 127, 18: 38, 74: w, 80: T, 95: E, 97: _, 98: A }, + t(M, [2, 70], { 13: [1, 128] }), + t(M, [2, 72], { 13: [1, 130], 68: [1, 129] }), + t(M, [2, 76], { 13: [1, 131], 71: [1, 132] }), + { 13: [1, 133] }, + t(M, [2, 84], { 78: [1, 134] }), + t(oe, [2, 86], { + 79: 135, + 21: j, + 73: J, + 74: Z, + 80: H, + 81: q, + 82: K, + 83: se, + 84: ce, + 85: ue + }), + t(ke, [2, 88]), + t(ke, [2, 90]), + t(ke, [2, 91]), + t(ke, [2, 92]), + t(ke, [2, 93]), + t(ke, [2, 94]), + t(ke, [2, 95]), + t(ke, [2, 96]), + t(ke, [2, 97]), + t(ke, [2, 98]), + t(M, [2, 85]), + t(M, [2, 53]), + { 37: [2, 10] }, + t(te, [2, 41]), + { 13: [1, 136] }, + { 1: [2, 4] }, + t(De, [2, 51]), + t(De, [2, 50]), + { 16: 37, 17: 137, 18: 38, 74: w, 80: T, 95: E, 97: _, 98: A }, + t(Y, [2, 59]), + t(M, [2, 30]), + { 39: [1, 138] }, + { 23: 90, 38: 139, 39: [2, 34], 41: 22, 44: a }, + { 43: 140, 47: ie }, + t(F, [2, 38]), + { 39: [2, 44] }, + t(M, [2, 42]), + t(M, [2, 71]), + t(M, [2, 73]), + t(M, [2, 74], { 68: [1, 141] }), + t(M, [2, 77]), + t(M, [2, 78], { 13: [1, 142] }), + t(M, [2, 80], { 13: [1, 144], 68: [1, 143] }), + { + 21: j, + 73: J, + 74: Z, + 77: 145, + 79: 101, + 80: H, + 81: q, + 82: K, + 83: se, + 84: ce, + 85: ue + }, + t(ke, [2, 89]), + { 14: [1, 146] }, + t(De, [2, 52]), + t(M, [2, 31]), + { 39: [2, 35] }, + { 39: [1, 147] }, + t(M, [2, 75]), + t(M, [2, 79]), + t(M, [2, 81]), + t(M, [2, 82], { 68: [1, 148] }), + t(oe, [2, 87], { + 79: 135, + 21: j, + 73: J, + 74: Z, + 80: H, + 81: q, + 82: K, + 83: se, + 84: ce, + 85: ue + }), + t(te, [2, 8]), + t(F, [2, 39]), + t(M, [2, 83]) + ], + defaultActions: { + 2: [2, 1], + 3: [2, 2], + 4: [2, 3], + 78: [2, 32], + 113: [2, 10], + 116: [2, 4], + 126: [2, 44], + 139: [2, 35] + }, + parseError: o(function (_e, me) { + if (me.recoverable) this.trace(_e); + else { + var W = new Error(_e); + throw ((W.hash = me), W); + } + }, 'parseError'), + parse: o(function (_e) { + var me = this, + W = [0], + fe = [], + ge = [null], + re = [], + he = this.table, + ne = '', + ae = 0, + we = 0, + Te = 0, + Ce = 2, + Ae = 1, + Ge = re.slice.call(arguments, 1), + Me = Object.create(this.lexer), + ye = { yy: {} }; + for (var He in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, He) && (ye.yy[He] = this.yy[He]); + Me.setInput(_e, ye.yy), + (ye.yy.lexer = Me), + (ye.yy.parser = this), + typeof Me.yylloc > 'u' && (Me.yylloc = {}); + var ze = Me.yylloc; + re.push(ze); + var Ze = Me.options && Me.options.ranges; + typeof ye.yy.parseError == 'function' + ? (this.parseError = ye.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError); + function gt(mt) { + (W.length = W.length - 2 * mt), + (ge.length = ge.length - mt), + (re.length = re.length - mt); + } + o(gt, 'popStack'); + function yt() { + var mt; + return ( + (mt = fe.pop() || Me.lex() || Ae), + typeof mt != 'number' && + (mt instanceof Array && ((fe = mt), (mt = fe.pop())), + (mt = me.symbols_[mt] || mt)), + mt + ); + } + o(yt, 'lex'); + for (var tt, Ye, Je, Ve, je, kt, at = {}, xt, it, dt, lt; ; ) { + if ( + ((Je = W[W.length - 1]), + this.defaultActions[Je] + ? (Ve = this.defaultActions[Je]) + : ((tt === null || typeof tt > 'u') && (tt = yt()), + (Ve = he[Je] && he[Je][tt])), + typeof Ve > 'u' || !Ve.length || !Ve[0]) + ) { + var It = ''; + lt = []; + for (xt in he[Je]) + this.terminals_[xt] && xt > Ce && lt.push("'" + this.terminals_[xt] + "'"); + Me.showPosition + ? (It = + 'Parse error on line ' + + (ae + 1) + + `: +` + + Me.showPosition() + + ` +Expecting ` + + lt.join(', ') + + ", got '" + + (this.terminals_[tt] || tt) + + "'") + : (It = + 'Parse error on line ' + + (ae + 1) + + ': Unexpected ' + + (tt == Ae ? 'end of input' : "'" + (this.terminals_[tt] || tt) + "'")), + this.parseError(It, { + text: Me.match, + token: this.terminals_[tt] || tt, + line: Me.yylineno, + loc: ze, + expected: lt + }); + } + if (Ve[0] instanceof Array && Ve.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + Je + ', token: ' + tt + ); + switch (Ve[0]) { + case 1: + W.push(tt), + ge.push(Me.yytext), + re.push(Me.yylloc), + W.push(Ve[1]), + (tt = null), + Ye + ? ((tt = Ye), (Ye = null)) + : ((we = Me.yyleng), + (ne = Me.yytext), + (ae = Me.yylineno), + (ze = Me.yylloc), + Te > 0 && Te--); + break; + case 2: + if ( + ((it = this.productions_[Ve[1]][1]), + (at.$ = ge[ge.length - it]), + (at._$ = { + first_line: re[re.length - (it || 1)].first_line, + last_line: re[re.length - 1].last_line, + first_column: re[re.length - (it || 1)].first_column, + last_column: re[re.length - 1].last_column + }), + Ze && + (at._$.range = [ + re[re.length - (it || 1)].range[0], + re[re.length - 1].range[1] + ]), + (kt = this.performAction.apply( + at, + [ne, we, ae, ye.yy, Ve[1], ge, re].concat(Ge) + )), + typeof kt < 'u') + ) + return kt; + it && + ((W = W.slice(0, -1 * it * 2)), + (ge = ge.slice(0, -1 * it)), + (re = re.slice(0, -1 * it))), + W.push(this.productions_[Ve[1]][0]), + ge.push(at.$), + re.push(at._$), + (dt = he[W[W.length - 2]][W[W.length - 1]]), + W.push(dt); + break; + case 3: + return !0; + } + } + return !0; + }, 'parse') + }, + Se = (function () { + var Pe = { + EOF: 1, + parseError: o(function (me, W) { + if (this.yy.parser) this.yy.parser.parseError(me, W); + else throw new Error(me); + }, 'parseError'), + setInput: o(function (_e, me) { + return ( + (this.yy = me || this.yy || {}), + (this._input = _e), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, 'setInput'), + input: o(function () { + var _e = this._input[0]; + (this.yytext += _e), + this.yyleng++, + this.offset++, + (this.match += _e), + (this.matched += _e); + var me = _e.match(/(?:\r\n?|\n).*/g); + return ( + me ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + _e + ); + }, 'input'), + unput: o(function (_e) { + var me = _e.length, + W = _e.split(/(?:\r\n?|\n)/g); + (this._input = _e + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - me)), + (this.offset -= me); + var fe = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + W.length - 1 && (this.yylineno -= W.length - 1); + var ge = this.yylloc.range; + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: W + ? (W.length === fe.length ? this.yylloc.first_column : 0) + + fe[fe.length - W.length].length - + W[0].length + : this.yylloc.first_column - me + }), + this.options.ranges && (this.yylloc.range = [ge[0], ge[0] + this.yyleng - me]), + (this.yyleng = this.yytext.length), + this + ); + }, 'unput'), + more: o(function () { + return (this._more = !0), this; + }, 'more'), + reject: o(function () { + if (this.options.backtrack_lexer) this._backtrack = !0; + else + return this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + return this; + }, 'reject'), + less: o(function (_e) { + this.unput(this.match.slice(_e)); + }, 'less'), + pastInput: o(function () { + var _e = this.matched.substr(0, this.matched.length - this.match.length); + return (_e.length > 20 ? '...' : '') + _e.substr(-20).replace(/\n/g, ''); + }, 'pastInput'), + upcomingInput: o(function () { + var _e = this.match; + return ( + _e.length < 20 && (_e += this._input.substr(0, 20 - _e.length)), + (_e.substr(0, 20) + (_e.length > 20 ? '...' : '')).replace(/\n/g, '') + ); + }, 'upcomingInput'), + showPosition: o(function () { + var _e = this.pastInput(), + me = new Array(_e.length + 1).join('-'); + return ( + _e + + this.upcomingInput() + + ` +` + + me + + '^' + ); + }, 'showPosition'), + test_match: o(function (_e, me) { + var W, fe, ge; + if ( + (this.options.backtrack_lexer && + ((ge = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }), + this.options.ranges && (ge.yylloc.range = this.yylloc.range.slice(0))), + (fe = _e[0].match(/(?:\r\n?|\n).*/g)), + fe && (this.yylineno += fe.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: fe + ? fe[fe.length - 1].length - fe[fe.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + _e[0].length + }), + (this.yytext += _e[0]), + (this.match += _e[0]), + (this.matches = _e), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(_e[0].length)), + (this.matched += _e[0]), + (W = this.performAction.call( + this, + this.yy, + this, + me, + this.conditionStack[this.conditionStack.length - 1] + )), + this.done && this._input && (this.done = !1), + W) + ) + return W; + if (this._backtrack) { + for (var re in ge) this[re] = ge[re]; + return !1; + } + return !1; + }, 'test_match'), + next: o(function () { + if (this.done) return this.EOF; + this._input || (this.done = !0); + var _e, me, W, fe; + this._more || ((this.yytext = ''), (this.match = '')); + for (var ge = this._currentRules(), re = 0; re < ge.length; re++) + if ( + ((W = this._input.match(this.rules[ge[re]])), + W && (!me || W[0].length > me[0].length)) + ) { + if (((me = W), (fe = re), this.options.backtrack_lexer)) { + if (((_e = this.test_match(W, ge[re])), _e !== !1)) return _e; + if (this._backtrack) { + me = !1; + continue; + } else return !1; + } else if (!this.options.flex) break; + } + return me + ? ((_e = this.test_match(me, ge[fe])), _e !== !1 ? _e : !1) + : this._input === '' + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, 'next'), + lex: o(function () { + var me = this.next(); + return me || this.lex(); + }, 'lex'), + begin: o(function (me) { + this.conditionStack.push(me); + }, 'begin'), + popState: o(function () { + var me = this.conditionStack.length - 1; + return me > 0 ? this.conditionStack.pop() : this.conditionStack[0]; + }, 'popState'), + _currentRules: o(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules; + }, '_currentRules'), + topState: o(function (me) { + return ( + (me = this.conditionStack.length - 1 - Math.abs(me || 0)), + me >= 0 ? this.conditionStack[me] : 'INITIAL' + ); + }, 'topState'), + pushState: o(function (me) { + this.begin(me); + }, 'pushState'), + stateStackSize: o(function () { + return this.conditionStack.length; + }, 'stateStackSize'), + options: {}, + performAction: o(function (me, W, fe, ge) { + var re = ge; + switch (fe) { + case 0: + return 53; + case 1: + return 54; + case 2: + return 55; + case 3: + return 56; + case 4: + break; + case 5: + break; + case 6: + return this.begin('acc_title'), 31; + break; + case 7: + return this.popState(), 'acc_title_value'; + break; + case 8: + return this.begin('acc_descr'), 33; + break; + case 9: + return this.popState(), 'acc_descr_value'; + break; + case 10: + this.begin('acc_descr_multiline'); + break; + case 11: + this.popState(); + break; + case 12: + return 'acc_descr_multiline_value'; + case 13: + return 8; + case 14: + break; + case 15: + return 7; + case 16: + return 7; + case 17: + return 'EDGE_STATE'; + case 18: + this.begin('callback_name'); + break; + case 19: + this.popState(); + break; + case 20: + this.popState(), this.begin('callback_args'); + break; + case 21: + return 70; + case 22: + this.popState(); + break; + case 23: + return 71; + case 24: + this.popState(); + break; + case 25: + return 'STR'; + case 26: + this.begin('string'); + break; + case 27: + return 73; + case 28: + return this.begin('namespace'), 40; + break; + case 29: + return this.popState(), 8; + break; + case 30: + break; + case 31: + return this.begin('namespace-body'), 37; + break; + case 32: + return this.popState(), 39; + break; + case 33: + return 'EOF_IN_STRUCT'; + case 34: + return 8; + case 35: + break; + case 36: + return 'EDGE_STATE'; + case 37: + return this.begin('class'), 44; + break; + case 38: + return this.popState(), 8; + break; + case 39: + break; + case 40: + return this.popState(), this.popState(), 39; + break; + case 41: + return this.begin('class-body'), 37; + break; + case 42: + return this.popState(), 39; + break; + case 43: + return 'EOF_IN_STRUCT'; + case 44: + return 'EDGE_STATE'; + case 45: + return 'OPEN_IN_STRUCT'; + case 46: + break; + case 47: + return 'MEMBER'; + case 48: + return 76; + case 49: + return 66; + case 50: + return 67; + case 51: + return 69; + case 52: + return 50; + case 53: + return 52; + case 54: + return 45; + case 55: + return 46; + case 56: + return 72; + case 57: + this.popState(); + break; + case 58: + return 'GENERICTYPE'; + case 59: + this.begin('generic'); + break; + case 60: + this.popState(); + break; + case 61: + return 'BQUOTE_STR'; + case 62: + this.begin('bqstring'); + break; + case 63: + return 68; + case 64: + return 68; + case 65: + return 68; + case 66: + return 68; + case 67: + return 60; + case 68: + return 60; + case 69: + return 62; + case 70: + return 62; + case 71: + return 61; + case 72: + return 59; + case 73: + return 63; + case 74: + return 64; + case 75: + return 65; + case 76: + return 21; + case 77: + return 42; + case 78: + return 95; + case 79: + return 'DOT'; + case 80: + return 'PLUS'; + case 81: + return 81; + case 82: + return 78; + case 83: + return 84; + case 84: + return 84; + case 85: + return 85; + case 86: + return 'EQUALS'; + case 87: + return 'EQUALS'; + case 88: + return 74; + case 89: + return 12; + case 90: + return 14; + case 91: + return 'PUNCTUATION'; + case 92: + return 80; + case 93: + return 97; + case 94: + return 83; + case 95: + return 83; + case 96: + return 9; + } + }, 'anonymous'), + rules: [ + /^(?:.*direction\s+TB[^\n]*)/, + /^(?:.*direction\s+BT[^\n]*)/, + /^(?:.*direction\s+RL[^\n]*)/, + /^(?:.*direction\s+LR[^\n]*)/, + /^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/, + /^(?:%%[^\n]*(\r?\n)*)/, + /^(?:accTitle\s*:\s*)/, + /^(?:(?!\n||)*[^\n]*)/, + /^(?:accDescr\s*:\s*)/, + /^(?:(?!\n||)*[^\n]*)/, + /^(?:accDescr\s*\{\s*)/, + /^(?:[\}])/, + /^(?:[^\}]*)/, + /^(?:\s*(\r?\n)+)/, + /^(?:\s+)/, + /^(?:classDiagram-v2\b)/, + /^(?:classDiagram\b)/, + /^(?:\[\*\])/, + /^(?:call[\s]+)/, + /^(?:\([\s]*\))/, + /^(?:\()/, + /^(?:[^(]*)/, + /^(?:\))/, + /^(?:[^)]*)/, + /^(?:["])/, + /^(?:[^"]*)/, + /^(?:["])/, + /^(?:style\b)/, + /^(?:namespace\b)/, + /^(?:\s*(\r?\n)+)/, + /^(?:\s+)/, + /^(?:[{])/, + /^(?:[}])/, + /^(?:$)/, + /^(?:\s*(\r?\n)+)/, + /^(?:\s+)/, + /^(?:\[\*\])/, + /^(?:class\b)/, + /^(?:\s*(\r?\n)+)/, + /^(?:\s+)/, + /^(?:[}])/, + /^(?:[{])/, + /^(?:[}])/, + /^(?:$)/, + /^(?:\[\*\])/, + /^(?:[{])/, + /^(?:[\n])/, + /^(?:[^{}\n]*)/, + /^(?:cssClass\b)/, + /^(?:callback\b)/, + /^(?:link\b)/, + /^(?:click\b)/, + /^(?:note for\b)/, + /^(?:note\b)/, + /^(?:<<)/, + /^(?:>>)/, + /^(?:href\b)/, + /^(?:[~])/, + /^(?:[^~]*)/, + /^(?:~)/, + /^(?:[`])/, + /^(?:[^`]+)/, + /^(?:[`])/, + /^(?:_self\b)/, + /^(?:_blank\b)/, + /^(?:_parent\b)/, + /^(?:_top\b)/, + /^(?:\s*<\|)/, + /^(?:\s*\|>)/, + /^(?:\s*>)/, + /^(?:\s*<)/, + /^(?:\s*\*)/, + /^(?:\s*o\b)/, + /^(?:\s*\(\))/, + /^(?:--)/, + /^(?:\.\.)/, + /^(?::{1}[^:\n;]+)/, + /^(?::{3})/, + /^(?:-)/, + /^(?:\.)/, + /^(?:\+)/, + /^(?::)/, + /^(?:,)/, + /^(?:#)/, + /^(?:#)/, + /^(?:%)/, + /^(?:=)/, + /^(?:=)/, + /^(?:\w+)/, + /^(?:\[)/, + /^(?:\])/, + /^(?:[!"#$%&'*+,-.`?\\/])/, + /^(?:[0-9]+)/, + /^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/, + /^(?:\s)/, + /^(?:\s)/, + /^(?:$)/ + ], + conditions: { + 'namespace-body': { + rules: [ + 26, 32, 33, 34, 35, 36, 37, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 96 + ], + inclusive: !1 + }, + namespace: { + rules: [ + 26, 28, 29, 30, 31, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 96 + ], + inclusive: !1 + }, + 'class-body': { + rules: [ + 26, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 96 + ], + inclusive: !1 + }, + class: { + rules: [ + 26, 38, 39, 40, 41, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 96 + ], + inclusive: !1 + }, + acc_descr_multiline: { + rules: [ + 11, 12, 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 96 + ], + inclusive: !1 + }, + acc_descr: { + rules: [ + 9, 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, 96 + ], + inclusive: !1 + }, + acc_title: { + rules: [ + 7, 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, 96 + ], + inclusive: !1 + }, + callback_args: { + rules: [ + 22, 23, 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 96 + ], + inclusive: !1 + }, + callback_name: { + rules: [ + 19, 20, 21, 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, + 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, 96 + ], + inclusive: !1 + }, + href: { + rules: [ + 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 96 + ], + inclusive: !1 + }, + struct: { + rules: [ + 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 96 + ], + inclusive: !1 + }, + generic: { + rules: [ + 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 96 + ], + inclusive: !1 + }, + bqstring: { + rules: [ + 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 96 + ], + inclusive: !1 + }, + string: { + rules: [ + 24, 25, 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 96 + ], + inclusive: !1 + }, + INITIAL: { + rules: [ + 0, 1, 2, 3, 4, 5, 6, 8, 10, 13, 14, 15, 16, 17, 18, 26, 27, 28, 37, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 95, 96 + ], + inclusive: !0 + } + } + }; + return Pe; + })(); + Ie.lexer = Se; + function Ue() { + this.yy = {}; + } + return o(Ue, 'Parser'), (Ue.prototype = Ie), (Ie.Parser = Ue), new Ue(); + })(); + wO.parser = wO; + wE = wO; + }); + var bhe, + wx, + whe = R(() => { + 'use strict'; + _t(); + rr(); + (bhe = ['#', '+', '~', '-', '']), + (wx = class { + static { + o(this, 'ClassMember'); + } + constructor(e, r) { + (this.memberType = r), (this.visibility = ''), (this.classifier = ''); + let n = qr(e, de()); + this.parseMember(n); + } + getDisplayDetails() { + let e = this.visibility + gh(this.id); + this.memberType === 'method' && + ((e += `(${gh(this.parameters.trim())})`), + this.returnType && (e += ' : ' + gh(this.returnType))), + (e = e.trim()); + let r = this.parseClassifier(); + return { displayText: e, cssStyle: r }; + } + parseMember(e) { + let r = ''; + if (this.memberType === 'method') { + let i = /([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(e); + if (i) { + let a = i[1] ? i[1].trim() : ''; + if ( + (bhe.includes(a) && (this.visibility = a), + (this.id = i[2].trim()), + (this.parameters = i[3] ? i[3].trim() : ''), + (r = i[4] ? i[4].trim() : ''), + (this.returnType = i[5] ? i[5].trim() : ''), + r === '') + ) { + let s = this.returnType.substring(this.returnType.length - 1); + /[$*]/.exec(s) && + ((r = s), + (this.returnType = this.returnType.substring(0, this.returnType.length - 1))); + } + } + } else { + let n = e.length, + i = e.substring(0, 1), + a = e.substring(n - 1); + bhe.includes(i) && (this.visibility = i), + /[$*]/.exec(a) && (r = a), + (this.id = e.substring(this.visibility === '' ? 0 : 1, r === '' ? n : n - 1)); + } + this.classifier = r; + } + parseClassifier() { + switch (this.classifier) { + case '*': + return 'font-style:italic;'; + case '$': + return 'text-decoration:underline;'; + default: + return ''; + } + } + }); + }); + var EE, + EO, + Gi, + TE, + The, + qu, + kO, + Tx, + D0, + R0, + u$e, + kE, + khe, + h$e, + f$e, + d$e, + p$e, + m$e, + g$e, + y$e, + Ehe, + v$e, + x$e, + b$e, + CO, + w$e, + T$e, + k$e, + E$e, + C$e, + S$e, + A$e, + _$e, + Che, + SO, + L$e, + D$e, + R$e, + N$e, + M$e, + I$e, + O$e, + Bg, + AO = R(() => { + 'use strict'; + Zt(); + ut(); + _t(); + rr(); + xr(); + bi(); + whe(); + (EE = 'classId-'), + (EO = []), + (Gi = new Map()), + (TE = []), + (The = 0), + (qu = new Map()), + (kO = 0), + (Tx = []), + (D0 = o((t) => We.sanitizeText(t, de()), 'sanitizeText')), + (R0 = o(function (t) { + let e = We.sanitizeText(t, de()), + r = '', + n = e; + if (e.indexOf('~') > 0) { + let i = e.split('~'); + (n = D0(i[0])), (r = D0(i[1])); + } + return { className: n, type: r }; + }, 'splitClassNameAndType')), + (u$e = o(function (t, e) { + let r = We.sanitizeText(t, de()); + e && (e = D0(e)); + let { className: n } = R0(r); + Gi.get(n).label = e; + }, 'setClassLabel')), + (kE = o(function (t) { + let e = We.sanitizeText(t, de()), + { className: r, type: n } = R0(e); + if (Gi.has(r)) return; + let i = We.sanitizeText(r, de()); + Gi.set(i, { + id: i, + type: n, + label: i, + cssClasses: [], + methods: [], + members: [], + annotations: [], + styles: [], + domId: EE + i + '-' + The + }), + The++; + }, 'addClass')), + (khe = o(function (t) { + let e = We.sanitizeText(t, de()); + if (Gi.has(e)) return Gi.get(e).domId; + throw new Error('Class not found: ' + e); + }, 'lookUpDomId')), + (h$e = o(function () { + (EO = []), + (Gi = new Map()), + (TE = []), + (Tx = []), + Tx.push(Che), + (qu = new Map()), + (kO = 0), + (SO = 'TB'), + vr(); + }, 'clear')), + (f$e = o(function (t) { + return Gi.get(t); + }, 'getClass')), + (d$e = o(function () { + return Gi; + }, 'getClasses')), + (p$e = o(function () { + return EO; + }, 'getRelations')), + (m$e = o(function () { + return TE; + }, 'getNotes')), + (g$e = o(function (t) { + V.debug('Adding relation: ' + JSON.stringify(t)), + kE(t.id1), + kE(t.id2), + (t.id1 = R0(t.id1).className), + (t.id2 = R0(t.id2).className), + (t.relationTitle1 = We.sanitizeText(t.relationTitle1.trim(), de())), + (t.relationTitle2 = We.sanitizeText(t.relationTitle2.trim(), de())), + EO.push(t); + }, 'addRelation')), + (y$e = o(function (t, e) { + let r = R0(t).className; + Gi.get(r).annotations.push(e); + }, 'addAnnotation')), + (Ehe = o(function (t, e) { + kE(t); + let r = R0(t).className, + n = Gi.get(r); + if (typeof e == 'string') { + let i = e.trim(); + i.startsWith('<<') && i.endsWith('>>') + ? n.annotations.push(D0(i.substring(2, i.length - 2))) + : i.indexOf(')') > 0 + ? n.methods.push(new wx(i, 'method')) + : i && n.members.push(new wx(i, 'attribute')); + } + }, 'addMember')), + (v$e = o(function (t, e) { + Array.isArray(e) && (e.reverse(), e.forEach((r) => Ehe(t, r))); + }, 'addMembers')), + (x$e = o(function (t, e) { + let r = { id: `note${TE.length}`, class: e, text: t }; + TE.push(r); + }, 'addNote')), + (b$e = o(function (t) { + return t.startsWith(':') && (t = t.substring(1)), D0(t.trim()); + }, 'cleanupLabel')), + (CO = o(function (t, e) { + t.split(',').forEach(function (r) { + let n = r; + /\d/.exec(r[0]) && (n = EE + n); + let i = Gi.get(n); + i && i.cssClasses.push(e); + }); + }, 'setCssClass')), + (w$e = o(function (t, e) { + t.split(',').forEach(function (r) { + e !== void 0 && (Gi.get(r).tooltip = D0(e)); + }); + }, 'setTooltip')), + (T$e = o(function (t, e) { + return e && qu.has(e) ? qu.get(e).classes.get(t).tooltip : Gi.get(t).tooltip; + }, 'getTooltip')), + (k$e = o(function (t, e, r) { + let n = de(); + t.split(',').forEach(function (i) { + let a = i; + /\d/.exec(i[0]) && (a = EE + a); + let s = Gi.get(a); + s && + ((s.link = Lt.formatUrl(e, n)), + n.securityLevel === 'sandbox' + ? (s.linkTarget = '_top') + : typeof r == 'string' + ? (s.linkTarget = D0(r)) + : (s.linkTarget = '_blank')); + }), + CO(t, 'clickable'); + }, 'setLink')), + (E$e = o(function (t, e, r) { + t.split(',').forEach(function (n) { + C$e(n, e, r), (Gi.get(n).haveCallback = !0); + }), + CO(t, 'clickable'); + }, 'setClickEvent')), + (C$e = o(function (t, e, r) { + let n = We.sanitizeText(t, de()); + if (de().securityLevel !== 'loose' || e === void 0) return; + let a = n; + if (Gi.has(a)) { + let s = khe(a), + l = []; + if (typeof r == 'string') { + l = r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/); + for (let u = 0; u < l.length; u++) { + let h = l[u].trim(); + h.startsWith('"') && h.endsWith('"') && (h = h.substr(1, h.length - 2)), (l[u] = h); + } + } + l.length === 0 && l.push(s), + Tx.push(function () { + let u = document.querySelector(`[id="${s}"]`); + u !== null && + u.addEventListener( + 'click', + function () { + Lt.runFunc(e, ...l); + }, + !1 + ); + }); + } + }, 'setClickFunc')), + (S$e = o(function (t) { + Tx.forEach(function (e) { + e(t); + }); + }, 'bindFunctions')), + (A$e = { LINE: 0, DOTTED_LINE: 1 }), + (_$e = { + AGGREGATION: 0, + EXTENSION: 1, + COMPOSITION: 2, + DEPENDENCY: 3, + LOLLIPOP: 4 + }), + (Che = o(function (t) { + let e = $e('.mermaidTooltip'); + (e._groups || e)[0][0] === null && + (e = $e('body').append('div').attr('class', 'mermaidTooltip').style('opacity', 0)), + $e(t) + .select('svg') + .selectAll('g.node') + .on('mouseover', function () { + let i = $e(this); + if (i.attr('title') === null) return; + let s = this.getBoundingClientRect(); + e.transition().duration(200).style('opacity', '.9'), + e + .text(i.attr('title')) + .style('left', window.scrollX + s.left + (s.right - s.left) / 2 + 'px') + .style('top', window.scrollY + s.top - 14 + document.body.scrollTop + 'px'), + e.html(e.html().replace(/<br\/>/g, '
    ')), + i.classed('hover', !0); + }) + .on('mouseout', function () { + e.transition().duration(500).style('opacity', 0), $e(this).classed('hover', !1); + }); + }, 'setupToolTips')); + Tx.push(Che); + (SO = 'TB'), + (L$e = o(() => SO, 'getDirection')), + (D$e = o((t) => { + SO = t; + }, 'setDirection')), + (R$e = o(function (t) { + qu.has(t) || + (qu.set(t, { + id: t, + classes: new Map(), + children: {}, + domId: EE + t + '-' + kO + }), + kO++); + }, 'addNamespace')), + (N$e = o(function (t) { + return qu.get(t); + }, 'getNamespace')), + (M$e = o(function () { + return qu; + }, 'getNamespaces')), + (I$e = o(function (t, e) { + if (qu.has(t)) + for (let r of e) { + let { className: n } = R0(r); + (Gi.get(n).parent = t), qu.get(t).classes.set(n, Gi.get(n)); + } + }, 'addClassesToNamespace')), + (O$e = o(function (t, e) { + let r = Gi.get(t); + if (!(!e || !r)) + for (let n of e) n.includes(',') ? r.styles.push(...n.split(',')) : r.styles.push(n); + }, 'setCssStyle')), + (Bg = { + setAccTitle: kr, + getAccTitle: Ar, + getAccDescription: Lr, + setAccDescription: _r, + getConfig: o(() => de().class, 'getConfig'), + addClass: kE, + bindFunctions: S$e, + clear: h$e, + getClass: f$e, + getClasses: d$e, + getNotes: m$e, + addAnnotation: y$e, + addNote: x$e, + getRelations: p$e, + addRelation: g$e, + getDirection: L$e, + setDirection: D$e, + addMember: Ehe, + addMembers: v$e, + cleanupLabel: b$e, + lineType: A$e, + relationType: _$e, + setClickEvent: E$e, + setCssClass: CO, + setLink: k$e, + getTooltip: T$e, + setTooltip: w$e, + lookUpDomId: khe, + setDiagramTitle: nn, + getDiagramTitle: Xr, + setClassLabel: u$e, + addNamespace: R$e, + addClassesToNamespace: I$e, + getNamespace: N$e, + getNamespaces: M$e, + setCssStyle: O$e + }); + }); + var P$e, + CE, + _O = R(() => { + 'use strict'; + (P$e = o( + (t) => `g.classGroup text { + fill: ${t.nodeBorder || t.classText}; + stroke: none; + font-family: ${t.fontFamily}; + font-size: 10px; + + .title { + font-weight: bolder; + } + +} + +.nodeLabel, .edgeLabel { + color: ${t.classText}; +} +.edgeLabel .label rect { + fill: ${t.mainBkg}; +} +.label text { + fill: ${t.classText}; +} +.edgeLabel .label span { + background: ${t.mainBkg}; +} + +.classTitle { + font-weight: bolder; +} +.node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + stroke-width: 1px; + } + + +.divider { + stroke: ${t.nodeBorder}; + stroke-width: 1; +} + +g.clickable { + cursor: pointer; +} + +g.classGroup rect { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; +} + +g.classGroup line { + stroke: ${t.nodeBorder}; + stroke-width: 1; +} + +.classLabel .box { + stroke: none; + stroke-width: 0; + fill: ${t.mainBkg}; + opacity: 0.5; +} + +.classLabel .label { + fill: ${t.nodeBorder}; + font-size: 10px; +} + +.relation { + stroke: ${t.lineColor}; + stroke-width: 1; + fill: none; +} + +.dashed-line{ + stroke-dasharray: 3; +} + +.dotted-line{ + stroke-dasharray: 1 2; +} + +#compositionStart, .composition { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#compositionEnd, .composition { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#extensionStart, .extension { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#extensionEnd, .extension { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#aggregationStart, .aggregation { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#aggregationEnd, .aggregation { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#lollipopStart, .lollipop { + fill: ${t.mainBkg} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#lollipopEnd, .lollipop { + fill: ${t.mainBkg} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +.edgeTerminals { + font-size: 11px; + line-height: initial; +} + +.classTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; +} +`, + 'getStyles' + )), + (CE = P$e); + }); + var She, + B$e, + F$e, + _he, + z$e, + Ahe, + SE, + Lhe = R(() => { + 'use strict'; + Zt(); + xr(); + ut(); + rr(); + (She = 0), + (B$e = o(function (t, e, r, n, i) { + let a = o(function (b) { + switch (b) { + case i.db.relationType.AGGREGATION: + return 'aggregation'; + case i.db.relationType.EXTENSION: + return 'extension'; + case i.db.relationType.COMPOSITION: + return 'composition'; + case i.db.relationType.DEPENDENCY: + return 'dependency'; + case i.db.relationType.LOLLIPOP: + return 'lollipop'; + } + }, 'getRelationType'); + e.points = e.points.filter((b) => !Number.isNaN(b.y)); + let s = e.points, + l = ha() + .x(function (b) { + return b.x; + }) + .y(function (b) { + return b.y; + }) + .curve(vs), + u = t + .append('path') + .attr('d', l(s)) + .attr('id', 'edge' + She) + .attr('class', 'relation'), + h = ''; + n.arrowMarkerAbsolute && + ((h = + window.location.protocol + + '//' + + window.location.host + + window.location.pathname + + window.location.search), + (h = h.replace(/\(/g, '\\(')), + (h = h.replace(/\)/g, '\\)'))), + r.relation.lineType == 1 && u.attr('class', 'relation dashed-line'), + r.relation.lineType == 10 && u.attr('class', 'relation dotted-line'), + r.relation.type1 !== 'none' && + u.attr('marker-start', 'url(' + h + '#' + a(r.relation.type1) + 'Start)'), + r.relation.type2 !== 'none' && + u.attr('marker-end', 'url(' + h + '#' + a(r.relation.type2) + 'End)'); + let f, + d, + p = e.points.length, + m = Lt.calcLabelPosition(e.points); + (f = m.x), (d = m.y); + let g, y, v, x; + if (p % 2 !== 0 && p > 1) { + let b = Lt.calcCardinalityPosition(r.relation.type1 !== 'none', e.points, e.points[0]), + w = Lt.calcCardinalityPosition(r.relation.type2 !== 'none', e.points, e.points[p - 1]); + V.debug('cardinality_1_point ' + JSON.stringify(b)), + V.debug('cardinality_2_point ' + JSON.stringify(w)), + (g = b.x), + (y = b.y), + (v = w.x), + (x = w.y); + } + if (r.title !== void 0) { + let b = t.append('g').attr('class', 'classLabel'), + w = b + .append('text') + .attr('class', 'label') + .attr('x', f) + .attr('y', d) + .attr('fill', 'red') + .attr('text-anchor', 'middle') + .text(r.title); + window.label = w; + let S = w.node().getBBox(); + b.insert('rect', ':first-child') + .attr('class', 'box') + .attr('x', S.x - n.padding / 2) + .attr('y', S.y - n.padding / 2) + .attr('width', S.width + n.padding) + .attr('height', S.height + n.padding); + } + V.info('Rendering relation ' + JSON.stringify(r)), + r.relationTitle1 !== void 0 && + r.relationTitle1 !== 'none' && + t + .append('g') + .attr('class', 'cardinality') + .append('text') + .attr('class', 'type1') + .attr('x', g) + .attr('y', y) + .attr('fill', 'black') + .attr('font-size', '6') + .text(r.relationTitle1), + r.relationTitle2 !== void 0 && + r.relationTitle2 !== 'none' && + t + .append('g') + .attr('class', 'cardinality') + .append('text') + .attr('class', 'type2') + .attr('x', v) + .attr('y', x) + .attr('fill', 'black') + .attr('font-size', '6') + .text(r.relationTitle2), + She++; + }, 'drawEdge')), + (F$e = o(function (t, e, r, n) { + V.debug('Rendering class ', e, r); + let i = e.id, + a = { id: i, label: e.id, width: 0, height: 0 }, + s = t.append('g').attr('id', n.db.lookUpDomId(i)).attr('class', 'classGroup'), + l; + e.link + ? (l = s + .append('svg:a') + .attr('xlink:href', e.link) + .attr('target', e.linkTarget) + .append('text') + .attr('y', r.textHeight + r.padding) + .attr('x', 0)) + : (l = s + .append('text') + .attr('y', r.textHeight + r.padding) + .attr('x', 0)); + let u = !0; + e.annotations.forEach(function (w) { + let S = l.append('tspan').text('\xAB' + w + '\xBB'); + u || S.attr('dy', r.textHeight), (u = !1); + }); + let h = _he(e), + f = l.append('tspan').text(h).attr('class', 'title'); + u || f.attr('dy', r.textHeight); + let d = l.node().getBBox().height, + p, + m, + g; + if (e.members.length > 0) { + p = s + .append('line') + .attr('x1', 0) + .attr('y1', r.padding + d + r.dividerMargin / 2) + .attr('y2', r.padding + d + r.dividerMargin / 2); + let w = s + .append('text') + .attr('x', r.padding) + .attr('y', d + r.dividerMargin + r.textHeight) + .attr('fill', 'white') + .attr('class', 'classText'); + (u = !0), + e.members.forEach(function (S) { + Ahe(w, S, u, r), (u = !1); + }), + (m = w.node().getBBox()); + } + if (e.methods.length > 0) { + g = s + .append('line') + .attr('x1', 0) + .attr('y1', r.padding + d + r.dividerMargin + m.height) + .attr('y2', r.padding + d + r.dividerMargin + m.height); + let w = s + .append('text') + .attr('x', r.padding) + .attr('y', d + 2 * r.dividerMargin + m.height + r.textHeight) + .attr('fill', 'white') + .attr('class', 'classText'); + (u = !0), + e.methods.forEach(function (S) { + Ahe(w, S, u, r), (u = !1); + }); + } + let y = s.node().getBBox(); + var v = ' '; + e.cssClasses.length > 0 && (v = v + e.cssClasses.join(' ')); + let b = s + .insert('rect', ':first-child') + .attr('x', 0) + .attr('y', 0) + .attr('width', y.width + 2 * r.padding) + .attr('height', y.height + r.padding + 0.5 * r.dividerMargin) + .attr('class', v) + .node() + .getBBox().width; + return ( + l.node().childNodes.forEach(function (w) { + w.setAttribute('x', (b - w.getBBox().width) / 2); + }), + e.tooltip && l.insert('title').text(e.tooltip), + p && p.attr('x2', b), + g && g.attr('x2', b), + (a.width = b), + (a.height = y.height + r.padding + 0.5 * r.dividerMargin), + a + ); + }, 'drawClass')), + (_he = o(function (t) { + let e = t.id; + return t.type && (e += '<' + gh(t.type) + '>'), e; + }, 'getClassTitleString')), + (z$e = o(function (t, e, r, n) { + V.debug('Rendering note ', e, r); + let i = e.id, + a = { id: i, text: e.text, width: 0, height: 0 }, + s = t.append('g').attr('id', i).attr('class', 'classGroup'), + l = s + .append('text') + .attr('y', r.textHeight + r.padding) + .attr('x', 0), + u = JSON.parse(`"${e.text}"`).split(` +`); + u.forEach(function (p) { + V.debug(`Adding line: ${p}`), + l.append('tspan').text(p).attr('class', 'title').attr('dy', r.textHeight); + }); + let h = s.node().getBBox(), + d = s + .insert('rect', ':first-child') + .attr('x', 0) + .attr('y', 0) + .attr('width', h.width + 2 * r.padding) + .attr('height', h.height + u.length * r.textHeight + r.padding + 0.5 * r.dividerMargin) + .node() + .getBBox().width; + return ( + l.node().childNodes.forEach(function (p) { + p.setAttribute('x', (d - p.getBBox().width) / 2); + }), + (a.width = d), + (a.height = h.height + u.length * r.textHeight + r.padding + 0.5 * r.dividerMargin), + a + ); + }, 'drawNote')), + (Ahe = o(function (t, e, r, n) { + let { displayText: i, cssStyle: a } = e.getDisplayDetails(), + s = t.append('tspan').attr('x', n.padding).text(i); + a !== '' && s.attr('style', e.cssStyle), r || s.attr('dy', n.textHeight); + }, 'addTspan')), + (SE = { + getClassTitleString: _he, + drawClass: F$e, + drawEdge: B$e, + drawNote: z$e + }); + }); + var _E, + AE, + kx, + G$e, + $$e, + Dhe, + Rhe = R(() => { + 'use strict'; + Zt(); + Vd(); + ya(); + ut(); + Lhe(); + Yn(); + _t(); + (_E = {}), + (AE = 20), + (kx = o(function (t) { + let e = Object.entries(_E).find((r) => r[1].label === t); + if (e) return e[0]; + }, 'getGraphId')), + (G$e = o(function (t) { + t + .append('defs') + .append('marker') + .attr('id', 'extensionStart') + .attr('class', 'extension') + .attr('refX', 0) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 1,7 L18,13 V 1 Z'), + t + .append('defs') + .append('marker') + .attr('id', 'extensionEnd') + .attr('refX', 19) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 1,1 V 13 L18,7 Z'), + t + .append('defs') + .append('marker') + .attr('id', 'compositionStart') + .attr('class', 'extension') + .attr('refX', 0) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'), + t + .append('defs') + .append('marker') + .attr('id', 'compositionEnd') + .attr('refX', 19) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'), + t + .append('defs') + .append('marker') + .attr('id', 'aggregationStart') + .attr('class', 'extension') + .attr('refX', 0) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'), + t + .append('defs') + .append('marker') + .attr('id', 'aggregationEnd') + .attr('refX', 19) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'), + t + .append('defs') + .append('marker') + .attr('id', 'dependencyStart') + .attr('class', 'extension') + .attr('refX', 0) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 5,7 L9,13 L1,7 L9,1 Z'), + t + .append('defs') + .append('marker') + .attr('id', 'dependencyEnd') + .attr('refX', 19) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L14,7 L9,1 Z'); + }, 'insertMarkers')), + ($$e = o(function (t, e, r, n) { + let i = de().class; + (_E = {}), V.info('Rendering diagram ' + t); + let a = de().securityLevel, + s; + a === 'sandbox' && (s = $e('#i' + e)); + let l = a === 'sandbox' ? $e(s.nodes()[0].contentDocument.body) : $e('body'), + u = l.select(`[id='${e}']`); + G$e(u); + let h = new lr({ multigraph: !0 }); + h.setGraph({ isMultiGraph: !0 }), + h.setDefaultEdgeLabel(function () { + return {}; + }); + let f = n.db.getClasses(), + d = [...f.keys()]; + for (let b of d) { + let w = f.get(b), + S = SE.drawClass(u, w, i, n); + (_E[S.id] = S), h.setNode(S.id, S), V.info('Org height: ' + S.height); + } + n.db.getRelations().forEach(function (b) { + V.info('tjoho' + kx(b.id1) + kx(b.id2) + JSON.stringify(b)), + h.setEdge(kx(b.id1), kx(b.id2), { relation: b }, b.title || 'DEFAULT'); + }), + n.db.getNotes().forEach(function (b) { + V.debug(`Adding note: ${JSON.stringify(b)}`); + let w = SE.drawNote(u, b, i, n); + (_E[w.id] = w), + h.setNode(w.id, w), + b.class && + f.has(b.class) && + h.setEdge( + b.id, + kx(b.class), + { + relation: { + id1: b.id, + id2: b.class, + relation: { + type1: 'none', + type2: 'none', + lineType: 10 + } + } + }, + 'DEFAULT' + ); + }), + lo(h), + h.nodes().forEach(function (b) { + b !== void 0 && + h.node(b) !== void 0 && + (V.debug('Node ' + b + ': ' + JSON.stringify(h.node(b))), + l + .select('#' + (n.db.lookUpDomId(b) || b)) + .attr( + 'transform', + 'translate(' + + (h.node(b).x - h.node(b).width / 2) + + ',' + + (h.node(b).y - h.node(b).height / 2) + + ' )' + )); + }), + h.edges().forEach(function (b) { + b !== void 0 && + h.edge(b) !== void 0 && + (V.debug('Edge ' + b.v + ' -> ' + b.w + ': ' + JSON.stringify(h.edge(b))), + SE.drawEdge(u, h.edge(b), h.edge(b).relation, i, n)); + }); + let g = u.node().getBBox(), + y = g.width + AE * 2, + v = g.height + AE * 2; + Sr(u, v, y, i.useMaxWidth); + let x = `${g.x - AE} ${g.y - AE} ${y} ${v}`; + V.debug(`viewBox ${x}`), u.attr('viewBox', x); + }, 'draw')), + (Dhe = { draw: $$e }); + }); + var Nhe = {}; + hr(Nhe, { diagram: () => V$e }); + var V$e, + Mhe = R(() => { + 'use strict'; + TO(); + AO(); + _O(); + Rhe(); + V$e = { + parser: wE, + db: Bg, + renderer: Dhe, + styles: CE, + init: o((t) => { + t.class || (t.class = {}), (t.class.arrowMarkerAbsolute = t.arrowMarkerAbsolute), Bg.clear(); + }, 'init') + }; + }); + var W$e, + q$e, + X$e, + j$e, + K$e, + Q$e, + Z$e, + J$e, + eVe, + tVe, + rVe, + LE, + LO = R(() => { + 'use strict'; + ut(); + (W$e = o((t, e, r, n) => { + e.forEach((i) => { + rVe[i](t, r, n); + }); + }, 'insertMarkers')), + (q$e = o((t, e, r) => { + V.trace('Making markers for ', r), + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-extensionStart') + .attr('class', 'marker extension ' + e) + .attr('refX', 18) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 1,7 L18,13 V 1 Z'), + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-extensionEnd') + .attr('class', 'marker extension ' + e) + .attr('refX', 1) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 1,1 V 13 L18,7 Z'); + }, 'extension')), + (X$e = o((t, e, r) => { + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-compositionStart') + .attr('class', 'marker composition ' + e) + .attr('refX', 18) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'), + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-compositionEnd') + .attr('class', 'marker composition ' + e) + .attr('refX', 1) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'); + }, 'composition')), + (j$e = o((t, e, r) => { + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-aggregationStart') + .attr('class', 'marker aggregation ' + e) + .attr('refX', 18) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'), + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-aggregationEnd') + .attr('class', 'marker aggregation ' + e) + .attr('refX', 1) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'); + }, 'aggregation')), + (K$e = o((t, e, r) => { + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-dependencyStart') + .attr('class', 'marker dependency ' + e) + .attr('refX', 6) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 5,7 L9,13 L1,7 L9,1 Z'), + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-dependencyEnd') + .attr('class', 'marker dependency ' + e) + .attr('refX', 13) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L14,7 L9,1 Z'); + }, 'dependency')), + (Q$e = o((t, e, r) => { + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-lollipopStart') + .attr('class', 'marker lollipop ' + e) + .attr('refX', 13) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('circle') + .attr('stroke', 'black') + .attr('fill', 'transparent') + .attr('cx', 7) + .attr('cy', 7) + .attr('r', 6), + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-lollipopEnd') + .attr('class', 'marker lollipop ' + e) + .attr('refX', 1) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('circle') + .attr('stroke', 'black') + .attr('fill', 'transparent') + .attr('cx', 7) + .attr('cy', 7) + .attr('r', 6); + }, 'lollipop')), + (Z$e = o((t, e, r) => { + t + .append('marker') + .attr('id', r + '_' + e + '-pointEnd') + .attr('class', 'marker ' + e) + .attr('viewBox', '0 0 10 10') + .attr('refX', 6) + .attr('refY', 5) + .attr('markerUnits', 'userSpaceOnUse') + .attr('markerWidth', 12) + .attr('markerHeight', 12) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 0 0 L 10 5 L 0 10 z') + .attr('class', 'arrowMarkerPath') + .style('stroke-width', 1) + .style('stroke-dasharray', '1,0'), + t + .append('marker') + .attr('id', r + '_' + e + '-pointStart') + .attr('class', 'marker ' + e) + .attr('viewBox', '0 0 10 10') + .attr('refX', 4.5) + .attr('refY', 5) + .attr('markerUnits', 'userSpaceOnUse') + .attr('markerWidth', 12) + .attr('markerHeight', 12) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 0 5 L 10 10 L 10 0 z') + .attr('class', 'arrowMarkerPath') + .style('stroke-width', 1) + .style('stroke-dasharray', '1,0'); + }, 'point')), + (J$e = o((t, e, r) => { + t + .append('marker') + .attr('id', r + '_' + e + '-circleEnd') + .attr('class', 'marker ' + e) + .attr('viewBox', '0 0 10 10') + .attr('refX', 11) + .attr('refY', 5) + .attr('markerUnits', 'userSpaceOnUse') + .attr('markerWidth', 11) + .attr('markerHeight', 11) + .attr('orient', 'auto') + .append('circle') + .attr('cx', '5') + .attr('cy', '5') + .attr('r', '5') + .attr('class', 'arrowMarkerPath') + .style('stroke-width', 1) + .style('stroke-dasharray', '1,0'), + t + .append('marker') + .attr('id', r + '_' + e + '-circleStart') + .attr('class', 'marker ' + e) + .attr('viewBox', '0 0 10 10') + .attr('refX', -1) + .attr('refY', 5) + .attr('markerUnits', 'userSpaceOnUse') + .attr('markerWidth', 11) + .attr('markerHeight', 11) + .attr('orient', 'auto') + .append('circle') + .attr('cx', '5') + .attr('cy', '5') + .attr('r', '5') + .attr('class', 'arrowMarkerPath') + .style('stroke-width', 1) + .style('stroke-dasharray', '1,0'); + }, 'circle')), + (eVe = o((t, e, r) => { + t + .append('marker') + .attr('id', r + '_' + e + '-crossEnd') + .attr('class', 'marker cross ' + e) + .attr('viewBox', '0 0 11 11') + .attr('refX', 12) + .attr('refY', 5.2) + .attr('markerUnits', 'userSpaceOnUse') + .attr('markerWidth', 11) + .attr('markerHeight', 11) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 1,1 l 9,9 M 10,1 l -9,9') + .attr('class', 'arrowMarkerPath') + .style('stroke-width', 2) + .style('stroke-dasharray', '1,0'), + t + .append('marker') + .attr('id', r + '_' + e + '-crossStart') + .attr('class', 'marker cross ' + e) + .attr('viewBox', '0 0 11 11') + .attr('refX', -1) + .attr('refY', 5.2) + .attr('markerUnits', 'userSpaceOnUse') + .attr('markerWidth', 11) + .attr('markerHeight', 11) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 1,1 l 9,9 M 10,1 l -9,9') + .attr('class', 'arrowMarkerPath') + .style('stroke-width', 2) + .style('stroke-dasharray', '1,0'); + }, 'cross')), + (tVe = o((t, e, r) => { + t.append('defs') + .append('marker') + .attr('id', r + '_' + e + '-barbEnd') + .attr('refX', 19) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 14) + .attr('markerUnits', 'strokeWidth') + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 19,7 L9,13 L14,7 L9,1 Z'); + }, 'barb')), + (rVe = { + extension: q$e, + composition: X$e, + aggregation: j$e, + dependency: K$e, + lollipop: Q$e, + point: Z$e, + circle: J$e, + cross: eVe, + barb: tVe + }), + (LE = W$e); + }); + var tr, + zl, + Phe, + Bhe, + RE, + nVe, + Fhe, + zhe, + Fg, + DE, + Ghe, + $he, + Vhe, + Uhe, + Hhe = R(() => { + 'use strict'; + ut(); + Pv(); + ya(); + (tr = {}), + (zl = {}), + (Phe = {}), + (Bhe = o(() => { + (zl = {}), (Phe = {}), (tr = {}); + }, 'clear')), + (RE = o( + (t, e) => (V.trace('In isDescendant', e, ' ', t, ' = ', zl[e].includes(t)), !!zl[e].includes(t)), + 'isDescendant' + )), + (nVe = o( + (t, e) => ( + V.info('Descendants of ', e, ' is ', zl[e]), + V.info('Edge is ', t), + t.v === e || t.w === e + ? !1 + : zl[e] + ? zl[e].includes(t.v) || RE(t.v, e) || RE(t.w, e) || zl[e].includes(t.w) + : (V.debug('Tilt, ', e, ',not in descendants'), !1) + ), + 'edgeInCluster' + )), + (Fhe = o((t, e, r, n) => { + V.warn('Copying children of ', t, 'root', n, 'data', e.node(t), n); + let i = e.children(t) || []; + t !== n && i.push(t), + V.warn('Copying (nodes) clusterId', t, 'nodes', i), + i.forEach((a) => { + if (e.children(a).length > 0) Fhe(a, e, r, n); + else { + let s = e.node(a); + V.info('cp ', a, ' to ', n, ' with parent ', t), + r.setNode(a, s), + n !== e.parent(a) && + (V.warn('Setting parent', a, e.parent(a)), r.setParent(a, e.parent(a))), + t !== n && a !== t + ? (V.debug('Setting parent', a, t), r.setParent(a, t)) + : (V.info('In copy ', t, 'root', n, 'data', e.node(t), n), + V.debug( + 'Not Setting parent for node=', + a, + 'cluster!==rootId', + t !== n, + 'node!==clusterId', + a !== t + )); + let l = e.edges(a); + V.debug('Copying Edges', l), + l.forEach((u) => { + V.info('Edge', u); + let h = e.edge(u.v, u.w, u.name); + V.info('Edge data', h, n); + try { + nVe(u, n) + ? (V.info('Copying as ', u.v, u.w, h, u.name), + r.setEdge(u.v, u.w, h, u.name), + V.info('newGraph edges ', r.edges(), r.edge(r.edges()[0]))) + : V.info( + 'Skipping copy of edge ', + u.v, + '-->', + u.w, + ' rootId: ', + n, + ' clusterId:', + t + ); + } catch (f) { + V.error(f); + } + }); + } + V.debug('Removing node', a), e.removeNode(a); + }); + }, 'copy')), + (zhe = o((t, e) => { + let r = e.children(t), + n = [...r]; + for (let i of r) (Phe[i] = t), (n = [...n, ...zhe(i, e)]); + return n; + }, 'extractDescendants')), + (Fg = o((t, e) => { + V.trace('Searching', t); + let r = e.children(t); + if ((V.trace('Searching children of id ', t, r), r.length < 1)) + return V.trace('This is a valid node', t), t; + for (let n of r) { + let i = Fg(n, e); + if (i) return V.trace('Found replacement for', t, ' => ', i), i; + } + }, 'findNonClusterChild')), + (DE = o((t) => (!tr[t] || !tr[t].externalConnections ? t : tr[t] ? tr[t].id : t), 'getAnchorId')), + (Ghe = o((t, e) => { + if (!t || e > 10) { + V.debug('Opting out, no graph '); + return; + } else V.debug('Opting in, graph '); + t.nodes().forEach(function (r) { + t.children(r).length > 0 && + (V.warn('Cluster identified', r, ' Replacement id in edges: ', Fg(r, t)), + (zl[r] = zhe(r, t)), + (tr[r] = { id: Fg(r, t), clusterData: t.node(r) })); + }), + t.nodes().forEach(function (r) { + let n = t.children(r), + i = t.edges(); + n.length > 0 + ? (V.debug('Cluster identified', r, zl), + i.forEach((a) => { + if (a.v !== r && a.w !== r) { + let s = RE(a.v, r), + l = RE(a.w, r); + s ^ l && + (V.warn('Edge: ', a, ' leaves cluster ', r), + V.warn('Descendants of XXX ', r, ': ', zl[r]), + (tr[r].externalConnections = !0)); + } + })) + : V.debug('Not a cluster ', r, zl); + }); + for (let r of Object.keys(tr)) { + let n = tr[r].id, + i = t.parent(n); + i !== r && tr[i] && !tr[i].externalConnections && (tr[r].id = i); + } + t.edges().forEach(function (r) { + let n = t.edge(r); + V.warn('Edge ' + r.v + ' -> ' + r.w + ': ' + JSON.stringify(r)), + V.warn('Edge ' + r.v + ' -> ' + r.w + ': ' + JSON.stringify(t.edge(r))); + let i = r.v, + a = r.w; + if ( + (V.warn('Fix XXX', tr, 'ids:', r.v, r.w, 'Translating: ', tr[r.v], ' --- ', tr[r.w]), + tr[r.v] && tr[r.w] && tr[r.v] === tr[r.w]) + ) { + V.warn('Fixing and trixing link to self - removing XXX', r.v, r.w, r.name), + V.warn('Fixing and trixing - removing XXX', r.v, r.w, r.name), + (i = DE(r.v)), + (a = DE(r.w)), + t.removeEdge(r.v, r.w, r.name); + let s = r.w + '---' + r.v; + t.setNode(s, { + domId: s, + id: s, + labelStyle: '', + labelText: n.label, + padding: 0, + shape: 'labelRect', + style: '' + }); + let l = structuredClone(n), + u = structuredClone(n); + (l.label = ''), + (l.arrowTypeEnd = 'none'), + (u.label = ''), + (l.fromCluster = r.v), + (u.toCluster = r.v), + t.setEdge(i, s, l, r.name + '-cyclic-special'), + t.setEdge(s, a, u, r.name + '-cyclic-special'); + } else if (tr[r.v] || tr[r.w]) { + if ( + (V.warn('Fixing and trixing - removing XXX', r.v, r.w, r.name), + (i = DE(r.v)), + (a = DE(r.w)), + t.removeEdge(r.v, r.w, r.name), + i !== r.v) + ) { + let s = t.parent(i); + (tr[s].externalConnections = !0), (n.fromCluster = r.v); + } + if (a !== r.w) { + let s = t.parent(a); + (tr[s].externalConnections = !0), (n.toCluster = r.w); + } + V.warn('Fix Replacing with XXX', i, a, r.name), t.setEdge(i, a, n, r.name); + } + }), + V.warn('Adjusted Graph', zn(t)), + $he(t, 0), + V.trace(tr); + }, 'adjustClustersAndEdges')), + ($he = o((t, e) => { + if ((V.warn('extractor - ', e, zn(t), t.children('D')), e > 10)) { + V.error('Bailing out'); + return; + } + let r = t.nodes(), + n = !1; + for (let i of r) { + let a = t.children(i); + n = n || a.length > 0; + } + if (!n) { + V.debug('Done, no node has children', t.nodes()); + return; + } + V.debug('Nodes = ', r, e); + for (let i of r) + if ( + (V.debug( + 'Extracting node', + i, + tr, + tr[i] && !tr[i].externalConnections, + !t.parent(i), + t.node(i), + t.children('D'), + ' Depth ', + e + ), + !tr[i]) + ) + V.debug('Not a cluster', i, e); + else if (!tr[i].externalConnections && t.children(i) && t.children(i).length > 0) { + V.warn('Cluster without external connections, without a parent and with children', i, e); + let s = t.graph().rankdir === 'TB' ? 'LR' : 'TB'; + tr[i]?.clusterData?.dir && + ((s = tr[i].clusterData.dir), V.warn('Fixing dir', tr[i].clusterData.dir, s)); + let l = new lr({ multigraph: !0, compound: !0 }) + .setGraph({ + rankdir: s, + nodesep: 50, + ranksep: 50, + marginx: 8, + marginy: 8 + }) + .setDefaultEdgeLabel(function () { + return {}; + }); + V.warn('Old graph before copy', zn(t)), + Fhe(i, t, l, i), + t.setNode(i, { + clusterNode: !0, + id: i, + clusterData: tr[i].clusterData, + labelText: tr[i].labelText, + graph: l + }), + V.warn('New graph after copy node: (', i, ')', zn(l)), + V.debug('Old graph after copy', zn(t)); + } else + V.warn( + 'Cluster ** ', + i, + ' **not meeting the criteria !externalConnections:', + !tr[i].externalConnections, + ' no parent: ', + !t.parent(i), + ' children ', + t.children(i) && t.children(i).length > 0, + t.children('D'), + e + ), + V.debug(tr); + (r = t.nodes()), V.warn('New list of nodes', r); + for (let i of r) { + let a = t.node(i); + V.warn(' Now next level', i, a), a.clusterNode && $he(a.graph, e + 1); + } + }, 'extractor')), + (Vhe = o((t, e) => { + if (e.length === 0) return []; + let r = Object.assign(e); + return ( + e.forEach((n) => { + let i = t.children(n), + a = Vhe(t, i); + r = [...r, ...a]; + }), + r + ); + }, 'sorter')), + (Uhe = o((t) => Vhe(t, t.children()), 'sortNodesByHierarchy')); + }); + var iVe, + aVe, + sVe, + oVe, + lVe, + Yhe, + Whe, + qhe, + Xhe = R(() => { + 'use strict'; + S9(); + ut(); + bv(); + Al(); + Zt(); + _t(); + rr(); + _d(); + (iVe = o((t, e) => { + V.info('Creating subgraph rect for ', e.id, e); + let r = de(), + n = t + .insert('g') + .attr('class', 'cluster' + (e.class ? ' ' + e.class : '')) + .attr('id', e.id), + i = n.insert('rect', ':first-child'), + a = yr(r.flowchart.htmlLabels), + s = n.insert('g').attr('class', 'cluster-label'), + l = + e.labelType === 'markdown' + ? ta(s, e.labelText, { style: e.labelStyle, useHtmlLabels: a }, r) + : s.node().appendChild(ra(e.labelText, e.labelStyle, void 0, !0)), + u = l.getBBox(); + if (yr(r.flowchart.htmlLabels)) { + let g = l.children[0], + y = $e(l); + (u = g.getBoundingClientRect()), y.attr('width', u.width), y.attr('height', u.height); + } + let h = 0 * e.padding, + f = h / 2, + d = e.width <= u.width + h ? u.width + h : e.width; + e.width <= u.width + h ? (e.diff = (u.width - e.width) / 2 - e.padding / 2) : (e.diff = -e.padding / 2), + V.trace('Data ', e, JSON.stringify(e)), + i + .attr('style', e.style) + .attr('rx', e.rx) + .attr('ry', e.ry) + .attr('x', e.x - d / 2) + .attr('y', e.y - e.height / 2 - f) + .attr('width', d) + .attr('height', e.height + h); + let { subGraphTitleTopMargin: p } = io(r); + a + ? s.attr('transform', `translate(${e.x - u.width / 2}, ${e.y - e.height / 2 + p})`) + : s.attr('transform', `translate(${e.x}, ${e.y - e.height / 2 + p})`); + let m = i.node().getBBox(); + return ( + (e.width = m.width), + (e.height = m.height), + (e.intersect = function (g) { + return Ad(e, g); + }), + n + ); + }, 'rect')), + (aVe = o((t, e) => { + let r = t.insert('g').attr('class', 'note-cluster').attr('id', e.id), + n = r.insert('rect', ':first-child'), + i = 0 * e.padding, + a = i / 2; + n.attr('rx', e.rx) + .attr('ry', e.ry) + .attr('x', e.x - e.width / 2 - a) + .attr('y', e.y - e.height / 2 - a) + .attr('width', e.width + i) + .attr('height', e.height + i) + .attr('fill', 'none'); + let s = n.node().getBBox(); + return ( + (e.width = s.width), + (e.height = s.height), + (e.intersect = function (l) { + return Ad(e, l); + }), + r + ); + }, 'noteGroup')), + (sVe = o((t, e) => { + let r = de(), + n = t.insert('g').attr('class', e.classes).attr('id', e.id), + i = n.insert('rect', ':first-child'), + a = n.insert('g').attr('class', 'cluster-label'), + s = n.append('rect'), + l = a.node().appendChild(ra(e.labelText, e.labelStyle, void 0, !0)), + u = l.getBBox(); + if (yr(r.flowchart.htmlLabels)) { + let g = l.children[0], + y = $e(l); + (u = g.getBoundingClientRect()), y.attr('width', u.width), y.attr('height', u.height); + } + u = l.getBBox(); + let h = 0 * e.padding, + f = h / 2, + d = e.width <= u.width + e.padding ? u.width + e.padding : e.width; + e.width <= u.width + e.padding + ? (e.diff = (u.width + e.padding * 0 - e.width) / 2) + : (e.diff = -e.padding / 2), + i + .attr('class', 'outer') + .attr('x', e.x - d / 2 - f) + .attr('y', e.y - e.height / 2 - f) + .attr('width', d + h) + .attr('height', e.height + h), + s + .attr('class', 'inner') + .attr('x', e.x - d / 2 - f) + .attr('y', e.y - e.height / 2 - f + u.height - 1) + .attr('width', d + h) + .attr('height', e.height + h - u.height - 3); + let { subGraphTitleTopMargin: p } = io(r); + a.attr( + 'transform', + `translate(${e.x - u.width / 2}, ${ + e.y - e.height / 2 - e.padding / 3 + (yr(r.flowchart.htmlLabels) ? 5 : 3) + p + })` + ); + let m = i.node().getBBox(); + return ( + (e.height = m.height), + (e.intersect = function (g) { + return Ad(e, g); + }), + n + ); + }, 'roundedWithTitle')), + (oVe = o((t, e) => { + let r = t.insert('g').attr('class', e.classes).attr('id', e.id), + n = r.insert('rect', ':first-child'), + i = 0 * e.padding, + a = i / 2; + n.attr('class', 'divider') + .attr('x', e.x - e.width / 2 - a) + .attr('y', e.y - e.height / 2) + .attr('width', e.width + i) + .attr('height', e.height + i); + let s = n.node().getBBox(); + return ( + (e.width = s.width), + (e.height = s.height), + (e.diff = -e.padding / 2), + (e.intersect = function (l) { + return Ad(e, l); + }), + r + ); + }, 'divider')), + (lVe = { + rect: iVe, + roundedWithTitle: sVe, + noteGroup: aVe, + divider: oVe + }), + (Yhe = {}), + (Whe = o((t, e) => { + V.trace('Inserting cluster'); + let r = e.shape || 'rect'; + Yhe[e.id] = lVe[r](t, e); + }, 'insertCluster')), + (qhe = o(() => { + Yhe = {}; + }, 'clear')); + }); + var Khe, + cVe, + jhe, + Qhe = R(() => { + 'use strict'; + ut(); + (Khe = o((t, e, r, n, i) => { + e.arrowTypeStart && jhe(t, 'start', e.arrowTypeStart, r, n, i), + e.arrowTypeEnd && jhe(t, 'end', e.arrowTypeEnd, r, n, i); + }, 'addEdgeMarkers')), + (cVe = { + arrow_cross: 'cross', + arrow_point: 'point', + arrow_barb: 'barb', + arrow_circle: 'circle', + aggregation: 'aggregation', + extension: 'extension', + composition: 'composition', + dependency: 'dependency', + lollipop: 'lollipop' + }), + (jhe = o((t, e, r, n, i, a) => { + let s = cVe[r]; + if (!s) { + V.warn(`Unknown arrow type: ${r}`); + return; + } + let l = e === 'start' ? 'Start' : 'End'; + t.attr(`marker-${e}`, `url(${n}#${i}_${a}-${s}${l})`); + }, 'addEdgeMarker')); + }); + function NE(t, e) { + de().flowchart.htmlLabels && t && ((t.style.width = e.length * 9 + 'px'), (t.style.height = '12px')); + } + var ME, + Ta, + Jhe, + IE, + OE, + uVe, + hVe, + Zhe, + PE, + DO = R(() => { + 'use strict'; + ut(); + bv(); + Al(); + Zt(); + _t(); + xr(); + rr(); + j9(); + _d(); + Qhe(); + (ME = {}), + (Ta = {}), + (Jhe = o(() => { + (ME = {}), (Ta = {}); + }, 'clear')), + (IE = o((t, e) => { + let r = de(), + n = yr(r.flowchart.htmlLabels), + i = + e.labelType === 'markdown' + ? ta( + t, + e.label, + { + style: e.labelStyle, + useHtmlLabels: n, + addSvgBackground: !0 + }, + r + ) + : ra(e.label, e.labelStyle), + a = t.insert('g').attr('class', 'edgeLabel'), + s = a.insert('g').attr('class', 'label'); + s.node().appendChild(i); + let l = i.getBBox(); + if (n) { + let h = i.children[0], + f = $e(i); + (l = h.getBoundingClientRect()), f.attr('width', l.width), f.attr('height', l.height); + } + s.attr('transform', 'translate(' + -l.width / 2 + ', ' + -l.height / 2 + ')'), + (ME[e.id] = a), + (e.width = l.width), + (e.height = l.height); + let u; + if (e.startLabelLeft) { + let h = ra(e.startLabelLeft, e.labelStyle), + f = t.insert('g').attr('class', 'edgeTerminals'), + d = f.insert('g').attr('class', 'inner'); + u = d.node().appendChild(h); + let p = h.getBBox(); + d.attr('transform', 'translate(' + -p.width / 2 + ', ' + -p.height / 2 + ')'), + Ta[e.id] || (Ta[e.id] = {}), + (Ta[e.id].startLeft = f), + NE(u, e.startLabelLeft); + } + if (e.startLabelRight) { + let h = ra(e.startLabelRight, e.labelStyle), + f = t.insert('g').attr('class', 'edgeTerminals'), + d = f.insert('g').attr('class', 'inner'); + (u = f.node().appendChild(h)), d.node().appendChild(h); + let p = h.getBBox(); + d.attr('transform', 'translate(' + -p.width / 2 + ', ' + -p.height / 2 + ')'), + Ta[e.id] || (Ta[e.id] = {}), + (Ta[e.id].startRight = f), + NE(u, e.startLabelRight); + } + if (e.endLabelLeft) { + let h = ra(e.endLabelLeft, e.labelStyle), + f = t.insert('g').attr('class', 'edgeTerminals'), + d = f.insert('g').attr('class', 'inner'); + u = d.node().appendChild(h); + let p = h.getBBox(); + d.attr('transform', 'translate(' + -p.width / 2 + ', ' + -p.height / 2 + ')'), + f.node().appendChild(h), + Ta[e.id] || (Ta[e.id] = {}), + (Ta[e.id].endLeft = f), + NE(u, e.endLabelLeft); + } + if (e.endLabelRight) { + let h = ra(e.endLabelRight, e.labelStyle), + f = t.insert('g').attr('class', 'edgeTerminals'), + d = f.insert('g').attr('class', 'inner'); + u = d.node().appendChild(h); + let p = h.getBBox(); + d.attr('transform', 'translate(' + -p.width / 2 + ', ' + -p.height / 2 + ')'), + f.node().appendChild(h), + Ta[e.id] || (Ta[e.id] = {}), + (Ta[e.id].endRight = f), + NE(u, e.endLabelRight); + } + return i; + }, 'insertEdgeLabel')); + o(NE, 'setTerminalWidth'); + (OE = o((t, e) => { + V.debug('Moving label abc88 ', t.id, t.label, ME[t.id], e); + let r = e.updatedPath ? e.updatedPath : e.originalPath, + n = de(), + { subGraphTitleTotalMargin: i } = io(n); + if (t.label) { + let a = ME[t.id], + s = t.x, + l = t.y; + if (r) { + let u = Lt.calcLabelPosition(r); + V.debug('Moving label ' + t.label + ' from (', s, ',', l, ') to (', u.x, ',', u.y, ') abc88'), + e.updatedPath && ((s = u.x), (l = u.y)); + } + a.attr('transform', `translate(${s}, ${l + i / 2})`); + } + if (t.startLabelLeft) { + let a = Ta[t.id].startLeft, + s = t.x, + l = t.y; + if (r) { + let u = Lt.calcTerminalLabelPosition(t.arrowTypeStart ? 10 : 0, 'start_left', r); + (s = u.x), (l = u.y); + } + a.attr('transform', `translate(${s}, ${l})`); + } + if (t.startLabelRight) { + let a = Ta[t.id].startRight, + s = t.x, + l = t.y; + if (r) { + let u = Lt.calcTerminalLabelPosition(t.arrowTypeStart ? 10 : 0, 'start_right', r); + (s = u.x), (l = u.y); + } + a.attr('transform', `translate(${s}, ${l})`); + } + if (t.endLabelLeft) { + let a = Ta[t.id].endLeft, + s = t.x, + l = t.y; + if (r) { + let u = Lt.calcTerminalLabelPosition(t.arrowTypeEnd ? 10 : 0, 'end_left', r); + (s = u.x), (l = u.y); + } + a.attr('transform', `translate(${s}, ${l})`); + } + if (t.endLabelRight) { + let a = Ta[t.id].endRight, + s = t.x, + l = t.y; + if (r) { + let u = Lt.calcTerminalLabelPosition(t.arrowTypeEnd ? 10 : 0, 'end_right', r); + (s = u.x), (l = u.y); + } + a.attr('transform', `translate(${s}, ${l})`); + } + }, 'positionEdgeLabel')), + (uVe = o((t, e) => { + let r = t.x, + n = t.y, + i = Math.abs(e.x - r), + a = Math.abs(e.y - n), + s = t.width / 2, + l = t.height / 2; + return i >= s || a >= l; + }, 'outsideNode')), + (hVe = o((t, e, r) => { + V.debug(`intersection calc abc89: + outsidePoint: ${JSON.stringify(e)} + insidePoint : ${JSON.stringify(r)} + node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`); + let n = t.x, + i = t.y, + a = Math.abs(n - r.x), + s = t.width / 2, + l = r.x < e.x ? s - a : s + a, + u = t.height / 2, + h = Math.abs(e.y - r.y), + f = Math.abs(e.x - r.x); + if (Math.abs(i - e.y) * s > Math.abs(n - e.x) * u) { + let d = r.y < e.y ? e.y - u - i : i - u - e.y; + l = (f * d) / h; + let p = { + x: r.x < e.x ? r.x + l : r.x - f + l, + y: r.y < e.y ? r.y + h - d : r.y - h + d + }; + return ( + l === 0 && ((p.x = e.x), (p.y = e.y)), + f === 0 && (p.x = e.x), + h === 0 && (p.y = e.y), + V.debug(`abc89 topp/bott calc, Q ${h}, q ${d}, R ${f}, r ${l}`, p), + p + ); + } else { + r.x < e.x ? (l = e.x - s - n) : (l = n - s - e.x); + let d = (h * l) / f, + p = r.x < e.x ? r.x + f - l : r.x - f + l, + m = r.y < e.y ? r.y + d : r.y - d; + return ( + V.debug(`sides calc abc89, Q ${h}, q ${d}, R ${f}, r ${l}`, { + _x: p, + _y: m + }), + l === 0 && ((p = e.x), (m = e.y)), + f === 0 && (p = e.x), + h === 0 && (m = e.y), + { x: p, y: m } + ); + } + }, 'intersection')), + (Zhe = o((t, e) => { + V.debug('abc88 cutPathAtIntersect', t, e); + let r = [], + n = t[0], + i = !1; + return ( + t.forEach((a) => { + if (!uVe(e, a) && !i) { + let s = hVe(e, n, a), + l = !1; + r.forEach((u) => { + l = l || (u.x === s.x && u.y === s.y); + }), + r.some((u) => u.x === s.x && u.y === s.y) || r.push(s), + (i = !0); + } else (n = a), i || r.push(a); + }), + r + ); + }, 'cutPathAtIntersect')), + (PE = o(function (t, e, r, n, i, a, s) { + let l = r.points; + V.debug('abc88 InsertEdge: edge=', r, 'e=', e); + let u = !1, + h = a.node(e.v); + var f = a.node(e.w); + f?.intersect && + h?.intersect && + ((l = l.slice(1, r.points.length - 1)), + l.unshift(h.intersect(l[0])), + l.push(f.intersect(l[l.length - 1]))), + r.toCluster && + (V.debug('to cluster abc88', n[r.toCluster]), + (l = Zhe(r.points, n[r.toCluster].node)), + (u = !0)), + r.fromCluster && + (V.debug('from cluster abc88', n[r.fromCluster]), + (l = Zhe(l.reverse(), n[r.fromCluster].node).reverse()), + (u = !0)); + let d = l.filter((S) => !Number.isNaN(S.y)), + p = vs; + r.curve && (i === 'graph' || i === 'flowchart') && (p = r.curve); + let { x: m, y: g } = X5(r), + y = ha().x(m).y(g).curve(p), + v; + switch (r.thickness) { + case 'normal': + v = 'edge-thickness-normal'; + break; + case 'thick': + v = 'edge-thickness-thick'; + break; + case 'invisible': + v = 'edge-thickness-thick'; + break; + default: + v = ''; + } + switch (r.pattern) { + case 'solid': + v += ' edge-pattern-solid'; + break; + case 'dotted': + v += ' edge-pattern-dotted'; + break; + case 'dashed': + v += ' edge-pattern-dashed'; + break; + } + let x = t + .append('path') + .attr('d', y(d)) + .attr('id', r.id) + .attr('class', ' ' + v + (r.classes ? ' ' + r.classes : '')) + .attr('style', r.style), + b = ''; + (de().flowchart.arrowMarkerAbsolute || de().state.arrowMarkerAbsolute) && + ((b = + window.location.protocol + + '//' + + window.location.host + + window.location.pathname + + window.location.search), + (b = b.replace(/\(/g, '\\(')), + (b = b.replace(/\)/g, '\\)'))), + Khe(x, r, b, s, i); + let w = {}; + return u && (w.updatedPath = l), (w.originalPath = r.points), w; + }, 'insertEdge')); + }); + var efe, + tfe, + rfe = R(() => { + 'use strict'; + Vd(); + Pv(); + LO(); + N5(); + Hhe(); + M5(); + Xhe(); + DO(); + ut(); + _d(); + _t(); + (efe = o(async (t, e, r, n, i, a) => { + V.info('Graph in recursive render: XXX', zn(e), i); + let s = e.graph().rankdir; + V.trace('Dir in recursive render - dir:', s); + let l = t.insert('g').attr('class', 'root'); + e.nodes() ? V.info('Recursive render XXX', e.nodes()) : V.info('No nodes found for', e), + e.edges().length > 0 && V.trace('Recursive edges', e.edge(e.edges()[0])); + let u = l.insert('g').attr('class', 'clusters'), + h = l.insert('g').attr('class', 'edgePaths'), + f = l.insert('g').attr('class', 'edgeLabels'), + d = l.insert('g').attr('class', 'nodes'); + await Promise.all( + e.nodes().map(async function (g) { + let y = e.node(g); + if (i !== void 0) { + let v = JSON.parse(JSON.stringify(i.clusterData)); + V.info('Setting data for cluster XXX (', g, ') ', v, i), + e.setNode(i.id, v), + e.parent(g) || (V.trace('Setting parent', g, i.id), e.setParent(g, i.id, v)); + } + if ((V.info('(Insert) Node XXX' + g + ': ' + JSON.stringify(e.node(g))), y?.clusterNode)) { + V.info('Cluster identified', g, y.width, e.node(g)); + let { ranksep: v, nodesep: x } = e.graph(); + y.graph.setGraph({ ...y.graph.graph(), ranksep: v, nodesep: x }); + let b = await efe(d, y.graph, r, n, e.node(g), a), + w = b.elem; + kn(y, w), + (y.diff = b.diff || 0), + V.info('Node bounds (abc123)', g, y, y.width, y.x, y.y), + Bj(w, y), + V.warn('Recursive render complete ', w, y); + } else e.children(g).length > 0 ? (V.info('Cluster - the non recursive path XXX', g, y.id, y, e), V.info(Fg(y.id, e)), (tr[y.id] = { id: Fg(y.id, e), node: y })) : (V.info('Node - the non recursive path', g, y.id, y), await pm(d, e.node(g), s)); + }) + ), + e.edges().forEach(async function (g) { + let y = e.edge(g.v, g.w, g.name); + V.info('Edge ' + g.v + ' -> ' + g.w + ': ' + JSON.stringify(g)), + V.info('Edge ' + g.v + ' -> ' + g.w + ': ', g, ' ', JSON.stringify(e.edge(g))), + V.info('Fix', tr, 'ids:', g.v, g.w, 'Translating: ', tr[g.v], tr[g.w]), + await IE(f, y); + }), + e.edges().forEach(function (g) { + V.info('Edge ' + g.v + ' -> ' + g.w + ': ' + JSON.stringify(g)); + }), + V.info('Graph before layout:', JSON.stringify(zn(e))), + V.info('#############################################'), + V.info('### Layout ###'), + V.info('#############################################'), + V.info(e), + lo(e), + V.info('Graph after layout:', JSON.stringify(zn(e))); + let p = 0, + { subGraphTitleTotalMargin: m } = io(a); + return ( + Uhe(e).forEach(function (g) { + let y = e.node(g); + V.info('Position ' + g + ': ' + JSON.stringify(e.node(g))), + V.info( + 'Position ' + g + ': (' + y.x, + ',' + y.y, + ') width: ', + y.width, + ' height: ', + y.height + ), + y?.clusterNode + ? ((y.y += m), wv(y)) + : e.children(g).length > 0 + ? ((y.height += m), Whe(u, y), (tr[y.id].node = y)) + : ((y.y += m / 2), wv(y)); + }), + e.edges().forEach(function (g) { + let y = e.edge(g); + V.info('Edge ' + g.v + ' -> ' + g.w + ': ' + JSON.stringify(y), y), + y.points.forEach((x) => (x.y += m / 2)); + let v = PE(h, g, y, tr, r, e, n); + OE(y, v); + }), + e.nodes().forEach(function (g) { + let y = e.node(g); + V.info(g, y.type, y.diff), y.type === 'group' && (p = y.diff); + }), + { elem: l, diff: p } + ); + }, 'recursiveRender')), + (tfe = o(async (t, e, r, n, i) => { + LE(t, r, n, i), + Fj(), + Jhe(), + qhe(), + Bhe(), + V.warn('Graph at first:', JSON.stringify(zn(e))), + Ghe(e), + V.warn('Graph after:', JSON.stringify(zn(e))); + let a = de(); + await efe(t, e, n, i, void 0, a); + }, 'render')); + }); + function nfe(t) { + let e; + switch (t) { + case 0: + e = 'aggregation'; + break; + case 1: + e = 'extension'; + break; + case 2: + e = 'composition'; + break; + case 3: + e = 'dependency'; + break; + case 4: + e = 'lollipop'; + break; + default: + e = 'none'; + } + return e; + } + var NO, + RO, + fVe, + ife, + dVe, + pVe, + mVe, + gVe, + afe, + sfe = R(() => { + 'use strict'; + Zt(); + ya(); + ut(); + _t(); + rfe(); + xr(); + xr(); + Yn(); + rr(); + (NO = o((t) => We.sanitizeText(t, de()), 'sanitizeText')), + (RO = { dividerMargin: 10, padding: 5, textHeight: 10, curve: void 0 }), + (fVe = o(function (t, e, r, n) { + V.info('keys:', [...t.keys()]), + V.info(t), + t.forEach(function (i) { + let s = { + shape: 'rect', + id: i.id, + domId: i.domId, + labelText: NO(i.id), + labelStyle: '', + style: 'fill: none; stroke: black', + padding: de().flowchart?.padding ?? de().class?.padding + }; + e.setNode(i.id, s), ife(i.classes, e, r, n, i.id), V.info('setNode', s); + }); + }, 'addNamespaces')), + (ife = o(function (t, e, r, n, i) { + V.info('keys:', [...t.keys()]), + V.info(t), + [...t.values()] + .filter((a) => a.parent === i) + .forEach(function (a) { + let s = a.cssClasses.join(' '), + l = lm(a.styles), + u = a.label ?? a.id, + h = 0, + d = { + labelStyle: l.labelStyle, + shape: 'class_box', + labelText: NO(u), + classData: a, + rx: h, + ry: h, + class: s, + style: l.style, + id: a.id, + domId: a.domId, + tooltip: n.db.getTooltip(a.id, i) || '', + haveCallback: a.haveCallback, + link: a.link, + width: a.type === 'group' ? 500 : void 0, + type: a.type, + padding: de().flowchart?.padding ?? de().class?.padding + }; + e.setNode(a.id, d), i && e.setParent(a.id, i), V.info('setNode', d); + }); + }, 'addClasses')), + (dVe = o(function (t, e, r, n) { + V.info(t), + t.forEach(function (i, a) { + let s = i, + l = '', + u = { labelStyle: '', style: '' }, + h = s.text, + f = 0, + p = { + labelStyle: u.labelStyle, + shape: 'note', + labelText: NO(h), + noteData: s, + rx: f, + ry: f, + class: l, + style: u.style, + id: s.id, + domId: s.id, + tooltip: '', + type: 'note', + padding: de().flowchart?.padding ?? de().class?.padding + }; + if ((e.setNode(s.id, p), V.info('setNode', p), !s.class || !n.has(s.class))) return; + let m = r + a, + g = { + id: `edgeNote${m}`, + classes: 'relation', + pattern: 'dotted', + arrowhead: 'none', + startLabelRight: '', + endLabelLeft: '', + arrowTypeStart: 'none', + arrowTypeEnd: 'none', + style: 'fill:none', + labelStyle: '', + curve: om(RO.curve, xu) + }; + e.setEdge(s.id, s.class, g, m); + }); + }, 'addNotes')), + (pVe = o(function (t, e) { + let r = de().flowchart, + n = 0; + t.forEach(function (i) { + n++; + let a = { + classes: 'relation', + pattern: i.relation.lineType == 1 ? 'dashed' : 'solid', + id: y5(i.id1, i.id2, { prefix: 'id', counter: n }), + arrowhead: i.type === 'arrow_open' ? 'none' : 'normal', + startLabelRight: i.relationTitle1 === 'none' ? '' : i.relationTitle1, + endLabelLeft: i.relationTitle2 === 'none' ? '' : i.relationTitle2, + arrowTypeStart: nfe(i.relation.type1), + arrowTypeEnd: nfe(i.relation.type2), + style: 'fill:none', + labelStyle: '', + curve: om(r?.curve, xu) + }; + if ((V.info(a, i), i.style !== void 0)) { + let s = lm(i.style); + (a.style = s.style), (a.labelStyle = s.labelStyle); + } + (i.text = i.title), + i.text === void 0 + ? i.style !== void 0 && (a.arrowheadStyle = 'fill: #333') + : ((a.arrowheadStyle = 'fill: #333'), + (a.labelpos = 'c'), + de().flowchart?.htmlLabels ?? de().htmlLabels + ? ((a.labelType = 'html'), + (a.label = '' + i.text + '')) + : ((a.labelType = 'text'), + (a.label = i.text.replace( + We.lineBreakRegex, + ` +` + )), + i.style === void 0 && + (a.style = a.style || 'stroke: #333; stroke-width: 1.5px;fill:none'), + (a.labelStyle = a.labelStyle.replace('color:', 'fill:')))), + e.setEdge(i.id1, i.id2, a, n); + }); + }, 'addRelations')), + (mVe = o(function (t) { + RO = { ...RO, ...t }; + }, 'setConf')), + (gVe = o(async function (t, e, r, n) { + V.info('Drawing class - ', e); + let i = de().flowchart ?? de().class, + a = de().securityLevel; + V.info('config:', i); + let s = i?.nodeSpacing ?? 50, + l = i?.rankSpacing ?? 50, + u = new lr({ multigraph: !0, compound: !0 }) + .setGraph({ + rankdir: n.db.getDirection(), + nodesep: s, + ranksep: l, + marginx: 8, + marginy: 8 + }) + .setDefaultEdgeLabel(function () { + return {}; + }), + h = n.db.getNamespaces(), + f = n.db.getClasses(), + d = n.db.getRelations(), + p = n.db.getNotes(); + V.info(d), fVe(h, u, e, n), ife(f, u, e, n), pVe(d, u), dVe(p, u, d.length + 1, f); + let m; + a === 'sandbox' && (m = $e('#i' + e)); + let g = a === 'sandbox' ? $e(m.nodes()[0].contentDocument.body) : $e('body'), + y = g.select(`[id="${e}"]`), + v = g.select('#' + e + ' g'); + if ( + (await tfe( + v, + u, + ['aggregation', 'extension', 'composition', 'dependency', 'lollipop'], + 'classDiagram', + e + ), + Lt.insertTitle(y, 'classTitleText', i?.titleTopMargin ?? 5, n.db.getDiagramTitle()), + Lo(u, y, i?.diagramPadding, i?.useMaxWidth), + !i?.htmlLabels) + ) { + let x = a === 'sandbox' ? m.nodes()[0].contentDocument : document, + b = x.querySelectorAll('[id="' + e + '"] .edgeLabel .label'); + for (let w of b) { + let S = w.getBBox(), + T = x.createElementNS('http://www.w3.org/2000/svg', 'rect'); + T.setAttribute('rx', 0), + T.setAttribute('ry', 0), + T.setAttribute('width', S.width), + T.setAttribute('height', S.height), + w.insertBefore(T, w.firstChild); + } + } + }, 'draw')); + o(nfe, 'getArrowMarker'); + afe = { setConf: mVe, draw: gVe }; + }); + var ofe = {}; + hr(ofe, { diagram: () => yVe }); + var yVe, + lfe = R(() => { + 'use strict'; + TO(); + AO(); + _O(); + sfe(); + yVe = { + parser: wE, + db: Bg, + renderer: afe, + styles: CE, + init: o((t) => { + t.class || (t.class = {}), (t.class.arrowMarkerAbsolute = t.arrowMarkerAbsolute), Bg.clear(); + }, 'init') + }; + }); + var MO, + BE, + IO = R(() => { + 'use strict'; + MO = (function () { + var t = o(function (F, B, $, z) { + for ($ = $ || {}, z = F.length; z--; $[F[z]] = B); + return $; + }, 'o'), + e = [1, 2], + r = [1, 3], + n = [1, 4], + i = [2, 4], + a = [1, 9], + s = [1, 11], + l = [1, 16], + u = [1, 17], + h = [1, 18], + f = [1, 19], + d = [1, 32], + p = [1, 20], + m = [1, 21], + g = [1, 22], + y = [1, 23], + v = [1, 24], + x = [1, 26], + b = [1, 27], + w = [1, 28], + S = [1, 29], + T = [1, 30], + E = [1, 31], + _ = [1, 34], + A = [1, 35], + L = [1, 36], + M = [1, 37], + N = [1, 33], + k = [ + 1, 4, 5, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 45, 48, 49, 50, 51, 54 + ], + I = [ + 1, 4, 5, 14, 15, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 45, 48, 49, 50, + 51, 54 + ], + C = [4, 5, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 45, 48, 49, 50, 51, 54], + O = { + trace: o(function () {}, 'trace'), + yy: {}, + symbols_: { + error: 2, + start: 3, + SPACE: 4, + NL: 5, + SD: 6, + document: 7, + line: 8, + statement: 9, + classDefStatement: 10, + styleStatement: 11, + cssClassStatement: 12, + idStatement: 13, + DESCR: 14, + '-->': 15, + HIDE_EMPTY: 16, + scale: 17, + WIDTH: 18, + COMPOSIT_STATE: 19, + STRUCT_START: 20, + STRUCT_STOP: 21, + STATE_DESCR: 22, + AS: 23, + ID: 24, + FORK: 25, + JOIN: 26, + CHOICE: 27, + CONCURRENT: 28, + note: 29, + notePosition: 30, + NOTE_TEXT: 31, + direction: 32, + acc_title: 33, + acc_title_value: 34, + acc_descr: 35, + acc_descr_value: 36, + acc_descr_multiline_value: 37, + classDef: 38, + CLASSDEF_ID: 39, + CLASSDEF_STYLEOPTS: 40, + DEFAULT: 41, + style: 42, + STYLE_IDS: 43, + STYLEDEF_STYLEOPTS: 44, + class: 45, + CLASSENTITY_IDS: 46, + STYLECLASS: 47, + direction_tb: 48, + direction_bt: 49, + direction_rl: 50, + direction_lr: 51, + eol: 52, + ';': 53, + EDGE_STATE: 54, + STYLE_SEPARATOR: 55, + left_of: 56, + right_of: 57, + $accept: 0, + $end: 1 + }, + terminals_: { + 2: 'error', + 4: 'SPACE', + 5: 'NL', + 6: 'SD', + 14: 'DESCR', + 15: '-->', + 16: 'HIDE_EMPTY', + 17: 'scale', + 18: 'WIDTH', + 19: 'COMPOSIT_STATE', + 20: 'STRUCT_START', + 21: 'STRUCT_STOP', + 22: 'STATE_DESCR', + 23: 'AS', + 24: 'ID', + 25: 'FORK', + 26: 'JOIN', + 27: 'CHOICE', + 28: 'CONCURRENT', + 29: 'note', + 31: 'NOTE_TEXT', + 33: 'acc_title', + 34: 'acc_title_value', + 35: 'acc_descr', + 36: 'acc_descr_value', + 37: 'acc_descr_multiline_value', + 38: 'classDef', + 39: 'CLASSDEF_ID', + 40: 'CLASSDEF_STYLEOPTS', + 41: 'DEFAULT', + 42: 'style', + 43: 'STYLE_IDS', + 44: 'STYLEDEF_STYLEOPTS', + 45: 'class', + 46: 'CLASSENTITY_IDS', + 47: 'STYLECLASS', + 48: 'direction_tb', + 49: 'direction_bt', + 50: 'direction_rl', + 51: 'direction_lr', + 53: ';', + 54: 'EDGE_STATE', + 55: 'STYLE_SEPARATOR', + 56: 'left_of', + 57: 'right_of' + }, + productions_: [ + 0, + [3, 2], + [3, 2], + [3, 2], + [7, 0], + [7, 2], + [8, 2], + [8, 1], + [8, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 2], + [9, 3], + [9, 4], + [9, 1], + [9, 2], + [9, 1], + [9, 4], + [9, 3], + [9, 6], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 4], + [9, 4], + [9, 1], + [9, 2], + [9, 2], + [9, 1], + [10, 3], + [10, 3], + [11, 3], + [12, 3], + [32, 1], + [32, 1], + [32, 1], + [32, 1], + [52, 1], + [52, 1], + [13, 1], + [13, 1], + [13, 3], + [13, 3], + [30, 1], + [30, 1] + ], + performAction: o(function (B, $, z, Y, Q, X, ie) { + var j = X.length - 1; + switch (Q) { + case 3: + return Y.setRootDoc(X[j]), X[j]; + break; + case 4: + this.$ = []; + break; + case 5: + X[j] != 'nl' && (X[j - 1].push(X[j]), (this.$ = X[j - 1])); + break; + case 6: + case 7: + this.$ = X[j]; + break; + case 8: + this.$ = 'nl'; + break; + case 12: + this.$ = X[j]; + break; + case 13: + let q = X[j - 1]; + (q.description = Y.trimColon(X[j])), (this.$ = q); + break; + case 14: + this.$ = { stmt: 'relation', state1: X[j - 2], state2: X[j] }; + break; + case 15: + let K = Y.trimColon(X[j]); + this.$ = { + stmt: 'relation', + state1: X[j - 3], + state2: X[j - 1], + description: K + }; + break; + case 19: + this.$ = { + stmt: 'state', + id: X[j - 3], + type: 'default', + description: '', + doc: X[j - 1] + }; + break; + case 20: + var J = X[j], + Z = X[j - 2].trim(); + if (X[j].match(':')) { + var H = X[j].split(':'); + (J = H[0]), (Z = [Z, H[1]]); + } + this.$ = { + stmt: 'state', + id: J, + type: 'default', + description: Z + }; + break; + case 21: + this.$ = { + stmt: 'state', + id: X[j - 3], + type: 'default', + description: X[j - 5], + doc: X[j - 1] + }; + break; + case 22: + this.$ = { stmt: 'state', id: X[j], type: 'fork' }; + break; + case 23: + this.$ = { stmt: 'state', id: X[j], type: 'join' }; + break; + case 24: + this.$ = { stmt: 'state', id: X[j], type: 'choice' }; + break; + case 25: + this.$ = { + stmt: 'state', + id: Y.getDividerId(), + type: 'divider' + }; + break; + case 26: + this.$ = { + stmt: 'state', + id: X[j - 1].trim(), + note: { position: X[j - 2].trim(), text: X[j].trim() } + }; + break; + case 29: + (this.$ = X[j].trim()), Y.setAccTitle(this.$); + break; + case 30: + case 31: + (this.$ = X[j].trim()), Y.setAccDescription(this.$); + break; + case 32: + case 33: + this.$ = { + stmt: 'classDef', + id: X[j - 1].trim(), + classes: X[j].trim() + }; + break; + case 34: + this.$ = { + stmt: 'style', + id: X[j - 1].trim(), + styleClass: X[j].trim() + }; + break; + case 35: + this.$ = { + stmt: 'applyClass', + id: X[j - 1].trim(), + styleClass: X[j].trim() + }; + break; + case 36: + Y.setDirection('TB'), (this.$ = { stmt: 'dir', value: 'TB' }); + break; + case 37: + Y.setDirection('BT'), (this.$ = { stmt: 'dir', value: 'BT' }); + break; + case 38: + Y.setDirection('RL'), (this.$ = { stmt: 'dir', value: 'RL' }); + break; + case 39: + Y.setDirection('LR'), (this.$ = { stmt: 'dir', value: 'LR' }); + break; + case 42: + case 43: + this.$ = { + stmt: 'state', + id: X[j].trim(), + type: 'default', + description: '' + }; + break; + case 44: + this.$ = { + stmt: 'state', + id: X[j - 2].trim(), + classes: [X[j].trim()], + type: 'default', + description: '' + }; + break; + case 45: + this.$ = { + stmt: 'state', + id: X[j - 2].trim(), + classes: [X[j].trim()], + type: 'default', + description: '' + }; + break; + } + }, 'anonymous'), + table: [ + { 3: 1, 4: e, 5: r, 6: n }, + { 1: [3] }, + { 3: 5, 4: e, 5: r, 6: n }, + { 3: 6, 4: e, 5: r, 6: n }, + t( + [ + 1, 4, 5, 16, 17, 19, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 45, 48, 49, 50, + 51, 54 + ], + i, + { 7: 7 } + ), + { 1: [2, 1] }, + { 1: [2, 2] }, + { + 1: [2, 3], + 4: a, + 5: s, + 8: 8, + 9: 10, + 10: 12, + 11: 13, + 12: 14, + 13: 15, + 16: l, + 17: u, + 19: h, + 22: f, + 24: d, + 25: p, + 26: m, + 27: g, + 28: y, + 29: v, + 32: 25, + 33: x, + 35: b, + 37: w, + 38: S, + 42: T, + 45: E, + 48: _, + 49: A, + 50: L, + 51: M, + 54: N + }, + t(k, [2, 5]), + { + 9: 38, + 10: 12, + 11: 13, + 12: 14, + 13: 15, + 16: l, + 17: u, + 19: h, + 22: f, + 24: d, + 25: p, + 26: m, + 27: g, + 28: y, + 29: v, + 32: 25, + 33: x, + 35: b, + 37: w, + 38: S, + 42: T, + 45: E, + 48: _, + 49: A, + 50: L, + 51: M, + 54: N + }, + t(k, [2, 7]), + t(k, [2, 8]), + t(k, [2, 9]), + t(k, [2, 10]), + t(k, [2, 11]), + t(k, [2, 12], { 14: [1, 39], 15: [1, 40] }), + t(k, [2, 16]), + { 18: [1, 41] }, + t(k, [2, 18], { 20: [1, 42] }), + { 23: [1, 43] }, + t(k, [2, 22]), + t(k, [2, 23]), + t(k, [2, 24]), + t(k, [2, 25]), + { 30: 44, 31: [1, 45], 56: [1, 46], 57: [1, 47] }, + t(k, [2, 28]), + { 34: [1, 48] }, + { 36: [1, 49] }, + t(k, [2, 31]), + { 39: [1, 50], 41: [1, 51] }, + { 43: [1, 52] }, + { 46: [1, 53] }, + t(I, [2, 42], { 55: [1, 54] }), + t(I, [2, 43], { 55: [1, 55] }), + t(k, [2, 36]), + t(k, [2, 37]), + t(k, [2, 38]), + t(k, [2, 39]), + t(k, [2, 6]), + t(k, [2, 13]), + { 13: 56, 24: d, 54: N }, + t(k, [2, 17]), + t(C, i, { 7: 57 }), + { 24: [1, 58] }, + { 24: [1, 59] }, + { 23: [1, 60] }, + { 24: [2, 46] }, + { 24: [2, 47] }, + t(k, [2, 29]), + t(k, [2, 30]), + { 40: [1, 61] }, + { 40: [1, 62] }, + { 44: [1, 63] }, + { 47: [1, 64] }, + { 24: [1, 65] }, + { 24: [1, 66] }, + t(k, [2, 14], { 14: [1, 67] }), + { + 4: a, + 5: s, + 8: 8, + 9: 10, + 10: 12, + 11: 13, + 12: 14, + 13: 15, + 16: l, + 17: u, + 19: h, + 21: [1, 68], + 22: f, + 24: d, + 25: p, + 26: m, + 27: g, + 28: y, + 29: v, + 32: 25, + 33: x, + 35: b, + 37: w, + 38: S, + 42: T, + 45: E, + 48: _, + 49: A, + 50: L, + 51: M, + 54: N + }, + t(k, [2, 20], { 20: [1, 69] }), + { 31: [1, 70] }, + { 24: [1, 71] }, + t(k, [2, 32]), + t(k, [2, 33]), + t(k, [2, 34]), + t(k, [2, 35]), + t(I, [2, 44]), + t(I, [2, 45]), + t(k, [2, 15]), + t(k, [2, 19]), + t(C, i, { 7: 72 }), + t(k, [2, 26]), + t(k, [2, 27]), + { + 4: a, + 5: s, + 8: 8, + 9: 10, + 10: 12, + 11: 13, + 12: 14, + 13: 15, + 16: l, + 17: u, + 19: h, + 21: [1, 73], + 22: f, + 24: d, + 25: p, + 26: m, + 27: g, + 28: y, + 29: v, + 32: 25, + 33: x, + 35: b, + 37: w, + 38: S, + 42: T, + 45: E, + 48: _, + 49: A, + 50: L, + 51: M, + 54: N + }, + t(k, [2, 21]) + ], + defaultActions: { 5: [2, 1], 6: [2, 2], 46: [2, 46], 47: [2, 47] }, + parseError: o(function (B, $) { + if ($.recoverable) this.trace(B); + else { + var z = new Error(B); + throw ((z.hash = $), z); + } + }, 'parseError'), + parse: o(function (B) { + var $ = this, + z = [0], + Y = [], + Q = [null], + X = [], + ie = this.table, + j = '', + J = 0, + Z = 0, + H = 0, + q = 2, + K = 1, + se = X.slice.call(arguments, 1), + ce = Object.create(this.lexer), + ue = { yy: {} }; + for (var te in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, te) && (ue.yy[te] = this.yy[te]); + ce.setInput(B, ue.yy), + (ue.yy.lexer = ce), + (ue.yy.parser = this), + typeof ce.yylloc > 'u' && (ce.yylloc = {}); + var De = ce.yylloc; + X.push(De); + var oe = ce.options && ce.options.ranges; + typeof ue.yy.parseError == 'function' + ? (this.parseError = ue.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError); + function ke(we) { + (z.length = z.length - 2 * we), (Q.length = Q.length - we), (X.length = X.length - we); + } + o(ke, 'popStack'); + function Ie() { + var we; + return ( + (we = Y.pop() || ce.lex() || K), + typeof we != 'number' && + (we instanceof Array && ((Y = we), (we = Y.pop())), + (we = $.symbols_[we] || we)), + we + ); + } + o(Ie, 'lex'); + for (var Se, Ue, Pe, _e, me, W, fe = {}, ge, re, he, ne; ; ) { + if ( + ((Pe = z[z.length - 1]), + this.defaultActions[Pe] + ? (_e = this.defaultActions[Pe]) + : ((Se === null || typeof Se > 'u') && (Se = Ie()), + (_e = ie[Pe] && ie[Pe][Se])), + typeof _e > 'u' || !_e.length || !_e[0]) + ) { + var ae = ''; + ne = []; + for (ge in ie[Pe]) + this.terminals_[ge] && ge > q && ne.push("'" + this.terminals_[ge] + "'"); + ce.showPosition + ? (ae = + 'Parse error on line ' + + (J + 1) + + `: +` + + ce.showPosition() + + ` +Expecting ` + + ne.join(', ') + + ", got '" + + (this.terminals_[Se] || Se) + + "'") + : (ae = + 'Parse error on line ' + + (J + 1) + + ': Unexpected ' + + (Se == K ? 'end of input' : "'" + (this.terminals_[Se] || Se) + "'")), + this.parseError(ae, { + text: ce.match, + token: this.terminals_[Se] || Se, + line: ce.yylineno, + loc: De, + expected: ne + }); + } + if (_e[0] instanceof Array && _e.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + Pe + ', token: ' + Se + ); + switch (_e[0]) { + case 1: + z.push(Se), + Q.push(ce.yytext), + X.push(ce.yylloc), + z.push(_e[1]), + (Se = null), + Ue + ? ((Se = Ue), (Ue = null)) + : ((Z = ce.yyleng), + (j = ce.yytext), + (J = ce.yylineno), + (De = ce.yylloc), + H > 0 && H--); + break; + case 2: + if ( + ((re = this.productions_[_e[1]][1]), + (fe.$ = Q[Q.length - re]), + (fe._$ = { + first_line: X[X.length - (re || 1)].first_line, + last_line: X[X.length - 1].last_line, + first_column: X[X.length - (re || 1)].first_column, + last_column: X[X.length - 1].last_column + }), + oe && + (fe._$.range = [ + X[X.length - (re || 1)].range[0], + X[X.length - 1].range[1] + ]), + (W = this.performAction.apply( + fe, + [j, Z, J, ue.yy, _e[1], Q, X].concat(se) + )), + typeof W < 'u') + ) + return W; + re && + ((z = z.slice(0, -1 * re * 2)), + (Q = Q.slice(0, -1 * re)), + (X = X.slice(0, -1 * re))), + z.push(this.productions_[_e[1]][0]), + Q.push(fe.$), + X.push(fe._$), + (he = ie[z[z.length - 2]][z[z.length - 1]]), + z.push(he); + break; + case 3: + return !0; + } + } + return !0; + }, 'parse') + }, + D = (function () { + var F = { + EOF: 1, + parseError: o(function ($, z) { + if (this.yy.parser) this.yy.parser.parseError($, z); + else throw new Error($); + }, 'parseError'), + setInput: o(function (B, $) { + return ( + (this.yy = $ || this.yy || {}), + (this._input = B), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, 'setInput'), + input: o(function () { + var B = this._input[0]; + (this.yytext += B), + this.yyleng++, + this.offset++, + (this.match += B), + (this.matched += B); + var $ = B.match(/(?:\r\n?|\n).*/g); + return ( + $ ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + B + ); + }, 'input'), + unput: o(function (B) { + var $ = B.length, + z = B.split(/(?:\r\n?|\n)/g); + (this._input = B + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - $)), + (this.offset -= $); + var Y = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + z.length - 1 && (this.yylineno -= z.length - 1); + var Q = this.yylloc.range; + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: z + ? (z.length === Y.length ? this.yylloc.first_column : 0) + + Y[Y.length - z.length].length - + z[0].length + : this.yylloc.first_column - $ + }), + this.options.ranges && (this.yylloc.range = [Q[0], Q[0] + this.yyleng - $]), + (this.yyleng = this.yytext.length), + this + ); + }, 'unput'), + more: o(function () { + return (this._more = !0), this; + }, 'more'), + reject: o(function () { + if (this.options.backtrack_lexer) this._backtrack = !0; + else + return this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + return this; + }, 'reject'), + less: o(function (B) { + this.unput(this.match.slice(B)); + }, 'less'), + pastInput: o(function () { + var B = this.matched.substr(0, this.matched.length - this.match.length); + return (B.length > 20 ? '...' : '') + B.substr(-20).replace(/\n/g, ''); + }, 'pastInput'), + upcomingInput: o(function () { + var B = this.match; + return ( + B.length < 20 && (B += this._input.substr(0, 20 - B.length)), + (B.substr(0, 20) + (B.length > 20 ? '...' : '')).replace(/\n/g, '') + ); + }, 'upcomingInput'), + showPosition: o(function () { + var B = this.pastInput(), + $ = new Array(B.length + 1).join('-'); + return ( + B + + this.upcomingInput() + + ` +` + + $ + + '^' + ); + }, 'showPosition'), + test_match: o(function (B, $) { + var z, Y, Q; + if ( + (this.options.backtrack_lexer && + ((Q = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }), + this.options.ranges && (Q.yylloc.range = this.yylloc.range.slice(0))), + (Y = B[0].match(/(?:\r\n?|\n).*/g)), + Y && (this.yylineno += Y.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: Y + ? Y[Y.length - 1].length - Y[Y.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + B[0].length + }), + (this.yytext += B[0]), + (this.match += B[0]), + (this.matches = B), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(B[0].length)), + (this.matched += B[0]), + (z = this.performAction.call( + this, + this.yy, + this, + $, + this.conditionStack[this.conditionStack.length - 1] + )), + this.done && this._input && (this.done = !1), + z) + ) + return z; + if (this._backtrack) { + for (var X in Q) this[X] = Q[X]; + return !1; + } + return !1; + }, 'test_match'), + next: o(function () { + if (this.done) return this.EOF; + this._input || (this.done = !0); + var B, $, z, Y; + this._more || ((this.yytext = ''), (this.match = '')); + for (var Q = this._currentRules(), X = 0; X < Q.length; X++) + if ( + ((z = this._input.match(this.rules[Q[X]])), + z && (!$ || z[0].length > $[0].length)) + ) { + if ((($ = z), (Y = X), this.options.backtrack_lexer)) { + if (((B = this.test_match(z, Q[X])), B !== !1)) return B; + if (this._backtrack) { + $ = !1; + continue; + } else return !1; + } else if (!this.options.flex) break; + } + return $ + ? ((B = this.test_match($, Q[Y])), B !== !1 ? B : !1) + : this._input === '' + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, 'next'), + lex: o(function () { + var $ = this.next(); + return $ || this.lex(); + }, 'lex'), + begin: o(function ($) { + this.conditionStack.push($); + }, 'begin'), + popState: o(function () { + var $ = this.conditionStack.length - 1; + return $ > 0 ? this.conditionStack.pop() : this.conditionStack[0]; + }, 'popState'), + _currentRules: o(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules; + }, '_currentRules'), + topState: o(function ($) { + return ( + ($ = this.conditionStack.length - 1 - Math.abs($ || 0)), + $ >= 0 ? this.conditionStack[$] : 'INITIAL' + ); + }, 'topState'), + pushState: o(function ($) { + this.begin($); + }, 'pushState'), + stateStackSize: o(function () { + return this.conditionStack.length; + }, 'stateStackSize'), + options: { 'case-insensitive': !0 }, + performAction: o(function ($, z, Y, Q) { + var X = Q; + switch (Y) { + case 0: + return 41; + case 1: + return 48; + case 2: + return 49; + case 3: + return 50; + case 4: + return 51; + case 5: + break; + case 6: + break; + case 7: + return 5; + case 8: + break; + case 9: + break; + case 10: + break; + case 11: + break; + case 12: + return this.pushState('SCALE'), 17; + break; + case 13: + return 18; + case 14: + this.popState(); + break; + case 15: + return this.begin('acc_title'), 33; + break; + case 16: + return this.popState(), 'acc_title_value'; + break; + case 17: + return this.begin('acc_descr'), 35; + break; + case 18: + return this.popState(), 'acc_descr_value'; + break; + case 19: + this.begin('acc_descr_multiline'); + break; + case 20: + this.popState(); + break; + case 21: + return 'acc_descr_multiline_value'; + case 22: + return this.pushState('CLASSDEF'), 38; + break; + case 23: + return this.popState(), this.pushState('CLASSDEFID'), 'DEFAULT_CLASSDEF_ID'; + break; + case 24: + return this.popState(), this.pushState('CLASSDEFID'), 39; + break; + case 25: + return this.popState(), 40; + break; + case 26: + return this.pushState('CLASS'), 45; + break; + case 27: + return this.popState(), this.pushState('CLASS_STYLE'), 46; + break; + case 28: + return this.popState(), 47; + break; + case 29: + return this.pushState('STYLE'), 42; + break; + case 30: + return this.popState(), this.pushState('STYLEDEF_STYLES'), 43; + break; + case 31: + return this.popState(), 44; + break; + case 32: + return this.pushState('SCALE'), 17; + break; + case 33: + return 18; + case 34: + this.popState(); + break; + case 35: + this.pushState('STATE'); + break; + case 36: + return this.popState(), (z.yytext = z.yytext.slice(0, -8).trim()), 25; + break; + case 37: + return this.popState(), (z.yytext = z.yytext.slice(0, -8).trim()), 26; + break; + case 38: + return this.popState(), (z.yytext = z.yytext.slice(0, -10).trim()), 27; + break; + case 39: + return this.popState(), (z.yytext = z.yytext.slice(0, -8).trim()), 25; + break; + case 40: + return this.popState(), (z.yytext = z.yytext.slice(0, -8).trim()), 26; + break; + case 41: + return this.popState(), (z.yytext = z.yytext.slice(0, -10).trim()), 27; + break; + case 42: + return 48; + case 43: + return 49; + case 44: + return 50; + case 45: + return 51; + case 46: + this.pushState('STATE_STRING'); + break; + case 47: + return this.pushState('STATE_ID'), 'AS'; + break; + case 48: + return this.popState(), 'ID'; + break; + case 49: + this.popState(); + break; + case 50: + return 'STATE_DESCR'; + case 51: + return 19; + case 52: + this.popState(); + break; + case 53: + return this.popState(), this.pushState('struct'), 20; + break; + case 54: + break; + case 55: + return this.popState(), 21; + break; + case 56: + break; + case 57: + return this.begin('NOTE'), 29; + break; + case 58: + return this.popState(), this.pushState('NOTE_ID'), 56; + break; + case 59: + return this.popState(), this.pushState('NOTE_ID'), 57; + break; + case 60: + this.popState(), this.pushState('FLOATING_NOTE'); + break; + case 61: + return this.popState(), this.pushState('FLOATING_NOTE_ID'), 'AS'; + break; + case 62: + break; + case 63: + return 'NOTE_TEXT'; + case 64: + return this.popState(), 'ID'; + break; + case 65: + return this.popState(), this.pushState('NOTE_TEXT'), 24; + break; + case 66: + return this.popState(), (z.yytext = z.yytext.substr(2).trim()), 31; + break; + case 67: + return this.popState(), (z.yytext = z.yytext.slice(0, -8).trim()), 31; + break; + case 68: + return 6; + case 69: + return 6; + case 70: + return 16; + case 71: + return 54; + case 72: + return 24; + case 73: + return (z.yytext = z.yytext.trim()), 14; + break; + case 74: + return 15; + case 75: + return 28; + case 76: + return 55; + case 77: + return 5; + case 78: + return 'INVALID'; + } + }, 'anonymous'), + rules: [ + /^(?:default\b)/i, + /^(?:.*direction\s+TB[^\n]*)/i, + /^(?:.*direction\s+BT[^\n]*)/i, + /^(?:.*direction\s+RL[^\n]*)/i, + /^(?:.*direction\s+LR[^\n]*)/i, + /^(?:%%(?!\{)[^\n]*)/i, + /^(?:[^\}]%%[^\n]*)/i, + /^(?:[\n]+)/i, + /^(?:[\s]+)/i, + /^(?:((?!\n)\s)+)/i, + /^(?:#[^\n]*)/i, + /^(?:%[^\n]*)/i, + /^(?:scale\s+)/i, + /^(?:\d+)/i, + /^(?:\s+width\b)/i, + /^(?:accTitle\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*\{\s*)/i, + /^(?:[\}])/i, + /^(?:[^\}]*)/i, + /^(?:classDef\s+)/i, + /^(?:DEFAULT\s+)/i, + /^(?:\w+\s+)/i, + /^(?:[^\n]*)/i, + /^(?:class\s+)/i, + /^(?:(\w+)+((,\s*\w+)*))/i, + /^(?:[^\n]*)/i, + /^(?:style\s+)/i, + /^(?:[\w,]+\s+)/i, + /^(?:[^\n]*)/i, + /^(?:scale\s+)/i, + /^(?:\d+)/i, + /^(?:\s+width\b)/i, + /^(?:state\s+)/i, + /^(?:.*<>)/i, + /^(?:.*<>)/i, + /^(?:.*<>)/i, + /^(?:.*\[\[fork\]\])/i, + /^(?:.*\[\[join\]\])/i, + /^(?:.*\[\[choice\]\])/i, + /^(?:.*direction\s+TB[^\n]*)/i, + /^(?:.*direction\s+BT[^\n]*)/i, + /^(?:.*direction\s+RL[^\n]*)/i, + /^(?:.*direction\s+LR[^\n]*)/i, + /^(?:["])/i, + /^(?:\s*as\s+)/i, + /^(?:[^\n\{]*)/i, + /^(?:["])/i, + /^(?:[^"]*)/i, + /^(?:[^\n\s\{]+)/i, + /^(?:\n)/i, + /^(?:\{)/i, + /^(?:%%(?!\{)[^\n]*)/i, + /^(?:\})/i, + /^(?:[\n])/i, + /^(?:note\s+)/i, + /^(?:left of\b)/i, + /^(?:right of\b)/i, + /^(?:")/i, + /^(?:\s*as\s*)/i, + /^(?:["])/i, + /^(?:[^"]*)/i, + /^(?:[^\n]*)/i, + /^(?:\s*[^:\n\s\-]+)/i, + /^(?:\s*:[^:\n;]+)/i, + /^(?:[\s\S]*?end note\b)/i, + /^(?:stateDiagram\s+)/i, + /^(?:stateDiagram-v2\s+)/i, + /^(?:hide empty description\b)/i, + /^(?:\[\*\])/i, + /^(?:[^:\n\s\-\{]+)/i, + /^(?:\s*:[^:\n;]+)/i, + /^(?:-->)/i, + /^(?:--)/i, + /^(?::::)/i, + /^(?:$)/i, + /^(?:.)/i + ], + conditions: { + LINE: { rules: [9, 10], inclusive: !1 }, + struct: { + rules: [9, 10, 22, 26, 29, 35, 42, 43, 44, 45, 54, 55, 56, 57, 71, 72, 73, 74, 75], + inclusive: !1 + }, + FLOATING_NOTE_ID: { rules: [64], inclusive: !1 }, + FLOATING_NOTE: { rules: [61, 62, 63], inclusive: !1 }, + NOTE_TEXT: { rules: [66, 67], inclusive: !1 }, + NOTE_ID: { rules: [65], inclusive: !1 }, + NOTE: { rules: [58, 59, 60], inclusive: !1 }, + STYLEDEF_STYLEOPTS: { rules: [], inclusive: !1 }, + STYLEDEF_STYLES: { rules: [31], inclusive: !1 }, + STYLE_IDS: { rules: [], inclusive: !1 }, + STYLE: { rules: [30], inclusive: !1 }, + CLASS_STYLE: { rules: [28], inclusive: !1 }, + CLASS: { rules: [27], inclusive: !1 }, + CLASSDEFID: { rules: [25], inclusive: !1 }, + CLASSDEF: { rules: [23, 24], inclusive: !1 }, + acc_descr_multiline: { rules: [20, 21], inclusive: !1 }, + acc_descr: { rules: [18], inclusive: !1 }, + acc_title: { rules: [16], inclusive: !1 }, + SCALE: { rules: [13, 14, 33, 34], inclusive: !1 }, + ALIAS: { rules: [], inclusive: !1 }, + STATE_ID: { rules: [48], inclusive: !1 }, + STATE_STRING: { rules: [49, 50], inclusive: !1 }, + FORK_STATE: { rules: [], inclusive: !1 }, + STATE: { + rules: [9, 10, 36, 37, 38, 39, 40, 41, 46, 47, 51, 52, 53], + inclusive: !1 + }, + ID: { rules: [9, 10], inclusive: !1 }, + INITIAL: { + rules: [ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 15, 17, 19, 22, 26, 29, 32, 35, 53, 57, + 68, 69, 70, 71, 72, 73, 74, 76, 77, 78 + ], + inclusive: !0 + } + } + }; + return F; + })(); + O.lexer = D; + function P() { + this.yy = {}; + } + return o(P, 'Parser'), (P.prototype = O), (O.Parser = P), new P(); + })(); + MO.parser = MO; + BE = MO; + }); + var hfe, + FE, + zg, + Ex, + ffe, + dfe, + pfe, + N0, + zE, + OO, + PO, + BO, + FO, + zO, + GE, + $E, + mfe, + gfe, + GO, + $O, + yfe, + vfe, + Gg, + wVe, + xfe, + VO, + TVe, + kVe, + bfe, + wfe, + EVe, + Tfe, + CVe, + kfe, + UO, + HO, + Efe, + VE, + Cfe, + YO, + UE = R(() => { + 'use strict'; + (hfe = 'LR'), + (FE = 'TB'), + (zg = 'state'), + (Ex = 'relation'), + (ffe = 'classDef'), + (dfe = 'style'), + (pfe = 'applyClass'), + (N0 = 'default'), + (zE = 'divider'), + (OO = 'fill:none'), + (PO = 'fill: #333'), + (BO = 'c'), + (FO = 'text'), + (zO = 'normal'), + (GE = 'rect'), + ($E = 'rectWithTitle'), + (mfe = 'stateStart'), + (gfe = 'stateEnd'), + (GO = 'divider'), + ($O = 'roundedWithTitle'), + (yfe = 'note'), + (vfe = 'noteGroup'), + (Gg = 'statediagram'), + (wVe = 'state'), + (xfe = `${Gg}-${wVe}`), + (VO = 'transition'), + (TVe = 'note'), + (kVe = 'note-edge'), + (bfe = `${VO} ${kVe}`), + (wfe = `${Gg}-${TVe}`), + (EVe = 'cluster'), + (Tfe = `${Gg}-${EVe}`), + (CVe = 'cluster-alt'), + (kfe = `${Gg}-${CVe}`), + (UO = 'parent'), + (HO = 'note'), + (Efe = 'state'), + (VE = '----'), + (Cfe = `${VE}${HO}`), + (YO = `${VE}${UO}`); + }); + function WO(t = '', e = 0, r = '', n = VE) { + let i = r !== null && r.length > 0 ? `${n}${r}` : ''; + return `${Efe}-${t}${i}-${e}`; + } + function HE(t, e, r) { + if (!e.id || e.id === '' || e.id === '') return; + e.cssClasses && + (Array.isArray(e.cssCompiledStyles) || (e.cssCompiledStyles = []), + e.cssClasses.split(' ').forEach((i) => { + if (r.get(i)) { + let a = r.get(i); + e.cssCompiledStyles = [...e.cssCompiledStyles, ...a.styles]; + } + })); + let n = t.find((i) => i.id === e.id); + n ? Object.assign(n, e) : t.push(e); + } + function AVe(t) { + return t?.classes?.join(' ') ?? ''; + } + function _Ve(t) { + return t?.styles ?? []; + } + var YE, + yf, + SVe, + Sfe, + $g, + Afe, + _fe = R(() => { + 'use strict'; + _t(); + ut(); + rr(); + UE(); + (YE = new Map()), (yf = 0); + o(WO, 'stateDomId'); + (SVe = o((t, e, r, n, i, a, s, l) => { + V.trace('items', e), + e.forEach((u) => { + switch (u.stmt) { + case zg: + $g(t, u, r, n, i, a, s, l); + break; + case N0: + $g(t, u, r, n, i, a, s, l); + break; + case Ex: + { + $g(t, u.state1, r, n, i, a, s, l), $g(t, u.state2, r, n, i, a, s, l); + let h = { + id: 'edge' + yf, + start: u.state1.id, + end: u.state2.id, + arrowhead: 'normal', + arrowTypeEnd: 'arrow_barb', + style: OO, + labelStyle: '', + label: We.sanitizeText(u.description, de()), + arrowheadStyle: PO, + labelpos: BO, + labelType: FO, + thickness: zO, + classes: VO, + look: s + }; + i.push(h), yf++; + } + break; + } + }); + }, 'setupDoc')), + (Sfe = o((t, e = FE) => { + let r = e; + if (t.doc) for (let n of t.doc) n.stmt === 'dir' && (r = n.value); + return r; + }, 'getDir')); + o(HE, 'insertOrUpdateNode'); + o(AVe, 'getClassesFromDbInfo'); + o(_Ve, 'getStylesFromDbInfo'); + ($g = o((t, e, r, n, i, a, s, l) => { + let u = e.id, + h = r.get(u), + f = AVe(h), + d = _Ve(h); + if ((V.info('dataFetcher parsedItem', e, h, d), u !== 'root')) { + let p = GE; + e.start === !0 ? (p = mfe) : e.start === !1 && (p = gfe), + e.type !== N0 && (p = e.type), + YE.get(u) || + YE.set(u, { + id: u, + shape: p, + description: We.sanitizeText(u, de()), + cssClasses: `${f} ${xfe}`, + cssStyles: d + }); + let m = YE.get(u); + e.description && + (Array.isArray(m.description) + ? ((m.shape = $E), m.description.push(e.description)) + : m.description?.length > 0 + ? ((m.shape = $E), + m.description === u + ? (m.description = [e.description]) + : (m.description = [m.description, e.description])) + : ((m.shape = GE), (m.description = e.description)), + (m.description = We.sanitizeTextOrArray(m.description, de()))), + m.description?.length === 1 && + m.shape === $E && + (m.type === 'group' ? (m.shape = $O) : (m.shape = GE)), + !m.type && + e.doc && + (V.info('Setting cluster for XCX', u, Sfe(e)), + (m.type = 'group'), + (m.isGroup = !0), + (m.dir = Sfe(e)), + (m.shape = e.type === zE ? GO : $O), + (m.cssClasses = `${m.cssClasses} ${Tfe} ${a ? kfe : ''}`)); + let g = { + labelStyle: '', + shape: m.shape, + label: m.description, + cssClasses: m.cssClasses, + cssCompiledStyles: [], + cssStyles: m.cssStyles, + id: u, + dir: m.dir, + domId: WO(u, yf), + type: m.type, + isGroup: m.type === 'group', + padding: 8, + rx: 10, + ry: 10, + look: s + }; + if ( + (g.shape === GO && (g.label = ''), + t && + t.id !== 'root' && + (V.trace('Setting node ', u, ' to be child of its parent ', t.id), (g.parentId = t.id)), + (g.centerLabel = !0), + e.note) + ) { + let y = { + labelStyle: '', + shape: yfe, + label: e.note.text, + cssClasses: wfe, + cssStyles: [], + cssCompilesStyles: [], + id: u + Cfe + '-' + yf, + domId: WO(u, yf, HO), + type: m.type, + isGroup: m.type === 'group', + padding: de().flowchart.padding, + look: s, + position: e.note.position + }, + v = u + YO, + x = { + labelStyle: '', + shape: vfe, + label: e.note.text, + cssClasses: m.cssClasses, + cssStyles: [], + id: u + YO, + domId: WO(u, yf, UO), + type: 'group', + isGroup: !0, + padding: 16, + look: s, + position: e.note.position + }; + yf++, (x.id = v), (y.parentId = v), HE(n, x, l), HE(n, y, l), HE(n, g, l); + let b = u, + w = y.id; + e.note.position === 'left of' && ((b = y.id), (w = u)), + i.push({ + id: b + '-' + w, + start: b, + end: w, + arrowhead: 'none', + arrowTypeEnd: '', + style: OO, + labelStyle: '', + classes: bfe, + arrowheadStyle: PO, + labelpos: BO, + labelType: FO, + thickness: zO, + look: s + }); + } else HE(n, g, l); + } + e.doc && (V.trace('Adding nodes children '), SVe(e, e.doc, r, n, i, !a, s, l)); + }, 'dataFetcher')), + (Afe = o(() => { + YE.clear(), (yf = 0); + }, 'reset')); + }); + var qO, + LVe, + DVe, + Lfe, + XO = R(() => { + 'use strict'; + _t(); + ut(); + L9(); + oT(); + yD(); + xr(); + UE(); + (qO = o((t, e = FE) => { + if (!t.doc) return e; + let r = e; + for (let n of t.doc) n.stmt === 'dir' && (r = n.value); + return r; + }, 'getDir')), + (LVe = o(function (t, e) { + return e.db.extract(e.db.getRootDocV2()), e.db.getClasses(); + }, 'getClasses')), + (DVe = o(async function (t, e, r, n) { + V.info('REF0:'), V.info('Drawing state diagram (v2)', e); + let { securityLevel: i, state: a, layout: s } = de(); + n.db.extract(n.db.getRootDocV2()); + let l = n.db.getData(), + u = I5(e, i); + (l.type = n.type), + (l.layoutAlgorithm = s), + (l.nodeSpacing = a?.nodeSpacing || 50), + (l.rankSpacing = a?.rankSpacing || 50), + (l.markers = ['barb']), + (l.diagramId = e), + await sT(l, u); + let h = 8; + Lt.insertTitle(u, 'statediagramTitleText', a?.titleTopMargin ?? 25, n.db.getDiagramTitle()), + lT(u, h, Gg, a?.useMaxWidth ?? !0); + }, 'draw')), + (Lfe = { getClasses: LVe, draw: DVe, getDir: qO }); + }); + function Pfe() { + return new Map(); + } + function jO(t = '') { + let e = t; + return t === ZO && (Cx++, (e = `${Mfe}${Cx}`)), e; + } + function KO(t = '', e = N0) { + return t === ZO ? Mfe : e; + } + function GVe(t = '') { + let e = t; + return t === Ife && (Cx++, (e = `${Ofe}${Cx}`)), e; + } + function $Ve(t = '', e = N0) { + return t === Ife ? Ofe : e; + } + function VVe(t, e, r) { + let n = jO(t.id.trim()), + i = KO(t.id.trim(), t.type), + a = jO(e.id.trim()), + s = KO(e.id.trim(), e.type); + vf(n, i, t.doc, t.description, t.note, t.classes, t.styles, t.textStyles), + vf(a, s, e.doc, e.description, e.note, e.classes, e.styles, e.textStyles), + Fs.relations.push({ + id1: n, + id2: a, + relationTitle: We.sanitizeText(r, de()) + }); + } + var ZO, + Mfe, + Ife, + Ofe, + Dfe, + Rfe, + RVe, + NVe, + XE, + JO, + Bfe, + jE, + Vg, + Ffe, + KE, + Fs, + Cx, + Nfe, + MVe, + IVe, + WE, + OVe, + PVe, + qE, + eP, + BVe, + vf, + zfe, + M0, + Gfe, + FVe, + zVe, + $fe, + QO, + UVe, + HVe, + Vfe, + YVe, + tP, + WVe, + qVe, + XVe, + jVe, + KVe, + QVe, + Qo, + QE = R(() => { + 'use strict'; + ut(); + xr(); + rr(); + _t(); + bi(); + _fe(); + XO(); + UE(); + (ZO = '[*]'), + (Mfe = 'start'), + (Ife = ZO), + (Ofe = 'end'), + (Dfe = 'color'), + (Rfe = 'fill'), + (RVe = 'bgFill'), + (NVe = ','); + o(Pfe, 'newClassesList'); + (XE = []), + (JO = []), + (Bfe = hfe), + (jE = []), + (Vg = Pfe()), + (Ffe = o(() => ({ relations: [], states: new Map(), documents: {} }), 'newDoc')), + (KE = { root: Ffe() }), + (Fs = KE.root), + (Cx = 0), + (Nfe = 0), + (MVe = { LINE: 0, DOTTED_LINE: 1 }), + (IVe = { AGGREGATION: 0, EXTENSION: 1, COMPOSITION: 2, DEPENDENCY: 3 }), + (WE = o((t) => JSON.parse(JSON.stringify(t)), 'clone')), + (OVe = o((t) => { + V.info('Setting root doc', t), (jE = t); + }, 'setRootDoc')), + (PVe = o(() => jE, 'getRootDoc')), + (qE = o((t, e, r) => { + if (e.stmt === Ex) qE(t, e.state1, !0), qE(t, e.state2, !1); + else if ( + (e.stmt === zg && + (e.id === '[*]' + ? ((e.id = r ? t.id + '_start' : t.id + '_end'), (e.start = r)) + : (e.id = e.id.trim())), + e.doc) + ) { + let n = [], + i = [], + a; + for (a = 0; a < e.doc.length; a++) + if (e.doc[a].type === zE) { + let s = WE(e.doc[a]); + (s.doc = WE(i)), n.push(s), (i = []); + } else i.push(e.doc[a]); + if (n.length > 0 && i.length > 0) { + let s = { stmt: zg, id: Z_(), type: 'divider', doc: WE(i) }; + n.push(WE(s)), (e.doc = n); + } + e.doc.forEach((s) => qE(e, s, !0)); + } + }, 'docTranslator')), + (eP = o( + () => (qE({ id: 'root' }, { id: 'root', doc: jE }, !0), { id: 'root', doc: jE }), + 'getRootDocV2' + )), + (BVe = o((t) => { + let e; + t.doc ? (e = t.doc) : (e = t), + V.info(e), + zfe(!0), + V.info('Extract initial document:', e), + e.forEach((a) => { + switch ((V.warn('Statement', a.stmt), a.stmt)) { + case zg: + vf( + a.id.trim(), + a.type, + a.doc, + a.description, + a.note, + a.classes, + a.styles, + a.textStyles + ); + break; + case Ex: + $fe(a.state1, a.state2, a.description); + break; + case ffe: + Vfe(a.id.trim(), a.classes); + break; + case dfe: + { + let s = a.id.trim().split(','), + l = a.styleClass.split(','); + s.forEach((u) => { + let h = M0(u); + if (h === void 0) { + let f = u.trim(); + vf(f), (h = M0(f)); + } + h.styles = l.map((f) => f.replace(/;/g, '')?.trim()); + }); + } + break; + case pfe: + tP(a.id.trim(), a.styleClass); + break; + } + }); + let r = Gfe(), + i = de().look; + Afe(), + $g(void 0, eP(), r, XE, JO, !0, i, Vg), + XE.forEach((a) => { + if (Array.isArray(a.label)) { + if (((a.description = a.label.slice(1)), a.isGroup && a.description.length > 0)) + throw new Error( + 'Group nodes can only have label. Remove the additional description for node [' + + a.id + + ']' + ); + a.label = a.label[0]; + } + }); + }, 'extract')), + (vf = o(function (t, e = N0, r = null, n = null, i = null, a = null, s = null, l = null) { + let u = t?.trim(); + if ( + (Fs.states.has(u) + ? (Fs.states.get(u).doc || (Fs.states.get(u).doc = r), + Fs.states.get(u).type || (Fs.states.get(u).type = e)) + : (V.info('Adding state ', u, n), + Fs.states.set(u, { + id: u, + descriptions: [], + type: e, + doc: r, + note: i, + classes: [], + styles: [], + textStyles: [] + })), + n && + (V.info('Setting state description', u, n), + typeof n == 'string' && QO(u, n.trim()), + typeof n == 'object' && n.forEach((h) => QO(u, h.trim()))), + i) + ) { + let h = Fs.states.get(u); + (h.note = i), (h.note.text = We.sanitizeText(h.note.text, de())); + } + a && + (V.info('Setting state classes', u, a), + (typeof a == 'string' ? [a] : a).forEach((f) => tP(u, f.trim()))), + s && + (V.info('Setting state styles', u, s), + (typeof s == 'string' ? [s] : s).forEach((f) => WVe(u, f.trim()))), + l && + (V.info('Setting state styles', u, s), + (typeof l == 'string' ? [l] : l).forEach((f) => qVe(u, f.trim()))); + }, 'addState')), + (zfe = o(function (t) { + (XE = []), (JO = []), (KE = { root: Ffe() }), (Fs = KE.root), (Cx = 0), (Vg = Pfe()), t || vr(); + }, 'clear')), + (M0 = o(function (t) { + return Fs.states.get(t); + }, 'getState')), + (Gfe = o(function () { + return Fs.states; + }, 'getStates')), + (FVe = o(function () { + V.info('Documents = ', KE); + }, 'logDocuments')), + (zVe = o(function () { + return Fs.relations; + }, 'getRelations')); + o(jO, 'startIdIfNeeded'); + o(KO, 'startTypeIfNeeded'); + o(GVe, 'endIdIfNeeded'); + o($Ve, 'endTypeIfNeeded'); + o(VVe, 'addRelationObjs'); + ($fe = o(function (t, e, r) { + if (typeof t == 'object') VVe(t, e, r); + else { + let n = jO(t.trim()), + i = KO(t), + a = GVe(e.trim()), + s = $Ve(e); + vf(n, i), + vf(a, s), + Fs.relations.push({ + id1: n, + id2: a, + title: We.sanitizeText(r, de()) + }); + } + }, 'addRelation')), + (QO = o(function (t, e) { + let r = Fs.states.get(t), + n = e.startsWith(':') ? e.replace(':', '').trim() : e; + r.descriptions.push(We.sanitizeText(n, de())); + }, 'addDescription')), + (UVe = o(function (t) { + return t.substring(0, 1) === ':' ? t.substr(2).trim() : t.trim(); + }, 'cleanupLabel')), + (HVe = o(() => (Nfe++, 'divider-id-' + Nfe), 'getDividerId')), + (Vfe = o(function (t, e = '') { + Vg.has(t) || Vg.set(t, { id: t, styles: [], textStyles: [] }); + let r = Vg.get(t); + e?.split(NVe).forEach((n) => { + let i = n.replace(/([^;]*);/, '$1').trim(); + if (RegExp(Dfe).exec(n)) { + let s = i.replace(Rfe, RVe).replace(Dfe, Rfe); + r.textStyles.push(s); + } + r.styles.push(i); + }); + }, 'addStyleClass')), + (YVe = o(function () { + return Vg; + }, 'getClasses')), + (tP = o(function (t, e) { + t.split(',').forEach(function (r) { + let n = M0(r); + if (n === void 0) { + let i = r.trim(); + vf(i), (n = M0(i)); + } + n.classes.push(e); + }); + }, 'setCssClass')), + (WVe = o(function (t, e) { + let r = M0(t); + r !== void 0 && r.styles.push(e); + }, 'setStyle')), + (qVe = o(function (t, e) { + let r = M0(t); + r !== void 0 && r.textStyles.push(e); + }, 'setTextStyle')), + (XVe = o(() => Bfe, 'getDirection')), + (jVe = o((t) => { + Bfe = t; + }, 'setDirection')), + (KVe = o((t) => (t && t[0] === ':' ? t.substr(1).trim() : t.trim()), 'trimColon')), + (QVe = o(() => { + let t = de(); + return { + nodes: XE, + edges: JO, + other: {}, + config: t, + direction: qO(eP()) + }; + }, 'getData')), + (Qo = { + getConfig: o(() => de().state, 'getConfig'), + getData: QVe, + addState: vf, + clear: zfe, + getState: M0, + getStates: Gfe, + getRelations: zVe, + getClasses: YVe, + getDirection: XVe, + addRelation: $fe, + getDividerId: HVe, + setDirection: jVe, + cleanupLabel: UVe, + lineType: MVe, + relationType: IVe, + logDocuments: FVe, + getRootDoc: PVe, + setRootDoc: OVe, + getRootDocV2: eP, + extract: BVe, + trimColon: KVe, + getAccTitle: Ar, + setAccTitle: kr, + getAccDescription: Lr, + setAccDescription: _r, + addStyleClass: Vfe, + setCssClass: tP, + addDescription: QO, + setDiagramTitle: nn, + getDiagramTitle: Xr + }); + }); + var ZVe, + ZE, + rP = R(() => { + 'use strict'; + (ZVe = o( + (t) => ` +defs #statediagram-barbEnd { + fill: ${t.transitionColor}; + stroke: ${t.transitionColor}; + } +g.stateGroup text { + fill: ${t.nodeBorder}; + stroke: none; + font-size: 10px; +} +g.stateGroup text { + fill: ${t.textColor}; + stroke: none; + font-size: 10px; + +} +g.stateGroup .state-title { + font-weight: bolder; + fill: ${t.stateLabelColor}; +} + +g.stateGroup rect { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; +} + +g.stateGroup line { + stroke: ${t.lineColor}; + stroke-width: 1; +} + +.transition { + stroke: ${t.transitionColor}; + stroke-width: 1; + fill: none; +} + +.stateGroup .composit { + fill: ${t.background}; + border-bottom: 1px +} + +.stateGroup .alt-composit { + fill: #e0e0e0; + border-bottom: 1px +} + +.state-note { + stroke: ${t.noteBorderColor}; + fill: ${t.noteBkgColor}; + + text { + fill: ${t.noteTextColor}; + stroke: none; + font-size: 10px; + } +} + +.stateLabel .box { + stroke: none; + stroke-width: 0; + fill: ${t.mainBkg}; + opacity: 0.5; +} + +.edgeLabel .label rect { + fill: ${t.labelBackgroundColor}; + opacity: 0.5; +} +.edgeLabel { + background-color: ${t.edgeLabelBackground}; + p { + background-color: ${t.edgeLabelBackground}; + } + rect { + opacity: 0.5; + background-color: ${t.edgeLabelBackground}; + fill: ${t.edgeLabelBackground}; + } + text-align: center; +} +.edgeLabel .label text { + fill: ${t.transitionLabelColor || t.tertiaryTextColor}; +} +.label div .edgeLabel { + color: ${t.transitionLabelColor || t.tertiaryTextColor}; +} + +.stateLabel text { + fill: ${t.stateLabelColor}; + font-size: 10px; + font-weight: bold; +} + +.node circle.state-start { + fill: ${t.specialStateColor}; + stroke: ${t.specialStateColor}; +} + +.node .fork-join { + fill: ${t.specialStateColor}; + stroke: ${t.specialStateColor}; +} + +.node circle.state-end { + fill: ${t.innerEndBackground}; + stroke: ${t.background}; + stroke-width: 1.5 +} +.end-state-inner { + fill: ${t.compositeBackground || t.background}; + // stroke: ${t.background}; + stroke-width: 1.5 +} + +.node rect { + fill: ${t.stateBkg || t.mainBkg}; + stroke: ${t.stateBorder || t.nodeBorder}; + stroke-width: 1px; +} +.node polygon { + fill: ${t.mainBkg}; + stroke: ${t.stateBorder || t.nodeBorder};; + stroke-width: 1px; +} +#statediagram-barbEnd { + fill: ${t.lineColor}; +} + +.statediagram-cluster rect { + fill: ${t.compositeTitleBackground}; + stroke: ${t.stateBorder || t.nodeBorder}; + stroke-width: 1px; +} + +.cluster-label, .nodeLabel { + color: ${t.stateLabelColor}; + // line-height: 1; +} + +.statediagram-cluster rect.outer { + rx: 5px; + ry: 5px; +} +.statediagram-state .divider { + stroke: ${t.stateBorder || t.nodeBorder}; +} + +.statediagram-state .title-state { + rx: 5px; + ry: 5px; +} +.statediagram-cluster.statediagram-cluster .inner { + fill: ${t.compositeBackground || t.background}; +} +.statediagram-cluster.statediagram-cluster-alt .inner { + fill: ${t.altBackground ? t.altBackground : '#efefef'}; +} + +.statediagram-cluster .inner { + rx:0; + ry:0; +} + +.statediagram-state rect.basic { + rx: 5px; + ry: 5px; +} +.statediagram-state rect.divider { + stroke-dasharray: 10,10; + fill: ${t.altBackground ? t.altBackground : '#efefef'}; +} + +.note-edge { + stroke-dasharray: 5; +} + +.statediagram-note rect { + fill: ${t.noteBkgColor}; + stroke: ${t.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} +.statediagram-note rect { + fill: ${t.noteBkgColor}; + stroke: ${t.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} + +.statediagram-note text { + fill: ${t.noteTextColor}; +} + +.statediagram-note .nodeLabel { + color: ${t.noteTextColor}; +} +.statediagram .edgeLabel { + color: red; // ${t.noteTextColor}; +} + +#dependencyStart, #dependencyEnd { + fill: ${t.lineColor}; + stroke: ${t.lineColor}; + stroke-width: 1; +} + +.statediagramTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; +} +`, + 'getStyles' + )), + (ZE = ZVe); + }); + var nP, + JVe, + eUe, + Ufe, + tUe, + Hfe, + Yfe = R(() => { + 'use strict'; + (nP = {}), + (JVe = o((t, e) => { + nP[t] = e; + }, 'set')), + (eUe = o((t) => nP[t], 'get')), + (Ufe = o(() => Object.keys(nP), 'keys')), + (tUe = o(() => Ufe().length, 'size')), + (Hfe = { get: eUe, set: JVe, keys: Ufe, size: tUe }); + }); + var rUe, + nUe, + iUe, + aUe, + qfe, + sUe, + oUe, + lUe, + cUe, + iP, + Wfe, + Xfe, + jfe = R(() => { + 'use strict'; + Zt(); + Yfe(); + QE(); + xr(); + rr(); + _t(); + ut(); + (rUe = o( + (t) => + t + .append('circle') + .attr('class', 'start-state') + .attr('r', de().state.sizeUnit) + .attr('cx', de().state.padding + de().state.sizeUnit) + .attr('cy', de().state.padding + de().state.sizeUnit), + 'drawStartState' + )), + (nUe = o( + (t) => + t + .append('line') + .style('stroke', 'grey') + .style('stroke-dasharray', '3') + .attr('x1', de().state.textHeight) + .attr('class', 'divider') + .attr('x2', de().state.textHeight * 2) + .attr('y1', 0) + .attr('y2', 0), + 'drawDivider' + )), + (iUe = o((t, e) => { + let r = t + .append('text') + .attr('x', 2 * de().state.padding) + .attr('y', de().state.textHeight + 2 * de().state.padding) + .attr('font-size', de().state.fontSize) + .attr('class', 'state-title') + .text(e.id), + n = r.node().getBBox(); + return ( + t + .insert('rect', ':first-child') + .attr('x', de().state.padding) + .attr('y', de().state.padding) + .attr('width', n.width + 2 * de().state.padding) + .attr('height', n.height + 2 * de().state.padding) + .attr('rx', de().state.radius), + r + ); + }, 'drawSimpleState')), + (aUe = o((t, e) => { + let r = o(function (p, m, g) { + let y = p + .append('tspan') + .attr('x', 2 * de().state.padding) + .text(m); + g || y.attr('dy', de().state.textHeight); + }, 'addTspan'), + i = t + .append('text') + .attr('x', 2 * de().state.padding) + .attr('y', de().state.textHeight + 1.3 * de().state.padding) + .attr('font-size', de().state.fontSize) + .attr('class', 'state-title') + .text(e.descriptions[0]) + .node() + .getBBox(), + a = i.height, + s = t + .append('text') + .attr('x', de().state.padding) + .attr('y', a + de().state.padding * 0.4 + de().state.dividerMargin + de().state.textHeight) + .attr('class', 'state-description'), + l = !0, + u = !0; + e.descriptions.forEach(function (p) { + l || (r(s, p, u), (u = !1)), (l = !1); + }); + let h = t + .append('line') + .attr('x1', de().state.padding) + .attr('y1', de().state.padding + a + de().state.dividerMargin / 2) + .attr('y2', de().state.padding + a + de().state.dividerMargin / 2) + .attr('class', 'descr-divider'), + f = s.node().getBBox(), + d = Math.max(f.width, i.width); + return ( + h.attr('x2', d + 3 * de().state.padding), + t + .insert('rect', ':first-child') + .attr('x', de().state.padding) + .attr('y', de().state.padding) + .attr('width', d + 2 * de().state.padding) + .attr('height', f.height + a + 2 * de().state.padding) + .attr('rx', de().state.radius), + t + ); + }, 'drawDescrState')), + (qfe = o((t, e, r) => { + let n = de().state.padding, + i = 2 * de().state.padding, + a = t.node().getBBox(), + s = a.width, + l = a.x, + u = t + .append('text') + .attr('x', 0) + .attr('y', de().state.titleShift) + .attr('font-size', de().state.fontSize) + .attr('class', 'state-title') + .text(e.id), + f = u.node().getBBox().width + i, + d = Math.max(f, s); + d === s && (d = d + i); + let p, + m = t.node().getBBox(); + e.doc, + (p = l - n), + f > s && (p = (s - d) / 2 + n), + Math.abs(l - m.x) < n && f > s && (p = l - (f - s) / 2); + let g = 1 - de().state.textHeight; + return ( + t + .insert('rect', ':first-child') + .attr('x', p) + .attr('y', g) + .attr('class', r ? 'alt-composit' : 'composit') + .attr('width', d) + .attr('height', m.height + de().state.textHeight + de().state.titleShift + 1) + .attr('rx', '0'), + u.attr('x', p + n), + f <= s && u.attr('x', l + (d - i) / 2 - f / 2 + n), + t + .insert('rect', ':first-child') + .attr('x', p) + .attr('y', de().state.titleShift - de().state.textHeight - de().state.padding) + .attr('width', d) + .attr('height', de().state.textHeight * 3) + .attr('rx', de().state.radius), + t + .insert('rect', ':first-child') + .attr('x', p) + .attr('y', de().state.titleShift - de().state.textHeight - de().state.padding) + .attr('width', d) + .attr('height', m.height + 3 + 2 * de().state.textHeight) + .attr('rx', de().state.radius), + t + ); + }, 'addTitleAndBox')), + (sUe = o( + (t) => ( + t + .append('circle') + .attr('class', 'end-state-outer') + .attr('r', de().state.sizeUnit + de().state.miniPadding) + .attr('cx', de().state.padding + de().state.sizeUnit + de().state.miniPadding) + .attr('cy', de().state.padding + de().state.sizeUnit + de().state.miniPadding), + t + .append('circle') + .attr('class', 'end-state-inner') + .attr('r', de().state.sizeUnit) + .attr('cx', de().state.padding + de().state.sizeUnit + 2) + .attr('cy', de().state.padding + de().state.sizeUnit + 2) + ), + 'drawEndState' + )), + (oUe = o((t, e) => { + let r = de().state.forkWidth, + n = de().state.forkHeight; + if (e.parentId) { + let i = r; + (r = n), (n = i); + } + return t + .append('rect') + .style('stroke', 'black') + .style('fill', 'black') + .attr('width', r) + .attr('height', n) + .attr('x', de().state.padding) + .attr('y', de().state.padding); + }, 'drawForkJoinState')), + (lUe = o((t, e, r, n) => { + let i = 0, + a = n.append('text'); + a.style('text-anchor', 'start'), a.attr('class', 'noteText'); + let s = t.replace(/\r\n/g, '
    '); + s = s.replace(/\n/g, '
    '); + let l = s.split(We.lineBreakRegex), + u = 1.25 * de().state.noteMargin; + for (let h of l) { + let f = h.trim(); + if (f.length > 0) { + let d = a.append('tspan'); + if ((d.text(f), u === 0)) { + let p = d.node().getBBox(); + u += p.height; + } + (i += u), + d.attr('x', e + de().state.noteMargin), + d.attr('y', r + i + 1.25 * de().state.noteMargin); + } + } + return { textWidth: a.node().getBBox().width, textHeight: i }; + }, '_drawLongText')), + (cUe = o((t, e) => { + e.attr('class', 'state-note'); + let r = e.append('rect').attr('x', 0).attr('y', de().state.padding), + n = e.append('g'), + { textWidth: i, textHeight: a } = lUe(t, 0, 0, n); + return ( + r.attr('height', a + 2 * de().state.noteMargin), + r.attr('width', i + de().state.noteMargin * 2), + r + ); + }, 'drawNote')), + (iP = o(function (t, e) { + let r = e.id, + n = { id: r, label: e.id, width: 0, height: 0 }, + i = t.append('g').attr('id', r).attr('class', 'stateGroup'); + e.type === 'start' && rUe(i), + e.type === 'end' && sUe(i), + (e.type === 'fork' || e.type === 'join') && oUe(i, e), + e.type === 'note' && cUe(e.note.text, i), + e.type === 'divider' && nUe(i), + e.type === 'default' && e.descriptions.length === 0 && iUe(i, e), + e.type === 'default' && e.descriptions.length > 0 && aUe(i, e); + let a = i.node().getBBox(); + return ( + (n.width = a.width + 2 * de().state.padding), + (n.height = a.height + 2 * de().state.padding), + Hfe.set(r, n), + n + ); + }, 'drawState')), + (Wfe = 0), + (Xfe = o(function (t, e, r) { + let n = o(function (u) { + switch (u) { + case Qo.relationType.AGGREGATION: + return 'aggregation'; + case Qo.relationType.EXTENSION: + return 'extension'; + case Qo.relationType.COMPOSITION: + return 'composition'; + case Qo.relationType.DEPENDENCY: + return 'dependency'; + } + }, 'getRelationType'); + e.points = e.points.filter((u) => !Number.isNaN(u.y)); + let i = e.points, + a = ha() + .x(function (u) { + return u.x; + }) + .y(function (u) { + return u.y; + }) + .curve(vs), + s = t + .append('path') + .attr('d', a(i)) + .attr('id', 'edge' + Wfe) + .attr('class', 'transition'), + l = ''; + if ( + (de().state.arrowMarkerAbsolute && + ((l = + window.location.protocol + + '//' + + window.location.host + + window.location.pathname + + window.location.search), + (l = l.replace(/\(/g, '\\(')), + (l = l.replace(/\)/g, '\\)'))), + s.attr('marker-end', 'url(' + l + '#' + n(Qo.relationType.DEPENDENCY) + 'End)'), + r.title !== void 0) + ) { + let u = t.append('g').attr('class', 'stateLabel'), + { x: h, y: f } = Lt.calcLabelPosition(e.points), + d = We.getRows(r.title), + p = 0, + m = [], + g = 0, + y = 0; + for (let b = 0; b <= d.length; b++) { + let w = u + .append('text') + .attr('text-anchor', 'middle') + .text(d[b]) + .attr('x', h) + .attr('y', f + p), + S = w.node().getBBox(); + (g = Math.max(g, S.width)), + (y = Math.min(y, S.x)), + V.info(S.x, h, f + p), + p === 0 && ((p = w.node().getBBox().height), V.info('Title height', p, f)), + m.push(w); + } + let v = p * d.length; + if (d.length > 1) { + let b = (d.length - 1) * p * 0.5; + m.forEach((w, S) => w.attr('y', f + S * p - b)), (v = p * d.length); + } + let x = u.node().getBBox(); + u + .insert('rect', ':first-child') + .attr('class', 'box') + .attr('x', h - g / 2 - de().state.padding / 2) + .attr('y', f - v / 2 - de().state.padding / 2 - 3.5) + .attr('width', g + de().state.padding) + .attr('height', v + de().state.padding), + V.info(x); + } + Wfe++; + }, 'drawEdge')); + }); + var vo, + aP, + uUe, + hUe, + fUe, + dUe, + Kfe, + Qfe, + Zfe = R(() => { + 'use strict'; + Zt(); + Vd(); + ya(); + ut(); + rr(); + jfe(); + _t(); + Yn(); + (aP = {}), + (uUe = o(function () {}, 'setConf')), + (hUe = o(function (t) { + t.append('defs') + .append('marker') + .attr('id', 'dependencyEnd') + .attr('refX', 19) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 19,7 L9,13 L14,7 L9,1 Z'); + }, 'insertMarkers')), + (fUe = o(function (t, e, r, n) { + vo = de().state; + let i = de().securityLevel, + a; + i === 'sandbox' && (a = $e('#i' + e)); + let s = i === 'sandbox' ? $e(a.nodes()[0].contentDocument.body) : $e('body'), + l = i === 'sandbox' ? a.nodes()[0].contentDocument : document; + V.debug('Rendering diagram ' + t); + let u = s.select(`[id='${e}']`); + hUe(u); + let h = n.db.getRootDoc(); + Kfe(h, u, void 0, !1, s, l, n); + let f = vo.padding, + d = u.node().getBBox(), + p = d.width + f * 2, + m = d.height + f * 2, + g = p * 1.75; + Sr(u, m, g, vo.useMaxWidth), + u.attr('viewBox', `${d.x - vo.padding} ${d.y - vo.padding} ` + p + ' ' + m); + }, 'draw')), + (dUe = o((t) => (t ? t.length * vo.fontSizeFactor : 1), 'getLabelWidth')), + (Kfe = o((t, e, r, n, i, a, s) => { + let l = new lr({ compound: !0, multigraph: !0 }), + u, + h = !0; + for (u = 0; u < t.length; u++) + if (t[u].stmt === 'relation') { + h = !1; + break; + } + r + ? l.setGraph({ + rankdir: 'LR', + multigraph: !0, + compound: !0, + ranker: 'tight-tree', + ranksep: h ? 1 : vo.edgeLengthFactor, + nodeSep: h ? 1 : 50, + isMultiGraph: !0 + }) + : l.setGraph({ + rankdir: 'TB', + multigraph: !0, + compound: !0, + ranksep: h ? 1 : vo.edgeLengthFactor, + nodeSep: h ? 1 : 50, + ranker: 'tight-tree', + isMultiGraph: !0 + }), + l.setDefaultEdgeLabel(function () { + return {}; + }), + s.db.extract(t); + let f = s.db.getStates(), + d = s.db.getRelations(), + p = Object.keys(f), + m = !0; + for (let b of p) { + let w = f[b]; + r && (w.parentId = r); + let S; + if (w.doc) { + let T = e.append('g').attr('id', w.id).attr('class', 'stateGroup'); + if (((S = Kfe(w.doc, T, w.id, !n, i, a, s)), m)) { + T = qfe(T, w, n); + let E = T.node().getBBox(); + (S.width = E.width), + (S.height = E.height + vo.padding / 2), + (aP[w.id] = { y: vo.compositTitleSize }); + } else { + let E = T.node().getBBox(); + (S.width = E.width), (S.height = E.height); + } + } else S = iP(e, w, l); + if (w.note) { + let T = { + descriptions: [], + id: w.id + '-note', + note: w.note, + type: 'note' + }, + E = iP(e, T, l); + w.note.position === 'left of' + ? (l.setNode(S.id + '-note', E), l.setNode(S.id, S)) + : (l.setNode(S.id, S), l.setNode(S.id + '-note', E)), + l.setParent(S.id, S.id + '-group'), + l.setParent(S.id + '-note', S.id + '-group'); + } else l.setNode(S.id, S); + } + V.debug('Count=', l.nodeCount(), l); + let g = 0; + d.forEach(function (b) { + g++, + V.debug('Setting edge', b), + l.setEdge( + b.id1, + b.id2, + { + relation: b, + width: dUe(b.title), + height: vo.labelHeight * We.getRows(b.title).length, + labelpos: 'c' + }, + 'id' + g + ); + }), + lo(l), + V.debug('Graph after layout', l.nodes()); + let y = e.node(); + l.nodes().forEach(function (b) { + b !== void 0 && l.node(b) !== void 0 + ? (V.warn('Node ' + b + ': ' + JSON.stringify(l.node(b))), + i + .select('#' + y.id + ' #' + b) + .attr( + 'transform', + 'translate(' + + (l.node(b).x - l.node(b).width / 2) + + ',' + + (l.node(b).y + (aP[b] ? aP[b].y : 0) - l.node(b).height / 2) + + ' )' + ), + i.select('#' + y.id + ' #' + b).attr('data-x-shift', l.node(b).x - l.node(b).width / 2), + a.querySelectorAll('#' + y.id + ' #' + b + ' .divider').forEach((S) => { + let T = S.parentElement, + E = 0, + _ = 0; + T && + (T.parentElement && (E = T.parentElement.getBBox().width), + (_ = parseInt(T.getAttribute('data-x-shift'), 10)), + Number.isNaN(_) && (_ = 0)), + S.setAttribute('x1', 0 - _ + 8), + S.setAttribute('x2', E - _ - 8); + })) + : V.debug('No Node ' + b + ': ' + JSON.stringify(l.node(b))); + }); + let v = y.getBBox(); + l.edges().forEach(function (b) { + b !== void 0 && + l.edge(b) !== void 0 && + (V.debug('Edge ' + b.v + ' -> ' + b.w + ': ' + JSON.stringify(l.edge(b))), + Xfe(e, l.edge(b), l.edge(b).relation)); + }), + (v = y.getBBox()); + let x = { id: r || 'root', label: r || 'root', width: 0, height: 0 }; + return ( + (x.width = v.width + 2 * vo.padding), + (x.height = v.height + 2 * vo.padding), + V.debug('Doc rendered', x, l), + x + ); + }, 'renderDoc')), + (Qfe = { setConf: uUe, draw: fUe }); + }); + var Jfe = {}; + hr(Jfe, { diagram: () => pUe }); + var pUe, + ede = R(() => { + 'use strict'; + IO(); + QE(); + rP(); + Zfe(); + pUe = { + parser: BE, + db: Qo, + renderer: Qfe, + styles: ZE, + init: o((t) => { + t.state || (t.state = {}), (t.state.arrowMarkerAbsolute = t.arrowMarkerAbsolute), Qo.clear(); + }, 'init') + }; + }); + var nde = {}; + hr(nde, { diagram: () => vUe }); + var vUe, + ide = R(() => { + 'use strict'; + IO(); + QE(); + rP(); + XO(); + vUe = { + parser: BE, + db: Qo, + renderer: Lfe, + styles: ZE, + init: o((t) => { + t.state || (t.state = {}), (t.state.arrowMarkerAbsolute = t.arrowMarkerAbsolute), Qo.clear(); + }, 'init') + }; + }); + var sP, + ode, + lde = R(() => { + 'use strict'; + sP = (function () { + var t = o(function (d, p, m, g) { + for (m = m || {}, g = d.length; g--; m[d[g]] = p); + return m; + }, 'o'), + e = [6, 8, 10, 11, 12, 14, 16, 17, 18], + r = [1, 9], + n = [1, 10], + i = [1, 11], + a = [1, 12], + s = [1, 13], + l = [1, 14], + u = { + trace: o(function () {}, 'trace'), + yy: {}, + symbols_: { + error: 2, + start: 3, + journey: 4, + document: 5, + EOF: 6, + line: 7, + SPACE: 8, + statement: 9, + NEWLINE: 10, + title: 11, + acc_title: 12, + acc_title_value: 13, + acc_descr: 14, + acc_descr_value: 15, + acc_descr_multiline_value: 16, + section: 17, + taskName: 18, + taskData: 19, + $accept: 0, + $end: 1 + }, + terminals_: { + 2: 'error', + 4: 'journey', + 6: 'EOF', + 8: 'SPACE', + 10: 'NEWLINE', + 11: 'title', + 12: 'acc_title', + 13: 'acc_title_value', + 14: 'acc_descr', + 15: 'acc_descr_value', + 16: 'acc_descr_multiline_value', + 17: 'section', + 18: 'taskName', + 19: 'taskData' + }, + productions_: [ + 0, + [3, 3], + [5, 0], + [5, 2], + [7, 2], + [7, 1], + [7, 1], + [7, 1], + [9, 1], + [9, 2], + [9, 2], + [9, 1], + [9, 1], + [9, 2] + ], + performAction: o(function (p, m, g, y, v, x, b) { + var w = x.length - 1; + switch (v) { + case 1: + return x[w - 1]; + case 2: + this.$ = []; + break; + case 3: + x[w - 1].push(x[w]), (this.$ = x[w - 1]); + break; + case 4: + case 5: + this.$ = x[w]; + break; + case 6: + case 7: + this.$ = []; + break; + case 8: + y.setDiagramTitle(x[w].substr(6)), (this.$ = x[w].substr(6)); + break; + case 9: + (this.$ = x[w].trim()), y.setAccTitle(this.$); + break; + case 10: + case 11: + (this.$ = x[w].trim()), y.setAccDescription(this.$); + break; + case 12: + y.addSection(x[w].substr(8)), (this.$ = x[w].substr(8)); + break; + case 13: + y.addTask(x[w - 1], x[w]), (this.$ = 'task'); + break; + } + }, 'anonymous'), + table: [ + { 3: 1, 4: [1, 2] }, + { 1: [3] }, + t(e, [2, 2], { 5: 3 }), + { + 6: [1, 4], + 7: 5, + 8: [1, 6], + 9: 7, + 10: [1, 8], + 11: r, + 12: n, + 14: i, + 16: a, + 17: s, + 18: l + }, + t(e, [2, 7], { 1: [2, 1] }), + t(e, [2, 3]), + { 9: 15, 11: r, 12: n, 14: i, 16: a, 17: s, 18: l }, + t(e, [2, 5]), + t(e, [2, 6]), + t(e, [2, 8]), + { 13: [1, 16] }, + { 15: [1, 17] }, + t(e, [2, 11]), + t(e, [2, 12]), + { 19: [1, 18] }, + t(e, [2, 4]), + t(e, [2, 9]), + t(e, [2, 10]), + t(e, [2, 13]) + ], + defaultActions: {}, + parseError: o(function (p, m) { + if (m.recoverable) this.trace(p); + else { + var g = new Error(p); + throw ((g.hash = m), g); + } + }, 'parseError'), + parse: o(function (p) { + var m = this, + g = [0], + y = [], + v = [null], + x = [], + b = this.table, + w = '', + S = 0, + T = 0, + E = 0, + _ = 2, + A = 1, + L = x.slice.call(arguments, 1), + M = Object.create(this.lexer), + N = { yy: {} }; + for (var k in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, k) && (N.yy[k] = this.yy[k]); + M.setInput(p, N.yy), + (N.yy.lexer = M), + (N.yy.parser = this), + typeof M.yylloc > 'u' && (M.yylloc = {}); + var I = M.yylloc; + x.push(I); + var C = M.options && M.options.ranges; + typeof N.yy.parseError == 'function' + ? (this.parseError = N.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError); + function O(H) { + (g.length = g.length - 2 * H), (v.length = v.length - H), (x.length = x.length - H); + } + o(O, 'popStack'); + function D() { + var H; + return ( + (H = y.pop() || M.lex() || A), + typeof H != 'number' && + (H instanceof Array && ((y = H), (H = y.pop())), (H = m.symbols_[H] || H)), + H + ); + } + o(D, 'lex'); + for (var P, F, B, $, z, Y, Q = {}, X, ie, j, J; ; ) { + if ( + ((B = g[g.length - 1]), + this.defaultActions[B] + ? ($ = this.defaultActions[B]) + : ((P === null || typeof P > 'u') && (P = D()), ($ = b[B] && b[B][P])), + typeof $ > 'u' || !$.length || !$[0]) + ) { + var Z = ''; + J = []; + for (X in b[B]) + this.terminals_[X] && X > _ && J.push("'" + this.terminals_[X] + "'"); + M.showPosition + ? (Z = + 'Parse error on line ' + + (S + 1) + + `: +` + + M.showPosition() + + ` +Expecting ` + + J.join(', ') + + ", got '" + + (this.terminals_[P] || P) + + "'") + : (Z = + 'Parse error on line ' + + (S + 1) + + ': Unexpected ' + + (P == A ? 'end of input' : "'" + (this.terminals_[P] || P) + "'")), + this.parseError(Z, { + text: M.match, + token: this.terminals_[P] || P, + line: M.yylineno, + loc: I, + expected: J + }); + } + if ($[0] instanceof Array && $.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + B + ', token: ' + P + ); + switch ($[0]) { + case 1: + g.push(P), + v.push(M.yytext), + x.push(M.yylloc), + g.push($[1]), + (P = null), + F + ? ((P = F), (F = null)) + : ((T = M.yyleng), + (w = M.yytext), + (S = M.yylineno), + (I = M.yylloc), + E > 0 && E--); + break; + case 2: + if ( + ((ie = this.productions_[$[1]][1]), + (Q.$ = v[v.length - ie]), + (Q._$ = { + first_line: x[x.length - (ie || 1)].first_line, + last_line: x[x.length - 1].last_line, + first_column: x[x.length - (ie || 1)].first_column, + last_column: x[x.length - 1].last_column + }), + C && + (Q._$.range = [ + x[x.length - (ie || 1)].range[0], + x[x.length - 1].range[1] + ]), + (Y = this.performAction.apply(Q, [w, T, S, N.yy, $[1], v, x].concat(L))), + typeof Y < 'u') + ) + return Y; + ie && + ((g = g.slice(0, -1 * ie * 2)), + (v = v.slice(0, -1 * ie)), + (x = x.slice(0, -1 * ie))), + g.push(this.productions_[$[1]][0]), + v.push(Q.$), + x.push(Q._$), + (j = b[g[g.length - 2]][g[g.length - 1]]), + g.push(j); + break; + case 3: + return !0; + } + } + return !0; + }, 'parse') + }, + h = (function () { + var d = { + EOF: 1, + parseError: o(function (m, g) { + if (this.yy.parser) this.yy.parser.parseError(m, g); + else throw new Error(m); + }, 'parseError'), + setInput: o(function (p, m) { + return ( + (this.yy = m || this.yy || {}), + (this._input = p), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, 'setInput'), + input: o(function () { + var p = this._input[0]; + (this.yytext += p), + this.yyleng++, + this.offset++, + (this.match += p), + (this.matched += p); + var m = p.match(/(?:\r\n?|\n).*/g); + return ( + m ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + p + ); + }, 'input'), + unput: o(function (p) { + var m = p.length, + g = p.split(/(?:\r\n?|\n)/g); + (this._input = p + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - m)), + (this.offset -= m); + var y = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + g.length - 1 && (this.yylineno -= g.length - 1); + var v = this.yylloc.range; + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: g + ? (g.length === y.length ? this.yylloc.first_column : 0) + + y[y.length - g.length].length - + g[0].length + : this.yylloc.first_column - m + }), + this.options.ranges && (this.yylloc.range = [v[0], v[0] + this.yyleng - m]), + (this.yyleng = this.yytext.length), + this + ); + }, 'unput'), + more: o(function () { + return (this._more = !0), this; + }, 'more'), + reject: o(function () { + if (this.options.backtrack_lexer) this._backtrack = !0; + else + return this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + return this; + }, 'reject'), + less: o(function (p) { + this.unput(this.match.slice(p)); + }, 'less'), + pastInput: o(function () { + var p = this.matched.substr(0, this.matched.length - this.match.length); + return (p.length > 20 ? '...' : '') + p.substr(-20).replace(/\n/g, ''); + }, 'pastInput'), + upcomingInput: o(function () { + var p = this.match; + return ( + p.length < 20 && (p += this._input.substr(0, 20 - p.length)), + (p.substr(0, 20) + (p.length > 20 ? '...' : '')).replace(/\n/g, '') + ); + }, 'upcomingInput'), + showPosition: o(function () { + var p = this.pastInput(), + m = new Array(p.length + 1).join('-'); + return ( + p + + this.upcomingInput() + + ` +` + + m + + '^' + ); + }, 'showPosition'), + test_match: o(function (p, m) { + var g, y, v; + if ( + (this.options.backtrack_lexer && + ((v = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }), + this.options.ranges && (v.yylloc.range = this.yylloc.range.slice(0))), + (y = p[0].match(/(?:\r\n?|\n).*/g)), + y && (this.yylineno += y.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: y + ? y[y.length - 1].length - y[y.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + p[0].length + }), + (this.yytext += p[0]), + (this.match += p[0]), + (this.matches = p), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(p[0].length)), + (this.matched += p[0]), + (g = this.performAction.call( + this, + this.yy, + this, + m, + this.conditionStack[this.conditionStack.length - 1] + )), + this.done && this._input && (this.done = !1), + g) + ) + return g; + if (this._backtrack) { + for (var x in v) this[x] = v[x]; + return !1; + } + return !1; + }, 'test_match'), + next: o(function () { + if (this.done) return this.EOF; + this._input || (this.done = !0); + var p, m, g, y; + this._more || ((this.yytext = ''), (this.match = '')); + for (var v = this._currentRules(), x = 0; x < v.length; x++) + if ( + ((g = this._input.match(this.rules[v[x]])), + g && (!m || g[0].length > m[0].length)) + ) { + if (((m = g), (y = x), this.options.backtrack_lexer)) { + if (((p = this.test_match(g, v[x])), p !== !1)) return p; + if (this._backtrack) { + m = !1; + continue; + } else return !1; + } else if (!this.options.flex) break; + } + return m + ? ((p = this.test_match(m, v[y])), p !== !1 ? p : !1) + : this._input === '' + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, 'next'), + lex: o(function () { + var m = this.next(); + return m || this.lex(); + }, 'lex'), + begin: o(function (m) { + this.conditionStack.push(m); + }, 'begin'), + popState: o(function () { + var m = this.conditionStack.length - 1; + return m > 0 ? this.conditionStack.pop() : this.conditionStack[0]; + }, 'popState'), + _currentRules: o(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules; + }, '_currentRules'), + topState: o(function (m) { + return ( + (m = this.conditionStack.length - 1 - Math.abs(m || 0)), + m >= 0 ? this.conditionStack[m] : 'INITIAL' + ); + }, 'topState'), + pushState: o(function (m) { + this.begin(m); + }, 'pushState'), + stateStackSize: o(function () { + return this.conditionStack.length; + }, 'stateStackSize'), + options: { 'case-insensitive': !0 }, + performAction: o(function (m, g, y, v) { + var x = v; + switch (y) { + case 0: + break; + case 1: + break; + case 2: + return 10; + case 3: + break; + case 4: + break; + case 5: + return 4; + case 6: + return 11; + case 7: + return this.begin('acc_title'), 12; + break; + case 8: + return this.popState(), 'acc_title_value'; + break; + case 9: + return this.begin('acc_descr'), 14; + break; + case 10: + return this.popState(), 'acc_descr_value'; + break; + case 11: + this.begin('acc_descr_multiline'); + break; + case 12: + this.popState(); + break; + case 13: + return 'acc_descr_multiline_value'; + case 14: + return 17; + case 15: + return 18; + case 16: + return 19; + case 17: + return ':'; + case 18: + return 6; + case 19: + return 'INVALID'; + } + }, 'anonymous'), + rules: [ + /^(?:%(?!\{)[^\n]*)/i, + /^(?:[^\}]%%[^\n]*)/i, + /^(?:[\n]+)/i, + /^(?:\s+)/i, + /^(?:#[^\n]*)/i, + /^(?:journey\b)/i, + /^(?:title\s[^#\n;]+)/i, + /^(?:accTitle\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*\{\s*)/i, + /^(?:[\}])/i, + /^(?:[^\}]*)/i, + /^(?:section\s[^#:\n;]+)/i, + /^(?:[^#:\n;]+)/i, + /^(?::[^#\n;]+)/i, + /^(?::)/i, + /^(?:$)/i, + /^(?:.)/i + ], + conditions: { + acc_descr_multiline: { rules: [12, 13], inclusive: !1 }, + acc_descr: { rules: [10], inclusive: !1 }, + acc_title: { rules: [8], inclusive: !1 }, + INITIAL: { + rules: [0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 18, 19], + inclusive: !0 + } + } + }; + return d; + })(); + u.lexer = h; + function f() { + this.yy = {}; + } + return o(f, 'Parser'), (f.prototype = u), (u.Parser = f), new f(); + })(); + sP.parser = sP; + ode = sP; + }); + var Ug, + oP, + Sx, + Ax, + TUe, + kUe, + EUe, + CUe, + SUe, + AUe, + _Ue, + cde, + LUe, + lP, + ude = R(() => { + 'use strict'; + _t(); + bi(); + (Ug = ''), + (oP = []), + (Sx = []), + (Ax = []), + (TUe = o(function () { + (oP.length = 0), (Sx.length = 0), (Ug = ''), (Ax.length = 0), vr(); + }, 'clear')), + (kUe = o(function (t) { + (Ug = t), oP.push(t); + }, 'addSection')), + (EUe = o(function () { + return oP; + }, 'getSections')), + (CUe = o(function () { + let t = cde(), + e = 100, + r = 0; + for (; !t && r < e; ) (t = cde()), r++; + return Sx.push(...Ax), Sx; + }, 'getTasks')), + (SUe = o(function () { + let t = []; + return ( + Sx.forEach((r) => { + r.people && t.push(...r.people); + }), + [...new Set(t)].sort() + ); + }, 'updateActors')), + (AUe = o(function (t, e) { + let r = e.substr(1).split(':'), + n = 0, + i = []; + r.length === 1 ? ((n = Number(r[0])), (i = [])) : ((n = Number(r[0])), (i = r[1].split(','))); + let a = i.map((l) => l.trim()), + s = { section: Ug, type: Ug, people: a, task: t, score: n }; + Ax.push(s); + }, 'addTask')), + (_Ue = o(function (t) { + let e = { + section: Ug, + type: Ug, + description: t, + task: t, + classes: [] + }; + Sx.push(e); + }, 'addTaskOrg')), + (cde = o(function () { + let t = o(function (r) { + return Ax[r].processed; + }, 'compileTask'), + e = !0; + for (let [r, n] of Ax.entries()) t(r), (e = e && n.processed); + return e; + }, 'compileTasks')), + (LUe = o(function () { + return SUe(); + }, 'getActors')), + (lP = { + getConfig: o(() => de().journey, 'getConfig'), + clear: TUe, + setDiagramTitle: nn, + getDiagramTitle: Xr, + setAccTitle: kr, + getAccTitle: Ar, + setAccDescription: _r, + getAccDescription: Lr, + addSection: kUe, + getSections: EUe, + getTasks: CUe, + addTask: AUe, + addTaskOrg: _Ue, + getActors: LUe + }); + }); + var DUe, + hde, + fde = R(() => { + 'use strict'; + (DUe = o( + (t) => `.label { + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + color: ${t.textColor}; + } + .mouth { + stroke: #666; + } + + line { + stroke: ${t.textColor} + } + + .legend { + fill: ${t.textColor}; + } + + .label text { + fill: #333; + } + .label { + color: ${t.textColor} + } + + .face { + ${t.faceColor ? `fill: ${t.faceColor}` : 'fill: #FFF8DC'}; + stroke: #999; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${t.arrowheadColor}; + } + + .edgePath .path { + stroke: ${t.lineColor}; + stroke-width: 1.5px; + } + + .flowchart-link { + stroke: ${t.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${t.edgeLabelBackground}; + rect { + opacity: 0.5; + } + text-align: center; + } + + .cluster rect { + } + + .cluster text { + fill: ${t.titleColor}; + } + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + font-size: 12px; + background: ${t.tertiaryColor}; + border: 1px solid ${t.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .task-type-0, .section-type-0 { + ${t.fillType0 ? `fill: ${t.fillType0}` : ''}; + } + .task-type-1, .section-type-1 { + ${t.fillType0 ? `fill: ${t.fillType1}` : ''}; + } + .task-type-2, .section-type-2 { + ${t.fillType0 ? `fill: ${t.fillType2}` : ''}; + } + .task-type-3, .section-type-3 { + ${t.fillType0 ? `fill: ${t.fillType3}` : ''}; + } + .task-type-4, .section-type-4 { + ${t.fillType0 ? `fill: ${t.fillType4}` : ''}; + } + .task-type-5, .section-type-5 { + ${t.fillType0 ? `fill: ${t.fillType5}` : ''}; + } + .task-type-6, .section-type-6 { + ${t.fillType0 ? `fill: ${t.fillType6}` : ''}; + } + .task-type-7, .section-type-7 { + ${t.fillType0 ? `fill: ${t.fillType7}` : ''}; + } + + .actor-0 { + ${t.actor0 ? `fill: ${t.actor0}` : ''}; + } + .actor-1 { + ${t.actor1 ? `fill: ${t.actor1}` : ''}; + } + .actor-2 { + ${t.actor2 ? `fill: ${t.actor2}` : ''}; + } + .actor-3 { + ${t.actor3 ? `fill: ${t.actor3}` : ''}; + } + .actor-4 { + ${t.actor4 ? `fill: ${t.actor4}` : ''}; + } + .actor-5 { + ${t.actor5 ? `fill: ${t.actor5}` : ''}; + } +`, + 'getStyles' + )), + (hde = DUe); + }); + var cP, + RUe, + pde, + mde, + NUe, + MUe, + dde, + IUe, + OUe, + gde, + PUe, + Hg, + yde = R(() => { + 'use strict'; + Zt(); + Qy(); + (cP = o(function (t, e) { + return yd(t, e); + }, 'drawRect')), + (RUe = o(function (t, e) { + let n = t + .append('circle') + .attr('cx', e.cx) + .attr('cy', e.cy) + .attr('class', 'face') + .attr('r', 15) + .attr('stroke-width', 2) + .attr('overflow', 'visible'), + i = t.append('g'); + i + .append('circle') + .attr('cx', e.cx - 15 / 3) + .attr('cy', e.cy - 15 / 3) + .attr('r', 1.5) + .attr('stroke-width', 2) + .attr('fill', '#666') + .attr('stroke', '#666'), + i + .append('circle') + .attr('cx', e.cx + 15 / 3) + .attr('cy', e.cy - 15 / 3) + .attr('r', 1.5) + .attr('stroke-width', 2) + .attr('fill', '#666') + .attr('stroke', '#666'); + function a(u) { + let h = bl() + .startAngle(Math.PI / 2) + .endAngle(3 * (Math.PI / 2)) + .innerRadius(7.5) + .outerRadius(6.8181818181818175); + u.append('path') + .attr('class', 'mouth') + .attr('d', h) + .attr('transform', 'translate(' + e.cx + ',' + (e.cy + 2) + ')'); + } + o(a, 'smile'); + function s(u) { + let h = bl() + .startAngle((3 * Math.PI) / 2) + .endAngle(5 * (Math.PI / 2)) + .innerRadius(7.5) + .outerRadius(6.8181818181818175); + u.append('path') + .attr('class', 'mouth') + .attr('d', h) + .attr('transform', 'translate(' + e.cx + ',' + (e.cy + 7) + ')'); + } + o(s, 'sad'); + function l(u) { + u.append('line') + .attr('class', 'mouth') + .attr('stroke', 2) + .attr('x1', e.cx - 5) + .attr('y1', e.cy + 7) + .attr('x2', e.cx + 5) + .attr('y2', e.cy + 7) + .attr('class', 'mouth') + .attr('stroke-width', '1px') + .attr('stroke', '#666'); + } + return o(l, 'ambivalent'), e.score > 3 ? a(i) : e.score < 3 ? s(i) : l(i), n; + }, 'drawFace')), + (pde = o(function (t, e) { + let r = t.append('circle'); + return ( + r.attr('cx', e.cx), + r.attr('cy', e.cy), + r.attr('class', 'actor-' + e.pos), + r.attr('fill', e.fill), + r.attr('stroke', e.stroke), + r.attr('r', e.r), + r.class !== void 0 && r.attr('class', r.class), + e.title !== void 0 && r.append('title').text(e.title), + r + ); + }, 'drawCircle')), + (mde = o(function (t, e) { + return TW(t, e); + }, 'drawText')), + (NUe = o(function (t, e) { + function r(i, a, s, l, u) { + return ( + i + + ',' + + a + + ' ' + + (i + s) + + ',' + + a + + ' ' + + (i + s) + + ',' + + (a + l - u) + + ' ' + + (i + s - u * 1.2) + + ',' + + (a + l) + + ' ' + + i + + ',' + + (a + l) + ); + } + o(r, 'genPoints'); + let n = t.append('polygon'); + n.attr('points', r(e.x, e.y, 50, 20, 7)), + n.attr('class', 'labelBox'), + (e.y = e.y + e.labelMargin), + (e.x = e.x + 0.5 * e.labelMargin), + mde(t, e); + }, 'drawLabel')), + (MUe = o(function (t, e, r) { + let n = t.append('g'), + i = wl(); + (i.x = e.x), + (i.y = e.y), + (i.fill = e.fill), + (i.width = r.width * e.taskCount + r.diagramMarginX * (e.taskCount - 1)), + (i.height = r.height), + (i.class = 'journey-section section-type-' + e.num), + (i.rx = 3), + (i.ry = 3), + cP(n, i), + gde(r)( + e.text, + n, + i.x, + i.y, + i.width, + i.height, + { class: 'journey-section section-type-' + e.num }, + r, + e.colour + ); + }, 'drawSection')), + (dde = -1), + (IUe = o(function (t, e, r) { + let n = e.x + r.width / 2, + i = t.append('g'); + dde++; + let a = 300 + 5 * 30; + i + .append('line') + .attr('id', 'task' + dde) + .attr('x1', n) + .attr('y1', e.y) + .attr('x2', n) + .attr('y2', a) + .attr('class', 'task-line') + .attr('stroke-width', '1px') + .attr('stroke-dasharray', '4 2') + .attr('stroke', '#666'), + RUe(i, { cx: n, cy: 300 + (5 - e.score) * 30, score: e.score }); + let s = wl(); + (s.x = e.x), + (s.y = e.y), + (s.fill = e.fill), + (s.width = r.width), + (s.height = r.height), + (s.class = 'task task-type-' + e.num), + (s.rx = 3), + (s.ry = 3), + cP(i, s); + let l = e.x + 14; + e.people.forEach((u) => { + let h = e.actors[u].color, + f = { + cx: l, + cy: e.y, + r: 7, + fill: h, + stroke: '#000', + title: u, + pos: e.actors[u].position + }; + pde(i, f), (l += 10); + }), + gde(r)(e.task, i, s.x, s.y, s.width, s.height, { class: 'task' }, r, e.colour); + }, 'drawTask')), + (OUe = o(function (t, e) { + j3(t, e); + }, 'drawBackgroundRect')), + (gde = (function () { + function t(i, a, s, l, u, h, f, d) { + let p = a + .append('text') + .attr('x', s + u / 2) + .attr('y', l + h / 2 + 5) + .style('font-color', d) + .style('text-anchor', 'middle') + .text(i); + n(p, f); + } + o(t, 'byText'); + function e(i, a, s, l, u, h, f, d, p) { + let { taskFontSize: m, taskFontFamily: g } = d, + y = i.split(//gi); + for (let v = 0; v < y.length; v++) { + let x = v * m - (m * (y.length - 1)) / 2, + b = a + .append('text') + .attr('x', s + u / 2) + .attr('y', l) + .attr('fill', p) + .style('text-anchor', 'middle') + .style('font-size', m) + .style('font-family', g); + b + .append('tspan') + .attr('x', s + u / 2) + .attr('dy', x) + .text(y[v]), + b + .attr('y', l + h / 2) + .attr('dominant-baseline', 'central') + .attr('alignment-baseline', 'central'), + n(b, f); + } + } + o(e, 'byTspan'); + function r(i, a, s, l, u, h, f, d) { + let p = a.append('switch'), + g = p + .append('foreignObject') + .attr('x', s) + .attr('y', l) + .attr('width', u) + .attr('height', h) + .attr('position', 'fixed') + .append('xhtml:div') + .style('display', 'table') + .style('height', '100%') + .style('width', '100%'); + g + .append('div') + .attr('class', 'label') + .style('display', 'table-cell') + .style('text-align', 'center') + .style('vertical-align', 'middle') + .text(i), + e(i, p, s, l, u, h, f, d), + n(g, f); + } + o(r, 'byFo'); + function n(i, a) { + for (let s in a) s in a && i.attr(s, a[s]); + } + return ( + o(n, '_setTextAttrs'), + function (i) { + return i.textPlacement === 'fo' ? r : i.textPlacement === 'old' ? t : e; + } + ); + })()), + (PUe = o(function (t) { + t.append('defs') + .append('marker') + .attr('id', 'arrowhead') + .attr('refX', 5) + .attr('refY', 2) + .attr('markerWidth', 6) + .attr('markerHeight', 4) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 0,0 V 4 L6,2 Z'); + }, 'initGraphics')), + (Hg = { + drawRect: cP, + drawCircle: pde, + drawSection: MUe, + drawText: mde, + drawLabel: NUe, + drawTask: IUe, + drawBackgroundRect: OUe, + initGraphics: PUe + }); + }); + function FUe(t) { + let e = de().journey, + r = 60; + Object.keys(Xu).forEach((n) => { + let i = Xu[n].color, + a = { + cx: 20, + cy: r, + r: 7, + fill: i, + stroke: '#000', + pos: Xu[n].position + }; + Hg.drawCircle(t, a); + let s = { + x: 40, + y: r + 7, + fill: '#666', + text: n, + textMargin: e.boxTextMargin | 5 + }; + Hg.drawText(t, s), (r += 20); + }); + } + var BUe, + Xu, + JE, + I0, + zUe, + Zo, + uP, + vde, + GUe, + hP, + xde = R(() => { + 'use strict'; + Zt(); + yde(); + _t(); + Yn(); + (BUe = o(function (t) { + Object.keys(t).forEach(function (r) { + JE[r] = t[r]; + }); + }, 'setConf')), + (Xu = {}); + o(FUe, 'drawActorLegend'); + (JE = de().journey), + (I0 = JE.leftMargin), + (zUe = o(function (t, e, r, n) { + let i = de().journey, + a = de().securityLevel, + s; + a === 'sandbox' && (s = $e('#i' + e)); + let l = a === 'sandbox' ? $e(s.nodes()[0].contentDocument.body) : $e('body'); + Zo.init(); + let u = l.select('#' + e); + Hg.initGraphics(u); + let h = n.db.getTasks(), + f = n.db.getDiagramTitle(), + d = n.db.getActors(); + for (let x in Xu) delete Xu[x]; + let p = 0; + d.forEach((x) => { + (Xu[x] = { + color: i.actorColours[p % i.actorColours.length], + position: p + }), + p++; + }), + FUe(u), + Zo.insert(0, 0, I0, Object.keys(Xu).length * 50), + GUe(u, h, 0); + let m = Zo.getBounds(); + f && + u + .append('text') + .text(f) + .attr('x', I0) + .attr('font-size', '4ex') + .attr('font-weight', 'bold') + .attr('y', 25); + let g = m.stopy - m.starty + 2 * i.diagramMarginY, + y = I0 + m.stopx + 2 * i.diagramMarginX; + Sr(u, g, y, i.useMaxWidth), + u + .append('line') + .attr('x1', I0) + .attr('y1', i.height * 4) + .attr('x2', y - I0 - 4) + .attr('y2', i.height * 4) + .attr('stroke-width', 4) + .attr('stroke', 'black') + .attr('marker-end', 'url(#arrowhead)'); + let v = f ? 70 : 0; + u.attr('viewBox', `${m.startx} -25 ${y} ${g + v}`), + u.attr('preserveAspectRatio', 'xMinYMin meet'), + u.attr('height', g + v + 25); + }, 'draw')), + (Zo = { + data: { + startx: void 0, + stopx: void 0, + starty: void 0, + stopy: void 0 + }, + verticalPos: 0, + sequenceItems: [], + init: o(function () { + (this.sequenceItems = []), + (this.data = { + startx: void 0, + stopx: void 0, + starty: void 0, + stopy: void 0 + }), + (this.verticalPos = 0); + }, 'init'), + updateVal: o(function (t, e, r, n) { + t[e] === void 0 ? (t[e] = r) : (t[e] = n(r, t[e])); + }, 'updateVal'), + updateBounds: o(function (t, e, r, n) { + let i = de().journey, + a = this, + s = 0; + function l(u) { + return o(function (f) { + s++; + let d = a.sequenceItems.length - s + 1; + a.updateVal(f, 'starty', e - d * i.boxMargin, Math.min), + a.updateVal(f, 'stopy', n + d * i.boxMargin, Math.max), + a.updateVal(Zo.data, 'startx', t - d * i.boxMargin, Math.min), + a.updateVal(Zo.data, 'stopx', r + d * i.boxMargin, Math.max), + u !== 'activation' && + (a.updateVal(f, 'startx', t - d * i.boxMargin, Math.min), + a.updateVal(f, 'stopx', r + d * i.boxMargin, Math.max), + a.updateVal(Zo.data, 'starty', e - d * i.boxMargin, Math.min), + a.updateVal(Zo.data, 'stopy', n + d * i.boxMargin, Math.max)); + }, 'updateItemBounds'); + } + o(l, 'updateFn'), this.sequenceItems.forEach(l()); + }, 'updateBounds'), + insert: o(function (t, e, r, n) { + let i = Math.min(t, r), + a = Math.max(t, r), + s = Math.min(e, n), + l = Math.max(e, n); + this.updateVal(Zo.data, 'startx', i, Math.min), + this.updateVal(Zo.data, 'starty', s, Math.min), + this.updateVal(Zo.data, 'stopx', a, Math.max), + this.updateVal(Zo.data, 'stopy', l, Math.max), + this.updateBounds(i, s, a, l); + }, 'insert'), + bumpVerticalPos: o(function (t) { + (this.verticalPos = this.verticalPos + t), (this.data.stopy = this.verticalPos); + }, 'bumpVerticalPos'), + getVerticalPos: o(function () { + return this.verticalPos; + }, 'getVerticalPos'), + getBounds: o(function () { + return this.data; + }, 'getBounds') + }), + (uP = JE.sectionFills), + (vde = JE.sectionColours), + (GUe = o(function (t, e, r) { + let n = de().journey, + i = '', + a = n.height * 2 + n.diagramMarginY, + s = r + a, + l = 0, + u = '#CCC', + h = 'black', + f = 0; + for (let [d, p] of e.entries()) { + if (i !== p.section) { + (u = uP[l % uP.length]), (f = l % uP.length), (h = vde[l % vde.length]); + let g = 0, + y = p.section; + for (let x = d; x < e.length && e[x].section == y; x++) g = g + 1; + let v = { + x: d * n.taskMargin + d * n.width + I0, + y: 50, + text: p.section, + fill: u, + num: f, + colour: h, + taskCount: g + }; + Hg.drawSection(t, v, n), (i = p.section), l++; + } + let m = p.people.reduce((g, y) => (Xu[y] && (g[y] = Xu[y]), g), {}); + (p.x = d * n.taskMargin + d * n.width + I0), + (p.y = s), + (p.width = n.diagramMarginX), + (p.height = n.diagramMarginY), + (p.colour = h), + (p.fill = u), + (p.num = f), + (p.actors = m), + Hg.drawTask(t, p, n), + Zo.insert(p.x, p.y, p.x + p.width + n.taskMargin, 300 + 5 * 30); + } + }, 'drawTasks')), + (hP = { setConf: BUe, draw: zUe }); + }); + var bde = {}; + hr(bde, { diagram: () => $Ue }); + var $Ue, + wde = R(() => { + 'use strict'; + lde(); + ude(); + fde(); + xde(); + $Ue = { + parser: ode, + db: lP, + renderer: hP, + styles: hde, + init: o((t) => { + hP.setConf(t.journey), lP.clear(); + }, 'init') + }; + }); + var dP, + _de, + Lde = R(() => { + 'use strict'; + dP = (function () { + var t = o(function (p, m, g, y) { + for (g = g || {}, y = p.length; y--; g[p[y]] = m); + return g; + }, 'o'), + e = [6, 8, 10, 11, 12, 14, 16, 17, 20, 21], + r = [1, 9], + n = [1, 10], + i = [1, 11], + a = [1, 12], + s = [1, 13], + l = [1, 16], + u = [1, 17], + h = { + trace: o(function () {}, 'trace'), + yy: {}, + symbols_: { + error: 2, + start: 3, + timeline: 4, + document: 5, + EOF: 6, + line: 7, + SPACE: 8, + statement: 9, + NEWLINE: 10, + title: 11, + acc_title: 12, + acc_title_value: 13, + acc_descr: 14, + acc_descr_value: 15, + acc_descr_multiline_value: 16, + section: 17, + period_statement: 18, + event_statement: 19, + period: 20, + event: 21, + $accept: 0, + $end: 1 + }, + terminals_: { + 2: 'error', + 4: 'timeline', + 6: 'EOF', + 8: 'SPACE', + 10: 'NEWLINE', + 11: 'title', + 12: 'acc_title', + 13: 'acc_title_value', + 14: 'acc_descr', + 15: 'acc_descr_value', + 16: 'acc_descr_multiline_value', + 17: 'section', + 20: 'period', + 21: 'event' + }, + productions_: [ + 0, + [3, 3], + [5, 0], + [5, 2], + [7, 2], + [7, 1], + [7, 1], + [7, 1], + [9, 1], + [9, 2], + [9, 2], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [18, 1], + [19, 1] + ], + performAction: o(function (m, g, y, v, x, b, w) { + var S = b.length - 1; + switch (x) { + case 1: + return b[S - 1]; + case 2: + this.$ = []; + break; + case 3: + b[S - 1].push(b[S]), (this.$ = b[S - 1]); + break; + case 4: + case 5: + this.$ = b[S]; + break; + case 6: + case 7: + this.$ = []; + break; + case 8: + v.getCommonDb().setDiagramTitle(b[S].substr(6)), (this.$ = b[S].substr(6)); + break; + case 9: + (this.$ = b[S].trim()), v.getCommonDb().setAccTitle(this.$); + break; + case 10: + case 11: + (this.$ = b[S].trim()), v.getCommonDb().setAccDescription(this.$); + break; + case 12: + v.addSection(b[S].substr(8)), (this.$ = b[S].substr(8)); + break; + case 15: + v.addTask(b[S], 0, ''), (this.$ = b[S]); + break; + case 16: + v.addEvent(b[S].substr(2)), (this.$ = b[S]); + break; + } + }, 'anonymous'), + table: [ + { 3: 1, 4: [1, 2] }, + { 1: [3] }, + t(e, [2, 2], { 5: 3 }), + { + 6: [1, 4], + 7: 5, + 8: [1, 6], + 9: 7, + 10: [1, 8], + 11: r, + 12: n, + 14: i, + 16: a, + 17: s, + 18: 14, + 19: 15, + 20: l, + 21: u + }, + t(e, [2, 7], { 1: [2, 1] }), + t(e, [2, 3]), + { + 9: 18, + 11: r, + 12: n, + 14: i, + 16: a, + 17: s, + 18: 14, + 19: 15, + 20: l, + 21: u + }, + t(e, [2, 5]), + t(e, [2, 6]), + t(e, [2, 8]), + { 13: [1, 19] }, + { 15: [1, 20] }, + t(e, [2, 11]), + t(e, [2, 12]), + t(e, [2, 13]), + t(e, [2, 14]), + t(e, [2, 15]), + t(e, [2, 16]), + t(e, [2, 4]), + t(e, [2, 9]), + t(e, [2, 10]) + ], + defaultActions: {}, + parseError: o(function (m, g) { + if (g.recoverable) this.trace(m); + else { + var y = new Error(m); + throw ((y.hash = g), y); + } + }, 'parseError'), + parse: o(function (m) { + var g = this, + y = [0], + v = [], + x = [null], + b = [], + w = this.table, + S = '', + T = 0, + E = 0, + _ = 0, + A = 2, + L = 1, + M = b.slice.call(arguments, 1), + N = Object.create(this.lexer), + k = { yy: {} }; + for (var I in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, I) && (k.yy[I] = this.yy[I]); + N.setInput(m, k.yy), + (k.yy.lexer = N), + (k.yy.parser = this), + typeof N.yylloc > 'u' && (N.yylloc = {}); + var C = N.yylloc; + b.push(C); + var O = N.options && N.options.ranges; + typeof k.yy.parseError == 'function' + ? (this.parseError = k.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError); + function D(q) { + (y.length = y.length - 2 * q), (x.length = x.length - q), (b.length = b.length - q); + } + o(D, 'popStack'); + function P() { + var q; + return ( + (q = v.pop() || N.lex() || L), + typeof q != 'number' && + (q instanceof Array && ((v = q), (q = v.pop())), (q = g.symbols_[q] || q)), + q + ); + } + o(P, 'lex'); + for (var F, B, $, z, Y, Q, X = {}, ie, j, J, Z; ; ) { + if ( + (($ = y[y.length - 1]), + this.defaultActions[$] + ? (z = this.defaultActions[$]) + : ((F === null || typeof F > 'u') && (F = P()), (z = w[$] && w[$][F])), + typeof z > 'u' || !z.length || !z[0]) + ) { + var H = ''; + Z = []; + for (ie in w[$]) + this.terminals_[ie] && ie > A && Z.push("'" + this.terminals_[ie] + "'"); + N.showPosition + ? (H = + 'Parse error on line ' + + (T + 1) + + `: +` + + N.showPosition() + + ` +Expecting ` + + Z.join(', ') + + ", got '" + + (this.terminals_[F] || F) + + "'") + : (H = + 'Parse error on line ' + + (T + 1) + + ': Unexpected ' + + (F == L ? 'end of input' : "'" + (this.terminals_[F] || F) + "'")), + this.parseError(H, { + text: N.match, + token: this.terminals_[F] || F, + line: N.yylineno, + loc: C, + expected: Z + }); + } + if (z[0] instanceof Array && z.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + $ + ', token: ' + F + ); + switch (z[0]) { + case 1: + y.push(F), + x.push(N.yytext), + b.push(N.yylloc), + y.push(z[1]), + (F = null), + B + ? ((F = B), (B = null)) + : ((E = N.yyleng), + (S = N.yytext), + (T = N.yylineno), + (C = N.yylloc), + _ > 0 && _--); + break; + case 2: + if ( + ((j = this.productions_[z[1]][1]), + (X.$ = x[x.length - j]), + (X._$ = { + first_line: b[b.length - (j || 1)].first_line, + last_line: b[b.length - 1].last_line, + first_column: b[b.length - (j || 1)].first_column, + last_column: b[b.length - 1].last_column + }), + O && + (X._$.range = [ + b[b.length - (j || 1)].range[0], + b[b.length - 1].range[1] + ]), + (Q = this.performAction.apply(X, [S, E, T, k.yy, z[1], x, b].concat(M))), + typeof Q < 'u') + ) + return Q; + j && + ((y = y.slice(0, -1 * j * 2)), + (x = x.slice(0, -1 * j)), + (b = b.slice(0, -1 * j))), + y.push(this.productions_[z[1]][0]), + x.push(X.$), + b.push(X._$), + (J = w[y[y.length - 2]][y[y.length - 1]]), + y.push(J); + break; + case 3: + return !0; + } + } + return !0; + }, 'parse') + }, + f = (function () { + var p = { + EOF: 1, + parseError: o(function (g, y) { + if (this.yy.parser) this.yy.parser.parseError(g, y); + else throw new Error(g); + }, 'parseError'), + setInput: o(function (m, g) { + return ( + (this.yy = g || this.yy || {}), + (this._input = m), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, 'setInput'), + input: o(function () { + var m = this._input[0]; + (this.yytext += m), + this.yyleng++, + this.offset++, + (this.match += m), + (this.matched += m); + var g = m.match(/(?:\r\n?|\n).*/g); + return ( + g ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + m + ); + }, 'input'), + unput: o(function (m) { + var g = m.length, + y = m.split(/(?:\r\n?|\n)/g); + (this._input = m + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - g)), + (this.offset -= g); + var v = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + y.length - 1 && (this.yylineno -= y.length - 1); + var x = this.yylloc.range; + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: y + ? (y.length === v.length ? this.yylloc.first_column : 0) + + v[v.length - y.length].length - + y[0].length + : this.yylloc.first_column - g + }), + this.options.ranges && (this.yylloc.range = [x[0], x[0] + this.yyleng - g]), + (this.yyleng = this.yytext.length), + this + ); + }, 'unput'), + more: o(function () { + return (this._more = !0), this; + }, 'more'), + reject: o(function () { + if (this.options.backtrack_lexer) this._backtrack = !0; + else + return this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + return this; + }, 'reject'), + less: o(function (m) { + this.unput(this.match.slice(m)); + }, 'less'), + pastInput: o(function () { + var m = this.matched.substr(0, this.matched.length - this.match.length); + return (m.length > 20 ? '...' : '') + m.substr(-20).replace(/\n/g, ''); + }, 'pastInput'), + upcomingInput: o(function () { + var m = this.match; + return ( + m.length < 20 && (m += this._input.substr(0, 20 - m.length)), + (m.substr(0, 20) + (m.length > 20 ? '...' : '')).replace(/\n/g, '') + ); + }, 'upcomingInput'), + showPosition: o(function () { + var m = this.pastInput(), + g = new Array(m.length + 1).join('-'); + return ( + m + + this.upcomingInput() + + ` +` + + g + + '^' + ); + }, 'showPosition'), + test_match: o(function (m, g) { + var y, v, x; + if ( + (this.options.backtrack_lexer && + ((x = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }), + this.options.ranges && (x.yylloc.range = this.yylloc.range.slice(0))), + (v = m[0].match(/(?:\r\n?|\n).*/g)), + v && (this.yylineno += v.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: v + ? v[v.length - 1].length - v[v.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + m[0].length + }), + (this.yytext += m[0]), + (this.match += m[0]), + (this.matches = m), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(m[0].length)), + (this.matched += m[0]), + (y = this.performAction.call( + this, + this.yy, + this, + g, + this.conditionStack[this.conditionStack.length - 1] + )), + this.done && this._input && (this.done = !1), + y) + ) + return y; + if (this._backtrack) { + for (var b in x) this[b] = x[b]; + return !1; + } + return !1; + }, 'test_match'), + next: o(function () { + if (this.done) return this.EOF; + this._input || (this.done = !0); + var m, g, y, v; + this._more || ((this.yytext = ''), (this.match = '')); + for (var x = this._currentRules(), b = 0; b < x.length; b++) + if ( + ((y = this._input.match(this.rules[x[b]])), + y && (!g || y[0].length > g[0].length)) + ) { + if (((g = y), (v = b), this.options.backtrack_lexer)) { + if (((m = this.test_match(y, x[b])), m !== !1)) return m; + if (this._backtrack) { + g = !1; + continue; + } else return !1; + } else if (!this.options.flex) break; + } + return g + ? ((m = this.test_match(g, x[v])), m !== !1 ? m : !1) + : this._input === '' + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, 'next'), + lex: o(function () { + var g = this.next(); + return g || this.lex(); + }, 'lex'), + begin: o(function (g) { + this.conditionStack.push(g); + }, 'begin'), + popState: o(function () { + var g = this.conditionStack.length - 1; + return g > 0 ? this.conditionStack.pop() : this.conditionStack[0]; + }, 'popState'), + _currentRules: o(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules; + }, '_currentRules'), + topState: o(function (g) { + return ( + (g = this.conditionStack.length - 1 - Math.abs(g || 0)), + g >= 0 ? this.conditionStack[g] : 'INITIAL' + ); + }, 'topState'), + pushState: o(function (g) { + this.begin(g); + }, 'pushState'), + stateStackSize: o(function () { + return this.conditionStack.length; + }, 'stateStackSize'), + options: { 'case-insensitive': !0 }, + performAction: o(function (g, y, v, x) { + var b = x; + switch (v) { + case 0: + break; + case 1: + break; + case 2: + return 10; + case 3: + break; + case 4: + break; + case 5: + return 4; + case 6: + return 11; + case 7: + return this.begin('acc_title'), 12; + break; + case 8: + return this.popState(), 'acc_title_value'; + break; + case 9: + return this.begin('acc_descr'), 14; + break; + case 10: + return this.popState(), 'acc_descr_value'; + break; + case 11: + this.begin('acc_descr_multiline'); + break; + case 12: + this.popState(); + break; + case 13: + return 'acc_descr_multiline_value'; + case 14: + return 17; + case 15: + return 21; + case 16: + return 20; + case 17: + return 6; + case 18: + return 'INVALID'; + } + }, 'anonymous'), + rules: [ + /^(?:%(?!\{)[^\n]*)/i, + /^(?:[^\}]%%[^\n]*)/i, + /^(?:[\n]+)/i, + /^(?:\s+)/i, + /^(?:#[^\n]*)/i, + /^(?:timeline\b)/i, + /^(?:title\s[^\n]+)/i, + /^(?:accTitle\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*\{\s*)/i, + /^(?:[\}])/i, + /^(?:[^\}]*)/i, + /^(?:section\s[^:\n]+)/i, + /^(?::\s[^:\n]+)/i, + /^(?:[^#:\n]+)/i, + /^(?:$)/i, + /^(?:.)/i + ], + conditions: { + acc_descr_multiline: { rules: [12, 13], inclusive: !1 }, + acc_descr: { rules: [10], inclusive: !1 }, + acc_title: { rules: [8], inclusive: !1 }, + INITIAL: { + rules: [0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 18], + inclusive: !0 + } + } + }; + return p; + })(); + h.lexer = f; + function d() { + this.yy = {}; + } + return o(d, 'Parser'), (d.prototype = h), (h.Parser = d), new d(); + })(); + dP.parser = dP; + _de = dP; + }); + var mP = {}; + hr(mP, { + addEvent: () => Fde, + addSection: () => Ide, + addTask: () => Bde, + addTaskOrg: () => zde, + clear: () => Mde, + default: () => KUe, + getCommonDb: () => Nde, + getSections: () => Ode, + getTasks: () => Pde + }); + var Yg, + Rde, + pP, + e6, + Wg, + Nde, + Mde, + Ide, + Ode, + Pde, + Bde, + Fde, + zde, + Dde, + KUe, + Gde = R(() => { + 'use strict'; + bi(); + (Yg = ''), + (Rde = 0), + (pP = []), + (e6 = []), + (Wg = []), + (Nde = o(() => ly, 'getCommonDb')), + (Mde = o(function () { + (pP.length = 0), (e6.length = 0), (Yg = ''), (Wg.length = 0), vr(); + }, 'clear')), + (Ide = o(function (t) { + (Yg = t), pP.push(t); + }, 'addSection')), + (Ode = o(function () { + return pP; + }, 'getSections')), + (Pde = o(function () { + let t = Dde(), + e = 100, + r = 0; + for (; !t && r < e; ) (t = Dde()), r++; + return e6.push(...Wg), e6; + }, 'getTasks')), + (Bde = o(function (t, e, r) { + let n = { + id: Rde++, + section: Yg, + type: Yg, + task: t, + score: e || 0, + events: r ? [r] : [] + }; + Wg.push(n); + }, 'addTask')), + (Fde = o(function (t) { + Wg.find((r) => r.id === Rde - 1).events.push(t); + }, 'addEvent')), + (zde = o(function (t) { + let e = { + section: Yg, + type: Yg, + description: t, + task: t, + classes: [] + }; + e6.push(e); + }, 'addTaskOrg')), + (Dde = o(function () { + let t = o(function (r) { + return Wg[r].processed; + }, 'compileTask'), + e = !0; + for (let [r, n] of Wg.entries()) t(r), (e = e && n.processed); + return e; + }, 'compileTasks')), + (KUe = { + clear: Mde, + getCommonDb: Nde, + addSection: Ide, + getSections: Ode, + getTasks: Pde, + addTask: Bde, + addTaskOrg: zde, + addEvent: Fde + }); + }); + function Hde(t, e) { + t.each(function () { + var r = $e(this), + n = r + .text() + .split(/(\s+|
    )/) + .reverse(), + i, + a = [], + s = 1.1, + l = r.attr('y'), + u = parseFloat(r.attr('dy')), + h = r + .text(null) + .append('tspan') + .attr('x', 0) + .attr('y', l) + .attr('dy', u + 'em'); + for (let f = 0; f < n.length; f++) + (i = n[n.length - 1 - f]), + a.push(i), + h.text(a.join(' ').trim()), + (h.node().getComputedTextLength() > e || i === '
    ') && + (a.pop(), + h.text(a.join(' ').trim()), + i === '
    ' ? (a = ['']) : (a = [i]), + (h = r + .append('tspan') + .attr('x', 0) + .attr('y', l) + .attr('dy', s + 'em') + .text(i))); + }); + } + var QUe, + t6, + ZUe, + JUe, + Vde, + eHe, + tHe, + $de, + rHe, + nHe, + iHe, + gP, + Ude, + aHe, + sHe, + oHe, + lHe, + xf, + Yde = R(() => { + 'use strict'; + Zt(); + (QUe = 12), + (t6 = o(function (t, e) { + let r = t.append('rect'); + return ( + r.attr('x', e.x), + r.attr('y', e.y), + r.attr('fill', e.fill), + r.attr('stroke', e.stroke), + r.attr('width', e.width), + r.attr('height', e.height), + r.attr('rx', e.rx), + r.attr('ry', e.ry), + e.class !== void 0 && r.attr('class', e.class), + r + ); + }, 'drawRect')), + (ZUe = o(function (t, e) { + let n = t + .append('circle') + .attr('cx', e.cx) + .attr('cy', e.cy) + .attr('class', 'face') + .attr('r', 15) + .attr('stroke-width', 2) + .attr('overflow', 'visible'), + i = t.append('g'); + i + .append('circle') + .attr('cx', e.cx - 15 / 3) + .attr('cy', e.cy - 15 / 3) + .attr('r', 1.5) + .attr('stroke-width', 2) + .attr('fill', '#666') + .attr('stroke', '#666'), + i + .append('circle') + .attr('cx', e.cx + 15 / 3) + .attr('cy', e.cy - 15 / 3) + .attr('r', 1.5) + .attr('stroke-width', 2) + .attr('fill', '#666') + .attr('stroke', '#666'); + function a(u) { + let h = bl() + .startAngle(Math.PI / 2) + .endAngle(3 * (Math.PI / 2)) + .innerRadius(7.5) + .outerRadius(6.8181818181818175); + u.append('path') + .attr('class', 'mouth') + .attr('d', h) + .attr('transform', 'translate(' + e.cx + ',' + (e.cy + 2) + ')'); + } + o(a, 'smile'); + function s(u) { + let h = bl() + .startAngle((3 * Math.PI) / 2) + .endAngle(5 * (Math.PI / 2)) + .innerRadius(7.5) + .outerRadius(6.8181818181818175); + u.append('path') + .attr('class', 'mouth') + .attr('d', h) + .attr('transform', 'translate(' + e.cx + ',' + (e.cy + 7) + ')'); + } + o(s, 'sad'); + function l(u) { + u.append('line') + .attr('class', 'mouth') + .attr('stroke', 2) + .attr('x1', e.cx - 5) + .attr('y1', e.cy + 7) + .attr('x2', e.cx + 5) + .attr('y2', e.cy + 7) + .attr('class', 'mouth') + .attr('stroke-width', '1px') + .attr('stroke', '#666'); + } + return o(l, 'ambivalent'), e.score > 3 ? a(i) : e.score < 3 ? s(i) : l(i), n; + }, 'drawFace')), + (JUe = o(function (t, e) { + let r = t.append('circle'); + return ( + r.attr('cx', e.cx), + r.attr('cy', e.cy), + r.attr('class', 'actor-' + e.pos), + r.attr('fill', e.fill), + r.attr('stroke', e.stroke), + r.attr('r', e.r), + r.class !== void 0 && r.attr('class', r.class), + e.title !== void 0 && r.append('title').text(e.title), + r + ); + }, 'drawCircle')), + (Vde = o(function (t, e) { + let r = e.text.replace(//gi, ' '), + n = t.append('text'); + n.attr('x', e.x), + n.attr('y', e.y), + n.attr('class', 'legend'), + n.style('text-anchor', e.anchor), + e.class !== void 0 && n.attr('class', e.class); + let i = n.append('tspan'); + return i.attr('x', e.x + e.textMargin * 2), i.text(r), n; + }, 'drawText')), + (eHe = o(function (t, e) { + function r(i, a, s, l, u) { + return ( + i + + ',' + + a + + ' ' + + (i + s) + + ',' + + a + + ' ' + + (i + s) + + ',' + + (a + l - u) + + ' ' + + (i + s - u * 1.2) + + ',' + + (a + l) + + ' ' + + i + + ',' + + (a + l) + ); + } + o(r, 'genPoints'); + let n = t.append('polygon'); + n.attr('points', r(e.x, e.y, 50, 20, 7)), + n.attr('class', 'labelBox'), + (e.y = e.y + e.labelMargin), + (e.x = e.x + 0.5 * e.labelMargin), + Vde(t, e); + }, 'drawLabel')), + (tHe = o(function (t, e, r) { + let n = t.append('g'), + i = gP(); + (i.x = e.x), + (i.y = e.y), + (i.fill = e.fill), + (i.width = r.width), + (i.height = r.height), + (i.class = 'journey-section section-type-' + e.num), + (i.rx = 3), + (i.ry = 3), + t6(n, i), + Ude(r)( + e.text, + n, + i.x, + i.y, + i.width, + i.height, + { class: 'journey-section section-type-' + e.num }, + r, + e.colour + ); + }, 'drawSection')), + ($de = -1), + (rHe = o(function (t, e, r) { + let n = e.x + r.width / 2, + i = t.append('g'); + $de++; + let a = 300 + 5 * 30; + i + .append('line') + .attr('id', 'task' + $de) + .attr('x1', n) + .attr('y1', e.y) + .attr('x2', n) + .attr('y2', a) + .attr('class', 'task-line') + .attr('stroke-width', '1px') + .attr('stroke-dasharray', '4 2') + .attr('stroke', '#666'), + ZUe(i, { cx: n, cy: 300 + (5 - e.score) * 30, score: e.score }); + let s = gP(); + (s.x = e.x), + (s.y = e.y), + (s.fill = e.fill), + (s.width = r.width), + (s.height = r.height), + (s.class = 'task task-type-' + e.num), + (s.rx = 3), + (s.ry = 3), + t6(i, s), + Ude(r)(e.task, i, s.x, s.y, s.width, s.height, { class: 'task' }, r, e.colour); + }, 'drawTask')), + (nHe = o(function (t, e) { + t6(t, { + x: e.startx, + y: e.starty, + width: e.stopx - e.startx, + height: e.stopy - e.starty, + fill: e.fill, + class: 'rect' + }).lower(); + }, 'drawBackgroundRect')), + (iHe = o(function () { + return { + x: 0, + y: 0, + fill: void 0, + 'text-anchor': 'start', + width: 100, + height: 100, + textMargin: 0, + rx: 0, + ry: 0 + }; + }, 'getTextObj')), + (gP = o(function () { + return { + x: 0, + y: 0, + width: 100, + anchor: 'start', + height: 100, + rx: 0, + ry: 0 + }; + }, 'getNoteRect')), + (Ude = (function () { + function t(i, a, s, l, u, h, f, d) { + let p = a + .append('text') + .attr('x', s + u / 2) + .attr('y', l + h / 2 + 5) + .style('font-color', d) + .style('text-anchor', 'middle') + .text(i); + n(p, f); + } + o(t, 'byText'); + function e(i, a, s, l, u, h, f, d, p) { + let { taskFontSize: m, taskFontFamily: g } = d, + y = i.split(//gi); + for (let v = 0; v < y.length; v++) { + let x = v * m - (m * (y.length - 1)) / 2, + b = a + .append('text') + .attr('x', s + u / 2) + .attr('y', l) + .attr('fill', p) + .style('text-anchor', 'middle') + .style('font-size', m) + .style('font-family', g); + b + .append('tspan') + .attr('x', s + u / 2) + .attr('dy', x) + .text(y[v]), + b + .attr('y', l + h / 2) + .attr('dominant-baseline', 'central') + .attr('alignment-baseline', 'central'), + n(b, f); + } + } + o(e, 'byTspan'); + function r(i, a, s, l, u, h, f, d) { + let p = a.append('switch'), + g = p + .append('foreignObject') + .attr('x', s) + .attr('y', l) + .attr('width', u) + .attr('height', h) + .attr('position', 'fixed') + .append('xhtml:div') + .style('display', 'table') + .style('height', '100%') + .style('width', '100%'); + g + .append('div') + .attr('class', 'label') + .style('display', 'table-cell') + .style('text-align', 'center') + .style('vertical-align', 'middle') + .text(i), + e(i, p, s, l, u, h, f, d), + n(g, f); + } + o(r, 'byFo'); + function n(i, a) { + for (let s in a) s in a && i.attr(s, a[s]); + } + return ( + o(n, '_setTextAttrs'), + function (i) { + return i.textPlacement === 'fo' ? r : i.textPlacement === 'old' ? t : e; + } + ); + })()), + (aHe = o(function (t) { + t.append('defs') + .append('marker') + .attr('id', 'arrowhead') + .attr('refX', 5) + .attr('refY', 2) + .attr('markerWidth', 6) + .attr('markerHeight', 4) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 0,0 V 4 L6,2 Z'); + }, 'initGraphics')); + o(Hde, 'wrap'); + (sHe = o(function (t, e, r, n) { + let i = (r % QUe) - 1, + a = t.append('g'); + (e.section = i), a.attr('class', (e.class ? e.class + ' ' : '') + 'timeline-node ' + ('section-' + i)); + let s = a.append('g'), + l = a.append('g'), + h = l + .append('text') + .text(e.descr) + .attr('dy', '1em') + .attr('alignment-baseline', 'middle') + .attr('dominant-baseline', 'middle') + .attr('text-anchor', 'middle') + .call(Hde, e.width) + .node() + .getBBox(), + f = n.fontSize?.replace ? n.fontSize.replace('px', '') : n.fontSize; + return ( + (e.height = h.height + f * 1.1 * 0.5 + e.padding), + (e.height = Math.max(e.height, e.maxHeight)), + (e.width = e.width + 2 * e.padding), + l.attr('transform', 'translate(' + e.width / 2 + ', ' + e.padding / 2 + ')'), + lHe(s, e, i, n), + e + ); + }, 'drawNode')), + (oHe = o(function (t, e, r) { + let n = t.append('g'), + a = n + .append('text') + .text(e.descr) + .attr('dy', '1em') + .attr('alignment-baseline', 'middle') + .attr('dominant-baseline', 'middle') + .attr('text-anchor', 'middle') + .call(Hde, e.width) + .node() + .getBBox(), + s = r.fontSize?.replace ? r.fontSize.replace('px', '') : r.fontSize; + return n.remove(), a.height + s * 1.1 * 0.5 + e.padding; + }, 'getVirtualNodeHeight')), + (lHe = o(function (t, e, r) { + t + .append('path') + .attr('id', 'node-' + e.id) + .attr('class', 'node-bkg node-' + e.type) + .attr( + 'd', + `M0 ${e.height - 5} v${-e.height + 2 * 5} q0,-5 5,-5 h${e.width - 2 * 5} q5,0 5,5 v${ + e.height - 5 + } H0 Z` + ), + t + .append('line') + .attr('class', 'node-line-' + r) + .attr('x1', 0) + .attr('y1', e.height) + .attr('x2', e.width) + .attr('y2', e.height); + }, 'defaultBkg')), + (xf = { + drawRect: t6, + drawCircle: JUe, + drawSection: tHe, + drawText: Vde, + drawLabel: eHe, + drawTask: rHe, + drawBackgroundRect: nHe, + getTextObj: iHe, + getNoteRect: gP, + initGraphics: aHe, + drawNode: sHe, + getVirtualNodeHeight: oHe + }); + }); + var cHe, + Wde, + uHe, + qde, + Xde = R(() => { + 'use strict'; + Zt(); + Yde(); + ut(); + _t(); + Yn(); + (cHe = o(function (t, e, r, n) { + let i = de(), + a = i.leftMargin ?? 50; + V.debug('timeline', n.db); + let s = i.securityLevel, + l; + s === 'sandbox' && (l = $e('#i' + e)); + let h = (s === 'sandbox' ? $e(l.nodes()[0].contentDocument.body) : $e('body')).select('#' + e); + h.append('g'); + let f = n.db.getTasks(), + d = n.db.getCommonDb().getDiagramTitle(); + V.debug('task', f), xf.initGraphics(h); + let p = n.db.getSections(); + V.debug('sections', p); + let m = 0, + g = 0, + y = 0, + v = 0, + x = 50 + a, + b = 50; + v = 50; + let w = 0, + S = !0; + p.forEach(function (L) { + let M = { + number: w, + descr: L, + section: w, + width: 150, + padding: 20, + maxHeight: m + }, + N = xf.getVirtualNodeHeight(h, M, i); + V.debug('sectionHeight before draw', N), (m = Math.max(m, N + 20)); + }); + let T = 0, + E = 0; + V.debug('tasks.length', f.length); + for (let [L, M] of f.entries()) { + let N = { + number: L, + descr: M, + section: M.section, + width: 150, + padding: 20, + maxHeight: g + }, + k = xf.getVirtualNodeHeight(h, N, i); + V.debug('taskHeight before draw', k), (g = Math.max(g, k + 20)), (T = Math.max(T, M.events.length)); + let I = 0; + for (let C of M.events) { + let O = { + descr: C, + section: M.section, + number: M.section, + width: 150, + padding: 20, + maxHeight: 50 + }; + I += xf.getVirtualNodeHeight(h, O, i); + } + E = Math.max(E, I); + } + V.debug('maxSectionHeight before draw', m), + V.debug('maxTaskHeight before draw', g), + p && p.length > 0 + ? p.forEach((L) => { + let M = f.filter((C) => C.section === L), + N = { + number: w, + descr: L, + section: w, + width: 200 * Math.max(M.length, 1) - 50, + padding: 20, + maxHeight: m + }; + V.debug('sectionNode', N); + let k = h.append('g'), + I = xf.drawNode(k, N, w, i); + V.debug('sectionNode output', I), + k.attr('transform', `translate(${x}, ${v})`), + (b += m + 50), + M.length > 0 && Wde(h, M, w, x, b, g, i, T, E, m, !1), + (x += 200 * Math.max(M.length, 1)), + (b = v), + w++; + }) + : ((S = !1), Wde(h, f, w, x, b, g, i, T, E, m, !0)); + let _ = h.node().getBBox(); + V.debug('bounds', _), + d && + h + .append('text') + .text(d) + .attr('x', _.width / 2 - a) + .attr('font-size', '4ex') + .attr('font-weight', 'bold') + .attr('y', 20), + (y = S ? m + g + 150 : g + 100), + h + .append('g') + .attr('class', 'lineWrapper') + .append('line') + .attr('x1', a) + .attr('y1', y) + .attr('x2', _.width + 3 * a) + .attr('y2', y) + .attr('stroke-width', 4) + .attr('stroke', 'black') + .attr('marker-end', 'url(#arrowhead)'), + Lo(void 0, h, i.timeline?.padding ?? 50, i.timeline?.useMaxWidth ?? !1); + }, 'draw')), + (Wde = o(function (t, e, r, n, i, a, s, l, u, h, f) { + for (let d of e) { + let p = { + descr: d.task, + section: r, + number: r, + width: 150, + padding: 20, + maxHeight: a + }; + V.debug('taskNode', p); + let m = t.append('g').attr('class', 'taskWrapper'), + y = xf.drawNode(m, p, r, s).height; + if ( + (V.debug('taskHeight after draw', y), + m.attr('transform', `translate(${n}, ${i})`), + (a = Math.max(a, y)), + d.events) + ) { + let v = t.append('g').attr('class', 'lineWrapper'), + x = a; + (i += 100), + (x = x + uHe(t, d.events, r, n, i, s)), + (i -= 100), + v + .append('line') + .attr('x1', n + 190 / 2) + .attr('y1', i + a) + .attr('x2', n + 190 / 2) + .attr('y2', i + a + (f ? a : h) + u + 120) + .attr('stroke-width', 2) + .attr('stroke', 'black') + .attr('marker-end', 'url(#arrowhead)') + .attr('stroke-dasharray', '5,5'); + } + (n = n + 200), f && !s.timeline?.disableMulticolor && r++; + } + i = i - 10; + }, 'drawTasks')), + (uHe = o(function (t, e, r, n, i, a) { + let s = 0, + l = i; + i = i + 100; + for (let u of e) { + let h = { + descr: u, + section: r, + number: r, + width: 150, + padding: 20, + maxHeight: 50 + }; + V.debug('eventNode', h); + let f = t.append('g').attr('class', 'eventWrapper'), + p = xf.drawNode(f, h, r, a).height; + (s = s + p), f.attr('transform', `translate(${n}, ${i})`), (i = i + 10 + p); + } + return (i = l), s; + }, 'drawEvents')), + (qde = { setConf: o(() => {}, 'setConf'), draw: cHe }); + }); + var hHe, + fHe, + jde, + Kde = R(() => { + 'use strict'; + al(); + (hHe = o((t) => { + let e = ''; + for (let r = 0; r < t.THEME_COLOR_LIMIT; r++) + (t['lineColor' + r] = t['lineColor' + r] || t['cScaleInv' + r]), + Wa(t['lineColor' + r]) + ? (t['lineColor' + r] = Et(t['lineColor' + r], 20)) + : (t['lineColor' + r] = Dt(t['lineColor' + r], 20)); + for (let r = 0; r < t.THEME_COLOR_LIMIT; r++) { + let n = '' + (17 - 3 * r); + e += ` + .section-${r - 1} rect, .section-${r - 1} path, .section-${r - 1} circle, .section-${r - 1} path { + fill: ${t['cScale' + r]}; + } + .section-${r - 1} text { + fill: ${t['cScaleLabel' + r]}; + } + .node-icon-${r - 1} { + font-size: 40px; + color: ${t['cScaleLabel' + r]}; + } + .section-edge-${r - 1}{ + stroke: ${t['cScale' + r]}; + } + .edge-depth-${r - 1}{ + stroke-width: ${n}; + } + .section-${r - 1} line { + stroke: ${t['cScaleInv' + r]} ; + stroke-width: 3; + } + + .lineWrapper line{ + stroke: ${t['cScaleLabel' + r]} ; + } + + .disabled, .disabled circle, .disabled text { + fill: lightgray; + } + .disabled text { + fill: #efefef; + } + `; + } + return e; + }, 'genSections')), + (fHe = o( + (t) => ` + .edge { + stroke-width: 3; + } + ${hHe(t)} + .section-root rect, .section-root path, .section-root circle { + fill: ${t.git0}; + } + .section-root text { + fill: ${t.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .eventWrapper { + filter: brightness(120%); + } +`, + 'getStyles' + )), + (jde = fHe); + }); + var Qde = {}; + hr(Qde, { diagram: () => dHe }); + var dHe, + Zde = R(() => { + 'use strict'; + Lde(); + Gde(); + Xde(); + Kde(); + dHe = { db: mP, renderer: qde, parser: _de, styles: jde }; + }); + var yP, + t0e, + r0e = R(() => { + 'use strict'; + yP = (function () { + var t = o(function (S, T, E, _) { + for (E = E || {}, _ = S.length; _--; E[S[_]] = T); + return E; + }, 'o'), + e = [1, 4], + r = [1, 13], + n = [1, 12], + i = [1, 15], + a = [1, 16], + s = [1, 20], + l = [1, 19], + u = [6, 7, 8], + h = [1, 26], + f = [1, 24], + d = [1, 25], + p = [6, 7, 11], + m = [1, 6, 13, 15, 16, 19, 22], + g = [1, 33], + y = [1, 34], + v = [1, 6, 7, 11, 13, 15, 16, 19, 22], + x = { + trace: o(function () {}, 'trace'), + yy: {}, + symbols_: { + error: 2, + start: 3, + mindMap: 4, + spaceLines: 5, + SPACELINE: 6, + NL: 7, + MINDMAP: 8, + document: 9, + stop: 10, + EOF: 11, + statement: 12, + SPACELIST: 13, + node: 14, + ICON: 15, + CLASS: 16, + nodeWithId: 17, + nodeWithoutId: 18, + NODE_DSTART: 19, + NODE_DESCR: 20, + NODE_DEND: 21, + NODE_ID: 22, + $accept: 0, + $end: 1 + }, + terminals_: { + 2: 'error', + 6: 'SPACELINE', + 7: 'NL', + 8: 'MINDMAP', + 11: 'EOF', + 13: 'SPACELIST', + 15: 'ICON', + 16: 'CLASS', + 19: 'NODE_DSTART', + 20: 'NODE_DESCR', + 21: 'NODE_DEND', + 22: 'NODE_ID' + }, + productions_: [ + 0, + [3, 1], + [3, 2], + [5, 1], + [5, 2], + [5, 2], + [4, 2], + [4, 3], + [10, 1], + [10, 1], + [10, 1], + [10, 2], + [10, 2], + [9, 3], + [9, 2], + [12, 2], + [12, 2], + [12, 2], + [12, 1], + [12, 1], + [12, 1], + [12, 1], + [12, 1], + [14, 1], + [14, 1], + [18, 3], + [17, 1], + [17, 4] + ], + performAction: o(function (T, E, _, A, L, M, N) { + var k = M.length - 1; + switch (L) { + case 6: + case 7: + return A; + case 8: + A.getLogger().trace('Stop NL '); + break; + case 9: + A.getLogger().trace('Stop EOF '); + break; + case 11: + A.getLogger().trace('Stop NL2 '); + break; + case 12: + A.getLogger().trace('Stop EOF2 '); + break; + case 15: + A.getLogger().info('Node: ', M[k].id), + A.addNode(M[k - 1].length, M[k].id, M[k].descr, M[k].type); + break; + case 16: + A.getLogger().trace('Icon: ', M[k]), A.decorateNode({ icon: M[k] }); + break; + case 17: + case 21: + A.decorateNode({ class: M[k] }); + break; + case 18: + A.getLogger().trace('SPACELIST'); + break; + case 19: + A.getLogger().trace('Node: ', M[k].id), + A.addNode(0, M[k].id, M[k].descr, M[k].type); + break; + case 20: + A.decorateNode({ icon: M[k] }); + break; + case 25: + A.getLogger().trace('node found ..', M[k - 2]), + (this.$ = { + id: M[k - 1], + descr: M[k - 1], + type: A.getType(M[k - 2], M[k]) + }); + break; + case 26: + this.$ = { id: M[k], descr: M[k], type: A.nodeType.DEFAULT }; + break; + case 27: + A.getLogger().trace('node found ..', M[k - 3]), + (this.$ = { + id: M[k - 3], + descr: M[k - 1], + type: A.getType(M[k - 2], M[k]) + }); + break; + } + }, 'anonymous'), + table: [ + { 3: 1, 4: 2, 5: 3, 6: [1, 5], 8: e }, + { 1: [3] }, + { 1: [2, 1] }, + { 4: 6, 6: [1, 7], 7: [1, 8], 8: e }, + { + 6: r, + 7: [1, 10], + 9: 9, + 12: 11, + 13: n, + 14: 14, + 15: i, + 16: a, + 17: 17, + 18: 18, + 19: s, + 22: l + }, + t(u, [2, 3]), + { 1: [2, 2] }, + t(u, [2, 4]), + t(u, [2, 5]), + { + 1: [2, 6], + 6: r, + 12: 21, + 13: n, + 14: 14, + 15: i, + 16: a, + 17: 17, + 18: 18, + 19: s, + 22: l + }, + { + 6: r, + 9: 22, + 12: 11, + 13: n, + 14: 14, + 15: i, + 16: a, + 17: 17, + 18: 18, + 19: s, + 22: l + }, + { 6: h, 7: f, 10: 23, 11: d }, + t(p, [2, 22], { + 17: 17, + 18: 18, + 14: 27, + 15: [1, 28], + 16: [1, 29], + 19: s, + 22: l + }), + t(p, [2, 18]), + t(p, [2, 19]), + t(p, [2, 20]), + t(p, [2, 21]), + t(p, [2, 23]), + t(p, [2, 24]), + t(p, [2, 26], { 19: [1, 30] }), + { 20: [1, 31] }, + { 6: h, 7: f, 10: 32, 11: d }, + { + 1: [2, 7], + 6: r, + 12: 21, + 13: n, + 14: 14, + 15: i, + 16: a, + 17: 17, + 18: 18, + 19: s, + 22: l + }, + t(m, [2, 14], { 7: g, 11: y }), + t(v, [2, 8]), + t(v, [2, 9]), + t(v, [2, 10]), + t(p, [2, 15]), + t(p, [2, 16]), + t(p, [2, 17]), + { 20: [1, 35] }, + { 21: [1, 36] }, + t(m, [2, 13], { 7: g, 11: y }), + t(v, [2, 11]), + t(v, [2, 12]), + { 21: [1, 37] }, + t(p, [2, 25]), + t(p, [2, 27]) + ], + defaultActions: { 2: [2, 1], 6: [2, 2] }, + parseError: o(function (T, E) { + if (E.recoverable) this.trace(T); + else { + var _ = new Error(T); + throw ((_.hash = E), _); + } + }, 'parseError'), + parse: o(function (T) { + var E = this, + _ = [0], + A = [], + L = [null], + M = [], + N = this.table, + k = '', + I = 0, + C = 0, + O = 0, + D = 2, + P = 1, + F = M.slice.call(arguments, 1), + B = Object.create(this.lexer), + $ = { yy: {} }; + for (var z in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, z) && ($.yy[z] = this.yy[z]); + B.setInput(T, $.yy), + ($.yy.lexer = B), + ($.yy.parser = this), + typeof B.yylloc > 'u' && (B.yylloc = {}); + var Y = B.yylloc; + M.push(Y); + var Q = B.options && B.options.ranges; + typeof $.yy.parseError == 'function' + ? (this.parseError = $.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError); + function X(ke) { + (_.length = _.length - 2 * ke), (L.length = L.length - ke), (M.length = M.length - ke); + } + o(X, 'popStack'); + function ie() { + var ke; + return ( + (ke = A.pop() || B.lex() || P), + typeof ke != 'number' && + (ke instanceof Array && ((A = ke), (ke = A.pop())), + (ke = E.symbols_[ke] || ke)), + ke + ); + } + o(ie, 'lex'); + for (var j, J, Z, H, q, K, se = {}, ce, ue, te, De; ; ) { + if ( + ((Z = _[_.length - 1]), + this.defaultActions[Z] + ? (H = this.defaultActions[Z]) + : ((j === null || typeof j > 'u') && (j = ie()), (H = N[Z] && N[Z][j])), + typeof H > 'u' || !H.length || !H[0]) + ) { + var oe = ''; + De = []; + for (ce in N[Z]) + this.terminals_[ce] && ce > D && De.push("'" + this.terminals_[ce] + "'"); + B.showPosition + ? (oe = + 'Parse error on line ' + + (I + 1) + + `: +` + + B.showPosition() + + ` +Expecting ` + + De.join(', ') + + ", got '" + + (this.terminals_[j] || j) + + "'") + : (oe = + 'Parse error on line ' + + (I + 1) + + ': Unexpected ' + + (j == P ? 'end of input' : "'" + (this.terminals_[j] || j) + "'")), + this.parseError(oe, { + text: B.match, + token: this.terminals_[j] || j, + line: B.yylineno, + loc: Y, + expected: De + }); + } + if (H[0] instanceof Array && H.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + Z + ', token: ' + j + ); + switch (H[0]) { + case 1: + _.push(j), + L.push(B.yytext), + M.push(B.yylloc), + _.push(H[1]), + (j = null), + J + ? ((j = J), (J = null)) + : ((C = B.yyleng), + (k = B.yytext), + (I = B.yylineno), + (Y = B.yylloc), + O > 0 && O--); + break; + case 2: + if ( + ((ue = this.productions_[H[1]][1]), + (se.$ = L[L.length - ue]), + (se._$ = { + first_line: M[M.length - (ue || 1)].first_line, + last_line: M[M.length - 1].last_line, + first_column: M[M.length - (ue || 1)].first_column, + last_column: M[M.length - 1].last_column + }), + Q && + (se._$.range = [ + M[M.length - (ue || 1)].range[0], + M[M.length - 1].range[1] + ]), + (K = this.performAction.apply(se, [k, C, I, $.yy, H[1], L, M].concat(F))), + typeof K < 'u') + ) + return K; + ue && + ((_ = _.slice(0, -1 * ue * 2)), + (L = L.slice(0, -1 * ue)), + (M = M.slice(0, -1 * ue))), + _.push(this.productions_[H[1]][0]), + L.push(se.$), + M.push(se._$), + (te = N[_[_.length - 2]][_[_.length - 1]]), + _.push(te); + break; + case 3: + return !0; + } + } + return !0; + }, 'parse') + }, + b = (function () { + var S = { + EOF: 1, + parseError: o(function (E, _) { + if (this.yy.parser) this.yy.parser.parseError(E, _); + else throw new Error(E); + }, 'parseError'), + setInput: o(function (T, E) { + return ( + (this.yy = E || this.yy || {}), + (this._input = T), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, 'setInput'), + input: o(function () { + var T = this._input[0]; + (this.yytext += T), + this.yyleng++, + this.offset++, + (this.match += T), + (this.matched += T); + var E = T.match(/(?:\r\n?|\n).*/g); + return ( + E ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + T + ); + }, 'input'), + unput: o(function (T) { + var E = T.length, + _ = T.split(/(?:\r\n?|\n)/g); + (this._input = T + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - E)), + (this.offset -= E); + var A = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + _.length - 1 && (this.yylineno -= _.length - 1); + var L = this.yylloc.range; + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: _ + ? (_.length === A.length ? this.yylloc.first_column : 0) + + A[A.length - _.length].length - + _[0].length + : this.yylloc.first_column - E + }), + this.options.ranges && (this.yylloc.range = [L[0], L[0] + this.yyleng - E]), + (this.yyleng = this.yytext.length), + this + ); + }, 'unput'), + more: o(function () { + return (this._more = !0), this; + }, 'more'), + reject: o(function () { + if (this.options.backtrack_lexer) this._backtrack = !0; + else + return this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + return this; + }, 'reject'), + less: o(function (T) { + this.unput(this.match.slice(T)); + }, 'less'), + pastInput: o(function () { + var T = this.matched.substr(0, this.matched.length - this.match.length); + return (T.length > 20 ? '...' : '') + T.substr(-20).replace(/\n/g, ''); + }, 'pastInput'), + upcomingInput: o(function () { + var T = this.match; + return ( + T.length < 20 && (T += this._input.substr(0, 20 - T.length)), + (T.substr(0, 20) + (T.length > 20 ? '...' : '')).replace(/\n/g, '') + ); + }, 'upcomingInput'), + showPosition: o(function () { + var T = this.pastInput(), + E = new Array(T.length + 1).join('-'); + return ( + T + + this.upcomingInput() + + ` +` + + E + + '^' + ); + }, 'showPosition'), + test_match: o(function (T, E) { + var _, A, L; + if ( + (this.options.backtrack_lexer && + ((L = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }), + this.options.ranges && (L.yylloc.range = this.yylloc.range.slice(0))), + (A = T[0].match(/(?:\r\n?|\n).*/g)), + A && (this.yylineno += A.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: A + ? A[A.length - 1].length - A[A.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + T[0].length + }), + (this.yytext += T[0]), + (this.match += T[0]), + (this.matches = T), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(T[0].length)), + (this.matched += T[0]), + (_ = this.performAction.call( + this, + this.yy, + this, + E, + this.conditionStack[this.conditionStack.length - 1] + )), + this.done && this._input && (this.done = !1), + _) + ) + return _; + if (this._backtrack) { + for (var M in L) this[M] = L[M]; + return !1; + } + return !1; + }, 'test_match'), + next: o(function () { + if (this.done) return this.EOF; + this._input || (this.done = !0); + var T, E, _, A; + this._more || ((this.yytext = ''), (this.match = '')); + for (var L = this._currentRules(), M = 0; M < L.length; M++) + if ( + ((_ = this._input.match(this.rules[L[M]])), + _ && (!E || _[0].length > E[0].length)) + ) { + if (((E = _), (A = M), this.options.backtrack_lexer)) { + if (((T = this.test_match(_, L[M])), T !== !1)) return T; + if (this._backtrack) { + E = !1; + continue; + } else return !1; + } else if (!this.options.flex) break; + } + return E + ? ((T = this.test_match(E, L[A])), T !== !1 ? T : !1) + : this._input === '' + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, 'next'), + lex: o(function () { + var E = this.next(); + return E || this.lex(); + }, 'lex'), + begin: o(function (E) { + this.conditionStack.push(E); + }, 'begin'), + popState: o(function () { + var E = this.conditionStack.length - 1; + return E > 0 ? this.conditionStack.pop() : this.conditionStack[0]; + }, 'popState'), + _currentRules: o(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules; + }, '_currentRules'), + topState: o(function (E) { + return ( + (E = this.conditionStack.length - 1 - Math.abs(E || 0)), + E >= 0 ? this.conditionStack[E] : 'INITIAL' + ); + }, 'topState'), + pushState: o(function (E) { + this.begin(E); + }, 'pushState'), + stateStackSize: o(function () { + return this.conditionStack.length; + }, 'stateStackSize'), + options: { 'case-insensitive': !0 }, + performAction: o(function (E, _, A, L) { + var M = L; + switch (A) { + case 0: + return E.getLogger().trace('Found comment', _.yytext), 6; + break; + case 1: + return 8; + case 2: + this.begin('CLASS'); + break; + case 3: + return this.popState(), 16; + break; + case 4: + this.popState(); + break; + case 5: + E.getLogger().trace('Begin icon'), this.begin('ICON'); + break; + case 6: + return E.getLogger().trace('SPACELINE'), 6; + break; + case 7: + return 7; + case 8: + return 15; + case 9: + E.getLogger().trace('end icon'), this.popState(); + break; + case 10: + return E.getLogger().trace('Exploding node'), this.begin('NODE'), 19; + break; + case 11: + return E.getLogger().trace('Cloud'), this.begin('NODE'), 19; + break; + case 12: + return E.getLogger().trace('Explosion Bang'), this.begin('NODE'), 19; + break; + case 13: + return E.getLogger().trace('Cloud Bang'), this.begin('NODE'), 19; + break; + case 14: + return this.begin('NODE'), 19; + break; + case 15: + return this.begin('NODE'), 19; + break; + case 16: + return this.begin('NODE'), 19; + break; + case 17: + return this.begin('NODE'), 19; + break; + case 18: + return 13; + case 19: + return 22; + case 20: + return 11; + case 21: + this.begin('NSTR2'); + break; + case 22: + return 'NODE_DESCR'; + case 23: + this.popState(); + break; + case 24: + E.getLogger().trace('Starting NSTR'), this.begin('NSTR'); + break; + case 25: + return E.getLogger().trace('description:', _.yytext), 'NODE_DESCR'; + break; + case 26: + this.popState(); + break; + case 27: + return this.popState(), E.getLogger().trace('node end ))'), 'NODE_DEND'; + break; + case 28: + return this.popState(), E.getLogger().trace('node end )'), 'NODE_DEND'; + break; + case 29: + return ( + this.popState(), E.getLogger().trace('node end ...', _.yytext), 'NODE_DEND' + ); + break; + case 30: + return this.popState(), E.getLogger().trace('node end (('), 'NODE_DEND'; + break; + case 31: + return this.popState(), E.getLogger().trace('node end (-'), 'NODE_DEND'; + break; + case 32: + return this.popState(), E.getLogger().trace('node end (-'), 'NODE_DEND'; + break; + case 33: + return this.popState(), E.getLogger().trace('node end (('), 'NODE_DEND'; + break; + case 34: + return this.popState(), E.getLogger().trace('node end (('), 'NODE_DEND'; + break; + case 35: + return E.getLogger().trace('Long description:', _.yytext), 20; + break; + case 36: + return E.getLogger().trace('Long description:', _.yytext), 20; + break; + } + }, 'anonymous'), + rules: [ + /^(?:\s*%%.*)/i, + /^(?:mindmap\b)/i, + /^(?::::)/i, + /^(?:.+)/i, + /^(?:\n)/i, + /^(?:::icon\()/i, + /^(?:[\s]+[\n])/i, + /^(?:[\n]+)/i, + /^(?:[^\)]+)/i, + /^(?:\))/i, + /^(?:-\))/i, + /^(?:\(-)/i, + /^(?:\)\))/i, + /^(?:\))/i, + /^(?:\(\()/i, + /^(?:\{\{)/i, + /^(?:\()/i, + /^(?:\[)/i, + /^(?:[\s]+)/i, + /^(?:[^\(\[\n\)\{\}]+)/i, + /^(?:$)/i, + /^(?:["][`])/i, + /^(?:[^`"]+)/i, + /^(?:[`]["])/i, + /^(?:["])/i, + /^(?:[^"]+)/i, + /^(?:["])/i, + /^(?:[\)]\))/i, + /^(?:[\)])/i, + /^(?:[\]])/i, + /^(?:\}\})/i, + /^(?:\(-)/i, + /^(?:-\))/i, + /^(?:\(\()/i, + /^(?:\()/i, + /^(?:[^\)\]\(\}]+)/i, + /^(?:.+(?!\(\())/i + ], + conditions: { + CLASS: { rules: [3, 4], inclusive: !1 }, + ICON: { rules: [8, 9], inclusive: !1 }, + NSTR2: { rules: [22, 23], inclusive: !1 }, + NSTR: { rules: [25, 26], inclusive: !1 }, + NODE: { + rules: [21, 24, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36], + inclusive: !1 + }, + INITIAL: { + rules: [0, 1, 2, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20], + inclusive: !0 + } + } + }; + return S; + })(); + x.lexer = b; + function w() { + this.yy = {}; + } + return o(w, 'Parser'), (w.prototype = x), (x.Parser = w), new w(); + })(); + yP.parser = yP; + t0e = yP; + }); + var Gl, + n0e, + vP, + yHe, + vHe, + xHe, + bHe, + $i, + wHe, + THe, + kHe, + EHe, + CHe, + SHe, + AHe, + i0e, + a0e = R(() => { + 'use strict'; + _t(); + rr(); + ut(); + sl(); + (Gl = []), + (n0e = 0), + (vP = {}), + (yHe = o(() => { + (Gl = []), (n0e = 0), (vP = {}); + }, 'clear')), + (vHe = o(function (t) { + for (let e = Gl.length - 1; e >= 0; e--) if (Gl[e].level < t) return Gl[e]; + return null; + }, 'getParent')), + (xHe = o(() => (Gl.length > 0 ? Gl[0] : null), 'getMindmap')), + (bHe = o((t, e, r, n) => { + V.info('addNode', t, e, r, n); + let i = de(), + a = i.mindmap?.padding ?? mr.mindmap.padding; + switch (n) { + case $i.ROUNDED_RECT: + case $i.RECT: + case $i.HEXAGON: + a *= 2; + } + let s = { + id: n0e++, + nodeId: qr(e, i), + level: t, + descr: qr(r, i), + type: n, + children: [], + width: i.mindmap?.maxNodeWidth ?? mr.mindmap.maxNodeWidth, + padding: a + }, + l = vHe(t); + if (l) l.children.push(s), Gl.push(s); + else if (Gl.length === 0) Gl.push(s); + else + throw new Error('There can be only one root. No parent could be found for ("' + s.descr + '")'); + }, 'addNode')), + ($i = { + DEFAULT: 0, + NO_BORDER: 0, + ROUNDED_RECT: 1, + RECT: 2, + CIRCLE: 3, + CLOUD: 4, + BANG: 5, + HEXAGON: 6 + }), + (wHe = o((t, e) => { + switch ((V.debug('In get type', t, e), t)) { + case '[': + return $i.RECT; + case '(': + return e === ')' ? $i.ROUNDED_RECT : $i.CLOUD; + case '((': + return $i.CIRCLE; + case ')': + return $i.CLOUD; + case '))': + return $i.BANG; + case '{{': + return $i.HEXAGON; + default: + return $i.DEFAULT; + } + }, 'getType')), + (THe = o((t, e) => { + vP[t] = e; + }, 'setElementForId')), + (kHe = o((t) => { + if (!t) return; + let e = de(), + r = Gl[Gl.length - 1]; + t.icon && (r.icon = qr(t.icon, e)), t.class && (r.class = qr(t.class, e)); + }, 'decorateNode')), + (EHe = o((t) => { + switch (t) { + case $i.DEFAULT: + return 'no-border'; + case $i.RECT: + return 'rect'; + case $i.ROUNDED_RECT: + return 'rounded-rect'; + case $i.CIRCLE: + return 'circle'; + case $i.CLOUD: + return 'cloud'; + case $i.BANG: + return 'bang'; + case $i.HEXAGON: + return 'hexgon'; + default: + return 'no-border'; + } + }, 'type2Str')), + (CHe = o(() => V, 'getLogger')), + (SHe = o((t) => vP[t], 'getElementById')), + (AHe = { + clear: yHe, + addNode: bHe, + getMindmap: xHe, + nodeType: $i, + getType: wHe, + setElementForId: THe, + decorateNode: kHe, + type2Str: EHe, + getLogger: CHe, + getElementById: SHe + }), + (i0e = AHe); + }); + function Hi(t) { + '@babel/helpers - typeof'; + return ( + (Hi = + typeof Symbol == 'function' && typeof Symbol.iterator == 'symbol' + ? function (e) { + return typeof e; + } + : function (e) { + return e && typeof Symbol == 'function' && e.constructor === Symbol && e !== Symbol.prototype + ? 'symbol' + : typeof e; + }), + Hi(t) + ); + } + function XP(t, e) { + if (!(t instanceof e)) throw new TypeError('Cannot call a class as a function'); + } + function s0e(t, e) { + for (var r = 0; r < e.length; r++) { + var n = e[r]; + (n.enumerable = n.enumerable || !1), + (n.configurable = !0), + 'value' in n && (n.writable = !0), + Object.defineProperty(t, n.key, n); + } + } + function jP(t, e, r) { + return e && s0e(t.prototype, e), r && s0e(t, r), Object.defineProperty(t, 'prototype', { writable: !1 }), t; + } + function bpe(t, e, r) { + return ( + e in t + ? Object.defineProperty(t, e, { + value: r, + enumerable: !0, + configurable: !0, + writable: !0 + }) + : (t[e] = r), + t + ); + } + function $l(t, e) { + return _He(t) || LHe(t, e) || wpe(t, e) || DHe(); + } + function _He(t) { + if (Array.isArray(t)) return t; + } + function LHe(t, e) { + var r = t == null ? null : (typeof Symbol < 'u' && t[Symbol.iterator]) || t['@@iterator']; + if (r != null) { + var n = [], + i = !0, + a = !1, + s, + l; + try { + for (r = r.call(t); !(i = (s = r.next()).done) && (n.push(s.value), !(e && n.length === e)); i = !0); + } catch (u) { + (a = !0), (l = u); + } finally { + try { + !i && r.return != null && r.return(); + } finally { + if (a) throw l; + } + } + return n; + } + } + function wpe(t, e) { + if (t) { + if (typeof t == 'string') return o0e(t, e); + var r = Object.prototype.toString.call(t).slice(8, -1); + if ((r === 'Object' && t.constructor && (r = t.constructor.name), r === 'Map' || r === 'Set')) + return Array.from(t); + if (r === 'Arguments' || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return o0e(t, e); + } + } + function o0e(t, e) { + (e == null || e > t.length) && (e = t.length); + for (var r = 0, n = new Array(e); r < e; r++) n[r] = t[r]; + return n; + } + function DHe() { + throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`); + } + function Tpe(t, e) { + var r = (typeof Symbol < 'u' && t[Symbol.iterator]) || t['@@iterator']; + if (!r) { + if (Array.isArray(t) || (r = wpe(t)) || (e && t && typeof t.length == 'number')) { + r && (t = r); + var n = 0, + i = o(function () {}, 'F'); + return { + s: i, + n: o(function () { + return n >= t.length ? { done: !0 } : { done: !1, value: t[n++] }; + }, 'n'), + e: o(function (u) { + throw u; + }, 'e'), + f: i + }; + } + throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`); + } + var a = !0, + s = !1, + l; + return { + s: o(function () { + r = r.call(t); + }, 's'), + n: o(function () { + var u = r.next(); + return (a = u.done), u; + }, 'n'), + e: o(function (u) { + (s = !0), (l = u); + }, 'e'), + f: o(function () { + try { + !a && r.return != null && r.return(); + } finally { + if (s) throw l; + } + }, 'f') + }; + } + function eYe(t) { + var e = typeof t; + return t != null && (e == 'object' || e == 'function'); + } + function tYe(t, e) { + return (e = { exports: {} }), t(e, e.exports), e.exports; + } + function lYe(t) { + for (var e = t.length; e-- && oYe.test(t.charAt(e)); ); + return e; + } + function hYe(t) { + return t && t.slice(0, cYe(t) + 1).replace(uYe, ''); + } + function gYe(t) { + var e = pYe.call(t, _x), + r = t[_x]; + try { + t[_x] = void 0; + var n = !0; + } catch {} + var i = mYe.call(t); + return n && (e ? (t[_x] = r) : delete t[_x]), i; + } + function bYe(t) { + return xYe.call(t); + } + function EYe(t) { + return t == null ? (t === void 0 ? kYe : TYe) : u0e && u0e in Object(t) ? yYe(t) : wYe(t); + } + function CYe(t) { + return t != null && typeof t == 'object'; + } + function _Ye(t) { + return typeof t == 'symbol' || (SYe(t) && Rpe(t) == AYe); + } + function MYe(t) { + if (typeof t == 'number') return t; + if (Jx(t)) return h0e; + if (V0(t)) { + var e = typeof t.valueOf == 'function' ? t.valueOf() : t; + t = V0(e) ? e + '' : e; + } + if (typeof t != 'string') return t === 0 ? t : +t; + t = fYe(t); + var r = DYe.test(t); + return r || RYe.test(t) ? NYe(t.slice(2), r ? 2 : 8) : LYe.test(t) ? h0e : +t; + } + function BYe(t, e, r) { + var n, + i, + a, + s, + l, + u, + h = 0, + f = !1, + d = !1, + p = !0; + if (typeof t != 'function') throw new TypeError(IYe); + (e = f0e(e) || 0), + V0(r) && + ((f = !!r.leading), + (d = 'maxWait' in r), + (a = d ? OYe(f0e(r.maxWait) || 0, e) : a), + (p = 'trailing' in r ? !!r.trailing : p)); + function m(E) { + var _ = n, + A = i; + return (n = i = void 0), (h = E), (s = t.apply(A, _)), s; + } + o(m, 'invokeFunc'); + function g(E) { + return (h = E), (l = setTimeout(x, e)), f ? m(E) : s; + } + o(g, 'leadingEdge'); + function y(E) { + var _ = E - u, + A = E - h, + L = e - _; + return d ? PYe(L, a - A) : L; + } + o(y, 'remainingWait'); + function v(E) { + var _ = E - u, + A = E - h; + return u === void 0 || _ >= e || _ < 0 || (d && A >= a); + } + o(v, 'shouldInvoke'); + function x() { + var E = xP(); + if (v(E)) return b(E); + l = setTimeout(x, y(E)); + } + o(x, 'timerExpired'); + function b(E) { + return (l = void 0), p && n ? m(E) : ((n = i = void 0), s); + } + o(b, 'trailingEdge'); + function w() { + l !== void 0 && clearTimeout(l), (h = 0), (n = u = i = l = void 0); + } + o(w, 'cancel'); + function S() { + return l === void 0 ? s : b(xP()); + } + o(S, 'flush'); + function T() { + var E = xP(), + _ = v(E); + if (((n = arguments), (i = this), (u = E), _)) { + if (l === void 0) return g(u); + if (d) return clearTimeout(l), (l = setTimeout(x, e)), m(u); + } + return l === void 0 && (l = setTimeout(x, e)), s; + } + return o(T, 'debounced'), (T.cancel = w), (T.flush = S), T; + } + function z6(t, e, r, n, i, a) { + var s; + return jn(t) ? (s = t) : (s = o1[t] || o1.euclidean), e === 0 && jn(t) ? s(i, a) : s(e, r, n, i, a); + } + function Lqe(t, e) { + if (G6(t)) return !1; + var r = typeof t; + return r == 'number' || r == 'symbol' || r == 'boolean' || t == null || Jx(t) + ? !0 + : _qe.test(t) || !Aqe.test(t) || (e != null && t in Object(e)); + } + function Oqe(t) { + if (!V0(t)) return !1; + var e = Rpe(t); + return e == Nqe || e == Mqe || e == Rqe || e == Iqe; + } + function Fqe(t) { + return !!N0e && N0e in t; + } + function Vqe(t) { + if (t != null) { + try { + return $qe.call(t); + } catch {} + try { + return t + ''; + } catch {} + } + return ''; + } + function Qqe(t) { + if (!V0(t) || zqe(t)) return !1; + var e = Pqe(t) ? Kqe : Yqe; + return e.test(Uqe(t)); + } + function Jqe(t, e) { + return t?.[e]; + } + function tXe(t, e) { + var r = eXe(t, e); + return Zqe(r) ? r : void 0; + } + function nXe() { + (this.__data__ = Wx ? Wx(null) : {}), (this.size = 0); + } + function aXe(t) { + var e = this.has(t) && delete this.__data__[t]; + return (this.size -= e ? 1 : 0), e; + } + function uXe(t) { + var e = this.__data__; + if (Wx) { + var r = e[t]; + return r === oXe ? void 0 : r; + } + return cXe.call(e, t) ? e[t] : void 0; + } + function pXe(t) { + var e = this.__data__; + return Wx ? e[t] !== void 0 : dXe.call(e, t); + } + function yXe(t, e) { + var r = this.__data__; + return (this.size += this.has(t) ? 0 : 1), (r[t] = Wx && e === void 0 ? gXe : e), this; + } + function h1(t) { + var e = -1, + r = t == null ? 0 : t.length; + for (this.clear(); ++e < r; ) { + var n = t[e]; + this.set(n[0], n[1]); + } + } + function xXe() { + (this.__data__ = []), (this.size = 0); + } + function wXe(t, e) { + return t === e || (t !== t && e !== e); + } + function TXe(t, e) { + for (var r = t.length; r--; ) if (rme(t[r][0], e)) return r; + return -1; + } + function CXe(t) { + var e = this.__data__, + r = $6(e, t); + if (r < 0) return !1; + var n = e.length - 1; + return r == n ? e.pop() : EXe.call(e, r, 1), --this.size, !0; + } + function AXe(t) { + var e = this.__data__, + r = $6(e, t); + return r < 0 ? void 0 : e[r][1]; + } + function LXe(t) { + return $6(this.__data__, t) > -1; + } + function RXe(t, e) { + var r = this.__data__, + n = $6(r, t); + return n < 0 ? (++this.size, r.push([t, e])) : (r[n][1] = e), this; + } + function f1(t) { + var e = -1, + r = t == null ? 0 : t.length; + for (this.clear(); ++e < r; ) { + var n = t[e]; + this.set(n[0], n[1]); + } + } + function PXe() { + (this.size = 0), + (this.__data__ = { + hash: new M0e(), + map: new (OXe || MXe)(), + string: new M0e() + }); + } + function FXe(t) { + var e = typeof t; + return e == 'string' || e == 'number' || e == 'symbol' || e == 'boolean' ? t !== '__proto__' : t === null; + } + function GXe(t, e) { + var r = t.__data__; + return zXe(e) ? r[typeof e == 'string' ? 'string' : 'hash'] : r.map; + } + function $Xe(t) { + var e = V6(this, t).delete(t); + return (this.size -= e ? 1 : 0), e; + } + function UXe(t) { + return V6(this, t).get(t); + } + function YXe(t) { + return V6(this, t).has(t); + } + function qXe(t, e) { + var r = V6(this, t), + n = r.size; + return r.set(t, e), (this.size += r.size == n ? 0 : 1), this; + } + function d1(t) { + var e = -1, + r = t == null ? 0 : t.length; + for (this.clear(); ++e < r; ) { + var n = t[e]; + this.set(n[0], n[1]); + } + } + function sB(t, e) { + if (typeof t != 'function' || (e != null && typeof e != 'function')) throw new TypeError(jXe); + var r = o(function () { + var n = arguments, + i = e ? e.apply(this, n) : n[0], + a = r.cache; + if (a.has(i)) return a.get(i); + var s = t.apply(this, n); + return (r.cache = a.set(i, s) || a), s; + }, 'memoized'); + return (r.cache = new (sB.Cache || nme)()), r; + } + function ZXe(t) { + var e = KXe(t, function (n) { + return r.size === QXe && r.clear(), n; + }), + r = e.cache; + return e; + } + function nje(t, e) { + for (var r = -1, n = t == null ? 0 : t.length, i = Array(n); ++r < n; ) i[r] = e(t[r], r, t); + return i; + } + function sme(t) { + if (typeof t == 'string') return t; + if (G6(t)) return ame(t, sme) + ''; + if (Jx(t)) return O0e ? O0e.call(t) : ''; + var e = t + ''; + return e == '0' && 1 / t == -ije ? '-0' : e; + } + function sje(t) { + return t == null ? '' : aje(t); + } + function oje(t, e) { + return G6(t) ? t : Dqe(t, e) ? [t] : ime(ome(t)); + } + function cje(t) { + if (typeof t == 'string' || Jx(t)) return t; + var e = t + ''; + return e == '0' && 1 / t == -lje ? '-0' : e; + } + function uje(t, e) { + e = lme(e, t); + for (var r = 0, n = e.length; t != null && r < n; ) t = t[oB(e[r++])]; + return r && r == n ? t : void 0; + } + function fje(t, e, r) { + var n = t == null ? void 0 : hje(t, e); + return n === void 0 ? r : n; + } + function mje(t, e, r) { + e == '__proto__' && P0e ? P0e(t, e, { configurable: !0, enumerable: !0, value: r, writable: !0 }) : (t[e] = r); + } + function xje(t, e, r) { + var n = t[e]; + (!(vje.call(t, e) && rme(n, r)) || (r === void 0 && !(e in t))) && gje(t, e, r); + } + function kje(t, e) { + var r = typeof t; + return ( + (e = e ?? wje), !!e && (r == 'number' || (r != 'symbol' && Tje.test(t))) && t > -1 && t % 1 == 0 && t < e + ); + } + function Cje(t, e, r, n) { + if (!V0(t)) return t; + e = lme(e, t); + for (var i = -1, a = e.length, s = a - 1, l = t; l != null && ++i < a; ) { + var u = oB(e[i]), + h = r; + if (u === '__proto__' || u === 'constructor' || u === 'prototype') return t; + if (i != s) { + var f = l[u]; + (h = n ? n(f, u, l) : void 0), h === void 0 && (h = V0(f) ? f : Eje(e[i + 1]) ? [] : {}); + } + bje(l, u, h), (l = l[u]); + } + return t; + } + function Aje(t, e, r) { + return t == null ? t : Sje(t, e, r); + } + function Lje(t, e) { + var r = -1, + n = t.length; + for (e || (e = Array(n)); ++r < n; ) e[r] = t[r]; + return e; + } + function Rje(t) { + return G6(t) ? ame(t, oB) : Jx(t) ? [t] : Dje(ime(ome(t))); + } + function cB(t, e, r, n) { + for (var i = [], a = new c1(), s = t.cy(), l = s.hasCompoundNodes(), u = 0; u < t.length; u++) { + var h = t[u]; + r ? i.push(h) : l && n(i, a, h); + } + for (; i.length > 0; ) { + var f = i.shift(); + e(f), a.add(f.id()), l && n(i, a, f); + } + return t; + } + function ume(t, e, r) { + if (r.isParent()) + for (var n = r._private.children, i = 0; i < n.length; i++) { + var a = n[i]; + e.has(a.id()) || t.push(a); + } + } + function hme(t, e, r) { + if (r.isChild()) { + var n = r._private.parent; + e.has(n.id()) || t.push(n); + } + } + function Kje(t, e, r) { + hme(t, e, r), ume(t, e, r); + } + function CP(t) { + return function (e) { + var r = this; + if ((e === void 0 && (e = !0), r.length !== 0)) + if (r.isNode() && !r.removed()) { + for (var n = 0, i = r[0], a = i._private.edges, s = 0; s < a.length; s++) { + var l = a[s]; + (!e && l.isLoop()) || (n += t(i, l)); + } + return n; + } else return; + }; + } + function Xg(t, e) { + return function (r) { + for (var n, i = this.nodes(), a = 0; a < i.length; a++) { + var s = i[a], + l = s[t](r); + l !== void 0 && (n === void 0 || e(l, n)) && (n = l); + } + return n; + }; + } + function Rx() { + return !1; + } + function c6() { + return !0; + } + function H6() { + for ( + var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : mKe, + e = arguments.length > 1 ? arguments[1] : void 0, + r = 0; + r < V0e.length; + r++ + ) { + var n = V0e[r]; + this[n] = t[n] || bme[n]; + } + (this.context = e || this.context), (this.listeners = []), (this.emitting = 0); + } + function Cme(t, e, r) { + var n = r._private, + i = (n.styleCache = n.styleCache || []), + a; + return (a = i[t]) != null || (a = i[t] = e(r)), a; + } + function Y6(t, e) { + return ( + (t = U0(t)), + o(function (n) { + return Cme(t, e, n); + }, 'cachedStyleFunction') + ); + } + function W6(t, e) { + t = U0(t); + var r = o(function (i) { + return e.call(i); + }, 'selfFn'); + return o(function () { + var i = this[0]; + if (i) return Cme(t, r, i); + }, 'cachedPrototypeStyleFunction'); + } + function AP(t, e) { + var r = t._private, + n = r.data.parent ? t.parents() : null; + if (n) + for (var i = 0; i < n.length; i++) { + var a = n[i]; + if (!e(a)) return !1; + } + return !0; + } + function uB(t) { + var e = t.ok, + r = t.edgeOkViaNode || t.ok, + n = t.parentOk || t.ok; + return function () { + var i = this.cy(); + if (!i.styleEnabled()) return !0; + var a = this[0], + s = i.hasCompoundNodes(); + if (a) { + var l = a._private; + if (!e(a)) return !1; + if (a.isNode()) return !s || AP(a, n); + var u = l.source, + h = l.target; + return r(u) && (!s || AP(u, r)) && (u === h || (r(h) && (!s || AP(h, r)))); + } + }; + } + function H0e(t) { + return function () { + var e = arguments, + r = []; + if (e.length === 2) { + var n = e[0], + i = e[1]; + this.on(t.event, n, i); + } else if (e.length === 1 && jn(e[0])) { + var a = e[0]; + this.on(t.event, a); + } else if (e.length === 0 || (e.length === 1 && vn(e[0]))) { + for (var s = e.length === 1 ? e[0] : null, l = 0; l < this.length; l++) { + var u = this[l], + h = !t.ableField || u._private[t.ableField], + f = u._private[t.field] != t.value; + if (t.overrideAble) { + var d = t.overrideAble(u); + if (d !== void 0 && ((h = d), !d)) return this; + } + h && ((u._private[t.field] = t.value), f && r.push(u)); + } + var p = this.spawn(r); + p.updateStyle(), p.emit(t.event), s && p.emit(s); + } + return this; + }; + } + function m1(t) { + (Cf[t.field] = function () { + var e = this[0]; + if (e) { + if (t.overrideField) { + var r = t.overrideField(e); + if (r !== void 0) return r; + } + return e._private[t.field]; + } + }), + (Cf[t.on] = H0e({ + event: t.on, + field: t.field, + ableField: t.ableField, + overrideAble: t.overrideAble, + value: !0 + })), + (Cf[t.off] = H0e({ + event: t.off, + field: t.field, + ableField: t.ableField, + overrideAble: t.overrideAble, + value: !1 + })); + } + function X0e(t) { + return o(function (r) { + for (var n = [], i = 0; i < this.length; i++) { + var a = this[i], + s = a._private[t.attr]; + s && n.push(s); + } + return this.spawn(n, !0).filter(r); + }, 'sourceImpl'); + } + function j0e(t) { + return o(function (r) { + var n = [], + i = this._private.cy, + a = t || {}; + zt(r) && (r = i.$(r)); + for (var s = 0; s < r.length; s++) + for (var l = r[s]._private.edges, u = 0; u < l.length; u++) { + var h = l[u], + f = h._private.data, + d = this.hasElementWithId(f.source) && r.hasElementWithId(f.target), + p = r.hasElementWithId(f.source) && this.hasElementWithId(f.target), + m = d || p; + m && (((a.thisIsSrc || a.thisIsTgt) && ((a.thisIsSrc && !d) || (a.thisIsTgt && !p))) || n.push(h)); + } + return this.spawn(n, !0); + }, 'edgesWithImpl'); + } + function K0e(t) { + var e = { codirected: !1 }; + return ( + (t = Wt({}, e, t)), + o(function (n) { + for (var i = [], a = this.edges(), s = t, l = 0; l < a.length; l++) + for ( + var u = a[l], + h = u._private, + f = h.source, + d = f._private.data.id, + p = h.data.target, + m = f._private.edges, + g = 0; + g < m.length; + g++ + ) { + var y = m[g], + v = y._private.data, + x = v.target, + b = v.source, + w = x === p && b === d, + S = d === x && p === b; + ((s.codirected && w) || (!s.codirected && (w || S))) && i.push(y); + } + return this.spawn(i, !0).filter(n); + }, 'parallelEdgesImpl') + ); + } + function SKe(t, e, r, n) { + var i = 4, + a = 0.001, + s = 1e-7, + l = 10, + u = 11, + h = 1 / (u - 1), + f = typeof Float32Array < 'u'; + if (arguments.length !== 4) return !1; + for (var d = 0; d < 4; ++d) + if (typeof arguments[d] != 'number' || isNaN(arguments[d]) || !isFinite(arguments[d])) return !1; + (t = Math.min(t, 1)), (r = Math.min(r, 1)), (t = Math.max(t, 0)), (r = Math.max(r, 0)); + var p = f ? new Float32Array(u) : new Array(u); + function m(M, N) { + return 1 - 3 * N + 3 * M; + } + o(m, 'A'); + function g(M, N) { + return 3 * N - 6 * M; + } + o(g, 'B'); + function y(M) { + return 3 * M; + } + o(y, 'C'); + function v(M, N, k) { + return ((m(N, k) * M + g(N, k)) * M + y(N)) * M; + } + o(v, 'calcBezier'); + function x(M, N, k) { + return 3 * m(N, k) * M * M + 2 * g(N, k) * M + y(N); + } + o(x, 'getSlope'); + function b(M, N) { + for (var k = 0; k < i; ++k) { + var I = x(N, t, r); + if (I === 0) return N; + var C = v(N, t, r) - M; + N -= C / I; + } + return N; + } + o(b, 'newtonRaphsonIterate'); + function w() { + for (var M = 0; M < u; ++M) p[M] = v(M * h, t, r); + } + o(w, 'calcSampleValues'); + function S(M, N, k) { + var I, + C, + O = 0; + do (C = N + (k - N) / 2), (I = v(C, t, r) - M), I > 0 ? (k = C) : (N = C); + while (Math.abs(I) > s && ++O < l); + return C; + } + o(S, 'binarySubdivide'); + function T(M) { + for (var N = 0, k = 1, I = u - 1; k !== I && p[k] <= M; ++k) N += h; + --k; + var C = (M - p[k]) / (p[k + 1] - p[k]), + O = N + C * h, + D = x(O, t, r); + return D >= a ? b(M, O) : D === 0 ? O : S(M, N, N + h); + } + o(T, 'getTForX'); + var E = !1; + function _() { + (E = !0), (t !== e || r !== n) && w(); + } + o(_, 'precompute'); + var A = o(function (N) { + return E || _(), t === e && r === n ? N : N === 0 ? 0 : N === 1 ? 1 : v(T(N), e, n); + }, 'f'); + A.getControlPoints = function () { + return [ + { x: t, y: e }, + { x: r, y: n } + ]; + }; + var L = 'generateBezier(' + [t, e, r, n] + ')'; + return ( + (A.toString = function () { + return L; + }), + A + ); + } + function Q0e(t, e, r, n, i) { + if (n === 1 || e === r) return r; + var a = i(e, r, n); + return ( + t == null || + ((t.roundValue || t.color) && (a = Math.round(a)), + t.min !== void 0 && (a = Math.max(a, t.min)), + t.max !== void 0 && (a = Math.min(a, t.max))), + a + ); + } + function Z0e(t, e) { + return t.pfValue != null || t.value != null + ? t.pfValue != null && (e == null || e.type.units !== '%') + ? t.pfValue + : t.value + : t; + } + function jg(t, e, r, n, i) { + var a = i != null ? i.type : null; + r < 0 ? (r = 0) : r > 1 && (r = 1); + var s = Z0e(t, i), + l = Z0e(e, i); + if (ft(s) && ft(l)) return Q0e(a, s, l, r, n); + if (vn(s) && vn(l)) { + for (var u = [], h = 0; h < l.length; h++) { + var f = s[h], + d = l[h]; + if (f != null && d != null) { + var p = Q0e(a, f, d, r, n); + u.push(p); + } else u.push(d); + } + return u; + } + } + function _Ke(t, e, r, n) { + var i = !n, + a = t._private, + s = e._private, + l = s.easing, + u = s.startTime, + h = n ? t : t.cy(), + f = h.style(); + if (!s.easingImpl) + if (l == null) s.easingImpl = v6.linear; + else { + var d; + if (zt(l)) { + var p = f.parse('transition-timing-function', l); + d = p.value; + } else d = l; + var m, g; + zt(d) + ? ((m = d), (g = [])) + : ((m = d[1]), + (g = d.slice(2).map(function (B) { + return +B; + }))), + g.length > 0 + ? (m === 'spring' && g.push(s.duration), (s.easingImpl = v6[m].apply(null, g))) + : (s.easingImpl = v6[m]); + } + var y = s.easingImpl, + v; + if ( + (s.duration === 0 ? (v = 1) : (v = (r - u) / s.duration), + s.applying && (v = s.progress), + v < 0 ? (v = 0) : v > 1 && (v = 1), + s.delay == null) + ) { + var x = s.startPosition, + b = s.position; + if (b && i && !t.locked()) { + var w = {}; + Nx(x.x, b.x) && (w.x = jg(x.x, b.x, v, y)), Nx(x.y, b.y) && (w.y = jg(x.y, b.y, v, y)), t.position(w); + } + var S = s.startPan, + T = s.pan, + E = a.pan, + _ = T != null && n; + _ && + (Nx(S.x, T.x) && (E.x = jg(S.x, T.x, v, y)), Nx(S.y, T.y) && (E.y = jg(S.y, T.y, v, y)), t.emit('pan')); + var A = s.startZoom, + L = s.zoom, + M = L != null && n; + M && (Nx(A, L) && (a.zoom = Hx(a.minZoom, jg(A, L, v, y), a.maxZoom)), t.emit('zoom')), + (_ || M) && t.emit('viewport'); + var N = s.style; + if (N && N.length > 0 && i) { + for (var k = 0; k < N.length; k++) { + var I = N[k], + C = I.name, + O = I, + D = s.startStyle[C], + P = f.properties[D.name], + F = jg(D, O, v, y, P); + f.overrideBypass(t, C, F); + } + t.emit('style'); + } + } + return (s.progress = v), v; + } + function Nx(t, e) { + return t == null || e == null ? !1 : ft(t) && ft(e) ? !0 : !!(t && e); + } + function LKe(t, e, r, n) { + var i = e._private; + (i.started = !0), (i.startTime = r - i.progress * i.duration); + } + function J0e(t, e) { + var r = e._private.aniEles, + n = []; + function i(f, d) { + var p = f._private, + m = p.animation.current, + g = p.animation.queue, + y = !1; + if (m.length === 0) { + var v = g.shift(); + v && m.push(v); + } + for ( + var x = o(function (E) { + for (var _ = E.length - 1; _ >= 0; _--) { + var A = E[_]; + A(); + } + E.splice(0, E.length); + }, 'callbacks'), + b = m.length - 1; + b >= 0; + b-- + ) { + var w = m[b], + S = w._private; + if (S.stopped) { + m.splice(b, 1), (S.hooked = !1), (S.playing = !1), (S.started = !1), x(S.frames); + continue; + } + (!S.playing && !S.applying) || + (S.playing && S.applying && (S.applying = !1), + S.started || LKe(f, w, t), + _Ke(f, w, t, d), + S.applying && (S.applying = !1), + x(S.frames), + S.step != null && S.step(t), + w.completed() && + (m.splice(b, 1), (S.hooked = !1), (S.playing = !1), (S.started = !1), x(S.completes)), + (y = !0)); + } + return !d && m.length === 0 && g.length === 0 && n.push(f), y; + } + o(i, 'stepOne'); + for (var a = !1, s = 0; s < r.length; s++) { + var l = r[s], + u = i(l); + a = a || u; + } + var h = i(e, !0); + (a || h) && (r.length > 0 ? e.notify('draw', r) : e.notify('draw')), r.unmerge(n), e.emit('step'); + } + function Ame(t) { + this.options = Wt({}, BKe, FKe, t); + } + function _me(t) { + this.options = Wt({}, zKe, t); + } + function Lme(t) { + this.options = Wt({}, GKe, t); + } + function j6(t) { + (this.options = Wt({}, $Ke, t)), (this.options.layout = this); + var e = this.options.eles.nodes(), + r = this.options.eles.edges(), + n = r.filter(function (i) { + var a = i.source().data('id'), + s = i.target().data('id'), + l = e.some(function (h) { + return h.data('id') === a; + }), + u = e.some(function (h) { + return h.data('id') === s; + }); + return !l || !u; + }); + this.options.eles = this.options.eles.not(n); + } + function Rme(t) { + this.options = Wt({}, iQe, t); + } + function dB(t) { + this.options = Wt({}, aQe, t); + } + function Nme(t) { + this.options = Wt({}, sQe, t); + } + function Mme(t) { + this.options = Wt({}, oQe, t); + } + function Ime(t) { + (this.options = t), (this.notifications = 0); + } + function Bme(t, e) { + e.radius === 0 + ? t.lineTo(e.cx, e.cy) + : t.arc(e.cx, e.cy, e.radius, e.startAngle, e.endAngle, e.counterClockwise); + } + function mB(t, e, r, n) { + var i = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0; + return n === 0 || e.radius === 0 + ? { + cx: e.x, + cy: e.y, + radius: 0, + startX: e.x, + startY: e.y, + stopX: e.x, + stopY: e.y, + startAngle: void 0, + endAngle: void 0, + counterClockwise: void 0 + } + : (uQe(t, e, r, n, i), + { + cx: GP, + cy: $P, + radius: z0, + startX: Ome, + startY: Pme, + stopX: VP, + stopY: UP, + startAngle: Gc.ang + (Math.PI / 2) * G0, + endAngle: Jo.ang - (Math.PI / 2) * G0, + counterClockwise: w6 + }); + } + function Fme(t) { + var e = []; + if (t != null) { + for (var r = 0; r < t.length; r += 2) { + var n = t[r], + i = t[r + 1]; + e.push({ x: n, y: i }); + } + return e; + } + } + function hQe(t, e, r) { + for ( + var n = o(function (h, f, d, p) { + return aa(h, f, d, p); + }, 'qbezierAt$1'), + i = e._private, + a = i.rstyle.bezierPts, + s = 0; + s < t.bezierProjPcts.length; + s++ + ) { + var l = t.bezierProjPcts[s]; + a.push({ x: n(r[0], r[2], r[4], l), y: n(r[1], r[3], r[5], l) }); + } + } + function VQe(t, e) { + for (var r = 0; r < e.length; r++) { + var n = e[r]; + t.lineTo(n.x, n.y); + } + } + function UQe(t, e, r) { + for (var n, i = 0; i < e.length; i++) { + var a = e[i]; + i === 0 && (n = a), t.lineTo(a.x, a.y); + } + t.quadraticCurveTo(r.x, r.y, n.x, n.y); + } + function gpe(t, e, r) { + t.beginPath && t.beginPath(); + for (var n = e, i = 0; i < n.length; i++) { + var a = n[i]; + t.lineTo(a.x, a.y); + } + var s = r, + l = r[0]; + t.moveTo(l.x, l.y); + for (var i = 1; i < s.length; i++) { + var a = s[i]; + t.lineTo(a.x, a.y); + } + t.closePath && t.closePath(); + } + function HQe(t, e, r, n, i) { + t.beginPath && t.beginPath(), t.arc(r, n, i, 0, Math.PI * 2, !1); + var a = e, + s = a[0]; + t.moveTo(s.x, s.y); + for (var l = 0; l < a.length; l++) { + var u = a[l]; + t.lineTo(u.x, u.y); + } + t.closePath && t.closePath(); + } + function YQe(t, e, r, n) { + t.arc(e, r, n, 0, Math.PI * 2, !1); + } + function RP(t, e, r, n, i) { + var a = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : 5, + s = arguments.length > 6 ? arguments[6] : void 0; + t.beginPath(), + t.moveTo(e + a, r), + t.lineTo(e + n - a, r), + t.quadraticCurveTo(e + n, r, e + n, r + a), + t.lineTo(e + n, r + i - a), + t.quadraticCurveTo(e + n, r + i, e + n - a, r + i), + t.lineTo(e + a, r + i), + t.quadraticCurveTo(e, r + i, e, r + i - a), + t.lineTo(e, r + a), + t.quadraticCurveTo(e, r, e + a, r), + t.closePath(), + s ? t.stroke() : t.fill(); + } + function ZQe(t, e) { + for (var r = atob(t), n = new ArrayBuffer(r.length), i = new Uint8Array(n), a = 0; a < r.length; a++) + i[a] = r.charCodeAt(a); + return new Blob([n], { type: e }); + } + function xpe(t) { + var e = t.indexOf(','); + return t.substr(e + 1); + } + function Qme(t, e, r) { + var n = o(function () { + return e.toDataURL(r, t.quality); + }, 'getB64Uri'); + switch (t.output) { + case 'blob-promise': + return new u1(function (i, a) { + try { + e.toBlob( + function (s) { + s != null ? i(s) : a(new Error('`canvas.toBlob()` sent a null value in its callback')); + }, + r, + t.quality + ); + } catch (s) { + a(s); + } + }); + case 'blob': + return ZQe(xpe(n()), r); + case 'base64': + return xpe(n()); + case 'base64uri': + default: + return n(); + } + } + function Jme(t) { + var e = this, + r = e.cy.window(), + n = r.document; + e.data = { + canvases: new Array(Yr.CANVAS_LAYERS), + contexts: new Array(Yr.CANVAS_LAYERS), + canvasNeedsRedraw: new Array(Yr.CANVAS_LAYERS), + bufferCanvases: new Array(Yr.BUFFER_COUNT), + bufferContexts: new Array(Yr.CANVAS_LAYERS) + }; + var i = '-webkit-tap-highlight-color', + a = 'rgba(0,0,0,0)'; + e.data.canvasContainer = n.createElement('div'); + var s = e.data.canvasContainer.style; + (e.data.canvasContainer.style[i] = a), (s.position = 'relative'), (s.zIndex = '0'), (s.overflow = 'hidden'); + var l = t.cy.container(); + l.appendChild(e.data.canvasContainer), (l.style[i] = a); + var u = { + '-webkit-user-select': 'none', + '-moz-user-select': '-moz-none', + 'user-select': 'none', + '-webkit-tap-highlight-color': 'rgba(0,0,0,0)', + 'outline-style': 'none' + }; + GHe() && ((u['-ms-touch-action'] = 'none'), (u['touch-action'] = 'none')); + for (var h = 0; h < Yr.CANVAS_LAYERS; h++) { + var f = (e.data.canvases[h] = n.createElement('canvas')); + (e.data.contexts[h] = f.getContext('2d')), + Object.keys(u).forEach(function (Z) { + f.style[Z] = u[Z]; + }), + (f.style.position = 'absolute'), + f.setAttribute('data-id', 'layer' + h), + (f.style.zIndex = String(Yr.CANVAS_LAYERS - h)), + e.data.canvasContainer.appendChild(f), + (e.data.canvasNeedsRedraw[h] = !1); + } + (e.data.topCanvas = e.data.canvases[0]), + e.data.canvases[Yr.NODE].setAttribute('data-id', 'layer' + Yr.NODE + '-node'), + e.data.canvases[Yr.SELECT_BOX].setAttribute('data-id', 'layer' + Yr.SELECT_BOX + '-selectbox'), + e.data.canvases[Yr.DRAG].setAttribute('data-id', 'layer' + Yr.DRAG + '-drag'); + for (var h = 0; h < Yr.BUFFER_COUNT; h++) + (e.data.bufferCanvases[h] = n.createElement('canvas')), + (e.data.bufferContexts[h] = e.data.bufferCanvases[h].getContext('2d')), + (e.data.bufferCanvases[h].style.position = 'absolute'), + e.data.bufferCanvases[h].setAttribute('data-id', 'buffer' + h), + (e.data.bufferCanvases[h].style.zIndex = String(-h - 1)), + (e.data.bufferCanvases[h].style.visibility = 'hidden'); + e.pathsEnabled = !0; + var d = Gs(), + p = o(function (H) { + return { x: (H.x1 + H.x2) / 2, y: (H.y1 + H.y2) / 2 }; + }, 'getBoxCenter'), + m = o(function (H) { + return { x: -H.w / 2, y: -H.h / 2 }; + }, 'getCenterOffset'), + g = o(function (H) { + var q = H[0]._private, + K = q.oldBackgroundTimestamp === q.backgroundTimestamp; + return !K; + }, 'backgroundTimestampHasChanged'), + y = o(function (H) { + return H[0]._private.nodeKey; + }, 'getStyleKey'), + v = o(function (H) { + return H[0]._private.labelStyleKey; + }, 'getLabelKey'), + x = o(function (H) { + return H[0]._private.sourceLabelStyleKey; + }, 'getSourceLabelKey'), + b = o(function (H) { + return H[0]._private.targetLabelStyleKey; + }, 'getTargetLabelKey'), + w = o(function (H, q, K, se, ce) { + return e.drawElement(H, q, K, !1, !1, ce); + }, 'drawElement'), + S = o(function (H, q, K, se, ce) { + return e.drawElementText(H, q, K, se, 'main', ce); + }, 'drawLabel'), + T = o(function (H, q, K, se, ce) { + return e.drawElementText(H, q, K, se, 'source', ce); + }, 'drawSourceLabel'), + E = o(function (H, q, K, se, ce) { + return e.drawElementText(H, q, K, se, 'target', ce); + }, 'drawTargetLabel'), + _ = o(function (H) { + return H.boundingBox(), H[0]._private.bodyBounds; + }, 'getElementBox'), + A = o(function (H) { + return H.boundingBox(), H[0]._private.labelBounds.main || d; + }, 'getLabelBox'), + L = o(function (H) { + return H.boundingBox(), H[0]._private.labelBounds.source || d; + }, 'getSourceLabelBox'), + M = o(function (H) { + return H.boundingBox(), H[0]._private.labelBounds.target || d; + }, 'getTargetLabelBox'), + N = o(function (H, q) { + return q; + }, 'isLabelVisibleAtScale'), + k = o(function (H) { + return p(_(H)); + }, 'getElementRotationPoint'), + I = o(function (H, q, K) { + var se = H ? H + '-' : ''; + return { + x: q.x + K.pstyle(se + 'text-margin-x').pfValue, + y: q.y + K.pstyle(se + 'text-margin-y').pfValue + }; + }, 'addTextMargin'), + C = o(function (H, q, K) { + var se = H[0]._private.rscratch; + return { x: se[q], y: se[K] }; + }, 'getRsPt'), + O = o(function (H) { + return I('', C(H, 'labelX', 'labelY'), H); + }, 'getLabelRotationPoint'), + D = o(function (H) { + return I('source', C(H, 'sourceLabelX', 'sourceLabelY'), H); + }, 'getSourceLabelRotationPoint'), + P = o(function (H) { + return I('target', C(H, 'targetLabelX', 'targetLabelY'), H); + }, 'getTargetLabelRotationPoint'), + F = o(function (H) { + return m(_(H)); + }, 'getElementRotationOffset'), + B = o(function (H) { + return m(L(H)); + }, 'getSourceLabelRotationOffset'), + $ = o(function (H) { + return m(M(H)); + }, 'getTargetLabelRotationOffset'), + z = o(function (H) { + var q = A(H), + K = m(A(H)); + if (H.isNode()) { + switch (H.pstyle('text-halign').value) { + case 'left': + K.x = -q.w; + break; + case 'right': + K.x = 0; + break; + } + switch (H.pstyle('text-valign').value) { + case 'top': + K.y = -q.h; + break; + case 'bottom': + K.y = 0; + break; + } + } + return K; + }, 'getLabelRotationOffset'), + Y = (e.data.eleTxrCache = new Bx(e, { + getKey: y, + doesEleInvalidateKey: g, + drawElement: w, + getBoundingBox: _, + getRotationPoint: k, + getRotationOffset: F, + allowEdgeTxrCaching: !1, + allowParentTxrCaching: !1 + })), + Q = (e.data.lblTxrCache = new Bx(e, { + getKey: v, + drawElement: S, + getBoundingBox: A, + getRotationPoint: O, + getRotationOffset: z, + isVisible: N + })), + X = (e.data.slbTxrCache = new Bx(e, { + getKey: x, + drawElement: T, + getBoundingBox: L, + getRotationPoint: D, + getRotationOffset: B, + isVisible: N + })), + ie = (e.data.tlbTxrCache = new Bx(e, { + getKey: b, + drawElement: E, + getBoundingBox: M, + getRotationPoint: P, + getRotationOffset: $, + isVisible: N + })), + j = (e.data.lyrTxrCache = new Wme(e)); + e.onUpdateEleCalcs( + o(function (H, q) { + Y.invalidateElements(q), + Q.invalidateElements(q), + X.invalidateElements(q), + ie.invalidateElements(q), + j.invalidateElements(q); + for (var K = 0; K < q.length; K++) { + var se = q[K]._private; + se.oldBackgroundTimestamp = se.backgroundTimestamp; + } + }, 'invalidateTextureCaches') + ); + var J = o(function (H) { + for (var q = 0; q < H.length; q++) j.enqueueElementRefinement(H[q].ele); + }, 'refineInLayers'); + Y.onDequeue(J), Q.onDequeue(J), X.onDequeue(J), ie.onDequeue(J); + } + function rge(t, e, r) { + var n = r, + i = o(function (A) { + tn( + 'Can not register `' + + e + + '` for `' + + t + + '` since `' + + A + + '` already exists in the prototype and can not be overridden' + ); + }, 'overrideErr'); + if (t === 'core') { + if (Kx.prototype[e]) return i(e); + Kx.prototype[e] = r; + } else if (t === 'collection') { + if (Ca.prototype[e]) return i(e); + Ca.prototype[e] = r; + } else if (t === 'layout') { + for ( + var a = o(function (A) { + (this.options = A), + r.call(this, A), + Mr(this._private) || (this._private = {}), + (this._private.cy = A.cy), + (this._private.listeners = []), + this.createEmitter(); + }, 'Layout'), + s = (a.prototype = Object.create(r.prototype)), + l = [], + u = 0; + u < l.length; + u++ + ) { + var h = l[u]; + s[h] = + s[h] || + function () { + return this; + }; + } + s.start && !s.run + ? (s.run = function () { + return this.start(), this; + }) + : !s.start && + s.run && + (s.start = function () { + return this.run(), this; + }); + var f = r.prototype.stop; + (s.stop = function () { + var _ = this.options; + if (_ && _.animate) { + var A = this.animations; + if (A) for (var L = 0; L < A.length; L++) A[L].stop(); + } + return f ? f.call(this) : this.emit('layoutstop'), this; + }), + s.destroy || + (s.destroy = function () { + return this; + }), + (s.cy = function () { + return this._private.cy; + }); + var d = o(function (A) { + return A._private.cy; + }, 'getCy'), + p = { + addEventFields: o(function (A, L) { + (L.layout = A), (L.cy = d(A)), (L.target = A); + }, 'addEventFields'), + bubble: o(function () { + return !0; + }, 'bubble'), + parent: o(function (A) { + return d(A); + }, 'parent') + }; + Wt(s, { + createEmitter: o(function () { + return (this._private.emitter = new H6(p, this)), this; + }, 'createEmitter'), + emitter: o(function () { + return this._private.emitter; + }, 'emitter'), + on: o(function (A, L) { + return this.emitter().on(A, L), this; + }, 'on'), + one: o(function (A, L) { + return this.emitter().one(A, L), this; + }, 'one'), + once: o(function (A, L) { + return this.emitter().one(A, L), this; + }, 'once'), + removeListener: o(function (A, L) { + return this.emitter().removeListener(A, L), this; + }, 'removeListener'), + removeAllListeners: o(function () { + return this.emitter().removeAllListeners(), this; + }, 'removeAllListeners'), + emit: o(function (A, L) { + return this.emitter().emit(A, L), this; + }, 'emit') + }), + en.eventAliasesOn(s), + (n = a); + } else if (t === 'renderer' && e !== 'null' && e !== 'base') { + var m = nge('renderer', 'base'), + g = m.prototype, + y = r, + v = r.prototype, + x = o(function () { + m.apply(this, arguments), y.apply(this, arguments); + }, 'Renderer'), + b = x.prototype; + for (var w in g) { + var S = g[w], + T = v[w] != null; + if (T) return i(w); + b[w] = S; + } + for (var E in v) b[E] = v[E]; + g.clientFunctions.forEach(function (_) { + b[_] = + b[_] || + function () { + oi('Renderer does not implement `renderer.' + _ + '()` on its prototype'); + }; + }), + (n = x); + } else if (t === '__proto__' || t === 'constructor' || t === 'prototype') + return oi(t + ' is an illegal type to be registered, possibly lead to prototype pollutions'); + return _pe({ map: ege, keys: [t, e], value: n }); + } + function nge(t, e) { + return Lpe({ map: ege, keys: [t, e] }); + } + function nZe(t, e, r, n, i) { + return _pe({ map: tge, keys: [t, e, r, n], value: i }); + } + function iZe(t, e, r, n) { + return Lpe({ map: tge, keys: [t, e, r, n] }); + } + var Vi, + l0e, + RHe, + kpe, + NHe, + MHe, + Qx, + zt, + jn, + vn, + Mr, + IHe, + ft, + OHe, + k6, + xo, + Zx, + Epe, + KP, + Cpe, + PHe, + Sf, + BHe, + FHe, + zHe, + GHe, + Gx, + QP, + I6, + Spe, + c0e, + Ui, + $He, + VHe, + UHe, + HHe, + YHe, + WHe, + Ape, + qHe, + Wt, + XHe, + jHe, + KHe, + QHe, + ZHe, + JHe, + _pe, + Lpe, + V0, + Mx, + rYe, + nYe, + iYe, + aYe, + O6, + sYe, + xP, + oYe, + cYe, + uYe, + fYe, + dYe, + a1, + Dpe, + pYe, + mYe, + _x, + yYe, + vYe, + xYe, + wYe, + TYe, + kYe, + u0e, + Rpe, + SYe, + AYe, + Jx, + h0e, + LYe, + DYe, + RYe, + NYe, + f0e, + IYe, + OYe, + PYe, + P6, + bP, + Npe, + FYe, + E6, + Ku, + Zg, + Mpe, + Ix, + Ipe, + $x, + Vx, + zYe, + bf, + r6, + GYe, + U0, + Ope, + $Ye, + d0e, + VYe, + UYe, + ZP, + Ppe, + C6, + p0e, + JP, + oi, + Bpe, + tn, + HYe, + $c, + YYe, + Fpe, + WYe, + zpe, + Sa, + Af, + eB, + qYe, + Ul, + Tf, + XYe, + Vc, + jYe, + KYe, + c1, + B6, + m0e, + Ux, + QYe, + eb, + ZYe, + JYe, + eWe, + tWe, + rWe, + nWe, + iWe, + aWe, + sWe, + oWe, + lWe, + wP, + cWe, + uWe, + F6, + Gpe, + Jg, + hWe, + fWe, + dWe, + pWe, + mWe, + n6, + tB, + $pe, + H0, + B0, + gWe, + aa, + t1, + yWe, + Hx, + Gs, + vWe, + xWe, + bWe, + Vpe, + wWe, + p6, + m6, + g0e, + rB, + s1, + TWe, + Upe, + Hpe, + kWe, + EWe, + CWe, + SWe, + AWe, + _We, + zs, + Qu, + LWe, + S6, + A6, + DWe, + $0, + Ox, + TP, + kf, + Yx, + RWe, + i6, + ls, + Ype, + NP, + Y0, + Wpe, + nB, + NWe, + MP, + MWe, + IWe, + y0e, + r1, + v0e, + n1, + OWe, + IP, + PWe, + BWe, + FWe, + zWe, + qpe, + GWe, + $We, + VWe, + UWe, + HWe, + YWe, + WWe, + x0e, + qWe, + XWe, + Xpe, + b0e, + w0e, + jWe, + KWe, + Lx, + o1, + QWe, + iB, + _6, + kP, + jpe, + Kpe, + ZWe, + JWe, + eqe, + T0e, + k0e, + tqe, + rqe, + nqe, + iqe, + aqe, + E0e, + sqe, + oqe, + lqe, + cqe, + C0e, + a6, + uqe, + hqe, + S0e, + fqe, + dqe, + pqe, + mqe, + gqe, + yqe, + A0e, + vqe, + _0e, + xqe, + bqe, + wqe, + s6, + Tqe, + o6, + kqe, + Qpe, + Zpe, + Jpe, + eme, + Zu, + L0e, + tme, + D0e, + R0e, + Eqe, + u1, + OP, + W0, + Cqe, + Sqe, + G6, + Aqe, + _qe, + Dqe, + Rqe, + Nqe, + Mqe, + Iqe, + Pqe, + Bqe, + EP, + N0e, + zqe, + Gqe, + $qe, + Uqe, + Hqe, + Yqe, + Wqe, + qqe, + Xqe, + jqe, + Kqe, + Zqe, + eXe, + aB, + rXe, + Wx, + iXe, + sXe, + oXe, + lXe, + cXe, + hXe, + fXe, + dXe, + mXe, + gXe, + vXe, + M0e, + bXe, + rme, + $6, + kXe, + EXe, + SXe, + _Xe, + DXe, + NXe, + MXe, + IXe, + OXe, + BXe, + zXe, + V6, + VXe, + HXe, + WXe, + XXe, + nme, + jXe, + KXe, + QXe, + JXe, + eje, + tje, + rje, + ime, + ame, + ije, + I0e, + O0e, + aje, + ome, + lme, + lje, + oB, + hje, + dje, + pje, + P0e, + gje, + yje, + vje, + bje, + wje, + Tje, + Eje, + Sje, + _je, + Dje, + Nje, + Mje, + Ije, + en, + Oje, + g6, + Nr, + un, + Ct, + PP, + Pje, + Bje, + Fje, + qg, + wf, + BP, + zje, + Gje, + $je, + Vje, + Uje, + cme, + Hje, + Yje, + lB, + Wje, + li, + In, + qje, + Xje, + jje, + _f, + Lf, + Ef, + tl, + l1, + qx, + fme, + Qje, + U6, + Hl, + dme, + pme, + B0e, + Zje, + i1, + Rf, + el, + Vl, + F0, + Dx, + l6, + SP, + Jje, + eKe, + mme, + gme, + F0e, + Xx, + z0e, + G0e, + tKe, + Px, + tb, + yme, + rKe, + nKe, + iKe, + aKe, + sKe, + oKe, + lKe, + cKe, + uKe, + $0e, + hKe, + fKe, + dKe, + vme, + xme, + pKe, + bme, + V0e, + mKe, + Df, + wme, + U0e, + gKe, + yKe, + u6, + Tme, + kme, + Wr, + vKe, + Eme, + L6, + xKe, + bKe, + y6, + Ea, + p1, + wKe, + TKe, + kKe, + EKe, + Cf, + Fa, + Y0e, + W0e, + q0e, + Ca, + Dn, + CKe, + AKe, + Ln, + v6, + DKe, + RKe, + h6, + Sme, + FP, + x6, + NKe, + MKe, + zP, + b6, + Ga, + Fx, + IKe, + rb, + hB, + Uc, + q6, + fB, + ka, + X6, + Ba, + za, + OKe, + PKe, + q0, + jx, + Kx, + D6, + BKe, + FKe, + Kg, + epe, + zKe, + GKe, + _P, + $Ke, + VKe, + UKe, + HKe, + YKe, + WKe, + Dme, + qKe, + XKe, + jKe, + tpe, + KKe, + QKe, + R6, + ZKe, + JKe, + eQe, + tQe, + rQe, + nQe, + rpe, + iQe, + aQe, + sQe, + oQe, + lQe, + npe, + ipe, + pB, + j0, + N6, + GP, + $P, + Gc, + Jo, + ape, + spe, + G0, + w6, + ju, + O0, + z0, + zc, + Qg, + f6, + Ome, + Pme, + VP, + UP, + ope, + lpe, + cQe, + uQe, + $a, + nb, + gB, + Hc, + zme, + Gme, + fQe, + $me, + cpe, + upe, + K6, + Q6, + Vme, + Ume, + g1, + Ju, + ib, + hpe, + dQe, + Hme, + y1, + LP, + Yme, + pQe, + fpe, + d6, + T6, + HP, + mQe, + gQe, + yQe, + vQe, + xQe, + bQe, + wQe, + TQe, + kQe, + EQe, + CQe, + SQe, + AQe, + _Qe, + e1, + LQe, + Bx, + Yi, + DQe, + zx, + M6, + RQe, + NQe, + MQe, + IQe, + OQe, + PQe, + BQe, + FQe, + dpe, + zQe, + GQe, + Wme, + Aa, + ppe, + $Qe, + qme, + mpe, + Yc, + WQe, + qQe, + XQe, + jQe, + KQe, + DP, + eh, + Xme, + yB, + K0, + v1, + jme, + bo, + QQe, + Nf, + ype, + vpe, + YP, + WP, + Kme, + P0, + ab, + Zme, + JQe, + Yr, + eZe, + tZe, + rZe, + ege, + tge, + qP, + ige, + X0, + aZe, + rl, + vB = R(() => { + 'use strict'; + o(Hi, '_typeof'); + o(XP, '_classCallCheck'); + o(s0e, '_defineProperties'); + o(jP, '_createClass'); + o(bpe, '_defineProperty$1'); + o($l, '_slicedToArray'); + o(_He, '_arrayWithHoles'); + o(LHe, '_iterableToArrayLimit'); + o(wpe, '_unsupportedIterableToArray'); + o(o0e, '_arrayLikeToArray'); + o(DHe, '_nonIterableRest'); + o(Tpe, '_createForOfIteratorHelper'); + (Vi = typeof window > 'u' ? null : window), (l0e = Vi ? Vi.navigator : null); + Vi && Vi.document; + (RHe = Hi('')), + (kpe = Hi({})), + (NHe = Hi(function () {})), + (MHe = typeof HTMLElement > 'u' ? 'undefined' : Hi(HTMLElement)), + (Qx = o(function (e) { + return e && e.instanceString && jn(e.instanceString) ? e.instanceString() : null; + }, 'instanceStr')), + (zt = o(function (e) { + return e != null && Hi(e) == RHe; + }, 'string')), + (jn = o(function (e) { + return e != null && Hi(e) === NHe; + }, 'fn')), + (vn = o(function (e) { + return !xo(e) && (Array.isArray ? Array.isArray(e) : e != null && e instanceof Array); + }, 'array')), + (Mr = o(function (e) { + return e != null && Hi(e) === kpe && !vn(e) && e.constructor === Object; + }, 'plainObject')), + (IHe = o(function (e) { + return e != null && Hi(e) === kpe; + }, 'object')), + (ft = o(function (e) { + return e != null && Hi(e) === Hi(1) && !isNaN(e); + }, 'number')), + (OHe = o(function (e) { + return ft(e) && Math.floor(e) === e; + }, 'integer')), + (k6 = o(function (e) { + if (MHe !== 'undefined') return e != null && e instanceof HTMLElement; + }, 'htmlElement')), + (xo = o(function (e) { + return Zx(e) || Epe(e); + }, 'elementOrCollection')), + (Zx = o(function (e) { + return Qx(e) === 'collection' && e._private.single; + }, 'element')), + (Epe = o(function (e) { + return Qx(e) === 'collection' && !e._private.single; + }, 'collection')), + (KP = o(function (e) { + return Qx(e) === 'core'; + }, 'core')), + (Cpe = o(function (e) { + return Qx(e) === 'stylesheet'; + }, 'stylesheet')), + (PHe = o(function (e) { + return Qx(e) === 'event'; + }, 'event')), + (Sf = o(function (e) { + return e == null ? !0 : !!(e === '' || e.match(/^\s+$/)); + }, 'emptyString')), + (BHe = o(function (e) { + return typeof HTMLElement > 'u' ? !1 : e instanceof HTMLElement; + }, 'domElement')), + (FHe = o(function (e) { + return Mr(e) && ft(e.x1) && ft(e.x2) && ft(e.y1) && ft(e.y2); + }, 'boundingBox')), + (zHe = o(function (e) { + return IHe(e) && jn(e.then); + }, 'promise')), + (GHe = o(function () { + return l0e && l0e.userAgent.match(/msie|trident|edge/i); + }, 'ms')), + (Gx = o(function (e, r) { + r || + (r = o(function () { + if (arguments.length === 1) return arguments[0]; + if (arguments.length === 0) return 'undefined'; + for (var a = [], s = 0; s < arguments.length; s++) a.push(arguments[s]); + return a.join('$'); + }, 'keyFn')); + var n = o(function i() { + var a = this, + s = arguments, + l, + u = r.apply(a, s), + h = i.cache; + return (l = h[u]) || (l = h[u] = e.apply(a, s)), l; + }, 'memoizedFn'); + return (n.cache = {}), n; + }, 'memoize')), + (QP = Gx(function (t) { + return t.replace(/([A-Z])/g, function (e) { + return '-' + e.toLowerCase(); + }); + })), + (I6 = Gx(function (t) { + return t.replace(/(-\w)/g, function (e) { + return e[1].toUpperCase(); + }); + })), + (Spe = Gx( + function (t, e) { + return t + e[0].toUpperCase() + e.substring(1); + }, + function (t, e) { + return t + '$' + e; + } + )), + (c0e = o(function (e) { + return Sf(e) ? e : e.charAt(0).toUpperCase() + e.substring(1); + }, 'capitalize')), + (Ui = '(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))'), + ($He = + 'rgb[a]?\\((' + + Ui + + '[%]?)\\s*,\\s*(' + + Ui + + '[%]?)\\s*,\\s*(' + + Ui + + '[%]?)(?:\\s*,\\s*(' + + Ui + + '))?\\)'), + (VHe = + 'rgb[a]?\\((?:' + + Ui + + '[%]?)\\s*,\\s*(?:' + + Ui + + '[%]?)\\s*,\\s*(?:' + + Ui + + '[%]?)(?:\\s*,\\s*(?:' + + Ui + + '))?\\)'), + (UHe = + 'hsl[a]?\\((' + + Ui + + ')\\s*,\\s*(' + + Ui + + '[%])\\s*,\\s*(' + + Ui + + '[%])(?:\\s*,\\s*(' + + Ui + + '))?\\)'), + (HHe = + 'hsl[a]?\\((?:' + + Ui + + ')\\s*,\\s*(?:' + + Ui + + '[%])\\s*,\\s*(?:' + + Ui + + '[%])(?:\\s*,\\s*(?:' + + Ui + + '))?\\)'), + (YHe = '\\#[0-9a-fA-F]{3}'), + (WHe = '\\#[0-9a-fA-F]{6}'), + (Ape = o(function (e, r) { + return e < r ? -1 : e > r ? 1 : 0; + }, 'ascending')), + (qHe = o(function (e, r) { + return -1 * Ape(e, r); + }, 'descending')), + (Wt = + Object.assign != null + ? Object.assign.bind(Object) + : function (t) { + for (var e = arguments, r = 1; r < e.length; r++) { + var n = e[r]; + if (n != null) + for (var i = Object.keys(n), a = 0; a < i.length; a++) { + var s = i[a]; + t[s] = n[s]; + } + } + return t; + }), + (XHe = o(function (e) { + if (!(!(e.length === 4 || e.length === 7) || e[0] !== '#')) { + var r = e.length === 4, + n, + i, + a, + s = 16; + return ( + r + ? ((n = parseInt(e[1] + e[1], s)), + (i = parseInt(e[2] + e[2], s)), + (a = parseInt(e[3] + e[3], s))) + : ((n = parseInt(e[1] + e[2], s)), + (i = parseInt(e[3] + e[4], s)), + (a = parseInt(e[5] + e[6], s))), + [n, i, a] + ); + } + }, 'hex2tuple')), + (jHe = o(function (e) { + var r, n, i, a, s, l, u, h; + function f(g, y, v) { + return ( + v < 0 && (v += 1), + v > 1 && (v -= 1), + v < 1 / 6 + ? g + (y - g) * 6 * v + : v < 1 / 2 + ? y + : v < 2 / 3 + ? g + (y - g) * (2 / 3 - v) * 6 + : g + ); + } + o(f, 'hue2rgb'); + var d = new RegExp('^' + UHe + '$').exec(e); + if (d) { + if ( + ((n = parseInt(d[1])), + n < 0 ? (n = (360 - ((-1 * n) % 360)) % 360) : n > 360 && (n = n % 360), + (n /= 360), + (i = parseFloat(d[2])), + i < 0 || + i > 100 || + ((i = i / 100), (a = parseFloat(d[3])), a < 0 || a > 100) || + ((a = a / 100), (s = d[4]), s !== void 0 && ((s = parseFloat(s)), s < 0 || s > 1))) + ) + return; + if (i === 0) l = u = h = Math.round(a * 255); + else { + var p = a < 0.5 ? a * (1 + i) : a + i - a * i, + m = 2 * a - p; + (l = Math.round(255 * f(m, p, n + 1 / 3))), + (u = Math.round(255 * f(m, p, n))), + (h = Math.round(255 * f(m, p, n - 1 / 3))); + } + r = [l, u, h, s]; + } + return r; + }, 'hsl2tuple')), + (KHe = o(function (e) { + var r, + n = new RegExp('^' + $He + '$').exec(e); + if (n) { + r = []; + for (var i = [], a = 1; a <= 3; a++) { + var s = n[a]; + if ( + (s[s.length - 1] === '%' && (i[a] = !0), + (s = parseFloat(s)), + i[a] && (s = (s / 100) * 255), + s < 0 || s > 255) + ) + return; + r.push(Math.floor(s)); + } + var l = i[1] || i[2] || i[3], + u = i[1] && i[2] && i[3]; + if (l && !u) return; + var h = n[4]; + if (h !== void 0) { + if (((h = parseFloat(h)), h < 0 || h > 1)) return; + r.push(h); + } + } + return r; + }, 'rgb2tuple')), + (QHe = o(function (e) { + return JHe[e.toLowerCase()]; + }, 'colorname2tuple')), + (ZHe = o(function (e) { + return (vn(e) ? e : null) || QHe(e) || XHe(e) || KHe(e) || jHe(e); + }, 'color2tuple')), + (JHe = { + 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] + }), + (_pe = o(function (e) { + for (var r = e.map, n = e.keys, i = n.length, a = 0; a < i; a++) { + var s = n[a]; + if (Mr(s)) throw Error('Tried to set map with object key'); + a < n.length - 1 ? (r[s] == null && (r[s] = {}), (r = r[s])) : (r[s] = e.value); + } + }, 'setMap')), + (Lpe = o(function (e) { + for (var r = e.map, n = e.keys, i = n.length, a = 0; a < i; a++) { + var s = n[a]; + if (Mr(s)) throw Error('Tried to get map with object key'); + if (((r = r[s]), r == null)) return r; + } + return r; + }, 'getMap')); + o(eYe, 'isObject'); + (V0 = eYe), + (Mx = + typeof globalThis < 'u' + ? globalThis + : typeof window < 'u' + ? window + : typeof global < 'u' + ? global + : typeof self < 'u' + ? self + : {}); + o(tYe, 'createCommonjsModule'); + (rYe = typeof Mx == 'object' && Mx && Mx.Object === Object && Mx), + (nYe = rYe), + (iYe = typeof self == 'object' && self && self.Object === Object && self), + (aYe = nYe || iYe || Function('return this')()), + (O6 = aYe), + (sYe = o(function () { + return O6.Date.now(); + }, 'now')), + (xP = sYe), + (oYe = /\s/); + o(lYe, 'trimmedEndIndex'); + (cYe = lYe), (uYe = /^\s+/); + o(hYe, 'baseTrim'); + (fYe = hYe), + (dYe = O6.Symbol), + (a1 = dYe), + (Dpe = Object.prototype), + (pYe = Dpe.hasOwnProperty), + (mYe = Dpe.toString), + (_x = a1 ? a1.toStringTag : void 0); + o(gYe, 'getRawTag'); + (yYe = gYe), (vYe = Object.prototype), (xYe = vYe.toString); + o(bYe, 'objectToString'); + (wYe = bYe), (TYe = '[object Null]'), (kYe = '[object Undefined]'), (u0e = a1 ? a1.toStringTag : void 0); + o(EYe, 'baseGetTag'); + Rpe = EYe; + o(CYe, 'isObjectLike'); + (SYe = CYe), (AYe = '[object Symbol]'); + o(_Ye, 'isSymbol'); + (Jx = _Ye), + (h0e = NaN), + (LYe = /^[-+]0x[0-9a-f]+$/i), + (DYe = /^0b[01]+$/i), + (RYe = /^0o[0-7]+$/i), + (NYe = parseInt); + o(MYe, 'toNumber'); + (f0e = MYe), (IYe = 'Expected a function'), (OYe = Math.max), (PYe = Math.min); + o(BYe, 'debounce'); + (P6 = BYe), + (bP = Vi ? Vi.performance : null), + (Npe = + bP && bP.now + ? function () { + return bP.now(); + } + : function () { + return Date.now(); + }), + (FYe = (function () { + if (Vi) { + if (Vi.requestAnimationFrame) + return function (t) { + Vi.requestAnimationFrame(t); + }; + if (Vi.mozRequestAnimationFrame) + return function (t) { + Vi.mozRequestAnimationFrame(t); + }; + if (Vi.webkitRequestAnimationFrame) + return function (t) { + Vi.webkitRequestAnimationFrame(t); + }; + if (Vi.msRequestAnimationFrame) + return function (t) { + Vi.msRequestAnimationFrame(t); + }; + } + return function (t) { + t && + setTimeout(function () { + t(Npe()); + }, 1e3 / 60); + }; + })()), + (E6 = o(function (e) { + return FYe(e); + }, 'requestAnimationFrame')), + (Ku = Npe), + (Zg = 9261), + (Mpe = 65599), + (Ix = 5381), + (Ipe = o(function (e) { + for ( + var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Zg, n = r, i; + (i = e.next()), !i.done; + + ) + n = (n * Mpe + i.value) | 0; + return n; + }, 'hashIterableInts')), + ($x = o(function (e) { + var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Zg; + return (r * Mpe + e) | 0; + }, 'hashInt')), + (Vx = o(function (e) { + var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Ix; + return ((r << 5) + r + e) | 0; + }, 'hashIntAlt')), + (zYe = o(function (e, r) { + return e * 2097152 + r; + }, 'combineHashes')), + (bf = o(function (e) { + return e[0] * 2097152 + e[1]; + }, 'combineHashesArray')), + (r6 = o(function (e, r) { + return [$x(e[0], r[0]), Vx(e[1], r[1])]; + }, 'hashArrays')), + (GYe = o(function (e, r) { + var n = { value: 0, done: !1 }, + i = 0, + a = e.length, + s = { + next: o(function () { + return i < a ? (n.value = e[i++]) : (n.done = !0), n; + }, 'next') + }; + return Ipe(s, r); + }, 'hashIntsArray')), + (U0 = o(function (e, r) { + var n = { value: 0, done: !1 }, + i = 0, + a = e.length, + s = { + next: o(function () { + return i < a ? (n.value = e.charCodeAt(i++)) : (n.done = !0), n; + }, 'next') + }; + return Ipe(s, r); + }, 'hashString')), + (Ope = o(function () { + return $Ye(arguments); + }, 'hashStrings')), + ($Ye = o(function (e) { + for (var r, n = 0; n < e.length; n++) { + var i = e[n]; + n === 0 ? (r = U0(i)) : (r = U0(i, r)); + } + return r; + }, 'hashStringsArray')), + (d0e = !0), + (VYe = console.warn != null), + (UYe = console.trace != null), + (ZP = Number.MAX_SAFE_INTEGER || 9007199254740991), + (Ppe = o(function () { + return !0; + }, 'trueify')), + (C6 = o(function () { + return !1; + }, 'falsify')), + (p0e = o(function () { + return 0; + }, 'zeroify')), + (JP = o(function () {}, 'noop')), + (oi = o(function (e) { + throw new Error(e); + }, 'error')), + (Bpe = o(function (e) { + if (e !== void 0) d0e = !!e; + else return d0e; + }, 'warnings')), + (tn = o(function (e) { + Bpe() && (VYe ? console.warn(e) : (console.log(e), UYe && console.trace())); + }, 'warn')), + (HYe = o(function (e) { + return Wt({}, e); + }, 'clone')), + ($c = o(function (e) { + return e == null ? e : vn(e) ? e.slice() : Mr(e) ? HYe(e) : e; + }, 'copy')), + (YYe = o(function (e) { + return e.slice(); + }, 'copyArray')), + (Fpe = o(function (e, r) { + for ( + r = e = ''; + e++ < 36; + r += (e * 51) & 52 ? (e ^ 15 ? 8 ^ (Math.random() * (e ^ 20 ? 16 : 4)) : 4).toString(16) : '-' + ); + return r; + }, 'uuid')), + (WYe = {}), + (zpe = o(function () { + return WYe; + }, 'staticEmptyObject')), + (Sa = o(function (e) { + var r = Object.keys(e); + return function (n) { + for (var i = {}, a = 0; a < r.length; a++) { + var s = r[a], + l = n?.[s]; + i[s] = l === void 0 ? e[s] : l; + } + return i; + }; + }, 'defaults')), + (Af = o(function (e, r, n) { + for (var i = e.length - 1; i >= 0 && !(e[i] === r && (e.splice(i, 1), n)); i--); + }, 'removeFromArray')), + (eB = o(function (e) { + e.splice(0, e.length); + }, 'clearArray')), + (qYe = o(function (e, r) { + for (var n = 0; n < r.length; n++) { + var i = r[n]; + e.push(i); + } + }, 'push')), + (Ul = o(function (e, r, n) { + return n && (r = Spe(n, r)), e[r]; + }, 'getPrefixedProperty')), + (Tf = o(function (e, r, n, i) { + n && (r = Spe(n, r)), (e[r] = i); + }, 'setPrefixedProperty')), + (XYe = (function () { + function t() { + XP(this, t), (this._obj = {}); + } + return ( + o(t, 'ObjectMap'), + jP(t, [ + { + key: 'set', + value: o(function (r, n) { + return (this._obj[r] = n), this; + }, 'set') + }, + { + key: 'delete', + value: o(function (r) { + return (this._obj[r] = void 0), this; + }, '_delete') + }, + { + key: 'clear', + value: o(function () { + this._obj = {}; + }, 'clear') + }, + { + key: 'has', + value: o(function (r) { + return this._obj[r] !== void 0; + }, 'has') + }, + { + key: 'get', + value: o(function (r) { + return this._obj[r]; + }, 'get') + } + ]), + t + ); + })()), + (Vc = typeof Map < 'u' ? Map : XYe), + (jYe = 'undefined'), + (KYe = (function () { + function t(e) { + if ((XP(this, t), (this._obj = Object.create(null)), (this.size = 0), e != null)) { + var r; + e.instanceString != null && e.instanceString() === this.instanceString() + ? (r = e.toArray()) + : (r = e); + for (var n = 0; n < r.length; n++) this.add(r[n]); + } + } + return ( + o(t, 'ObjectSet'), + jP(t, [ + { + key: 'instanceString', + value: o(function () { + return 'set'; + }, 'instanceString') + }, + { + key: 'add', + value: o(function (r) { + var n = this._obj; + n[r] !== 1 && ((n[r] = 1), this.size++); + }, 'add') + }, + { + key: 'delete', + value: o(function (r) { + var n = this._obj; + n[r] === 1 && ((n[r] = 0), this.size--); + }, '_delete') + }, + { + key: 'clear', + value: o(function () { + this._obj = Object.create(null); + }, 'clear') + }, + { + key: 'has', + value: o(function (r) { + return this._obj[r] === 1; + }, 'has') + }, + { + key: 'toArray', + value: o(function () { + var r = this; + return Object.keys(this._obj).filter(function (n) { + return r.has(n); + }); + }, 'toArray') + }, + { + key: 'forEach', + value: o(function (r, n) { + return this.toArray().forEach(r, n); + }, 'forEach') + } + ]), + t + ); + })()), + (c1 = (typeof Set > 'u' ? 'undefined' : Hi(Set)) !== jYe ? Set : KYe), + (B6 = o(function (e, r) { + var n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !0; + if (e === void 0 || r === void 0 || !KP(e)) { + oi('An element must have a core reference and parameters set'); + return; + } + var i = r.group; + if ( + (i == null && + (r.data && r.data.source != null && r.data.target != null ? (i = 'edges') : (i = 'nodes')), + i !== 'nodes' && i !== 'edges') + ) { + oi('An element must be of type `nodes` or `edges`; you specified `' + i + '`'); + return; + } + (this.length = 1), (this[0] = this); + var a = (this._private = { + cy: e, + single: !0, + data: r.data || {}, + position: r.position || { x: 0, y: 0 }, + autoWidth: void 0, + autoHeight: void 0, + autoPadding: void 0, + compoundBoundsClean: !1, + listeners: [], + group: i, + style: {}, + rstyle: {}, + styleCxts: [], + styleKeys: {}, + removed: !0, + selected: !!r.selected, + selectable: r.selectable === void 0 ? !0 : !!r.selectable, + locked: !!r.locked, + grabbed: !1, + grabbable: r.grabbable === void 0 ? !0 : !!r.grabbable, + pannable: r.pannable === void 0 ? i === 'edges' : !!r.pannable, + active: !1, + classes: new c1(), + animation: { current: [], queue: [] }, + rscratch: {}, + scratch: r.scratch || {}, + edges: [], + children: [], + parent: r.parent && r.parent.isNode() ? r.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 ( + (a.position.x == null && (a.position.x = 0), + a.position.y == null && (a.position.y = 0), + r.renderedPosition) + ) { + var s = r.renderedPosition, + l = e.pan(), + u = e.zoom(); + a.position = { x: (s.x - l.x) / u, y: (s.y - l.y) / u }; + } + var h = []; + vn(r.classes) ? (h = r.classes) : zt(r.classes) && (h = r.classes.split(/\s+/)); + for (var f = 0, d = h.length; f < d; f++) { + var p = h[f]; + !p || p === '' || a.classes.add(p); + } + this.createEmitter(); + var m = r.style || r.css; + m && + (tn( + 'Setting a `style` bypass at element creation should be done only when absolutely necessary. Try to use the stylesheet instead.' + ), + this.style(m)), + (n === void 0 || n) && this.restore(); + }, 'Element')), + (m0e = o(function (e) { + return ( + (e = { bfs: e.bfs || !e.dfs, dfs: e.dfs || !e.bfs }), + o(function (n, i, a) { + var s; + Mr(n) && !xo(n) && ((s = n), (n = s.roots || s.root), (i = s.visit), (a = s.directed)), + (a = arguments.length === 2 && !jn(i) ? i : a), + (i = jn(i) ? i : function () {}); + for ( + var l = this._private.cy, + u = (n = zt(n) ? this.filter(n) : n), + h = [], + f = [], + d = {}, + p = {}, + m = {}, + g = 0, + y, + v = this.byGroup(), + x = v.nodes, + b = v.edges, + w = 0; + w < u.length; + w++ + ) { + var S = u[w], + T = S.id(); + S.isNode() && (h.unshift(S), e.bfs && ((m[T] = !0), f.push(S)), (p[T] = 0)); + } + for ( + var E = o(function () { + var I = e.bfs ? h.shift() : h.pop(), + C = I.id(); + if (e.dfs) { + if (m[C]) return 'continue'; + (m[C] = !0), f.push(I); + } + var O = p[C], + D = d[C], + P = D != null ? D.source() : null, + F = D != null ? D.target() : null, + B = D == null ? void 0 : I.same(P) ? F[0] : P[0], + $ = void 0; + if ((($ = i(I, D, B, g++, O)), $ === !0)) return (y = I), 'break'; + if ($ === !1) return 'break'; + for ( + var z = I.connectedEdges().filter(function (j) { + return (!a || j.source().same(I)) && b.has(j); + }), + Y = 0; + Y < z.length; + Y++ + ) { + var Q = z[Y], + X = Q.connectedNodes().filter(function (j) { + return !j.same(I) && x.has(j); + }), + ie = X.id(); + X.length !== 0 && + !m[ie] && + ((X = X[0]), + h.push(X), + e.bfs && ((m[ie] = !0), f.push(X)), + (d[ie] = Q), + (p[ie] = p[C] + 1)); + } + }, '_loop'); + h.length !== 0; + + ) { + var _ = E(); + if (_ !== 'continue' && _ === 'break') break; + } + for (var A = l.collection(), L = 0; L < f.length; L++) { + var M = f[L], + N = d[M.id()]; + N != null && A.push(N), A.push(M); + } + return { path: l.collection(A), found: l.collection(y) }; + }, 'searchFn') + ); + }, 'defineSearch')), + (Ux = { + breadthFirstSearch: m0e({ bfs: !0 }), + depthFirstSearch: m0e({ dfs: !0 }) + }); + Ux.bfs = Ux.breadthFirstSearch; + Ux.dfs = Ux.depthFirstSearch; + (QYe = tYe(function (t, e) { + (function () { + var r, n, i, a, s, l, u, h, f, d, p, m, g, y, v; + (i = Math.floor), + (d = Math.min), + (n = o(function (x, b) { + return x < b ? -1 : x > b ? 1 : 0; + }, 'defaultCmp')), + (f = o(function (x, b, w, S, T) { + var E; + if ((w == null && (w = 0), T == null && (T = n), w < 0)) + throw new Error('lo must be non-negative'); + for (S == null && (S = x.length); w < S; ) + (E = i((w + S) / 2)), T(b, x[E]) < 0 ? (S = E) : (w = E + 1); + return [].splice.apply(x, [w, w - w].concat(b)), b; + }, 'insort')), + (l = o(function (x, b, w) { + return w == null && (w = n), x.push(b), y(x, 0, x.length - 1, w); + }, 'heappush')), + (s = o(function (x, b) { + var w, S; + return ( + b == null && (b = n), + (w = x.pop()), + x.length ? ((S = x[0]), (x[0] = w), v(x, 0, b)) : (S = w), + S + ); + }, 'heappop')), + (h = o(function (x, b, w) { + var S; + return w == null && (w = n), (S = x[0]), (x[0] = b), v(x, 0, w), S; + }, 'heapreplace')), + (u = o(function (x, b, w) { + var S; + return ( + w == null && (w = n), + x.length && w(x[0], b) < 0 && ((S = [x[0], b]), (b = S[0]), (x[0] = S[1]), v(x, 0, w)), + b + ); + }, 'heappushpop')), + (a = o(function (x, b) { + var w, S, T, E, _, A; + for ( + b == null && (b = n), + E = function () { + A = []; + for (var L = 0, M = i(x.length / 2); 0 <= M ? L < M : L > M; 0 <= M ? L++ : L--) + A.push(L); + return A; + } + .apply(this) + .reverse(), + _ = [], + S = 0, + T = E.length; + S < T; + S++ + ) + (w = E[S]), _.push(v(x, w, b)); + return _; + }, 'heapify')), + (g = o(function (x, b, w) { + var S; + if ((w == null && (w = n), (S = x.indexOf(b)), S !== -1)) return y(x, 0, S, w), v(x, S, w); + }, 'updateItem')), + (p = o(function (x, b, w) { + var S, T, E, _, A; + if ((w == null && (w = n), (T = x.slice(0, b)), !T.length)) return T; + for (a(T, w), A = x.slice(b), E = 0, _ = A.length; E < _; E++) (S = A[E]), u(T, S, w); + return T.sort(w).reverse(); + }, 'nlargest')), + (m = o(function (x, b, w) { + var S, T, E, _, A, L, M, N, k; + if ((w == null && (w = n), b * 10 <= x.length)) { + if (((E = x.slice(0, b).sort(w)), !E.length)) return E; + for (T = E[E.length - 1], M = x.slice(b), _ = 0, L = M.length; _ < L; _++) + (S = M[_]), w(S, T) < 0 && (f(E, S, 0, null, w), E.pop(), (T = E[E.length - 1])); + return E; + } + for (a(x, w), k = [], A = 0, N = d(b, x.length); 0 <= N ? A < N : A > N; 0 <= N ? ++A : --A) + k.push(s(x, w)); + return k; + }, 'nsmallest')), + (y = o(function (x, b, w, S) { + var T, E, _; + for (S == null && (S = n), T = x[w]; w > b; ) { + if (((_ = (w - 1) >> 1), (E = x[_]), S(T, E) < 0)) { + (x[w] = E), (w = _); + continue; + } + break; + } + return (x[w] = T); + }, '_siftdown')), + (v = o(function (x, b, w) { + var S, T, E, _, A; + for (w == null && (w = n), T = x.length, A = b, E = x[b], S = 2 * b + 1; S < T; ) + (_ = S + 1), + _ < T && !(w(x[S], x[_]) < 0) && (S = _), + (x[b] = x[S]), + (b = S), + (S = 2 * b + 1); + return (x[b] = E), y(x, A, b, w); + }, '_siftup')), + (r = (function () { + (x.push = l), + (x.pop = s), + (x.replace = h), + (x.pushpop = u), + (x.heapify = a), + (x.updateItem = g), + (x.nlargest = p), + (x.nsmallest = m); + function x(b) { + (this.cmp = b ?? n), (this.nodes = []); + } + return ( + o(x, 'Heap'), + (x.prototype.push = function (b) { + return l(this.nodes, b, this.cmp); + }), + (x.prototype.pop = function () { + return s(this.nodes, this.cmp); + }), + (x.prototype.peek = function () { + return this.nodes[0]; + }), + (x.prototype.contains = function (b) { + return this.nodes.indexOf(b) !== -1; + }), + (x.prototype.replace = function (b) { + return h(this.nodes, b, this.cmp); + }), + (x.prototype.pushpop = function (b) { + return u(this.nodes, b, this.cmp); + }), + (x.prototype.heapify = function () { + return a(this.nodes, this.cmp); + }), + (x.prototype.updateItem = function (b) { + return g(this.nodes, b, this.cmp); + }), + (x.prototype.clear = function () { + return (this.nodes = []); + }), + (x.prototype.empty = function () { + return this.nodes.length === 0; + }), + (x.prototype.size = function () { + return this.nodes.length; + }), + (x.prototype.clone = function () { + var b; + return (b = new x()), (b.nodes = this.nodes.slice(0)), b; + }), + (x.prototype.toArray = function () { + return this.nodes.slice(0); + }), + (x.prototype.insert = x.prototype.push), + (x.prototype.top = x.prototype.peek), + (x.prototype.front = x.prototype.peek), + (x.prototype.has = x.prototype.contains), + (x.prototype.copy = x.prototype.clone), + x + ); + })()), + (function (x, b) { + return (t.exports = b()); + })(this, function () { + return r; + }); + }).call(Mx); + })), + (eb = QYe), + (ZYe = Sa({ + root: null, + weight: o(function (e) { + return 1; + }, 'weight'), + directed: !1 + })), + (JYe = { + dijkstra: o(function (e) { + if (!Mr(e)) { + var r = arguments; + e = { root: r[0], weight: r[1], directed: r[2] }; + } + var n = ZYe(e), + i = n.root, + a = n.weight, + s = n.directed, + l = this, + u = a, + h = zt(i) ? this.filter(i)[0] : i[0], + f = {}, + d = {}, + p = {}, + m = this.byGroup(), + g = m.nodes, + y = m.edges; + y.unmergeBy(function (O) { + return O.isLoop(); + }); + for ( + var v = o(function (D) { + return f[D.id()]; + }, 'getDist'), + x = o(function (D, P) { + (f[D.id()] = P), b.updateItem(D); + }, 'setDist'), + b = new eb(function (O, D) { + return v(O) - v(D); + }), + w = 0; + w < g.length; + w++ + ) { + var S = g[w]; + (f[S.id()] = S.same(h) ? 0 : 1 / 0), b.push(S); + } + for ( + var T = o(function (D, P) { + for ( + var F = (s ? D.edgesTo(P) : D.edgesWith(P)).intersect(y), B = 1 / 0, $, z = 0; + z < F.length; + z++ + ) { + var Y = F[z], + Q = u(Y); + (Q < B || !$) && ((B = Q), ($ = Y)); + } + return { edge: $, dist: B }; + }, 'distBetween'); + b.size() > 0; + + ) { + var E = b.pop(), + _ = v(E), + A = E.id(); + if (((p[A] = _), _ !== 1 / 0)) + for (var L = E.neighborhood().intersect(g), M = 0; M < L.length; M++) { + var N = L[M], + k = N.id(), + I = T(E, N), + C = _ + I.dist; + C < v(N) && (x(N, C), (d[k] = { node: E, edge: I.edge })); + } + } + return { + distanceTo: o(function (D) { + var P = zt(D) ? g.filter(D)[0] : D[0]; + return p[P.id()]; + }, 'distanceTo'), + pathTo: o(function (D) { + var P = zt(D) ? g.filter(D)[0] : D[0], + F = [], + B = P, + $ = B.id(); + if (P.length > 0) + for (F.unshift(P); d[$]; ) { + var z = d[$]; + F.unshift(z.edge), F.unshift(z.node), (B = z.node), ($ = B.id()); + } + return l.spawn(F); + }, 'pathTo') + }; + }, 'dijkstra') + }), + (eWe = { + kruskal: o(function (e) { + e = + e || + function (w) { + return 1; + }; + for ( + var r = this.byGroup(), + n = r.nodes, + i = r.edges, + a = n.length, + s = new Array(a), + l = n, + u = o(function (S) { + for (var T = 0; T < s.length; T++) { + var E = s[T]; + if (E.has(S)) return T; + } + }, 'findSetIndex'), + h = 0; + h < a; + h++ + ) + s[h] = this.spawn(n[h]); + for ( + var f = i.sort(function (w, S) { + return e(w) - e(S); + }), + d = 0; + d < f.length; + d++ + ) { + var p = f[d], + m = p.source()[0], + g = p.target()[0], + y = u(m), + v = u(g), + x = s[y], + b = s[v]; + y !== v && (l.merge(p), x.merge(b), s.splice(v, 1)); + } + return l; + }, 'kruskal') + }), + (tWe = Sa({ + root: null, + goal: null, + weight: o(function (e) { + return 1; + }, 'weight'), + heuristic: o(function (e) { + return 0; + }, 'heuristic'), + directed: !1 + })), + (rWe = { + aStar: o(function (e) { + var r = this.cy(), + n = tWe(e), + i = n.root, + a = n.goal, + s = n.heuristic, + l = n.directed, + u = n.weight; + (i = r.collection(i)[0]), (a = r.collection(a)[0]); + var h = i.id(), + f = a.id(), + d = {}, + p = {}, + m = {}, + g = new eb(function ($, z) { + return p[$.id()] - p[z.id()]; + }), + y = new c1(), + v = {}, + x = {}, + b = o(function (z, Y) { + g.push(z), y.add(Y); + }, 'addToOpenSet'), + w, + S, + T = o(function () { + (w = g.pop()), (S = w.id()), y.delete(S); + }, 'popFromOpenSet'), + E = o(function (z) { + return y.has(z); + }, 'isInOpenSet'); + b(i, h), (d[h] = 0), (p[h] = s(i)); + for (var _ = 0; g.size() > 0; ) { + if ((T(), _++, S === f)) { + for ( + var A = [], L = a, M = f, N = x[M]; + A.unshift(L), N != null && A.unshift(N), (L = v[M]), L != null; + + ) + (M = L.id()), (N = x[M]); + return { + found: !0, + distance: d[S], + path: this.spawn(A), + steps: _ + }; + } + m[S] = !0; + for (var k = w._private.edges, I = 0; I < k.length; I++) { + var C = k[I]; + if (this.hasElementWithId(C.id()) && !(l && C.data('source') !== S)) { + var O = C.source(), + D = C.target(), + P = O.id() !== S ? O : D, + F = P.id(); + if (this.hasElementWithId(F) && !m[F]) { + var B = d[S] + u(C); + if (!E(F)) { + (d[F] = B), (p[F] = B + s(P)), b(P, F), (v[F] = w), (x[F] = C); + continue; + } + B < d[F] && ((d[F] = B), (p[F] = B + s(P)), (v[F] = w), (x[F] = C)); + } + } + } + } + return { found: !1, distance: void 0, path: void 0, steps: _ }; + }, 'aStar') + }), + (nWe = Sa({ + weight: o(function (e) { + return 1; + }, 'weight'), + directed: !1 + })), + (iWe = { + floydWarshall: o(function (e) { + for ( + var r = this.cy(), + n = nWe(e), + i = n.weight, + a = n.directed, + s = i, + l = this.byGroup(), + u = l.nodes, + h = l.edges, + f = u.length, + d = f * f, + p = o(function (Q) { + return u.indexOf(Q); + }, 'indexOf'), + m = o(function (Q) { + return u[Q]; + }, 'atIndex'), + g = new Array(d), + y = 0; + y < d; + y++ + ) { + var v = y % f, + x = (y - v) / f; + x === v ? (g[y] = 0) : (g[y] = 1 / 0); + } + for (var b = new Array(d), w = new Array(d), S = 0; S < h.length; S++) { + var T = h[S], + E = T.source()[0], + _ = T.target()[0]; + if (E !== _) { + var A = p(E), + L = p(_), + M = A * f + L, + N = s(T); + if ((g[M] > N && ((g[M] = N), (b[M] = L), (w[M] = T)), !a)) { + var k = L * f + A; + !a && g[k] > N && ((g[k] = N), (b[k] = A), (w[k] = T)); + } + } + } + for (var I = 0; I < f; I++) + for (var C = 0; C < f; C++) + for (var O = C * f + I, D = 0; D < f; D++) { + var P = C * f + D, + F = I * f + D; + g[O] + g[F] < g[P] && ((g[P] = g[O] + g[F]), (b[P] = b[O])); + } + var B = o(function (Q) { + return (zt(Q) ? r.filter(Q) : Q)[0]; + }, 'getArgEle'), + $ = o(function (Q) { + return p(B(Q)); + }, 'indexOfArgEle'), + z = { + distance: o(function (Q, X) { + var ie = $(Q), + j = $(X); + return g[ie * f + j]; + }, 'distance'), + path: o(function (Q, X) { + var ie = $(Q), + j = $(X), + J = m(ie); + if (ie === j) return J.collection(); + if (b[ie * f + j] == null) return r.collection(); + var Z = r.collection(), + H = ie, + q; + for (Z.merge(J); ie !== j; ) + (H = ie), (ie = b[ie * f + j]), (q = w[H * f + ie]), Z.merge(q), Z.merge(m(ie)); + return Z; + }, 'path') + }; + return z; + }, 'floydWarshall') + }), + (aWe = Sa({ + weight: o(function (e) { + return 1; + }, 'weight'), + directed: !1, + root: null + })), + (sWe = { + bellmanFord: o(function (e) { + var r = this, + n = aWe(e), + i = n.weight, + a = n.directed, + s = n.root, + l = i, + u = this, + h = this.cy(), + f = this.byGroup(), + d = f.edges, + p = f.nodes, + m = p.length, + g = new Vc(), + y = !1, + v = []; + (s = h.collection(s)[0]), + d.unmergeBy(function (oe) { + return oe.isLoop(); + }); + for ( + var x = d.length, + b = o(function (ke) { + var Ie = g.get(ke.id()); + return Ie || ((Ie = {}), g.set(ke.id(), Ie)), Ie; + }, 'getInfo'), + w = o(function (ke) { + return (zt(ke) ? h.$(ke) : ke)[0]; + }, 'getNodeFromTo'), + S = o(function (ke) { + return b(w(ke)).dist; + }, 'distanceTo'), + T = o(function (ke) { + for ( + var Ie = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : s, + Se = w(ke), + Ue = [], + Pe = Se; + ; + + ) { + if (Pe == null) return r.spawn(); + var _e = b(Pe), + me = _e.edge, + W = _e.pred; + if ((Ue.unshift(Pe[0]), Pe.same(Ie) && Ue.length > 0)) break; + me != null && Ue.unshift(me), (Pe = W); + } + return u.spawn(Ue); + }, 'pathTo'), + E = 0; + E < m; + E++ + ) { + var _ = p[E], + A = b(_); + _.same(s) ? (A.dist = 0) : (A.dist = 1 / 0), (A.pred = null), (A.edge = null); + } + for ( + var L = !1, + M = o(function (ke, Ie, Se, Ue, Pe, _e) { + var me = Ue.dist + _e; + me < Pe.dist && + !Se.same(Ue.edge) && + ((Pe.dist = me), (Pe.pred = ke), (Pe.edge = Se), (L = !0)); + }, 'checkForEdgeReplacement'), + N = 1; + N < m; + N++ + ) { + L = !1; + for (var k = 0; k < x; k++) { + var I = d[k], + C = I.source(), + O = I.target(), + D = l(I), + P = b(C), + F = b(O); + M(C, O, I, P, F, D), a || M(O, C, I, F, P, D); + } + if (!L) break; + } + if (L) + for (var B = [], $ = 0; $ < x; $++) { + var z = d[$], + Y = z.source(), + Q = z.target(), + X = l(z), + ie = b(Y).dist, + j = b(Q).dist; + if (ie + X < j || (!a && j + X < ie)) + if ( + (y || (tn('Graph contains a negative weight cycle for Bellman-Ford'), (y = !0)), + e.findNegativeWeightCycles !== !1) + ) { + var J = []; + ie + X < j && J.push(Y), !a && j + X < ie && J.push(Q); + for (var Z = J.length, H = 0; H < Z; H++) { + var q = J[H], + K = [q]; + K.push(b(q).edge); + for (var se = b(q).pred; K.indexOf(se) === -1; ) + K.push(se), K.push(b(se).edge), (se = b(se).pred); + K = K.slice(K.indexOf(se)); + for (var ce = K[0].id(), ue = 0, te = 2; te < K.length; te += 2) + K[te].id() < ce && ((ce = K[te].id()), (ue = te)); + (K = K.slice(ue).concat(K.slice(0, ue))), K.push(K[0]); + var De = K.map(function (oe) { + return oe.id(); + }).join(','); + B.indexOf(De) === -1 && (v.push(u.spawn(K)), B.push(De)); + } + } else break; + } + return { + distanceTo: S, + pathTo: T, + hasNegativeWeightCycle: y, + negativeWeightCycles: v + }; + }, 'bellmanFord') + }), + (oWe = Math.sqrt(2)), + (lWe = o(function (e, r, n) { + n.length === 0 && oi('Karger-Stein must be run on a connected (sub)graph'); + for (var i = n[e], a = i[1], s = i[2], l = r[a], u = r[s], h = n, f = h.length - 1; f >= 0; f--) { + var d = h[f], + p = d[1], + m = d[2]; + ((r[p] === l && r[m] === u) || (r[p] === u && r[m] === l)) && h.splice(f, 1); + } + for (var g = 0; g < h.length; g++) { + var y = h[g]; + y[1] === u + ? ((h[g] = y.slice()), (h[g][1] = l)) + : y[2] === u && ((h[g] = y.slice()), (h[g][2] = l)); + } + for (var v = 0; v < r.length; v++) r[v] === u && (r[v] = l); + return h; + }, 'collapse')), + (wP = o(function (e, r, n, i) { + for (; n > i; ) { + var a = Math.floor(Math.random() * r.length); + (r = lWe(a, e, r)), n--; + } + return r; + }, 'contractUntil')), + (cWe = { + kargerStein: o(function () { + var e = this, + r = this.byGroup(), + n = r.nodes, + i = r.edges; + i.unmergeBy(function (F) { + return F.isLoop(); + }); + var a = n.length, + s = i.length, + l = Math.ceil(Math.pow(Math.log(a) / Math.LN2, 2)), + u = Math.floor(a / oWe); + if (a < 2) { + oi('At least 2 nodes are required for Karger-Stein algorithm'); + return; + } + for (var h = [], f = 0; f < s; f++) { + var d = i[f]; + h.push([f, n.indexOf(d.source()), n.indexOf(d.target())]); + } + for ( + var p = 1 / 0, + m = [], + g = new Array(a), + y = new Array(a), + v = new Array(a), + x = o(function (B, $) { + for (var z = 0; z < a; z++) $[z] = B[z]; + }, 'copyNodesMap'), + b = 0; + b <= l; + b++ + ) { + for (var w = 0; w < a; w++) y[w] = w; + var S = wP(y, h.slice(), a, u), + T = S.slice(); + x(y, v); + var E = wP(y, S, u, 2), + _ = wP(v, T, u, 2); + E.length <= _.length && E.length < p + ? ((p = E.length), (m = E), x(y, g)) + : _.length <= E.length && _.length < p && ((p = _.length), (m = _), x(v, g)); + } + for ( + var A = this.spawn( + m.map(function (F) { + return i[F[0]]; + }) + ), + L = this.spawn(), + M = this.spawn(), + N = g[0], + k = 0; + k < g.length; + k++ + ) { + var I = g[k], + C = n[k]; + I === N ? L.merge(C) : M.merge(C); + } + var O = o(function (B) { + var $ = e.spawn(); + return ( + B.forEach(function (z) { + $.merge(z), + z.connectedEdges().forEach(function (Y) { + e.contains(Y) && !A.contains(Y) && $.merge(Y); + }); + }), + $ + ); + }, 'constructComponent'), + D = [O(L), O(M)], + P = { cut: A, components: D, partition1: L, partition2: M }; + return P; + }, 'kargerStein') + }), + (uWe = o(function (e) { + return { x: e.x, y: e.y }; + }, 'copyPosition')), + (F6 = o(function (e, r, n) { + return { x: e.x * r + n.x, y: e.y * r + n.y }; + }, 'modelToRenderedPosition')), + (Gpe = o(function (e, r, n) { + return { x: (e.x - n.x) / r, y: (e.y - n.y) / r }; + }, 'renderedToModelPosition')), + (Jg = o(function (e) { + return { x: e[0], y: e[1] }; + }, 'array2point')), + (hWe = o(function (e) { + for ( + var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, + n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : e.length, + i = 1 / 0, + a = r; + a < n; + a++ + ) { + var s = e[a]; + isFinite(s) && (i = Math.min(s, i)); + } + return i; + }, 'min')), + (fWe = o(function (e) { + for ( + var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, + n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : e.length, + i = -1 / 0, + a = r; + a < n; + a++ + ) { + var s = e[a]; + isFinite(s) && (i = Math.max(s, i)); + } + return i; + }, 'max')), + (dWe = o(function (e) { + for ( + var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, + n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : e.length, + i = 0, + a = 0, + s = r; + s < n; + s++ + ) { + var l = e[s]; + isFinite(l) && ((i += l), a++); + } + return i / a; + }, 'mean')), + (pWe = o(function (e) { + var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, + n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : e.length, + i = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !0, + a = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0, + s = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : !0; + i ? (e = e.slice(r, n)) : (n < e.length && e.splice(n, e.length - n), r > 0 && e.splice(0, r)); + for (var l = 0, u = e.length - 1; u >= 0; u--) { + var h = e[u]; + s ? isFinite(h) || ((e[u] = -1 / 0), l++) : e.splice(u, 1); + } + a && + e.sort(function (p, m) { + return p - m; + }); + var f = e.length, + d = Math.floor(f / 2); + return f % 2 !== 0 ? e[d + 1 + l] : (e[d - 1 + l] + e[d + l]) / 2; + }, 'median')), + (mWe = o(function (e) { + return (Math.PI * e) / 180; + }, 'deg2rad')), + (n6 = o(function (e, r) { + return Math.atan2(r, e) - Math.PI / 2; + }, 'getAngleFromDisp')), + (tB = + Math.log2 || + function (t) { + return Math.log(t) / Math.log(2); + }), + ($pe = o(function (e) { + return e > 0 ? 1 : e < 0 ? -1 : 0; + }, 'signum')), + (H0 = o(function (e, r) { + return Math.sqrt(B0(e, r)); + }, 'dist')), + (B0 = o(function (e, r) { + var n = r.x - e.x, + i = r.y - e.y; + return n * n + i * i; + }, 'sqdist')), + (gWe = o(function (e) { + for (var r = e.length, n = 0, i = 0; i < r; i++) n += e[i]; + for (var a = 0; a < r; a++) e[a] = e[a] / n; + return e; + }, 'inPlaceSumNormalize')), + (aa = o(function (e, r, n, i) { + return (1 - i) * (1 - i) * e + 2 * (1 - i) * i * r + i * i * n; + }, 'qbezierAt')), + (t1 = o(function (e, r, n, i) { + return { x: aa(e.x, r.x, n.x, i), y: aa(e.y, r.y, n.y, i) }; + }, 'qbezierPtAt')), + (yWe = o(function (e, r, n, i) { + var a = { x: r.x - e.x, y: r.y - e.y }, + s = H0(e, r), + l = { x: a.x / s, y: a.y / s }; + return (n = n ?? 0), (i = i ?? n * s), { x: e.x + l.x * i, y: e.y + l.y * i }; + }, 'lineAt')), + (Hx = o(function (e, r, n) { + return Math.max(e, Math.min(n, r)); + }, 'bound')), + (Gs = o(function (e) { + if (e == null) return { x1: 1 / 0, y1: 1 / 0, x2: -1 / 0, y2: -1 / 0, w: 0, h: 0 }; + if (e.x1 != null && e.y1 != null) { + if (e.x2 != null && e.y2 != null && e.x2 >= e.x1 && e.y2 >= e.y1) + return { + x1: e.x1, + y1: e.y1, + x2: e.x2, + y2: e.y2, + w: e.x2 - e.x1, + h: e.y2 - e.y1 + }; + if (e.w != null && e.h != null && e.w >= 0 && e.h >= 0) + return { + x1: e.x1, + y1: e.y1, + x2: e.x1 + e.w, + y2: e.y1 + e.h, + w: e.w, + h: e.h + }; + } + }, 'makeBoundingBox')), + (vWe = o(function (e) { + return { x1: e.x1, x2: e.x2, w: e.w, y1: e.y1, y2: e.y2, h: e.h }; + }, 'copyBoundingBox')), + (xWe = o(function (e) { + (e.x1 = 1 / 0), (e.y1 = 1 / 0), (e.x2 = -1 / 0), (e.y2 = -1 / 0), (e.w = 0), (e.h = 0); + }, 'clearBoundingBox')), + (bWe = o(function (e, r, n) { + return { + x1: e.x1 + r, + x2: e.x2 + r, + y1: e.y1 + n, + y2: e.y2 + n, + w: e.w, + h: e.h + }; + }, 'shiftBoundingBox')), + (Vpe = o(function (e, r) { + (e.x1 = Math.min(e.x1, r.x1)), + (e.x2 = Math.max(e.x2, r.x2)), + (e.w = e.x2 - e.x1), + (e.y1 = Math.min(e.y1, r.y1)), + (e.y2 = Math.max(e.y2, r.y2)), + (e.h = e.y2 - e.y1); + }, 'updateBoundingBox')), + (wWe = o(function (e, r, n) { + (e.x1 = Math.min(e.x1, r)), + (e.x2 = Math.max(e.x2, r)), + (e.w = e.x2 - e.x1), + (e.y1 = Math.min(e.y1, n)), + (e.y2 = Math.max(e.y2, n)), + (e.h = e.y2 - e.y1); + }, 'expandBoundingBoxByPoint')), + (p6 = o(function (e) { + var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0; + return ( + (e.x1 -= r), (e.x2 += r), (e.y1 -= r), (e.y2 += r), (e.w = e.x2 - e.x1), (e.h = e.y2 - e.y1), e + ); + }, 'expandBoundingBox')), + (m6 = o(function (e) { + var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [0], + n, + i, + a, + s; + if (r.length === 1) n = i = a = s = r[0]; + else if (r.length === 2) (n = a = r[0]), (s = i = r[1]); + else if (r.length === 4) { + var l = $l(r, 4); + (n = l[0]), (i = l[1]), (a = l[2]), (s = l[3]); + } + return ( + (e.x1 -= s), (e.x2 += i), (e.y1 -= n), (e.y2 += a), (e.w = e.x2 - e.x1), (e.h = e.y2 - e.y1), e + ); + }, 'expandBoundingBoxSides')), + (g0e = o(function (e, r) { + (e.x1 = r.x1), + (e.y1 = r.y1), + (e.x2 = r.x2), + (e.y2 = r.y2), + (e.w = e.x2 - e.x1), + (e.h = e.y2 - e.y1); + }, 'assignBoundingBox')), + (rB = o(function (e, r) { + return !( + e.x1 > r.x2 || + r.x1 > e.x2 || + e.x2 < r.x1 || + r.x2 < e.x1 || + e.y2 < r.y1 || + r.y2 < e.y1 || + e.y1 > r.y2 || + r.y1 > e.y2 + ); + }, 'boundingBoxesIntersect')), + (s1 = o(function (e, r, n) { + return e.x1 <= r && r <= e.x2 && e.y1 <= n && n <= e.y2; + }, 'inBoundingBox')), + (TWe = o(function (e, r) { + return s1(e, r.x, r.y); + }, 'pointInBoundingBox')), + (Upe = o(function (e, r) { + return s1(e, r.x1, r.y1) && s1(e, r.x2, r.y2); + }, 'boundingBoxInBoundingBox')), + (Hpe = o(function (e, r, n, i, a, s, l) { + var u = arguments.length > 7 && arguments[7] !== void 0 ? arguments[7] : 'auto', + h = u === 'auto' ? Y0(a, s) : u, + f = a / 2, + d = s / 2; + h = Math.min(h, f, d); + var p = h !== f, + m = h !== d, + g; + if (p) { + var y = n - f + h - l, + v = i - d - l, + x = n + f - h + l, + b = v; + if (((g = kf(e, r, n, i, y, v, x, b, !1)), g.length > 0)) return g; + } + if (m) { + var w = n + f + l, + S = i - d + h - l, + T = w, + E = i + d - h + l; + if (((g = kf(e, r, n, i, w, S, T, E, !1)), g.length > 0)) return g; + } + if (p) { + var _ = n - f + h - l, + A = i + d + l, + L = n + f - h + l, + M = A; + if (((g = kf(e, r, n, i, _, A, L, M, !1)), g.length > 0)) return g; + } + if (m) { + var N = n - f - l, + k = i - d + h - l, + I = N, + C = i + d - h + l; + if (((g = kf(e, r, n, i, N, k, I, C, !1)), g.length > 0)) return g; + } + var O; + { + var D = n - f + h, + P = i - d + h; + if (((O = Ox(e, r, n, i, D, P, h + l)), O.length > 0 && O[0] <= D && O[1] <= P)) + return [O[0], O[1]]; + } + { + var F = n + f - h, + B = i - d + h; + if (((O = Ox(e, r, n, i, F, B, h + l)), O.length > 0 && O[0] >= F && O[1] <= B)) + return [O[0], O[1]]; + } + { + var $ = n + f - h, + z = i + d - h; + if (((O = Ox(e, r, n, i, $, z, h + l)), O.length > 0 && O[0] >= $ && O[1] >= z)) + return [O[0], O[1]]; + } + { + var Y = n - f + h, + Q = i + d - h; + if (((O = Ox(e, r, n, i, Y, Q, h + l)), O.length > 0 && O[0] <= Y && O[1] >= Q)) + return [O[0], O[1]]; + } + return []; + }, 'roundRectangleIntersectLine')), + (kWe = o(function (e, r, n, i, a, s, l) { + var u = l, + h = Math.min(n, a), + f = Math.max(n, a), + d = Math.min(i, s), + p = Math.max(i, s); + return h - u <= e && e <= f + u && d - u <= r && r <= p + u; + }, 'inLineVicinity')), + (EWe = o(function (e, r, n, i, a, s, l, u, h) { + var f = { + x1: Math.min(n, l, a) - h, + x2: Math.max(n, l, a) + h, + y1: Math.min(i, u, s) - h, + y2: Math.max(i, u, s) + h + }; + return !(e < f.x1 || e > f.x2 || r < f.y1 || r > f.y2); + }, 'inBezierVicinity')), + (CWe = o(function (e, r, n, i) { + n -= i; + var a = r * r - 4 * e * n; + if (a < 0) return []; + var s = Math.sqrt(a), + l = 2 * e, + u = (-r + s) / l, + h = (-r - s) / l; + return [u, h]; + }, 'solveQuadratic')), + (SWe = o(function (e, r, n, i, a) { + var s = 1e-5; + e === 0 && (e = s), (r /= e), (n /= e), (i /= e); + var l, u, h, f, d, p, m, g; + if ( + ((u = (3 * n - r * r) / 9), + (h = -(27 * i) + r * (9 * n - 2 * (r * r))), + (h /= 54), + (l = u * u * u + h * h), + (a[1] = 0), + (m = r / 3), + l > 0) + ) { + (d = h + Math.sqrt(l)), + (d = d < 0 ? -Math.pow(-d, 1 / 3) : Math.pow(d, 1 / 3)), + (p = h - Math.sqrt(l)), + (p = p < 0 ? -Math.pow(-p, 1 / 3) : Math.pow(p, 1 / 3)), + (a[0] = -m + d + p), + (m += (d + p) / 2), + (a[4] = a[2] = -m), + (m = (Math.sqrt(3) * (-p + d)) / 2), + (a[3] = m), + (a[5] = -m); + return; + } + if (((a[5] = a[3] = 0), l === 0)) { + (g = h < 0 ? -Math.pow(-h, 1 / 3) : Math.pow(h, 1 / 3)), + (a[0] = -m + 2 * g), + (a[4] = a[2] = -(g + m)); + return; + } + (u = -u), + (f = u * u * u), + (f = Math.acos(h / Math.sqrt(f))), + (g = 2 * Math.sqrt(u)), + (a[0] = -m + g * Math.cos(f / 3)), + (a[2] = -m + g * Math.cos((f + 2 * Math.PI) / 3)), + (a[4] = -m + g * Math.cos((f + 4 * Math.PI) / 3)); + }, 'solveCubic')), + (AWe = o(function (e, r, n, i, a, s, l, u) { + var h = + 1 * n * n - + 4 * n * a + + 2 * n * l + + 4 * a * a - + 4 * a * l + + l * l + + i * i - + 4 * i * s + + 2 * i * u + + 4 * s * s - + 4 * s * u + + u * u, + f = + 1 * 9 * n * a - + 3 * n * n - + 3 * n * l - + 6 * a * a + + 3 * a * l + + 9 * i * s - + 3 * i * i - + 3 * i * u - + 6 * s * s + + 3 * s * u, + d = + 1 * 3 * n * n - + 6 * n * a + + n * l - + n * e + + 2 * a * a + + 2 * a * e - + l * e + + 3 * i * i - + 6 * i * s + + i * u - + i * r + + 2 * s * s + + 2 * s * r - + u * r, + p = 1 * n * a - n * n + n * e - a * e + i * s - i * i + i * r - s * r, + m = []; + SWe(h, f, d, p, m); + for (var g = 1e-7, y = [], v = 0; v < 6; v += 2) + Math.abs(m[v + 1]) < g && m[v] >= 0 && m[v] <= 1 && y.push(m[v]); + y.push(1), y.push(0); + for (var x = -1, b, w, S, T = 0; T < y.length; T++) + (b = Math.pow(1 - y[T], 2) * n + 2 * (1 - y[T]) * y[T] * a + y[T] * y[T] * l), + (w = Math.pow(1 - y[T], 2) * i + 2 * (1 - y[T]) * y[T] * s + y[T] * y[T] * u), + (S = Math.pow(b - e, 2) + Math.pow(w - r, 2)), + x >= 0 ? S < x && (x = S) : (x = S); + return x; + }, 'sqdistToQuadraticBezier')), + (_We = o(function (e, r, n, i, a, s) { + var l = [e - n, r - i], + u = [a - n, s - i], + h = u[0] * u[0] + u[1] * u[1], + f = l[0] * l[0] + l[1] * l[1], + d = l[0] * u[0] + l[1] * u[1], + p = (d * d) / h; + return d < 0 ? f : p > h ? (e - a) * (e - a) + (r - s) * (r - s) : f - p; + }, 'sqdistToFiniteLine')), + (zs = o(function (e, r, n) { + for (var i, a, s, l, u, h = 0, f = 0; f < n.length / 2; f++) + if ( + ((i = n[f * 2]), + (a = n[f * 2 + 1]), + f + 1 < n.length / 2 + ? ((s = n[(f + 1) * 2]), (l = n[(f + 1) * 2 + 1])) + : ((s = n[(f + 1 - n.length / 2) * 2]), (l = n[(f + 1 - n.length / 2) * 2 + 1])), + !(i == e && s == e)) + ) + if ((i >= e && e >= s) || (i <= e && e <= s)) + (u = ((e - i) / (s - i)) * (l - a) + a), u > r && h++; + else continue; + return h % 2 !== 0; + }, 'pointInsidePolygonPoints')), + (Qu = o(function (e, r, n, i, a, s, l, u, h) { + var f = new Array(n.length), + d; + u[0] != null + ? ((d = Math.atan(u[1] / u[0])), u[0] < 0 ? (d = d + Math.PI / 2) : (d = -d - Math.PI / 2)) + : (d = u); + for (var p = Math.cos(-d), m = Math.sin(-d), g = 0; g < f.length / 2; g++) + (f[g * 2] = (s / 2) * (n[g * 2] * p - n[g * 2 + 1] * m)), + (f[g * 2 + 1] = (l / 2) * (n[g * 2 + 1] * p + n[g * 2] * m)), + (f[g * 2] += i), + (f[g * 2 + 1] += a); + var y; + if (h > 0) { + var v = A6(f, -h); + y = S6(v); + } else y = f; + return zs(e, r, y); + }, 'pointInsidePolygon')), + (LWe = o(function (e, r, n, i, a, s, l, u) { + for (var h = new Array(n.length * 2), f = 0; f < u.length; f++) { + var d = u[f]; + (h[f * 4 + 0] = d.startX), + (h[f * 4 + 1] = d.startY), + (h[f * 4 + 2] = d.stopX), + (h[f * 4 + 3] = d.stopY); + var p = Math.pow(d.cx - e, 2) + Math.pow(d.cy - r, 2); + if (p <= Math.pow(d.radius, 2)) return !0; + } + return zs(e, r, h); + }, 'pointInsideRoundPolygon')), + (S6 = o(function (e) { + for (var r = new Array(e.length / 2), n, i, a, s, l, u, h, f, d = 0; d < e.length / 4; d++) { + (n = e[d * 4]), + (i = e[d * 4 + 1]), + (a = e[d * 4 + 2]), + (s = e[d * 4 + 3]), + d < e.length / 4 - 1 + ? ((l = e[(d + 1) * 4]), + (u = e[(d + 1) * 4 + 1]), + (h = e[(d + 1) * 4 + 2]), + (f = e[(d + 1) * 4 + 3])) + : ((l = e[0]), (u = e[1]), (h = e[2]), (f = e[3])); + var p = kf(n, i, a, s, l, u, h, f, !0); + (r[d * 2] = p[0]), (r[d * 2 + 1] = p[1]); + } + return r; + }, 'joinLines')), + (A6 = o(function (e, r) { + for (var n = new Array(e.length * 2), i, a, s, l, u = 0; u < e.length / 2; u++) { + (i = e[u * 2]), + (a = e[u * 2 + 1]), + u < e.length / 2 - 1 + ? ((s = e[(u + 1) * 2]), (l = e[(u + 1) * 2 + 1])) + : ((s = e[0]), (l = e[1])); + var h = l - a, + f = -(s - i), + d = Math.sqrt(h * h + f * f), + p = h / d, + m = f / d; + (n[u * 4] = i + p * r), + (n[u * 4 + 1] = a + m * r), + (n[u * 4 + 2] = s + p * r), + (n[u * 4 + 3] = l + m * r); + } + return n; + }, 'expandPolygon')), + (DWe = o(function (e, r, n, i, a, s) { + var l = n - e, + u = i - r; + (l /= a), (u /= s); + var h = Math.sqrt(l * l + u * u), + f = h - 1; + if (f < 0) return []; + var d = f / h; + return [(n - e) * d + e, (i - r) * d + r]; + }, 'intersectLineEllipse')), + ($0 = o(function (e, r, n, i, a, s, l) { + return (e -= a), (r -= s), (e /= n / 2 + l), (r /= i / 2 + l), e * e + r * r <= 1; + }, 'checkInEllipse')), + (Ox = o(function (e, r, n, i, a, s, l) { + var u = [n - e, i - r], + h = [e - a, r - s], + f = u[0] * u[0] + u[1] * u[1], + d = 2 * (h[0] * u[0] + h[1] * u[1]), + p = h[0] * h[0] + h[1] * h[1] - l * l, + m = d * d - 4 * f * p; + if (m < 0) return []; + var g = (-d + Math.sqrt(m)) / (2 * f), + y = (-d - Math.sqrt(m)) / (2 * f), + v = Math.min(g, y), + x = Math.max(g, y), + b = []; + if ((v >= 0 && v <= 1 && b.push(v), x >= 0 && x <= 1 && b.push(x), b.length === 0)) return []; + var w = b[0] * u[0] + e, + S = b[0] * u[1] + r; + if (b.length > 1) { + if (b[0] == b[1]) return [w, S]; + var T = b[1] * u[0] + e, + E = b[1] * u[1] + r; + return [w, S, T, E]; + } else return [w, S]; + }, 'intersectLineCircle')), + (TP = o(function (e, r, n) { + return (r <= e && e <= n) || (n <= e && e <= r) + ? e + : (e <= r && r <= n) || (n <= r && r <= e) + ? r + : n; + }, 'midOfThree')), + (kf = o(function (e, r, n, i, a, s, l, u, h) { + var f = e - a, + d = n - e, + p = l - a, + m = r - s, + g = i - r, + y = u - s, + v = p * m - y * f, + x = d * m - g * f, + b = y * d - p * g; + if (b !== 0) { + var w = v / b, + S = x / b, + T = 0.001, + E = 0 - T, + _ = 1 + T; + return E <= w && w <= _ && E <= S && S <= _ + ? [e + w * d, r + w * g] + : h + ? [e + w * d, r + w * g] + : []; + } else return v === 0 || x === 0 ? (TP(e, n, l) === l ? [l, u] : TP(e, n, a) === a ? [a, s] : TP(a, l, n) === n ? [n, i] : []) : []; + }, 'finiteLinesIntersect')), + (Yx = o(function (e, r, n, i, a, s, l, u) { + var h = [], + f, + d = new Array(n.length), + p = !0; + s == null && (p = !1); + var m; + if (p) { + for (var g = 0; g < d.length / 2; g++) + (d[g * 2] = n[g * 2] * s + i), (d[g * 2 + 1] = n[g * 2 + 1] * l + a); + if (u > 0) { + var y = A6(d, -u); + m = S6(y); + } else m = d; + } else m = n; + for (var v, x, b, w, S = 0; S < m.length / 2; S++) + (v = m[S * 2]), + (x = m[S * 2 + 1]), + S < m.length / 2 - 1 + ? ((b = m[(S + 1) * 2]), (w = m[(S + 1) * 2 + 1])) + : ((b = m[0]), (w = m[1])), + (f = kf(e, r, i, a, v, x, b, w)), + f.length !== 0 && h.push(f[0], f[1]); + return h; + }, 'polygonIntersectLine')), + (RWe = o(function (e, r, n, i, a, s, l, u, h) { + var f = [], + d, + p = new Array(n.length * 2); + h.forEach(function (b, w) { + w === 0 + ? ((p[p.length - 2] = b.startX), (p[p.length - 1] = b.startY)) + : ((p[w * 4 - 2] = b.startX), (p[w * 4 - 1] = b.startY)), + (p[w * 4] = b.stopX), + (p[w * 4 + 1] = b.stopY), + (d = Ox(e, r, i, a, b.cx, b.cy, b.radius)), + d.length !== 0 && f.push(d[0], d[1]); + }); + for (var m = 0; m < p.length / 4; m++) + (d = kf(e, r, i, a, p[m * 4], p[m * 4 + 1], p[m * 4 + 2], p[m * 4 + 3], !1)), + d.length !== 0 && f.push(d[0], d[1]); + if (f.length > 2) { + for ( + var g = [f[0], f[1]], y = Math.pow(g[0] - e, 2) + Math.pow(g[1] - r, 2), v = 1; + v < f.length / 2; + v++ + ) { + var x = Math.pow(f[v * 2] - e, 2) + Math.pow(f[v * 2 + 1] - r, 2); + x <= y && ((g[0] = f[v * 2]), (g[1] = f[v * 2 + 1]), (y = x)); + } + return g; + } + return f; + }, 'roundPolygonIntersectLine')), + (i6 = o(function (e, r, n) { + var i = [e[0] - r[0], e[1] - r[1]], + a = Math.sqrt(i[0] * i[0] + i[1] * i[1]), + s = (a - n) / a; + return s < 0 && (s = 1e-5), [r[0] + s * i[0], r[1] + s * i[1]]; + }, 'shortenIntersection')), + (ls = o(function (e, r) { + var n = NP(e, r); + return (n = Ype(n)), n; + }, 'generateUnitNgonPointsFitToSquare')), + (Ype = o(function (e) { + for (var r, n, i = e.length / 2, a = 1 / 0, s = 1 / 0, l = -1 / 0, u = -1 / 0, h = 0; h < i; h++) + (r = e[2 * h]), + (n = e[2 * h + 1]), + (a = Math.min(a, r)), + (l = Math.max(l, r)), + (s = Math.min(s, n)), + (u = Math.max(u, n)); + for (var f = 2 / (l - a), d = 2 / (u - s), p = 0; p < i; p++) + (r = e[2 * p] = e[2 * p] * f), + (n = e[2 * p + 1] = e[2 * p + 1] * d), + (a = Math.min(a, r)), + (l = Math.max(l, r)), + (s = Math.min(s, n)), + (u = Math.max(u, n)); + if (s < -1) for (var m = 0; m < i; m++) n = e[2 * m + 1] = e[2 * m + 1] + (-1 - s); + return e; + }, 'fitPolygonToSquare')), + (NP = o(function (e, r) { + var n = (1 / e) * 2 * Math.PI, + i = e % 2 === 0 ? Math.PI / 2 + n / 2 : Math.PI / 2; + i += r; + for (var a = new Array(e * 2), s, l = 0; l < e; l++) + (s = l * n + i), (a[2 * l] = Math.cos(s)), (a[2 * l + 1] = Math.sin(-s)); + return a; + }, 'generateUnitNgonPoints')), + (Y0 = o(function (e, r) { + return Math.min(e / 4, r / 4, 8); + }, 'getRoundRectangleRadius')), + (Wpe = o(function (e, r) { + return Math.min(e / 10, r / 10, 8); + }, 'getRoundPolygonRadius')), + (nB = o(function () { + return 8; + }, 'getCutRectangleCornerLength')), + (NWe = o(function (e, r, n) { + return [e - 2 * r + n, 2 * (r - e), e]; + }, 'bezierPtsToQuadCoeff')), + (MP = o(function (e, r) { + return { + heightOffset: Math.min(15, 0.05 * r), + widthOffset: Math.min(100, 0.25 * e), + ctrlPtOffsetPct: 0.05 + }; + }, 'getBarrelCurveConstants')), + (MWe = Sa({ + dampingFactor: 0.8, + precision: 1e-6, + iterations: 200, + weight: o(function (e) { + return 1; + }, 'weight') + })), + (IWe = { + pageRank: o(function (e) { + for ( + var r = MWe(e), + n = r.dampingFactor, + i = r.precision, + a = r.iterations, + s = r.weight, + l = this._private.cy, + u = this.byGroup(), + h = u.nodes, + f = u.edges, + d = h.length, + p = d * d, + m = f.length, + g = new Array(p), + y = new Array(d), + v = (1 - n) / d, + x = 0; + x < d; + x++ + ) { + for (var b = 0; b < d; b++) { + var w = x * d + b; + g[w] = 0; + } + y[x] = 0; + } + for (var S = 0; S < m; S++) { + var T = f[S], + E = T.data('source'), + _ = T.data('target'); + if (E !== _) { + var A = h.indexOfId(E), + L = h.indexOfId(_), + M = s(T), + N = L * d + A; + (g[N] += M), (y[A] += M); + } + } + for (var k = 1 / d + v, I = 0; I < d; I++) + if (y[I] === 0) + for (var C = 0; C < d; C++) { + var O = C * d + I; + g[O] = k; + } + else + for (var D = 0; D < d; D++) { + var P = D * d + I; + g[P] = g[P] / y[I] + v; + } + for (var F = new Array(d), B = new Array(d), $, z = 0; z < d; z++) F[z] = 1; + for (var Y = 0; Y < a; Y++) { + for (var Q = 0; Q < d; Q++) B[Q] = 0; + for (var X = 0; X < d; X++) + for (var ie = 0; ie < d; ie++) { + var j = X * d + ie; + B[X] += g[j] * F[ie]; + } + gWe(B), ($ = F), (F = B), (B = $); + for (var J = 0, Z = 0; Z < d; Z++) { + var H = $[Z] - F[Z]; + J += H * H; + } + if (J < i) break; + } + var q = { + rank: o(function (se) { + return (se = l.collection(se)[0]), F[h.indexOf(se)]; + }, 'rank') + }; + return q; + }, 'pageRank') + }), + (y0e = Sa({ + root: null, + weight: o(function (e) { + return 1; + }, 'weight'), + directed: !1, + alpha: 0 + })), + (r1 = { + degreeCentralityNormalized: o(function (e) { + e = y0e(e); + var r = this.cy(), + n = this.nodes(), + i = n.length; + if (e.directed) { + for (var f = {}, d = {}, p = 0, m = 0, g = 0; g < i; g++) { + var y = n[g], + v = y.id(); + e.root = y; + var x = this.degreeCentrality(e); + p < x.indegree && (p = x.indegree), + m < x.outdegree && (m = x.outdegree), + (f[v] = x.indegree), + (d[v] = x.outdegree); + } + return { + indegree: o(function (w) { + return p == 0 ? 0 : (zt(w) && (w = r.filter(w)), f[w.id()] / p); + }, 'indegree'), + outdegree: o(function (w) { + return m === 0 ? 0 : (zt(w) && (w = r.filter(w)), d[w.id()] / m); + }, 'outdegree') + }; + } else { + for (var a = {}, s = 0, l = 0; l < i; l++) { + var u = n[l]; + e.root = u; + var h = this.degreeCentrality(e); + s < h.degree && (s = h.degree), (a[u.id()] = h.degree); + } + return { + degree: o(function (w) { + return s === 0 ? 0 : (zt(w) && (w = r.filter(w)), a[w.id()] / s); + }, 'degree') + }; + } + }, 'degreeCentralityNormalized'), + degreeCentrality: o(function (e) { + e = y0e(e); + var r = this.cy(), + n = this, + i = e, + a = i.root, + s = i.weight, + l = i.directed, + u = i.alpha; + if (((a = r.collection(a)[0]), l)) { + for ( + var m = a.connectedEdges(), + g = m.filter(function (E) { + return E.target().same(a) && n.has(E); + }), + y = m.filter(function (E) { + return E.source().same(a) && n.has(E); + }), + v = g.length, + x = y.length, + b = 0, + w = 0, + S = 0; + S < g.length; + S++ + ) + b += s(g[S]); + for (var T = 0; T < y.length; T++) w += s(y[T]); + return { + indegree: Math.pow(v, 1 - u) * Math.pow(b, u), + outdegree: Math.pow(x, 1 - u) * Math.pow(w, u) + }; + } else { + for ( + var h = a.connectedEdges().intersection(n), f = h.length, d = 0, p = 0; + p < h.length; + p++ + ) + d += s(h[p]); + return { degree: Math.pow(f, 1 - u) * Math.pow(d, u) }; + } + }, 'degreeCentrality') + }); + r1.dc = r1.degreeCentrality; + r1.dcn = r1.degreeCentralityNormalised = r1.degreeCentralityNormalized; + (v0e = Sa({ + harmonic: !0, + weight: o(function () { + return 1; + }, 'weight'), + directed: !1, + root: null + })), + (n1 = { + closenessCentralityNormalized: o(function (e) { + for ( + var r = v0e(e), + n = r.harmonic, + i = r.weight, + a = r.directed, + s = this.cy(), + l = {}, + u = 0, + h = this.nodes(), + f = this.floydWarshall({ weight: i, directed: a }), + d = 0; + d < h.length; + d++ + ) { + for (var p = 0, m = h[d], g = 0; g < h.length; g++) + if (d !== g) { + var y = f.distance(m, h[g]); + n ? (p += 1 / y) : (p += y); + } + n || (p = 1 / p), u < p && (u = p), (l[m.id()] = p); + } + return { + closeness: o(function (x) { + return u == 0 ? 0 : (zt(x) ? (x = s.filter(x)[0].id()) : (x = x.id()), l[x] / u); + }, 'closeness') + }; + }, 'closenessCentralityNormalized'), + closenessCentrality: o(function (e) { + var r = v0e(e), + n = r.root, + i = r.weight, + a = r.directed, + s = r.harmonic; + n = this.filter(n)[0]; + for ( + var l = this.dijkstra({ root: n, weight: i, directed: a }), u = 0, h = this.nodes(), f = 0; + f < h.length; + f++ + ) { + var d = h[f]; + if (!d.same(n)) { + var p = l.distanceTo(d); + s ? (u += 1 / p) : (u += p); + } + } + return s ? u : 1 / u; + }, 'closenessCentrality') + }); + n1.cc = n1.closenessCentrality; + n1.ccn = n1.closenessCentralityNormalised = n1.closenessCentralityNormalized; + (OWe = Sa({ weight: null, directed: !1 })), + (IP = { + betweennessCentrality: o(function (e) { + for ( + var r = OWe(e), + n = r.directed, + i = r.weight, + a = i != null, + s = this.cy(), + l = this.nodes(), + u = {}, + h = {}, + f = 0, + d = { + set: o(function (w, S) { + (h[w] = S), S > f && (f = S); + }, 'set'), + get: o(function (w) { + return h[w]; + }, 'get') + }, + p = 0; + p < l.length; + p++ + ) { + var m = l[p], + g = m.id(); + n ? (u[g] = m.outgoers().nodes()) : (u[g] = m.openNeighborhood().nodes()), d.set(g, 0); + } + for ( + var y = o(function (w) { + for ( + var S = l[w].id(), + T = [], + E = {}, + _ = {}, + A = {}, + L = new eb(function (ie, j) { + return A[ie] - A[j]; + }), + M = 0; + M < l.length; + M++ + ) { + var N = l[M].id(); + (E[N] = []), (_[N] = 0), (A[N] = 1 / 0); + } + for (_[S] = 1, A[S] = 0, L.push(S); !L.empty(); ) { + var k = L.pop(); + if ((T.push(k), a)) + for (var I = 0; I < u[k].length; I++) { + var C = u[k][I], + O = s.getElementById(k), + D = void 0; + O.edgesTo(C).length > 0 ? (D = O.edgesTo(C)[0]) : (D = C.edgesTo(O)[0]); + var P = i(D); + (C = C.id()), + A[C] > A[k] + P && + ((A[C] = A[k] + P), + L.nodes.indexOf(C) < 0 ? L.push(C) : L.updateItem(C), + (_[C] = 0), + (E[C] = [])), + A[C] == A[k] + P && ((_[C] = _[C] + _[k]), E[C].push(k)); + } + else + for (var F = 0; F < u[k].length; F++) { + var B = u[k][F].id(); + A[B] == 1 / 0 && (L.push(B), (A[B] = A[k] + 1)), + A[B] == A[k] + 1 && ((_[B] = _[B] + _[k]), E[B].push(k)); + } + } + for (var $ = {}, z = 0; z < l.length; z++) $[l[z].id()] = 0; + for (; T.length > 0; ) { + for (var Y = T.pop(), Q = 0; Q < E[Y].length; Q++) { + var X = E[Y][Q]; + $[X] = $[X] + (_[X] / _[Y]) * (1 + $[Y]); + } + Y != l[w].id() && d.set(Y, d.get(Y) + $[Y]); + } + }, '_loop'), + v = 0; + v < l.length; + v++ + ) + y(v); + var x = { + betweenness: o(function (w) { + var S = s.collection(w).id(); + return d.get(S); + }, 'betweenness'), + betweennessNormalized: o(function (w) { + if (f == 0) return 0; + var S = s.collection(w).id(); + return d.get(S) / f; + }, 'betweennessNormalized') + }; + return (x.betweennessNormalised = x.betweennessNormalized), x; + }, 'betweennessCentrality') + }); + IP.bc = IP.betweennessCentrality; + (PWe = Sa({ + expandFactor: 2, + inflateFactor: 2, + multFactor: 1, + maxIterations: 20, + attributes: [ + function (t) { + return 1; + } + ] + })), + (BWe = o(function (e) { + return PWe(e); + }, 'setOptions')), + (FWe = o(function (e, r) { + for (var n = 0, i = 0; i < r.length; i++) n += r[i](e); + return n; + }, 'getSimilarity')), + (zWe = o(function (e, r, n) { + for (var i = 0; i < r; i++) e[i * r + i] = n; + }, 'addLoops')), + (qpe = o(function (e, r) { + for (var n, i = 0; i < r; i++) { + n = 0; + for (var a = 0; a < r; a++) n += e[a * r + i]; + for (var s = 0; s < r; s++) e[s * r + i] = e[s * r + i] / n; + } + }, 'normalize')), + (GWe = o(function (e, r, n) { + for (var i = new Array(n * n), a = 0; a < n; a++) { + for (var s = 0; s < n; s++) i[a * n + s] = 0; + for (var l = 0; l < n; l++) + for (var u = 0; u < n; u++) i[a * n + u] += e[a * n + l] * r[l * n + u]; + } + return i; + }, 'mmult')), + ($We = o(function (e, r, n) { + for (var i = e.slice(0), a = 1; a < n; a++) e = GWe(e, i, r); + return e; + }, 'expand')), + (VWe = o(function (e, r, n) { + for (var i = new Array(r * r), a = 0; a < r * r; a++) i[a] = Math.pow(e[a], n); + return qpe(i, r), i; + }, 'inflate')), + (UWe = o(function (e, r, n, i) { + for (var a = 0; a < n; a++) { + var s = Math.round(e[a] * Math.pow(10, i)) / Math.pow(10, i), + l = Math.round(r[a] * Math.pow(10, i)) / Math.pow(10, i); + if (s !== l) return !1; + } + return !0; + }, 'hasConverged')), + (HWe = o(function (e, r, n, i) { + for (var a = [], s = 0; s < r; s++) { + for (var l = [], u = 0; u < r; u++) Math.round(e[s * r + u] * 1e3) / 1e3 > 0 && l.push(n[u]); + l.length !== 0 && a.push(i.collection(l)); + } + return a; + }, 'assign')), + (YWe = o(function (e, r) { + for (var n = 0; n < e.length; n++) if (!r[n] || e[n].id() !== r[n].id()) return !1; + return !0; + }, 'isDuplicate')), + (WWe = o(function (e) { + for (var r = 0; r < e.length; r++) + for (var n = 0; n < e.length; n++) r != n && YWe(e[r], e[n]) && e.splice(n, 1); + return e; + }, 'removeDuplicates')), + (x0e = o(function (e) { + for ( + var r = this.nodes(), n = this.edges(), i = this.cy(), a = BWe(e), s = {}, l = 0; + l < r.length; + l++ + ) + s[r[l].id()] = l; + for (var u = r.length, h = u * u, f = new Array(h), d, p = 0; p < h; p++) f[p] = 0; + for (var m = 0; m < n.length; m++) { + var g = n[m], + y = s[g.source().id()], + v = s[g.target().id()], + x = FWe(g, a.attributes); + (f[y * u + v] += x), (f[v * u + y] += x); + } + zWe(f, u, a.multFactor), qpe(f, u); + for (var b = !0, w = 0; b && w < a.maxIterations; ) + (b = !1), + (d = $We(f, u, a.expandFactor)), + (f = VWe(d, u, a.inflateFactor)), + UWe(f, d, h, 4) || (b = !0), + w++; + var S = HWe(f, u, r, i); + return (S = WWe(S)), S; + }, 'markovClustering')), + (qWe = { markovClustering: x0e, mcl: x0e }), + (XWe = o(function (e) { + return e; + }, 'identity')), + (Xpe = o(function (e, r) { + return Math.abs(r - e); + }, 'absDiff')), + (b0e = o(function (e, r, n) { + return e + Xpe(r, n); + }, 'addAbsDiff')), + (w0e = o(function (e, r, n) { + return e + Math.pow(n - r, 2); + }, 'addSquaredDiff')), + (jWe = o(function (e) { + return Math.sqrt(e); + }, 'sqrt')), + (KWe = o(function (e, r, n) { + return Math.max(e, Xpe(r, n)); + }, 'maxAbsDiff')), + (Lx = o(function (e, r, n, i, a) { + for ( + var s = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : XWe, + l = i, + u, + h, + f = 0; + f < e; + f++ + ) + (u = r(f)), (h = n(f)), (l = a(l, u, h)); + return s(l); + }, 'getDistance')), + (o1 = { + euclidean: o(function (e, r, n) { + return e >= 2 ? Lx(e, r, n, 0, w0e, jWe) : Lx(e, r, n, 0, b0e); + }, 'euclidean'), + squaredEuclidean: o(function (e, r, n) { + return Lx(e, r, n, 0, w0e); + }, 'squaredEuclidean'), + manhattan: o(function (e, r, n) { + return Lx(e, r, n, 0, b0e); + }, 'manhattan'), + max: o(function (e, r, n) { + return Lx(e, r, n, -1 / 0, KWe); + }, 'max') + }); + o1['squared-euclidean'] = o1.squaredEuclidean; + o1.squaredeuclidean = o1.squaredEuclidean; + o(z6, 'clusteringDistance'); + (QWe = Sa({ + k: 2, + m: 2, + sensitivityThreshold: 1e-4, + distance: 'euclidean', + maxIterations: 10, + attributes: [], + testMode: !1, + testCentroids: null + })), + (iB = o(function (e) { + return QWe(e); + }, 'setOptions')), + (_6 = o(function (e, r, n, i, a) { + var s = a !== 'kMedoids', + l = s + ? function (d) { + return n[d]; + } + : function (d) { + return i[d](n); + }, + u = o(function (p) { + return i[p](r); + }, 'getQ'), + h = n, + f = r; + return z6(e, i.length, l, u, h, f); + }, 'getDist')), + (kP = o(function (e, r, n) { + for ( + var i = n.length, a = new Array(i), s = new Array(i), l = new Array(r), u = null, h = 0; + h < i; + h++ + ) + (a[h] = e.min(n[h]).value), (s[h] = e.max(n[h]).value); + for (var f = 0; f < r; f++) { + u = []; + for (var d = 0; d < i; d++) u[d] = Math.random() * (s[d] - a[d]) + a[d]; + l[f] = u; + } + return l; + }, 'randomCentroids')), + (jpe = o(function (e, r, n, i, a) { + for (var s = 1 / 0, l = 0, u = 0; u < r.length; u++) { + var h = _6(n, e, r[u], i, a); + h < s && ((s = h), (l = u)); + } + return l; + }, 'classify')), + (Kpe = o(function (e, r, n) { + for (var i = [], a = null, s = 0; s < r.length; s++) (a = r[s]), n[a.id()] === e && i.push(a); + return i; + }, 'buildCluster')), + (ZWe = o(function (e, r, n) { + return Math.abs(r - e) <= n; + }, 'haveValuesConverged')), + (JWe = o(function (e, r, n) { + for (var i = 0; i < e.length; i++) + for (var a = 0; a < e[i].length; a++) { + var s = Math.abs(e[i][a] - r[i][a]); + if (s > n) return !1; + } + return !0; + }, 'haveMatricesConverged')), + (eqe = o(function (e, r, n) { + for (var i = 0; i < n; i++) if (e === r[i]) return !0; + return !1; + }, 'seenBefore')), + (T0e = o(function (e, r) { + var n = new Array(r); + if (e.length < 50) + for (var i = 0; i < r; i++) { + for (var a = e[Math.floor(Math.random() * e.length)]; eqe(a, n, i); ) + a = e[Math.floor(Math.random() * e.length)]; + n[i] = a; + } + else for (var s = 0; s < r; s++) n[s] = e[Math.floor(Math.random() * e.length)]; + return n; + }, 'randomMedoids')), + (k0e = o(function (e, r, n) { + for (var i = 0, a = 0; a < r.length; a++) i += _6('manhattan', r[a], e, n, 'kMedoids'); + return i; + }, 'findCost')), + (tqe = o(function (e) { + var r = this.cy(), + n = this.nodes(), + i = null, + a = iB(e), + s = new Array(a.k), + l = {}, + u; + a.testMode + ? typeof a.testCentroids == 'number' + ? (a.testCentroids, (u = kP(n, a.k, a.attributes))) + : Hi(a.testCentroids) === 'object' + ? (u = a.testCentroids) + : (u = kP(n, a.k, a.attributes)) + : (u = kP(n, a.k, a.attributes)); + for (var h = !0, f = 0; h && f < a.maxIterations; ) { + for (var d = 0; d < n.length; d++) + (i = n[d]), (l[i.id()] = jpe(i, u, a.distance, a.attributes, 'kMeans')); + h = !1; + for (var p = 0; p < a.k; p++) { + var m = Kpe(p, n, l); + if (m.length !== 0) { + for ( + var g = a.attributes.length, y = u[p], v = new Array(g), x = new Array(g), b = 0; + b < g; + b++ + ) { + x[b] = 0; + for (var w = 0; w < m.length; w++) (i = m[w]), (x[b] += a.attributes[b](i)); + (v[b] = x[b] / m.length), ZWe(v[b], y[b], a.sensitivityThreshold) || (h = !0); + } + (u[p] = v), (s[p] = r.collection(m)); + } + } + f++; + } + return s; + }, 'kMeans')), + (rqe = o(function (e) { + var r = this.cy(), + n = this.nodes(), + i = null, + a = iB(e), + s = new Array(a.k), + l, + u = {}, + h, + f = new Array(a.k); + a.testMode + ? typeof a.testCentroids == 'number' || + (Hi(a.testCentroids) === 'object' ? (l = a.testCentroids) : (l = T0e(n, a.k))) + : (l = T0e(n, a.k)); + for (var d = !0, p = 0; d && p < a.maxIterations; ) { + for (var m = 0; m < n.length; m++) + (i = n[m]), (u[i.id()] = jpe(i, l, a.distance, a.attributes, 'kMedoids')); + d = !1; + for (var g = 0; g < l.length; g++) { + var y = Kpe(g, n, u); + if (y.length !== 0) { + f[g] = k0e(l[g], y, a.attributes); + for (var v = 0; v < y.length; v++) + (h = k0e(y[v], y, a.attributes)), h < f[g] && ((f[g] = h), (l[g] = y[v]), (d = !0)); + s[g] = r.collection(y); + } + } + p++; + } + return s; + }, 'kMedoids')), + (nqe = o(function (e, r, n, i, a) { + for (var s, l, u = 0; u < r.length; u++) + for (var h = 0; h < e.length; h++) i[u][h] = Math.pow(n[u][h], a.m); + for (var f = 0; f < e.length; f++) + for (var d = 0; d < a.attributes.length; d++) { + (s = 0), (l = 0); + for (var p = 0; p < r.length; p++) (s += i[p][f] * a.attributes[d](r[p])), (l += i[p][f]); + e[f][d] = s / l; + } + }, 'updateCentroids')), + (iqe = o(function (e, r, n, i, a) { + for (var s = 0; s < e.length; s++) r[s] = e[s].slice(); + for (var l, u, h, f = 2 / (a.m - 1), d = 0; d < n.length; d++) + for (var p = 0; p < i.length; p++) { + l = 0; + for (var m = 0; m < n.length; m++) + (u = _6(a.distance, i[p], n[d], a.attributes, 'cmeans')), + (h = _6(a.distance, i[p], n[m], a.attributes, 'cmeans')), + (l += Math.pow(u / h, f)); + e[p][d] = 1 / l; + } + }, 'updateMembership')), + (aqe = o(function (e, r, n, i) { + for (var a = new Array(n.k), s = 0; s < a.length; s++) a[s] = []; + for (var l, u, h = 0; h < r.length; h++) { + (l = -1 / 0), (u = -1); + for (var f = 0; f < r[0].length; f++) r[h][f] > l && ((l = r[h][f]), (u = f)); + a[u].push(e[h]); + } + for (var d = 0; d < a.length; d++) a[d] = i.collection(a[d]); + return a; + }, 'assign')), + (E0e = o(function (e) { + var r = this.cy(), + n = this.nodes(), + i = iB(e), + a, + s, + l, + u, + h; + u = new Array(n.length); + for (var f = 0; f < n.length; f++) u[f] = new Array(i.k); + l = new Array(n.length); + for (var d = 0; d < n.length; d++) l[d] = new Array(i.k); + for (var p = 0; p < n.length; p++) { + for (var m = 0, g = 0; g < i.k; g++) (l[p][g] = Math.random()), (m += l[p][g]); + for (var y = 0; y < i.k; y++) l[p][y] = l[p][y] / m; + } + s = new Array(i.k); + for (var v = 0; v < i.k; v++) s[v] = new Array(i.attributes.length); + h = new Array(n.length); + for (var x = 0; x < n.length; x++) h[x] = new Array(i.k); + for (var b = !0, w = 0; b && w < i.maxIterations; ) + (b = !1), + nqe(s, n, l, h, i), + iqe(l, u, s, n, i), + JWe(l, u, i.sensitivityThreshold) || (b = !0), + w++; + return (a = aqe(n, l, i, r)), { clusters: a, degreeOfMembership: l }; + }, 'fuzzyCMeans')), + (sqe = { kMeans: tqe, kMedoids: rqe, fuzzyCMeans: E0e, fcm: E0e }), + (oqe = Sa({ + distance: 'euclidean', + linkage: 'min', + mode: 'threshold', + threshold: 1 / 0, + addDendrogram: !1, + dendrogramDepth: 0, + attributes: [] + })), + (lqe = { single: 'min', complete: 'max' }), + (cqe = o(function (e) { + var r = oqe(e), + n = lqe[r.linkage]; + return n != null && (r.linkage = n), r; + }, 'setOptions')), + (C0e = o(function (e, r, n, i, a) { + for ( + var s = 0, + l = 1 / 0, + u, + h = a.attributes, + f = o(function (L, M) { + return z6( + a.distance, + h.length, + function (N) { + return h[N](L); + }, + function (N) { + return h[N](M); + }, + L, + M + ); + }, 'getDist'), + d = 0; + d < e.length; + d++ + ) { + var p = e[d].key, + m = n[p][i[p]]; + m < l && ((s = p), (l = m)); + } + if ((a.mode === 'threshold' && l >= a.threshold) || (a.mode === 'dendrogram' && e.length === 1)) + return !1; + var g = r[s], + y = r[i[s]], + v; + a.mode === 'dendrogram' + ? (v = { left: g, right: y, key: g.key }) + : (v = { value: g.value.concat(y.value), key: g.key }), + (e[g.index] = v), + e.splice(y.index, 1), + (r[g.key] = v); + for (var x = 0; x < e.length; x++) { + var b = e[x]; + g.key === b.key + ? (u = 1 / 0) + : a.linkage === 'min' + ? ((u = n[g.key][b.key]), n[g.key][b.key] > n[y.key][b.key] && (u = n[y.key][b.key])) + : a.linkage === 'max' + ? ((u = n[g.key][b.key]), n[g.key][b.key] < n[y.key][b.key] && (u = n[y.key][b.key])) + : a.linkage === 'mean' + ? (u = (n[g.key][b.key] * g.size + n[y.key][b.key] * y.size) / (g.size + y.size)) + : a.mode === 'dendrogram' + ? (u = f(b.value, g.value)) + : (u = f(b.value[0], g.value[0])), + (n[g.key][b.key] = n[b.key][g.key] = u); + } + for (var w = 0; w < e.length; w++) { + var S = e[w].key; + if (i[S] === g.key || i[S] === y.key) { + for (var T = S, E = 0; E < e.length; E++) { + var _ = e[E].key; + n[S][_] < n[S][T] && (T = _); + } + i[S] = T; + } + e[w].index = w; + } + return (g.key = y.key = g.index = y.index = null), !0; + }, 'mergeClosest')), + (a6 = o(function t(e, r, n) { + e && (e.value ? r.push(e.value) : (e.left && t(e.left, r), e.right && t(e.right, r))); + }, 'getAllChildren')), + (uqe = o(function t(e, r) { + if (!e) return ''; + if (e.left && e.right) { + var n = t(e.left, r), + i = t(e.right, r), + a = r.add({ group: 'nodes', data: { id: n + ',' + i } }); + return ( + r.add({ group: 'edges', data: { source: n, target: a.id() } }), + r.add({ group: 'edges', data: { source: i, target: a.id() } }), + a.id() + ); + } else if (e.value) return e.value.id(); + }, 'buildDendrogram')), + (hqe = o(function t(e, r, n) { + if (!e) return []; + var i = [], + a = [], + s = []; + return r === 0 + ? (e.left && a6(e.left, i), e.right && a6(e.right, a), (s = i.concat(a)), [n.collection(s)]) + : r === 1 + ? e.value + ? [n.collection(e.value)] + : (e.left && a6(e.left, i), e.right && a6(e.right, a), [n.collection(i), n.collection(a)]) + : e.value + ? [n.collection(e.value)] + : (e.left && (i = t(e.left, r - 1, n)), e.right && (a = t(e.right, r - 1, n)), i.concat(a)); + }, 'buildClustersFromTree')), + (S0e = o(function (e) { + for ( + var r = this.cy(), + n = this.nodes(), + i = cqe(e), + a = i.attributes, + s = o(function (w, S) { + return z6( + i.distance, + a.length, + function (T) { + return a[T](w); + }, + function (T) { + return a[T](S); + }, + w, + S + ); + }, 'getDist'), + l = [], + u = [], + h = [], + f = [], + d = 0; + d < n.length; + d++ + ) { + var p = { + value: i.mode === 'dendrogram' ? n[d] : [n[d]], + key: d, + index: d + }; + (l[d] = p), (f[d] = p), (u[d] = []), (h[d] = 0); + } + for (var m = 0; m < l.length; m++) + for (var g = 0; g <= m; g++) { + var y = void 0; + i.mode === 'dendrogram' + ? (y = m === g ? 1 / 0 : s(l[m].value, l[g].value)) + : (y = m === g ? 1 / 0 : s(l[m].value[0], l[g].value[0])), + (u[m][g] = y), + (u[g][m] = y), + y < u[m][h[m]] && (h[m] = g); + } + for (var v = C0e(l, f, u, h, i); v; ) v = C0e(l, f, u, h, i); + var x; + return ( + i.mode === 'dendrogram' + ? ((x = hqe(l[0], i.dendrogramDepth, r)), i.addDendrogram && uqe(l[0], r)) + : ((x = new Array(l.length)), + l.forEach(function (b, w) { + (b.key = b.index = null), (x[w] = r.collection(b.value)); + })), + x + ); + }, 'hierarchicalClustering')), + (fqe = { hierarchicalClustering: S0e, hca: S0e }), + (dqe = Sa({ + distance: 'euclidean', + preference: 'median', + damping: 0.8, + maxIterations: 1e3, + minIterations: 100, + attributes: [] + })), + (pqe = o(function (e) { + var r = e.damping, + n = e.preference; + (0.5 <= r && r < 1) || oi('Damping must range on [0.5, 1). Got: '.concat(r)); + var i = ['median', 'mean', 'min', 'max']; + return ( + i.some(function (a) { + return a === n; + }) || + ft(n) || + oi( + 'Preference must be one of [' + .concat( + i + .map(function (a) { + return "'".concat(a, "'"); + }) + .join(', '), + '] or a number. Got: ' + ) + .concat(n) + ), + dqe(e) + ); + }, 'setOptions')), + (mqe = o(function (e, r, n, i) { + var a = o(function (l, u) { + return i[u](l); + }, 'attr'); + return -z6( + e, + i.length, + function (s) { + return a(r, s); + }, + function (s) { + return a(n, s); + }, + r, + n + ); + }, 'getSimilarity')), + (gqe = o(function (e, r) { + var n = null; + return ( + r === 'median' + ? (n = pWe(e)) + : r === 'mean' + ? (n = dWe(e)) + : r === 'min' + ? (n = hWe(e)) + : r === 'max' + ? (n = fWe(e)) + : (n = r), + n + ); + }, 'getPreference')), + (yqe = o(function (e, r, n) { + for (var i = [], a = 0; a < e; a++) r[a * e + a] + n[a * e + a] > 0 && i.push(a); + return i; + }, 'findExemplars')), + (A0e = o(function (e, r, n) { + for (var i = [], a = 0; a < e; a++) { + for (var s = -1, l = -1 / 0, u = 0; u < n.length; u++) { + var h = n[u]; + r[a * e + h] > l && ((s = h), (l = r[a * e + h])); + } + s > 0 && i.push(s); + } + for (var f = 0; f < n.length; f++) i[n[f]] = n[f]; + return i; + }, 'assignClusters')), + (vqe = o(function (e, r, n) { + for (var i = A0e(e, r, n), a = 0; a < n.length; a++) { + for (var s = [], l = 0; l < i.length; l++) i[l] === n[a] && s.push(l); + for (var u = -1, h = -1 / 0, f = 0; f < s.length; f++) { + for (var d = 0, p = 0; p < s.length; p++) d += r[s[p] * e + s[f]]; + d > h && ((u = f), (h = d)); + } + n[a] = s[u]; + } + return (i = A0e(e, r, n)), i; + }, 'assign')), + (_0e = o(function (e) { + for (var r = this.cy(), n = this.nodes(), i = pqe(e), a = {}, s = 0; s < n.length; s++) + a[n[s].id()] = s; + var l, u, h, f, d, p; + (l = n.length), (u = l * l), (h = new Array(u)); + for (var m = 0; m < u; m++) h[m] = -1 / 0; + for (var g = 0; g < l; g++) + for (var y = 0; y < l; y++) + g !== y && (h[g * l + y] = mqe(i.distance, n[g], n[y], i.attributes)); + f = gqe(h, i.preference); + for (var v = 0; v < l; v++) h[v * l + v] = f; + d = new Array(u); + for (var x = 0; x < u; x++) d[x] = 0; + p = new Array(u); + for (var b = 0; b < u; b++) p[b] = 0; + for (var w = new Array(l), S = new Array(l), T = new Array(l), E = 0; E < l; E++) + (w[E] = 0), (S[E] = 0), (T[E] = 0); + for (var _ = new Array(l * i.minIterations), A = 0; A < _.length; A++) _[A] = 0; + var L; + for (L = 0; L < i.maxIterations; L++) { + for (var M = 0; M < l; M++) { + for (var N = -1 / 0, k = -1 / 0, I = -1, C = 0, O = 0; O < l; O++) + (w[O] = d[M * l + O]), + (C = p[M * l + O] + h[M * l + O]), + C >= N ? ((k = N), (N = C), (I = O)) : C > k && (k = C); + for (var D = 0; D < l; D++) + d[M * l + D] = (1 - i.damping) * (h[M * l + D] - N) + i.damping * w[D]; + d[M * l + I] = (1 - i.damping) * (h[M * l + I] - k) + i.damping * w[I]; + } + for (var P = 0; P < l; P++) { + for (var F = 0, B = 0; B < l; B++) + (w[B] = p[B * l + P]), (S[B] = Math.max(0, d[B * l + P])), (F += S[B]); + (F -= S[P]), (S[P] = d[P * l + P]), (F += S[P]); + for (var $ = 0; $ < l; $++) + p[$ * l + P] = (1 - i.damping) * Math.min(0, F - S[$]) + i.damping * w[$]; + p[P * l + P] = (1 - i.damping) * (F - S[P]) + i.damping * w[P]; + } + for (var z = 0, Y = 0; Y < l; Y++) { + var Q = p[Y * l + Y] + d[Y * l + Y] > 0 ? 1 : 0; + (_[(L % i.minIterations) * l + Y] = Q), (z += Q); + } + if (z > 0 && (L >= i.minIterations - 1 || L == i.maxIterations - 1)) { + for (var X = 0, ie = 0; ie < l; ie++) { + T[ie] = 0; + for (var j = 0; j < i.minIterations; j++) T[ie] += _[j * l + ie]; + (T[ie] === 0 || T[ie] === i.minIterations) && X++; + } + if (X === l) break; + } + } + for (var J = yqe(l, d, p), Z = vqe(l, h, J), H = {}, q = 0; q < J.length; q++) H[J[q]] = []; + for (var K = 0; K < n.length; K++) { + var se = a[n[K].id()], + ce = Z[se]; + ce != null && H[ce].push(n[K]); + } + for (var ue = new Array(J.length), te = 0; te < J.length; te++) ue[te] = r.collection(H[J[te]]); + return ue; + }, 'affinityPropagation')), + (xqe = { affinityPropagation: _0e, ap: _0e }), + (bqe = Sa({ root: void 0, directed: !1 })), + (wqe = { + hierholzer: o(function (e) { + if (!Mr(e)) { + var r = arguments; + e = { root: r[0], directed: r[1] }; + } + var n = bqe(e), + i = n.root, + a = n.directed, + s = this, + l = !1, + u, + h, + f; + i && (f = zt(i) ? this.filter(i)[0].id() : i[0].id()); + var d = {}, + p = {}; + a + ? s.forEach(function (b) { + var w = b.id(); + if (b.isNode()) { + var S = b.indegree(!0), + T = b.outdegree(!0), + E = S - T, + _ = T - S; + E == 1 + ? u + ? (l = !0) + : (u = w) + : _ == 1 + ? h + ? (l = !0) + : (h = w) + : (_ > 1 || E > 1) && (l = !0), + (d[w] = []), + b.outgoers().forEach(function (A) { + A.isEdge() && d[w].push(A.id()); + }); + } else p[w] = [void 0, b.target().id()]; + }) + : s.forEach(function (b) { + var w = b.id(); + if (b.isNode()) { + var S = b.degree(!0); + S % 2 && (u ? (h ? (l = !0) : (h = w)) : (u = w)), + (d[w] = []), + b.connectedEdges().forEach(function (T) { + return d[w].push(T.id()); + }); + } else p[w] = [b.source().id(), b.target().id()]; + }); + var m = { found: !1, trail: void 0 }; + if (l) return m; + if (h && u) + if (a) { + if (f && h != f) return m; + f = h; + } else { + if (f && h != f && u != f) return m; + f || (f = h); + } + else f || (f = s[0].id()); + var g = o(function (w) { + for (var S = w, T = [w], E, _, A; d[S].length; ) + (E = d[S].shift()), + (_ = p[E][0]), + (A = p[E][1]), + S != A + ? ((d[A] = d[A].filter(function (L) { + return L != E; + })), + (S = A)) + : !a && + S != _ && + ((d[_] = d[_].filter(function (L) { + return L != E; + })), + (S = _)), + T.unshift(E), + T.unshift(S); + return T; + }, 'walk'), + y = [], + v = []; + for (v = g(f); v.length != 1; ) + d[v[0]].length == 0 + ? (y.unshift(s.getElementById(v.shift())), y.unshift(s.getElementById(v.shift()))) + : (v = g(v.shift()).concat(v)); + y.unshift(s.getElementById(v.shift())); + for (var x in d) if (d[x].length) return m; + return (m.found = !0), (m.trail = this.spawn(y, !0)), m; + }, 'hierholzer') + }), + (s6 = o(function () { + var e = this, + r = {}, + n = 0, + i = 0, + a = [], + s = [], + l = {}, + u = o(function (p, m) { + for (var g = s.length - 1, y = [], v = e.spawn(); s[g].x != p || s[g].y != m; ) + y.push(s.pop().edge), g--; + y.push(s.pop().edge), + y.forEach(function (x) { + var b = x.connectedNodes().intersection(e); + v.merge(x), + b.forEach(function (w) { + var S = w.id(), + T = w.connectedEdges().intersection(e); + v.merge(w), + r[S].cutVertex + ? v.merge( + T.filter(function (E) { + return E.isLoop(); + }) + ) + : v.merge(T); + }); + }), + a.push(v); + }, 'buildComponent'), + h = o(function d(p, m, g) { + p === g && (i += 1), (r[m] = { id: n, low: n++, cutVertex: !1 }); + var y = e.getElementById(m).connectedEdges().intersection(e); + if (y.size() === 0) a.push(e.spawn(e.getElementById(m))); + else { + var v, x, b, w; + y.forEach(function (S) { + (v = S.source().id()), + (x = S.target().id()), + (b = v === m ? x : v), + b !== g && + ((w = S.id()), + l[w] || ((l[w] = !0), s.push({ x: m, y: b, edge: S })), + b in r + ? (r[m].low = Math.min(r[m].low, r[b].id)) + : (d(p, b, m), + (r[m].low = Math.min(r[m].low, r[b].low)), + r[m].id <= r[b].low && ((r[m].cutVertex = !0), u(m, b)))); + }); + } + }, 'biconnectedSearch'); + e.forEach(function (d) { + if (d.isNode()) { + var p = d.id(); + p in r || ((i = 0), h(p, p), (r[p].cutVertex = i > 1)); + } + }); + var f = Object.keys(r) + .filter(function (d) { + return r[d].cutVertex; + }) + .map(function (d) { + return e.getElementById(d); + }); + return { cut: e.spawn(f), components: a }; + }, 'hopcroftTarjanBiconnected')), + (Tqe = { + hopcroftTarjanBiconnected: s6, + htbc: s6, + htb: s6, + hopcroftTarjanBiconnectedComponents: s6 + }), + (o6 = o(function () { + var e = this, + r = {}, + n = 0, + i = [], + a = [], + s = e.spawn(e), + l = o(function u(h) { + a.push(h), (r[h] = { index: n, low: n++, explored: !1 }); + var f = e.getElementById(h).connectedEdges().intersection(e); + if ( + (f.forEach(function (y) { + var v = y.target().id(); + v !== h && + (v in r || u(v), r[v].explored || (r[h].low = Math.min(r[h].low, r[v].low))); + }), + r[h].index === r[h].low) + ) { + for (var d = e.spawn(); ; ) { + var p = a.pop(); + if ( + (d.merge(e.getElementById(p)), + (r[p].low = r[h].index), + (r[p].explored = !0), + p === h) + ) + break; + } + var m = d.edgesWith(d), + g = d.merge(m); + i.push(g), (s = s.difference(g)); + } + }, 'stronglyConnectedSearch'); + return ( + e.forEach(function (u) { + if (u.isNode()) { + var h = u.id(); + h in r || l(h); + } + }), + { cut: s, components: i } + ); + }, 'tarjanStronglyConnected')), + (kqe = { + tarjanStronglyConnected: o6, + tsc: o6, + tscc: o6, + tarjanStronglyConnectedComponents: o6 + }), + (Qpe = {}); + [Ux, JYe, eWe, rWe, iWe, sWe, cWe, IWe, r1, n1, IP, qWe, sqe, fqe, xqe, wqe, Tqe, kqe].forEach(function ( + t + ) { + Wt(Qpe, t); + }); + (Zpe = 0), + (Jpe = 1), + (eme = 2), + (Zu = o(function t(e) { + if (!(this instanceof t)) return new t(e); + (this.id = 'Thenable/1.0.7'), + (this.state = Zpe), + (this.fulfillValue = void 0), + (this.rejectReason = void 0), + (this.onFulfilled = []), + (this.onRejected = []), + (this.proxy = { then: this.then.bind(this) }), + typeof e == 'function' && e.call(this, this.fulfill.bind(this), this.reject.bind(this)); + }, 'api')); + Zu.prototype = { + fulfill: o(function (e) { + return L0e(this, Jpe, 'fulfillValue', e); + }, 'fulfill'), + reject: o(function (e) { + return L0e(this, eme, 'rejectReason', e); + }, 'reject'), + then: o(function (e, r) { + var n = this, + i = new Zu(); + return ( + n.onFulfilled.push(R0e(e, i, 'fulfill')), + n.onRejected.push(R0e(r, i, 'reject')), + tme(n), + i.proxy + ); + }, 'then') + }; + (L0e = o(function (e, r, n, i) { + return e.state === Zpe && ((e.state = r), (e[n] = i), tme(e)), e; + }, 'deliver')), + (tme = o(function (e) { + e.state === Jpe + ? D0e(e, 'onFulfilled', e.fulfillValue) + : e.state === eme && D0e(e, 'onRejected', e.rejectReason); + }, 'execute')), + (D0e = o(function (e, r, n) { + if (e[r].length !== 0) { + var i = e[r]; + e[r] = []; + var a = o(function () { + for (var l = 0; l < i.length; l++) i[l](n); + }, 'func'); + typeof setImmediate == 'function' ? setImmediate(a) : setTimeout(a, 0); + } + }, 'execute_handlers')), + (R0e = o(function (e, r, n) { + return function (i) { + if (typeof e != 'function') r[n].call(r, i); + else { + var a; + try { + a = e(i); + } catch (s) { + r.reject(s); + return; + } + Eqe(r, a); + } + }; + }, 'resolver')), + (Eqe = o(function t(e, r) { + if (e === r || e.proxy === r) { + e.reject(new TypeError('cannot resolve promise with itself')); + return; + } + var n; + if ((Hi(r) === 'object' && r !== null) || typeof r == 'function') + try { + n = r.then; + } catch (a) { + e.reject(a); + return; + } + if (typeof n == 'function') { + var i = !1; + try { + n.call( + r, + function (a) { + i || + ((i = !0), + a === r ? e.reject(new TypeError('circular thenable chain')) : t(e, a)); + }, + function (a) { + i || ((i = !0), e.reject(a)); + } + ); + } catch (a) { + i || e.reject(a); + } + return; + } + e.fulfill(r); + }, 'resolve')); + Zu.all = function (t) { + return new Zu(function (e, r) { + for ( + var n = new Array(t.length), + i = 0, + a = o(function (u, h) { + (n[u] = h), i++, i === t.length && e(n); + }, 'fulfill'), + s = 0; + s < t.length; + s++ + ) + (function (l) { + var u = t[l], + h = u != null && u.then != null; + if (h) + u.then( + function (d) { + a(l, d); + }, + function (d) { + r(d); + } + ); + else { + var f = u; + a(l, f); + } + })(s); + }); + }; + Zu.resolve = function (t) { + return new Zu(function (e, r) { + e(t); + }); + }; + Zu.reject = function (t) { + return new Zu(function (e, r) { + r(t); + }); + }; + (u1 = typeof Promise < 'u' ? Promise : Zu), + (OP = o(function (e, r, n) { + var i = KP(e), + a = !i, + s = (this._private = Wt({ duration: 1e3 }, r, n)); + if ( + ((s.target = e), + (s.style = s.style || s.css), + (s.started = !1), + (s.playing = !1), + (s.hooked = !1), + (s.applying = !1), + (s.progress = 0), + (s.completes = []), + (s.frames = []), + s.complete && jn(s.complete) && s.completes.push(s.complete), + a) + ) { + var l = e.position(); + (s.startPosition = s.startPosition || { x: l.x, y: l.y }), + (s.startStyle = s.startStyle || e.cy().style().getAnimationStartStyle(e, s.style)); + } + if (i) { + var u = e.pan(); + (s.startPan = { x: u.x, y: u.y }), (s.startZoom = e.zoom()); + } + (this.length = 1), (this[0] = this); + }, 'Animation')), + (W0 = OP.prototype); + Wt(W0, { + instanceString: o(function () { + return 'animation'; + }, 'instanceString'), + hook: o(function () { + var e = this._private; + if (!e.hooked) { + var r, + n = e.target._private.animation; + e.queue ? (r = n.queue) : (r = n.current), + r.push(this), + xo(e.target) && e.target.cy().addToAnimationPool(e.target), + (e.hooked = !0); + } + return this; + }, 'hook'), + play: o(function () { + var e = this._private; + return ( + e.progress === 1 && (e.progress = 0), + (e.playing = !0), + (e.started = !1), + (e.stopped = !1), + this.hook(), + this + ); + }, 'play'), + playing: o(function () { + return this._private.playing; + }, 'playing'), + apply: o(function () { + var e = this._private; + return (e.applying = !0), (e.started = !1), (e.stopped = !1), this.hook(), this; + }, 'apply'), + applying: o(function () { + return this._private.applying; + }, 'applying'), + pause: o(function () { + var e = this._private; + return (e.playing = !1), (e.started = !1), this; + }, 'pause'), + stop: o(function () { + var e = this._private; + return (e.playing = !1), (e.started = !1), (e.stopped = !0), this; + }, 'stop'), + rewind: o(function () { + return this.progress(0); + }, 'rewind'), + fastforward: o(function () { + return this.progress(1); + }, 'fastforward'), + time: o(function (e) { + var r = this._private; + return e === void 0 ? r.progress * r.duration : this.progress(e / r.duration); + }, 'time'), + progress: o(function (e) { + var r = this._private, + n = r.playing; + return e === void 0 + ? r.progress + : (n && this.pause(), (r.progress = e), (r.started = !1), n && this.play(), this); + }, 'progress'), + completed: o(function () { + return this._private.progress === 1; + }, 'completed'), + reverse: o(function () { + var e = this._private, + r = e.playing; + r && this.pause(), (e.progress = 1 - e.progress), (e.started = !1); + var n = o(function (h, f) { + var d = e[h]; + d != null && ((e[h] = e[f]), (e[f] = d)); + }, 'swap'); + if ((n('zoom', 'startZoom'), n('pan', 'startPan'), n('position', 'startPosition'), e.style)) + for (var i = 0; i < e.style.length; i++) { + var a = e.style[i], + s = a.name, + l = e.startStyle[s]; + (e.startStyle[s] = a), (e.style[i] = l); + } + return r && this.play(), this; + }, 'reverse'), + promise: o(function (e) { + var r = this._private, + n; + switch (e) { + case 'frame': + n = r.frames; + break; + default: + case 'complete': + case 'completed': + n = r.completes; + } + return new u1(function (i, a) { + n.push(function () { + i(); + }); + }); + }, 'promise') + }); + W0.complete = W0.completed; + W0.run = W0.play; + W0.running = W0.playing; + (Cqe = { + animated: o(function () { + return o(function () { + var r = this, + n = r.length !== void 0, + i = n ? r : [r], + a = this._private.cy || this; + if (!a.styleEnabled()) return !1; + var s = i[0]; + if (s) return s._private.animation.current.length > 0; + }, 'animatedImpl'); + }, 'animated'), + clearQueue: o(function () { + return o(function () { + var r = this, + n = r.length !== void 0, + i = n ? r : [r], + a = this._private.cy || this; + if (!a.styleEnabled()) return this; + for (var s = 0; s < i.length; s++) { + var l = i[s]; + l._private.animation.queue = []; + } + return this; + }, 'clearQueueImpl'); + }, 'clearQueue'), + delay: o(function () { + return o(function (r, n) { + var i = this._private.cy || this; + return i.styleEnabled() ? this.animate({ delay: r, duration: r, complete: n }) : this; + }, 'delayImpl'); + }, 'delay'), + delayAnimation: o(function () { + return o(function (r, n) { + var i = this._private.cy || this; + return i.styleEnabled() ? this.animation({ delay: r, duration: r, complete: n }) : this; + }, 'delayAnimationImpl'); + }, 'delayAnimation'), + animation: o(function () { + return o(function (r, n) { + var i = this, + a = i.length !== void 0, + s = a ? i : [i], + l = this._private.cy || this, + u = !a, + h = !u; + if (!l.styleEnabled()) return this; + var f = l.style(); + r = Wt({}, r, n); + var d = Object.keys(r).length === 0; + if (d) return new OP(s[0], r); + switch ((r.duration === void 0 && (r.duration = 400), r.duration)) { + case 'slow': + r.duration = 600; + break; + case 'fast': + r.duration = 200; + break; + } + if ( + (h && ((r.style = f.getPropsList(r.style || r.css)), (r.css = void 0)), + h && r.renderedPosition != null) + ) { + var p = r.renderedPosition, + m = l.pan(), + g = l.zoom(); + r.position = Gpe(p, g, m); + } + if (u && r.panBy != null) { + var y = r.panBy, + v = l.pan(); + r.pan = { x: v.x + y.x, y: v.y + y.y }; + } + var x = r.center || r.centre; + if (u && x != null) { + var b = l.getCenterPan(x.eles, r.zoom); + b != null && (r.pan = b); + } + if (u && r.fit != null) { + var w = r.fit, + S = l.getFitViewport(w.eles || w.boundingBox, w.padding); + S != null && ((r.pan = S.pan), (r.zoom = S.zoom)); + } + if (u && Mr(r.zoom)) { + var T = l.getZoomedViewport(r.zoom); + T != null ? (T.zoomed && (r.zoom = T.zoom), T.panned && (r.pan = T.pan)) : (r.zoom = null); + } + return new OP(s[0], r); + }, 'animationImpl'); + }, 'animation'), + animate: o(function () { + return o(function (r, n) { + var i = this, + a = i.length !== void 0, + s = a ? i : [i], + l = this._private.cy || this; + if (!l.styleEnabled()) return this; + n && (r = Wt({}, r, n)); + for (var u = 0; u < s.length; u++) { + var h = s[u], + f = h.animated() && (r.queue === void 0 || r.queue), + d = h.animation(r, f ? { queue: !0 } : void 0); + d.play(); + } + return this; + }, 'animateImpl'); + }, 'animate'), + stop: o(function () { + return o(function (r, n) { + var i = this, + a = i.length !== void 0, + s = a ? i : [i], + l = this._private.cy || this; + if (!l.styleEnabled()) return this; + for (var u = 0; u < s.length; u++) { + for (var h = s[u], f = h._private, d = f.animation.current, p = 0; p < d.length; p++) { + var m = d[p], + g = m._private; + n && (g.duration = 0); + } + r && (f.animation.queue = []), n || (f.animation.current = []); + } + return l.notify('draw'), this; + }, 'stopImpl'); + }, 'stop') + }), + (Sqe = Array.isArray), + (G6 = Sqe), + (Aqe = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/), + (_qe = /^\w*$/); + o(Lqe, 'isKey'); + (Dqe = Lqe), + (Rqe = '[object AsyncFunction]'), + (Nqe = '[object Function]'), + (Mqe = '[object GeneratorFunction]'), + (Iqe = '[object Proxy]'); + o(Oqe, 'isFunction'); + (Pqe = Oqe), + (Bqe = O6['__core-js_shared__']), + (EP = Bqe), + (N0e = (function () { + var t = /[^.]+$/.exec((EP && EP.keys && EP.keys.IE_PROTO) || ''); + return t ? 'Symbol(src)_1.' + t : ''; + })()); + o(Fqe, 'isMasked'); + (zqe = Fqe), (Gqe = Function.prototype), ($qe = Gqe.toString); + o(Vqe, 'toSource'); + (Uqe = Vqe), + (Hqe = /[\\^$.*+?()[\]{}|]/g), + (Yqe = /^\[object .+?Constructor\]$/), + (Wqe = Function.prototype), + (qqe = Object.prototype), + (Xqe = Wqe.toString), + (jqe = qqe.hasOwnProperty), + (Kqe = RegExp( + '^' + + Xqe.call(jqe) + .replace(Hqe, '\\$&') + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + + '$' + )); + o(Qqe, 'baseIsNative'); + Zqe = Qqe; + o(Jqe, 'getValue$1'); + eXe = Jqe; + o(tXe, 'getNative'); + (aB = tXe), (rXe = aB(Object, 'create')), (Wx = rXe); + o(nXe, 'hashClear'); + iXe = nXe; + o(aXe, 'hashDelete'); + (sXe = aXe), (oXe = '__lodash_hash_undefined__'), (lXe = Object.prototype), (cXe = lXe.hasOwnProperty); + o(uXe, 'hashGet'); + (hXe = uXe), (fXe = Object.prototype), (dXe = fXe.hasOwnProperty); + o(pXe, 'hashHas'); + (mXe = pXe), (gXe = '__lodash_hash_undefined__'); + o(yXe, 'hashSet'); + vXe = yXe; + o(h1, 'Hash'); + h1.prototype.clear = iXe; + h1.prototype.delete = sXe; + h1.prototype.get = hXe; + h1.prototype.has = mXe; + h1.prototype.set = vXe; + M0e = h1; + o(xXe, 'listCacheClear'); + bXe = xXe; + o(wXe, 'eq'); + rme = wXe; + o(TXe, 'assocIndexOf'); + ($6 = TXe), (kXe = Array.prototype), (EXe = kXe.splice); + o(CXe, 'listCacheDelete'); + SXe = CXe; + o(AXe, 'listCacheGet'); + _Xe = AXe; + o(LXe, 'listCacheHas'); + DXe = LXe; + o(RXe, 'listCacheSet'); + NXe = RXe; + o(f1, 'ListCache'); + f1.prototype.clear = bXe; + f1.prototype.delete = SXe; + f1.prototype.get = _Xe; + f1.prototype.has = DXe; + f1.prototype.set = NXe; + (MXe = f1), (IXe = aB(O6, 'Map')), (OXe = IXe); + o(PXe, 'mapCacheClear'); + BXe = PXe; + o(FXe, 'isKeyable'); + zXe = FXe; + o(GXe, 'getMapData'); + V6 = GXe; + o($Xe, 'mapCacheDelete'); + VXe = $Xe; + o(UXe, 'mapCacheGet'); + HXe = UXe; + o(YXe, 'mapCacheHas'); + WXe = YXe; + o(qXe, 'mapCacheSet'); + XXe = qXe; + o(d1, 'MapCache'); + d1.prototype.clear = BXe; + d1.prototype.delete = VXe; + d1.prototype.get = HXe; + d1.prototype.has = WXe; + d1.prototype.set = XXe; + (nme = d1), (jXe = 'Expected a function'); + o(sB, 'memoize'); + sB.Cache = nme; + (KXe = sB), (QXe = 500); + o(ZXe, 'memoizeCapped'); + (JXe = ZXe), + (eje = + /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g), + (tje = /\\(\\)?/g), + (rje = JXe(function (t) { + var e = []; + return ( + t.charCodeAt(0) === 46 && e.push(''), + t.replace(eje, function (r, n, i, a) { + e.push(i ? a.replace(tje, '$1') : n || r); + }), + e + ); + })), + (ime = rje); + o(nje, 'arrayMap'); + (ame = nje), (ije = 1 / 0), (I0e = a1 ? a1.prototype : void 0), (O0e = I0e ? I0e.toString : void 0); + o(sme, 'baseToString'); + aje = sme; + o(sje, 'toString$1'); + ome = sje; + o(oje, 'castPath'); + (lme = oje), (lje = 1 / 0); + o(cje, 'toKey'); + oB = cje; + o(uje, 'baseGet'); + hje = uje; + o(fje, 'get'); + (dje = fje), + (pje = (function () { + try { + var t = aB(Object, 'defineProperty'); + return t({}, '', {}), t; + } catch {} + })()), + (P0e = pje); + o(mje, 'baseAssignValue'); + (gje = mje), (yje = Object.prototype), (vje = yje.hasOwnProperty); + o(xje, 'assignValue'); + (bje = xje), (wje = 9007199254740991), (Tje = /^(?:0|[1-9]\d*)$/); + o(kje, 'isIndex'); + Eje = kje; + o(Cje, 'baseSet'); + Sje = Cje; + o(Aje, 'set'); + _je = Aje; + o(Lje, 'copyArray'); + Dje = Lje; + o(Rje, 'toPath'); + (Nje = Rje), + (Mje = { + data: o(function (e) { + var r = { + field: 'data', + bindingEvent: 'data', + allowBinding: !1, + allowSetting: !1, + allowGetting: !1, + settingEvent: 'data', + settingTriggersEvent: !1, + triggerFnName: 'trigger', + immutableKeys: {}, + updateStyle: !1, + beforeGet: o(function (i) {}, 'beforeGet'), + beforeSet: o(function (i, a) {}, 'beforeSet'), + onSet: o(function (i) {}, 'onSet'), + canSet: o(function (i) { + return !0; + }, 'canSet') + }; + return ( + (e = Wt({}, r, e)), + o(function (i, a) { + var s = e, + l = this, + u = l.length !== void 0, + h = u ? l : [l], + f = u ? l[0] : l; + if (zt(i)) { + var d = i.indexOf('.') !== -1, + p = d && Nje(i); + if (s.allowGetting && a === void 0) { + var m; + return ( + f && + (s.beforeGet(f), + p && f._private[s.field][i] === void 0 + ? (m = dje(f._private[s.field], p)) + : (m = f._private[s.field][i])), + m + ); + } else if (s.allowSetting && a !== void 0) { + var g = !s.immutableKeys[i]; + if (g) { + var y = bpe({}, i, a); + s.beforeSet(l, y); + for (var v = 0, x = h.length; v < x; v++) { + var b = h[v]; + s.canSet(b) && + (p && f._private[s.field][i] === void 0 + ? _je(b._private[s.field], p, a) + : (b._private[s.field][i] = a)); + } + s.updateStyle && l.updateStyle(), + s.onSet(l), + s.settingTriggersEvent && l[s.triggerFnName](s.settingEvent); + } + } + } else if (s.allowSetting && Mr(i)) { + var w = i, + S, + T, + E = Object.keys(w); + s.beforeSet(l, w); + for (var _ = 0; _ < E.length; _++) { + (S = E[_]), (T = w[S]); + var A = !s.immutableKeys[S]; + if (A) + for (var L = 0; L < h.length; L++) { + var M = h[L]; + s.canSet(M) && (M._private[s.field][S] = T); + } + } + s.updateStyle && l.updateStyle(), + s.onSet(l), + s.settingTriggersEvent && l[s.triggerFnName](s.settingEvent); + } else if (s.allowBinding && jn(i)) { + var N = i; + l.on(s.bindingEvent, N); + } else if (s.allowGetting && i === void 0) { + var k; + return f && (s.beforeGet(f), (k = f._private[s.field])), k; + } + return l; + }, 'dataImpl') + ); + }, 'data'), + removeData: o(function (e) { + var r = { + field: 'data', + event: 'data', + triggerFnName: 'trigger', + triggerEvent: !1, + immutableKeys: {} + }; + return ( + (e = Wt({}, r, e)), + o(function (i) { + var a = e, + s = this, + l = s.length !== void 0, + u = l ? s : [s]; + if (zt(i)) { + for (var h = i.split(/\s+/), f = h.length, d = 0; d < f; d++) { + var p = h[d]; + if (!Sf(p)) { + var m = !a.immutableKeys[p]; + if (m) + for (var g = 0, y = u.length; g < y; g++) + u[g]._private[a.field][p] = void 0; + } + } + a.triggerEvent && s[a.triggerFnName](a.event); + } else if (i === void 0) { + for (var v = 0, x = u.length; v < x; v++) + for ( + var b = u[v]._private[a.field], w = Object.keys(b), S = 0; + S < w.length; + S++ + ) { + var T = w[S], + E = !a.immutableKeys[T]; + E && (b[T] = void 0); + } + a.triggerEvent && s[a.triggerFnName](a.event); + } + return s; + }, 'removeDataImpl') + ); + }, 'removeData') + }), + (Ije = { + eventAliasesOn: o(function (e) { + var r = e; + (r.addListener = r.listen = r.bind = r.on), + (r.unlisten = r.unbind = r.off = r.removeListener), + (r.trigger = r.emit), + (r.pon = r.promiseOn = + function (n, i) { + var a = this, + s = Array.prototype.slice.call(arguments, 0); + return new u1(function (l, u) { + var h = o(function (m) { + a.off.apply(a, d), l(m); + }, 'callback'), + f = s.concat([h]), + d = f.concat([]); + a.on.apply(a, f); + }); + }); + }, 'eventAliasesOn') + }), + (en = {}); + [Cqe, Mje, Ije].forEach(function (t) { + Wt(en, t); + }); + (Oje = { + animate: en.animate(), + animation: en.animation(), + animated: en.animated(), + clearQueue: en.clearQueue(), + delay: en.delay(), + delayAnimation: en.delayAnimation(), + stop: en.stop() + }), + (g6 = { + classes: o(function (e) { + var r = this; + if (e === void 0) { + var n = []; + return ( + r[0]._private.classes.forEach(function (g) { + return n.push(g); + }), + n + ); + } else vn(e) || (e = (e || '').match(/\S+/g) || []); + for (var i = [], a = new c1(e), s = 0; s < r.length; s++) { + for (var l = r[s], u = l._private, h = u.classes, f = !1, d = 0; d < e.length; d++) { + var p = e[d], + m = h.has(p); + if (!m) { + f = !0; + break; + } + } + f || (f = h.size !== e.length), f && ((u.classes = a), i.push(l)); + } + return i.length > 0 && this.spawn(i).updateStyle().emit('class'), r; + }, 'classes'), + addClass: o(function (e) { + return this.toggleClass(e, !0); + }, 'addClass'), + hasClass: o(function (e) { + var r = this[0]; + return r != null && r._private.classes.has(e); + }, 'hasClass'), + toggleClass: o(function (e, r) { + vn(e) || (e = e.match(/\S+/g) || []); + for (var n = this, i = r === void 0, a = [], s = 0, l = n.length; s < l; s++) + for (var u = n[s], h = u._private.classes, f = !1, d = 0; d < e.length; d++) { + var p = e[d], + m = h.has(p), + g = !1; + r || (i && !m) ? (h.add(p), (g = !0)) : (!r || (i && m)) && (h.delete(p), (g = !0)), + !f && g && (a.push(u), (f = !0)); + } + return a.length > 0 && this.spawn(a).updateStyle().emit('class'), n; + }, 'toggleClass'), + removeClass: o(function (e) { + return this.toggleClass(e, !1); + }, 'removeClass'), + flashClass: o(function (e, r) { + var n = this; + if (r == null) r = 250; + else if (r === 0) return n; + return ( + n.addClass(e), + setTimeout(function () { + n.removeClass(e); + }, r), + n + ); + }, 'flashClass') + }); + g6.className = g6.classNames = g6.classes; + Nr = { + metaChar: '[\\!\\"\\#\\$\\%\\&\\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]', + comparatorOp: '=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=', + boolOp: '\\?|\\!|\\^', + string: `"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`, + number: Ui, + meta: 'degree|indegree|outdegree', + separator: '\\s*,\\s*', + descendant: '\\s+', + child: '\\s+>\\s+', + subject: '\\$', + group: 'node|edge|\\*', + directedEdge: '\\s+->\\s+', + undirectedEdge: '\\s+<->\\s+' + }; + Nr.variable = '(?:[\\w-.]|(?:\\\\' + Nr.metaChar + '))+'; + Nr.className = '(?:[\\w-]|(?:\\\\' + Nr.metaChar + '))+'; + Nr.value = Nr.string + '|' + Nr.number; + Nr.id = Nr.variable; + (function () { + var t, e, r; + for (t = Nr.comparatorOp.split('|'), r = 0; r < t.length; r++) + (e = t[r]), (Nr.comparatorOp += '|@' + e); + for (t = Nr.comparatorOp.split('|'), r = 0; r < t.length; r++) + (e = t[r]), !(e.indexOf('!') >= 0) && e !== '=' && (Nr.comparatorOp += '|\\!' + e); + })(); + (un = o(function () { + return { checks: [] }; + }, 'newQuery')), + (Ct = { + 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 + }), + (PP = [ + { + selector: ':selected', + matches: o(function (e) { + return e.selected(); + }, 'matches') + }, + { + selector: ':unselected', + matches: o(function (e) { + return !e.selected(); + }, 'matches') + }, + { + selector: ':selectable', + matches: o(function (e) { + return e.selectable(); + }, 'matches') + }, + { + selector: ':unselectable', + matches: o(function (e) { + return !e.selectable(); + }, 'matches') + }, + { + selector: ':locked', + matches: o(function (e) { + return e.locked(); + }, 'matches') + }, + { + selector: ':unlocked', + matches: o(function (e) { + return !e.locked(); + }, 'matches') + }, + { + selector: ':visible', + matches: o(function (e) { + return e.visible(); + }, 'matches') + }, + { + selector: ':hidden', + matches: o(function (e) { + return !e.visible(); + }, 'matches') + }, + { + selector: ':transparent', + matches: o(function (e) { + return e.transparent(); + }, 'matches') + }, + { + selector: ':grabbed', + matches: o(function (e) { + return e.grabbed(); + }, 'matches') + }, + { + selector: ':free', + matches: o(function (e) { + return !e.grabbed(); + }, 'matches') + }, + { + selector: ':removed', + matches: o(function (e) { + return e.removed(); + }, 'matches') + }, + { + selector: ':inside', + matches: o(function (e) { + return !e.removed(); + }, 'matches') + }, + { + selector: ':grabbable', + matches: o(function (e) { + return e.grabbable(); + }, 'matches') + }, + { + selector: ':ungrabbable', + matches: o(function (e) { + return !e.grabbable(); + }, 'matches') + }, + { + selector: ':animated', + matches: o(function (e) { + return e.animated(); + }, 'matches') + }, + { + selector: ':unanimated', + matches: o(function (e) { + return !e.animated(); + }, 'matches') + }, + { + selector: ':parent', + matches: o(function (e) { + return e.isParent(); + }, 'matches') + }, + { + selector: ':childless', + matches: o(function (e) { + return e.isChildless(); + }, 'matches') + }, + { + selector: ':child', + matches: o(function (e) { + return e.isChild(); + }, 'matches') + }, + { + selector: ':orphan', + matches: o(function (e) { + return e.isOrphan(); + }, 'matches') + }, + { + selector: ':nonorphan', + matches: o(function (e) { + return e.isChild(); + }, 'matches') + }, + { + selector: ':compound', + matches: o(function (e) { + return e.isNode() ? e.isParent() : e.source().isParent() || e.target().isParent(); + }, 'matches') + }, + { + selector: ':loop', + matches: o(function (e) { + return e.isLoop(); + }, 'matches') + }, + { + selector: ':simple', + matches: o(function (e) { + return e.isSimple(); + }, 'matches') + }, + { + selector: ':active', + matches: o(function (e) { + return e.active(); + }, 'matches') + }, + { + selector: ':inactive', + matches: o(function (e) { + return !e.active(); + }, 'matches') + }, + { + selector: ':backgrounding', + matches: o(function (e) { + return e.backgrounding(); + }, 'matches') + }, + { + selector: ':nonbackgrounding', + matches: o(function (e) { + return !e.backgrounding(); + }, 'matches') + } + ].sort(function (t, e) { + return qHe(t.selector, e.selector); + })), + (Pje = (function () { + for (var t = {}, e, r = 0; r < PP.length; r++) (e = PP[r]), (t[e.selector] = e.matches); + return t; + })()), + (Bje = o(function (e, r) { + return Pje[e](r); + }, 'stateSelectorMatches')), + (Fje = + '(' + + PP.map(function (t) { + return t.selector; + }).join('|') + + ')'), + (qg = o(function (e) { + return e.replace(new RegExp('\\\\(' + Nr.metaChar + ')', 'g'), function (r, n) { + return n; + }); + }, 'cleanMetaChars')), + (wf = o(function (e, r, n) { + e[e.length - 1] = n; + }, 'replaceLastQuery')), + (BP = [ + { + name: 'group', + query: !0, + regex: '(' + Nr.group + ')', + populate: o(function (e, r, n) { + var i = $l(n, 1), + a = i[0]; + r.checks.push({ type: Ct.GROUP, value: a === '*' ? a : a + 's' }); + }, 'populate') + }, + { + name: 'state', + query: !0, + regex: Fje, + populate: o(function (e, r, n) { + var i = $l(n, 1), + a = i[0]; + r.checks.push({ type: Ct.STATE, value: a }); + }, 'populate') + }, + { + name: 'id', + query: !0, + regex: '\\#(' + Nr.id + ')', + populate: o(function (e, r, n) { + var i = $l(n, 1), + a = i[0]; + r.checks.push({ type: Ct.ID, value: qg(a) }); + }, 'populate') + }, + { + name: 'className', + query: !0, + regex: '\\.(' + Nr.className + ')', + populate: o(function (e, r, n) { + var i = $l(n, 1), + a = i[0]; + r.checks.push({ type: Ct.CLASS, value: qg(a) }); + }, 'populate') + }, + { + name: 'dataExists', + query: !0, + regex: '\\[\\s*(' + Nr.variable + ')\\s*\\]', + populate: o(function (e, r, n) { + var i = $l(n, 1), + a = i[0]; + r.checks.push({ type: Ct.DATA_EXIST, field: qg(a) }); + }, 'populate') + }, + { + name: 'dataCompare', + query: !0, + regex: '\\[\\s*(' + Nr.variable + ')\\s*(' + Nr.comparatorOp + ')\\s*(' + Nr.value + ')\\s*\\]', + populate: o(function (e, r, n) { + var i = $l(n, 3), + a = i[0], + s = i[1], + l = i[2], + u = new RegExp('^' + Nr.string + '$').exec(l) != null; + u ? (l = l.substring(1, l.length - 1)) : (l = parseFloat(l)), + r.checks.push({ + type: Ct.DATA_COMPARE, + field: qg(a), + operator: s, + value: l + }); + }, 'populate') + }, + { + name: 'dataBool', + query: !0, + regex: '\\[\\s*(' + Nr.boolOp + ')\\s*(' + Nr.variable + ')\\s*\\]', + populate: o(function (e, r, n) { + var i = $l(n, 2), + a = i[0], + s = i[1]; + r.checks.push({ type: Ct.DATA_BOOL, field: qg(s), operator: a }); + }, 'populate') + }, + { + name: 'metaCompare', + query: !0, + regex: + '\\[\\[\\s*(' + Nr.meta + ')\\s*(' + Nr.comparatorOp + ')\\s*(' + Nr.number + ')\\s*\\]\\]', + populate: o(function (e, r, n) { + var i = $l(n, 3), + a = i[0], + s = i[1], + l = i[2]; + r.checks.push({ + type: Ct.META_COMPARE, + field: qg(a), + operator: s, + value: parseFloat(l) + }); + }, 'populate') + }, + { + name: 'nextQuery', + separator: !0, + regex: Nr.separator, + populate: o(function (e, r) { + var n = e.currentSubject, + i = e.edgeCount, + a = e.compoundCount, + s = e[e.length - 1]; + n != null && ((s.subject = n), (e.currentSubject = null)), + (s.edgeCount = i), + (s.compoundCount = a), + (e.edgeCount = 0), + (e.compoundCount = 0); + var l = (e[e.length++] = un()); + return l; + }, 'populate') + }, + { + name: 'directedEdge', + separator: !0, + regex: Nr.directedEdge, + populate: o(function (e, r) { + if (e.currentSubject == null) { + var n = un(), + i = r, + a = un(); + return ( + n.checks.push({ + type: Ct.DIRECTED_EDGE, + source: i, + target: a + }), + wf(e, r, n), + e.edgeCount++, + a + ); + } else { + var s = un(), + l = r, + u = un(); + return ( + s.checks.push({ type: Ct.NODE_SOURCE, source: l, target: u }), + wf(e, r, s), + e.edgeCount++, + u + ); + } + }, 'populate') + }, + { + name: 'undirectedEdge', + separator: !0, + regex: Nr.undirectedEdge, + populate: o(function (e, r) { + if (e.currentSubject == null) { + var n = un(), + i = r, + a = un(); + return ( + n.checks.push({ type: Ct.UNDIRECTED_EDGE, nodes: [i, a] }), + wf(e, r, n), + e.edgeCount++, + a + ); + } else { + var s = un(), + l = r, + u = un(); + return ( + s.checks.push({ + type: Ct.NODE_NEIGHBOR, + node: l, + neighbor: u + }), + wf(e, r, s), + u + ); + } + }, 'populate') + }, + { + name: 'child', + separator: !0, + regex: Nr.child, + populate: o(function (e, r) { + if (e.currentSubject == null) { + var n = un(), + i = un(), + a = e[e.length - 1]; + return ( + n.checks.push({ type: Ct.CHILD, parent: a, child: i }), + wf(e, r, n), + e.compoundCount++, + i + ); + } else if (e.currentSubject === r) { + var s = un(), + l = e[e.length - 1], + u = un(), + h = un(), + f = un(), + d = un(); + return ( + s.checks.push({ + type: Ct.COMPOUND_SPLIT, + left: l, + right: u, + subject: h + }), + (h.checks = r.checks), + (r.checks = [{ type: Ct.TRUE }]), + d.checks.push({ type: Ct.TRUE }), + u.checks.push({ type: Ct.PARENT, parent: d, child: f }), + wf(e, l, s), + (e.currentSubject = h), + e.compoundCount++, + f + ); + } else { + var p = un(), + m = un(), + g = [{ type: Ct.PARENT, parent: p, child: m }]; + return (p.checks = r.checks), (r.checks = g), e.compoundCount++, m; + } + }, 'populate') + }, + { + name: 'descendant', + separator: !0, + regex: Nr.descendant, + populate: o(function (e, r) { + if (e.currentSubject == null) { + var n = un(), + i = un(), + a = e[e.length - 1]; + return ( + n.checks.push({ + type: Ct.DESCENDANT, + ancestor: a, + descendant: i + }), + wf(e, r, n), + e.compoundCount++, + i + ); + } else if (e.currentSubject === r) { + var s = un(), + l = e[e.length - 1], + u = un(), + h = un(), + f = un(), + d = un(); + return ( + s.checks.push({ + type: Ct.COMPOUND_SPLIT, + left: l, + right: u, + subject: h + }), + (h.checks = r.checks), + (r.checks = [{ type: Ct.TRUE }]), + d.checks.push({ type: Ct.TRUE }), + u.checks.push({ + type: Ct.ANCESTOR, + ancestor: d, + descendant: f + }), + wf(e, l, s), + (e.currentSubject = h), + e.compoundCount++, + f + ); + } else { + var p = un(), + m = un(), + g = [{ type: Ct.ANCESTOR, ancestor: p, descendant: m }]; + return (p.checks = r.checks), (r.checks = g), e.compoundCount++, m; + } + }, 'populate') + }, + { + name: 'subject', + modifier: !0, + regex: Nr.subject, + populate: o(function (e, r) { + if (e.currentSubject != null && e.currentSubject !== r) + return tn('Redefinition of subject in selector `' + e.toString() + '`'), !1; + e.currentSubject = r; + var n = e[e.length - 1], + i = n.checks[0], + a = i == null ? null : i.type; + a === Ct.DIRECTED_EDGE + ? (i.type = Ct.NODE_TARGET) + : a === Ct.UNDIRECTED_EDGE && + ((i.type = Ct.NODE_NEIGHBOR), + (i.node = i.nodes[1]), + (i.neighbor = i.nodes[0]), + (i.nodes = null)); + }, 'populate') + } + ]); + BP.forEach(function (t) { + return (t.regexObj = new RegExp('^' + t.regex)); + }); + (zje = o(function (e) { + for (var r, n, i, a = 0; a < BP.length; a++) { + var s = BP[a], + l = s.name, + u = e.match(s.regexObj); + if (u != null) { + (n = u), (r = s), (i = l); + var h = u[0]; + e = e.substring(h.length); + break; + } + } + return { expr: r, match: n, name: i, remaining: e }; + }, 'consumeExpr')), + (Gje = o(function (e) { + var r = e.match(/^\s+/); + if (r) { + var n = r[0]; + e = e.substring(n.length); + } + return e; + }, 'consumeWhitespace')), + ($je = o(function (e) { + var r = this, + n = (r.inputText = e), + i = (r[0] = un()); + for (r.length = 1, n = Gje(n); ; ) { + var a = zje(n); + if (a.expr == null) return tn('The selector `' + e + '`is invalid'), !1; + var s = a.match.slice(1), + l = a.expr.populate(r, i, s); + if (l === !1) return !1; + if ((l != null && (i = l), (n = a.remaining), n.match(/^\s*$/))) break; + } + var u = r[r.length - 1]; + r.currentSubject != null && (u.subject = r.currentSubject), + (u.edgeCount = r.edgeCount), + (u.compoundCount = r.compoundCount); + for (var h = 0; h < r.length; h++) { + var f = r[h]; + if (f.compoundCount > 0 && f.edgeCount > 0) + return ( + tn( + 'The selector `' + + e + + '` is invalid because it uses both a compound selector and an edge selector' + ), + !1 + ); + if (f.edgeCount > 1) + return ( + tn('The selector `' + e + '` is invalid because it uses multiple edge selectors'), !1 + ); + f.edgeCount === 1 && + tn( + 'The selector `' + + e + + '` 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; + }, 'parse')), + (Vje = o(function () { + if (this.toStringCache != null) return this.toStringCache; + for ( + var e = o(function (f) { + return f ?? ''; + }, 'clean'), + r = o(function (f) { + return zt(f) ? '"' + f + '"' : e(f); + }, 'cleanVal'), + n = o(function (f) { + return ' ' + f + ' '; + }, 'space'), + i = o(function (f, d) { + var p = f.type, + m = f.value; + switch (p) { + case Ct.GROUP: { + var g = e(m); + return g.substring(0, g.length - 1); + } + case Ct.DATA_COMPARE: { + var y = f.field, + v = f.operator; + return '[' + y + n(e(v)) + r(m) + ']'; + } + case Ct.DATA_BOOL: { + var x = f.operator, + b = f.field; + return '[' + e(x) + b + ']'; + } + case Ct.DATA_EXIST: { + var w = f.field; + return '[' + w + ']'; + } + case Ct.META_COMPARE: { + var S = f.operator, + T = f.field; + return '[[' + T + n(e(S)) + r(m) + ']]'; + } + case Ct.STATE: + return m; + case Ct.ID: + return '#' + m; + case Ct.CLASS: + return '.' + m; + case Ct.PARENT: + case Ct.CHILD: + return a(f.parent, d) + n('>') + a(f.child, d); + case Ct.ANCESTOR: + case Ct.DESCENDANT: + return a(f.ancestor, d) + ' ' + a(f.descendant, d); + case Ct.COMPOUND_SPLIT: { + var E = a(f.left, d), + _ = a(f.subject, d), + A = a(f.right, d); + return E + (E.length > 0 ? ' ' : '') + _ + A; + } + case Ct.TRUE: + return ''; + } + }, 'checkToString'), + a = o(function (f, d) { + return f.checks.reduce(function (p, m, g) { + return p + (d === f && g === 0 ? '$' : '') + i(m, d); + }, ''); + }, 'queryToString'), + s = '', + l = 0; + l < this.length; + l++ + ) { + var u = this[l]; + (s += a(u, u.subject)), this.length > 1 && l < this.length - 1 && (s += ', '); + } + return (this.toStringCache = s), s; + }, 'toString')), + (Uje = { parse: $je, toString: Vje }), + (cme = o(function (e, r, n) { + var i, + a = zt(e), + s = ft(e), + l = zt(n), + u, + h, + f = !1, + d = !1, + p = !1; + switch ( + (r.indexOf('!') >= 0 && ((r = r.replace('!', '')), (d = !0)), + r.indexOf('@') >= 0 && ((r = r.replace('@', '')), (f = !0)), + (a || l || f) && ((u = !a && !s ? '' : '' + e), (h = '' + n)), + f && ((e = u = u.toLowerCase()), (n = h = h.toLowerCase())), + r) + ) { + case '*=': + i = u.indexOf(h) >= 0; + break; + case '$=': + i = u.indexOf(h, u.length - h.length) >= 0; + break; + case '^=': + i = u.indexOf(h) === 0; + break; + case '=': + i = e === n; + break; + case '>': + (p = !0), (i = e > n); + break; + case '>=': + (p = !0), (i = e >= n); + break; + case '<': + (p = !0), (i = e < n); + break; + case '<=': + (p = !0), (i = e <= n); + break; + default: + i = !1; + break; + } + return d && (e != null || !p) && (i = !i), i; + }, 'valCmp')), + (Hje = o(function (e, r) { + switch (r) { + case '?': + return !!e; + case '!': + return !e; + case '^': + return e === void 0; + } + }, 'boolCmp')), + (Yje = o(function (e) { + return e !== void 0; + }, 'existCmp')), + (lB = o(function (e, r) { + return e.data(r); + }, 'data')), + (Wje = o(function (e, r) { + return e[r](); + }, 'meta')), + (li = []), + (In = o(function (e, r) { + return e.checks.every(function (n) { + return li[n.type](n, r); + }); + }, 'matches')); + li[Ct.GROUP] = function (t, e) { + var r = t.value; + return r === '*' || r === e.group(); + }; + li[Ct.STATE] = function (t, e) { + var r = t.value; + return Bje(r, e); + }; + li[Ct.ID] = function (t, e) { + var r = t.value; + return e.id() === r; + }; + li[Ct.CLASS] = function (t, e) { + var r = t.value; + return e.hasClass(r); + }; + li[Ct.META_COMPARE] = function (t, e) { + var r = t.field, + n = t.operator, + i = t.value; + return cme(Wje(e, r), n, i); + }; + li[Ct.DATA_COMPARE] = function (t, e) { + var r = t.field, + n = t.operator, + i = t.value; + return cme(lB(e, r), n, i); + }; + li[Ct.DATA_BOOL] = function (t, e) { + var r = t.field, + n = t.operator; + return Hje(lB(e, r), n); + }; + li[Ct.DATA_EXIST] = function (t, e) { + var r = t.field; + return t.operator, Yje(lB(e, r)); + }; + li[Ct.UNDIRECTED_EDGE] = function (t, e) { + var r = t.nodes[0], + n = t.nodes[1], + i = e.source(), + a = e.target(); + return (In(r, i) && In(n, a)) || (In(n, i) && In(r, a)); + }; + li[Ct.NODE_NEIGHBOR] = function (t, e) { + return ( + In(t.node, e) && + e.neighborhood().some(function (r) { + return r.isNode() && In(t.neighbor, r); + }) + ); + }; + li[Ct.DIRECTED_EDGE] = function (t, e) { + return In(t.source, e.source()) && In(t.target, e.target()); + }; + li[Ct.NODE_SOURCE] = function (t, e) { + return ( + In(t.source, e) && + e.outgoers().some(function (r) { + return r.isNode() && In(t.target, r); + }) + ); + }; + li[Ct.NODE_TARGET] = function (t, e) { + return ( + In(t.target, e) && + e.incomers().some(function (r) { + return r.isNode() && In(t.source, r); + }) + ); + }; + li[Ct.CHILD] = function (t, e) { + return In(t.child, e) && In(t.parent, e.parent()); + }; + li[Ct.PARENT] = function (t, e) { + return ( + In(t.parent, e) && + e.children().some(function (r) { + return In(t.child, r); + }) + ); + }; + li[Ct.DESCENDANT] = function (t, e) { + return ( + In(t.descendant, e) && + e.ancestors().some(function (r) { + return In(t.ancestor, r); + }) + ); + }; + li[Ct.ANCESTOR] = function (t, e) { + return ( + In(t.ancestor, e) && + e.descendants().some(function (r) { + return In(t.descendant, r); + }) + ); + }; + li[Ct.COMPOUND_SPLIT] = function (t, e) { + return In(t.subject, e) && In(t.left, e) && In(t.right, e); + }; + li[Ct.TRUE] = function () { + return !0; + }; + li[Ct.COLLECTION] = function (t, e) { + var r = t.value; + return r.has(e); + }; + li[Ct.FILTER] = function (t, e) { + var r = t.value; + return r(e); + }; + (qje = o(function (e) { + var r = this; + if (r.length === 1 && r[0].checks.length === 1 && r[0].checks[0].type === Ct.ID) + return e.getElementById(r[0].checks[0].value).collection(); + var n = o(function (a) { + for (var s = 0; s < r.length; s++) { + var l = r[s]; + if (In(l, a)) return !0; + } + return !1; + }, 'selectorFunction'); + return ( + r.text() == null && + (n = o(function () { + return !0; + }, 'selectorFunction')), + e.filter(n) + ); + }, 'filter')), + (Xje = o(function (e) { + for (var r = this, n = 0; n < r.length; n++) { + var i = r[n]; + if (In(i, e)) return !0; + } + return !1; + }, 'matches')), + (jje = { matches: Xje, filter: qje }), + (_f = o(function (e) { + (this.inputText = e), + (this.currentSubject = null), + (this.compoundCount = 0), + (this.edgeCount = 0), + (this.length = 0), + e == null || + (zt(e) && e.match(/^\s*$/)) || + (xo(e) + ? this.addQuery({ + checks: [{ type: Ct.COLLECTION, value: e.collection() }] + }) + : jn(e) + ? this.addQuery({ checks: [{ type: Ct.FILTER, value: e }] }) + : zt(e) + ? this.parse(e) || (this.invalid = !0) + : oi('A selector must be created from a string; found ')); + }, 'Selector')), + (Lf = _f.prototype); + [Uje, jje].forEach(function (t) { + return Wt(Lf, t); + }); + Lf.text = function () { + return this.inputText; + }; + Lf.size = function () { + return this.length; + }; + Lf.eq = function (t) { + return this[t]; + }; + Lf.sameText = function (t) { + return !this.invalid && !t.invalid && this.text() === t.text(); + }; + Lf.addQuery = function (t) { + this[this.length++] = t; + }; + Lf.selector = Lf.toString; + Ef = { + allAre: o(function (e) { + var r = new _f(e); + return this.every(function (n) { + return r.matches(n); + }); + }, 'allAre'), + is: o(function (e) { + var r = new _f(e); + return this.some(function (n) { + return r.matches(n); + }); + }, 'is'), + some: o(function (e, r) { + for (var n = 0; n < this.length; n++) { + var i = r ? e.apply(r, [this[n], n, this]) : e(this[n], n, this); + if (i) return !0; + } + return !1; + }, 'some'), + every: o(function (e, r) { + for (var n = 0; n < this.length; n++) { + var i = r ? e.apply(r, [this[n], n, this]) : e(this[n], n, this); + if (!i) return !1; + } + return !0; + }, 'every'), + same: o(function (e) { + if (this === e) return !0; + e = this.cy().collection(e); + var r = this.length, + n = e.length; + return r !== n + ? !1 + : r === 1 + ? this[0] === e[0] + : this.every(function (i) { + return e.hasElementWithId(i.id()); + }); + }, 'same'), + anySame: o(function (e) { + return ( + (e = this.cy().collection(e)), + this.some(function (r) { + return e.hasElementWithId(r.id()); + }) + ); + }, 'anySame'), + allAreNeighbors: o(function (e) { + e = this.cy().collection(e); + var r = this.neighborhood(); + return e.every(function (n) { + return r.hasElementWithId(n.id()); + }); + }, 'allAreNeighbors'), + contains: o(function (e) { + e = this.cy().collection(e); + var r = this; + return e.every(function (n) { + return r.hasElementWithId(n.id()); + }); + }, 'contains') + }; + Ef.allAreNeighbours = Ef.allAreNeighbors; + Ef.has = Ef.contains; + Ef.equal = Ef.equals = Ef.same; + (tl = o(function (e, r) { + return o(function (i, a, s, l) { + var u = i, + h = this, + f; + if ((u == null ? (f = '') : xo(u) && u.length === 1 && (f = u.id()), h.length === 1 && f)) { + var d = h[0]._private, + p = (d.traversalCache = d.traversalCache || {}), + m = (p[r] = p[r] || []), + g = U0(f), + y = m[g]; + return y || (m[g] = e.call(h, i, a, s, l)); + } else return e.call(h, i, a, s, l); + }, 'traversalCache'); + }, 'cache')), + (l1 = { + parent: o(function (e) { + var r = []; + if (this.length === 1) { + var n = this[0]._private.parent; + if (n) return n; + } + for (var i = 0; i < this.length; i++) { + var a = this[i], + s = a._private.parent; + s && r.push(s); + } + return this.spawn(r, !0).filter(e); + }, 'parent'), + parents: o(function (e) { + for (var r = [], n = this.parent(); n.nonempty(); ) { + for (var i = 0; i < n.length; i++) { + var a = n[i]; + r.push(a); + } + n = n.parent(); + } + return this.spawn(r, !0).filter(e); + }, 'parents'), + commonAncestors: o(function (e) { + for (var r, n = 0; n < this.length; n++) { + var i = this[n], + a = i.parents(); + (r = r || a), (r = r.intersect(a)); + } + return r.filter(e); + }, 'commonAncestors'), + orphans: o(function (e) { + return this.stdFilter(function (r) { + return r.isOrphan(); + }).filter(e); + }, 'orphans'), + nonorphans: o(function (e) { + return this.stdFilter(function (r) { + return r.isChild(); + }).filter(e); + }, 'nonorphans'), + children: tl(function (t) { + for (var e = [], r = 0; r < this.length; r++) + for (var n = this[r], i = n._private.children, a = 0; a < i.length; a++) e.push(i[a]); + return this.spawn(e, !0).filter(t); + }, 'children'), + siblings: o(function (e) { + return this.parent().children().not(this).filter(e); + }, 'siblings'), + isParent: o(function () { + var e = this[0]; + if (e) return e.isNode() && e._private.children.length !== 0; + }, 'isParent'), + isChildless: o(function () { + var e = this[0]; + if (e) return e.isNode() && e._private.children.length === 0; + }, 'isChildless'), + isChild: o(function () { + var e = this[0]; + if (e) return e.isNode() && e._private.parent != null; + }, 'isChild'), + isOrphan: o(function () { + var e = this[0]; + if (e) return e.isNode() && e._private.parent == null; + }, 'isOrphan'), + descendants: o(function (e) { + var r = []; + function n(i) { + for (var a = 0; a < i.length; a++) { + var s = i[a]; + r.push(s), s.children().nonempty() && n(s.children()); + } + } + return o(n, 'add'), n(this.children()), this.spawn(r, !0).filter(e); + }, 'descendants') + }); + o(cB, 'forEachCompound'); + o(ume, 'addChildren'); + l1.forEachDown = function (t) { + var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0; + return cB(this, t, e, ume); + }; + o(hme, 'addParent'); + l1.forEachUp = function (t) { + var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0; + return cB(this, t, e, hme); + }; + o(Kje, 'addParentAndChildren'); + l1.forEachUpAndDown = function (t) { + var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0; + return cB(this, t, e, Kje); + }; + l1.ancestors = l1.parents; + qx = fme = { + data: en.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: en.removeData({ + field: 'data', + event: 'data', + triggerFnName: 'trigger', + triggerEvent: !0, + immutableKeys: { id: !0, source: !0, target: !0, parent: !0 }, + updateStyle: !0 + }), + scratch: en.data({ + field: 'scratch', + bindingEvent: 'scratch', + allowBinding: !0, + allowSetting: !0, + settingEvent: 'scratch', + settingTriggersEvent: !0, + triggerFnName: 'trigger', + allowGetting: !0, + updateStyle: !0 + }), + removeScratch: en.removeData({ + field: 'scratch', + event: 'scratch', + triggerFnName: 'trigger', + triggerEvent: !0, + updateStyle: !0 + }), + rscratch: en.data({ + field: 'rscratch', + allowBinding: !1, + allowSetting: !0, + settingTriggersEvent: !1, + allowGetting: !0 + }), + removeRscratch: en.removeData({ field: 'rscratch', triggerEvent: !1 }), + id: o(function () { + var e = this[0]; + if (e) return e._private.data.id; + }, 'id') + }; + qx.attr = qx.data; + qx.removeAttr = qx.removeData; + (Qje = fme), (U6 = {}); + o(CP, 'defineDegreeFunction'); + Wt(U6, { + degree: CP(function (t, e) { + return e.source().same(e.target()) ? 2 : 1; + }), + indegree: CP(function (t, e) { + return e.target().same(t) ? 1 : 0; + }), + outdegree: CP(function (t, e) { + return e.source().same(t) ? 1 : 0; + }) + }); + o(Xg, 'defineDegreeBoundsFunction'); + Wt(U6, { + minDegree: Xg('degree', function (t, e) { + return t < e; + }), + maxDegree: Xg('degree', function (t, e) { + return t > e; + }), + minIndegree: Xg('indegree', function (t, e) { + return t < e; + }), + maxIndegree: Xg('indegree', function (t, e) { + return t > e; + }), + minOutdegree: Xg('outdegree', function (t, e) { + return t < e; + }), + maxOutdegree: Xg('outdegree', function (t, e) { + return t > e; + }) + }); + Wt(U6, { + totalDegree: o(function (e) { + for (var r = 0, n = this.nodes(), i = 0; i < n.length; i++) r += n[i].degree(e); + return r; + }, 'totalDegree') + }); + (pme = o(function (e, r, n) { + for (var i = 0; i < e.length; i++) { + var a = e[i]; + if (!a.locked()) { + var s = a._private.position, + l = { + x: r.x != null ? r.x - s.x : 0, + y: r.y != null ? r.y - s.y : 0 + }; + a.isParent() && !(l.x === 0 && l.y === 0) && a.children().shift(l, n), + a.dirtyBoundingBoxCache(); + } + } + }, 'beforePositionSet')), + (B0e = { + field: 'position', + bindingEvent: 'position', + allowBinding: !0, + allowSetting: !0, + settingEvent: 'position', + settingTriggersEvent: !0, + triggerFnName: 'emitAndNotify', + allowGetting: !0, + validKeys: ['x', 'y'], + beforeGet: o(function (e) { + e.updateCompoundBounds(); + }, 'beforeGet'), + beforeSet: o(function (e, r) { + pme(e, r, !1); + }, 'beforeSet'), + onSet: o(function (e) { + e.dirtyCompoundBoundsCache(); + }, 'onSet'), + canSet: o(function (e) { + return !e.locked(); + }, 'canSet') + }); + Hl = dme = { + position: en.data(B0e), + silentPosition: en.data( + Wt({}, B0e, { + allowBinding: !1, + allowSetting: !0, + settingTriggersEvent: !1, + allowGetting: !1, + beforeSet: o(function (e, r) { + pme(e, r, !0); + }, 'beforeSet'), + onSet: o(function (e) { + e.dirtyCompoundBoundsCache(); + }, 'onSet') + }) + ), + positions: o(function (e, r) { + if (Mr(e)) r ? this.silentPosition(e) : this.position(e); + else if (jn(e)) { + var n = e, + i = this.cy(); + i.startBatch(); + for (var a = 0; a < this.length; a++) { + var s = this[a], + l = void 0; + (l = n(s, a)) && (r ? s.silentPosition(l) : s.position(l)); + } + i.endBatch(); + } + return this; + }, 'positions'), + silentPositions: o(function (e) { + return this.positions(e, !0); + }, 'silentPositions'), + shift: o(function (e, r, n) { + var i; + if ( + (Mr(e) + ? ((i = { x: ft(e.x) ? e.x : 0, y: ft(e.y) ? e.y : 0 }), (n = r)) + : zt(e) && ft(r) && ((i = { x: 0, y: 0 }), (i[e] = r)), + i != null) + ) { + var a = this.cy(); + a.startBatch(); + for (var s = 0; s < this.length; s++) { + var l = this[s]; + if (!(a.hasCompoundNodes() && l.isChild() && l.ancestors().anySame(this))) { + var u = l.position(), + h = { x: u.x + i.x, y: u.y + i.y }; + n ? l.silentPosition(h) : l.position(h); + } + } + a.endBatch(); + } + return this; + }, 'shift'), + silentShift: o(function (e, r) { + return Mr(e) ? this.shift(e, !0) : zt(e) && ft(r) && this.shift(e, r, !0), this; + }, 'silentShift'), + renderedPosition: o(function (e, r) { + var n = this[0], + i = this.cy(), + a = i.zoom(), + s = i.pan(), + l = Mr(e) ? e : void 0, + u = l !== void 0 || (r !== void 0 && zt(e)); + if (n && n.isNode()) + if (u) + for (var h = 0; h < this.length; h++) { + var f = this[h]; + r !== void 0 ? f.position(e, (r - s[e]) / a) : l !== void 0 && f.position(Gpe(l, a, s)); + } + else { + var d = n.position(); + return (l = F6(d, a, s)), e === void 0 ? l : l[e]; + } + else if (!u) return; + return this; + }, 'renderedPosition'), + relativePosition: o(function (e, r) { + var n = this[0], + i = this.cy(), + a = Mr(e) ? e : void 0, + s = a !== void 0 || (r !== void 0 && zt(e)), + l = i.hasCompoundNodes(); + if (n && n.isNode()) + if (s) + for (var u = 0; u < this.length; u++) { + var h = this[u], + f = l ? h.parent() : null, + d = f && f.length > 0, + p = d; + d && (f = f[0]); + var m = p ? f.position() : { x: 0, y: 0 }; + r !== void 0 + ? h.position(e, r + m[e]) + : a !== void 0 && h.position({ x: a.x + m.x, y: a.y + m.y }); + } + else { + var g = n.position(), + y = l ? n.parent() : null, + v = y && y.length > 0, + x = v; + v && (y = y[0]); + var b = x ? y.position() : { x: 0, y: 0 }; + return (a = { x: g.x - b.x, y: g.y - b.y }), e === void 0 ? a : a[e]; + } + else if (!s) return; + return this; + }, 'relativePosition') + }; + Hl.modelPosition = Hl.point = Hl.position; + Hl.modelPositions = Hl.points = Hl.positions; + Hl.renderedPoint = Hl.renderedPosition; + Hl.relativePoint = Hl.relativePosition; + Zje = dme; + i1 = Rf = {}; + Rf.renderedBoundingBox = function (t) { + var e = this.boundingBox(t), + r = this.cy(), + n = r.zoom(), + i = r.pan(), + a = e.x1 * n + i.x, + s = e.x2 * n + i.x, + l = e.y1 * n + i.y, + u = e.y2 * n + i.y; + return { x1: a, x2: s, y1: l, y2: u, w: s - a, h: u - l }; + }; + Rf.dirtyCompoundBoundsCache = function () { + var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1, + e = this.cy(); + return !e.styleEnabled() || !e.hasCompoundNodes() + ? this + : (this.forEachUp(function (r) { + if (r.isParent()) { + var n = r._private; + (n.compoundBoundsClean = !1), (n.bbCache = null), t || r.emitAndNotify('bounds'); + } + }), + this); + }; + Rf.updateCompoundBounds = function () { + var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1, + e = this.cy(); + if (!e.styleEnabled() || !e.hasCompoundNodes()) return this; + if (!t && e.batching()) return this; + function r(s) { + if (!s.isParent()) return; + var l = s._private, + u = s.children(), + h = s.pstyle('compound-sizing-wrt-labels').value === 'include', + f = { + width: { + val: s.pstyle('min-width').pfValue, + left: s.pstyle('min-width-bias-left'), + right: s.pstyle('min-width-bias-right') + }, + height: { + val: s.pstyle('min-height').pfValue, + top: s.pstyle('min-height-bias-top'), + bottom: s.pstyle('min-height-bias-bottom') + } + }, + d = u.boundingBox({ + includeLabels: h, + includeOverlays: !1, + useCache: !1 + }), + p = l.position; + (d.w === 0 || d.h === 0) && + ((d = { + w: s.pstyle('width').pfValue, + h: s.pstyle('height').pfValue + }), + (d.x1 = p.x - d.w / 2), + (d.x2 = p.x + d.w / 2), + (d.y1 = p.y - d.h / 2), + (d.y2 = p.y + d.h / 2)); + function m(L, M, N) { + var k = 0, + I = 0, + C = M + N; + return ( + L > 0 && C > 0 && ((k = (M / C) * L), (I = (N / C) * L)), + { biasDiff: k, biasComplementDiff: I } + ); + } + o(m, 'computeBiasValues'); + function g(L, M, N, k) { + if (N.units === '%') + switch (k) { + case 'width': + return L > 0 ? N.pfValue * L : 0; + case 'height': + return M > 0 ? N.pfValue * M : 0; + case 'average': + return L > 0 && M > 0 ? (N.pfValue * (L + M)) / 2 : 0; + case 'min': + return L > 0 && M > 0 ? (L > M ? N.pfValue * M : N.pfValue * L) : 0; + case 'max': + return L > 0 && M > 0 ? (L > M ? N.pfValue * L : N.pfValue * M) : 0; + default: + return 0; + } + else return N.units === 'px' ? N.pfValue : 0; + } + o(g, 'computePaddingValues'); + var y = f.width.left.value; + f.width.left.units === 'px' && f.width.val > 0 && (y = (y * 100) / f.width.val); + var v = f.width.right.value; + f.width.right.units === 'px' && f.width.val > 0 && (v = (v * 100) / f.width.val); + var x = f.height.top.value; + f.height.top.units === 'px' && f.height.val > 0 && (x = (x * 100) / f.height.val); + var b = f.height.bottom.value; + f.height.bottom.units === 'px' && f.height.val > 0 && (b = (b * 100) / f.height.val); + var w = m(f.width.val - d.w, y, v), + S = w.biasDiff, + T = w.biasComplementDiff, + E = m(f.height.val - d.h, x, b), + _ = E.biasDiff, + A = E.biasComplementDiff; + (l.autoPadding = g(d.w, d.h, s.pstyle('padding'), s.pstyle('padding-relative-to').value)), + (l.autoWidth = Math.max(d.w, f.width.val)), + (p.x = (-S + d.x1 + d.x2 + T) / 2), + (l.autoHeight = Math.max(d.h, f.height.val)), + (p.y = (-_ + d.y1 + d.y2 + A) / 2); + } + o(r, 'update'); + for (var n = 0; n < this.length; n++) { + var i = this[n], + a = i._private; + (!a.compoundBoundsClean || t) && (r(i), e.batching() || (a.compoundBoundsClean = !0)); + } + return this; + }; + (el = o(function (e) { + return e === 1 / 0 || e === -1 / 0 ? 0 : e; + }, 'noninf')), + (Vl = o(function (e, r, n, i, a) { + i - r === 0 || + a - n === 0 || + r == null || + n == null || + i == null || + a == null || + ((e.x1 = r < e.x1 ? r : e.x1), + (e.x2 = i > e.x2 ? i : e.x2), + (e.y1 = n < e.y1 ? n : e.y1), + (e.y2 = a > e.y2 ? a : e.y2), + (e.w = e.x2 - e.x1), + (e.h = e.y2 - e.y1)); + }, 'updateBounds')), + (F0 = o(function (e, r) { + return r == null ? e : Vl(e, r.x1, r.y1, r.x2, r.y2); + }, 'updateBoundsFromBox')), + (Dx = o(function (e, r, n) { + return Ul(e, r, n); + }, 'prefixedProperty')), + (l6 = o(function (e, r, n) { + if (!r.cy().headless()) { + var i = r._private, + a = i.rstyle, + s = a.arrowWidth / 2, + l = r.pstyle(n + '-arrow-shape').value, + u, + h; + if (l !== 'none') { + n === 'source' + ? ((u = a.srcX), (h = a.srcY)) + : n === 'target' + ? ((u = a.tgtX), (h = a.tgtY)) + : ((u = a.midX), (h = a.midY)); + var f = (i.arrowBounds = i.arrowBounds || {}), + d = (f[n] = f[n] || {}); + (d.x1 = u - s), + (d.y1 = h - s), + (d.x2 = u + s), + (d.y2 = h + s), + (d.w = d.x2 - d.x1), + (d.h = d.y2 - d.y1), + p6(d, 1), + Vl(e, d.x1, d.y1, d.x2, d.y2); + } + } + }, 'updateBoundsFromArrow')), + (SP = o(function (e, r, n) { + if (!r.cy().headless()) { + var i; + n ? (i = n + '-') : (i = ''); + var a = r._private, + s = a.rstyle, + l = r.pstyle(i + 'label').strValue; + if (l) { + var u = r.pstyle('text-halign'), + h = r.pstyle('text-valign'), + f = Dx(s, 'labelWidth', n), + d = Dx(s, 'labelHeight', n), + p = Dx(s, 'labelX', n), + m = Dx(s, 'labelY', n), + g = r.pstyle(i + 'text-margin-x').pfValue, + y = r.pstyle(i + 'text-margin-y').pfValue, + v = r.isEdge(), + x = r.pstyle(i + 'text-rotation'), + b = r.pstyle('text-outline-width').pfValue, + w = r.pstyle('text-border-width').pfValue, + S = w / 2, + T = r.pstyle('text-background-padding').pfValue, + E = 2, + _ = d, + A = f, + L = A / 2, + M = _ / 2, + N, + k, + I, + C; + if (v) (N = p - L), (k = p + L), (I = m - M), (C = m + M); + else { + switch (u.value) { + case 'left': + (N = p - A), (k = p); + break; + case 'center': + (N = p - L), (k = p + L); + break; + case 'right': + (N = p), (k = p + A); + break; + } + switch (h.value) { + case 'top': + (I = m - _), (C = m); + break; + case 'center': + (I = m - M), (C = m + M); + break; + case 'bottom': + (I = m), (C = m + _); + break; + } + } + (N += g - Math.max(b, S) - T - E), + (k += g + Math.max(b, S) + T + E), + (I += y - Math.max(b, S) - T - E), + (C += y + Math.max(b, S) + T + E); + var O = n || 'main', + D = a.labelBounds, + P = (D[O] = D[O] || {}); + (P.x1 = N), (P.y1 = I), (P.x2 = k), (P.y2 = C), (P.w = k - N), (P.h = C - I); + var F = v && x.strValue === 'autorotate', + B = x.pfValue != null && x.pfValue !== 0; + if (F || B) { + var $ = F ? Dx(a.rstyle, 'labelAngle', n) : x.pfValue, + z = Math.cos($), + Y = Math.sin($), + Q = (N + k) / 2, + X = (I + C) / 2; + if (!v) { + switch (u.value) { + case 'left': + Q = k; + break; + case 'right': + Q = N; + break; + } + switch (h.value) { + case 'top': + X = C; + break; + case 'bottom': + X = I; + break; + } + } + var ie = o(function (ce, ue) { + return ( + (ce = ce - Q), + (ue = ue - X), + { x: ce * z - ue * Y + Q, y: ce * Y + ue * z + X } + ); + }, 'rotate'), + j = ie(N, I), + J = ie(N, C), + Z = ie(k, I), + H = ie(k, C); + (N = Math.min(j.x, J.x, Z.x, H.x)), + (k = Math.max(j.x, J.x, Z.x, H.x)), + (I = Math.min(j.y, J.y, Z.y, H.y)), + (C = Math.max(j.y, J.y, Z.y, H.y)); + } + var q = O + 'Rot', + K = (D[q] = D[q] || {}); + (K.x1 = N), + (K.y1 = I), + (K.x2 = k), + (K.y2 = C), + (K.w = k - N), + (K.h = C - I), + Vl(e, N, I, k, C), + Vl(a.labelBounds.all, N, I, k, C); + } + return e; + } + }, 'updateBoundsFromLabel')), + (Jje = o(function (e, r) { + if (!r.cy().headless()) { + var n = r.pstyle('outline-opacity').value, + i = r.pstyle('outline-width').value; + if (n > 0 && i > 0) { + var a = r.pstyle('outline-offset').value, + s = r.pstyle('shape').value, + l = i + a, + u = (e.w + l * 2) / e.w, + h = (e.h + l * 2) / e.h, + f = 0, + d = 0; + ['diamond', 'pentagon', 'round-triangle'].includes(s) + ? ((u = (e.w + l * 2.4) / e.w), (d = -l / 3.6)) + : ['concave-hexagon', 'rhomboid', 'right-rhomboid'].includes(s) + ? (u = (e.w + l * 2.4) / e.w) + : s === 'star' + ? ((u = (e.w + l * 2.8) / e.w), (h = (e.h + l * 2.6) / e.h), (d = -l / 3.8)) + : s === 'triangle' + ? ((u = (e.w + l * 2.8) / e.w), (h = (e.h + l * 2.4) / e.h), (d = -l / 1.4)) + : s === 'vee' && + ((u = (e.w + l * 4.4) / e.w), (h = (e.h + l * 3.8) / e.h), (d = -l * 0.5)); + var p = e.h * h - e.h, + m = e.w * u - e.w; + if ((m6(e, [Math.ceil(p / 2), Math.ceil(m / 2)]), f != 0 || d !== 0)) { + var g = bWe(e, f, d); + Vpe(e, g); + } + } + } + }, 'updateBoundsFromOutline')), + (eKe = o(function (e, r) { + var n = e._private.cy, + i = n.styleEnabled(), + a = n.headless(), + s = Gs(), + l = e._private, + u = e.isNode(), + h = e.isEdge(), + f, + d, + p, + m, + g, + y, + v = l.rstyle, + x = u && i ? e.pstyle('bounds-expansion').pfValue : [0], + b = o(function (De) { + return De.pstyle('display').value !== 'none'; + }, 'isDisplayed'), + w = !i || (b(e) && (!h || (b(e.source()) && b(e.target())))); + if (w) { + var S = 0, + T = 0; + i && + r.includeOverlays && + ((S = e.pstyle('overlay-opacity').value), + S !== 0 && (T = e.pstyle('overlay-padding').value)); + var E = 0, + _ = 0; + i && + r.includeUnderlays && + ((E = e.pstyle('underlay-opacity').value), + E !== 0 && (_ = e.pstyle('underlay-padding').value)); + var A = Math.max(T, _), + L = 0, + M = 0; + if ((i && ((L = e.pstyle('width').pfValue), (M = L / 2)), u && r.includeNodes)) { + var N = e.position(); + (g = N.x), (y = N.y); + var k = e.outerWidth(), + I = k / 2, + C = e.outerHeight(), + O = C / 2; + (f = g - I), + (d = g + I), + (p = y - O), + (m = y + O), + Vl(s, f, p, d, m), + i && r.includeOutlines && Jje(s, e); + } else if (h && r.includeEdges) + if (i && !a) { + var D = e.pstyle('curve-style').strValue; + if ( + ((f = Math.min(v.srcX, v.midX, v.tgtX)), + (d = Math.max(v.srcX, v.midX, v.tgtX)), + (p = Math.min(v.srcY, v.midY, v.tgtY)), + (m = Math.max(v.srcY, v.midY, v.tgtY)), + (f -= M), + (d += M), + (p -= M), + (m += M), + Vl(s, f, p, d, m), + D === 'haystack') + ) { + var P = v.haystackPts; + if (P && P.length === 2) { + if (((f = P[0].x), (p = P[0].y), (d = P[1].x), (m = P[1].y), f > d)) { + var F = f; + (f = d), (d = F); + } + if (p > m) { + var B = p; + (p = m), (m = B); + } + Vl(s, f - M, p - M, d + M, m + M); + } + } else if ( + D === 'bezier' || + D === 'unbundled-bezier' || + D.endsWith('segments') || + D.endsWith('taxi') + ) { + var $; + switch (D) { + case 'bezier': + case 'unbundled-bezier': + $ = v.bezierPts; + break; + case 'segments': + case 'taxi': + case 'round-segments': + case 'round-taxi': + $ = v.linePts; + break; + } + if ($ != null) + for (var z = 0; z < $.length; z++) { + var Y = $[z]; + (f = Y.x - M), + (d = Y.x + M), + (p = Y.y - M), + (m = Y.y + M), + Vl(s, f, p, d, m); + } + } + } else { + var Q = e.source(), + X = Q.position(), + ie = e.target(), + j = ie.position(); + if (((f = X.x), (d = j.x), (p = X.y), (m = j.y), f > d)) { + var J = f; + (f = d), (d = J); + } + if (p > m) { + var Z = p; + (p = m), (m = Z); + } + (f -= M), (d += M), (p -= M), (m += M), Vl(s, f, p, d, m); + } + if ( + (i && + r.includeEdges && + h && + (l6(s, e, 'mid-source'), + l6(s, e, 'mid-target'), + l6(s, e, 'source'), + l6(s, e, 'target')), + i) + ) { + var H = e.pstyle('ghost').value === 'yes'; + if (H) { + var q = e.pstyle('ghost-offset-x').pfValue, + K = e.pstyle('ghost-offset-y').pfValue; + Vl(s, s.x1 + q, s.y1 + K, s.x2 + q, s.y2 + K); + } + } + var se = (l.bodyBounds = l.bodyBounds || {}); + g0e(se, s), + m6(se, x), + p6(se, 1), + i && ((f = s.x1), (d = s.x2), (p = s.y1), (m = s.y2), Vl(s, f - A, p - A, d + A, m + A)); + var ce = (l.overlayBounds = l.overlayBounds || {}); + g0e(ce, s), m6(ce, x), p6(ce, 1); + var ue = (l.labelBounds = l.labelBounds || {}); + ue.all != null ? xWe(ue.all) : (ue.all = Gs()), + i && + r.includeLabels && + (r.includeMainLabels && SP(s, e, null), + h && + (r.includeSourceLabels && SP(s, e, 'source'), + r.includeTargetLabels && SP(s, e, 'target'))); + } + return ( + (s.x1 = el(s.x1)), + (s.y1 = el(s.y1)), + (s.x2 = el(s.x2)), + (s.y2 = el(s.y2)), + (s.w = el(s.x2 - s.x1)), + (s.h = el(s.y2 - s.y1)), + s.w > 0 && s.h > 0 && w && (m6(s, x), p6(s, 1)), + s + ); + }, 'boundingBoxImpl')), + (mme = o(function (e) { + var r = 0, + n = o(function (s) { + return (s ? 1 : 0) << r++; + }, 'tf'), + i = 0; + return ( + (i += n(e.incudeNodes)), + (i += n(e.includeEdges)), + (i += n(e.includeLabels)), + (i += n(e.includeMainLabels)), + (i += n(e.includeSourceLabels)), + (i += n(e.includeTargetLabels)), + (i += n(e.includeOverlays)), + (i += n(e.includeOutlines)), + i + ); + }, 'getKey')), + (gme = o(function (e) { + if (e.isEdge()) { + var r = e.source().position(), + n = e.target().position(), + i = o(function (s) { + return Math.round(s); + }, 'r'); + return GYe([i(r.x), i(r.y), i(n.x), i(n.y)]); + } else return 0; + }, 'getBoundingBoxPosKey')), + (F0e = o(function (e, r) { + var n = e._private, + i, + a = e.isEdge(), + s = r == null ? z0e : mme(r), + l = s === z0e, + u = gme(e), + h = n.bbCachePosKey === u, + f = r.useCache && h, + d = o(function (y) { + return y._private.bbCache == null || y._private.styleDirty; + }, 'isDirty'), + p = !f || d(e) || (a && d(e.source())) || d(e.target()); + if ( + (p + ? (h || e.recalculateRenderedStyle(f), + (i = eKe(e, Xx)), + (n.bbCache = i), + (n.bbCachePosKey = u)) + : (i = n.bbCache), + !l) + ) { + var m = e.isNode(); + (i = Gs()), + ((r.includeNodes && m) || (r.includeEdges && !m)) && + (r.includeOverlays ? F0(i, n.overlayBounds) : F0(i, n.bodyBounds)), + r.includeLabels && + (r.includeMainLabels && (!a || (r.includeSourceLabels && r.includeTargetLabels)) + ? F0(i, n.labelBounds.all) + : (r.includeMainLabels && F0(i, n.labelBounds.mainRot), + r.includeSourceLabels && F0(i, n.labelBounds.sourceRot), + r.includeTargetLabels && F0(i, n.labelBounds.targetRot))), + (i.w = i.x2 - i.x1), + (i.h = i.y2 - i.y1); + } + return i; + }, 'cachedBoundingBoxImpl')), + (Xx = { + includeNodes: !0, + includeEdges: !0, + includeLabels: !0, + includeMainLabels: !0, + includeSourceLabels: !0, + includeTargetLabels: !0, + includeOverlays: !0, + includeUnderlays: !0, + includeOutlines: !0, + useCache: !0 + }), + (z0e = mme(Xx)), + (G0e = Sa(Xx)); + Rf.boundingBox = function (t) { + var e; + if ( + this.length === 1 && + this[0]._private.bbCache != null && + !this[0]._private.styleDirty && + (t === void 0 || t.useCache === void 0 || t.useCache === !0) + ) + t === void 0 ? (t = Xx) : (t = G0e(t)), (e = F0e(this[0], t)); + else { + (e = Gs()), (t = t || Xx); + var r = G0e(t), + n = this, + i = n.cy(), + a = i.styleEnabled(); + if (a) + for (var s = 0; s < n.length; s++) { + var l = n[s], + u = l._private, + h = gme(l), + f = u.bbCachePosKey === h, + d = r.useCache && f && !u.styleDirty; + l.recalculateRenderedStyle(d); + } + this.updateCompoundBounds(!t.useCache); + for (var p = 0; p < n.length; p++) { + var m = n[p]; + F0(e, F0e(m, r)); + } + } + return ( + (e.x1 = el(e.x1)), + (e.y1 = el(e.y1)), + (e.x2 = el(e.x2)), + (e.y2 = el(e.y2)), + (e.w = el(e.x2 - e.x1)), + (e.h = el(e.y2 - e.y1)), + e + ); + }; + Rf.dirtyBoundingBoxCache = function () { + for (var t = 0; t < this.length; t++) { + var e = this[t]._private; + (e.bbCache = null), + (e.bbCachePosKey = null), + (e.bodyBounds = null), + (e.overlayBounds = null), + (e.labelBounds.all = null), + (e.labelBounds.source = null), + (e.labelBounds.target = null), + (e.labelBounds.main = null), + (e.labelBounds.sourceRot = null), + (e.labelBounds.targetRot = null), + (e.labelBounds.mainRot = null), + (e.arrowBounds.source = null), + (e.arrowBounds.target = null), + (e.arrowBounds['mid-source'] = null), + (e.arrowBounds['mid-target'] = null); + } + return this.emitAndNotify('bounds'), this; + }; + Rf.boundingBoxAt = function (t) { + var e = this.nodes(), + r = this.cy(), + n = r.hasCompoundNodes(), + i = r.collection(); + if ( + (n && + ((i = e.filter(function (h) { + return h.isParent(); + })), + (e = e.not(i))), + Mr(t)) + ) { + var a = t; + t = o(function () { + return a; + }, 'fn'); + } + var s = o(function (f, d) { + return (f._private.bbAtOldPos = t(f, d)); + }, 'storeOldPos'), + l = o(function (f) { + return f._private.bbAtOldPos; + }, 'getOldPos'); + r.startBatch(), + e.forEach(s).silentPositions(t), + n && (i.dirtyCompoundBoundsCache(), i.dirtyBoundingBoxCache(), i.updateCompoundBounds(!0)); + var u = vWe(this.boundingBox({ useCache: !1 })); + return ( + e.silentPositions(l), + n && (i.dirtyCompoundBoundsCache(), i.dirtyBoundingBoxCache(), i.updateCompoundBounds(!0)), + r.endBatch(), + u + ); + }; + i1.boundingbox = i1.bb = i1.boundingBox; + i1.renderedBoundingbox = i1.renderedBoundingBox; + tKe = Rf; + Px = tb = {}; + yme = o(function (e) { + (e.uppercaseName = c0e(e.name)), + (e.autoName = 'auto' + e.uppercaseName), + (e.labelName = 'label' + e.uppercaseName), + (e.outerName = 'outer' + e.uppercaseName), + (e.uppercaseOuterName = c0e(e.outerName)), + (Px[e.name] = o(function () { + var n = this[0], + i = n._private, + a = i.cy, + s = a._private.styleEnabled; + if (n) + if (s) { + if (n.isParent()) return n.updateCompoundBounds(), i[e.autoName] || 0; + var l = n.pstyle(e.name); + switch (l.strValue) { + case 'label': + return n.recalculateRenderedStyle(), i.rstyle[e.labelName] || 0; + default: + return l.pfValue; + } + } else return 1; + }, 'dimImpl')), + (Px['outer' + e.uppercaseName] = o(function () { + var n = this[0], + i = n._private, + a = i.cy, + s = a._private.styleEnabled; + if (n) + if (s) { + var l = n[e.name](), + u = n.pstyle('border-width').pfValue, + h = 2 * n.padding(); + return l + u + h; + } else return 1; + }, 'outerDimImpl')), + (Px['rendered' + e.uppercaseName] = o(function () { + var n = this[0]; + if (n) { + var i = n[e.name](); + return i * this.cy().zoom(); + } + }, 'renderedDimImpl')), + (Px['rendered' + e.uppercaseOuterName] = o(function () { + var n = this[0]; + if (n) { + var i = n[e.outerName](); + return i * this.cy().zoom(); + } + }, 'renderedOuterDimImpl')); + }, 'defineDimFns'); + yme({ name: 'width' }); + yme({ name: 'height' }); + tb.padding = function () { + var t = this[0], + e = t._private; + return t.isParent() + ? (t.updateCompoundBounds(), e.autoPadding !== void 0 ? e.autoPadding : t.pstyle('padding').pfValue) + : t.pstyle('padding').pfValue; + }; + tb.paddedHeight = function () { + var t = this[0]; + return t.height() + 2 * t.padding(); + }; + tb.paddedWidth = function () { + var t = this[0]; + return t.width() + 2 * t.padding(); + }; + (rKe = tb), + (nKe = o(function (e, r) { + if (e.isEdge()) return r(e); + }, 'ifEdge')), + (iKe = o(function (e, r) { + if (e.isEdge()) { + var n = e.cy(); + return F6(r(e), n.zoom(), n.pan()); + } + }, 'ifEdgeRenderedPosition')), + (aKe = o(function (e, r) { + if (e.isEdge()) { + var n = e.cy(), + i = n.pan(), + a = n.zoom(); + return r(e).map(function (s) { + return F6(s, a, i); + }); + } + }, 'ifEdgeRenderedPositions')), + (sKe = o(function (e) { + return e.renderer().getControlPoints(e); + }, 'controlPoints')), + (oKe = o(function (e) { + return e.renderer().getSegmentPoints(e); + }, 'segmentPoints')), + (lKe = o(function (e) { + return e.renderer().getSourceEndpoint(e); + }, 'sourceEndpoint')), + (cKe = o(function (e) { + return e.renderer().getTargetEndpoint(e); + }, 'targetEndpoint')), + (uKe = o(function (e) { + return e.renderer().getEdgeMidpoint(e); + }, 'midpoint')), + ($0e = { + controlPoints: { get: sKe, mult: !0 }, + segmentPoints: { get: oKe, mult: !0 }, + sourceEndpoint: { get: lKe }, + targetEndpoint: { get: cKe }, + midpoint: { get: uKe } + }), + (hKe = o(function (e) { + return 'rendered' + e[0].toUpperCase() + e.substr(1); + }, 'renderedName')), + (fKe = Object.keys($0e).reduce(function (t, e) { + var r = $0e[e], + n = hKe(e); + return ( + (t[e] = function () { + return nKe(this, r.get); + }), + r.mult + ? (t[n] = function () { + return aKe(this, r.get); + }) + : (t[n] = function () { + return iKe(this, r.get); + }), + t + ); + }, {})), + (dKe = Wt({}, Zje, tKe, rKe, fKe)); + vme = o(function (e, r) { + this.recycle(e, r); + }, 'Event'); + o(Rx, 'returnFalse'); + o(c6, 'returnTrue'); + vme.prototype = { + instanceString: o(function () { + return 'event'; + }, 'instanceString'), + recycle: o(function (e, r) { + if ( + ((this.isImmediatePropagationStopped = + this.isPropagationStopped = + this.isDefaultPrevented = + Rx), + e != null && e.preventDefault + ? ((this.type = e.type), (this.isDefaultPrevented = e.defaultPrevented ? c6 : Rx)) + : e != null && e.type + ? (r = e) + : (this.type = e), + r != null && + ((this.originalEvent = r.originalEvent), + (this.type = r.type != null ? r.type : this.type), + (this.cy = r.cy), + (this.target = r.target), + (this.position = r.position), + (this.renderedPosition = r.renderedPosition), + (this.namespace = r.namespace), + (this.layout = r.layout)), + this.cy != null && this.position != null && this.renderedPosition == null) + ) { + var n = this.position, + i = this.cy.zoom(), + a = this.cy.pan(); + this.renderedPosition = { x: n.x * i + a.x, y: n.y * i + a.y }; + } + this.timeStamp = (e && e.timeStamp) || Date.now(); + }, 'recycle'), + preventDefault: o(function () { + this.isDefaultPrevented = c6; + var e = this.originalEvent; + e && e.preventDefault && e.preventDefault(); + }, 'preventDefault'), + stopPropagation: o(function () { + this.isPropagationStopped = c6; + var e = this.originalEvent; + e && e.stopPropagation && e.stopPropagation(); + }, 'stopPropagation'), + stopImmediatePropagation: o(function () { + (this.isImmediatePropagationStopped = c6), this.stopPropagation(); + }, 'stopImmediatePropagation'), + isDefaultPrevented: Rx, + isPropagationStopped: Rx, + isImmediatePropagationStopped: Rx + }; + (xme = /^([^.]+)(\.(?:[^.]+))?$/), + (pKe = '.*'), + (bme = { + qualifierCompare: o(function (e, r) { + return e === r; + }, 'qualifierCompare'), + eventMatches: o(function () { + return !0; + }, 'eventMatches'), + addEventFields: o(function () {}, 'addEventFields'), + callbackContext: o(function (e) { + return e; + }, 'callbackContext'), + beforeEmit: o(function () {}, 'beforeEmit'), + afterEmit: o(function () {}, 'afterEmit'), + bubble: o(function () { + return !1; + }, 'bubble'), + parent: o(function () { + return null; + }, 'parent'), + context: null + }), + (V0e = Object.keys(bme)), + (mKe = {}); + o(H6, 'Emitter'); + (Df = H6.prototype), + (wme = o(function (e, r, n, i, a, s, l) { + jn(i) && ((a = i), (i = null)), l && (s == null ? (s = l) : (s = Wt({}, s, l))); + for (var u = vn(n) ? n : n.split(/\s+/), h = 0; h < u.length; h++) { + var f = u[h]; + if (!Sf(f)) { + var d = f.match(xme); + if (d) { + var p = d[1], + m = d[2] ? d[2] : null, + g = r(e, f, p, m, i, a, s); + if (g === !1) break; + } + } + } + }, 'forEachEvent')), + (U0e = o(function (e, r) { + return e.addEventFields(e.context, r), new vme(r.type, r); + }, 'makeEventObj')), + (gKe = o(function (e, r, n) { + if (PHe(n)) { + r(e, n); + return; + } else if (Mr(n)) { + r(e, U0e(e, n)); + return; + } + for (var i = vn(n) ? n : n.split(/\s+/), a = 0; a < i.length; a++) { + var s = i[a]; + if (!Sf(s)) { + var l = s.match(xme); + if (l) { + var u = l[1], + h = l[2] ? l[2] : null, + f = U0e(e, { type: u, namespace: h, target: e.context }); + r(e, f); + } + } + } + }, 'forEachEventObj')); + Df.on = Df.addListener = function (t, e, r, n, i) { + return ( + wme( + this, + function (a, s, l, u, h, f, d) { + jn(f) && + a.listeners.push({ + event: s, + callback: f, + type: l, + namespace: u, + qualifier: h, + conf: d + }); + }, + t, + e, + r, + n, + i + ), + this + ); + }; + Df.one = function (t, e, r, n) { + return this.on(t, e, r, n, { one: !0 }); + }; + Df.removeListener = Df.off = function (t, e, r, n) { + var i = this; + this.emitting !== 0 && (this.listeners = YYe(this.listeners)); + for ( + var a = this.listeners, + s = o(function (h) { + var f = a[h]; + wme( + i, + function (d, p, m, g, y, v) { + if ( + (f.type === m || t === '*') && + ((!g && f.namespace !== '.*') || f.namespace === g) && + (!y || d.qualifierCompare(f.qualifier, y)) && + (!v || f.callback === v) + ) + return a.splice(h, 1), !1; + }, + t, + e, + r, + n + ); + }, '_loop'), + l = a.length - 1; + l >= 0; + l-- + ) + s(l); + return this; + }; + Df.removeAllListeners = function () { + return this.removeListener('*'); + }; + Df.emit = Df.trigger = function (t, e, r) { + var n = this.listeners, + i = n.length; + return ( + this.emitting++, + vn(e) || (e = [e]), + gKe( + this, + function (a, s) { + r != null && + ((n = [ + { + event: s.event, + type: s.type, + namespace: s.namespace, + callback: r + } + ]), + (i = n.length)); + for ( + var l = o(function (f) { + var d = n[f]; + if ( + d.type === s.type && + (!d.namespace || d.namespace === s.namespace || d.namespace === pKe) && + a.eventMatches(a.context, d, s) + ) { + var p = [s]; + e != null && qYe(p, e), + a.beforeEmit(a.context, d, s), + d.conf && + d.conf.one && + (a.listeners = a.listeners.filter(function (y) { + return y !== d; + })); + var m = a.callbackContext(a.context, d, s), + g = d.callback.apply(m, p); + a.afterEmit(a.context, d, s), + g === !1 && (s.stopPropagation(), s.preventDefault()); + } + }, '_loop2'), + u = 0; + u < i; + u++ + ) + l(u); + a.bubble(a.context) && !s.isPropagationStopped() && a.parent(a.context).emit(s, e); + }, + t + ), + this.emitting--, + this + ); + }; + (yKe = { + qualifierCompare: o(function (e, r) { + return e == null || r == null ? e == null && r == null : e.sameText(r); + }, 'qualifierCompare'), + eventMatches: o(function (e, r, n) { + var i = r.qualifier; + return i != null ? e !== n.target && Zx(n.target) && i.matches(n.target) : !0; + }, 'eventMatches'), + addEventFields: o(function (e, r) { + (r.cy = e.cy()), (r.target = e); + }, 'addEventFields'), + callbackContext: o(function (e, r, n) { + return r.qualifier != null ? n.target : e; + }, 'callbackContext'), + beforeEmit: o(function (e, r) { + r.conf && r.conf.once && r.conf.onceCollection.removeListener(r.event, r.qualifier, r.callback); + }, 'beforeEmit'), + bubble: o(function () { + return !0; + }, 'bubble'), + parent: o(function (e) { + return e.isChild() ? e.parent() : e.cy(); + }, 'parent') + }), + (u6 = o(function (e) { + return zt(e) ? new _f(e) : e; + }, 'argSelector')), + (Tme = { + createEmitter: o(function () { + for (var e = 0; e < this.length; e++) { + var r = this[e], + n = r._private; + n.emitter || (n.emitter = new H6(yKe, r)); + } + return this; + }, 'createEmitter'), + emitter: o(function () { + return this._private.emitter; + }, 'emitter'), + on: o(function (e, r, n) { + for (var i = u6(r), a = 0; a < this.length; a++) { + var s = this[a]; + s.emitter().on(e, i, n); + } + return this; + }, 'on'), + removeListener: o(function (e, r, n) { + for (var i = u6(r), a = 0; a < this.length; a++) { + var s = this[a]; + s.emitter().removeListener(e, i, n); + } + return this; + }, 'removeListener'), + removeAllListeners: o(function () { + for (var e = 0; e < this.length; e++) { + var r = this[e]; + r.emitter().removeAllListeners(); + } + return this; + }, 'removeAllListeners'), + one: o(function (e, r, n) { + for (var i = u6(r), a = 0; a < this.length; a++) { + var s = this[a]; + s.emitter().one(e, i, n); + } + return this; + }, 'one'), + once: o(function (e, r, n) { + for (var i = u6(r), a = 0; a < this.length; a++) { + var s = this[a]; + s.emitter().on(e, i, n, { once: !0, onceCollection: this }); + } + }, 'once'), + emit: o(function (e, r) { + for (var n = 0; n < this.length; n++) { + var i = this[n]; + i.emitter().emit(e, r); + } + return this; + }, 'emit'), + emitAndNotify: o(function (e, r) { + if (this.length !== 0) return this.cy().notify(e, this), this.emit(e, r), this; + }, 'emitAndNotify') + }); + en.eventAliasesOn(Tme); + (kme = { + nodes: o(function (e) { + return this.filter(function (r) { + return r.isNode(); + }).filter(e); + }, 'nodes'), + edges: o(function (e) { + return this.filter(function (r) { + return r.isEdge(); + }).filter(e); + }, 'edges'), + byGroup: o(function () { + for (var e = this.spawn(), r = this.spawn(), n = 0; n < this.length; n++) { + var i = this[n]; + i.isNode() ? e.push(i) : r.push(i); + } + return { nodes: e, edges: r }; + }, 'byGroup'), + filter: o(function (e, r) { + if (e === void 0) return this; + if (zt(e) || xo(e)) return new _f(e).filter(this); + if (jn(e)) { + for (var n = this.spawn(), i = this, a = 0; a < i.length; a++) { + var s = i[a], + l = r ? e.apply(r, [s, a, i]) : e(s, a, i); + l && n.push(s); + } + return n; + } + return this.spawn(); + }, 'filter'), + not: o(function (e) { + if (e) { + zt(e) && (e = this.filter(e)); + for (var r = this.spawn(), n = 0; n < this.length; n++) { + var i = this[n], + a = e.has(i); + a || r.push(i); + } + return r; + } else return this; + }, 'not'), + absoluteComplement: o(function () { + var e = this.cy(); + return e.mutableElements().not(this); + }, 'absoluteComplement'), + intersect: o(function (e) { + if (zt(e)) { + var r = e; + return this.filter(r); + } + for ( + var n = this.spawn(), + i = this, + a = e, + s = this.length < e.length, + l = s ? i : a, + u = s ? a : i, + h = 0; + h < l.length; + h++ + ) { + var f = l[h]; + u.has(f) && n.push(f); + } + return n; + }, 'intersect'), + xor: o(function (e) { + var r = this._private.cy; + zt(e) && (e = r.$(e)); + var n = this.spawn(), + i = this, + a = e, + s = o(function (u, h) { + for (var f = 0; f < u.length; f++) { + var d = u[f], + p = d._private.data.id, + m = h.hasElementWithId(p); + m || n.push(d); + } + }, 'add'); + return s(i, a), s(a, i), n; + }, 'xor'), + diff: o(function (e) { + var r = this._private.cy; + zt(e) && (e = r.$(e)); + var n = this.spawn(), + i = this.spawn(), + a = this.spawn(), + s = this, + l = e, + u = o(function (f, d, p) { + for (var m = 0; m < f.length; m++) { + var g = f[m], + y = g._private.data.id, + v = d.hasElementWithId(y); + v ? a.merge(g) : p.push(g); + } + }, 'add'); + return u(s, l, n), u(l, s, i), { left: n, right: i, both: a }; + }, 'diff'), + add: o(function (e) { + var r = this._private.cy; + if (!e) return this; + if (zt(e)) { + var n = e; + e = r.mutableElements().filter(n); + } + for (var i = this.spawnSelf(), a = 0; a < e.length; a++) { + var s = e[a], + l = !this.has(s); + l && i.push(s); + } + return i; + }, 'add'), + merge: o(function (e) { + var r = this._private, + n = r.cy; + if (!e) return this; + if (e && zt(e)) { + var i = e; + e = n.mutableElements().filter(i); + } + for (var a = r.map, s = 0; s < e.length; s++) { + var l = e[s], + u = l._private.data.id, + h = !a.has(u); + if (h) { + var f = this.length++; + (this[f] = l), a.set(u, { ele: l, index: f }); + } + } + return this; + }, 'merge'), + unmergeAt: o(function (e) { + var r = this[e], + n = r.id(), + i = this._private, + a = i.map; + (this[e] = void 0), a.delete(n); + var s = e === this.length - 1; + if (this.length > 1 && !s) { + var l = this.length - 1, + u = this[l], + h = u._private.data.id; + (this[l] = void 0), (this[e] = u), a.set(h, { ele: u, index: e }); + } + return this.length--, this; + }, 'unmergeAt'), + unmergeOne: o(function (e) { + e = e[0]; + var r = this._private, + n = e._private.data.id, + i = r.map, + a = i.get(n); + if (!a) return this; + var s = a.index; + return this.unmergeAt(s), this; + }, 'unmergeOne'), + unmerge: o(function (e) { + var r = this._private.cy; + if (!e) return this; + if (e && zt(e)) { + var n = e; + e = r.mutableElements().filter(n); + } + for (var i = 0; i < e.length; i++) this.unmergeOne(e[i]); + return this; + }, 'unmerge'), + unmergeBy: o(function (e) { + for (var r = this.length - 1; r >= 0; r--) { + var n = this[r]; + e(n) && this.unmergeAt(r); + } + return this; + }, 'unmergeBy'), + map: o(function (e, r) { + for (var n = [], i = this, a = 0; a < i.length; a++) { + var s = i[a], + l = r ? e.apply(r, [s, a, i]) : e(s, a, i); + n.push(l); + } + return n; + }, 'map'), + reduce: o(function (e, r) { + for (var n = r, i = this, a = 0; a < i.length; a++) n = e(n, i[a], a, i); + return n; + }, 'reduce'), + max: o(function (e, r) { + for (var n = -1 / 0, i, a = this, s = 0; s < a.length; s++) { + var l = a[s], + u = r ? e.apply(r, [l, s, a]) : e(l, s, a); + u > n && ((n = u), (i = l)); + } + return { value: n, ele: i }; + }, 'max'), + min: o(function (e, r) { + for (var n = 1 / 0, i, a = this, s = 0; s < a.length; s++) { + var l = a[s], + u = r ? e.apply(r, [l, s, a]) : e(l, s, a); + u < n && ((n = u), (i = l)); + } + return { value: n, ele: i }; + }, 'min') + }), + (Wr = kme); + Wr.u = Wr['|'] = Wr['+'] = Wr.union = Wr.or = Wr.add; + Wr['\\'] = Wr['!'] = Wr['-'] = Wr.difference = Wr.relativeComplement = Wr.subtract = Wr.not; + Wr.n = Wr['&'] = Wr['.'] = Wr.and = Wr.intersection = Wr.intersect; + Wr['^'] = Wr['(+)'] = Wr['(-)'] = Wr.symmetricDifference = Wr.symdiff = Wr.xor; + Wr.fnFilter = Wr.filterFn = Wr.stdFilter = Wr.filter; + Wr.complement = Wr.abscomp = Wr.absoluteComplement; + (vKe = { + isNode: o(function () { + return this.group() === 'nodes'; + }, 'isNode'), + isEdge: o(function () { + return this.group() === 'edges'; + }, 'isEdge'), + isLoop: o(function () { + return this.isEdge() && this.source()[0] === this.target()[0]; + }, 'isLoop'), + isSimple: o(function () { + return this.isEdge() && this.source()[0] !== this.target()[0]; + }, 'isSimple'), + group: o(function () { + var e = this[0]; + if (e) return e._private.group; + }, 'group') + }), + (Eme = o(function (e, r) { + var n = e.cy(), + i = n.hasCompoundNodes(); + function a(f) { + var d = f.pstyle('z-compound-depth'); + return d.value === 'auto' + ? i + ? f.zDepth() + : 0 + : d.value === 'bottom' + ? -1 + : d.value === 'top' + ? ZP + : 0; + } + o(a, 'getDepth'); + var s = a(e) - a(r); + if (s !== 0) return s; + function l(f) { + var d = f.pstyle('z-index-compare'); + return d.value === 'auto' && f.isNode() ? 1 : 0; + } + o(l, 'getEleDepth'); + var u = l(e) - l(r); + if (u !== 0) return u; + var h = e.pstyle('z-index').value - r.pstyle('z-index').value; + return h !== 0 ? h : e.poolIndex() - r.poolIndex(); + }, 'zIndexSort')), + (L6 = { + forEach: o(function (e, r) { + if (jn(e)) + for (var n = this.length, i = 0; i < n; i++) { + var a = this[i], + s = r ? e.apply(r, [a, i, this]) : e(a, i, this); + if (s === !1) break; + } + return this; + }, 'forEach'), + toArray: o(function () { + for (var e = [], r = 0; r < this.length; r++) e.push(this[r]); + return e; + }, 'toArray'), + slice: o(function (e, r) { + var n = [], + i = this.length; + r == null && (r = i), e == null && (e = 0), e < 0 && (e = i + e), r < 0 && (r = i + r); + for (var a = e; a >= 0 && a < r && a < i; a++) n.push(this[a]); + return this.spawn(n); + }, 'slice'), + size: o(function () { + return this.length; + }, 'size'), + eq: o(function (e) { + return this[e] || this.spawn(); + }, 'eq'), + first: o(function () { + return this[0] || this.spawn(); + }, 'first'), + last: o(function () { + return this[this.length - 1] || this.spawn(); + }, 'last'), + empty: o(function () { + return this.length === 0; + }, 'empty'), + nonempty: o(function () { + return !this.empty(); + }, 'nonempty'), + sort: o(function (e) { + if (!jn(e)) return this; + var r = this.toArray().sort(e); + return this.spawn(r); + }, 'sort'), + sortByZIndex: o(function () { + return this.sort(Eme); + }, 'sortByZIndex'), + zDepth: o(function () { + var e = this[0]; + if (e) { + var r = e._private, + n = r.group; + if (n === 'nodes') { + var i = r.data.parent ? e.parents().size() : 0; + return e.isParent() ? i : ZP - 1; + } else { + var a = r.source, + s = r.target, + l = a.zDepth(), + u = s.zDepth(); + return Math.max(l, u, 0); + } + } + }, 'zDepth') + }); + L6.each = L6.forEach; + xKe = o(function () { + var e = 'undefined', + r = (typeof Symbol > 'u' ? 'undefined' : Hi(Symbol)) != e && Hi(Symbol.iterator) != e; + r && + (L6[Symbol.iterator] = function () { + var n = this, + i = { value: void 0, done: !1 }, + a = 0, + s = this.length; + return bpe( + { + next: o(function () { + return a < s ? (i.value = n[a++]) : ((i.value = void 0), (i.done = !0)), i; + }, 'next') + }, + Symbol.iterator, + function () { + return this; + } + ); + }); + }, 'defineSymbolIterator'); + xKe(); + (bKe = Sa({ nodeDimensionsIncludeLabels: !1 })), + (y6 = { + layoutDimensions: o(function (e) { + e = bKe(e); + var r; + if (!this.takesUpSpace()) r = { w: 0, h: 0 }; + else if (e.nodeDimensionsIncludeLabels) { + var n = this.boundingBox(); + r = { w: n.w, h: n.h }; + } else r = { w: this.outerWidth(), h: this.outerHeight() }; + return (r.w === 0 || r.h === 0) && (r.w = r.h = 1), r; + }, 'layoutDimensions'), + layoutPositions: o(function (e, r, n) { + var i = this.nodes().filter(function (T) { + return !T.isParent(); + }), + a = this.cy(), + s = r.eles, + l = o(function (E) { + return E.id(); + }, 'getMemoizeKey'), + u = Gx(n, l); + e.emit({ type: 'layoutstart', layout: e }), (e.animations = []); + var h = o(function (E, _, A) { + var L = { x: _.x1 + _.w / 2, y: _.y1 + _.h / 2 }, + M = { x: (A.x - L.x) * E, y: (A.y - L.y) * E }; + return { x: L.x + M.x, y: L.y + M.y }; + }, 'calculateSpacing'), + f = r.spacingFactor && r.spacingFactor !== 1, + d = o(function () { + if (!f) return null; + for (var E = Gs(), _ = 0; _ < i.length; _++) { + var A = i[_], + L = u(A, _); + wWe(E, L.x, L.y); + } + return E; + }, 'spacingBb'), + p = d(), + m = Gx(function (T, E) { + var _ = u(T, E); + if (f) { + var A = Math.abs(r.spacingFactor); + _ = h(A, p, _); + } + return r.transform != null && (_ = r.transform(T, _)), _; + }, l); + if (r.animate) { + for (var g = 0; g < i.length; g++) { + var y = i[g], + v = m(y, g), + x = r.animateFilter == null || r.animateFilter(y, g); + if (x) { + var b = y.animation({ + position: v, + duration: r.animationDuration, + easing: r.animationEasing + }); + e.animations.push(b); + } else y.position(v); + } + if (r.fit) { + var w = a.animation({ + fit: { boundingBox: s.boundingBoxAt(m), padding: r.padding }, + duration: r.animationDuration, + easing: r.animationEasing + }); + e.animations.push(w); + } else if (r.zoom !== void 0 && r.pan !== void 0) { + var S = a.animation({ + zoom: r.zoom, + pan: r.pan, + duration: r.animationDuration, + easing: r.animationEasing + }); + e.animations.push(S); + } + e.animations.forEach(function (T) { + return T.play(); + }), + e.one('layoutready', r.ready), + e.emit({ type: 'layoutready', layout: e }), + u1 + .all( + e.animations.map(function (T) { + return T.promise(); + }) + ) + .then(function () { + e.one('layoutstop', r.stop), e.emit({ type: 'layoutstop', layout: e }); + }); + } else + i.positions(m), + r.fit && a.fit(r.eles, r.padding), + r.zoom != null && a.zoom(r.zoom), + r.pan && a.pan(r.pan), + e.one('layoutready', r.ready), + e.emit({ type: 'layoutready', layout: e }), + e.one('layoutstop', r.stop), + e.emit({ type: 'layoutstop', layout: e }); + return this; + }, 'layoutPositions'), + layout: o(function (e) { + var r = this.cy(); + return r.makeLayout(Wt({}, e, { eles: this })); + }, 'layout') + }); + y6.createLayout = y6.makeLayout = y6.layout; + o(Cme, 'styleCache'); + o(Y6, 'cacheStyleFunction'); + o(W6, 'cachePrototypeStyleFunction'); + Ea = { + recalculateRenderedStyle: o(function (e) { + var r = this.cy(), + n = r.renderer(), + i = r.styleEnabled(); + return n && i && n.recalculateRenderedStyle(this, e), this; + }, 'recalculateRenderedStyle'), + dirtyStyleCache: o(function () { + var e = this.cy(), + r = o(function (a) { + return (a._private.styleCache = null); + }, 'dirty'); + if (e.hasCompoundNodes()) { + var n; + (n = this.spawnSelf().merge(this.descendants()).merge(this.parents())), + n.merge(n.connectedEdges()), + n.forEach(r); + } else + this.forEach(function (i) { + r(i), i.connectedEdges().forEach(r); + }); + return this; + }, 'dirtyStyleCache'), + updateStyle: o(function (e) { + var r = this._private.cy; + if (!r.styleEnabled()) return this; + if (r.batching()) { + var n = r._private.batchStyleEles; + return n.merge(this), this; + } + var i = r.hasCompoundNodes(), + a = this; + (e = !!(e || e === void 0)), + i && (a = this.spawnSelf().merge(this.descendants()).merge(this.parents())); + var s = a; + return ( + e ? s.emitAndNotify('style') : s.emit('style'), + a.forEach(function (l) { + return (l._private.styleDirty = !0); + }), + this + ); + }, 'updateStyle'), + cleanStyle: o(function () { + var e = this.cy(); + if (e.styleEnabled()) + for (var r = 0; r < this.length; r++) { + var n = this[r]; + n._private.styleDirty && ((n._private.styleDirty = !1), e.style().apply(n)); + } + }, 'cleanStyle'), + parsedStyle: o(function (e) { + var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0, + n = this[0], + i = n.cy(); + if (i.styleEnabled() && n) { + this.cleanStyle(); + var a = n._private.style[e]; + return a ?? (r ? i.style().getDefaultProperty(e) : null); + } + }, 'parsedStyle'), + numericStyle: o(function (e) { + var r = this[0]; + if (r.cy().styleEnabled() && r) { + var n = r.pstyle(e); + return n.pfValue !== void 0 ? n.pfValue : n.value; + } + }, 'numericStyle'), + numericStyleUnits: o(function (e) { + var r = this[0]; + if (r.cy().styleEnabled() && r) return r.pstyle(e).units; + }, 'numericStyleUnits'), + renderedStyle: o(function (e) { + var r = this.cy(); + if (!r.styleEnabled()) return this; + var n = this[0]; + if (n) return r.style().getRenderedStyle(n, e); + }, 'renderedStyle'), + style: o(function (e, r) { + var n = this.cy(); + if (!n.styleEnabled()) return this; + var i = !1, + a = n.style(); + if (Mr(e)) { + var s = e; + a.applyBypass(this, s, i), this.emitAndNotify('style'); + } else if (zt(e)) + if (r === void 0) { + var l = this[0]; + return l ? a.getStylePropertyValue(l, e) : void 0; + } else a.applyBypass(this, e, r, i), this.emitAndNotify('style'); + else if (e === void 0) { + var u = this[0]; + return u ? a.getRawStyle(u) : void 0; + } + return this; + }, 'style'), + removeStyle: o(function (e) { + var r = this.cy(); + if (!r.styleEnabled()) return this; + var n = !1, + i = r.style(), + a = this; + if (e === void 0) + for (var s = 0; s < a.length; s++) { + var l = a[s]; + i.removeAllBypasses(l, n); + } + else { + e = e.split(/\s+/); + for (var u = 0; u < a.length; u++) { + var h = a[u]; + i.removeBypasses(h, e, n); + } + } + return this.emitAndNotify('style'), this; + }, 'removeStyle'), + show: o(function () { + return this.css('display', 'element'), this; + }, 'show'), + hide: o(function () { + return this.css('display', 'none'), this; + }, 'hide'), + effectiveOpacity: o(function () { + var e = this.cy(); + if (!e.styleEnabled()) return 1; + var r = e.hasCompoundNodes(), + n = this[0]; + if (n) { + var i = n._private, + a = n.pstyle('opacity').value; + if (!r) return a; + var s = i.data.parent ? n.parents() : null; + if (s) + for (var l = 0; l < s.length; l++) { + var u = s[l], + h = u.pstyle('opacity').value; + a = h * a; + } + return a; + } + }, 'effectiveOpacity'), + transparent: o(function () { + var e = this.cy(); + if (!e.styleEnabled()) return !1; + var r = this[0], + n = r.cy().hasCompoundNodes(); + if (r) return n ? r.effectiveOpacity() === 0 : r.pstyle('opacity').value === 0; + }, 'transparent'), + backgrounding: o(function () { + var e = this.cy(); + if (!e.styleEnabled()) return !1; + var r = this[0]; + return !!r._private.backgrounding; + }, 'backgrounding') + }; + o(AP, 'checkCompound'); + o(uB, 'defineDerivedStateFunction'); + p1 = Y6('eleTakesUpSpace', function (t) { + return ( + t.pstyle('display').value === 'element' && t.width() !== 0 && (t.isNode() ? t.height() !== 0 : !0) + ); + }); + Ea.takesUpSpace = W6('takesUpSpace', uB({ ok: p1 })); + (wKe = Y6('eleInteractive', function (t) { + return t.pstyle('events').value === 'yes' && t.pstyle('visibility').value === 'visible' && p1(t); + })), + (TKe = Y6('parentInteractive', function (t) { + return t.pstyle('visibility').value === 'visible' && p1(t); + })); + Ea.interactive = W6('interactive', uB({ ok: wKe, parentOk: TKe, edgeOkViaNode: p1 })); + Ea.noninteractive = function () { + var t = this[0]; + if (t) return !t.interactive(); + }; + (kKe = Y6('eleVisible', function (t) { + return t.pstyle('visibility').value === 'visible' && t.pstyle('opacity').pfValue !== 0 && p1(t); + })), + (EKe = p1); + Ea.visible = W6('visible', uB({ ok: kKe, edgeOkViaNode: EKe })); + Ea.hidden = function () { + var t = this[0]; + if (t) return !t.visible(); + }; + Ea.isBundledBezier = W6('isBundledBezier', function () { + return this.cy().styleEnabled() + ? !this.removed() && this.pstyle('curve-style').value === 'bezier' && this.takesUpSpace() + : !1; + }); + Ea.bypass = Ea.css = Ea.style; + Ea.renderedCss = Ea.renderedStyle; + Ea.removeBypass = Ea.removeCss = Ea.removeStyle; + Ea.pstyle = Ea.parsedStyle; + Cf = {}; + o(H0e, 'defineSwitchFunction'); + o(m1, 'defineSwitchSet'); + m1({ + field: 'locked', + overrideField: o(function (e) { + return e.cy().autolock() ? !0 : void 0; + }, 'overrideField'), + on: 'lock', + off: 'unlock' + }); + m1({ + field: 'grabbable', + overrideField: o(function (e) { + return e.cy().autoungrabify() || e.pannable() ? !1 : void 0; + }, 'overrideField'), + on: 'grabify', + off: 'ungrabify' + }); + m1({ + field: 'selected', + ableField: 'selectable', + overrideAble: o(function (e) { + return e.cy().autounselectify() ? !1 : void 0; + }, 'overrideAble'), + on: 'select', + off: 'unselect' + }); + m1({ + field: 'selectable', + overrideField: o(function (e) { + return e.cy().autounselectify() ? !1 : void 0; + }, 'overrideField'), + on: 'selectify', + off: 'unselectify' + }); + Cf.deselect = Cf.unselect; + Cf.grabbed = function () { + var t = this[0]; + if (t) return t._private.grabbed; + }; + m1({ field: 'active', on: 'activate', off: 'unactivate' }); + m1({ field: 'pannable', on: 'panify', off: 'unpanify' }); + Cf.inactive = function () { + var t = this[0]; + if (t) return !t._private.active; + }; + (Fa = {}), + (Y0e = o(function (e) { + return o(function (n) { + for (var i = this, a = [], s = 0; s < i.length; s++) { + var l = i[s]; + if (l.isNode()) { + for (var u = !1, h = l.connectedEdges(), f = 0; f < h.length; f++) { + var d = h[f], + p = d.source(), + m = d.target(); + if ( + (e.noIncomingEdges && m === l && p !== l) || + (e.noOutgoingEdges && p === l && m !== l) + ) { + u = !0; + break; + } + } + u || a.push(l); + } + } + return this.spawn(a, !0).filter(n); + }, 'dagExtremityImpl'); + }, 'defineDagExtremity')), + (W0e = o(function (e) { + return function (r) { + for (var n = this, i = [], a = 0; a < n.length; a++) { + var s = n[a]; + if (s.isNode()) + for (var l = s.connectedEdges(), u = 0; u < l.length; u++) { + var h = l[u], + f = h.source(), + d = h.target(); + e.outgoing && f === s + ? (i.push(h), i.push(d)) + : e.incoming && d === s && (i.push(h), i.push(f)); + } + } + return this.spawn(i, !0).filter(r); + }; + }, 'defineDagOneHop')), + (q0e = o(function (e) { + return function (r) { + for (var n = this, i = [], a = {}; ; ) { + var s = e.outgoing ? n.outgoers() : n.incomers(); + if (s.length === 0) break; + for (var l = !1, u = 0; u < s.length; u++) { + var h = s[u], + f = h.id(); + a[f] || ((a[f] = !0), i.push(h), (l = !0)); + } + if (!l) break; + n = s; + } + return this.spawn(i, !0).filter(r); + }; + }, 'defineDagAllHops')); + Fa.clearTraversalCache = function () { + for (var t = 0; t < this.length; t++) this[t]._private.traversalCache = null; + }; + Wt(Fa, { + roots: Y0e({ noIncomingEdges: !0 }), + leaves: Y0e({ noOutgoingEdges: !0 }), + outgoers: tl(W0e({ outgoing: !0 }), 'outgoers'), + successors: q0e({ outgoing: !0 }), + incomers: tl(W0e({ incoming: !0 }), 'incomers'), + predecessors: q0e({ incoming: !0 }) + }); + Wt(Fa, { + neighborhood: tl(function (t) { + for (var e = [], r = this.nodes(), n = 0; n < r.length; n++) + for (var i = r[n], a = i.connectedEdges(), s = 0; s < a.length; s++) { + var l = a[s], + u = l.source(), + h = l.target(), + f = i === u ? h : u; + f.length > 0 && e.push(f[0]), e.push(l[0]); + } + return this.spawn(e, !0).filter(t); + }, 'neighborhood'), + closedNeighborhood: o(function (e) { + return this.neighborhood().add(this).filter(e); + }, 'closedNeighborhood'), + openNeighborhood: o(function (e) { + return this.neighborhood(e); + }, 'openNeighborhood') + }); + Fa.neighbourhood = Fa.neighborhood; + Fa.closedNeighbourhood = Fa.closedNeighborhood; + Fa.openNeighbourhood = Fa.openNeighborhood; + Wt(Fa, { + source: tl( + o(function (e) { + var r = this[0], + n; + return r && (n = r._private.source || r.cy().collection()), n && e ? n.filter(e) : n; + }, 'sourceImpl'), + 'source' + ), + target: tl( + o(function (e) { + var r = this[0], + n; + return r && (n = r._private.target || r.cy().collection()), n && e ? n.filter(e) : n; + }, 'targetImpl'), + 'target' + ), + sources: X0e({ attr: 'source' }), + targets: X0e({ attr: 'target' }) + }); + o(X0e, 'defineSourceFunction'); + Wt(Fa, { + edgesWith: tl(j0e(), 'edgesWith'), + edgesTo: tl(j0e({ thisIsSrc: !0 }), 'edgesTo') + }); + o(j0e, 'defineEdgesWithFunction'); + Wt(Fa, { + connectedEdges: tl(function (t) { + for (var e = [], r = this, n = 0; n < r.length; n++) { + var i = r[n]; + if (i.isNode()) + for (var a = i._private.edges, s = 0; s < a.length; s++) { + var l = a[s]; + e.push(l); + } + } + return this.spawn(e, !0).filter(t); + }, 'connectedEdges'), + connectedNodes: tl(function (t) { + for (var e = [], r = this, n = 0; n < r.length; n++) { + var i = r[n]; + i.isEdge() && (e.push(i.source()[0]), e.push(i.target()[0])); + } + return this.spawn(e, !0).filter(t); + }, 'connectedNodes'), + parallelEdges: tl(K0e(), 'parallelEdges'), + codirectedEdges: tl(K0e({ codirected: !0 }), 'codirectedEdges') + }); + o(K0e, 'defineParallelEdgesFunction'); + Wt(Fa, { + components: o(function (e) { + var r = this, + n = r.cy(), + i = n.collection(), + a = e == null ? r.nodes() : e.nodes(), + s = []; + e != null && a.empty() && (a = e.sources()); + var l = o(function (f, d) { + i.merge(f), a.unmerge(f), d.merge(f); + }, 'visitInComponent'); + if (a.empty()) return r.spawn(); + var u = o(function () { + var f = n.collection(); + s.push(f); + var d = a[0]; + l(d, f), + r.bfs({ + directed: !1, + roots: d, + visit: o(function (m) { + return l(m, f); + }, 'visit') + }), + f.forEach(function (p) { + p.connectedEdges().forEach(function (m) { + r.has(m) && f.has(m.source()) && f.has(m.target()) && f.merge(m); + }); + }); + }, '_loop'); + do u(); + while (a.length > 0); + return s; + }, 'components'), + component: o(function () { + var e = this[0]; + return e.cy().mutableElements().components(e)[0]; + }, 'component') + }); + Fa.componentsOf = Fa.components; + (Ca = o(function (e, r) { + var n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1, + i = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !1; + if (e === void 0) { + oi('A collection must have a reference to the core'); + return; + } + var a = new Vc(), + s = !1; + if (!r) r = []; + else if (r.length > 0 && Mr(r[0]) && !Zx(r[0])) { + s = !0; + for (var l = [], u = new c1(), h = 0, f = r.length; h < f; h++) { + var d = r[h]; + d.data == null && (d.data = {}); + var p = d.data; + if (p.id == null) p.id = Fpe(); + else if (e.hasElementWithId(p.id) || u.has(p.id)) continue; + var m = new B6(e, d, !1); + l.push(m), u.add(p.id); + } + r = l; + } + this.length = 0; + for (var g = 0, y = r.length; g < y; g++) { + var v = r[g][0]; + if (v != null) { + var x = v._private.data.id; + (!n || !a.has(x)) && + (n && a.set(x, { index: this.length, ele: v }), (this[this.length] = v), this.length++); + } + } + (this._private = { + eles: this, + cy: e, + get map() { + return this.lazyMap == null && this.rebuildMap(), this.lazyMap; + }, + set map(b) { + this.lazyMap = b; + }, + rebuildMap: o(function () { + for (var w = (this.lazyMap = new Vc()), S = this.eles, T = 0; T < S.length; T++) { + var E = S[T]; + w.set(E.id(), { index: T, ele: E }); + } + }, 'rebuildMap') + }), + n && (this._private.map = a), + s && !i && this.restore(); + }, 'Collection')), + (Dn = B6.prototype = Ca.prototype = Object.create(Array.prototype)); + Dn.instanceString = function () { + return 'collection'; + }; + Dn.spawn = function (t, e) { + return new Ca(this.cy(), t, e); + }; + Dn.spawnSelf = function () { + return this.spawn(this); + }; + Dn.cy = function () { + return this._private.cy; + }; + Dn.renderer = function () { + return this._private.cy.renderer(); + }; + Dn.element = function () { + return this[0]; + }; + Dn.collection = function () { + return Epe(this) ? this : new Ca(this._private.cy, [this]); + }; + Dn.unique = function () { + return new Ca(this._private.cy, this, !0); + }; + Dn.hasElementWithId = function (t) { + return (t = '' + t), this._private.map.has(t); + }; + Dn.getElementById = function (t) { + t = '' + t; + var e = this._private.cy, + r = this._private.map.get(t); + return r ? r.ele : new Ca(e); + }; + Dn.$id = Dn.getElementById; + Dn.poolIndex = function () { + var t = this._private.cy, + e = t._private.elements, + r = this[0]._private.data.id; + return e._private.map.get(r).index; + }; + Dn.indexOf = function (t) { + var e = t[0]._private.data.id; + return this._private.map.get(e).index; + }; + Dn.indexOfId = function (t) { + return (t = '' + t), this._private.map.get(t).index; + }; + Dn.json = function (t) { + var e = this.element(), + r = this.cy(); + if (e == null && t) return this; + if (e != null) { + var n = e._private; + if (Mr(t)) { + if ((r.startBatch(), t.data)) { + e.data(t.data); + var i = n.data; + if (e.isEdge()) { + var a = !1, + s = {}, + l = t.data.source, + u = t.data.target; + l != null && l != i.source && ((s.source = '' + l), (a = !0)), + u != null && u != i.target && ((s.target = '' + u), (a = !0)), + a && (e = e.move(s)); + } else { + var h = 'parent' in t.data, + f = t.data.parent; + h && + (f != null || i.parent != null) && + f != i.parent && + (f === void 0 && (f = null), + f != null && (f = '' + f), + (e = e.move({ parent: f }))); + } + } + t.position && e.position(t.position); + var d = o(function (y, v, x) { + var b = t[y]; + b != null && b !== n[y] && (b ? e[v]() : e[x]()); + }, 'checkSwitch'); + return ( + d('removed', 'remove', 'restore'), + d('selected', 'select', 'unselect'), + d('selectable', 'selectify', 'unselectify'), + d('locked', 'lock', 'unlock'), + d('grabbable', 'grabify', 'ungrabify'), + d('pannable', 'panify', 'unpanify'), + t.classes != null && e.classes(t.classes), + r.endBatch(), + this + ); + } else if (t === void 0) { + var p = { + data: $c(n.data), + position: $c(n.position), + group: n.group, + removed: n.removed, + selected: n.selected, + selectable: n.selectable, + locked: n.locked, + grabbable: n.grabbable, + pannable: n.pannable, + classes: null + }; + p.classes = ''; + var m = 0; + return ( + n.classes.forEach(function (g) { + return (p.classes += m++ === 0 ? g : ' ' + g); + }), + p + ); + } + } + }; + Dn.jsons = function () { + for (var t = [], e = 0; e < this.length; e++) { + var r = this[e], + n = r.json(); + t.push(n); + } + return t; + }; + Dn.clone = function () { + for (var t = this.cy(), e = [], r = 0; r < this.length; r++) { + var n = this[r], + i = n.json(), + a = new B6(t, i, !1); + e.push(a); + } + return new Ca(t, e); + }; + Dn.copy = Dn.clone; + Dn.restore = function () { + for ( + var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0, + e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0, + r = this, + n = r.cy(), + i = n._private, + a = [], + s = [], + l, + u = 0, + h = r.length; + u < h; + u++ + ) { + var f = r[u]; + (e && !f.removed()) || (f.isNode() ? a.push(f) : s.push(f)); + } + l = a.concat(s); + var d, + p = o(function () { + l.splice(d, 1), d--; + }, 'removeFromElements'); + for (d = 0; d < l.length; d++) { + var m = l[d], + g = m._private, + y = g.data; + if ((m.clearTraversalCache(), !(!e && !g.removed))) { + if (y.id === void 0) y.id = Fpe(); + else if (ft(y.id)) y.id = '' + y.id; + else if (Sf(y.id) || !zt(y.id)) { + oi('Can not create element with invalid string ID `' + y.id + '`'), p(); + continue; + } else if (n.hasElementWithId(y.id)) { + oi('Can not create second element with ID `' + y.id + '`'), p(); + continue; + } + } + var v = y.id; + if (m.isNode()) { + var x = g.position; + x.x == null && (x.x = 0), x.y == null && (x.y = 0); + } + if (m.isEdge()) { + for (var b = m, w = ['source', 'target'], S = w.length, T = !1, E = 0; E < S; E++) { + var _ = w[E], + A = y[_]; + ft(A) && (A = y[_] = '' + y[_]), + A == null || A === '' + ? (oi('Can not create edge `' + v + '` with unspecified ' + _), (T = !0)) + : n.hasElementWithId(A) || + (oi('Can not create edge `' + v + '` with nonexistant ' + _ + ' `' + A + '`'), + (T = !0)); + } + if (T) { + p(); + continue; + } + var L = n.getElementById(y.source), + M = n.getElementById(y.target); + L.same(M) ? L._private.edges.push(b) : (L._private.edges.push(b), M._private.edges.push(b)), + (b._private.source = L), + (b._private.target = M); + } + (g.map = new Vc()), g.map.set(v, { ele: m, index: 0 }), (g.removed = !1), e && n.addToPool(m); + } + for (var N = 0; N < a.length; N++) { + var k = a[N], + I = k._private.data; + ft(I.parent) && (I.parent = '' + I.parent); + var C = I.parent, + O = C != null; + if (O || k._private.parent) { + var D = k._private.parent ? n.collection().merge(k._private.parent) : n.getElementById(C); + if (D.empty()) I.parent = void 0; + else if (D[0].removed()) + tn('Node added with missing parent, reference to parent removed'), + (I.parent = void 0), + (k._private.parent = null); + else { + for (var P = !1, F = D; !F.empty(); ) { + if (k.same(F)) { + (P = !0), (I.parent = void 0); + break; + } + F = F.parent(); + } + P || + (D[0]._private.children.push(k), (k._private.parent = D[0]), (i.hasCompoundNodes = !0)); + } + } + } + if (l.length > 0) { + for (var B = l.length === r.length ? r : new Ca(n, l), $ = 0; $ < B.length; $++) { + var z = B[$]; + z.isNode() || + (z.parallelEdges().clearTraversalCache(), + z.source().clearTraversalCache(), + z.target().clearTraversalCache()); + } + var Y; + i.hasCompoundNodes + ? (Y = n.collection().merge(B).merge(B.connectedNodes()).merge(B.parent())) + : (Y = B), + Y.dirtyCompoundBoundsCache().dirtyBoundingBoxCache().updateStyle(t), + t ? B.emitAndNotify('add') : e && B.emit('add'); + } + return r; + }; + Dn.removed = function () { + var t = this[0]; + return t && t._private.removed; + }; + Dn.inside = function () { + var t = this[0]; + return t && !t._private.removed; + }; + Dn.remove = function () { + var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0, + e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0, + r = this, + n = [], + i = {}, + a = r._private.cy; + function s(C) { + for (var O = C._private.edges, D = 0; D < O.length; D++) u(O[D]); + } + o(s, 'addConnectedEdges'); + function l(C) { + for (var O = C._private.children, D = 0; D < O.length; D++) u(O[D]); + } + o(l, 'addChildren'); + function u(C) { + var O = i[C.id()]; + (e && C.removed()) || O || ((i[C.id()] = !0), C.isNode() ? (n.push(C), s(C), l(C)) : n.unshift(C)); + } + o(u, 'add'); + for (var h = 0, f = r.length; h < f; h++) { + var d = r[h]; + u(d); + } + function p(C, O) { + var D = C._private.edges; + Af(D, O), C.clearTraversalCache(); + } + o(p, 'removeEdgeRef'); + function m(C) { + C.clearTraversalCache(); + } + o(m, 'removeParallelRef'); + var g = []; + g.ids = {}; + function y(C, O) { + (O = O[0]), (C = C[0]); + var D = C._private.children, + P = C.id(); + Af(D, O), (O._private.parent = null), g.ids[P] || ((g.ids[P] = !0), g.push(C)); + } + o(y, 'removeChildRef'), r.dirtyCompoundBoundsCache(), e && a.removeFromPool(n); + for (var v = 0; v < n.length; v++) { + var x = n[v]; + if (x.isEdge()) { + var b = x.source()[0], + w = x.target()[0]; + p(b, x), p(w, x); + for (var S = x.parallelEdges(), T = 0; T < S.length; T++) { + var E = S[T]; + m(E), E.isBundledBezier() && E.dirtyBoundingBoxCache(); + } + } else { + var _ = x.parent(); + _.length !== 0 && y(_, x); + } + e && (x._private.removed = !0); + } + var A = a._private.elements; + a._private.hasCompoundNodes = !1; + for (var L = 0; L < A.length; L++) { + var M = A[L]; + if (M.isParent()) { + a._private.hasCompoundNodes = !0; + break; + } + } + var N = new Ca(this.cy(), n); + N.size() > 0 && (t ? N.emitAndNotify('remove') : e && N.emit('remove')); + for (var k = 0; k < g.length; k++) { + var I = g[k]; + (!e || !I.removed()) && I.updateStyle(); + } + return N; + }; + Dn.move = function (t) { + var e = this._private.cy, + r = this, + n = !1, + i = !1, + a = o(function (g) { + return g == null ? g : '' + g; + }, 'toString'); + if (t.source !== void 0 || t.target !== void 0) { + var s = a(t.source), + l = a(t.target), + u = s != null && e.hasElementWithId(s), + h = l != null && e.hasElementWithId(l); + (u || h) && + (e.batch(function () { + r.remove(n, i), r.emitAndNotify('moveout'); + for (var m = 0; m < r.length; m++) { + var g = r[m], + y = g._private.data; + g.isEdge() && (u && (y.source = s), h && (y.target = l)); + } + r.restore(n, i); + }), + r.emitAndNotify('move')); + } else if (t.parent !== void 0) { + var f = a(t.parent), + d = f === null || e.hasElementWithId(f); + if (d) { + var p = f === null ? void 0 : f; + e.batch(function () { + var m = r.remove(n, i); + m.emitAndNotify('moveout'); + for (var g = 0; g < r.length; g++) { + var y = r[g], + v = y._private.data; + y.isNode() && (v.parent = p); + } + m.restore(n, i); + }), + r.emitAndNotify('move'); + } + } + return this; + }; + [Qpe, Oje, g6, Ef, l1, Qje, U6, dKe, Tme, kme, vKe, L6, y6, Ea, Cf, Fa].forEach(function (t) { + Wt(Dn, t); + }); + CKe = { + add: o(function (e) { + var r, + n = this; + if (xo(e)) { + var i = e; + if (i._private.cy === n) r = i.restore(); + else { + for (var a = [], s = 0; s < i.length; s++) { + var l = i[s]; + a.push(l.json()); + } + r = new Ca(n, a); + } + } else if (vn(e)) { + var u = e; + r = new Ca(n, u); + } else if (Mr(e) && (vn(e.nodes) || vn(e.edges))) { + for (var h = e, f = [], d = ['nodes', 'edges'], p = 0, m = d.length; p < m; p++) { + var g = d[p], + y = h[g]; + if (vn(y)) + for (var v = 0, x = y.length; v < x; v++) { + var b = Wt({ group: g }, y[v]); + f.push(b); + } + } + r = new Ca(n, f); + } else { + var w = e; + r = new B6(n, w).collection(); + } + return r; + }, 'add'), + remove: o(function (e) { + if (!xo(e)) { + if (zt(e)) { + var r = e; + e = this.$(r); + } + } + return e.remove(); + }, 'remove') + }; + o(SKe, 'generateCubicBezier'); + (AKe = (function () { + function t(n) { + return -n.tension * n.x - n.friction * n.v; + } + o(t, 'springAccelerationForState'); + function e(n, i, a) { + var s = { + x: n.x + a.dx * i, + v: n.v + a.dv * i, + tension: n.tension, + friction: n.friction + }; + return { dx: s.v, dv: t(s) }; + } + o(e, 'springEvaluateStateWithDerivative'); + function r(n, i) { + var a = { dx: n.v, dv: t(n) }, + s = e(n, i * 0.5, a), + l = e(n, i * 0.5, s), + u = e(n, i, l), + h = (1 / 6) * (a.dx + 2 * (s.dx + l.dx) + u.dx), + f = (1 / 6) * (a.dv + 2 * (s.dv + l.dv) + u.dv); + return (n.x = n.x + h * i), (n.v = n.v + f * i), n; + } + return ( + o(r, 'springIntegrateState'), + o(function n(i, a, s) { + var l = { x: -1, v: 0, tension: null, friction: null }, + u = [0], + h = 0, + f = 1 / 1e4, + d = 16 / 1e3, + p, + m, + g; + for ( + i = parseFloat(i) || 500, + a = parseFloat(a) || 20, + s = s || null, + l.tension = i, + l.friction = a, + p = s !== null, + p ? ((h = n(i, a)), (m = (h / s) * d)) : (m = d); + (g = r(g || l, m)), u.push(1 + g.x), (h += 16), Math.abs(g.x) > f && Math.abs(g.v) > f; + + ); + return p + ? function (y) { + return u[(y * (u.length - 1)) | 0]; + } + : h; + }, 'springRK4Factory') + ); + })()), + (Ln = o(function (e, r, n, i) { + var a = SKe(e, r, n, i); + return function (s, l, u) { + return s + (l - s) * a(u); + }; + }, 'cubicBezier')), + (v6 = { + linear: o(function (e, r, n) { + return e + (r - e) * n; + }, 'linear'), + ease: Ln(0.25, 0.1, 0.25, 1), + 'ease-in': Ln(0.42, 0, 1, 1), + 'ease-out': Ln(0, 0, 0.58, 1), + 'ease-in-out': Ln(0.42, 0, 0.58, 1), + 'ease-in-sine': Ln(0.47, 0, 0.745, 0.715), + 'ease-out-sine': Ln(0.39, 0.575, 0.565, 1), + 'ease-in-out-sine': Ln(0.445, 0.05, 0.55, 0.95), + 'ease-in-quad': Ln(0.55, 0.085, 0.68, 0.53), + 'ease-out-quad': Ln(0.25, 0.46, 0.45, 0.94), + 'ease-in-out-quad': Ln(0.455, 0.03, 0.515, 0.955), + 'ease-in-cubic': Ln(0.55, 0.055, 0.675, 0.19), + 'ease-out-cubic': Ln(0.215, 0.61, 0.355, 1), + 'ease-in-out-cubic': Ln(0.645, 0.045, 0.355, 1), + 'ease-in-quart': Ln(0.895, 0.03, 0.685, 0.22), + 'ease-out-quart': Ln(0.165, 0.84, 0.44, 1), + 'ease-in-out-quart': Ln(0.77, 0, 0.175, 1), + 'ease-in-quint': Ln(0.755, 0.05, 0.855, 0.06), + 'ease-out-quint': Ln(0.23, 1, 0.32, 1), + 'ease-in-out-quint': Ln(0.86, 0, 0.07, 1), + 'ease-in-expo': Ln(0.95, 0.05, 0.795, 0.035), + 'ease-out-expo': Ln(0.19, 1, 0.22, 1), + 'ease-in-out-expo': Ln(1, 0, 0, 1), + 'ease-in-circ': Ln(0.6, 0.04, 0.98, 0.335), + 'ease-out-circ': Ln(0.075, 0.82, 0.165, 1), + 'ease-in-out-circ': Ln(0.785, 0.135, 0.15, 0.86), + spring: o(function (e, r, n) { + if (n === 0) return v6.linear; + var i = AKe(e, r, n); + return function (a, s, l) { + return a + (s - a) * i(l); + }; + }, 'spring'), + 'cubic-bezier': Ln + }); + o(Q0e, 'getEasedValue'); + o(Z0e, 'getValue'); + o(jg, 'ease'); + o(_Ke, 'step$1'); + o(Nx, 'valid'); + o(LKe, 'startAnimation'); + o(J0e, 'stepAll'); + (DKe = { + animate: en.animate(), + animation: en.animation(), + animated: en.animated(), + clearQueue: en.clearQueue(), + delay: en.delay(), + delayAnimation: en.delayAnimation(), + stop: en.stop(), + addToAnimationPool: o(function (e) { + var r = this; + r.styleEnabled() && r._private.aniEles.merge(e); + }, 'addToAnimationPool'), + stopAnimationLoop: o(function () { + this._private.animationsRunning = !1; + }, 'stopAnimationLoop'), + startAnimationLoop: o(function () { + var e = this; + if (((e._private.animationsRunning = !0), !e.styleEnabled())) return; + function r() { + e._private.animationsRunning && + E6( + o(function (a) { + J0e(a, e), r(); + }, 'animationStep') + ); + } + o(r, 'headlessStep'); + var n = e.renderer(); + n && n.beforeRender + ? n.beforeRender( + o(function (a, s) { + J0e(s, e); + }, 'rendererAnimationStep'), + n.beforeRenderPriorities.animations + ) + : r(); + }, 'startAnimationLoop') + }), + (RKe = { + qualifierCompare: o(function (e, r) { + return e == null || r == null ? e == null && r == null : e.sameText(r); + }, 'qualifierCompare'), + eventMatches: o(function (e, r, n) { + var i = r.qualifier; + return i != null ? e !== n.target && Zx(n.target) && i.matches(n.target) : !0; + }, 'eventMatches'), + addEventFields: o(function (e, r) { + (r.cy = e), (r.target = e); + }, 'addEventFields'), + callbackContext: o(function (e, r, n) { + return r.qualifier != null ? n.target : e; + }, 'callbackContext') + }), + (h6 = o(function (e) { + return zt(e) ? new _f(e) : e; + }, 'argSelector')), + (Sme = { + createEmitter: o(function () { + var e = this._private; + return e.emitter || (e.emitter = new H6(RKe, this)), this; + }, 'createEmitter'), + emitter: o(function () { + return this._private.emitter; + }, 'emitter'), + on: o(function (e, r, n) { + return this.emitter().on(e, h6(r), n), this; + }, 'on'), + removeListener: o(function (e, r, n) { + return this.emitter().removeListener(e, h6(r), n), this; + }, 'removeListener'), + removeAllListeners: o(function () { + return this.emitter().removeAllListeners(), this; + }, 'removeAllListeners'), + one: o(function (e, r, n) { + return this.emitter().one(e, h6(r), n), this; + }, 'one'), + once: o(function (e, r, n) { + return this.emitter().one(e, h6(r), n), this; + }, 'once'), + emit: o(function (e, r) { + return this.emitter().emit(e, r), this; + }, 'emit'), + emitAndNotify: o(function (e, r) { + return this.emit(e), this.notify(e, r), this; + }, 'emitAndNotify') + }); + en.eventAliasesOn(Sme); + FP = { + png: o(function (e) { + var r = this._private.renderer; + return (e = e || {}), r.png(e); + }, 'png'), + jpg: o(function (e) { + var r = this._private.renderer; + return (e = e || {}), (e.bg = e.bg || '#fff'), r.jpg(e); + }, 'jpg') + }; + FP.jpeg = FP.jpg; + x6 = { + layout: o(function (e) { + var r = this; + if (e == null) { + oi('Layout options must be specified to make a layout'); + return; + } + if (e.name == null) { + oi('A `name` must be specified to make a layout'); + return; + } + var n = e.name, + i = r.extension('layout', n); + if (i == null) { + oi('No such layout `' + n + '` found. Did you forget to import it and `cytoscape.use()` it?'); + return; + } + var a; + zt(e.eles) ? (a = r.$(e.eles)) : (a = e.eles != null ? e.eles : r.$()); + var s = new i(Wt({}, e, { cy: r, eles: a })); + return s; + }, 'layout') + }; + x6.createLayout = x6.makeLayout = x6.layout; + (NKe = { + notify: o(function (e, r) { + var n = this._private; + if (this.batching()) { + n.batchNotifications = n.batchNotifications || {}; + var i = (n.batchNotifications[e] = n.batchNotifications[e] || this.collection()); + r != null && i.merge(r); + return; + } + if (n.notificationsEnabled) { + var a = this.renderer(); + this.destroyed() || !a || a.notify(e, r); + } + }, 'notify'), + notifications: o(function (e) { + var r = this._private; + return e === void 0 ? r.notificationsEnabled : ((r.notificationsEnabled = !!e), this); + }, 'notifications'), + noNotifications: o(function (e) { + this.notifications(!1), e(), this.notifications(!0); + }, 'noNotifications'), + batching: o(function () { + return this._private.batchCount > 0; + }, 'batching'), + startBatch: o(function () { + var e = this._private; + return ( + e.batchCount == null && (e.batchCount = 0), + e.batchCount === 0 && ((e.batchStyleEles = this.collection()), (e.batchNotifications = {})), + e.batchCount++, + this + ); + }, 'startBatch'), + endBatch: o(function () { + var e = this._private; + if (e.batchCount === 0) return this; + if ((e.batchCount--, e.batchCount === 0)) { + e.batchStyleEles.updateStyle(); + var r = this.renderer(); + Object.keys(e.batchNotifications).forEach(function (n) { + var i = e.batchNotifications[n]; + i.empty() ? r.notify(n) : r.notify(n, i); + }); + } + return this; + }, 'endBatch'), + batch: o(function (e) { + return this.startBatch(), e(), this.endBatch(), this; + }, 'batch'), + batchData: o(function (e) { + var r = this; + return this.batch(function () { + for (var n = Object.keys(e), i = 0; i < n.length; i++) { + var a = n[i], + s = e[a], + l = r.getElementById(a); + l.data(s); + } + }); + }, 'batchData') + }), + (MKe = Sa({ + hideEdgesOnViewport: !1, + textureOnViewport: !1, + motionBlur: !1, + motionBlurOpacity: 0.05, + pixelRatio: void 0, + desktopTapThreshold: 4, + touchTapThreshold: 8, + wheelSensitivity: 1, + debug: !1, + showFps: !1 + })), + (zP = { + renderTo: o(function (e, r, n, i) { + var a = this._private.renderer; + return a.renderTo(e, r, n, i), this; + }, 'renderTo'), + renderer: o(function () { + return this._private.renderer; + }, 'renderer'), + forceRender: o(function () { + return this.notify('draw'), this; + }, 'forceRender'), + resize: o(function () { + return this.invalidateSize(), this.emitAndNotify('resize'), this; + }, 'resize'), + initRenderer: o(function (e) { + var r = this, + n = r.extension('renderer', e.name); + if (n == null) { + oi( + 'Can not initialise: No such renderer `'.concat( + e.name, + '` found. Did you forget to import it and `cytoscape.use()` it?' + ) + ); + return; + } + e.wheelSensitivity !== void 0 && + tn( + '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 i = MKe(e); + (i.cy = r), (r._private.renderer = new n(i)), this.notify('init'); + }, 'initRenderer'), + destroyRenderer: o(function () { + var e = this; + e.notify('destroy'); + var r = e.container(); + if (r) for (r._cyreg = null; r.childNodes.length > 0; ) r.removeChild(r.childNodes[0]); + (e._private.renderer = null), + e.mutableElements().forEach(function (n) { + var i = n._private; + (i.rscratch = {}), + (i.rstyle = {}), + (i.animation.current = []), + (i.animation.queue = []); + }); + }, 'destroyRenderer'), + onRender: o(function (e) { + return this.on('render', e); + }, 'onRender'), + offRender: o(function (e) { + return this.off('render', e); + }, 'offRender') + }); + zP.invalidateDimensions = zP.resize; + b6 = { + collection: o(function (e, r) { + return zt(e) + ? this.$(e) + : xo(e) + ? e.collection() + : vn(e) + ? (r || (r = {}), new Ca(this, e, r.unique, r.removed)) + : new Ca(this); + }, 'collection'), + nodes: o(function (e) { + var r = this.$(function (n) { + return n.isNode(); + }); + return e ? r.filter(e) : r; + }, 'nodes'), + edges: o(function (e) { + var r = this.$(function (n) { + return n.isEdge(); + }); + return e ? r.filter(e) : r; + }, 'edges'), + $: o(function (e) { + var r = this._private.elements; + return e ? r.filter(e) : r.spawnSelf(); + }, '$'), + mutableElements: o(function () { + return this._private.elements; + }, 'mutableElements') + }; + b6.elements = b6.filter = b6.$; + (Ga = {}), (Fx = 't'), (IKe = 'f'); + Ga.apply = function (t) { + for (var e = this, r = e._private, n = r.cy, i = n.collection(), a = 0; a < t.length; a++) { + var s = t[a], + l = e.getContextMeta(s); + if (!l.empty) { + var u = e.getContextStyle(l), + h = e.applyContextStyle(l, u, s); + s._private.appliedInitStyle + ? e.updateTransitions(s, h.diffProps) + : (s._private.appliedInitStyle = !0); + var f = e.updateStyleHints(s); + f && i.push(s); + } + } + return i; + }; + Ga.getPropertiesDiff = function (t, e) { + var r = this, + n = (r._private.propDiffs = r._private.propDiffs || {}), + i = t + '-' + e, + a = n[i]; + if (a) return a; + for (var s = [], l = {}, u = 0; u < r.length; u++) { + var h = r[u], + f = t[u] === Fx, + d = e[u] === Fx, + p = f !== d, + m = h.mappedProperties.length > 0; + if (p || (d && m)) { + var g = void 0; + (p && m) || p ? (g = h.properties) : m && (g = h.mappedProperties); + for (var y = 0; y < g.length; y++) { + for (var v = g[y], x = v.name, b = !1, w = u + 1; w < r.length; w++) { + var S = r[w], + T = e[w] === Fx; + if (T && ((b = S.properties[v.name] != null), b)) break; + } + !l[x] && !b && ((l[x] = !0), s.push(x)); + } + } + } + return (n[i] = s), s; + }; + Ga.getContextMeta = function (t) { + for (var e = this, r = '', n, i = t._private.styleCxtKey || '', a = 0; a < e.length; a++) { + var s = e[a], + l = s.selector && s.selector.matches(t); + l ? (r += Fx) : (r += IKe); + } + return ( + (n = e.getPropertiesDiff(i, r)), + (t._private.styleCxtKey = r), + { key: r, diffPropNames: n, empty: n.length === 0 } + ); + }; + Ga.getContextStyle = function (t) { + var e = t.key, + r = this, + n = (this._private.contextStyles = this._private.contextStyles || {}); + if (n[e]) return n[e]; + for (var i = { _private: { key: e } }, a = 0; a < r.length; a++) { + var s = r[a], + l = e[a] === Fx; + if (l) + for (var u = 0; u < s.properties.length; u++) { + var h = s.properties[u]; + i[h.name] = h; + } + } + return (n[e] = i), i; + }; + Ga.applyContextStyle = function (t, e, r) { + for (var n = this, i = t.diffPropNames, a = {}, s = n.types, l = 0; l < i.length; l++) { + var u = i[l], + h = e[u], + f = r.pstyle(u); + if (!h) + if (f) f.bypass ? (h = { name: u, deleteBypassed: !0 }) : (h = { name: u, delete: !0 }); + else continue; + if (f !== h) { + if (h.mapped === s.fn && f != null && f.mapping != null && f.mapping.value === h.value) { + var d = f.mapping, + p = (d.fnValue = h.value(r)); + if (p === d.prevFnValue) continue; + } + var m = (a[u] = { prev: f }); + n.applyParsedProperty(r, h), + (m.next = r.pstyle(u)), + m.next && m.next.bypass && (m.next = m.next.bypassed); + } + } + return { diffProps: a }; + }; + Ga.updateStyleHints = function (t) { + var e = t._private, + r = this, + n = r.propertyGroupNames, + i = r.propertyGroupKeys, + a = o(function (K, se, ce) { + return r.getPropertiesHash(K, se, ce); + }, 'propHash'), + s = e.styleKey; + if (t.removed()) return !1; + var l = e.group === 'nodes', + u = t._private.style; + n = Object.keys(u); + for (var h = 0; h < i.length; h++) { + var f = i[h]; + e.styleKeys[f] = [Zg, Ix]; + } + for ( + var d = o(function (K, se) { + return (e.styleKeys[se][0] = $x(K, e.styleKeys[se][0])); + }, 'updateGrKey1'), + p = o(function (K, se) { + return (e.styleKeys[se][1] = Vx(K, e.styleKeys[se][1])); + }, 'updateGrKey2'), + m = o(function (K, se) { + d(K, se), p(K, se); + }, 'updateGrKey'), + g = o(function (K, se) { + for (var ce = 0; ce < K.length; ce++) { + var ue = K.charCodeAt(ce); + d(ue, se), p(ue, se); + } + }, 'updateGrKeyWStr'), + y = 2e9, + v = o(function (K) { + return -128 < K && K < 128 && Math.floor(K) !== K ? y - ((K * 1024) | 0) : K; + }, 'cleanNum'), + x = 0; + x < n.length; + x++ + ) { + var b = n[x], + w = u[b]; + if (w != null) { + var S = this.properties[b], + T = S.type, + E = S.groupKey, + _ = void 0; + S.hashOverride != null ? (_ = S.hashOverride(t, w)) : w.pfValue != null && (_ = w.pfValue); + var A = S.enums == null ? w.value : null, + L = _ != null, + M = A != null, + N = L || M, + k = w.units; + if (T.number && N && !T.multiple) { + var I = L ? _ : A; + m(v(I), E), !L && k != null && g(k, E); + } else g(w.strValue, E); + } + } + for (var C = [Zg, Ix], O = 0; O < i.length; O++) { + var D = i[O], + P = e.styleKeys[D]; + (C[0] = $x(P[0], C[0])), (C[1] = Vx(P[1], C[1])); + } + e.styleKey = zYe(C[0], C[1]); + var F = e.styleKeys; + e.labelDimsKey = bf(F.labelDimensions); + var B = a(t, ['label'], F.labelDimensions); + if (((e.labelKey = bf(B)), (e.labelStyleKey = bf(r6(F.commonLabel, B))), !l)) { + var $ = a(t, ['source-label'], F.labelDimensions); + (e.sourceLabelKey = bf($)), (e.sourceLabelStyleKey = bf(r6(F.commonLabel, $))); + var z = a(t, ['target-label'], F.labelDimensions); + (e.targetLabelKey = bf(z)), (e.targetLabelStyleKey = bf(r6(F.commonLabel, z))); + } + if (l) { + var Y = e.styleKeys, + Q = Y.nodeBody, + X = Y.nodeBorder, + ie = Y.nodeOutline, + j = Y.backgroundImage, + J = Y.compound, + Z = Y.pie, + H = [Q, X, ie, j, J, Z] + .filter(function (q) { + return q != null; + }) + .reduce(r6, [Zg, Ix]); + (e.nodeKey = bf(H)), (e.hasPie = Z != null && Z[0] !== Zg && Z[1] !== Ix); + } + return s !== e.styleKey; + }; + Ga.clearStyleHints = function (t) { + var e = t._private; + (e.styleCxtKey = ''), + (e.styleKeys = {}), + (e.styleKey = null), + (e.labelKey = null), + (e.labelStyleKey = null), + (e.sourceLabelKey = null), + (e.sourceLabelStyleKey = null), + (e.targetLabelKey = null), + (e.targetLabelStyleKey = null), + (e.nodeKey = null), + (e.hasPie = null); + }; + Ga.applyParsedProperty = function (t, e) { + var r = this, + n = e, + i = t._private.style, + a, + s = r.types, + l = r.properties[n.name].type, + u = n.bypass, + h = i[n.name], + f = h && h.bypass, + d = t._private, + p = 'mapping', + m = o(function (Q) { + return Q == null ? null : Q.pfValue != null ? Q.pfValue : Q.value; + }, 'getVal'), + g = o(function () { + var Q = m(h), + X = m(n); + r.checkTriggers(t, n.name, Q, X); + }, 'checkTriggers'); + if ( + (e.name === 'curve-style' && + t.isEdge() && + ((e.value !== 'bezier' && t.isLoop()) || + (e.value === 'haystack' && (t.source().isParent() || t.target().isParent()))) && + (n = e = this.parse(e.name, 'bezier', u)), + n.delete) + ) + return (i[n.name] = void 0), g(), !0; + if (n.deleteBypassed) return h ? (h.bypass ? ((h.bypassed = void 0), g(), !0) : !1) : (g(), !0); + if (n.deleteBypass) return h ? (h.bypass ? ((i[n.name] = h.bypassed), g(), !0) : !1) : (g(), !0); + var y = o(function () { + tn( + 'Do not assign mappings to elements without corresponding data (i.e. ele `' + + t.id() + + '` has no mapping for property `' + + n.name + + '` with data field `' + + n.field + + '`); try a `[' + + n.field + + ']` selector to limit scope to elements with `' + + n.field + + '` defined' + ); + }, 'printMappingErr'); + switch (n.mapped) { + case s.mapData: { + for (var v = n.field.split('.'), x = d.data, b = 0; b < v.length && x; b++) { + var w = v[b]; + x = x[w]; + } + if (x == null) return y(), !1; + var S; + if (ft(x)) { + var T = n.fieldMax - n.fieldMin; + T === 0 ? (S = 0) : (S = (x - n.fieldMin) / T); + } else + return ( + tn( + 'Do not use continuous mappers without specifying numeric data (i.e. `' + + n.field + + ': ' + + x + + '` for `' + + t.id() + + '` is non-numeric)' + ), + !1 + ); + if ((S < 0 ? (S = 0) : S > 1 && (S = 1), l.color)) { + var E = n.valueMin[0], + _ = n.valueMax[0], + A = n.valueMin[1], + L = n.valueMax[1], + M = n.valueMin[2], + N = n.valueMax[2], + k = n.valueMin[3] == null ? 1 : n.valueMin[3], + I = n.valueMax[3] == null ? 1 : n.valueMax[3], + C = [ + Math.round(E + (_ - E) * S), + Math.round(A + (L - A) * S), + Math.round(M + (N - M) * S), + Math.round(k + (I - k) * S) + ]; + a = { + bypass: n.bypass, + name: n.name, + value: C, + strValue: 'rgb(' + C[0] + ', ' + C[1] + ', ' + C[2] + ')' + }; + } else if (l.number) { + var O = n.valueMin + (n.valueMax - n.valueMin) * S; + a = this.parse(n.name, O, n.bypass, p); + } else return !1; + if (!a) return y(), !1; + (a.mapping = n), (n = a); + break; + } + case s.data: { + for (var D = n.field.split('.'), P = d.data, F = 0; F < D.length && P; F++) { + var B = D[F]; + P = P[B]; + } + if ((P != null && (a = this.parse(n.name, P, n.bypass, p)), !a)) return y(), !1; + (a.mapping = n), (n = a); + break; + } + case s.fn: { + var $ = n.value, + z = n.fnValue != null ? n.fnValue : $(t); + if (((n.prevFnValue = z), z == null)) + return ( + tn( + 'Custom function mappers may not return null (i.e. `' + + n.name + + '` for ele `' + + t.id() + + '` is null)' + ), + !1 + ); + if (((a = this.parse(n.name, z, n.bypass, p)), !a)) + return ( + tn( + 'Custom function mappers may not return invalid values for the property type (i.e. `' + + n.name + + '` for ele `' + + t.id() + + '` is invalid)' + ), + !1 + ); + (a.mapping = $c(n)), (n = a); + break; + } + case void 0: + break; + default: + return !1; + } + return ( + u + ? (f ? (n.bypassed = h.bypassed) : (n.bypassed = h), (i[n.name] = n)) + : f + ? (h.bypassed = n) + : (i[n.name] = n), + g(), + !0 + ); + }; + Ga.cleanElements = function (t, e) { + for (var r = 0; r < t.length; r++) { + var n = t[r]; + if ((this.clearStyleHints(n), n.dirtyCompoundBoundsCache(), n.dirtyBoundingBoxCache(), !e)) + n._private.style = {}; + else + for (var i = n._private.style, a = Object.keys(i), s = 0; s < a.length; s++) { + var l = a[s], + u = i[l]; + u != null && (u.bypass ? (u.bypassed = null) : (i[l] = null)); + } + } + }; + Ga.update = function () { + var t = this._private.cy, + e = t.mutableElements(); + e.updateStyle(); + }; + Ga.updateTransitions = function (t, e) { + var r = this, + n = t._private, + i = t.pstyle('transition-property').value, + a = t.pstyle('transition-duration').pfValue, + s = t.pstyle('transition-delay').pfValue; + if (i.length > 0 && a > 0) { + for (var l = {}, u = !1, h = 0; h < i.length; h++) { + var f = i[h], + d = t.pstyle(f), + p = e[f]; + if (p) { + var m = p.prev, + g = m, + y = p.next != null ? p.next : d, + v = !1, + x = void 0, + b = 1e-6; + g && + (ft(g.pfValue) && ft(y.pfValue) + ? ((v = y.pfValue - g.pfValue), (x = g.pfValue + b * v)) + : ft(g.value) && ft(y.value) + ? ((v = y.value - g.value), (x = g.value + b * v)) + : vn(g.value) && + vn(y.value) && + ((v = + g.value[0] !== y.value[0] || + g.value[1] !== y.value[1] || + g.value[2] !== y.value[2]), + (x = g.strValue)), + v && ((l[f] = y.strValue), this.applyBypass(t, f, x), (u = !0))); + } + } + if (!u) return; + (n.transitioning = !0), + new u1(function (w) { + s > 0 ? t.delayAnimation(s).play().promise().then(w) : w(); + }) + .then(function () { + return t + .animation({ + style: l, + duration: a, + easing: t.pstyle('transition-timing-function').value, + queue: !1 + }) + .play() + .promise(); + }) + .then(function () { + r.removeBypasses(t, i), t.emitAndNotify('style'), (n.transitioning = !1); + }); + } else n.transitioning && (this.removeBypasses(t, i), t.emitAndNotify('style'), (n.transitioning = !1)); + }; + Ga.checkTrigger = function (t, e, r, n, i, a) { + var s = this.properties[e], + l = i(s); + l != null && l(r, n) && a(s); + }; + Ga.checkZOrderTrigger = function (t, e, r, n) { + var i = this; + this.checkTrigger( + t, + e, + r, + n, + function (a) { + return a.triggersZOrder; + }, + function () { + i._private.cy.notify('zorder', t); + } + ); + }; + Ga.checkBoundsTrigger = function (t, e, r, n) { + this.checkTrigger( + t, + e, + r, + n, + function (i) { + return i.triggersBounds; + }, + function (i) { + t.dirtyCompoundBoundsCache(), + t.dirtyBoundingBoxCache(), + i.triggersBoundsOfParallelBeziers && + e === 'curve-style' && + (r === 'bezier' || n === 'bezier') && + t.parallelEdges().forEach(function (a) { + a.isBundledBezier() && a.dirtyBoundingBoxCache(); + }), + i.triggersBoundsOfConnectedEdges && + e === 'display' && + (r === 'none' || n === 'none') && + t.connectedEdges().forEach(function (a) { + a.dirtyBoundingBoxCache(); + }); + } + ); + }; + Ga.checkTriggers = function (t, e, r, n) { + t.dirtyStyleCache(), this.checkZOrderTrigger(t, e, r, n), this.checkBoundsTrigger(t, e, r, n); + }; + rb = {}; + rb.applyBypass = function (t, e, r, n) { + var i = this, + a = [], + s = !0; + if (e === '*' || e === '**') { + if (r !== void 0) + for (var l = 0; l < i.properties.length; l++) { + var u = i.properties[l], + h = u.name, + f = this.parse(h, r, !0); + f && a.push(f); + } + } else if (zt(e)) { + var d = this.parse(e, r, !0); + d && a.push(d); + } else if (Mr(e)) { + var p = e; + n = r; + for (var m = Object.keys(p), g = 0; g < m.length; g++) { + var y = m[g], + v = p[y]; + if ((v === void 0 && (v = p[I6(y)]), v !== void 0)) { + var x = this.parse(y, v, !0); + x && a.push(x); + } + } + } else return !1; + if (a.length === 0) return !1; + for (var b = !1, w = 0; w < t.length; w++) { + for (var S = t[w], T = {}, E = void 0, _ = 0; _ < a.length; _++) { + var A = a[_]; + if (n) { + var L = S.pstyle(A.name); + E = T[A.name] = { prev: L }; + } + (b = this.applyParsedProperty(S, $c(A)) || b), n && (E.next = S.pstyle(A.name)); + } + b && this.updateStyleHints(S), n && this.updateTransitions(S, T, s); + } + return b; + }; + rb.overrideBypass = function (t, e, r) { + e = QP(e); + for (var n = 0; n < t.length; n++) { + var i = t[n], + a = i._private.style[e], + s = this.properties[e].type, + l = s.color, + u = s.mutiple, + h = a ? (a.pfValue != null ? a.pfValue : a.value) : null; + !a || !a.bypass + ? this.applyBypass(i, e, r) + : ((a.value = r), + a.pfValue != null && (a.pfValue = r), + l + ? (a.strValue = 'rgb(' + r.join(',') + ')') + : u + ? (a.strValue = r.join(' ')) + : (a.strValue = '' + r), + this.updateStyleHints(i)), + this.checkTriggers(i, e, h, r); + } + }; + rb.removeAllBypasses = function (t, e) { + return this.removeBypasses(t, this.propertyNames, e); + }; + rb.removeBypasses = function (t, e, r) { + for (var n = !0, i = 0; i < t.length; i++) { + for (var a = t[i], s = {}, l = 0; l < e.length; l++) { + var u = e[l], + h = this.properties[u], + f = a.pstyle(h.name); + if (!(!f || !f.bypass)) { + var d = '', + p = this.parse(u, d, !0), + m = (s[h.name] = { prev: f }); + this.applyParsedProperty(a, p), (m.next = a.pstyle(h.name)); + } + } + this.updateStyleHints(a), r && this.updateTransitions(a, s, n); + } + }; + hB = {}; + hB.getEmSizeInPixels = function () { + var t = this.containerCss('font-size'); + return t != null ? parseFloat(t) : 1; + }; + hB.containerCss = function (t) { + var e = this._private.cy, + r = e.container(), + n = e.window(); + if (n && r && n.getComputedStyle) return n.getComputedStyle(r).getPropertyValue(t); + }; + Uc = {}; + Uc.getRenderedStyle = function (t, e) { + return e ? this.getStylePropertyValue(t, e, !0) : this.getRawStyle(t, !0); + }; + Uc.getRawStyle = function (t, e) { + var r = this; + if (((t = t[0]), t)) { + for (var n = {}, i = 0; i < r.properties.length; i++) { + var a = r.properties[i], + s = r.getStylePropertyValue(t, a.name, e); + s != null && ((n[a.name] = s), (n[I6(a.name)] = s)); + } + return n; + } + }; + Uc.getIndexedStyle = function (t, e, r, n) { + var i = t.pstyle(e)[r][n]; + return i ?? t.cy().style().getDefaultProperty(e)[r][0]; + }; + Uc.getStylePropertyValue = function (t, e, r) { + var n = this; + if (((t = t[0]), t)) { + var i = n.properties[e]; + i.alias && (i = i.pointsTo); + var a = i.type, + s = t.pstyle(i.name); + if (s) { + var l = s.value, + u = s.units, + h = s.strValue; + if (r && a.number && l != null && ft(l)) { + var f = t.cy().zoom(), + d = o(function (v) { + return v * f; + }, 'getRenderedValue'), + p = o(function (v, x) { + return d(v) + x; + }, 'getValueStringWithUnits'), + m = vn(l), + g = m + ? u.every(function (y) { + return y != null; + }) + : u != null; + return g + ? m + ? l + .map(function (y, v) { + return p(y, u[v]); + }) + .join(' ') + : p(l, u) + : m + ? l + .map(function (y) { + return zt(y) ? y : '' + d(y); + }) + .join(' ') + : '' + d(l); + } else if (h != null) return h; + } + return null; + } + }; + Uc.getAnimationStartStyle = function (t, e) { + for (var r = {}, n = 0; n < e.length; n++) { + var i = e[n], + a = i.name, + s = t.pstyle(a); + s !== void 0 && (Mr(s) ? (s = this.parse(a, s.strValue)) : (s = this.parse(a, s))), s && (r[a] = s); + } + return r; + }; + Uc.getPropsList = function (t) { + var e = this, + r = [], + n = t, + i = e.properties; + if (n) + for (var a = Object.keys(n), s = 0; s < a.length; s++) { + var l = a[s], + u = n[l], + h = i[l] || i[QP(l)], + f = this.parse(h.name, u); + f && r.push(f); + } + return r; + }; + Uc.getNonDefaultPropertiesHash = function (t, e, r) { + var n = r.slice(), + i, + a, + s, + l, + u, + h; + for (u = 0; u < e.length; u++) + if (((i = e[u]), (a = t.pstyle(i, !1)), a != null)) + if (a.pfValue != null) (n[0] = $x(l, n[0])), (n[1] = Vx(l, n[1])); + else + for (s = a.strValue, h = 0; h < s.length; h++) + (l = s.charCodeAt(h)), (n[0] = $x(l, n[0])), (n[1] = Vx(l, n[1])); + return n; + }; + Uc.getPropertiesHash = Uc.getNonDefaultPropertiesHash; + q6 = {}; + q6.appendFromJson = function (t) { + for (var e = this, r = 0; r < t.length; r++) { + var n = t[r], + i = n.selector, + a = n.style || n.css, + s = Object.keys(a); + e.selector(i); + for (var l = 0; l < s.length; l++) { + var u = s[l], + h = a[u]; + e.css(u, h); + } + } + return e; + }; + q6.fromJson = function (t) { + var e = this; + return e.resetToDefault(), e.appendFromJson(t), e; + }; + q6.json = function () { + for (var t = [], e = this.defaultLength; e < this.length; e++) { + for (var r = this[e], n = r.selector, i = r.properties, a = {}, s = 0; s < i.length; s++) { + var l = i[s]; + a[l.name] = l.strValue; + } + t.push({ selector: n ? n.toString() : 'core', style: a }); + } + return t; + }; + fB = {}; + fB.appendFromString = function (t) { + var e = this, + r = this, + n = '' + t, + i, + a, + s; + n = n.replace(/[/][*](\s|.)+?[*][/]/g, ''); + function l() { + n.length > i.length ? (n = n.substr(i.length)) : (n = ''); + } + o(l, 'removeSelAndBlockFromRemaining'); + function u() { + a.length > s.length ? (a = a.substr(s.length)) : (a = ''); + } + for (o(u, 'removePropAndValFromRem'); ; ) { + var h = n.match(/^\s*$/); + if (h) break; + var f = n.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/); + if (!f) { + tn( + 'Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: ' + + n + ); + break; + } + i = f[0]; + var d = f[1]; + if (d !== 'core') { + var p = new _f(d); + if (p.invalid) { + tn('Skipping parsing of block: Invalid selector found in string stylesheet: ' + d), l(); + continue; + } + } + var m = f[2], + g = !1; + a = m; + for (var y = []; ; ) { + var v = a.match(/^\s*$/); + if (v) break; + var x = a.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/); + if (!x) { + tn( + 'Skipping parsing of block: Invalid formatting of style property and value definitions found in:' + + m + ), + (g = !0); + break; + } + s = x[0]; + var b = x[1], + w = x[2], + S = e.properties[b]; + if (!S) { + tn('Skipping property: Invalid property name in: ' + s), u(); + continue; + } + var T = r.parse(b, w); + if (!T) { + tn('Skipping property: Invalid property definition in: ' + s), u(); + continue; + } + y.push({ name: b, val: w }), u(); + } + if (g) { + l(); + break; + } + r.selector(d); + for (var E = 0; E < y.length; E++) { + var _ = y[E]; + r.css(_.name, _.val); + } + l(); + } + return r; + }; + fB.fromString = function (t) { + var e = this; + return e.resetToDefault(), e.appendFromString(t), e; + }; + ka = {}; + (function () { + var t = Ui, + e = VHe, + r = HHe, + n = YHe, + i = WHe, + a = o(function (H) { + return '^' + H + '\\s*\\(\\s*([\\w\\.]+)\\s*\\)$'; + }, 'data'), + s = o(function (H) { + var q = t + '|\\w+|' + e + '|' + r + '|' + n + '|' + i; + return ( + '^' + + H + + '\\s*\\(([\\w\\.]+)\\s*\\,\\s*(' + + t + + ')\\s*\\,\\s*(' + + t + + ')\\s*,\\s*(' + + q + + ')\\s*\\,\\s*(' + + q + + ')\\)$' + ); + }, 'mapData'), + l = [`^url\\s*\\(\\s*['"]?(.+?)['"]?\\s*\\)$`, '^(none)$', '^(.+)$']; + ka.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 }, + bidirectionalSizeMaybePercent: { number: !0, allowPercent: !0 }, + bidirectionalSizes: { number: !0, multiple: !0 }, + 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'] }, + linePosition: { enums: ['center', 'inside', 'outside'] }, + lineJoin: { enums: ['round', 'bevel', 'miter'] }, + borderStyle: { enums: ['solid', 'dotted', 'dashed', 'double'] }, + curveStyle: { + enums: [ + 'bezier', + 'unbundled-bezier', + 'haystack', + 'segments', + 'straight', + 'straight-triangle', + 'taxi', + 'round-segments', + 'round-taxi' + ] + }, + radiusType: { + enums: ['arc-radius', 'influence-radius'], + multiple: !0 + }, + 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'] + }, + cornerRadius: { + number: !0, + min: 0, + units: 'px|em', + implicitUnits: 'px', + enums: ['auto'] + }, + 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'] }, + arrowWidth: { + number: !0, + units: '%|px|em', + implicitUnits: 'px', + enums: ['match-line'] + }, + 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: a('data') }, + layoutData: { mapping: !0, regex: a('layoutData') }, + scratch: { mapping: !0, regex: a('scratch') }, + mapData: { mapping: !0, regex: s('mapData') }, + mapLayoutData: { mapping: !0, regex: s('mapLayoutData') }, + mapScratch: { mapping: !0, regex: s('mapScratch') }, + fn: { mapping: !0, fn: !0 }, + url: { regexes: l, singleRegexMatchValue: !0 }, + urls: { regexes: l, 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: o(function (H, q) { + switch (H.length) { + case 2: + return q[0] !== 'deg' && q[0] !== 'rad' && q[1] !== 'deg' && q[1] !== 'rad'; + case 1: + return zt(H[0]) || q[0] === 'deg' || q[0] === 'rad'; + default: + return !1; + } + }, 'validate') + }, + easing: { + regexes: [ + '^(spring)\\s*\\(\\s*(' + t + ')\\s*,\\s*(' + t + ')\\s*\\)$', + '^(cubic-bezier)\\s*\\(\\s*(' + + t + + ')\\s*,\\s*(' + + t + + ')\\s*,\\s*(' + + t + + ')\\s*,\\s*(' + + t + + ')\\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' + ] + }, + boundsExpansion: { + number: !0, + multiple: !0, + min: 0, + validate: o(function (H) { + var q = H.length; + return q === 1 || q === 2 || q === 4; + }, 'validate') + } + }; + var u = { + zeroNonZero: o(function (H, q) { + return ((H == null || q == null) && H !== q) || (H == 0 && q != 0) ? !0 : H != 0 && q == 0; + }, 'zeroNonZero'), + any: o(function (H, q) { + return H != q; + }, 'any'), + emptyNonEmpty: o(function (H, q) { + var K = Sf(H), + se = Sf(q); + return (K && !se) || (!K && se); + }, 'emptyNonEmpty') + }, + h = ka.types, + f = [ + { + name: 'label', + type: h.text, + triggersBounds: u.any, + triggersZOrder: u.emptyNonEmpty + }, + { + name: 'text-rotation', + type: h.textRotation, + triggersBounds: u.any + }, + { + name: 'text-margin-x', + type: h.bidirectionalSize, + triggersBounds: u.any + }, + { + name: 'text-margin-y', + type: h.bidirectionalSize, + triggersBounds: u.any + } + ], + d = [ + { name: 'source-label', type: h.text, triggersBounds: u.any }, + { + name: 'source-text-rotation', + type: h.textRotation, + triggersBounds: u.any + }, + { + name: 'source-text-margin-x', + type: h.bidirectionalSize, + triggersBounds: u.any + }, + { + name: 'source-text-margin-y', + type: h.bidirectionalSize, + triggersBounds: u.any + }, + { name: 'source-text-offset', type: h.size, triggersBounds: u.any } + ], + p = [ + { name: 'target-label', type: h.text, triggersBounds: u.any }, + { + name: 'target-text-rotation', + type: h.textRotation, + triggersBounds: u.any + }, + { + name: 'target-text-margin-x', + type: h.bidirectionalSize, + triggersBounds: u.any + }, + { + name: 'target-text-margin-y', + type: h.bidirectionalSize, + triggersBounds: u.any + }, + { name: 'target-text-offset', type: h.size, triggersBounds: u.any } + ], + m = [ + { name: 'font-family', type: h.fontFamily, triggersBounds: u.any }, + { name: 'font-style', type: h.fontStyle, triggersBounds: u.any }, + { name: 'font-weight', type: h.fontWeight, triggersBounds: u.any }, + { name: 'font-size', type: h.size, triggersBounds: u.any }, + { + name: 'text-transform', + type: h.textTransform, + triggersBounds: u.any + }, + { name: 'text-wrap', type: h.textWrap, triggersBounds: u.any }, + { + name: 'text-overflow-wrap', + type: h.textOverflowWrap, + triggersBounds: u.any + }, + { name: 'text-max-width', type: h.size, triggersBounds: u.any }, + { name: 'text-outline-width', type: h.size, triggersBounds: u.any }, + { + name: 'line-height', + type: h.positiveNumber, + triggersBounds: u.any + } + ], + g = [ + { name: 'text-valign', type: h.valign, triggersBounds: u.any }, + { name: 'text-halign', type: h.halign, triggersBounds: u.any }, + { name: 'color', type: h.color }, + { name: 'text-outline-color', type: h.color }, + { name: 'text-outline-opacity', type: h.zeroOneNumber }, + { name: 'text-background-color', type: h.color }, + { name: 'text-background-opacity', type: h.zeroOneNumber }, + { + name: 'text-background-padding', + type: h.size, + triggersBounds: u.any + }, + { name: 'text-border-opacity', type: h.zeroOneNumber }, + { name: 'text-border-color', type: h.color }, + { name: 'text-border-width', type: h.size, triggersBounds: u.any }, + { + name: 'text-border-style', + type: h.borderStyle, + triggersBounds: u.any + }, + { + name: 'text-background-shape', + type: h.textBackgroundShape, + triggersBounds: u.any + }, + { name: 'text-justification', type: h.justification } + ], + y = [ + { name: 'events', type: h.bool, triggersZOrder: u.any }, + { name: 'text-events', type: h.bool, triggersZOrder: u.any } + ], + v = [ + { + name: 'display', + type: h.display, + triggersZOrder: u.any, + triggersBounds: u.any, + triggersBoundsOfConnectedEdges: !0 + }, + { name: 'visibility', type: h.visibility, triggersZOrder: u.any }, + { + name: 'opacity', + type: h.zeroOneNumber, + triggersZOrder: u.zeroNonZero + }, + { name: 'text-opacity', type: h.zeroOneNumber }, + { name: 'min-zoomed-font-size', type: h.size }, + { + name: 'z-compound-depth', + type: h.zCompoundDepth, + triggersZOrder: u.any + }, + { + name: 'z-index-compare', + type: h.zIndexCompare, + triggersZOrder: u.any + }, + { name: 'z-index', type: h.number, triggersZOrder: u.any } + ], + x = [ + { name: 'overlay-padding', type: h.size, triggersBounds: u.any }, + { name: 'overlay-color', type: h.color }, + { + name: 'overlay-opacity', + type: h.zeroOneNumber, + triggersBounds: u.zeroNonZero + }, + { + name: 'overlay-shape', + type: h.overlayShape, + triggersBounds: u.any + }, + { name: 'overlay-corner-radius', type: h.cornerRadius } + ], + b = [ + { name: 'underlay-padding', type: h.size, triggersBounds: u.any }, + { name: 'underlay-color', type: h.color }, + { + name: 'underlay-opacity', + type: h.zeroOneNumber, + triggersBounds: u.zeroNonZero + }, + { + name: 'underlay-shape', + type: h.overlayShape, + triggersBounds: u.any + }, + { name: 'underlay-corner-radius', type: h.cornerRadius } + ], + w = [ + { name: 'transition-property', type: h.propList }, + { name: 'transition-duration', type: h.time }, + { name: 'transition-delay', type: h.time }, + { name: 'transition-timing-function', type: h.easing } + ], + S = o(function (H, q) { + return q.value === 'label' ? -H.poolIndex() : q.pfValue; + }, 'nodeSizeHashOverride'), + T = [ + { + name: 'height', + type: h.nodeSize, + triggersBounds: u.any, + hashOverride: S + }, + { + name: 'width', + type: h.nodeSize, + triggersBounds: u.any, + hashOverride: S + }, + { name: 'shape', type: h.nodeShape, triggersBounds: u.any }, + { + name: 'shape-polygon-points', + type: h.polygonPointList, + triggersBounds: u.any + }, + { name: 'corner-radius', type: h.cornerRadius }, + { name: 'background-color', type: h.color }, + { name: 'background-fill', type: h.fill }, + { name: 'background-opacity', type: h.zeroOneNumber }, + { name: 'background-blacken', type: h.nOneOneNumber }, + { name: 'background-gradient-stop-colors', type: h.colors }, + { name: 'background-gradient-stop-positions', type: h.percentages }, + { + name: 'background-gradient-direction', + type: h.gradientDirection + }, + { + name: 'padding', + type: h.sizeMaybePercent, + triggersBounds: u.any + }, + { + name: 'padding-relative-to', + type: h.paddingRelativeTo, + triggersBounds: u.any + }, + { + name: 'bounds-expansion', + type: h.boundsExpansion, + triggersBounds: u.any + } + ], + E = [ + { name: 'border-color', type: h.color }, + { name: 'border-opacity', type: h.zeroOneNumber }, + { name: 'border-width', type: h.size, triggersBounds: u.any }, + { name: 'border-style', type: h.borderStyle }, + { name: 'border-cap', type: h.lineCap }, + { name: 'border-join', type: h.lineJoin }, + { name: 'border-dash-pattern', type: h.numbers }, + { name: 'border-dash-offset', type: h.number }, + { name: 'border-position', type: h.linePosition } + ], + _ = [ + { name: 'outline-color', type: h.color }, + { name: 'outline-opacity', type: h.zeroOneNumber }, + { name: 'outline-width', type: h.size, triggersBounds: u.any }, + { name: 'outline-style', type: h.borderStyle }, + { name: 'outline-offset', type: h.size, triggersBounds: u.any } + ], + A = [ + { name: 'background-image', type: h.urls }, + { name: 'background-image-crossorigin', type: h.bgCrossOrigin }, + { name: 'background-image-opacity', type: h.zeroOneNumbers }, + { name: 'background-image-containment', type: h.bgContainment }, + { name: 'background-image-smoothing', type: h.bools }, + { name: 'background-position-x', type: h.bgPos }, + { name: 'background-position-y', type: h.bgPos }, + { name: 'background-width-relative-to', type: h.bgRelativeTo }, + { name: 'background-height-relative-to', type: h.bgRelativeTo }, + { name: 'background-repeat', type: h.bgRepeat }, + { name: 'background-fit', type: h.bgFit }, + { name: 'background-clip', type: h.bgClip }, + { name: 'background-width', type: h.bgWH }, + { name: 'background-height', type: h.bgWH }, + { name: 'background-offset-x', type: h.bgPos }, + { name: 'background-offset-y', type: h.bgPos } + ], + L = [ + { name: 'position', type: h.position, triggersBounds: u.any }, + { + name: 'compound-sizing-wrt-labels', + type: h.compoundIncludeLabels, + triggersBounds: u.any + }, + { name: 'min-width', type: h.size, triggersBounds: u.any }, + { + name: 'min-width-bias-left', + type: h.sizeMaybePercent, + triggersBounds: u.any + }, + { + name: 'min-width-bias-right', + type: h.sizeMaybePercent, + triggersBounds: u.any + }, + { name: 'min-height', type: h.size, triggersBounds: u.any }, + { + name: 'min-height-bias-top', + type: h.sizeMaybePercent, + triggersBounds: u.any + }, + { + name: 'min-height-bias-bottom', + type: h.sizeMaybePercent, + triggersBounds: u.any + } + ], + M = [ + { name: 'line-style', type: h.lineStyle }, + { name: 'line-color', type: h.color }, + { name: 'line-fill', type: h.fill }, + { name: 'line-cap', type: h.lineCap }, + { name: 'line-opacity', type: h.zeroOneNumber }, + { name: 'line-dash-pattern', type: h.numbers }, + { name: 'line-dash-offset', type: h.number }, + { name: 'line-outline-width', type: h.size }, + { name: 'line-outline-color', type: h.color }, + { name: 'line-gradient-stop-colors', type: h.colors }, + { name: 'line-gradient-stop-positions', type: h.percentages }, + { + name: 'curve-style', + type: h.curveStyle, + triggersBounds: u.any, + triggersBoundsOfParallelBeziers: !0 + }, + { + name: 'haystack-radius', + type: h.zeroOneNumber, + triggersBounds: u.any + }, + { + name: 'source-endpoint', + type: h.edgeEndpoint, + triggersBounds: u.any + }, + { + name: 'target-endpoint', + type: h.edgeEndpoint, + triggersBounds: u.any + }, + { + name: 'control-point-step-size', + type: h.size, + triggersBounds: u.any + }, + { + name: 'control-point-distances', + type: h.bidirectionalSizes, + triggersBounds: u.any + }, + { + name: 'control-point-weights', + type: h.numbers, + triggersBounds: u.any + }, + { + name: 'segment-distances', + type: h.bidirectionalSizes, + triggersBounds: u.any + }, + { name: 'segment-weights', type: h.numbers, triggersBounds: u.any }, + { name: 'segment-radii', type: h.numbers, triggersBounds: u.any }, + { name: 'radius-type', type: h.radiusType, triggersBounds: u.any }, + { + name: 'taxi-turn', + type: h.bidirectionalSizeMaybePercent, + triggersBounds: u.any + }, + { + name: 'taxi-turn-min-distance', + type: h.size, + triggersBounds: u.any + }, + { + name: 'taxi-direction', + type: h.axisDirection, + triggersBounds: u.any + }, + { name: 'taxi-radius', type: h.number, triggersBounds: u.any }, + { + name: 'edge-distances', + type: h.edgeDistances, + triggersBounds: u.any + }, + { + name: 'arrow-scale', + type: h.positiveNumber, + triggersBounds: u.any + }, + { name: 'loop-direction', type: h.angle, triggersBounds: u.any }, + { name: 'loop-sweep', type: h.angle, triggersBounds: u.any }, + { + name: 'source-distance-from-node', + type: h.size, + triggersBounds: u.any + }, + { + name: 'target-distance-from-node', + type: h.size, + triggersBounds: u.any + } + ], + N = [ + { name: 'ghost', type: h.bool, triggersBounds: u.any }, + { + name: 'ghost-offset-x', + type: h.bidirectionalSize, + triggersBounds: u.any + }, + { + name: 'ghost-offset-y', + type: h.bidirectionalSize, + triggersBounds: u.any + }, + { name: 'ghost-opacity', type: h.zeroOneNumber } + ], + k = [ + { name: 'selection-box-color', type: h.color }, + { name: 'selection-box-opacity', type: h.zeroOneNumber }, + { name: 'selection-box-border-color', type: h.color }, + { name: 'selection-box-border-width', type: h.size }, + { name: 'active-bg-color', type: h.color }, + { name: 'active-bg-opacity', type: h.zeroOneNumber }, + { name: 'active-bg-size', type: h.size }, + { name: 'outside-texture-bg-color', type: h.color }, + { name: 'outside-texture-bg-opacity', type: h.zeroOneNumber } + ], + I = []; + (ka.pieBackgroundN = 16), I.push({ name: 'pie-size', type: h.sizeMaybePercent }); + for (var C = 1; C <= ka.pieBackgroundN; C++) + I.push({ name: 'pie-' + C + '-background-color', type: h.color }), + I.push({ name: 'pie-' + C + '-background-size', type: h.percent }), + I.push({ + name: 'pie-' + C + '-background-opacity', + type: h.zeroOneNumber + }); + var O = [], + D = (ka.arrowPrefixes = ['source', 'mid-source', 'target', 'mid-target']); + [ + { name: 'arrow-shape', type: h.arrowShape, triggersBounds: u.any }, + { name: 'arrow-color', type: h.color }, + { name: 'arrow-fill', type: h.arrowFill }, + { name: 'arrow-width', type: h.arrowWidth } + ].forEach(function (Z) { + D.forEach(function (H) { + var q = H + '-' + Z.name, + K = Z.type, + se = Z.triggersBounds; + O.push({ name: q, type: K, triggersBounds: se }); + }); + }, {}); + var P = (ka.properties = [].concat(y, w, v, x, b, N, g, m, f, d, p, T, E, _, A, I, L, M, O, k)), + F = (ka.propertyGroups = { + behavior: y, + transition: w, + visibility: v, + overlay: x, + underlay: b, + ghost: N, + commonLabel: g, + labelDimensions: m, + mainLabel: f, + sourceLabel: d, + targetLabel: p, + nodeBody: T, + nodeBorder: E, + nodeOutline: _, + backgroundImage: A, + pie: I, + compound: L, + edgeLine: M, + edgeArrow: O, + core: k + }), + B = (ka.propertyGroupNames = {}), + $ = (ka.propertyGroupKeys = Object.keys(F)); + $.forEach(function (Z) { + (B[Z] = F[Z].map(function (H) { + return H.name; + })), + F[Z].forEach(function (H) { + return (H.groupKey = Z); + }); + }); + var z = (ka.aliases = [ + { name: 'content', pointsTo: 'label' }, + { + name: 'control-point-distance', + pointsTo: 'control-point-distances' + }, + { name: 'control-point-weight', pointsTo: 'control-point-weights' }, + { name: 'segment-distance', pointsTo: 'segment-distances' }, + { name: 'segment-weight', pointsTo: 'segment-weights' }, + { name: 'segment-radius', pointsTo: 'segment-radii' }, + { 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' } + ]); + ka.propertyNames = P.map(function (Z) { + return Z.name; + }); + for (var Y = 0; Y < P.length; Y++) { + var Q = P[Y]; + P[Q.name] = Q; + } + for (var X = 0; X < z.length; X++) { + var ie = z[X], + j = P[ie.pointsTo], + J = { name: ie.name, alias: !0, pointsTo: j }; + P.push(J), (P[ie.name] = J); + } + })(); + ka.getDefaultProperty = function (t) { + return this.getDefaultProperties()[t]; + }; + ka.getDefaultProperties = function () { + var t = this._private; + if (t.defaultProperties != null) return t.defaultProperties; + for ( + var e = Wt( + { + '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, + 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', + 'overlay-corner-radius': 'auto', + 'underlay-opacity': 0, + 'underlay-color': '#000', + 'underlay-padding': 10, + 'underlay-shape': 'round-rectangle', + 'underlay-corner-radius': 'auto', + 'transition-property': 'none', + 'transition-duration': 0, + 'transition-delay': 0, + 'transition-timing-function': 'linear', + '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', + 'border-dash-pattern': [4, 2], + 'border-dash-offset': 0, + 'border-cap': 'butt', + 'border-join': 'miter', + 'border-position': 'center', + 'outline-color': '#999', + 'outline-opacity': 1, + 'outline-width': 0, + 'outline-offset': 0, + 'outline-style': 'solid', + height: 30, + width: 30, + shape: 'ellipse', + 'shape-polygon-points': '-1, -1, 1, -1, 1, 1, -1, 1', + 'corner-radius': 'auto', + 'bounds-expansion': 0, + 'background-gradient-direction': 'to-bottom', + 'background-gradient-stop-colors': '#999', + 'background-gradient-stop-positions': '0%', + ghost: 'no', + 'ghost-offset-y': 0, + 'ghost-offset-x': 0, + 'ghost-opacity': 0, + 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 + }, + { '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 (u, h) { + for (var f = 1; f <= ka.pieBackgroundN; f++) { + var d = h.name.replace('{{i}}', f), + p = h.value; + u[d] = p; + } + return u; + }, {}), + { + 'line-style': 'solid', + 'line-color': '#999', + 'line-fill': 'solid', + 'line-cap': 'butt', + 'line-opacity': 1, + 'line-outline-width': 0, + 'line-outline-color': '#000', + '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, + 'segment-radii': 15, + 'radius-type': 'arc-radius', + 'taxi-turn': '50%', + 'taxi-radius': 15, + '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' }, + { name: 'arrow-width', value: 1 } + ].reduce(function (u, h) { + return ( + ka.arrowPrefixes.forEach(function (f) { + var d = f + '-' + h.name, + p = h.value; + u[d] = p; + }), + u + ); + }, {}) + ), + r = {}, + n = 0; + n < this.properties.length; + n++ + ) { + var i = this.properties[n]; + if (!i.pointsTo) { + var a = i.name, + s = e[a], + l = this.parse(a, s); + r[a] = l; + } + } + return (t.defaultProperties = r), t.defaultProperties; + }; + ka.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); + }; + X6 = {}; + X6.parse = function (t, e, r, n) { + var i = this; + if (jn(e)) return i.parseImplWarn(t, e, r, n); + var a = n === 'mapping' || n === !0 || n === !1 || n == null ? 'dontcare' : n, + s = r ? 't' : 'f', + l = '' + e, + u = Ope(t, l, s, a), + h = (i.propCache = i.propCache || []), + f; + return ( + (f = h[u]) || (f = h[u] = i.parseImplWarn(t, e, r, n)), + (r || n === 'mapping') && ((f = $c(f)), f && (f.value = $c(f.value))), + f + ); + }; + X6.parseImplWarn = function (t, e, r, n) { + var i = this.parseImpl(t, e, r, n); + return ( + !i && e != null && tn('The style property `'.concat(t, ': ').concat(e, '` is invalid')), + i && + (i.name === 'width' || i.name === 'height') && + e === 'label' && + tn('The style value of `label` is deprecated for `' + i.name + '`'), + i + ); + }; + X6.parseImpl = function (t, e, r, n) { + var i = this; + t = QP(t); + var a = i.properties[t], + s = e, + l = i.types; + if (!a || e === void 0) return null; + a.alias && ((a = a.pointsTo), (t = a.name)); + var u = zt(e); + u && (e = e.trim()); + var h = a.type; + if (!h) return null; + if (r && (e === '' || e === null)) return { name: t, value: e, bypass: !0, deleteBypass: !0 }; + if (jn(e)) return { name: t, value: e, strValue: 'fn', mapped: l.fn, bypass: r }; + var f, d; + if (!(!u || n || e.length < 7 || e[1] !== 'a')) { + if (e.length >= 7 && e[0] === 'd' && (f = new RegExp(l.data.regex).exec(e))) { + if (r) return !1; + var p = l.data; + return { + name: t, + value: f, + strValue: '' + e, + mapped: p, + field: f[1], + bypass: r + }; + } else if (e.length >= 10 && e[0] === 'm' && (d = new RegExp(l.mapData.regex).exec(e))) { + if (r || h.multiple) return !1; + var m = l.mapData; + if (!(h.color || h.number)) return !1; + var g = this.parse(t, d[4]); + if (!g || g.mapped) return !1; + var y = this.parse(t, d[5]); + if (!y || y.mapped) return !1; + if (g.pfValue === y.pfValue || g.strValue === y.strValue) + return ( + tn( + '`' + + t + + ': ' + + e + + '` is not a valid mapper because the output range is zero; converting to `' + + t + + ': ' + + g.strValue + + '`' + ), + this.parse(t, g.strValue) + ); + if (h.color) { + var v = g.value, + x = y.value, + b = + v[0] === x[0] && + v[1] === x[1] && + v[2] === x[2] && + (v[3] === x[3] || ((v[3] == null || v[3] === 1) && (x[3] == null || x[3] === 1))); + if (b) return !1; + } + return { + name: t, + value: d, + strValue: '' + e, + mapped: m, + field: d[1], + fieldMin: parseFloat(d[2]), + fieldMax: parseFloat(d[3]), + valueMin: g.value, + valueMax: y.value, + bypass: r + }; + } + } + if (h.multiple && n !== 'multiple') { + var w; + if ((u ? (w = e.split(/\s+/)) : vn(e) ? (w = e) : (w = [e]), h.evenMultiple && w.length % 2 !== 0)) + return null; + for (var S = [], T = [], E = [], _ = '', A = !1, L = 0; L < w.length; L++) { + var M = i.parse(t, w[L], r, 'multiple'); + (A = A || zt(M.value)), + S.push(M.value), + E.push(M.pfValue != null ? M.pfValue : M.value), + T.push(M.units), + (_ += (L > 0 ? ' ' : '') + M.strValue); + } + return h.validate && !h.validate(S, T) + ? null + : h.singleEnum && A + ? S.length === 1 && zt(S[0]) + ? { name: t, value: S[0], strValue: S[0], bypass: r } + : null + : { + name: t, + value: S, + pfValue: E, + strValue: _, + bypass: r, + units: T + }; + } + var N = o(function () { + for (var H = 0; H < h.enums.length; H++) { + var q = h.enums[H]; + if (q === e) return { name: t, value: e, strValue: '' + e, bypass: r }; + } + return null; + }, 'checkEnums'); + if (h.number) { + var k, + I = 'px'; + if ((h.units && (k = h.units), h.implicitUnits && (I = h.implicitUnits), !h.unitless)) + if (u) { + var C = 'px|em' + (h.allowPercent ? '|\\%' : ''); + k && (C = k); + var O = e.match('^(' + Ui + ')(' + C + ')?$'); + O && ((e = O[1]), (k = O[2] || I)); + } else (!k || h.implicitUnits) && (k = I); + if (((e = parseFloat(e)), isNaN(e) && h.enums === void 0)) return null; + if (isNaN(e) && h.enums !== void 0) return (e = s), N(); + if ( + (h.integer && !OHe(e)) || + (h.min !== void 0 && (e < h.min || (h.strictMin && e === h.min))) || + (h.max !== void 0 && (e > h.max || (h.strictMax && e === h.max))) + ) + return null; + var D = { + name: t, + value: e, + strValue: '' + e + (k || ''), + units: k, + bypass: r + }; + return ( + h.unitless || (k !== 'px' && k !== 'em') + ? (D.pfValue = e) + : (D.pfValue = k === 'px' || !k ? e : this.getEmSizeInPixels() * e), + (k === 'ms' || k === 's') && (D.pfValue = k === 'ms' ? e : 1e3 * e), + (k === 'deg' || k === 'rad') && (D.pfValue = k === 'rad' ? e : mWe(e)), + k === '%' && (D.pfValue = e / 100), + D + ); + } else if (h.propList) { + var P = [], + F = '' + e; + if (F !== 'none') { + for (var B = F.split(/\s*,\s*|\s+/), $ = 0; $ < B.length; $++) { + var z = B[$].trim(); + i.properties[z] ? P.push(z) : tn('`' + z + '` is not a valid property name'); + } + if (P.length === 0) return null; + } + return { + name: t, + value: P, + strValue: P.length === 0 ? 'none' : P.join(' '), + bypass: r + }; + } else if (h.color) { + var Y = ZHe(e); + return Y + ? { + name: t, + value: Y, + pfValue: Y, + strValue: 'rgb(' + Y[0] + ',' + Y[1] + ',' + Y[2] + ')', + bypass: r + } + : null; + } else if (h.regex || h.regexes) { + if (h.enums) { + var Q = N(); + if (Q) return Q; + } + for (var X = h.regexes ? h.regexes : [h.regex], ie = 0; ie < X.length; ie++) { + var j = new RegExp(X[ie]), + J = j.exec(e); + if (J) + return { + name: t, + value: h.singleRegexMatchValue ? J[1] : J, + strValue: '' + e, + bypass: r + }; + } + return null; + } else return h.string ? { name: t, value: '' + e, strValue: '' + e, bypass: r } : h.enums ? N() : null; + }; + (Ba = o(function t(e) { + if (!(this instanceof t)) return new t(e); + if (!KP(e)) { + oi('A style must have a core reference'); + return; + } + (this._private = { cy: e, coreStyle: {} }), (this.length = 0), this.resetToDefault(); + }, 'Style')), + (za = Ba.prototype); + za.instanceString = function () { + return 'style'; + }; + za.clear = function () { + for (var t = this._private, e = t.cy, r = e.elements(), n = 0; n < this.length; n++) this[n] = void 0; + return ( + (this.length = 0), + (t.contextStyles = {}), + (t.propDiffs = {}), + this.cleanElements(r, !0), + r.forEach(function (i) { + var a = i[0]._private; + (a.styleDirty = !0), (a.appliedInitStyle = !1); + }), + this + ); + }; + za.resetToDefault = function () { + return this.clear(), this.addDefaultStylesheet(), this; + }; + za.core = function (t) { + return this._private.coreStyle[t] || this.getDefaultProperty(t); + }; + za.selector = function (t) { + var e = t === 'core' ? null : new _f(t), + r = this.length++; + return ( + (this[r] = { + selector: e, + properties: [], + mappedProperties: [], + index: r + }), + this + ); + }; + za.css = function () { + var t = this, + e = arguments; + if (e.length === 1) + for (var r = e[0], n = 0; n < t.properties.length; n++) { + var i = t.properties[n], + a = r[i.name]; + a === void 0 && (a = r[I6(i.name)]), a !== void 0 && this.cssRule(i.name, a); + } + else e.length === 2 && this.cssRule(e[0], e[1]); + return this; + }; + za.style = za.css; + za.cssRule = function (t, e) { + var r = this.parse(t, e); + if (r) { + var n = this.length - 1; + this[n].properties.push(r), + (this[n].properties[r.name] = r), + r.name.match(/pie-(\d+)-background-size/) && r.value && (this._private.hasPie = !0), + r.mapped && this[n].mappedProperties.push(r); + var i = !this[n].selector; + i && (this._private.coreStyle[r.name] = r); + } + return this; + }; + za.append = function (t) { + return ( + Cpe(t) ? t.appendToStyle(this) : vn(t) ? this.appendFromJson(t) : zt(t) && this.appendFromString(t), + this + ); + }; + Ba.fromJson = function (t, e) { + var r = new Ba(t); + return r.fromJson(e), r; + }; + Ba.fromString = function (t, e) { + return new Ba(t).fromString(e); + }; + [Ga, rb, hB, Uc, q6, fB, ka, X6].forEach(function (t) { + Wt(za, t); + }); + Ba.types = za.types; + Ba.properties = za.properties; + Ba.propertyGroups = za.propertyGroups; + Ba.propertyGroupNames = za.propertyGroupNames; + Ba.propertyGroupKeys = za.propertyGroupKeys; + (OKe = { + style: o(function (e) { + if (e) { + var r = this.setStyle(e); + r.update(); + } + return this._private.style; + }, 'style'), + setStyle: o(function (e) { + var r = this._private; + return ( + Cpe(e) + ? (r.style = e.generateStyle(this)) + : vn(e) + ? (r.style = Ba.fromJson(this, e)) + : zt(e) + ? (r.style = Ba.fromString(this, e)) + : (r.style = Ba(this)), + r.style + ); + }, 'setStyle'), + updateStyle: o(function () { + this.mutableElements().updateStyle(); + }, 'updateStyle') + }), + (PKe = 'single'), + (q0 = { + autolock: o(function (e) { + if (e !== void 0) this._private.autolock = !!e; + else return this._private.autolock; + return this; + }, 'autolock'), + autoungrabify: o(function (e) { + if (e !== void 0) this._private.autoungrabify = !!e; + else return this._private.autoungrabify; + return this; + }, 'autoungrabify'), + autounselectify: o(function (e) { + if (e !== void 0) this._private.autounselectify = !!e; + else return this._private.autounselectify; + return this; + }, 'autounselectify'), + selectionType: o(function (e) { + var r = this._private; + if ((r.selectionType == null && (r.selectionType = PKe), e !== void 0)) + (e === 'additive' || e === 'single') && (r.selectionType = e); + else return r.selectionType; + return this; + }, 'selectionType'), + panningEnabled: o(function (e) { + if (e !== void 0) this._private.panningEnabled = !!e; + else return this._private.panningEnabled; + return this; + }, 'panningEnabled'), + userPanningEnabled: o(function (e) { + if (e !== void 0) this._private.userPanningEnabled = !!e; + else return this._private.userPanningEnabled; + return this; + }, 'userPanningEnabled'), + zoomingEnabled: o(function (e) { + if (e !== void 0) this._private.zoomingEnabled = !!e; + else return this._private.zoomingEnabled; + return this; + }, 'zoomingEnabled'), + userZoomingEnabled: o(function (e) { + if (e !== void 0) this._private.userZoomingEnabled = !!e; + else return this._private.userZoomingEnabled; + return this; + }, 'userZoomingEnabled'), + boxSelectionEnabled: o(function (e) { + if (e !== void 0) this._private.boxSelectionEnabled = !!e; + else return this._private.boxSelectionEnabled; + return this; + }, 'boxSelectionEnabled'), + pan: o(function () { + var e = arguments, + r = this._private.pan, + n, + i, + a, + s, + l; + switch (e.length) { + case 0: + return r; + case 1: + if (zt(e[0])) return (n = e[0]), r[n]; + if (Mr(e[0])) { + if (!this._private.panningEnabled) return this; + (a = e[0]), + (s = a.x), + (l = a.y), + ft(s) && (r.x = s), + ft(l) && (r.y = l), + this.emit('pan viewport'); + } + break; + case 2: + if (!this._private.panningEnabled) return this; + (n = e[0]), + (i = e[1]), + (n === 'x' || n === 'y') && ft(i) && (r[n] = i), + this.emit('pan viewport'); + break; + } + return this.notify('viewport'), this; + }, 'pan'), + panBy: o(function (e, r) { + var n = arguments, + i = this._private.pan, + a, + s, + l, + u, + h; + if (!this._private.panningEnabled) return this; + switch (n.length) { + case 1: + Mr(e) && + ((l = n[0]), + (u = l.x), + (h = l.y), + ft(u) && (i.x += u), + ft(h) && (i.y += h), + this.emit('pan viewport')); + break; + case 2: + (a = e), + (s = r), + (a === 'x' || a === 'y') && ft(s) && (i[a] += s), + this.emit('pan viewport'); + break; + } + return this.notify('viewport'), this; + }, 'panBy'), + fit: o(function (e, r) { + var n = this.getFitViewport(e, r); + if (n) { + var i = this._private; + (i.zoom = n.zoom), (i.pan = n.pan), this.emit('pan zoom viewport'), this.notify('viewport'); + } + return this; + }, 'fit'), + getFitViewport: o(function (e, r) { + if ( + (ft(e) && r === void 0 && ((r = e), (e = void 0)), + !(!this._private.panningEnabled || !this._private.zoomingEnabled)) + ) { + var n; + if (zt(e)) { + var i = e; + e = this.$(i); + } else if (FHe(e)) { + var a = e; + (n = { x1: a.x1, y1: a.y1, x2: a.x2, y2: a.y2 }), + (n.w = n.x2 - n.x1), + (n.h = n.y2 - n.y1); + } else xo(e) || (e = this.mutableElements()); + if (!(xo(e) && e.empty())) { + n = n || e.boundingBox(); + var s = this.width(), + l = this.height(), + u; + if ( + ((r = ft(r) ? r : 0), + !isNaN(s) && + !isNaN(l) && + s > 0 && + l > 0 && + !isNaN(n.w) && + !isNaN(n.h) && + n.w > 0 && + n.h > 0) + ) { + (u = Math.min((s - 2 * r) / n.w, (l - 2 * r) / n.h)), + (u = u > this._private.maxZoom ? this._private.maxZoom : u), + (u = u < this._private.minZoom ? this._private.minZoom : u); + var h = { + x: (s - u * (n.x1 + n.x2)) / 2, + y: (l - u * (n.y1 + n.y2)) / 2 + }; + return { zoom: u, pan: h }; + } + } + } + }, 'getFitViewport'), + zoomRange: o(function (e, r) { + var n = this._private; + if (r == null) { + var i = e; + (e = i.min), (r = i.max); + } + return ( + ft(e) && ft(r) && e <= r + ? ((n.minZoom = e), (n.maxZoom = r)) + : ft(e) && r === void 0 && e <= n.maxZoom + ? (n.minZoom = e) + : ft(r) && e === void 0 && r >= n.minZoom && (n.maxZoom = r), + this + ); + }, 'zoomRange'), + minZoom: o(function (e) { + return e === void 0 ? this._private.minZoom : this.zoomRange({ min: e }); + }, 'minZoom'), + maxZoom: o(function (e) { + return e === void 0 ? this._private.maxZoom : this.zoomRange({ max: e }); + }, 'maxZoom'), + getZoomedViewport: o(function (e) { + var r = this._private, + n = r.pan, + i = r.zoom, + a, + s, + l = !1; + if ( + (r.zoomingEnabled || (l = !0), + ft(e) + ? (s = e) + : Mr(e) && + ((s = e.level), + e.position != null + ? (a = F6(e.position, i, n)) + : e.renderedPosition != null && (a = e.renderedPosition), + a != null && !r.panningEnabled && (l = !0)), + (s = s > r.maxZoom ? r.maxZoom : s), + (s = s < r.minZoom ? r.minZoom : s), + l || !ft(s) || s === i || (a != null && (!ft(a.x) || !ft(a.y)))) + ) + return null; + if (a != null) { + var u = n, + h = i, + f = s, + d = { + x: (-f / h) * (a.x - u.x) + a.x, + y: (-f / h) * (a.y - u.y) + a.y + }; + return { zoomed: !0, panned: !0, zoom: f, pan: d }; + } else return { zoomed: !0, panned: !1, zoom: s, pan: n }; + }, 'getZoomedViewport'), + zoom: o(function (e) { + if (e === void 0) return this._private.zoom; + var r = this.getZoomedViewport(e), + n = this._private; + return r == null || !r.zoomed + ? this + : ((n.zoom = r.zoom), + r.panned && ((n.pan.x = r.pan.x), (n.pan.y = r.pan.y)), + this.emit('zoom' + (r.panned ? ' pan' : '') + ' viewport'), + this.notify('viewport'), + this); + }, 'zoom'), + viewport: o(function (e) { + var r = this._private, + n = !0, + i = !0, + a = [], + s = !1, + l = !1; + if (!e) return this; + if ((ft(e.zoom) || (n = !1), Mr(e.pan) || (i = !1), !n && !i)) return this; + if (n) { + var u = e.zoom; + u < r.minZoom || u > r.maxZoom || !r.zoomingEnabled + ? (s = !0) + : ((r.zoom = u), a.push('zoom')); + } + if (i && (!s || !e.cancelOnFailedZoom) && r.panningEnabled) { + var h = e.pan; + ft(h.x) && ((r.pan.x = h.x), (l = !1)), + ft(h.y) && ((r.pan.y = h.y), (l = !1)), + l || a.push('pan'); + } + return ( + a.length > 0 && (a.push('viewport'), this.emit(a.join(' ')), this.notify('viewport')), this + ); + }, 'viewport'), + center: o(function (e) { + var r = this.getCenterPan(e); + return r && ((this._private.pan = r), this.emit('pan viewport'), this.notify('viewport')), this; + }, 'center'), + getCenterPan: o(function (e, r) { + if (this._private.panningEnabled) { + if (zt(e)) { + var n = e; + e = this.mutableElements().filter(n); + } else xo(e) || (e = this.mutableElements()); + if (e.length !== 0) { + var i = e.boundingBox(), + a = this.width(), + s = this.height(); + r = r === void 0 ? this._private.zoom : r; + var l = { + x: (a - r * (i.x1 + i.x2)) / 2, + y: (s - r * (i.y1 + i.y2)) / 2 + }; + return l; + } + } + }, 'getCenterPan'), + reset: o(function () { + return !this._private.panningEnabled || !this._private.zoomingEnabled + ? this + : (this.viewport({ pan: { x: 0, y: 0 }, zoom: 1 }), this); + }, 'reset'), + invalidateSize: o(function () { + this._private.sizeCache = null; + }, 'invalidateSize'), + size: o(function () { + var e = this._private, + r = e.container, + n = this; + return (e.sizeCache = + e.sizeCache || + (r + ? (function () { + var i = n.window().getComputedStyle(r), + a = o(function (l) { + return parseFloat(i.getPropertyValue(l)); + }, 'val'); + return { + width: r.clientWidth - a('padding-left') - a('padding-right'), + height: r.clientHeight - a('padding-top') - a('padding-bottom') + }; + })() + : { width: 1, height: 1 })); + }, 'size'), + width: o(function () { + return this.size().width; + }, 'width'), + height: o(function () { + return this.size().height; + }, 'height'), + extent: o(function () { + var e = this._private.pan, + r = this._private.zoom, + n = this.renderedExtent(), + i = { + x1: (n.x1 - e.x) / r, + x2: (n.x2 - e.x) / r, + y1: (n.y1 - e.y) / r, + y2: (n.y2 - e.y) / r + }; + return (i.w = i.x2 - i.x1), (i.h = i.y2 - i.y1), i; + }, 'extent'), + renderedExtent: o(function () { + var e = this.width(), + r = this.height(); + return { x1: 0, y1: 0, x2: e, y2: r, w: e, h: r }; + }, 'renderedExtent'), + multiClickDebounceTime: o(function (e) { + if (e) this._private.multiClickDebounceTime = e; + else return this._private.multiClickDebounceTime; + return this; + }, 'multiClickDebounceTime') + }); + q0.centre = q0.center; + q0.autolockNodes = q0.autolock; + q0.autoungrabifyNodes = q0.autoungrabify; + jx = { + data: en.data({ + field: 'data', + bindingEvent: 'data', + allowBinding: !0, + allowSetting: !0, + settingEvent: 'data', + settingTriggersEvent: !0, + triggerFnName: 'trigger', + allowGetting: !0, + updateStyle: !0 + }), + removeData: en.removeData({ + field: 'data', + event: 'data', + triggerFnName: 'trigger', + triggerEvent: !0, + updateStyle: !0 + }), + scratch: en.data({ + field: 'scratch', + bindingEvent: 'scratch', + allowBinding: !0, + allowSetting: !0, + settingEvent: 'scratch', + settingTriggersEvent: !0, + triggerFnName: 'trigger', + allowGetting: !0, + updateStyle: !0 + }), + removeScratch: en.removeData({ + field: 'scratch', + event: 'scratch', + triggerFnName: 'trigger', + triggerEvent: !0, + updateStyle: !0 + }) + }; + jx.attr = jx.data; + jx.removeAttr = jx.removeData; + (Kx = o(function (e) { + var r = this; + e = Wt({}, e); + var n = e.container; + n && !k6(n) && k6(n[0]) && (n = n[0]); + var i = n ? n._cyreg : null; + (i = i || {}), i && i.cy && (i.cy.destroy(), (i = {})); + var a = (i.readies = i.readies || []); + n && (n._cyreg = i), (i.cy = r); + var s = Vi !== void 0 && n !== void 0 && !e.headless, + l = e; + (l.layout = Wt({ name: s ? 'grid' : 'null' }, l.layout)), + (l.renderer = Wt({ name: s ? 'canvas' : 'null' }, l.renderer)); + var u = o(function (g, y, v) { + return y !== void 0 ? y : v !== void 0 ? v : g; + }, 'defVal'), + h = (this._private = { + container: n, + ready: !1, + options: l, + elements: new Ca(this), + listeners: [], + aniEles: new Ca(this), + data: l.data || {}, + scratch: {}, + layout: null, + renderer: null, + destroyed: !1, + notificationsEnabled: !0, + minZoom: 1e-50, + maxZoom: 1e50, + zoomingEnabled: u(!0, l.zoomingEnabled), + userZoomingEnabled: u(!0, l.userZoomingEnabled), + panningEnabled: u(!0, l.panningEnabled), + userPanningEnabled: u(!0, l.userPanningEnabled), + boxSelectionEnabled: u(!0, l.boxSelectionEnabled), + autolock: u(!1, l.autolock, l.autolockNodes), + autoungrabify: u(!1, l.autoungrabify, l.autoungrabifyNodes), + autounselectify: u(!1, l.autounselectify), + styleEnabled: l.styleEnabled === void 0 ? s : l.styleEnabled, + zoom: ft(l.zoom) ? l.zoom : 1, + pan: { + x: Mr(l.pan) && ft(l.pan.x) ? l.pan.x : 0, + y: Mr(l.pan) && ft(l.pan.y) ? l.pan.y : 0 + }, + animation: { current: [], queue: [] }, + hasCompoundNodes: !1, + multiClickDebounceTime: u(250, l.multiClickDebounceTime) + }); + this.createEmitter(), + this.selectionType(l.selectionType), + this.zoomRange({ min: l.minZoom, max: l.maxZoom }); + var f = o(function (g, y) { + var v = g.some(zHe); + if (v) return u1.all(g).then(y); + y(g); + }, 'loadExtData'); + h.styleEnabled && r.setStyle([]); + var d = Wt({}, l, l.renderer); + r.initRenderer(d); + var p = o(function (g, y, v) { + r.notifications(!1); + var x = r.mutableElements(); + x.length > 0 && x.remove(), + g != null && (Mr(g) || vn(g)) && r.add(g), + r + .one('layoutready', function (w) { + r.notifications(!0), r.emit(w), r.one('load', y), r.emitAndNotify('load'); + }) + .one('layoutstop', function () { + r.one('done', v), r.emit('done'); + }); + var b = Wt({}, r._private.options.layout); + (b.eles = r.elements()), r.layout(b).run(); + }, 'setElesAndLayout'); + f([l.style, l.elements], function (m) { + var g = m[0], + y = m[1]; + h.styleEnabled && r.style().append(g), + p( + y, + function () { + r.startAnimationLoop(), (h.ready = !0), jn(l.ready) && r.on('ready', l.ready); + for (var v = 0; v < a.length; v++) { + var x = a[v]; + r.on('ready', x); + } + i && (i.readies = []), r.emit('ready'); + }, + l.done + ); + }); + }, 'Core')), + (D6 = Kx.prototype); + Wt(D6, { + instanceString: o(function () { + return 'core'; + }, 'instanceString'), + isReady: o(function () { + return this._private.ready; + }, 'isReady'), + destroyed: o(function () { + return this._private.destroyed; + }, 'destroyed'), + ready: o(function (e) { + return this.isReady() ? this.emitter().emit('ready', [], e) : this.on('ready', e), this; + }, 'ready'), + destroy: o(function () { + var e = this; + if (!e.destroyed()) + return ( + e.stopAnimationLoop(), + e.destroyRenderer(), + this.emit('destroy'), + (e._private.destroyed = !0), + e + ); + }, 'destroy'), + hasElementWithId: o(function (e) { + return this._private.elements.hasElementWithId(e); + }, 'hasElementWithId'), + getElementById: o(function (e) { + return this._private.elements.getElementById(e); + }, 'getElementById'), + hasCompoundNodes: o(function () { + return this._private.hasCompoundNodes; + }, 'hasCompoundNodes'), + headless: o(function () { + return this._private.renderer.isHeadless(); + }, 'headless'), + styleEnabled: o(function () { + return this._private.styleEnabled; + }, 'styleEnabled'), + addToPool: o(function (e) { + return this._private.elements.merge(e), this; + }, 'addToPool'), + removeFromPool: o(function (e) { + return this._private.elements.unmerge(e), this; + }, 'removeFromPool'), + container: o(function () { + return this._private.container || null; + }, 'container'), + window: o(function () { + var e = this._private.container; + if (e == null) return Vi; + var r = this._private.container.ownerDocument; + return r === void 0 || r == null ? Vi : r.defaultView || Vi; + }, 'window'), + mount: o(function (e) { + if (e != null) { + var r = this, + n = r._private, + i = n.options; + return ( + !k6(e) && k6(e[0]) && (e = e[0]), + r.stopAnimationLoop(), + r.destroyRenderer(), + (n.container = e), + (n.styleEnabled = !0), + r.invalidateSize(), + r.initRenderer( + Wt({}, i, i.renderer, { + name: i.renderer.name === 'null' ? 'canvas' : i.renderer.name + }) + ), + r.startAnimationLoop(), + r.style(i.style), + r.emit('mount'), + r + ); + } + }, 'mount'), + unmount: o(function () { + var e = this; + return ( + e.stopAnimationLoop(), + e.destroyRenderer(), + e.initRenderer({ name: 'null' }), + e.emit('unmount'), + e + ); + }, 'unmount'), + options: o(function () { + return $c(this._private.options); + }, 'options'), + json: o(function (e) { + var r = this, + n = r._private, + i = r.mutableElements(), + a = o(function (S) { + return r.getElementById(S.id()); + }, 'getFreshRef'); + if (Mr(e)) { + if ((r.startBatch(), e.elements)) { + var s = {}, + l = o(function (S, T) { + for (var E = [], _ = [], A = 0; A < S.length; A++) { + var L = S[A]; + if (!L.data.id) { + tn('cy.json() cannot handle elements without an ID attribute'); + continue; + } + var M = '' + L.data.id, + N = r.getElementById(M); + (s[M] = !0), + N.length !== 0 + ? _.push({ ele: N, json: L }) + : (T && (L.group = T), E.push(L)); + } + r.add(E); + for (var k = 0; k < _.length; k++) { + var I = _[k], + C = I.ele, + O = I.json; + C.json(O); + } + }, 'updateEles'); + if (vn(e.elements)) l(e.elements); + else + for (var u = ['nodes', 'edges'], h = 0; h < u.length; h++) { + var f = u[h], + d = e.elements[f]; + vn(d) && l(d, f); + } + var p = r.collection(); + i + .filter(function (w) { + return !s[w.id()]; + }) + .forEach(function (w) { + w.isParent() ? p.merge(w) : w.remove(); + }), + p.forEach(function (w) { + return w.children().move({ parent: null }); + }), + p.forEach(function (w) { + return a(w).remove(); + }); + } + e.style && r.style(e.style), + e.zoom != null && e.zoom !== n.zoom && r.zoom(e.zoom), + e.pan && (e.pan.x !== n.pan.x || e.pan.y !== n.pan.y) && r.pan(e.pan), + e.data && r.data(e.data); + for ( + var m = [ + 'minZoom', + 'maxZoom', + 'zoomingEnabled', + 'userZoomingEnabled', + 'panningEnabled', + 'userPanningEnabled', + 'boxSelectionEnabled', + 'autolock', + 'autoungrabify', + 'autounselectify', + 'multiClickDebounceTime' + ], + g = 0; + g < m.length; + g++ + ) { + var y = m[g]; + e[y] != null && r[y](e[y]); + } + return r.endBatch(), this; + } else { + var v = !!e, + x = {}; + v + ? (x.elements = this.elements().map(function (w) { + return w.json(); + })) + : ((x.elements = {}), + i.forEach(function (w) { + var S = w.group(); + x.elements[S] || (x.elements[S] = []), x.elements[S].push(w.json()); + })), + this._private.styleEnabled && (x.style = r.style().json()), + (x.data = $c(r.data())); + var b = n.options; + return ( + (x.zoomingEnabled = n.zoomingEnabled), + (x.userZoomingEnabled = n.userZoomingEnabled), + (x.zoom = n.zoom), + (x.minZoom = n.minZoom), + (x.maxZoom = n.maxZoom), + (x.panningEnabled = n.panningEnabled), + (x.userPanningEnabled = n.userPanningEnabled), + (x.pan = $c(n.pan)), + (x.boxSelectionEnabled = n.boxSelectionEnabled), + (x.renderer = $c(b.renderer)), + (x.hideEdgesOnViewport = b.hideEdgesOnViewport), + (x.textureOnViewport = b.textureOnViewport), + (x.wheelSensitivity = b.wheelSensitivity), + (x.motionBlur = b.motionBlur), + (x.multiClickDebounceTime = b.multiClickDebounceTime), + x + ); + } + }, 'json') + }); + D6.$id = D6.getElementById; + [CKe, DKe, Sme, FP, x6, NKe, zP, b6, OKe, q0, jx].forEach(function (t) { + Wt(D6, t); + }); + (BKe = { + fit: !0, + directed: !1, + padding: 30, + circle: !1, + grid: !1, + spacingFactor: 1.75, + boundingBox: void 0, + avoidOverlap: !0, + nodeDimensionsIncludeLabels: !1, + roots: void 0, + depthSort: void 0, + animate: !1, + animationDuration: 500, + animationEasing: void 0, + animateFilter: o(function (e, r) { + return !0; + }, 'animateFilter'), + ready: void 0, + stop: void 0, + transform: o(function (e, r) { + return r; + }, 'transform') + }), + (FKe = { maximal: !1, acyclic: !1 }), + (Kg = o(function (e) { + return e.scratch('breadthfirst'); + }, 'getInfo')), + (epe = o(function (e, r) { + return e.scratch('breadthfirst', r); + }, 'setInfo')); + o(Ame, 'BreadthFirstLayout'); + Ame.prototype.run = function () { + var t = this.options, + e = t, + r = t.cy, + n = e.eles, + i = n.nodes().filter(function (ue) { + return !ue.isParent(); + }), + a = n, + s = e.directed, + l = e.acyclic || e.maximal || e.maximalAdjustments > 0, + u = Gs(e.boundingBox ? e.boundingBox : { x1: 0, y1: 0, w: r.width(), h: r.height() }), + h; + if (xo(e.roots)) h = e.roots; + else if (vn(e.roots)) { + for (var f = [], d = 0; d < e.roots.length; d++) { + var p = e.roots[d], + m = r.getElementById(p); + f.push(m); + } + h = r.collection(f); + } else if (zt(e.roots)) h = r.$(e.roots); + else if (s) h = i.roots(); + else { + var g = n.components(); + h = r.collection(); + for ( + var y = o(function (te) { + var De = g[te], + oe = De.maxDegree(!1), + ke = De.filter(function (Ie) { + return Ie.degree(!1) === oe; + }); + h = h.add(ke); + }, '_loop'), + v = 0; + v < g.length; + v++ + ) + y(v); + } + var x = [], + b = {}, + w = o(function (te, De) { + x[De] == null && (x[De] = []); + var oe = x[De].length; + x[De].push(te), epe(te, { index: oe, depth: De }); + }, 'addToDepth'), + S = o(function (te, De) { + var oe = Kg(te), + ke = oe.depth, + Ie = oe.index; + (x[ke][Ie] = null), w(te, De); + }, 'changeDepth'); + a.bfs({ + roots: h, + directed: e.directed, + visit: o(function (te, De, oe, ke, Ie) { + var Se = te[0], + Ue = Se.id(); + w(Se, Ie), (b[Ue] = !0); + }, 'visit') + }); + for (var T = [], E = 0; E < i.length; E++) { + var _ = i[E]; + b[_.id()] || T.push(_); + } + var A = o(function (te) { + for (var De = x[te], oe = 0; oe < De.length; oe++) { + var ke = De[oe]; + if (ke == null) { + De.splice(oe, 1), oe--; + continue; + } + epe(ke, { depth: te, index: oe }); + } + }, 'assignDepthsAt'), + L = o(function () { + for (var te = 0; te < x.length; te++) A(te); + }, 'assignDepths'), + M = o(function (te, De) { + for ( + var oe = Kg(te), + ke = te.incomers().filter(function (W) { + return W.isNode() && n.has(W); + }), + Ie = -1, + Se = te.id(), + Ue = 0; + Ue < ke.length; + Ue++ + ) { + var Pe = ke[Ue], + _e = Kg(Pe); + Ie = Math.max(Ie, _e.depth); + } + if (oe.depth <= Ie) { + if (!e.acyclic && De[Se]) return null; + var me = Ie + 1; + return S(te, me), (De[Se] = me), !0; + } + return !1; + }, 'adjustMaximally'); + if (s && l) { + var N = [], + k = {}, + I = o(function (te) { + return N.push(te); + }, 'enqueue'), + C = o(function () { + return N.shift(); + }, 'dequeue'); + for ( + i.forEach(function (ue) { + return N.push(ue); + }); + N.length > 0; + + ) { + var O = C(), + D = M(O, k); + if (D) + O.outgoers() + .filter(function (ue) { + return ue.isNode() && n.has(ue); + }) + .forEach(I); + else if (D === null) { + tn( + 'Detected double maximal shift for node `' + + O.id() + + '`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.' + ); + break; + } + } + } + L(); + var P = 0; + if (e.avoidOverlap) + for (var F = 0; F < i.length; F++) { + var B = i[F], + $ = B.layoutDimensions(e), + z = $.w, + Y = $.h; + P = Math.max(P, z, Y); + } + var Q = {}, + X = o(function (te) { + if (Q[te.id()]) return Q[te.id()]; + for ( + var De = Kg(te).depth, oe = te.neighborhood(), ke = 0, Ie = 0, Se = 0; + Se < oe.length; + Se++ + ) { + var Ue = oe[Se]; + if (!(Ue.isEdge() || Ue.isParent() || !i.has(Ue))) { + var Pe = Kg(Ue); + if (Pe != null) { + var _e = Pe.index, + me = Pe.depth; + if (!(_e == null || me == null)) { + var W = x[me].length; + me < De && ((ke += _e / W), Ie++); + } + } + } + } + return (Ie = Math.max(1, Ie)), (ke = ke / Ie), Ie === 0 && (ke = 0), (Q[te.id()] = ke), ke; + }, 'getWeightedPercent'), + ie = o(function (te, De) { + var oe = X(te), + ke = X(De), + Ie = oe - ke; + return Ie === 0 ? Ape(te.id(), De.id()) : Ie; + }, 'sortFn'); + e.depthSort !== void 0 && (ie = e.depthSort); + for (var j = 0; j < x.length; j++) x[j].sort(ie), A(j); + for (var J = [], Z = 0; Z < T.length; Z++) J.push(T[Z]); + x.unshift(J), L(); + for (var H = 0, q = 0; q < x.length; q++) H = Math.max(x[q].length, H); + var K = { x: u.x1 + u.w / 2, y: u.x1 + u.h / 2 }, + se = x.reduce(function (ue, te) { + return Math.max(ue, te.length); + }, 0), + ce = o(function (te) { + var De = Kg(te), + oe = De.depth, + ke = De.index, + Ie = x[oe].length, + Se = Math.max(u.w / ((e.grid ? se : Ie) + 1), P), + Ue = Math.max(u.h / (x.length + 1), P), + Pe = Math.min(u.w / 2 / x.length, u.h / 2 / x.length); + if (((Pe = Math.max(Pe, P)), e.circle)) { + var me = Pe * oe + Pe - (x.length > 0 && x[0].length <= 3 ? Pe / 2 : 0), + W = ((2 * Math.PI) / x[oe].length) * ke; + return ( + oe === 0 && x[0].length === 1 && (me = 1), + { x: K.x + me * Math.cos(W), y: K.y + me * Math.sin(W) } + ); + } else { + var _e = { + x: K.x + (ke + 1 - (Ie + 1) / 2) * Se, + y: (oe + 1) * Ue + }; + return _e; + } + }, 'getPosition'); + return n.nodes().layoutPositions(this, e, ce), this; + }; + zKe = { + 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: o(function (e, r) { + return !0; + }, 'animateFilter'), + ready: void 0, + stop: void 0, + transform: o(function (e, r) { + return r; + }, 'transform') + }; + o(_me, 'CircleLayout'); + _me.prototype.run = function () { + var t = this.options, + e = t, + r = t.cy, + n = e.eles, + i = e.counterclockwise !== void 0 ? !e.counterclockwise : e.clockwise, + a = n.nodes().not(':parent'); + e.sort && (a = a.sort(e.sort)); + for ( + var s = Gs(e.boundingBox ? e.boundingBox : { x1: 0, y1: 0, w: r.width(), h: r.height() }), + l = { x: s.x1 + s.w / 2, y: s.y1 + s.h / 2 }, + u = e.sweep === void 0 ? 2 * Math.PI - (2 * Math.PI) / a.length : e.sweep, + h = u / Math.max(1, a.length - 1), + f, + d = 0, + p = 0; + p < a.length; + p++ + ) { + var m = a[p], + g = m.layoutDimensions(e), + y = g.w, + v = g.h; + d = Math.max(d, y, v); + } + if ( + (ft(e.radius) ? (f = e.radius) : a.length <= 1 ? (f = 0) : (f = Math.min(s.h, s.w) / 2 - d), + a.length > 1 && e.avoidOverlap) + ) { + d *= 1.75; + var x = Math.cos(h) - Math.cos(0), + b = Math.sin(h) - Math.sin(0), + w = Math.sqrt((d * d) / (x * x + b * b)); + f = Math.max(w, f); + } + var S = o(function (E, _) { + var A = e.startAngle + _ * h * (i ? 1 : -1), + L = f * Math.cos(A), + M = f * Math.sin(A), + N = { x: l.x + L, y: l.y + M }; + return N; + }, 'getPos'); + return n.nodes().layoutPositions(this, e, S), this; + }; + GKe = { + 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: o(function (e) { + return e.degree(); + }, 'concentric'), + levelWidth: o(function (e) { + return e.maxDegree() / 4; + }, 'levelWidth'), + animate: !1, + animationDuration: 500, + animationEasing: void 0, + animateFilter: o(function (e, r) { + return !0; + }, 'animateFilter'), + ready: void 0, + stop: void 0, + transform: o(function (e, r) { + return r; + }, 'transform') + }; + o(Lme, 'ConcentricLayout'); + Lme.prototype.run = function () { + for ( + var t = this.options, + e = t, + r = e.counterclockwise !== void 0 ? !e.counterclockwise : e.clockwise, + n = t.cy, + i = e.eles, + a = i.nodes().not(':parent'), + s = Gs(e.boundingBox ? e.boundingBox : { x1: 0, y1: 0, w: n.width(), h: n.height() }), + l = { x: s.x1 + s.w / 2, y: s.y1 + s.h / 2 }, + u = [], + h = 0, + f = 0; + f < a.length; + f++ + ) { + var d = a[f], + p = void 0; + (p = e.concentric(d)), u.push({ value: p, node: d }), (d._private.scratch.concentric = p); + } + a.updateStyle(); + for (var m = 0; m < a.length; m++) { + var g = a[m], + y = g.layoutDimensions(e); + h = Math.max(h, y.w, y.h); + } + u.sort(function (ue, te) { + return te.value - ue.value; + }); + for (var v = e.levelWidth(a), x = [[]], b = x[0], w = 0; w < u.length; w++) { + var S = u[w]; + if (b.length > 0) { + var T = Math.abs(b[0].value - S.value); + T >= v && ((b = []), x.push(b)); + } + b.push(S); + } + var E = h + e.minNodeSpacing; + if (!e.avoidOverlap) { + var _ = x.length > 0 && x[0].length > 1, + A = Math.min(s.w, s.h) / 2 - E, + L = A / (x.length + _ ? 1 : 0); + E = Math.min(E, L); + } + for (var M = 0, N = 0; N < x.length; N++) { + var k = x[N], + I = e.sweep === void 0 ? 2 * Math.PI - (2 * Math.PI) / k.length : e.sweep, + C = (k.dTheta = I / Math.max(1, k.length - 1)); + if (k.length > 1 && e.avoidOverlap) { + var O = Math.cos(C) - Math.cos(0), + D = Math.sin(C) - Math.sin(0), + P = Math.sqrt((E * E) / (O * O + D * D)); + M = Math.max(P, M); + } + (k.r = M), (M += E); + } + if (e.equidistant) { + for (var F = 0, B = 0, $ = 0; $ < x.length; $++) { + var z = x[$], + Y = z.r - B; + F = Math.max(F, Y); + } + B = 0; + for (var Q = 0; Q < x.length; Q++) { + var X = x[Q]; + Q === 0 && (B = X.r), (X.r = B), (B += F); + } + } + for (var ie = {}, j = 0; j < x.length; j++) + for (var J = x[j], Z = J.dTheta, H = J.r, q = 0; q < J.length; q++) { + var K = J[q], + se = e.startAngle + (r ? 1 : -1) * Z * q, + ce = { x: l.x + H * Math.cos(se), y: l.y + H * Math.sin(se) }; + ie[K.node.id()] = ce; + } + return ( + i.nodes().layoutPositions(this, e, function (ue) { + var te = ue.id(); + return ie[te]; + }), + this + ); + }; + $Ke = { + ready: o(function () {}, 'ready'), + stop: o(function () {}, 'stop'), + animate: !0, + animationEasing: void 0, + animationDuration: void 0, + animateFilter: o(function (e, r) { + return !0; + }, 'animateFilter'), + animationThreshold: 250, + refresh: 20, + fit: !0, + padding: 30, + boundingBox: void 0, + nodeDimensionsIncludeLabels: !1, + randomize: !1, + componentSpacing: 40, + nodeRepulsion: o(function (e) { + return 2048; + }, 'nodeRepulsion'), + nodeOverlap: 4, + idealEdgeLength: o(function (e) { + return 32; + }, 'idealEdgeLength'), + edgeElasticity: o(function (e) { + return 32; + }, 'edgeElasticity'), + nestingFactor: 1.2, + gravity: 1, + numIter: 1e3, + initialTemp: 1e3, + coolingFactor: 0.99, + minTemp: 1 + }; + o(j6, 'CoseLayout'); + j6.prototype.run = function () { + var t = this.options, + e = t.cy, + r = this; + (r.stopped = !1), + (t.animate === !0 || t.animate === !1) && r.emit({ type: 'layoutstart', layout: r }), + t.debug === !0 ? (_P = !0) : (_P = !1); + var n = VKe(e, r, t); + _P && YKe(n), t.randomize && WKe(n); + var i = Ku(), + a = o(function () { + qKe(n, e, t), t.fit === !0 && e.fit(t.padding); + }, 'refresh'), + s = o(function (p) { + return !( + r.stopped || + p >= t.numIter || + (XKe(n, t), (n.temperature = n.temperature * t.coolingFactor), n.temperature < t.minTemp) + ); + }, 'mainLoop'), + l = o(function () { + if (t.animate === !0 || t.animate === !1) + a(), r.one('layoutstop', t.stop), r.emit({ type: 'layoutstop', layout: r }); + else { + var p = t.eles.nodes(), + m = Dme(n, t, p); + p.layoutPositions(r, t, m); + } + }, 'done'), + u = 0, + h = !0; + if (t.animate === !0) { + var f = o(function d() { + for (var p = 0; h && p < t.refresh; ) (h = s(u)), u++, p++; + if (!h) rpe(n, t), l(); + else { + var m = Ku(); + m - i >= t.animationThreshold && a(), E6(d); + } + }, 'frame'); + f(); + } else { + for (; h; ) (h = s(u)), u++; + rpe(n, t), l(); + } + return this; + }; + j6.prototype.stop = function () { + return (this.stopped = !0), this.thread && this.thread.stop(), this.emit('layoutstop'), this; + }; + j6.prototype.destroy = function () { + return this.thread && this.thread.stop(), this; + }; + (VKe = o(function (e, r, n) { + for ( + var i = n.eles.edges(), + a = n.eles.nodes(), + s = Gs(n.boundingBox ? n.boundingBox : { x1: 0, y1: 0, w: e.width(), h: e.height() }), + l = { + isCompound: e.hasCompoundNodes(), + layoutNodes: [], + idToIndex: {}, + nodeSize: a.size(), + graphSet: [], + indexToGraph: [], + layoutEdges: [], + edgeSize: i.size(), + temperature: n.initialTemp, + clientWidth: s.w, + clientHeight: s.h, + boundingBox: s + }, + u = n.eles.components(), + h = {}, + f = 0; + f < u.length; + f++ + ) + for (var d = u[f], p = 0; p < d.length; p++) { + var m = d[p]; + h[m.id()] = f; + } + for (var f = 0; f < l.nodeSize; f++) { + var g = a[f], + y = g.layoutDimensions(n), + v = {}; + (v.isLocked = g.locked()), + (v.id = g.data('id')), + (v.parentId = g.data('parent')), + (v.cmptId = h[g.id()]), + (v.children = []), + (v.positionX = g.position('x')), + (v.positionY = g.position('y')), + (v.offsetX = 0), + (v.offsetY = 0), + (v.height = y.w), + (v.width = y.h), + (v.maxX = v.positionX + v.width / 2), + (v.minX = v.positionX - v.width / 2), + (v.maxY = v.positionY + v.height / 2), + (v.minY = v.positionY - v.height / 2), + (v.padLeft = parseFloat(g.style('padding'))), + (v.padRight = parseFloat(g.style('padding'))), + (v.padTop = parseFloat(g.style('padding'))), + (v.padBottom = parseFloat(g.style('padding'))), + (v.nodeRepulsion = jn(n.nodeRepulsion) ? n.nodeRepulsion(g) : n.nodeRepulsion), + l.layoutNodes.push(v), + (l.idToIndex[v.id] = f); + } + for (var x = [], b = 0, w = -1, S = [], f = 0; f < l.nodeSize; f++) { + var g = l.layoutNodes[f], + T = g.parentId; + T != null ? l.layoutNodes[l.idToIndex[T]].children.push(g.id) : ((x[++w] = g.id), S.push(g.id)); + } + for (l.graphSet.push(S); b <= w; ) { + var E = x[b++], + _ = l.idToIndex[E], + m = l.layoutNodes[_], + A = m.children; + if (A.length > 0) { + l.graphSet.push(A); + for (var f = 0; f < A.length; f++) x[++w] = A[f]; + } + } + for (var f = 0; f < l.graphSet.length; f++) + for (var L = l.graphSet[f], p = 0; p < L.length; p++) { + var M = l.idToIndex[L[p]]; + l.indexToGraph[M] = f; + } + for (var f = 0; f < l.edgeSize; f++) { + var N = i[f], + k = {}; + (k.id = N.data('id')), (k.sourceId = N.data('source')), (k.targetId = N.data('target')); + var I = jn(n.idealEdgeLength) ? n.idealEdgeLength(N) : n.idealEdgeLength, + C = jn(n.edgeElasticity) ? n.edgeElasticity(N) : n.edgeElasticity, + O = l.idToIndex[k.sourceId], + D = l.idToIndex[k.targetId], + P = l.indexToGraph[O], + F = l.indexToGraph[D]; + if (P != F) { + for ( + var B = UKe(k.sourceId, k.targetId, l), $ = l.graphSet[B], z = 0, v = l.layoutNodes[O]; + $.indexOf(v.id) === -1; + + ) + (v = l.layoutNodes[l.idToIndex[v.parentId]]), z++; + for (v = l.layoutNodes[D]; $.indexOf(v.id) === -1; ) + (v = l.layoutNodes[l.idToIndex[v.parentId]]), z++; + I *= z * n.nestingFactor; + } + (k.idealLength = I), (k.elasticity = C), l.layoutEdges.push(k); + } + return l; + }, 'createLayoutInfo')), + (UKe = o(function (e, r, n) { + var i = HKe(e, r, 0, n); + return 2 > i.count ? 0 : i.graph; + }, 'findLCA')), + (HKe = o(function t(e, r, n, i) { + var a = i.graphSet[n]; + if (-1 < a.indexOf(e) && -1 < a.indexOf(r)) return { count: 2, graph: n }; + for (var s = 0, l = 0; l < a.length; l++) { + var u = a[l], + h = i.idToIndex[u], + f = i.layoutNodes[h].children; + if (f.length !== 0) { + var d = i.indexToGraph[i.idToIndex[f[0]]], + p = t(e, r, d, i); + if (p.count !== 0) + if (p.count === 1) { + if ((s++, s === 2)) break; + } else return p; + } + } + return { count: s, graph: n }; + }, 'findLCA_aux')), + (WKe = o(function (e, r) { + for (var n = e.clientWidth, i = e.clientHeight, a = 0; a < e.nodeSize; a++) { + var s = e.layoutNodes[a]; + s.children.length === 0 && + !s.isLocked && + ((s.positionX = Math.random() * n), (s.positionY = Math.random() * i)); + } + }, 'randomizePositions')), + (Dme = o(function (e, r, n) { + var i = e.boundingBox, + a = { x1: 1 / 0, x2: -1 / 0, y1: 1 / 0, y2: -1 / 0 }; + return ( + r.boundingBox && + (n.forEach(function (s) { + var l = e.layoutNodes[e.idToIndex[s.data('id')]]; + (a.x1 = Math.min(a.x1, l.positionX)), + (a.x2 = Math.max(a.x2, l.positionX)), + (a.y1 = Math.min(a.y1, l.positionY)), + (a.y2 = Math.max(a.y2, l.positionY)); + }), + (a.w = a.x2 - a.x1), + (a.h = a.y2 - a.y1)), + function (s, l) { + var u = e.layoutNodes[e.idToIndex[s.data('id')]]; + if (r.boundingBox) { + var h = (u.positionX - a.x1) / a.w, + f = (u.positionY - a.y1) / a.h; + return { x: i.x1 + h * i.w, y: i.y1 + f * i.h }; + } else return { x: u.positionX, y: u.positionY }; + } + ); + }, 'getScaleInBoundsFn')), + (qKe = o(function (e, r, n) { + var i = n.layout, + a = n.eles.nodes(), + s = Dme(e, n, a); + a.positions(s), + e.ready !== !0 && + ((e.ready = !0), + i.one('layoutready', n.ready), + i.emit({ type: 'layoutready', layout: this })); + }, 'refreshPositions')), + (XKe = o(function (e, r, n) { + jKe(e, r), ZKe(e), JKe(e, r), eQe(e), tQe(e); + }, 'step')), + (jKe = o(function (e, r) { + for (var n = 0; n < e.graphSet.length; n++) + for (var i = e.graphSet[n], a = i.length, s = 0; s < a; s++) + for (var l = e.layoutNodes[e.idToIndex[i[s]]], u = s + 1; u < a; u++) { + var h = e.layoutNodes[e.idToIndex[i[u]]]; + KKe(l, h, e, r); + } + }, 'calculateNodeForces')), + (tpe = o(function (e) { + return -e + 2 * e * Math.random(); + }, 'randomDistance')), + (KKe = o(function (e, r, n, i) { + var a = e.cmptId, + s = r.cmptId; + if (!(a !== s && !n.isCompound)) { + var l = r.positionX - e.positionX, + u = r.positionY - e.positionY, + h = 1; + l === 0 && u === 0 && ((l = tpe(h)), (u = tpe(h))); + var f = QKe(e, r, l, u); + if (f > 0) + var d = i.nodeOverlap * f, + p = Math.sqrt(l * l + u * u), + m = (d * l) / p, + g = (d * u) / p; + else + var y = R6(e, l, u), + v = R6(r, -1 * l, -1 * u), + x = v.x - y.x, + b = v.y - y.y, + w = x * x + b * b, + p = Math.sqrt(w), + d = (e.nodeRepulsion + r.nodeRepulsion) / w, + m = (d * x) / p, + g = (d * b) / p; + e.isLocked || ((e.offsetX -= m), (e.offsetY -= g)), + r.isLocked || ((r.offsetX += m), (r.offsetY += g)); + } + }, 'nodeRepulsion')), + (QKe = o(function (e, r, n, i) { + if (n > 0) var a = e.maxX - r.minX; + else var a = r.maxX - e.minX; + if (i > 0) var s = e.maxY - r.minY; + else var s = r.maxY - e.minY; + return a >= 0 && s >= 0 ? Math.sqrt(a * a + s * s) : 0; + }, 'nodesOverlap')), + (R6 = o(function (e, r, n) { + var i = e.positionX, + a = e.positionY, + s = e.height || 1, + l = e.width || 1, + u = n / r, + h = s / l, + f = {}; + return (r === 0 && 0 < n) || (r === 0 && 0 > n) + ? ((f.x = i), (f.y = a + s / 2), f) + : 0 < r && -1 * h <= u && u <= h + ? ((f.x = i + l / 2), (f.y = a + (l * n) / 2 / r), f) + : 0 > r && -1 * h <= u && u <= h + ? ((f.x = i - l / 2), (f.y = a - (l * n) / 2 / r), f) + : 0 < n && (u <= -1 * h || u >= h) + ? ((f.x = i + (s * r) / 2 / n), (f.y = a + s / 2), f) + : (0 > n && (u <= -1 * h || u >= h) && ((f.x = i - (s * r) / 2 / n), (f.y = a - s / 2)), f); + }, 'findClippingPoint')), + (ZKe = o(function (e, r) { + for (var n = 0; n < e.edgeSize; n++) { + var i = e.layoutEdges[n], + a = e.idToIndex[i.sourceId], + s = e.layoutNodes[a], + l = e.idToIndex[i.targetId], + u = e.layoutNodes[l], + h = u.positionX - s.positionX, + f = u.positionY - s.positionY; + if (!(h === 0 && f === 0)) { + var d = R6(s, h, f), + p = R6(u, -1 * h, -1 * f), + m = p.x - d.x, + g = p.y - d.y, + y = Math.sqrt(m * m + g * g), + v = Math.pow(i.idealLength - y, 2) / i.elasticity; + if (y !== 0) + var x = (v * m) / y, + b = (v * g) / y; + else + var x = 0, + b = 0; + s.isLocked || ((s.offsetX += x), (s.offsetY += b)), + u.isLocked || ((u.offsetX -= x), (u.offsetY -= b)); + } + } + }, 'calculateEdgeForces')), + (JKe = o(function (e, r) { + if (r.gravity !== 0) + for (var n = 1, i = 0; i < e.graphSet.length; i++) { + var a = e.graphSet[i], + s = a.length; + if (i === 0) + var l = e.clientHeight / 2, + u = e.clientWidth / 2; + else + var h = e.layoutNodes[e.idToIndex[a[0]]], + f = e.layoutNodes[e.idToIndex[h.parentId]], + l = f.positionX, + u = f.positionY; + for (var d = 0; d < s; d++) { + var p = e.layoutNodes[e.idToIndex[a[d]]]; + if (!p.isLocked) { + var m = l - p.positionX, + g = u - p.positionY, + y = Math.sqrt(m * m + g * g); + if (y > n) { + var v = (r.gravity * m) / y, + x = (r.gravity * g) / y; + (p.offsetX += v), (p.offsetY += x); + } + } + } + } + }, 'calculateGravityForces')), + (eQe = o(function (e, r) { + var n = [], + i = 0, + a = -1; + for (n.push.apply(n, e.graphSet[0]), a += e.graphSet[0].length; i <= a; ) { + var s = n[i++], + l = e.idToIndex[s], + u = e.layoutNodes[l], + h = u.children; + if (0 < h.length && !u.isLocked) { + for (var f = u.offsetX, d = u.offsetY, p = 0; p < h.length; p++) { + var m = e.layoutNodes[e.idToIndex[h[p]]]; + (m.offsetX += f), (m.offsetY += d), (n[++a] = h[p]); + } + (u.offsetX = 0), (u.offsetY = 0); + } + } + }, 'propagateForces')), + (tQe = o(function (e, r) { + for (var n = 0; n < e.nodeSize; n++) { + var i = e.layoutNodes[n]; + 0 < i.children.length && + ((i.maxX = void 0), (i.minX = void 0), (i.maxY = void 0), (i.minY = void 0)); + } + for (var n = 0; n < e.nodeSize; n++) { + var i = e.layoutNodes[n]; + if (!(0 < i.children.length || i.isLocked)) { + var a = rQe(i.offsetX, i.offsetY, e.temperature); + (i.positionX += a.x), + (i.positionY += a.y), + (i.offsetX = 0), + (i.offsetY = 0), + (i.minX = i.positionX - i.width), + (i.maxX = i.positionX + i.width), + (i.minY = i.positionY - i.height), + (i.maxY = i.positionY + i.height), + nQe(i, e); + } + } + for (var n = 0; n < e.nodeSize; n++) { + var i = e.layoutNodes[n]; + 0 < i.children.length && + !i.isLocked && + ((i.positionX = (i.maxX + i.minX) / 2), + (i.positionY = (i.maxY + i.minY) / 2), + (i.width = i.maxX - i.minX), + (i.height = i.maxY - i.minY)); + } + }, 'updatePositions')), + (rQe = o(function (e, r, n) { + var i = Math.sqrt(e * e + r * r); + if (i > n) var a = { x: (n * e) / i, y: (n * r) / i }; + else var a = { x: e, y: r }; + return a; + }, 'limitForce')), + (nQe = o(function t(e, r) { + var n = e.parentId; + if (n != null) { + var i = r.layoutNodes[r.idToIndex[n]], + a = !1; + if ( + ((i.maxX == null || e.maxX + i.padRight > i.maxX) && + ((i.maxX = e.maxX + i.padRight), (a = !0)), + (i.minX == null || e.minX - i.padLeft < i.minX) && + ((i.minX = e.minX - i.padLeft), (a = !0)), + (i.maxY == null || e.maxY + i.padBottom > i.maxY) && + ((i.maxY = e.maxY + i.padBottom), (a = !0)), + (i.minY == null || e.minY - i.padTop < i.minY) && ((i.minY = e.minY - i.padTop), (a = !0)), + a) + ) + return t(i, r); + } + }, 'updateAncestryBoundaries')), + (rpe = o(function (e, r) { + for (var n = e.layoutNodes, i = [], a = 0; a < n.length; a++) { + var s = n[a], + l = s.cmptId, + u = (i[l] = i[l] || []); + u.push(s); + } + for (var h = 0, a = 0; a < i.length; a++) { + var f = i[a]; + if (f) { + (f.x1 = 1 / 0), (f.x2 = -1 / 0), (f.y1 = 1 / 0), (f.y2 = -1 / 0); + for (var d = 0; d < f.length; d++) { + var p = f[d]; + (f.x1 = Math.min(f.x1, p.positionX - p.width / 2)), + (f.x2 = Math.max(f.x2, p.positionX + p.width / 2)), + (f.y1 = Math.min(f.y1, p.positionY - p.height / 2)), + (f.y2 = Math.max(f.y2, p.positionY + p.height / 2)); + } + (f.w = f.x2 - f.x1), (f.h = f.y2 - f.y1), (h += f.w * f.h); + } + } + i.sort(function (b, w) { + return w.w * w.h - b.w * b.h; + }); + for ( + var m = 0, g = 0, y = 0, v = 0, x = (Math.sqrt(h) * e.clientWidth) / e.clientHeight, a = 0; + a < i.length; + a++ + ) { + var f = i[a]; + if (f) { + for (var d = 0; d < f.length; d++) { + var p = f[d]; + p.isLocked || ((p.positionX += m - f.x1), (p.positionY += g - f.y1)); + } + (m += f.w + r.componentSpacing), + (y += f.w + r.componentSpacing), + (v = Math.max(v, f.h)), + y > x && ((g += v + r.componentSpacing), (m = 0), (y = 0), (v = 0)); + } + } + }, 'separateComponents')), + (iQe = { + 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: o(function (e) {}, 'position'), + sort: void 0, + animate: !1, + animationDuration: 500, + animationEasing: void 0, + animateFilter: o(function (e, r) { + return !0; + }, 'animateFilter'), + ready: void 0, + stop: void 0, + transform: o(function (e, r) { + return r; + }, 'transform') + }); + o(Rme, 'GridLayout'); + Rme.prototype.run = function () { + var t = this.options, + e = t, + r = t.cy, + n = e.eles, + i = n.nodes().not(':parent'); + e.sort && (i = i.sort(e.sort)); + var a = Gs(e.boundingBox ? e.boundingBox : { x1: 0, y1: 0, w: r.width(), h: r.height() }); + if (a.h === 0 || a.w === 0) + n.nodes().layoutPositions(this, e, function (Q) { + return { x: a.x1, y: a.y1 }; + }); + else { + var s = i.size(), + l = Math.sqrt((s * a.h) / a.w), + u = Math.round(l), + h = Math.round((a.w / a.h) * l), + f = o(function (X) { + if (X == null) return Math.min(u, h); + var ie = Math.min(u, h); + ie == u ? (u = X) : (h = X); + }, 'small'), + d = o(function (X) { + if (X == null) return Math.max(u, h); + var ie = Math.max(u, h); + ie == u ? (u = X) : (h = X); + }, 'large'), + p = e.rows, + m = e.cols != null ? e.cols : e.columns; + if (p != null && m != null) (u = p), (h = m); + else if (p != null && m == null) (u = p), (h = Math.ceil(s / u)); + else if (p == null && m != null) (h = m), (u = Math.ceil(s / h)); + else if (h * u > s) { + var g = f(), + y = d(); + (g - 1) * y >= s ? f(g - 1) : (y - 1) * g >= s && d(y - 1); + } else + for (; h * u < s; ) { + var v = f(), + x = d(); + (x + 1) * v >= s ? d(x + 1) : f(v + 1); + } + var b = a.w / h, + w = a.h / u; + if ((e.condense && ((b = 0), (w = 0)), e.avoidOverlap)) + for (var S = 0; S < i.length; S++) { + var T = i[S], + E = T._private.position; + (E.x == null || E.y == null) && ((E.x = 0), (E.y = 0)); + var _ = T.layoutDimensions(e), + A = e.avoidOverlapPadding, + L = _.w + A, + M = _.h + A; + (b = Math.max(b, L)), (w = Math.max(w, M)); + } + for ( + var N = {}, + k = o(function (X, ie) { + return !!N['c-' + X + '-' + ie]; + }, 'used'), + I = o(function (X, ie) { + N['c-' + X + '-' + ie] = !0; + }, 'use'), + C = 0, + O = 0, + D = o(function () { + O++, O >= h && ((O = 0), C++); + }, 'moveToNextCell'), + P = {}, + F = 0; + F < i.length; + F++ + ) { + var B = i[F], + $ = e.position(B); + if ($ && ($.row !== void 0 || $.col !== void 0)) { + var z = { row: $.row, col: $.col }; + if (z.col === void 0) for (z.col = 0; k(z.row, z.col); ) z.col++; + else if (z.row === void 0) for (z.row = 0; k(z.row, z.col); ) z.row++; + (P[B.id()] = z), I(z.row, z.col); + } + } + var Y = o(function (X, ie) { + var j, J; + if (X.locked() || X.isParent()) return !1; + var Z = P[X.id()]; + if (Z) (j = Z.col * b + b / 2 + a.x1), (J = Z.row * w + w / 2 + a.y1); + else { + for (; k(C, O); ) D(); + (j = O * b + b / 2 + a.x1), (J = C * w + w / 2 + a.y1), I(C, O), D(); + } + return { x: j, y: J }; + }, 'getPos'); + i.layoutPositions(this, e, Y); + } + return this; + }; + aQe = { + ready: o(function () {}, 'ready'), + stop: o(function () {}, 'stop') + }; + o(dB, 'NullLayout'); + dB.prototype.run = function () { + var t = this.options, + e = t.eles, + r = this; + return ( + t.cy, + r.emit('layoutstart'), + e.nodes().positions(function () { + return { x: 0, y: 0 }; + }), + r.one('layoutready', t.ready), + r.emit('layoutready'), + r.one('layoutstop', t.stop), + r.emit('layoutstop'), + this + ); + }; + dB.prototype.stop = function () { + return this; + }; + sQe = { + positions: void 0, + zoom: void 0, + pan: void 0, + fit: !0, + padding: 30, + spacingFactor: void 0, + animate: !1, + animationDuration: 500, + animationEasing: void 0, + animateFilter: o(function (e, r) { + return !0; + }, 'animateFilter'), + ready: void 0, + stop: void 0, + transform: o(function (e, r) { + return r; + }, 'transform') + }; + o(Nme, 'PresetLayout'); + Nme.prototype.run = function () { + var t = this.options, + e = t.eles, + r = e.nodes(), + n = jn(t.positions); + function i(a) { + if (t.positions == null) return uWe(a.position()); + if (n) return t.positions(a); + var s = t.positions[a._private.data.id]; + return s ?? null; + } + return ( + o(i, 'getPosition'), + r.layoutPositions(this, t, function (a, s) { + var l = i(a); + return a.locked() || l == null ? !1 : l; + }), + this + ); + }; + oQe = { + fit: !0, + padding: 30, + boundingBox: void 0, + animate: !1, + animationDuration: 500, + animationEasing: void 0, + animateFilter: o(function (e, r) { + return !0; + }, 'animateFilter'), + ready: void 0, + stop: void 0, + transform: o(function (e, r) { + return r; + }, 'transform') + }; + o(Mme, 'RandomLayout'); + Mme.prototype.run = function () { + var t = this.options, + e = t.cy, + r = t.eles, + n = Gs(t.boundingBox ? t.boundingBox : { x1: 0, y1: 0, w: e.width(), h: e.height() }), + i = o(function (s, l) { + return { + x: n.x1 + Math.round(Math.random() * n.w), + y: n.y1 + Math.round(Math.random() * n.h) + }; + }, 'getPos'); + return r.nodes().layoutPositions(this, t, i), this; + }; + lQe = [ + { name: 'breadthfirst', impl: Ame }, + { name: 'circle', impl: _me }, + { name: 'concentric', impl: Lme }, + { name: 'cose', impl: j6 }, + { name: 'grid', impl: Rme }, + { name: 'null', impl: dB }, + { name: 'preset', impl: Nme }, + { name: 'random', impl: Mme } + ]; + o(Ime, 'NullRenderer'); + (npe = o(function () {}, 'noop')), + (ipe = o(function () { + throw new Error('A headless instance can not render images'); + }, 'throwImgErr')); + Ime.prototype = { + recalculateRenderedStyle: npe, + notify: o(function () { + this.notifications++; + }, 'notify'), + init: npe, + isHeadless: o(function () { + return !0; + }, 'isHeadless'), + png: ipe, + jpg: ipe + }; + pB = {}; + pB.arrowShapeWidth = 0.3; + pB.registerArrowShapes = function () { + var t = (this.arrowShapes = {}), + e = this, + r = o(function (h, f, d, p, m, g, y) { + var v = m.x - d / 2 - y, + x = m.x + d / 2 + y, + b = m.y - d / 2 - y, + w = m.y + d / 2 + y, + S = v <= h && h <= x && b <= f && f <= w; + return S; + }, 'bbCollide'), + n = o(function (h, f, d, p, m) { + var g = h * Math.cos(p) - f * Math.sin(p), + y = h * Math.sin(p) + f * Math.cos(p), + v = g * d, + x = y * d, + b = v + m.x, + w = x + m.y; + return { x: b, y: w }; + }, 'transform'), + i = o(function (h, f, d, p) { + for (var m = [], g = 0; g < h.length; g += 2) { + var y = h[g], + v = h[g + 1]; + m.push(n(y, v, f, d, p)); + } + return m; + }, 'transformPoints'), + a = o(function (h) { + for (var f = [], d = 0; d < h.length; d++) { + var p = h[d]; + f.push(p.x, p.y); + } + return f; + }, 'pointsToArr'), + s = o(function (h) { + return h.pstyle('width').pfValue * h.pstyle('arrow-scale').pfValue * 2; + }, 'standardGap'), + l = o(function (h, f) { + zt(f) && (f = t[f]), + (t[h] = Wt( + { + name: h, + points: [-0.15, -0.3, 0.15, -0.3, 0.15, 0.3, -0.15, 0.3], + collide: o(function (p, m, g, y, v, x) { + var b = a(i(this.points, g + 2 * x, y, v)), + w = zs(p, m, b); + return w; + }, 'collide'), + roughCollide: r, + draw: o(function (p, m, g, y) { + var v = i(this.points, m, g, y); + e.arrowShapeImpl('polygon')(p, v); + }, 'draw'), + spacing: o(function (p) { + return 0; + }, 'spacing'), + gap: s + }, + f + )); + }, 'defineArrowShape'); + l('none', { + collide: C6, + roughCollide: C6, + draw: JP, + spacing: p0e, + gap: p0e + }), + l('triangle', { points: [-0.15, -0.3, 0, 0, 0.15, -0.3] }), + l('arrow', 'triangle'), + l('triangle-backcurve', { + points: t.triangle.points, + controlPoint: [0, -0.15], + roughCollide: r, + draw: o(function (h, f, d, p, m) { + var g = i(this.points, f, d, p), + y = this.controlPoint, + v = n(y[0], y[1], f, d, p); + e.arrowShapeImpl(this.name)(h, g, v); + }, 'draw'), + gap: o(function (h) { + return s(h) * 0.8; + }, 'gap') + }), + l('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: o(function (h, f, d, p, m, g, y) { + var v = a(i(this.points, d + 2 * y, p, m)), + x = a(i(this.pointsTee, d + 2 * y, p, m)), + b = zs(h, f, v) || zs(h, f, x); + return b; + }, 'collide'), + draw: o(function (h, f, d, p, m) { + var g = i(this.points, f, d, p), + y = i(this.pointsTee, f, d, p); + e.arrowShapeImpl(this.name)(h, g, y); + }, 'draw') + }), + l('circle-triangle', { + radius: 0.15, + pointsTr: [0, -0.15, 0.15, -0.45, -0.15, -0.45, 0, -0.15], + collide: o(function (h, f, d, p, m, g, y) { + var v = m, + x = + Math.pow(v.x - h, 2) + Math.pow(v.y - f, 2) <= + Math.pow((d + 2 * y) * this.radius, 2), + b = a(i(this.points, d + 2 * y, p, m)); + return zs(h, f, b) || x; + }, 'collide'), + draw: o(function (h, f, d, p, m) { + var g = i(this.pointsTr, f, d, p); + e.arrowShapeImpl(this.name)(h, g, p.x, p.y, this.radius * f); + }, 'draw'), + spacing: o(function (h) { + return ( + e.getArrowWidth(h.pstyle('width').pfValue, h.pstyle('arrow-scale').value) * this.radius + ); + }, 'spacing') + }), + l('triangle-cross', { + points: [0, 0, 0.15, -0.3, -0.15, -0.3, 0, 0], + baseCrossLinePts: [-0.15, -0.4, -0.15, -0.4, 0.15, -0.4, 0.15, -0.4], + crossLinePts: o(function (h, f) { + var d = this.baseCrossLinePts.slice(), + p = f / h, + m = 3, + g = 5; + return (d[m] = d[m] - p), (d[g] = d[g] - p), d; + }, 'crossLinePts'), + collide: o(function (h, f, d, p, m, g, y) { + var v = a(i(this.points, d + 2 * y, p, m)), + x = a(i(this.crossLinePts(d, g), d + 2 * y, p, m)), + b = zs(h, f, v) || zs(h, f, x); + return b; + }, 'collide'), + draw: o(function (h, f, d, p, m) { + var g = i(this.points, f, d, p), + y = i(this.crossLinePts(f, m), f, d, p); + e.arrowShapeImpl(this.name)(h, g, y); + }, 'draw') + }), + l('vee', { + points: [-0.15, -0.3, 0, 0, 0.15, -0.3, 0, -0.15], + gap: o(function (h) { + return s(h) * 0.525; + }, 'gap') + }), + l('circle', { + radius: 0.15, + collide: o(function (h, f, d, p, m, g, y) { + var v = m, + x = + Math.pow(v.x - h, 2) + Math.pow(v.y - f, 2) <= + Math.pow((d + 2 * y) * this.radius, 2); + return x; + }, 'collide'), + draw: o(function (h, f, d, p, m) { + e.arrowShapeImpl(this.name)(h, p.x, p.y, this.radius * f); + }, 'draw'), + spacing: o(function (h) { + return ( + e.getArrowWidth(h.pstyle('width').pfValue, h.pstyle('arrow-scale').value) * this.radius + ); + }, 'spacing') + }), + l('tee', { + points: [-0.15, 0, -0.15, -0.1, 0.15, -0.1, 0.15, 0], + spacing: o(function (h) { + return 1; + }, 'spacing'), + gap: o(function (h) { + return 1; + }, 'gap') + }), + l('square', { points: [-0.15, 0, 0.15, 0, 0.15, -0.3, -0.15, -0.3] }), + l('diamond', { + points: [-0.15, -0.15, 0, -0.3, 0.15, -0.15, 0, 0], + gap: o(function (h) { + return h.pstyle('width').pfValue * h.pstyle('arrow-scale').value; + }, 'gap') + }), + l('chevron', { + points: [0, 0, -0.15, -0.15, -0.1, -0.2, 0, -0.1, 0.1, -0.2, 0.15, -0.15], + gap: o(function (h) { + return 0.95 * h.pstyle('width').pfValue * h.pstyle('arrow-scale').value; + }, 'gap') + }); + }; + j0 = {}; + j0.projectIntoViewport = function (t, e) { + var r = this.cy, + n = this.findContainerClientCoords(), + i = n[0], + a = n[1], + s = n[4], + l = r.pan(), + u = r.zoom(), + h = ((t - i) / s - l.x) / u, + f = ((e - a) / s - l.y) / u; + return [h, f]; + }; + j0.findContainerClientCoords = function () { + if (this.containerBB) return this.containerBB; + var t = this.container, + e = t.getBoundingClientRect(), + r = this.cy.window().getComputedStyle(t), + n = o(function (x) { + return parseFloat(r.getPropertyValue(x)); + }, 'styleValue'), + i = { + left: n('padding-left'), + right: n('padding-right'), + top: n('padding-top'), + bottom: n('padding-bottom') + }, + a = { + left: n('border-left-width'), + right: n('border-right-width'), + top: n('border-top-width'), + bottom: n('border-bottom-width') + }, + s = t.clientWidth, + l = t.clientHeight, + u = i.left + i.right, + h = i.top + i.bottom, + f = a.left + a.right, + d = e.width / (s + f), + p = s - u, + m = l - h, + g = e.left + i.left + a.left, + y = e.top + i.top + a.top; + return (this.containerBB = [g, y, p, m, d]); + }; + j0.invalidateContainerClientCoordsCache = function () { + this.containerBB = null; + }; + j0.findNearestElement = function (t, e, r, n) { + return this.findNearestElements(t, e, r, n)[0]; + }; + j0.findNearestElements = function (t, e, r, n) { + var i = this, + a = this, + s = a.getCachedZSortedEles(), + l = [], + u = a.cy.zoom(), + h = a.cy.hasCompoundNodes(), + f = (n ? 24 : 8) / u, + d = (n ? 8 : 2) / u, + p = (n ? 8 : 2) / u, + m = 1 / 0, + g, + y; + r && (s = s.interactive); + function v(_, A) { + if (_.isNode()) { + if (y) return; + (y = _), l.push(_); + } + if (_.isEdge() && (A == null || A < m)) + if (g) { + if ( + g.pstyle('z-compound-depth').value === _.pstyle('z-compound-depth').value && + g.pstyle('z-compound-depth').value === _.pstyle('z-compound-depth').value + ) { + for (var L = 0; L < l.length; L++) + if (l[L].isEdge()) { + (l[L] = _), (g = _), (m = A ?? m); + break; + } + } + } else l.push(_), (g = _), (m = A ?? m); + } + o(v, 'addEle'); + function x(_) { + var A = _.outerWidth() + 2 * d, + L = _.outerHeight() + 2 * d, + M = A / 2, + N = L / 2, + k = _.position(), + I = _.pstyle('corner-radius').value === 'auto' ? 'auto' : _.pstyle('corner-radius').pfValue, + C = _._private.rscratch; + if (k.x - M <= t && t <= k.x + M && k.y - N <= e && e <= k.y + N) { + var O = a.nodeShapes[i.getNodeShape(_)]; + if (O.checkPoint(t, e, 0, A, L, k.x, k.y, I, C)) return v(_, 0), !0; + } + } + o(x, 'checkNode'); + function b(_) { + var A = _._private, + L = A.rscratch, + M = _.pstyle('width').pfValue, + N = _.pstyle('arrow-scale').value, + k = M / 2 + f, + I = k * k, + C = k * 2, + F = A.source, + B = A.target, + O; + if (L.edgeType === 'segments' || L.edgeType === 'straight' || L.edgeType === 'haystack') { + for (var D = L.allpts, P = 0; P + 3 < D.length; P += 2) + if ( + kWe(t, e, D[P], D[P + 1], D[P + 2], D[P + 3], C) && + I > (O = _We(t, e, D[P], D[P + 1], D[P + 2], D[P + 3])) + ) + return v(_, O), !0; + } else if ( + L.edgeType === 'bezier' || + L.edgeType === 'multibezier' || + L.edgeType === 'self' || + L.edgeType === 'compound' + ) { + for (var D = L.allpts, P = 0; P + 5 < L.allpts.length; P += 4) + if ( + EWe(t, e, D[P], D[P + 1], D[P + 2], D[P + 3], D[P + 4], D[P + 5], C) && + I > (O = AWe(t, e, D[P], D[P + 1], D[P + 2], D[P + 3], D[P + 4], D[P + 5])) + ) + return v(_, O), !0; + } + for ( + var F = F || A.source, + B = B || A.target, + $ = i.getArrowWidth(M, N), + z = [ + { + name: 'source', + x: L.arrowStartX, + y: L.arrowStartY, + angle: L.srcArrowAngle + }, + { + name: 'target', + x: L.arrowEndX, + y: L.arrowEndY, + angle: L.tgtArrowAngle + }, + { + name: 'mid-source', + x: L.midX, + y: L.midY, + angle: L.midsrcArrowAngle + }, + { + name: 'mid-target', + x: L.midX, + y: L.midY, + angle: L.midtgtArrowAngle + } + ], + P = 0; + P < z.length; + P++ + ) { + var Y = z[P], + Q = a.arrowShapes[_.pstyle(Y.name + '-arrow-shape').value], + X = _.pstyle('width').pfValue; + if ( + Q.roughCollide(t, e, $, Y.angle, { x: Y.x, y: Y.y }, X, f) && + Q.collide(t, e, $, Y.angle, { x: Y.x, y: Y.y }, X, f) + ) + return v(_), !0; + } + h && l.length > 0 && (x(F), x(B)); + } + o(b, 'checkEdge'); + function w(_, A, L) { + return Ul(_, A, L); + } + o(w, 'preprop'); + function S(_, A) { + var L = _._private, + M = p, + N; + A ? (N = A + '-') : (N = ''), _.boundingBox(); + var k = L.labelBounds[A || 'main'], + I = _.pstyle(N + 'label').value, + C = _.pstyle('text-events').strValue === 'yes'; + if (!(!C || !I)) { + var O = w(L.rscratch, 'labelX', A), + D = w(L.rscratch, 'labelY', A), + P = w(L.rscratch, 'labelAngle', A), + F = _.pstyle(N + 'text-margin-x').pfValue, + B = _.pstyle(N + 'text-margin-y').pfValue, + $ = k.x1 - M - F, + z = k.x2 + M - F, + Y = k.y1 - M - B, + Q = k.y2 + M - B; + if (P) { + var X = Math.cos(P), + ie = Math.sin(P), + j = o(function (ce, ue) { + return ( + (ce = ce - O), + (ue = ue - D), + { x: ce * X - ue * ie + O, y: ce * ie + ue * X + D } + ); + }, 'rotate'), + J = j($, Y), + Z = j($, Q), + H = j(z, Y), + q = j(z, Q), + K = [J.x + F, J.y + B, H.x + F, H.y + B, q.x + F, q.y + B, Z.x + F, Z.y + B]; + if (zs(t, e, K)) return v(_), !0; + } else if (s1(k, t, e)) return v(_), !0; + } + } + o(S, 'checkLabel'); + for (var T = s.length - 1; T >= 0; T--) { + var E = s[T]; + E.isNode() ? x(E) || S(E) : b(E) || S(E) || S(E, 'source') || S(E, 'target'); + } + return l; + }; + j0.getAllInBox = function (t, e, r, n) { + var i = this.getCachedZSortedEles().interactive, + a = [], + s = Math.min(t, r), + l = Math.max(t, r), + u = Math.min(e, n), + h = Math.max(e, n); + (t = s), (r = l), (e = u), (n = h); + for (var f = Gs({ x1: t, y1: e, x2: r, y2: n }), d = 0; d < i.length; d++) { + var p = i[d]; + if (p.isNode()) { + var m = p, + g = m.boundingBox({ + includeNodes: !0, + includeEdges: !1, + includeLabels: !1 + }); + rB(f, g) && !Upe(g, f) && a.push(m); + } else { + var y = p, + v = y._private, + x = v.rscratch; + if ( + (x.startX != null && x.startY != null && !s1(f, x.startX, x.startY)) || + (x.endX != null && x.endY != null && !s1(f, x.endX, x.endY)) + ) + continue; + if ( + x.edgeType === 'bezier' || + x.edgeType === 'multibezier' || + x.edgeType === 'self' || + x.edgeType === 'compound' || + x.edgeType === 'segments' || + x.edgeType === 'haystack' + ) { + for ( + var b = v.rstyle.bezierPts || v.rstyle.linePts || v.rstyle.haystackPts, w = !0, S = 0; + S < b.length; + S++ + ) + if (!TWe(f, b[S])) { + w = !1; + break; + } + w && a.push(y); + } else (x.edgeType === 'haystack' || x.edgeType === 'straight') && a.push(y); + } + } + return a; + }; + N6 = {}; + N6.calculateArrowAngles = function (t) { + var e = t._private.rscratch, + r = e.edgeType === 'haystack', + n = e.edgeType === 'bezier', + i = e.edgeType === 'multibezier', + a = e.edgeType === 'segments', + s = e.edgeType === 'compound', + l = e.edgeType === 'self', + u, + h, + f, + d, + p, + m, + x, + b; + if ( + (r + ? ((f = e.haystackPts[0]), + (d = e.haystackPts[1]), + (p = e.haystackPts[2]), + (m = e.haystackPts[3])) + : ((f = e.arrowStartX), (d = e.arrowStartY), (p = e.arrowEndX), (m = e.arrowEndY)), + (x = e.midX), + (b = e.midY), + a) + ) + (u = f - e.segpts[0]), (h = d - e.segpts[1]); + else if (i || s || l || n) { + var g = e.allpts, + y = aa(g[0], g[2], g[4], 0.1), + v = aa(g[1], g[3], g[5], 0.1); + (u = f - y), (h = d - v); + } else (u = f - x), (h = d - b); + e.srcArrowAngle = n6(u, h); + var x = e.midX, + b = e.midY; + if ((r && ((x = (f + p) / 2), (b = (d + m) / 2)), (u = p - f), (h = m - d), a)) { + var g = e.allpts; + if ((g.length / 2) % 2 === 0) { + var w = g.length / 2, + S = w - 2; + (u = g[w] - g[S]), (h = g[w + 1] - g[S + 1]); + } else if (e.isRound) (u = e.midVector[1]), (h = -e.midVector[0]); + else { + var w = g.length / 2 - 1, + S = w - 2; + (u = g[w] - g[S]), (h = g[w + 1] - g[S + 1]); + } + } else if (i || s || l) { + var g = e.allpts, + T = e.ctrlpts, + E, + _, + A, + L; + if ((T.length / 2) % 2 === 0) { + var M = g.length / 2 - 1, + N = M + 2, + k = N + 2; + (E = aa(g[M], g[N], g[k], 0)), + (_ = aa(g[M + 1], g[N + 1], g[k + 1], 0)), + (A = aa(g[M], g[N], g[k], 1e-4)), + (L = aa(g[M + 1], g[N + 1], g[k + 1], 1e-4)); + } else { + var N = g.length / 2 - 1, + M = N - 2, + k = N + 2; + (E = aa(g[M], g[N], g[k], 0.4999)), + (_ = aa(g[M + 1], g[N + 1], g[k + 1], 0.4999)), + (A = aa(g[M], g[N], g[k], 0.5)), + (L = aa(g[M + 1], g[N + 1], g[k + 1], 0.5)); + } + (u = A - E), (h = L - _); + } + if (((e.midtgtArrowAngle = n6(u, h)), (e.midDispX = u), (e.midDispY = h), (u *= -1), (h *= -1), a)) { + var g = e.allpts; + if ((g.length / 2) % 2 !== 0) { + if (!e.isRound) { + var w = g.length / 2 - 1, + I = w + 2; + (u = -(g[I] - g[w])), (h = -(g[I + 1] - g[w + 1])); + } + } + } + if (((e.midsrcArrowAngle = n6(u, h)), a)) + (u = p - e.segpts[e.segpts.length - 2]), (h = m - e.segpts[e.segpts.length - 1]); + else if (i || s || l || n) { + var g = e.allpts, + C = g.length, + y = aa(g[C - 6], g[C - 4], g[C - 2], 0.9), + v = aa(g[C - 5], g[C - 3], g[C - 1], 0.9); + (u = p - y), (h = m - v); + } else (u = p - x), (h = m - b); + e.tgtArrowAngle = n6(u, h); + }; + N6.getArrowWidth = N6.getArrowHeight = function (t, e) { + var r = (this.arrowWidthCache = this.arrowWidthCache || {}), + n = r[t + ', ' + e]; + return n || ((n = Math.max(Math.pow(t * 13.37, 0.9), 29) * e), (r[t + ', ' + e] = n), n); + }; + (Gc = {}), + (Jo = {}), + (lpe = o(function (e, r, n) { + (n.x = r.x - e.x), + (n.y = r.y - e.y), + (n.len = Math.sqrt(n.x * n.x + n.y * n.y)), + (n.nx = n.x / n.len), + (n.ny = n.y / n.len), + (n.ang = Math.atan2(n.ny, n.nx)); + }, 'asVec')), + (cQe = o(function (e, r) { + (r.x = e.x * -1), + (r.y = e.y * -1), + (r.nx = e.nx * -1), + (r.ny = e.ny * -1), + (r.ang = e.ang > 0 ? -(Math.PI - e.ang) : Math.PI + e.ang); + }, 'invertVec')), + (uQe = o(function (e, r, n, i, a) { + if ( + (e !== ope ? lpe(r, e, Gc) : cQe(Jo, Gc), + lpe(r, n, Jo), + (ape = Gc.nx * Jo.ny - Gc.ny * Jo.nx), + (spe = Gc.nx * Jo.nx - Gc.ny * -Jo.ny), + (ju = Math.asin(Math.max(-1, Math.min(1, ape)))), + Math.abs(ju) < 1e-6) + ) { + (GP = r.x), ($P = r.y), (z0 = Qg = 0); + return; + } + (G0 = 1), + (w6 = !1), + spe < 0 + ? ju < 0 + ? (ju = Math.PI + ju) + : ((ju = Math.PI - ju), (G0 = -1), (w6 = !0)) + : ju > 0 && ((G0 = -1), (w6 = !0)), + r.radius !== void 0 ? (Qg = r.radius) : (Qg = i), + (O0 = ju / 2), + (f6 = Math.min(Gc.len / 2, Jo.len / 2)), + a + ? ((zc = Math.abs((Math.cos(O0) * Qg) / Math.sin(O0))), + zc > f6 ? ((zc = f6), (z0 = Math.abs((zc * Math.sin(O0)) / Math.cos(O0)))) : (z0 = Qg)) + : ((zc = Math.min(f6, Qg)), (z0 = Math.abs((zc * Math.sin(O0)) / Math.cos(O0)))), + (VP = r.x + Jo.nx * zc), + (UP = r.y + Jo.ny * zc), + (GP = VP - Jo.ny * z0 * G0), + ($P = UP + Jo.nx * z0 * G0), + (Ome = r.x + Gc.nx * zc), + (Pme = r.y + Gc.ny * zc), + (ope = r); + }, 'calcCornerArc')); + o(Bme, 'drawPreparedRoundCorner'); + o(mB, 'getRoundCorner'); + $a = {}; + $a.findMidptPtsEtc = function (t, e) { + var r = e.posPts, + n = e.intersectionPts, + i = e.vectorNormInverse, + a, + s = t.pstyle('source-endpoint'), + l = t.pstyle('target-endpoint'), + u = s.units != null && l.units != null, + h = o(function (T, E, _, A) { + var L = A - E, + M = _ - T, + N = Math.sqrt(M * M + L * L); + return { x: -L / N, y: M / N }; + }, 'recalcVectorNormInverse'), + f = t.pstyle('edge-distances').value; + switch (f) { + case 'node-position': + a = r; + break; + case 'intersection': + a = n; + break; + case 'endpoints': { + if (u) { + var d = this.manualEndptToPx(t.source()[0], s), + p = $l(d, 2), + m = p[0], + g = p[1], + y = this.manualEndptToPx(t.target()[0], l), + v = $l(y, 2), + x = v[0], + b = v[1], + w = { x1: m, y1: g, x2: x, y2: b }; + (i = h(m, g, x, b)), (a = w); + } else + tn( + 'Edge '.concat( + t.id(), + ' has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).' + ) + ), + (a = n); + break; + } + } + return { midptPts: a, vectorNormInverse: i }; + }; + $a.findHaystackPoints = function (t) { + for (var e = 0; e < t.length; e++) { + var r = t[e], + n = r._private, + i = n.rscratch; + if (!i.haystack) { + var a = Math.random() * 2 * Math.PI; + (i.source = { x: Math.cos(a), y: Math.sin(a) }), + (a = Math.random() * 2 * Math.PI), + (i.target = { x: Math.cos(a), y: Math.sin(a) }); + } + var s = n.source, + l = n.target, + u = s.position(), + h = l.position(), + f = s.width(), + d = l.width(), + p = s.height(), + m = l.height(), + g = r.pstyle('haystack-radius').value, + y = g / 2; + (i.haystackPts = i.allpts = + [ + i.source.x * f * y + u.x, + i.source.y * p * y + u.y, + i.target.x * d * y + h.x, + i.target.y * m * y + h.y + ]), + (i.midX = (i.allpts[0] + i.allpts[2]) / 2), + (i.midY = (i.allpts[1] + i.allpts[3]) / 2), + (i.edgeType = 'haystack'), + (i.haystack = !0), + this.storeEdgeProjections(r), + this.calculateArrowAngles(r), + this.recalculateEdgeLabelProjections(r), + this.calculateLabelAngles(r); + } + }; + $a.findSegmentsPoints = function (t, e) { + var r = t._private.rscratch, + n = t.pstyle('segment-weights'), + i = t.pstyle('segment-distances'), + a = t.pstyle('segment-radii'), + s = t.pstyle('radius-type'), + l = Math.min(n.pfValue.length, i.pfValue.length), + u = a.pfValue[a.pfValue.length - 1], + h = s.pfValue[s.pfValue.length - 1]; + (r.edgeType = 'segments'), (r.segpts = []), (r.radii = []), (r.isArcRadius = []); + for (var f = 0; f < l; f++) { + var d = n.pfValue[f], + p = i.pfValue[f], + m = 1 - d, + g = d, + y = this.findMidptPtsEtc(t, e), + v = y.midptPts, + x = y.vectorNormInverse, + b = { x: v.x1 * m + v.x2 * g, y: v.y1 * m + v.y2 * g }; + r.segpts.push(b.x + x.x * p, b.y + x.y * p), + r.radii.push(a.pfValue[f] !== void 0 ? a.pfValue[f] : u), + r.isArcRadius.push((s.pfValue[f] !== void 0 ? s.pfValue[f] : h) === 'arc-radius'); + } + }; + $a.findLoopPoints = function (t, e, r, n) { + var i = t._private.rscratch, + a = e.dirCounts, + s = e.srcPos, + l = t.pstyle('control-point-distances'), + u = l ? l.pfValue[0] : void 0, + h = t.pstyle('loop-direction').pfValue, + f = t.pstyle('loop-sweep').pfValue, + d = t.pstyle('control-point-step-size').pfValue; + i.edgeType = 'self'; + var p = r, + m = d; + n && ((p = 0), (m = u)); + var g = h - Math.PI / 2, + y = g - f / 2, + v = g + f / 2, + x = h + '_' + f; + (p = a[x] === void 0 ? (a[x] = 0) : ++a[x]), + (i.ctrlpts = [ + s.x + Math.cos(y) * 1.4 * m * (p / 3 + 1), + s.y + Math.sin(y) * 1.4 * m * (p / 3 + 1), + s.x + Math.cos(v) * 1.4 * m * (p / 3 + 1), + s.y + Math.sin(v) * 1.4 * m * (p / 3 + 1) + ]); + }; + $a.findCompoundLoopPoints = function (t, e, r, n) { + var i = t._private.rscratch; + i.edgeType = 'compound'; + var a = e.srcPos, + s = e.tgtPos, + l = e.srcW, + u = e.srcH, + h = e.tgtW, + f = e.tgtH, + d = t.pstyle('control-point-step-size').pfValue, + p = t.pstyle('control-point-distances'), + m = p ? p.pfValue[0] : void 0, + g = r, + y = d; + n && ((g = 0), (y = m)); + var v = 50, + x = { x: a.x - l / 2, y: a.y - u / 2 }, + b = { x: s.x - h / 2, y: s.y - f / 2 }, + w = { x: Math.min(x.x, b.x), y: Math.min(x.y, b.y) }, + S = 0.5, + T = Math.max(S, Math.log(l * 0.01)), + E = Math.max(S, Math.log(h * 0.01)); + i.ctrlpts = [ + w.x, + w.y - (1 + Math.pow(v, 1.12) / 100) * y * (g / 3 + 1) * T, + w.x - (1 + Math.pow(v, 1.12) / 100) * y * (g / 3 + 1) * E, + w.y + ]; + }; + $a.findStraightEdgePoints = function (t) { + t._private.rscratch.edgeType = 'straight'; + }; + $a.findBezierPoints = function (t, e, r, n, i) { + var a = t._private.rscratch, + s = t.pstyle('control-point-step-size').pfValue, + l = t.pstyle('control-point-distances'), + u = t.pstyle('control-point-weights'), + h = l && u ? Math.min(l.value.length, u.value.length) : 1, + f = l ? l.pfValue[0] : void 0, + d = u.value[0], + p = n; + (a.edgeType = p ? 'multibezier' : 'bezier'), (a.ctrlpts = []); + for (var m = 0; m < h; m++) { + var g = (0.5 - e.eles.length / 2 + r) * s * (i ? -1 : 1), + y = void 0, + v = $pe(g); + p && ((f = l ? l.pfValue[m] : s), (d = u.value[m])), + n ? (y = f) : (y = f !== void 0 ? v * f : void 0); + var x = y !== void 0 ? y : g, + b = 1 - d, + w = d, + S = this.findMidptPtsEtc(t, e), + T = S.midptPts, + E = S.vectorNormInverse, + _ = { x: T.x1 * b + T.x2 * w, y: T.y1 * b + T.y2 * w }; + a.ctrlpts.push(_.x + E.x * x, _.y + E.y * x); + } + }; + $a.findTaxiPoints = function (t, e) { + var r = t._private.rscratch; + r.edgeType = 'segments'; + var n = 'vertical', + i = 'horizontal', + a = 'leftward', + s = 'rightward', + l = 'downward', + u = 'upward', + h = 'auto', + f = e.posPts, + d = e.srcW, + p = e.srcH, + m = e.tgtW, + g = e.tgtH, + y = t.pstyle('edge-distances').value, + v = y !== 'node-position', + x = t.pstyle('taxi-direction').value, + b = x, + w = t.pstyle('taxi-turn'), + S = w.units === '%', + T = w.pfValue, + E = T < 0, + _ = t.pstyle('taxi-turn-min-distance').pfValue, + A = v ? (d + m) / 2 : 0, + L = v ? (p + g) / 2 : 0, + M = f.x2 - f.x1, + N = f.y2 - f.y1, + k = o(function (Te, Ce) { + return Te > 0 ? Math.max(Te - Ce, 0) : Math.min(Te + Ce, 0); + }, 'subDWH'), + I = k(M, A), + C = k(N, L), + O = !1; + b === h + ? (x = Math.abs(I) > Math.abs(C) ? i : n) + : b === u || b === l + ? ((x = n), (O = !0)) + : (b === a || b === s) && ((x = i), (O = !0)); + var D = x === n, + P = D ? C : I, + F = D ? N : M, + B = $pe(F), + $ = !1; + !(O && (S || E)) && + ((b === l && F < 0) || (b === u && F > 0) || (b === a && F > 0) || (b === s && F < 0)) && + ((B *= -1), (P = B * Math.abs(P)), ($ = !0)); + var z; + if (S) { + var Y = T < 0 ? 1 + T : T; + z = Y * P; + } else { + var Q = T < 0 ? P : 0; + z = Q + T * B; + } + var X = o(function (Te) { + return Math.abs(Te) < _ || Math.abs(Te) >= Math.abs(P); + }, 'getIsTooClose'), + ie = X(z), + j = X(Math.abs(P) - Math.abs(z)), + J = ie || j; + if (J && !$) + if (D) { + var Z = Math.abs(F) <= p / 2, + H = Math.abs(M) <= m / 2; + if (Z) { + var q = (f.x1 + f.x2) / 2, + K = f.y1, + se = f.y2; + r.segpts = [q, K, q, se]; + } else if (H) { + var ce = (f.y1 + f.y2) / 2, + ue = f.x1, + te = f.x2; + r.segpts = [ue, ce, te, ce]; + } else r.segpts = [f.x1, f.y2]; + } else { + var De = Math.abs(F) <= d / 2, + oe = Math.abs(N) <= g / 2; + if (De) { + var ke = (f.y1 + f.y2) / 2, + Ie = f.x1, + Se = f.x2; + r.segpts = [Ie, ke, Se, ke]; + } else if (oe) { + var Ue = (f.x1 + f.x2) / 2, + Pe = f.y1, + _e = f.y2; + r.segpts = [Ue, Pe, Ue, _e]; + } else r.segpts = [f.x2, f.y1]; + } + else if (D) { + var me = f.y1 + z + (v ? (p / 2) * B : 0), + W = f.x1, + fe = f.x2; + r.segpts = [W, me, fe, me]; + } else { + var ge = f.x1 + z + (v ? (d / 2) * B : 0), + re = f.y1, + he = f.y2; + r.segpts = [ge, re, ge, he]; + } + if (r.isRound) { + var ne = t.pstyle('taxi-radius').value, + ae = t.pstyle('radius-type').value[0] === 'arc-radius'; + (r.radii = new Array(r.segpts.length / 2).fill(ne)), + (r.isArcRadius = new Array(r.segpts.length / 2).fill(ae)); + } + }; + $a.tryToCorrectInvalidPoints = function (t, e) { + var r = t._private.rscratch; + if (r.edgeType === 'bezier') { + var n = e.srcPos, + i = e.tgtPos, + a = e.srcW, + s = e.srcH, + l = e.tgtW, + u = e.tgtH, + h = e.srcShape, + f = e.tgtShape, + d = e.srcCornerRadius, + p = e.tgtCornerRadius, + m = e.srcRs, + g = e.tgtRs, + y = !ft(r.startX) || !ft(r.startY), + v = !ft(r.arrowStartX) || !ft(r.arrowStartY), + x = !ft(r.endX) || !ft(r.endY), + b = !ft(r.arrowEndX) || !ft(r.arrowEndY), + w = 3, + S = + this.getArrowWidth(t.pstyle('width').pfValue, t.pstyle('arrow-scale').value) * + this.arrowShapeWidth, + T = w * S, + E = H0({ x: r.ctrlpts[0], y: r.ctrlpts[1] }, { x: r.startX, y: r.startY }), + _ = E < T, + A = H0({ x: r.ctrlpts[0], y: r.ctrlpts[1] }, { x: r.endX, y: r.endY }), + L = A < T, + M = !1; + if (y || v || _) { + M = !0; + var N = { x: r.ctrlpts[0] - n.x, y: r.ctrlpts[1] - n.y }, + k = Math.sqrt(N.x * N.x + N.y * N.y), + I = { x: N.x / k, y: N.y / k }, + C = Math.max(a, s), + O = { + x: r.ctrlpts[0] + I.x * 2 * C, + y: r.ctrlpts[1] + I.y * 2 * C + }, + D = h.intersectLine(n.x, n.y, a, s, O.x, O.y, 0, d, m); + _ + ? ((r.ctrlpts[0] = r.ctrlpts[0] + I.x * (T - E)), + (r.ctrlpts[1] = r.ctrlpts[1] + I.y * (T - E))) + : ((r.ctrlpts[0] = D[0] + I.x * T), (r.ctrlpts[1] = D[1] + I.y * T)); + } + if (x || b || L) { + M = !0; + var P = { x: r.ctrlpts[0] - i.x, y: r.ctrlpts[1] - i.y }, + F = Math.sqrt(P.x * P.x + P.y * P.y), + B = { x: P.x / F, y: P.y / F }, + $ = Math.max(a, s), + z = { + x: r.ctrlpts[0] + B.x * 2 * $, + y: r.ctrlpts[1] + B.y * 2 * $ + }, + Y = f.intersectLine(i.x, i.y, l, u, z.x, z.y, 0, p, g); + L + ? ((r.ctrlpts[0] = r.ctrlpts[0] + B.x * (T - A)), + (r.ctrlpts[1] = r.ctrlpts[1] + B.y * (T - A))) + : ((r.ctrlpts[0] = Y[0] + B.x * T), (r.ctrlpts[1] = Y[1] + B.y * T)); + } + M && this.findEndpoints(t); + } + }; + $a.storeAllpts = function (t) { + var e = t._private.rscratch; + if ( + e.edgeType === 'multibezier' || + e.edgeType === 'bezier' || + e.edgeType === 'self' || + e.edgeType === 'compound' + ) { + (e.allpts = []), e.allpts.push(e.startX, e.startY); + for (var r = 0; r + 1 < e.ctrlpts.length; r += 2) + e.allpts.push(e.ctrlpts[r], e.ctrlpts[r + 1]), + r + 3 < e.ctrlpts.length && + e.allpts.push( + (e.ctrlpts[r] + e.ctrlpts[r + 2]) / 2, + (e.ctrlpts[r + 1] + e.ctrlpts[r + 3]) / 2 + ); + e.allpts.push(e.endX, e.endY); + var n, i; + (e.ctrlpts.length / 2) % 2 === 0 + ? ((n = e.allpts.length / 2 - 1), (e.midX = e.allpts[n]), (e.midY = e.allpts[n + 1])) + : ((n = e.allpts.length / 2 - 3), + (i = 0.5), + (e.midX = aa(e.allpts[n], e.allpts[n + 2], e.allpts[n + 4], i)), + (e.midY = aa(e.allpts[n + 1], e.allpts[n + 3], e.allpts[n + 5], i))); + } else if (e.edgeType === 'straight') + (e.allpts = [e.startX, e.startY, e.endX, e.endY]), + (e.midX = (e.startX + e.endX + e.arrowStartX + e.arrowEndX) / 4), + (e.midY = (e.startY + e.endY + e.arrowStartY + e.arrowEndY) / 4); + else if (e.edgeType === 'segments') { + if ( + ((e.allpts = []), + e.allpts.push(e.startX, e.startY), + e.allpts.push.apply(e.allpts, e.segpts), + e.allpts.push(e.endX, e.endY), + e.isRound) + ) { + e.roundCorners = []; + for (var a = 2; a + 3 < e.allpts.length; a += 2) { + var s = e.radii[a / 2 - 1], + l = e.isArcRadius[a / 2 - 1]; + e.roundCorners.push( + mB( + { x: e.allpts[a - 2], y: e.allpts[a - 1] }, + { x: e.allpts[a], y: e.allpts[a + 1], radius: s }, + { x: e.allpts[a + 2], y: e.allpts[a + 3] }, + s, + l + ) + ); + } + } + if (e.segpts.length % 4 === 0) { + var u = e.segpts.length / 2, + h = u - 2; + (e.midX = (e.segpts[h] + e.segpts[u]) / 2), (e.midY = (e.segpts[h + 1] + e.segpts[u + 1]) / 2); + } else { + var f = e.segpts.length / 2 - 1; + if (!e.isRound) (e.midX = e.segpts[f]), (e.midY = e.segpts[f + 1]); + else { + var d = { x: e.segpts[f], y: e.segpts[f + 1] }, + p = e.roundCorners[f / 2], + m = [d.x - p.cx, d.y - p.cy], + g = p.radius / Math.sqrt(Math.pow(m[0], 2) + Math.pow(m[1], 2)); + (m = m.map(function (y) { + return y * g; + })), + (e.midX = p.cx + m[0]), + (e.midY = p.cy + m[1]), + (e.midVector = m); + } + } + } + }; + $a.checkForInvalidEdgeWarning = function (t) { + var e = t[0]._private.rscratch; + e.nodesOverlap || (ft(e.startX) && ft(e.startY) && ft(e.endX) && ft(e.endY)) + ? (e.loggedErr = !1) + : e.loggedErr || + ((e.loggedErr = !0), + tn( + 'Edge `' + + t.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.' + )); + }; + $a.findEdgeControlPoints = function (t) { + var e = this; + if (!(!t || t.length === 0)) { + for ( + var r = this, + n = r.cy, + i = n.hasCompoundNodes(), + a = { + map: new Vc(), + get: o(function (_) { + var A = this.map.get(_[0]); + return A != null ? A.get(_[1]) : null; + }, 'get'), + set: o(function (_, A) { + var L = this.map.get(_[0]); + L == null && ((L = new Vc()), this.map.set(_[0], L)), L.set(_[1], A); + }, 'set') + }, + s = [], + l = [], + u = 0; + u < t.length; + u++ + ) { + var h = t[u], + f = h._private, + d = h.pstyle('curve-style').value; + if (!(h.removed() || !h.takesUpSpace())) { + if (d === 'haystack') { + l.push(h); + continue; + } + var p = + d === 'unbundled-bezier' || + d.endsWith('segments') || + d === 'straight' || + d === 'straight-triangle' || + d.endsWith('taxi'), + m = d === 'unbundled-bezier' || d === 'bezier', + g = f.source, + y = f.target, + v = g.poolIndex(), + x = y.poolIndex(), + b = [v, x].sort(), + w = a.get(b); + w == null && ((w = { eles: [] }), a.set(b, w), s.push(b)), + w.eles.push(h), + p && (w.hasUnbundled = !0), + m && (w.hasBezier = !0); + } + } + for ( + var S = o(function (_) { + var A = s[_], + L = a.get(A), + M = void 0; + if (!L.hasUnbundled) { + var N = L.eles[0].parallelEdges().filter(function (ge) { + return ge.isBundledBezier(); + }); + eB(L.eles), + N.forEach(function (ge) { + return L.eles.push(ge); + }), + L.eles.sort(function (ge, re) { + return ge.poolIndex() - re.poolIndex(); + }); + } + var k = L.eles[0], + I = k.source(), + C = k.target(); + if (I.poolIndex() > C.poolIndex()) { + var O = I; + (I = C), (C = O); + } + var D = (L.srcPos = I.position()), + P = (L.tgtPos = C.position()), + F = (L.srcW = I.outerWidth()), + B = (L.srcH = I.outerHeight()), + $ = (L.tgtW = C.outerWidth()), + z = (L.tgtH = C.outerHeight()), + Y = (L.srcShape = r.nodeShapes[e.getNodeShape(I)]), + Q = (L.tgtShape = r.nodeShapes[e.getNodeShape(C)]), + X = (L.srcCornerRadius = + I.pstyle('corner-radius').value === 'auto' + ? 'auto' + : I.pstyle('corner-radius').pfValue), + ie = (L.tgtCornerRadius = + C.pstyle('corner-radius').value === 'auto' + ? 'auto' + : C.pstyle('corner-radius').pfValue), + j = (L.tgtRs = C._private.rscratch), + J = (L.srcRs = I._private.rscratch); + L.dirCounts = { + north: 0, + west: 0, + south: 0, + east: 0, + northwest: 0, + southwest: 0, + northeast: 0, + southeast: 0 + }; + for (var Z = 0; Z < L.eles.length; Z++) { + var H = L.eles[Z], + q = H[0]._private.rscratch, + K = H.pstyle('curve-style').value, + se = K === 'unbundled-bezier' || K.endsWith('segments') || K.endsWith('taxi'), + ce = !I.same(H.source()); + if (!L.calculatedIntersection && I !== C && (L.hasBezier || L.hasUnbundled)) { + L.calculatedIntersection = !0; + var ue = Y.intersectLine(D.x, D.y, F, B, P.x, P.y, 0, X, J), + te = (L.srcIntn = ue), + De = Q.intersectLine(P.x, P.y, $, z, D.x, D.y, 0, ie, j), + oe = (L.tgtIntn = De), + ke = (L.intersectionPts = { + x1: ue[0], + x2: De[0], + y1: ue[1], + y2: De[1] + }), + Ie = (L.posPts = { x1: D.x, x2: P.x, y1: D.y, y2: P.y }), + Se = De[1] - ue[1], + Ue = De[0] - ue[0], + Pe = Math.sqrt(Ue * Ue + Se * Se), + _e = (L.vector = { x: Ue, y: Se }), + me = (L.vectorNorm = { x: _e.x / Pe, y: _e.y / Pe }), + W = { x: -me.y, y: me.x }; + (L.nodesOverlap = + !ft(Pe) || + Q.checkPoint(ue[0], ue[1], 0, $, z, P.x, P.y, ie, j) || + Y.checkPoint(De[0], De[1], 0, F, B, D.x, D.y, X, J)), + (L.vectorNormInverse = W), + (M = { + nodesOverlap: L.nodesOverlap, + dirCounts: L.dirCounts, + calculatedIntersection: !0, + hasBezier: L.hasBezier, + hasUnbundled: L.hasUnbundled, + eles: L.eles, + srcPos: P, + tgtPos: D, + srcW: $, + srcH: z, + tgtW: F, + tgtH: B, + srcIntn: oe, + tgtIntn: te, + srcShape: Q, + tgtShape: Y, + posPts: { x1: Ie.x2, y1: Ie.y2, x2: Ie.x1, y2: Ie.y1 }, + intersectionPts: { + x1: ke.x2, + y1: ke.y2, + x2: ke.x1, + y2: ke.y1 + }, + vector: { x: -_e.x, y: -_e.y }, + vectorNorm: { x: -me.x, y: -me.y }, + vectorNormInverse: { x: -W.x, y: -W.y } + }); + } + var fe = ce ? M : L; + (q.nodesOverlap = fe.nodesOverlap), + (q.srcIntn = fe.srcIntn), + (q.tgtIntn = fe.tgtIntn), + (q.isRound = K.startsWith('round')), + i && + (I.isParent() || I.isChild() || C.isParent() || C.isChild()) && + (I.parents().anySame(C) || + C.parents().anySame(I) || + (I.same(C) && I.isParent())) + ? e.findCompoundLoopPoints(H, fe, Z, se) + : I === C + ? e.findLoopPoints(H, fe, Z, se) + : K.endsWith('segments') + ? e.findSegmentsPoints(H, fe) + : K.endsWith('taxi') + ? e.findTaxiPoints(H, fe) + : K === 'straight' || + (!se && L.eles.length % 2 === 1 && Z === Math.floor(L.eles.length / 2)) + ? e.findStraightEdgePoints(H) + : e.findBezierPoints(H, fe, Z, se, ce), + e.findEndpoints(H), + e.tryToCorrectInvalidPoints(H, fe), + e.checkForInvalidEdgeWarning(H), + e.storeAllpts(H), + e.storeEdgeProjections(H), + e.calculateArrowAngles(H), + e.recalculateEdgeLabelProjections(H), + e.calculateLabelAngles(H); + } + }, '_loop'), + T = 0; + T < s.length; + T++ + ) + S(T); + this.findHaystackPoints(l); + } + }; + o(Fme, 'getPts'); + $a.getSegmentPoints = function (t) { + var e = t[0]._private.rscratch, + r = e.edgeType; + if (r === 'segments') return this.recalculateRenderedStyle(t), Fme(e.segpts); + }; + $a.getControlPoints = function (t) { + var e = t[0]._private.rscratch, + r = e.edgeType; + if (r === 'bezier' || r === 'multibezier' || r === 'self' || r === 'compound') + return this.recalculateRenderedStyle(t), Fme(e.ctrlpts); + }; + $a.getEdgeMidpoint = function (t) { + var e = t[0]._private.rscratch; + return this.recalculateRenderedStyle(t), { x: e.midX, y: e.midY }; + }; + nb = {}; + nb.manualEndptToPx = function (t, e) { + var r = this, + n = t.position(), + i = t.outerWidth(), + a = t.outerHeight(), + s = t._private.rscratch; + if (e.value.length === 2) { + var l = [e.pfValue[0], e.pfValue[1]]; + return ( + e.units[0] === '%' && (l[0] = l[0] * i), + e.units[1] === '%' && (l[1] = l[1] * a), + (l[0] += n.x), + (l[1] += n.y), + l + ); + } else { + var u = e.pfValue[0]; + u = -Math.PI / 2 + u; + var h = 2 * Math.max(i, a), + f = [n.x + Math.cos(u) * h, n.y + Math.sin(u) * h]; + return r.nodeShapes[this.getNodeShape(t)].intersectLine( + n.x, + n.y, + i, + a, + f[0], + f[1], + 0, + t.pstyle('corner-radius').value === 'auto' ? 'auto' : t.pstyle('corner-radius').pfValue, + s + ); + } + }; + nb.findEndpoints = function (t) { + var e = this, + r, + n = t.source()[0], + i = t.target()[0], + a = n.position(), + s = i.position(), + l = t.pstyle('target-arrow-shape').value, + u = t.pstyle('source-arrow-shape').value, + h = t.pstyle('target-distance-from-node').pfValue, + f = t.pstyle('source-distance-from-node').pfValue, + d = n._private.rscratch, + p = i._private.rscratch, + m = t.pstyle('curve-style').value, + g = t._private.rscratch, + y = g.edgeType, + v = m === 'taxi', + x = y === 'self' || y === 'compound', + b = y === 'bezier' || y === 'multibezier' || x, + w = y !== 'bezier', + S = y === 'straight' || y === 'segments', + T = y === 'segments', + E = b || w || S, + _ = x || v, + A = t.pstyle('source-endpoint'), + L = _ ? 'outside-to-node' : A.value, + M = n.pstyle('corner-radius').value === 'auto' ? 'auto' : n.pstyle('corner-radius').pfValue, + N = t.pstyle('target-endpoint'), + k = _ ? 'outside-to-node' : N.value, + I = i.pstyle('corner-radius').value === 'auto' ? 'auto' : i.pstyle('corner-radius').pfValue; + (g.srcManEndpt = A), (g.tgtManEndpt = N); + var C, O, D, P; + if (b) { + var F = [g.ctrlpts[0], g.ctrlpts[1]], + B = w ? [g.ctrlpts[g.ctrlpts.length - 2], g.ctrlpts[g.ctrlpts.length - 1]] : F; + (C = B), (O = F); + } else if (S) { + var $ = T ? g.segpts.slice(0, 2) : [s.x, s.y], + z = T ? g.segpts.slice(g.segpts.length - 2) : [a.x, a.y]; + (C = z), (O = $); + } + if (k === 'inside-to-node') r = [s.x, s.y]; + else if (N.units) r = this.manualEndptToPx(i, N); + else if (k === 'outside-to-line') r = g.tgtIntn; + else if ( + (k === 'outside-to-node' || k === 'outside-to-node-or-label' + ? (D = C) + : (k === 'outside-to-line' || k === 'outside-to-line-or-label') && (D = [a.x, a.y]), + (r = e.nodeShapes[this.getNodeShape(i)].intersectLine( + s.x, + s.y, + i.outerWidth(), + i.outerHeight(), + D[0], + D[1], + 0, + I, + p + )), + k === 'outside-to-node-or-label' || k === 'outside-to-line-or-label') + ) { + var Y = i._private.rscratch, + Q = Y.labelWidth, + X = Y.labelHeight, + ie = Y.labelX, + j = Y.labelY, + J = Q / 2, + Z = X / 2, + H = i.pstyle('text-valign').value; + H === 'top' ? (j -= Z) : H === 'bottom' && (j += Z); + var q = i.pstyle('text-halign').value; + q === 'left' ? (ie -= J) : q === 'right' && (ie += J); + var K = Yx(D[0], D[1], [ie - J, j - Z, ie + J, j - Z, ie + J, j + Z, ie - J, j + Z], s.x, s.y); + if (K.length > 0) { + var se = a, + ce = B0(se, Jg(r)), + ue = B0(se, Jg(K)), + te = ce; + if ((ue < ce && ((r = K), (te = ue)), K.length > 2)) { + var De = B0(se, { x: K[2], y: K[3] }); + De < te && (r = [K[2], K[3]]); + } + } + } + var oe = i6(r, C, e.arrowShapes[l].spacing(t) + h), + ke = i6(r, C, e.arrowShapes[l].gap(t) + h); + if ( + ((g.endX = ke[0]), + (g.endY = ke[1]), + (g.arrowEndX = oe[0]), + (g.arrowEndY = oe[1]), + L === 'inside-to-node') + ) + r = [a.x, a.y]; + else if (A.units) r = this.manualEndptToPx(n, A); + else if (L === 'outside-to-line') r = g.srcIntn; + else if ( + (L === 'outside-to-node' || L === 'outside-to-node-or-label' + ? (P = O) + : (L === 'outside-to-line' || L === 'outside-to-line-or-label') && (P = [s.x, s.y]), + (r = e.nodeShapes[this.getNodeShape(n)].intersectLine( + a.x, + a.y, + n.outerWidth(), + n.outerHeight(), + P[0], + P[1], + 0, + M, + d + )), + L === 'outside-to-node-or-label' || L === 'outside-to-line-or-label') + ) { + var Ie = n._private.rscratch, + Se = Ie.labelWidth, + Ue = Ie.labelHeight, + Pe = Ie.labelX, + _e = Ie.labelY, + me = Se / 2, + W = Ue / 2, + fe = n.pstyle('text-valign').value; + fe === 'top' ? (_e -= W) : fe === 'bottom' && (_e += W); + var ge = n.pstyle('text-halign').value; + ge === 'left' ? (Pe -= me) : ge === 'right' && (Pe += me); + var re = Yx( + P[0], + P[1], + [Pe - me, _e - W, Pe + me, _e - W, Pe + me, _e + W, Pe - me, _e + W], + a.x, + a.y + ); + if (re.length > 0) { + var he = s, + ne = B0(he, Jg(r)), + ae = B0(he, Jg(re)), + we = ne; + if ((ae < ne && ((r = [re[0], re[1]]), (we = ae)), re.length > 2)) { + var Te = B0(he, { x: re[2], y: re[3] }); + Te < we && (r = [re[2], re[3]]); + } + } + } + var Ce = i6(r, O, e.arrowShapes[u].spacing(t) + f), + Ae = i6(r, O, e.arrowShapes[u].gap(t) + f); + (g.startX = Ae[0]), + (g.startY = Ae[1]), + (g.arrowStartX = Ce[0]), + (g.arrowStartY = Ce[1]), + E && + (!ft(g.startX) || !ft(g.startY) || !ft(g.endX) || !ft(g.endY) + ? (g.badLine = !0) + : (g.badLine = !1)); + }; + nb.getSourceEndpoint = function (t) { + var e = t[0]._private.rscratch; + switch ((this.recalculateRenderedStyle(t), e.edgeType)) { + case 'haystack': + return { x: e.haystackPts[0], y: e.haystackPts[1] }; + default: + return { x: e.arrowStartX, y: e.arrowStartY }; + } + }; + nb.getTargetEndpoint = function (t) { + var e = t[0]._private.rscratch; + switch ((this.recalculateRenderedStyle(t), e.edgeType)) { + case 'haystack': + return { x: e.haystackPts[2], y: e.haystackPts[3] }; + default: + return { x: e.arrowEndX, y: e.arrowEndY }; + } + }; + gB = {}; + o(hQe, 'pushBezierPts'); + gB.storeEdgeProjections = function (t) { + var e = t._private, + r = e.rscratch, + n = r.edgeType; + if ( + ((e.rstyle.bezierPts = null), + (e.rstyle.linePts = null), + (e.rstyle.haystackPts = null), + n === 'multibezier' || n === 'bezier' || n === 'self' || n === 'compound') + ) { + e.rstyle.bezierPts = []; + for (var i = 0; i + 5 < r.allpts.length; i += 4) hQe(this, t, r.allpts.slice(i, i + 6)); + } else if (n === 'segments') + for (var a = (e.rstyle.linePts = []), i = 0; i + 1 < r.allpts.length; i += 2) + a.push({ x: r.allpts[i], y: r.allpts[i + 1] }); + else if (n === 'haystack') { + var s = r.haystackPts; + e.rstyle.haystackPts = [ + { x: s[0], y: s[1] }, + { x: s[2], y: s[3] } + ]; + } + e.rstyle.arrowWidth = + this.getArrowWidth(t.pstyle('width').pfValue, t.pstyle('arrow-scale').value) * this.arrowShapeWidth; + }; + gB.recalculateEdgeProjections = function (t) { + this.findEdgeControlPoints(t); + }; + Hc = {}; + Hc.recalculateNodeLabelProjection = function (t) { + var e = t.pstyle('label').strValue; + if (!Sf(e)) { + var r, + n, + i = t._private, + a = t.width(), + s = t.height(), + l = t.padding(), + u = t.position(), + h = t.pstyle('text-halign').strValue, + f = t.pstyle('text-valign').strValue, + d = i.rscratch, + p = i.rstyle; + switch (h) { + case 'left': + r = u.x - a / 2 - l; + break; + case 'right': + r = u.x + a / 2 + l; + break; + default: + r = u.x; + } + switch (f) { + case 'top': + n = u.y - s / 2 - l; + break; + case 'bottom': + n = u.y + s / 2 + l; + break; + default: + n = u.y; + } + (d.labelX = r), + (d.labelY = n), + (p.labelX = r), + (p.labelY = n), + this.calculateLabelAngles(t), + this.applyLabelDimensions(t); + } + }; + (zme = o(function (e, r) { + var n = Math.atan(r / e); + return e === 0 && n < 0 && (n = n * -1), n; + }, 'lineAngleFromDelta')), + (Gme = o(function (e, r) { + var n = r.x - e.x, + i = r.y - e.y; + return zme(n, i); + }, 'lineAngle')), + (fQe = o(function (e, r, n, i) { + var a = Hx(0, i - 0.001, 1), + s = Hx(0, i + 0.001, 1), + l = t1(e, r, n, a), + u = t1(e, r, n, s); + return Gme(l, u); + }, 'bezierAngle')); + Hc.recalculateEdgeLabelProjections = function (t) { + var e, + r = t._private, + n = r.rscratch, + i = this, + a = { + mid: t.pstyle('label').strValue, + source: t.pstyle('source-label').strValue, + target: t.pstyle('target-label').strValue + }; + if (a.mid || a.source || a.target) { + e = { x: n.midX, y: n.midY }; + var s = o(function (d, p, m) { + Tf(r.rscratch, d, p, m), Tf(r.rstyle, d, p, m); + }, 'setRs'); + s('labelX', null, e.x), s('labelY', null, e.y); + var l = zme(n.midDispX, n.midDispY); + s('labelAutoAngle', null, l); + var u = o(function f() { + if (f.cache) return f.cache; + for (var d = [], p = 0; p + 5 < n.allpts.length; p += 4) { + var m = { x: n.allpts[p], y: n.allpts[p + 1] }, + g = { x: n.allpts[p + 2], y: n.allpts[p + 3] }, + y = { x: n.allpts[p + 4], y: n.allpts[p + 5] }; + d.push({ + p0: m, + p1: g, + p2: y, + startDist: 0, + length: 0, + segments: [] + }); + } + var v = r.rstyle.bezierPts, + x = i.bezierProjPcts.length; + function b(_, A, L, M, N) { + var k = H0(A, L), + I = _.segments[_.segments.length - 1], + C = { + p0: A, + p1: L, + t0: M, + t1: N, + startDist: I ? I.startDist + I.length : 0, + length: k + }; + _.segments.push(C), (_.length += k); + } + o(b, 'addSegment'); + for (var w = 0; w < d.length; w++) { + var S = d[w], + T = d[w - 1]; + T && (S.startDist = T.startDist + T.length), + b(S, S.p0, v[w * x], 0, i.bezierProjPcts[0]); + for (var E = 0; E < x - 1; E++) + b(S, v[w * x + E], v[w * x + E + 1], i.bezierProjPcts[E], i.bezierProjPcts[E + 1]); + b(S, v[w * x + x - 1], S.p2, i.bezierProjPcts[x - 1], 1); + } + return (f.cache = d); + }, 'createControlPointInfo'), + h = o(function (d) { + var p, + m = d === 'source'; + if (a[d]) { + var g = t.pstyle(d + '-text-offset').pfValue; + switch (n.edgeType) { + case 'self': + case 'compound': + case 'bezier': + case 'multibezier': { + for (var y = u(), v, x = 0, b = 0, w = 0; w < y.length; w++) { + for ( + var S = y[m ? w : y.length - 1 - w], T = 0; + T < S.segments.length; + T++ + ) { + var E = S.segments[m ? T : S.segments.length - 1 - T], + _ = w === y.length - 1 && T === S.segments.length - 1; + if (((x = b), (b += E.length), b >= g || _)) { + v = { cp: S, segment: E }; + break; + } + } + if (v) break; + } + var A = v.cp, + L = v.segment, + M = (g - x) / L.length, + N = L.t1 - L.t0, + k = m ? L.t0 + N * M : L.t1 - N * M; + (k = Hx(0, k, 1)), + (e = t1(A.p0, A.p1, A.p2, k)), + (p = fQe(A.p0, A.p1, A.p2, k)); + break; + } + case 'straight': + case 'segments': + case 'haystack': { + for ( + var I = 0, C, O, D, P, F = n.allpts.length, B = 0; + B + 3 < F && + (m + ? ((D = { x: n.allpts[B], y: n.allpts[B + 1] }), + (P = { x: n.allpts[B + 2], y: n.allpts[B + 3] })) + : ((D = { + x: n.allpts[F - 2 - B], + y: n.allpts[F - 1 - B] + }), + (P = { + x: n.allpts[F - 4 - B], + y: n.allpts[F - 3 - B] + })), + (C = H0(D, P)), + (O = I), + (I += C), + !(I >= g)); + B += 2 + ); + var $ = g - O, + z = $ / C; + (z = Hx(0, z, 1)), (e = yWe(D, P, z)), (p = Gme(D, P)); + break; + } + } + s('labelX', d, e.x), s('labelY', d, e.y), s('labelAutoAngle', d, p); + } + }, 'calculateEndProjection'); + h('source'), h('target'), this.applyLabelDimensions(t); + } + }; + Hc.applyLabelDimensions = function (t) { + this.applyPrefixedLabelDimensions(t), + t.isEdge() && + (this.applyPrefixedLabelDimensions(t, 'source'), + this.applyPrefixedLabelDimensions(t, 'target')); + }; + Hc.applyPrefixedLabelDimensions = function (t, e) { + var r = t._private, + n = this.getLabelText(t, e), + i = this.calculateLabelDimensions(t, n), + a = t.pstyle('line-height').pfValue, + s = t.pstyle('text-wrap').strValue, + l = Ul(r.rscratch, 'labelWrapCachedLines', e) || [], + u = s !== 'wrap' ? 1 : Math.max(l.length, 1), + h = i.height / u, + f = h * a, + d = i.width, + p = i.height + (u - 1) * (a - 1) * h; + Tf(r.rstyle, 'labelWidth', e, d), + Tf(r.rscratch, 'labelWidth', e, d), + Tf(r.rstyle, 'labelHeight', e, p), + Tf(r.rscratch, 'labelHeight', e, p), + Tf(r.rscratch, 'labelLineHeight', e, f); + }; + Hc.getLabelText = function (t, e) { + var r = t._private, + n = e ? e + '-' : '', + i = t.pstyle(n + 'label').strValue, + a = t.pstyle('text-transform').value, + s = o(function (Q, X) { + return X ? (Tf(r.rscratch, Q, e, X), X) : Ul(r.rscratch, Q, e); + }, 'rscratch'); + if (!i) return ''; + a == 'none' || (a == 'uppercase' ? (i = i.toUpperCase()) : a == 'lowercase' && (i = i.toLowerCase())); + var l = t.pstyle('text-wrap').value; + if (l === 'wrap') { + var u = s('labelKey'); + if (u != null && s('labelWrapKey') === u) return s('labelWrapCachedText'); + for ( + var h = '\u200B', + f = i.split(` +`), + d = t.pstyle('text-max-width').pfValue, + p = t.pstyle('text-overflow-wrap').value, + m = p === 'anywhere', + g = [], + y = /[\s\u200b]+|$/g, + v = 0; + v < f.length; + v++ + ) { + var x = f[v], + b = this.calculateLabelDimensions(t, x), + w = b.width; + if (m) { + var S = x.split('').join(h); + x = S; + } + if (w > d) { + var T = x.matchAll(y), + E = '', + _ = 0, + A = Tpe(T), + L; + try { + for (A.s(); !(L = A.n()).done; ) { + var M = L.value, + N = M[0], + k = x.substring(_, M.index); + _ = M.index + N.length; + var I = E.length === 0 ? k : E + k + N, + C = this.calculateLabelDimensions(t, I), + O = C.width; + O <= d ? (E += k + N) : (E && g.push(E), (E = k + N)); + } + } catch (Y) { + A.e(Y); + } finally { + A.f(); + } + E.match(/^[\s\u200b]+$/) || g.push(E); + } else g.push(x); + } + s('labelWrapCachedLines', g), + (i = s( + 'labelWrapCachedText', + g.join(` +`) + )), + s('labelWrapKey', u); + } else if (l === 'ellipsis') { + var D = t.pstyle('text-max-width').pfValue, + P = '', + F = '\u2026', + B = !1; + if (this.calculateLabelDimensions(t, i).width < D) return i; + for (var $ = 0; $ < i.length; $++) { + var z = this.calculateLabelDimensions(t, P + i[$] + F).width; + if (z > D) break; + (P += i[$]), $ === i.length - 1 && (B = !0); + } + return B || (P += F), P; + } + return i; + }; + Hc.getLabelJustification = function (t) { + var e = t.pstyle('text-justification').strValue, + r = t.pstyle('text-halign').strValue; + if (e === 'auto') + if (t.isNode()) + switch (r) { + case 'left': + return 'right'; + case 'right': + return 'left'; + default: + return 'center'; + } + else return 'center'; + else return e; + }; + Hc.calculateLabelDimensions = function (t, e) { + var r = this, + n = r.cy.window(), + i = n.document, + a = U0(e, t._private.labelDimsKey), + s = r.labelDimCache || (r.labelDimCache = []), + l = s[a]; + if (l != null) return l; + var u = 0, + h = t.pstyle('font-style').strValue, + f = t.pstyle('font-size').pfValue, + d = t.pstyle('font-family').strValue, + p = t.pstyle('font-weight').strValue, + m = this.labelCalcCanvas, + g = this.labelCalcCanvasContext; + if (!m) { + (m = this.labelCalcCanvas = i.createElement('canvas')), + (g = this.labelCalcCanvasContext = m.getContext('2d')); + var y = m.style; + (y.position = 'absolute'), + (y.left = '-9999px'), + (y.top = '-9999px'), + (y.zIndex = '-1'), + (y.visibility = 'hidden'), + (y.pointerEvents = 'none'); + } + g.font = ''.concat(h, ' ').concat(p, ' ').concat(f, 'px ').concat(d); + for ( + var v = 0, + x = 0, + b = e.split(` +`), + w = 0; + w < b.length; + w++ + ) { + var S = b[w], + T = g.measureText(S), + E = Math.ceil(T.width), + _ = f; + (v = Math.max(E, v)), (x += _); + } + return (v += u), (x += u), (s[a] = { width: v, height: x }); + }; + Hc.calculateLabelAngle = function (t, e) { + var r = t._private, + n = r.rscratch, + i = t.isEdge(), + a = e ? e + '-' : '', + s = t.pstyle(a + 'text-rotation'), + l = s.strValue; + return l === 'none' + ? 0 + : i && l === 'autorotate' + ? n.labelAutoAngle + : l === 'autorotate' + ? 0 + : s.pfValue; + }; + Hc.calculateLabelAngles = function (t) { + var e = this, + r = t.isEdge(), + n = t._private, + i = n.rscratch; + (i.labelAngle = e.calculateLabelAngle(t)), + r && + ((i.sourceLabelAngle = e.calculateLabelAngle(t, 'source')), + (i.targetLabelAngle = e.calculateLabelAngle(t, 'target'))); + }; + ($me = {}), (cpe = 28), (upe = !1); + $me.getNodeShape = function (t) { + var e = this, + r = t.pstyle('shape').value; + if (r === 'cutrectangle' && (t.width() < cpe || t.height() < cpe)) + return ( + upe || + (tn( + 'The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead' + ), + (upe = !0)), + 'rectangle' + ); + if (t.isParent()) + return r === 'rectangle' || + r === 'roundrectangle' || + r === 'round-rectangle' || + r === 'cutrectangle' || + r === 'cut-rectangle' || + r === 'barrel' + ? r + : 'rectangle'; + if (r === 'polygon') { + var n = t.pstyle('shape-polygon-points').value; + return e.nodeShapes.makePolygon(n).name; + } + return r; + }; + K6 = {}; + K6.registerCalculationListeners = function () { + var t = this.cy, + e = t.collection(), + r = this, + n = o(function (s) { + var l = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0; + if ((e.merge(s), l)) + for (var u = 0; u < s.length; u++) { + var h = s[u], + f = h._private, + d = f.rstyle; + (d.clean = !1), (d.cleanConnected = !1); + } + }, 'enqueue'); + r.binder(t) + .on( + 'bounds.* dirty.*', + o(function (s) { + var l = s.target; + n(l); + }, 'onDirtyBounds') + ) + .on( + 'style.* background.*', + o(function (s) { + var l = s.target; + n(l, !1); + }, 'onDirtyStyle') + ); + var i = o(function (s) { + if (s) { + var l = r.onUpdateEleCalcsFns; + e.cleanStyle(); + for (var u = 0; u < e.length; u++) { + var h = e[u], + f = h._private.rstyle; + h.isNode() && !f.cleanConnected && (n(h.connectedEdges()), (f.cleanConnected = !0)); + } + if (l) + for (var d = 0; d < l.length; d++) { + var p = l[d]; + p(s, e); + } + r.recalculateRenderedStyle(e), (e = t.collection()); + } + }, 'updateEleCalcs'); + (r.flushRenderedStyleQueue = function () { + i(!0); + }), + r.beforeRender(i, r.beforeRenderPriorities.eleCalcs); + }; + K6.onUpdateEleCalcs = function (t) { + var e = (this.onUpdateEleCalcsFns = this.onUpdateEleCalcsFns || []); + e.push(t); + }; + K6.recalculateRenderedStyle = function (t, e) { + var r = o(function (S) { + return S._private.rstyle.cleanConnected; + }, 'isCleanConnected'), + n = [], + i = []; + if (!this.destroyed) { + e === void 0 && (e = !0); + for (var a = 0; a < t.length; a++) { + var s = t[a], + l = s._private, + u = l.rstyle; + s.isEdge() && (!r(s.source()) || !r(s.target())) && (u.clean = !1), + !((e && u.clean) || s.removed()) && + s.pstyle('display').value !== 'none' && + (l.group === 'nodes' ? i.push(s) : n.push(s), (u.clean = !0)); + } + for (var h = 0; h < i.length; h++) { + var f = i[h], + d = f._private, + p = d.rstyle, + m = f.position(); + this.recalculateNodeLabelProjection(f), + (p.nodeX = m.x), + (p.nodeY = m.y), + (p.nodeW = f.pstyle('width').pfValue), + (p.nodeH = f.pstyle('height').pfValue); + } + this.recalculateEdgeProjections(n); + for (var g = 0; g < n.length; g++) { + var y = n[g], + v = y._private, + x = v.rstyle, + b = v.rscratch; + (x.srcX = b.arrowStartX), + (x.srcY = b.arrowStartY), + (x.tgtX = b.arrowEndX), + (x.tgtY = b.arrowEndY), + (x.midX = b.midX), + (x.midY = b.midY), + (x.labelAngle = b.labelAngle), + (x.sourceLabelAngle = b.sourceLabelAngle), + (x.targetLabelAngle = b.targetLabelAngle); + } + } + }; + Q6 = {}; + Q6.updateCachedGrabbedEles = function () { + var t = this.cachedZSortedEles; + if (t) { + (t.drag = []), (t.nondrag = []); + for (var e = [], r = 0; r < t.length; r++) { + var n = t[r], + i = n._private.rscratch; + n.grabbed() && !n.isParent() ? e.push(n) : i.inDragLayer ? t.drag.push(n) : t.nondrag.push(n); + } + for (var r = 0; r < e.length; r++) { + var n = e[r]; + t.drag.push(n); + } + } + }; + Q6.invalidateCachedZSortedEles = function () { + this.cachedZSortedEles = null; + }; + Q6.getCachedZSortedEles = function (t) { + if (t || !this.cachedZSortedEles) { + var e = this.cy.mutableElements().toArray(); + e.sort(Eme), + (e.interactive = e.filter(function (r) { + return r.interactive(); + })), + (this.cachedZSortedEles = e), + this.updateCachedGrabbedEles(); + } else e = this.cachedZSortedEles; + return e; + }; + Vme = {}; + [j0, N6, $a, nb, gB, Hc, $me, K6, Q6].forEach(function (t) { + Wt(Vme, t); + }); + Ume = {}; + Ume.getCachedImage = function (t, e, r) { + var n = this, + i = (n.imageCache = n.imageCache || {}), + a = i[t]; + if (a) return a.image.complete || a.image.addEventListener('load', r), a.image; + a = i[t] = i[t] || {}; + var s = (a.image = new Image()); + s.addEventListener('load', r), + s.addEventListener('error', function () { + s.error = !0; + }); + var l = 'data:', + u = t.substring(0, l.length).toLowerCase() === l; + return u || ((e = e === 'null' ? null : e), (s.crossOrigin = e)), (s.src = t), s; + }; + g1 = {}; + g1.registerBinding = function (t, e, r, n) { + var i = Array.prototype.slice.apply(arguments, [1]), + a = this.binder(t); + return a.on.apply(a, i); + }; + g1.binder = function (t) { + var e = this, + r = e.cy.window(), + n = t === r || t === r.document || t === r.document.body || BHe(t); + if (e.supportsPassiveEvents == null) { + var i = !1; + try { + var a = Object.defineProperty({}, 'passive', { + get: o(function () { + return (i = !0), !0; + }, 'get') + }); + r.addEventListener('test', null, a); + } catch {} + e.supportsPassiveEvents = i; + } + var s = o(function (u, h, f) { + var d = Array.prototype.slice.call(arguments); + return ( + n && e.supportsPassiveEvents && (d[2] = { capture: f ?? !1, passive: !1, once: !1 }), + e.bindings.push({ target: t, args: d }), + (t.addEventListener || t.on).apply(t, d), + this + ); + }, 'on'); + return { on: s, addEventListener: s, addListener: s, bind: s }; + }; + g1.nodeIsDraggable = function (t) { + return t && t.isNode() && !t.locked() && t.grabbable(); + }; + g1.nodeIsGrabbable = function (t) { + return this.nodeIsDraggable(t) && t.interactive(); + }; + g1.load = function () { + var t = this, + e = t.cy.window(), + r = o(function (W) { + return W.selected(); + }, 'isSelected'), + n = o(function (W, fe, ge, re) { + W == null && (W = t.cy); + for (var he = 0; he < fe.length; he++) { + var ne = fe[he]; + W.emit({ originalEvent: ge, type: ne, position: re }); + } + }, 'triggerEvents'), + i = o(function (W) { + return W.shiftKey || W.metaKey || W.ctrlKey; + }, 'isMultSelKeyDown'), + a = o(function (W, fe) { + var ge = !0; + if (t.cy.hasCompoundNodes() && W && W.pannable()) + for (var re = 0; fe && re < fe.length; re++) { + var W = fe[re]; + if (W.isNode() && W.isParent() && !W.pannable()) { + ge = !1; + break; + } + } + else ge = !0; + return ge; + }, 'allowPanningPassthrough'), + s = o(function (W) { + W[0]._private.grabbed = !0; + }, 'setGrabbed'), + l = o(function (W) { + W[0]._private.grabbed = !1; + }, 'setFreed'), + u = o(function (W) { + W[0]._private.rscratch.inDragLayer = !0; + }, 'setInDragLayer'), + h = o(function (W) { + W[0]._private.rscratch.inDragLayer = !1; + }, 'setOutDragLayer'), + f = o(function (W) { + W[0]._private.rscratch.isGrabTarget = !0; + }, 'setGrabTarget'), + d = o(function (W) { + W[0]._private.rscratch.isGrabTarget = !1; + }, 'removeGrabTarget'), + p = o(function (W, fe) { + var ge = fe.addToList, + re = ge.has(W); + !re && W.grabbable() && !W.locked() && (ge.merge(W), s(W)); + }, 'addToDragList'), + m = o(function (W, fe) { + if (W.cy().hasCompoundNodes() && !(fe.inDragLayer == null && fe.addToList == null)) { + var ge = W.descendants(); + fe.inDragLayer && (ge.forEach(u), ge.connectedEdges().forEach(u)), + fe.addToList && p(ge, fe); + } + }, 'addDescendantsToDrag'), + g = o(function (W, fe) { + fe = fe || {}; + var ge = W.cy().hasCompoundNodes(); + fe.inDragLayer && + (W.forEach(u), + W.neighborhood() + .stdFilter(function (re) { + return !ge || re.isEdge(); + }) + .forEach(u)), + fe.addToList && + W.forEach(function (re) { + p(re, fe); + }), + m(W, fe), + x(W, { inDragLayer: fe.inDragLayer }), + t.updateCachedGrabbedEles(); + }, 'addNodesToDrag'), + y = g, + v = o(function (W) { + W && + (t.getCachedZSortedEles().forEach(function (fe) { + l(fe), h(fe), d(fe); + }), + t.updateCachedGrabbedEles()); + }, 'freeDraggedElements'), + x = o(function (W, fe) { + if (!(fe.inDragLayer == null && fe.addToList == null) && W.cy().hasCompoundNodes()) { + var ge = W.ancestors().orphans(); + if (!ge.same(W)) { + var re = ge.descendants().spawnSelf().merge(ge).unmerge(W).unmerge(W.descendants()), + he = re.connectedEdges(); + fe.inDragLayer && (he.forEach(u), re.forEach(u)), + fe.addToList && + re.forEach(function (ne) { + p(ne, fe); + }); + } + } + }, 'updateAncestorsInDragLayer'), + b = o(function () { + document.activeElement != null && + document.activeElement.blur != null && + document.activeElement.blur(); + }, 'blurActiveDomElement'), + w = typeof MutationObserver < 'u', + S = typeof ResizeObserver < 'u'; + w + ? ((t.removeObserver = new MutationObserver(function (me) { + for (var W = 0; W < me.length; W++) { + var fe = me[W], + ge = fe.removedNodes; + if (ge) + for (var re = 0; re < ge.length; re++) { + var he = ge[re]; + if (he === t.container) { + t.destroy(); + break; + } + } + } + })), + t.container.parentNode && + t.removeObserver.observe(t.container.parentNode, { + childList: !0 + })) + : t.registerBinding(t.container, 'DOMNodeRemoved', function (me) { + t.destroy(); + }); + var T = P6(function () { + t.cy.resize(); + }, 100); + w && + ((t.styleObserver = new MutationObserver(T)), + t.styleObserver.observe(t.container, { attributes: !0 })), + t.registerBinding(e, 'resize', T), + S && ((t.resizeObserver = new ResizeObserver(T)), t.resizeObserver.observe(t.container)); + var E = o(function (W, fe) { + for (; W != null; ) fe(W), (W = W.parentNode); + }, 'forEachUp'), + _ = o(function () { + t.invalidateContainerClientCoordsCache(); + }, 'invalidateCoords'); + E(t.container, function (me) { + t.registerBinding(me, 'transitionend', _), + t.registerBinding(me, 'animationend', _), + t.registerBinding(me, 'scroll', _); + }), + t.registerBinding(t.container, 'contextmenu', function (me) { + me.preventDefault(); + }); + var A = o(function () { + return t.selection[4] !== 0; + }, 'inBoxSelection'), + L = o(function (W) { + for ( + var fe = t.findContainerClientCoords(), + ge = fe[0], + re = fe[1], + he = fe[2], + ne = fe[3], + ae = W.touches ? W.touches : [W], + we = !1, + Te = 0; + Te < ae.length; + Te++ + ) { + var Ce = ae[Te]; + if ( + ge <= Ce.clientX && + Ce.clientX <= ge + he && + re <= Ce.clientY && + Ce.clientY <= re + ne + ) { + we = !0; + break; + } + } + if (!we) return !1; + for (var Ae = t.container, Ge = W.target, Me = Ge.parentNode, ye = !1; Me; ) { + if (Me === Ae) { + ye = !0; + break; + } + Me = Me.parentNode; + } + return !!ye; + }, 'eventInContainer'); + t.registerBinding( + t.container, + 'mousedown', + o(function (W) { + if (L(W) && !(t.hoverData.which === 1 && W.which !== 1)) { + W.preventDefault(), b(), (t.hoverData.capture = !0), (t.hoverData.which = W.which); + var fe = t.cy, + ge = [W.clientX, W.clientY], + re = t.projectIntoViewport(ge[0], ge[1]), + he = t.selection, + ne = t.findNearestElements(re[0], re[1], !0, !1), + ae = ne[0], + we = t.dragData.possibleDragElements; + (t.hoverData.mdownPos = re), (t.hoverData.mdownGPos = ge); + var Te = o(function () { + (t.hoverData.tapholdCancelled = !1), + clearTimeout(t.hoverData.tapholdTimeout), + (t.hoverData.tapholdTimeout = setTimeout(function () { + if (!t.hoverData.tapholdCancelled) { + var He = t.hoverData.down; + He + ? He.emit({ + originalEvent: W, + type: 'taphold', + position: { x: re[0], y: re[1] } + }) + : fe.emit({ + originalEvent: W, + type: 'taphold', + position: { x: re[0], y: re[1] } + }); + } + }, t.tapholdDuration)); + }, 'checkForTaphold'); + if (W.which == 3) { + t.hoverData.cxtStarted = !0; + var Ce = { + originalEvent: W, + type: 'cxttapstart', + position: { x: re[0], y: re[1] } + }; + ae ? (ae.activate(), ae.emit(Ce), (t.hoverData.down = ae)) : fe.emit(Ce), + (t.hoverData.downTime = new Date().getTime()), + (t.hoverData.cxtDragged = !1); + } else if (W.which == 1) { + ae && ae.activate(); + { + if (ae != null && t.nodeIsGrabbable(ae)) { + var Ae = o(function (He) { + return { + originalEvent: W, + type: He, + position: { x: re[0], y: re[1] } + }; + }, 'makeEvent'), + Ge = o(function (He) { + He.emit(Ae('grab')); + }, 'triggerGrab'); + if ((f(ae), !ae.selected())) + (we = t.dragData.possibleDragElements = fe.collection()), + y(ae, { addToList: we }), + ae.emit(Ae('grabon')).emit(Ae('grab')); + else { + we = t.dragData.possibleDragElements = fe.collection(); + var Me = fe.$(function (ye) { + return ye.isNode() && ye.selected() && t.nodeIsGrabbable(ye); + }); + g(Me, { addToList: we }), ae.emit(Ae('grabon')), Me.forEach(Ge); + } + t.redrawHint('eles', !0), t.redrawHint('drag', !0); + } + (t.hoverData.down = ae), + (t.hoverData.downs = ne), + (t.hoverData.downTime = new Date().getTime()); + } + n(ae, ['mousedown', 'tapstart', 'vmousedown'], W, { + x: re[0], + y: re[1] + }), + ae == null + ? ((he[4] = 1), + (t.data.bgActivePosistion = { x: re[0], y: re[1] }), + t.redrawHint('select', !0), + t.redraw()) + : ae.pannable() && (he[4] = 1), + Te(); + } + (he[0] = he[2] = re[0]), (he[1] = he[3] = re[1]); + } + }, 'mousedownHandler'), + !1 + ), + t.registerBinding( + e, + 'mousemove', + o(function (W) { + var fe = t.hoverData.capture; + if (!(!fe && !L(W))) { + var ge = !1, + re = t.cy, + he = re.zoom(), + ne = [W.clientX, W.clientY], + ae = t.projectIntoViewport(ne[0], ne[1]), + we = t.hoverData.mdownPos, + Te = t.hoverData.mdownGPos, + Ce = t.selection, + Ae = null; + !t.hoverData.draggingEles && + !t.hoverData.dragging && + !t.hoverData.selecting && + (Ae = t.findNearestElement(ae[0], ae[1], !0, !1)); + var Ge = t.hoverData.last, + Me = t.hoverData.down, + ye = [ae[0] - Ce[2], ae[1] - Ce[3]], + He = t.dragData.possibleDragElements, + ze; + if (Te) { + var Ze = ne[0] - Te[0], + gt = Ze * Ze, + yt = ne[1] - Te[1], + tt = yt * yt, + Ye = gt + tt; + t.hoverData.isOverThresholdDrag = ze = Ye >= t.desktopTapThreshold2; + } + var Je = i(W); + ze && (t.hoverData.tapholdCancelled = !0); + var Ve = o(function () { + var St = (t.hoverData.dragDelta = t.hoverData.dragDelta || []); + St.length === 0 + ? (St.push(ye[0]), St.push(ye[1])) + : ((St[0] += ye[0]), (St[1] += ye[1])); + }, 'updateDragDelta'); + (ge = !0), + n(Ae, ['mousemove', 'vmousemove', 'tapdrag'], W, { + x: ae[0], + y: ae[1] + }); + var je = o(function () { + (t.data.bgActivePosistion = void 0), + t.hoverData.selecting || + re.emit({ + originalEvent: W, + type: 'boxstart', + position: { x: ae[0], y: ae[1] } + }), + (Ce[4] = 1), + (t.hoverData.selecting = !0), + t.redrawHint('select', !0), + t.redraw(); + }, 'goIntoBoxMode'); + if (t.hoverData.which === 3) { + if (ze) { + var kt = { + originalEvent: W, + type: 'cxtdrag', + position: { x: ae[0], y: ae[1] } + }; + Me ? Me.emit(kt) : re.emit(kt), + (t.hoverData.cxtDragged = !0), + (!t.hoverData.cxtOver || Ae !== t.hoverData.cxtOver) && + (t.hoverData.cxtOver && + t.hoverData.cxtOver.emit({ + originalEvent: W, + type: 'cxtdragout', + position: { x: ae[0], y: ae[1] } + }), + (t.hoverData.cxtOver = Ae), + Ae && + Ae.emit({ + originalEvent: W, + type: 'cxtdragover', + position: { x: ae[0], y: ae[1] } + })); + } + } else if (t.hoverData.dragging) { + if (((ge = !0), re.panningEnabled() && re.userPanningEnabled())) { + var at; + if (t.hoverData.justStartedPan) { + var xt = t.hoverData.mdownPos; + (at = { + x: (ae[0] - xt[0]) * he, + y: (ae[1] - xt[1]) * he + }), + (t.hoverData.justStartedPan = !1); + } else at = { x: ye[0] * he, y: ye[1] * he }; + re.panBy(at), re.emit('dragpan'), (t.hoverData.dragged = !0); + } + ae = t.projectIntoViewport(W.clientX, W.clientY); + } else if (Ce[4] == 1 && (Me == null || Me.pannable())) { + if (ze) { + if ( + !t.hoverData.dragging && + re.boxSelectionEnabled() && + (Je || !re.panningEnabled() || !re.userPanningEnabled()) + ) + je(); + else if ( + !t.hoverData.selecting && + re.panningEnabled() && + re.userPanningEnabled() + ) { + var it = a(Me, t.hoverData.downs); + it && + ((t.hoverData.dragging = !0), + (t.hoverData.justStartedPan = !0), + (Ce[4] = 0), + (t.data.bgActivePosistion = Jg(we)), + t.redrawHint('select', !0), + t.redraw()); + } + Me && Me.pannable() && Me.active() && Me.unactivate(); + } + } else { + if ( + (Me && Me.pannable() && Me.active() && Me.unactivate(), + (!Me || !Me.grabbed()) && + Ae != Ge && + (Ge && + n(Ge, ['mouseout', 'tapdragout'], W, { + x: ae[0], + y: ae[1] + }), + Ae && + n(Ae, ['mouseover', 'tapdragover'], W, { + x: ae[0], + y: ae[1] + }), + (t.hoverData.last = Ae)), + Me) + ) + if (ze) { + if (re.boxSelectionEnabled() && Je) + Me && + Me.grabbed() && + (v(He), + Me.emit('freeon'), + He.emit('free'), + t.dragData.didDrag && (Me.emit('dragfreeon'), He.emit('dragfree'))), + je(); + else if (Me && Me.grabbed() && t.nodeIsDraggable(Me)) { + var dt = !t.dragData.didDrag; + dt && t.redrawHint('eles', !0), + (t.dragData.didDrag = !0), + t.hoverData.draggingEles || g(He, { inDragLayer: !0 }); + var lt = { x: 0, y: 0 }; + if (ft(ye[0]) && ft(ye[1]) && ((lt.x += ye[0]), (lt.y += ye[1]), dt)) { + var It = t.hoverData.dragDelta; + It && ft(It[0]) && ft(It[1]) && ((lt.x += It[0]), (lt.y += It[1])); + } + (t.hoverData.draggingEles = !0), + He.silentShift(lt).emit('position drag'), + t.redrawHint('drag', !0), + t.redraw(); + } + } else Ve(); + ge = !0; + } + if (((Ce[2] = ae[0]), (Ce[3] = ae[1]), ge)) + return ( + W.stopPropagation && W.stopPropagation(), + W.preventDefault && W.preventDefault(), + !1 + ); + } + }, 'mousemoveHandler'), + !1 + ); + var M, N, k; + t.registerBinding( + e, + 'mouseup', + o(function (W) { + if (!(t.hoverData.which === 1 && W.which !== 1 && t.hoverData.capture)) { + var fe = t.hoverData.capture; + if (fe) { + t.hoverData.capture = !1; + var ge = t.cy, + re = t.projectIntoViewport(W.clientX, W.clientY), + he = t.selection, + ne = t.findNearestElement(re[0], re[1], !0, !1), + ae = t.dragData.possibleDragElements, + we = t.hoverData.down, + Te = i(W); + if ( + (t.data.bgActivePosistion && (t.redrawHint('select', !0), t.redraw()), + (t.hoverData.tapholdCancelled = !0), + (t.data.bgActivePosistion = void 0), + we && we.unactivate(), + t.hoverData.which === 3) + ) { + var Ce = { + originalEvent: W, + type: 'cxttapend', + position: { x: re[0], y: re[1] } + }; + if ((we ? we.emit(Ce) : ge.emit(Ce), !t.hoverData.cxtDragged)) { + var Ae = { + originalEvent: W, + type: 'cxttap', + position: { x: re[0], y: re[1] } + }; + we ? we.emit(Ae) : ge.emit(Ae); + } + (t.hoverData.cxtDragged = !1), (t.hoverData.which = null); + } else if (t.hoverData.which === 1) { + if ( + (n(ne, ['mouseup', 'tapend', 'vmouseup'], W, { + x: re[0], + y: re[1] + }), + !t.dragData.didDrag && + !t.hoverData.dragged && + !t.hoverData.selecting && + !t.hoverData.isOverThresholdDrag && + (n(we, ['click', 'tap', 'vclick'], W, { + x: re[0], + y: re[1] + }), + (N = !1), + W.timeStamp - k <= ge.multiClickDebounceTime() + ? (M && clearTimeout(M), + (N = !0), + (k = null), + n(we, ['dblclick', 'dbltap', 'vdblclick'], W, { + x: re[0], + y: re[1] + })) + : ((M = setTimeout(function () { + N || + n(we, ['oneclick', 'onetap', 'voneclick'], W, { + x: re[0], + y: re[1] + }); + }, ge.multiClickDebounceTime())), + (k = W.timeStamp))), + we == null && + !t.dragData.didDrag && + !t.hoverData.selecting && + !t.hoverData.dragged && + !i(W) && + (ge.$(r).unselect(['tapunselect']), + ae.length > 0 && t.redrawHint('eles', !0), + (t.dragData.possibleDragElements = ae = ge.collection())), + ne == we && + !t.dragData.didDrag && + !t.hoverData.selecting && + ne != null && + ne._private.selectable && + (t.hoverData.dragging || + (ge.selectionType() === 'additive' || Te + ? ne.selected() + ? ne.unselect(['tapunselect']) + : ne.select(['tapselect']) + : Te || + (ge.$(r).unmerge(ne).unselect(['tapunselect']), + ne.select(['tapselect']))), + t.redrawHint('eles', !0)), + t.hoverData.selecting) + ) { + var Ge = ge.collection(t.getAllInBox(he[0], he[1], he[2], he[3])); + t.redrawHint('select', !0), + Ge.length > 0 && t.redrawHint('eles', !0), + ge.emit({ + type: 'boxend', + originalEvent: W, + position: { x: re[0], y: re[1] } + }); + var Me = o(function (ze) { + return ze.selectable() && !ze.selected(); + }, 'eleWouldBeSelected'); + ge.selectionType() === 'additive' || Te || ge.$(r).unmerge(Ge).unselect(), + Ge.emit('box').stdFilter(Me).select().emit('boxselect'), + t.redraw(); + } + if ( + (t.hoverData.dragging && + ((t.hoverData.dragging = !1), + t.redrawHint('select', !0), + t.redrawHint('eles', !0), + t.redraw()), + !he[4]) + ) { + t.redrawHint('drag', !0), t.redrawHint('eles', !0); + var ye = we && we.grabbed(); + v(ae), + ye && + (we.emit('freeon'), + ae.emit('free'), + t.dragData.didDrag && (we.emit('dragfreeon'), ae.emit('dragfree'))); + } + } + (he[4] = 0), + (t.hoverData.down = null), + (t.hoverData.cxtStarted = !1), + (t.hoverData.draggingEles = !1), + (t.hoverData.selecting = !1), + (t.hoverData.isOverThresholdDrag = !1), + (t.dragData.didDrag = !1), + (t.hoverData.dragged = !1), + (t.hoverData.dragDelta = []), + (t.hoverData.mdownPos = null), + (t.hoverData.mdownGPos = null); + } + } + }, 'mouseupHandler'), + !1 + ); + var I = o(function (W) { + if (!t.scrollingPage) { + var fe = t.cy, + ge = fe.zoom(), + re = fe.pan(), + he = t.projectIntoViewport(W.clientX, W.clientY), + ne = [he[0] * ge + re.x, he[1] * ge + re.y]; + if (t.hoverData.draggingEles || t.hoverData.dragging || t.hoverData.cxtStarted || A()) { + W.preventDefault(); + return; + } + if ( + fe.panningEnabled() && + fe.userPanningEnabled() && + fe.zoomingEnabled() && + fe.userZoomingEnabled() + ) { + W.preventDefault(), + (t.data.wheelZooming = !0), + clearTimeout(t.data.wheelTimeout), + (t.data.wheelTimeout = setTimeout(function () { + (t.data.wheelZooming = !1), t.redrawHint('eles', !0), t.redraw(); + }, 150)); + var ae; + W.deltaY != null + ? (ae = W.deltaY / -250) + : W.wheelDeltaY != null + ? (ae = W.wheelDeltaY / 1e3) + : (ae = W.wheelDelta / 1e3), + (ae = ae * t.wheelSensitivity); + var we = W.deltaMode === 1; + we && (ae *= 33); + var Te = fe.zoom() * Math.pow(10, ae); + W.type === 'gesturechange' && (Te = t.gestureStartZoom * W.scale), + fe.zoom({ + level: Te, + renderedPosition: { x: ne[0], y: ne[1] } + }), + fe.emit(W.type === 'gesturechange' ? 'pinchzoom' : 'scrollzoom'); + } + } + }, 'wheelHandler'); + t.registerBinding(t.container, 'wheel', I, !0), + t.registerBinding( + e, + 'scroll', + o(function (W) { + (t.scrollingPage = !0), + clearTimeout(t.scrollingPageTimeout), + (t.scrollingPageTimeout = setTimeout(function () { + t.scrollingPage = !1; + }, 250)); + }, 'scrollHandler'), + !0 + ), + t.registerBinding( + t.container, + 'gesturestart', + o(function (W) { + (t.gestureStartZoom = t.cy.zoom()), t.hasTouchStarted || W.preventDefault(); + }, 'gestureStartHandler'), + !0 + ), + t.registerBinding( + t.container, + 'gesturechange', + function (me) { + t.hasTouchStarted || I(me); + }, + !0 + ), + t.registerBinding( + t.container, + 'mouseout', + o(function (W) { + var fe = t.projectIntoViewport(W.clientX, W.clientY); + t.cy.emit({ + originalEvent: W, + type: 'mouseout', + position: { x: fe[0], y: fe[1] } + }); + }, 'mouseOutHandler'), + !1 + ), + t.registerBinding( + t.container, + 'mouseover', + o(function (W) { + var fe = t.projectIntoViewport(W.clientX, W.clientY); + t.cy.emit({ + originalEvent: W, + type: 'mouseover', + position: { x: fe[0], y: fe[1] } + }); + }, 'mouseOverHandler'), + !1 + ); + var C, + O, + D, + P, + F, + B, + $, + z, + Y, + Q, + X, + ie, + j, + J = o(function (W, fe, ge, re) { + return Math.sqrt((ge - W) * (ge - W) + (re - fe) * (re - fe)); + }, 'distance'), + Z = o(function (W, fe, ge, re) { + return (ge - W) * (ge - W) + (re - fe) * (re - fe); + }, 'distanceSq'), + H; + t.registerBinding( + t.container, + 'touchstart', + (H = o(function (W) { + if (((t.hasTouchStarted = !0), !!L(W))) { + b(), (t.touchData.capture = !0), (t.data.bgActivePosistion = void 0); + var fe = t.cy, + ge = t.touchData.now, + re = t.touchData.earlier; + if (W.touches[0]) { + var he = t.projectIntoViewport(W.touches[0].clientX, W.touches[0].clientY); + (ge[0] = he[0]), (ge[1] = he[1]); + } + if (W.touches[1]) { + var he = t.projectIntoViewport(W.touches[1].clientX, W.touches[1].clientY); + (ge[2] = he[0]), (ge[3] = he[1]); + } + if (W.touches[2]) { + var he = t.projectIntoViewport(W.touches[2].clientX, W.touches[2].clientY); + (ge[4] = he[0]), (ge[5] = he[1]); + } + if (W.touches[1]) { + (t.touchData.singleTouchMoved = !0), v(t.dragData.touchDragEles); + var ne = t.findContainerClientCoords(); + (Y = ne[0]), + (Q = ne[1]), + (X = ne[2]), + (ie = ne[3]), + (C = W.touches[0].clientX - Y), + (O = W.touches[0].clientY - Q), + (D = W.touches[1].clientX - Y), + (P = W.touches[1].clientY - Q), + (j = + 0 <= C && C <= X && 0 <= D && D <= X && 0 <= O && O <= ie && 0 <= P && P <= ie); + var ae = fe.pan(), + we = fe.zoom(); + (F = J(C, O, D, P)), + (B = Z(C, O, D, P)), + ($ = [(C + D) / 2, (O + P) / 2]), + (z = [($[0] - ae.x) / we, ($[1] - ae.y) / we]); + var Te = 200, + Ce = Te * Te; + if (B < Ce && !W.touches[2]) { + var Ae = t.findNearestElement(ge[0], ge[1], !0, !0), + Ge = t.findNearestElement(ge[2], ge[3], !0, !0); + Ae && Ae.isNode() + ? (Ae.activate().emit({ + originalEvent: W, + type: 'cxttapstart', + position: { x: ge[0], y: ge[1] } + }), + (t.touchData.start = Ae)) + : Ge && Ge.isNode() + ? (Ge.activate().emit({ + originalEvent: W, + type: 'cxttapstart', + position: { x: ge[0], y: ge[1] } + }), + (t.touchData.start = Ge)) + : fe.emit({ + originalEvent: W, + type: 'cxttapstart', + position: { x: ge[0], y: ge[1] } + }), + t.touchData.start && (t.touchData.start._private.grabbed = !1), + (t.touchData.cxt = !0), + (t.touchData.cxtDragged = !1), + (t.data.bgActivePosistion = void 0), + t.redraw(); + return; + } + } + if (W.touches[2]) fe.boxSelectionEnabled() && W.preventDefault(); + else if (!W.touches[1]) { + if (W.touches[0]) { + var Me = t.findNearestElements(ge[0], ge[1], !0, !0), + ye = Me[0]; + if ( + ye != null && + (ye.activate(), + (t.touchData.start = ye), + (t.touchData.starts = Me), + t.nodeIsGrabbable(ye)) + ) { + var He = (t.dragData.touchDragEles = fe.collection()), + ze = null; + t.redrawHint('eles', !0), + t.redrawHint('drag', !0), + ye.selected() + ? ((ze = fe.$(function (Ye) { + return Ye.selected() && t.nodeIsGrabbable(Ye); + })), + g(ze, { addToList: He })) + : y(ye, { addToList: He }), + f(ye); + var Ze = o(function (Je) { + return { + originalEvent: W, + type: Je, + position: { x: ge[0], y: ge[1] } + }; + }, 'makeEvent'); + ye.emit(Ze('grabon')), + ze + ? ze.forEach(function (Ye) { + Ye.emit(Ze('grab')); + }) + : ye.emit(Ze('grab')); + } + n(ye, ['touchstart', 'tapstart', 'vmousedown'], W, { + x: ge[0], + y: ge[1] + }), + ye == null && + ((t.data.bgActivePosistion = { x: he[0], y: he[1] }), + t.redrawHint('select', !0), + t.redraw()), + (t.touchData.singleTouchMoved = !1), + (t.touchData.singleTouchStartTime = +new Date()), + clearTimeout(t.touchData.tapholdTimeout), + (t.touchData.tapholdTimeout = setTimeout(function () { + t.touchData.singleTouchMoved === !1 && + !t.pinching && + !t.touchData.selecting && + n(t.touchData.start, ['taphold'], W, { + x: ge[0], + y: ge[1] + }); + }, t.tapholdDuration)); + } + } + if (W.touches.length >= 1) { + for ( + var gt = (t.touchData.startPosition = [null, null, null, null, null, null]), yt = 0; + yt < ge.length; + yt++ + ) + gt[yt] = re[yt] = ge[yt]; + var tt = W.touches[0]; + t.touchData.startGPosition = [tt.clientX, tt.clientY]; + } + } + }, 'touchstartHandler')), + !1 + ); + var q; + t.registerBinding( + e, + 'touchmove', + (q = o(function (W) { + var fe = t.touchData.capture; + if (!(!fe && !L(W))) { + var ge = t.selection, + re = t.cy, + he = t.touchData.now, + ne = t.touchData.earlier, + ae = re.zoom(); + if (W.touches[0]) { + var we = t.projectIntoViewport(W.touches[0].clientX, W.touches[0].clientY); + (he[0] = we[0]), (he[1] = we[1]); + } + if (W.touches[1]) { + var we = t.projectIntoViewport(W.touches[1].clientX, W.touches[1].clientY); + (he[2] = we[0]), (he[3] = we[1]); + } + if (W.touches[2]) { + var we = t.projectIntoViewport(W.touches[2].clientX, W.touches[2].clientY); + (he[4] = we[0]), (he[5] = we[1]); + } + var Te = t.touchData.startGPosition, + Ce; + if (fe && W.touches[0] && Te) { + for (var Ae = [], Ge = 0; Ge < he.length; Ge++) Ae[Ge] = he[Ge] - ne[Ge]; + var Me = W.touches[0].clientX - Te[0], + ye = Me * Me, + He = W.touches[0].clientY - Te[1], + ze = He * He, + Ze = ye + ze; + Ce = Ze >= t.touchTapThreshold2; + } + if (fe && t.touchData.cxt) { + W.preventDefault(); + var gt = W.touches[0].clientX - Y, + yt = W.touches[0].clientY - Q, + tt = W.touches[1].clientX - Y, + Ye = W.touches[1].clientY - Q, + Je = Z(gt, yt, tt, Ye), + Ve = Je / B, + je = 150, + kt = je * je, + at = 1.5, + xt = at * at; + if (Ve >= xt || Je >= kt) { + (t.touchData.cxt = !1), + (t.data.bgActivePosistion = void 0), + t.redrawHint('select', !0); + var it = { + originalEvent: W, + type: 'cxttapend', + position: { x: he[0], y: he[1] } + }; + t.touchData.start + ? (t.touchData.start.unactivate().emit(it), (t.touchData.start = null)) + : re.emit(it); + } + } + if (fe && t.touchData.cxt) { + var it = { + originalEvent: W, + type: 'cxtdrag', + position: { x: he[0], y: he[1] } + }; + (t.data.bgActivePosistion = void 0), + t.redrawHint('select', !0), + t.touchData.start ? t.touchData.start.emit(it) : re.emit(it), + t.touchData.start && (t.touchData.start._private.grabbed = !1), + (t.touchData.cxtDragged = !0); + var dt = t.findNearestElement(he[0], he[1], !0, !0); + (!t.touchData.cxtOver || dt !== t.touchData.cxtOver) && + (t.touchData.cxtOver && + t.touchData.cxtOver.emit({ + originalEvent: W, + type: 'cxtdragout', + position: { x: he[0], y: he[1] } + }), + (t.touchData.cxtOver = dt), + dt && + dt.emit({ + originalEvent: W, + type: 'cxtdragover', + position: { x: he[0], y: he[1] } + })); + } else if (fe && W.touches[2] && re.boxSelectionEnabled()) + W.preventDefault(), + (t.data.bgActivePosistion = void 0), + (this.lastThreeTouch = +new Date()), + t.touchData.selecting || + re.emit({ + originalEvent: W, + type: 'boxstart', + position: { x: he[0], y: he[1] } + }), + (t.touchData.selecting = !0), + (t.touchData.didSelect = !0), + (ge[4] = 1), + !ge || ge.length === 0 || ge[0] === void 0 + ? ((ge[0] = (he[0] + he[2] + he[4]) / 3), + (ge[1] = (he[1] + he[3] + he[5]) / 3), + (ge[2] = (he[0] + he[2] + he[4]) / 3 + 1), + (ge[3] = (he[1] + he[3] + he[5]) / 3 + 1)) + : ((ge[2] = (he[0] + he[2] + he[4]) / 3), + (ge[3] = (he[1] + he[3] + he[5]) / 3)), + t.redrawHint('select', !0), + t.redraw(); + else if ( + fe && + W.touches[1] && + !t.touchData.didSelect && + re.zoomingEnabled() && + re.panningEnabled() && + re.userZoomingEnabled() && + re.userPanningEnabled() + ) { + W.preventDefault(), (t.data.bgActivePosistion = void 0), t.redrawHint('select', !0); + var lt = t.dragData.touchDragEles; + if (lt) { + t.redrawHint('drag', !0); + for (var It = 0; It < lt.length; It++) { + var mt = lt[It]._private; + (mt.grabbed = !1), (mt.rscratch.inDragLayer = !1); + } + } + var St = t.touchData.start, + gt = W.touches[0].clientX - Y, + yt = W.touches[0].clientY - Q, + tt = W.touches[1].clientX - Y, + Ye = W.touches[1].clientY - Q, + gr = J(gt, yt, tt, Ye), + xn = gr / F; + if (j) { + var jt = gt - C, + rn = yt - O, + Er = tt - D, + Kn = Ye - P, + hn = (jt + Er) / 2, + Qn = (rn + Kn) / 2, + on = re.zoom(), + Rn = on * xn, + Ha = re.pan(), + _a = z[0] * on + Ha.x, + To = z[1] * on + Ha.y, + qi = { + x: (-Rn / on) * (_a - Ha.x - hn) + _a, + y: (-Rn / on) * (To - Ha.y - Qn) + To + }; + if (St && St.active()) { + var lt = t.dragData.touchDragEles; + v(lt), + t.redrawHint('drag', !0), + t.redrawHint('eles', !0), + St.unactivate().emit('freeon'), + lt.emit('free'), + t.dragData.didDrag && (St.emit('dragfreeon'), lt.emit('dragfree')); + } + re.viewport({ zoom: Rn, pan: qi, cancelOnFailedZoom: !0 }), + re.emit('pinchzoom'), + (F = gr), + (C = gt), + (O = yt), + (D = tt), + (P = Ye), + (t.pinching = !0); + } + if (W.touches[0]) { + var we = t.projectIntoViewport(W.touches[0].clientX, W.touches[0].clientY); + (he[0] = we[0]), (he[1] = we[1]); + } + if (W.touches[1]) { + var we = t.projectIntoViewport(W.touches[1].clientX, W.touches[1].clientY); + (he[2] = we[0]), (he[3] = we[1]); + } + if (W.touches[2]) { + var we = t.projectIntoViewport(W.touches[2].clientX, W.touches[2].clientY); + (he[4] = we[0]), (he[5] = we[1]); + } + } else if (W.touches[0] && !t.touchData.didSelect) { + var ht = t.touchData.start, + At = t.touchData.last, + dt; + if ( + (!t.hoverData.draggingEles && + !t.swipePanning && + (dt = t.findNearestElement(he[0], he[1], !0, !0)), + fe && ht != null && W.preventDefault(), + fe && ht != null && t.nodeIsDraggable(ht)) + ) + if (Ce) { + var lt = t.dragData.touchDragEles, + $t = !t.dragData.didDrag; + $t && g(lt, { inDragLayer: !0 }), (t.dragData.didDrag = !0); + var rt = { x: 0, y: 0 }; + if (ft(Ae[0]) && ft(Ae[1]) && ((rt.x += Ae[0]), (rt.y += Ae[1]), $t)) { + t.redrawHint('eles', !0); + var Ot = t.touchData.dragDelta; + Ot && ft(Ot[0]) && ft(Ot[1]) && ((rt.x += Ot[0]), (rt.y += Ot[1])); + } + (t.hoverData.draggingEles = !0), + lt.silentShift(rt).emit('position drag'), + t.redrawHint('drag', !0), + t.touchData.startPosition[0] == ne[0] && + t.touchData.startPosition[1] == ne[1] && + t.redrawHint('eles', !0), + t.redraw(); + } else { + var Ot = (t.touchData.dragDelta = t.touchData.dragDelta || []); + Ot.length === 0 + ? (Ot.push(Ae[0]), Ot.push(Ae[1])) + : ((Ot[0] += Ae[0]), (Ot[1] += Ae[1])); + } + if ( + (n(ht || dt, ['touchmove', 'tapdrag', 'vmousemove'], W, { + x: he[0], + y: he[1] + }), + (!ht || !ht.grabbed()) && + dt != At && + (At && + At.emit({ + originalEvent: W, + type: 'tapdragout', + position: { x: he[0], y: he[1] } + }), + dt && + dt.emit({ + originalEvent: W, + type: 'tapdragover', + position: { x: he[0], y: he[1] } + })), + (t.touchData.last = dt), + fe) + ) + for (var It = 0; It < he.length; It++) + he[It] && + t.touchData.startPosition[It] && + Ce && + (t.touchData.singleTouchMoved = !0); + if ( + fe && + (ht == null || ht.pannable()) && + re.panningEnabled() && + re.userPanningEnabled() + ) { + var pe = a(ht, t.touchData.starts); + pe && + (W.preventDefault(), + t.data.bgActivePosistion || + (t.data.bgActivePosistion = Jg(t.touchData.startPosition)), + t.swipePanning + ? (re.panBy({ x: Ae[0] * ae, y: Ae[1] * ae }), re.emit('dragpan')) + : Ce && + ((t.swipePanning = !0), + re.panBy({ x: Me * ae, y: He * ae }), + re.emit('dragpan'), + ht && + (ht.unactivate(), + t.redrawHint('select', !0), + (t.touchData.start = null)))); + var we = t.projectIntoViewport(W.touches[0].clientX, W.touches[0].clientY); + (he[0] = we[0]), (he[1] = we[1]); + } + } + for (var Ge = 0; Ge < he.length; Ge++) ne[Ge] = he[Ge]; + fe && + W.touches.length > 0 && + !t.hoverData.draggingEles && + !t.swipePanning && + t.data.bgActivePosistion != null && + ((t.data.bgActivePosistion = void 0), t.redrawHint('select', !0), t.redraw()); + } + }, 'touchmoveHandler')), + !1 + ); + var K; + t.registerBinding( + e, + 'touchcancel', + (K = o(function (W) { + var fe = t.touchData.start; + (t.touchData.capture = !1), fe && fe.unactivate(); + }, 'touchcancelHandler')) + ); + var se, ce, ue, te; + if ( + (t.registerBinding( + e, + 'touchend', + (se = o(function (W) { + var fe = t.touchData.start, + ge = t.touchData.capture; + if (ge) W.touches.length === 0 && (t.touchData.capture = !1), W.preventDefault(); + else return; + var re = t.selection; + (t.swipePanning = !1), (t.hoverData.draggingEles = !1); + var he = t.cy, + ne = he.zoom(), + ae = t.touchData.now, + we = t.touchData.earlier; + if (W.touches[0]) { + var Te = t.projectIntoViewport(W.touches[0].clientX, W.touches[0].clientY); + (ae[0] = Te[0]), (ae[1] = Te[1]); + } + if (W.touches[1]) { + var Te = t.projectIntoViewport(W.touches[1].clientX, W.touches[1].clientY); + (ae[2] = Te[0]), (ae[3] = Te[1]); + } + if (W.touches[2]) { + var Te = t.projectIntoViewport(W.touches[2].clientX, W.touches[2].clientY); + (ae[4] = Te[0]), (ae[5] = Te[1]); + } + fe && fe.unactivate(); + var Ce; + if (t.touchData.cxt) { + if ( + ((Ce = { + originalEvent: W, + type: 'cxttapend', + position: { x: ae[0], y: ae[1] } + }), + fe ? fe.emit(Ce) : he.emit(Ce), + !t.touchData.cxtDragged) + ) { + var Ae = { + originalEvent: W, + type: 'cxttap', + position: { x: ae[0], y: ae[1] } + }; + fe ? fe.emit(Ae) : he.emit(Ae); + } + t.touchData.start && (t.touchData.start._private.grabbed = !1), + (t.touchData.cxt = !1), + (t.touchData.start = null), + t.redraw(); + return; + } + if (!W.touches[2] && he.boxSelectionEnabled() && t.touchData.selecting) { + t.touchData.selecting = !1; + var Ge = he.collection(t.getAllInBox(re[0], re[1], re[2], re[3])); + (re[0] = void 0), + (re[1] = void 0), + (re[2] = void 0), + (re[3] = void 0), + (re[4] = 0), + t.redrawHint('select', !0), + he.emit({ + type: 'boxend', + originalEvent: W, + position: { x: ae[0], y: ae[1] } + }); + var Me = o(function (kt) { + return kt.selectable() && !kt.selected(); + }, 'eleWouldBeSelected'); + Ge.emit('box').stdFilter(Me).select().emit('boxselect'), + Ge.nonempty() && t.redrawHint('eles', !0), + t.redraw(); + } + if ((fe?.unactivate(), W.touches[2])) + (t.data.bgActivePosistion = void 0), t.redrawHint('select', !0); + else if (!W.touches[1]) { + if (!W.touches[0]) { + if (!W.touches[0]) { + (t.data.bgActivePosistion = void 0), t.redrawHint('select', !0); + var ye = t.dragData.touchDragEles; + if (fe != null) { + var He = fe._private.grabbed; + v(ye), + t.redrawHint('drag', !0), + t.redrawHint('eles', !0), + He && + (fe.emit('freeon'), + ye.emit('free'), + t.dragData.didDrag && (fe.emit('dragfreeon'), ye.emit('dragfree'))), + n(fe, ['touchend', 'tapend', 'vmouseup', 'tapdragout'], W, { + x: ae[0], + y: ae[1] + }), + fe.unactivate(), + (t.touchData.start = null); + } else { + var ze = t.findNearestElement(ae[0], ae[1], !0, !0); + n(ze, ['touchend', 'tapend', 'vmouseup', 'tapdragout'], W, { + x: ae[0], + y: ae[1] + }); + } + var Ze = t.touchData.startPosition[0] - ae[0], + gt = Ze * Ze, + yt = t.touchData.startPosition[1] - ae[1], + tt = yt * yt, + Ye = gt + tt, + Je = Ye * ne * ne; + t.touchData.singleTouchMoved || + (fe || he.$(':selected').unselect(['tapunselect']), + n(fe, ['tap', 'vclick'], W, { x: ae[0], y: ae[1] }), + (ce = !1), + W.timeStamp - te <= he.multiClickDebounceTime() + ? (ue && clearTimeout(ue), + (ce = !0), + (te = null), + n(fe, ['dbltap', 'vdblclick'], W, { + x: ae[0], + y: ae[1] + })) + : ((ue = setTimeout(function () { + ce || + n(fe, ['onetap', 'voneclick'], W, { + x: ae[0], + y: ae[1] + }); + }, he.multiClickDebounceTime())), + (te = W.timeStamp))), + fe != null && + !t.dragData.didDrag && + fe._private.selectable && + Je < t.touchTapThreshold2 && + !t.pinching && + (he.selectionType() === 'single' + ? (he.$(r).unmerge(fe).unselect(['tapunselect']), + fe.select(['tapselect'])) + : fe.selected() + ? fe.unselect(['tapunselect']) + : fe.select(['tapselect']), + t.redrawHint('eles', !0)), + (t.touchData.singleTouchMoved = !0); + } + } + } + for (var Ve = 0; Ve < ae.length; Ve++) we[Ve] = ae[Ve]; + (t.dragData.didDrag = !1), + W.touches.length === 0 && + ((t.touchData.dragDelta = []), + (t.touchData.startPosition = [null, null, null, null, null, null]), + (t.touchData.startGPosition = null), + (t.touchData.didSelect = !1)), + W.touches.length < 2 && + (W.touches.length === 1 && + (t.touchData.startGPosition = [W.touches[0].clientX, W.touches[0].clientY]), + (t.pinching = !1), + t.redrawHint('eles', !0), + t.redraw()); + }, 'touchendHandler')), + !1 + ), + typeof TouchEvent > 'u') + ) { + var De = [], + oe = o(function (W) { + return { + clientX: W.clientX, + clientY: W.clientY, + force: 1, + identifier: W.pointerId, + pageX: W.pageX, + pageY: W.pageY, + radiusX: W.width / 2, + radiusY: W.height / 2, + screenX: W.screenX, + screenY: W.screenY, + target: W.target + }; + }, 'makeTouch'), + ke = o(function (W) { + return { event: W, touch: oe(W) }; + }, 'makePointer'), + Ie = o(function (W) { + De.push(ke(W)); + }, 'addPointer'), + Se = o(function (W) { + for (var fe = 0; fe < De.length; fe++) { + var ge = De[fe]; + if (ge.event.pointerId === W.pointerId) { + De.splice(fe, 1); + return; + } + } + }, 'removePointer'), + Ue = o(function (W) { + var fe = De.filter(function (ge) { + return ge.event.pointerId === W.pointerId; + })[0]; + (fe.event = W), (fe.touch = oe(W)); + }, 'updatePointer'), + Pe = o(function (W) { + W.touches = De.map(function (fe) { + return fe.touch; + }); + }, 'addTouchesToEvent'), + _e = o(function (W) { + return W.pointerType === 'mouse' || W.pointerType === 4; + }, 'pointerIsMouse'); + t.registerBinding(t.container, 'pointerdown', function (me) { + _e(me) || (me.preventDefault(), Ie(me), Pe(me), H(me)); + }), + t.registerBinding(t.container, 'pointerup', function (me) { + _e(me) || (Se(me), Pe(me), se(me)); + }), + t.registerBinding(t.container, 'pointercancel', function (me) { + _e(me) || (Se(me), Pe(me), K(me)); + }), + t.registerBinding(t.container, 'pointermove', function (me) { + _e(me) || (me.preventDefault(), Ue(me), Pe(me), q(me)); + }); + } + }; + Ju = {}; + Ju.generatePolygon = function (t, e) { + return (this.nodeShapes[t] = { + renderer: this, + name: t, + points: e, + draw: o(function (n, i, a, s, l, u) { + this.renderer.nodeShapeImpl('polygon', n, i, a, s, l, this.points); + }, 'draw'), + intersectLine: o(function (n, i, a, s, l, u, h, f) { + return Yx(l, u, this.points, n, i, a / 2, s / 2, h); + }, 'intersectLine'), + checkPoint: o(function (n, i, a, s, l, u, h, f) { + return Qu(n, i, this.points, u, h, s, l, [0, -1], a); + }, 'checkPoint') + }); + }; + Ju.generateEllipse = function () { + return (this.nodeShapes.ellipse = { + renderer: this, + name: 'ellipse', + draw: o(function (e, r, n, i, a, s) { + this.renderer.nodeShapeImpl(this.name, e, r, n, i, a); + }, 'draw'), + intersectLine: o(function (e, r, n, i, a, s, l, u) { + return DWe(a, s, e, r, n / 2 + l, i / 2 + l); + }, 'intersectLine'), + checkPoint: o(function (e, r, n, i, a, s, l, u) { + return $0(e, r, i, a, s, l, n); + }, 'checkPoint') + }); + }; + Ju.generateRoundPolygon = function (t, e) { + return (this.nodeShapes[t] = { + renderer: this, + name: t, + points: e, + getOrCreateCorners: o(function (n, i, a, s, l, u, h) { + if (u[h] !== void 0 && u[h + '-cx'] === n && u[h + '-cy'] === i) return u[h]; + (u[h] = new Array(e.length / 2)), (u[h + '-cx'] = n), (u[h + '-cy'] = i); + var f = a / 2, + d = s / 2; + l = l === 'auto' ? Wpe(a, s) : l; + for (var p = new Array(e.length / 2), m = 0; m < e.length / 2; m++) + p[m] = { x: n + f * e[m * 2], y: i + d * e[m * 2 + 1] }; + var g, + y, + v, + x, + b = p.length; + for (y = p[b - 1], g = 0; g < b; g++) + (v = p[g % b]), (x = p[(g + 1) % b]), (u[h][g] = mB(y, v, x, l)), (y = v), (v = x); + return u[h]; + }, 'getOrCreateCorners'), + draw: o(function (n, i, a, s, l, u, h) { + this.renderer.nodeShapeImpl( + 'round-polygon', + n, + i, + a, + s, + l, + this.points, + this.getOrCreateCorners(i, a, s, l, u, h, 'drawCorners') + ); + }, 'draw'), + intersectLine: o(function (n, i, a, s, l, u, h, f, d) { + return RWe( + l, + u, + this.points, + n, + i, + a, + s, + h, + this.getOrCreateCorners(n, i, a, s, f, d, 'corners') + ); + }, 'intersectLine'), + checkPoint: o(function (n, i, a, s, l, u, h, f, d) { + return LWe(n, i, this.points, u, h, s, l, this.getOrCreateCorners(u, h, s, l, f, d, 'corners')); + }, 'checkPoint') + }); + }; + Ju.generateRoundRectangle = function () { + return (this.nodeShapes['round-rectangle'] = this.nodeShapes.roundrectangle = + { + renderer: this, + name: 'round-rectangle', + points: ls(4, 0), + draw: o(function (e, r, n, i, a, s) { + this.renderer.nodeShapeImpl(this.name, e, r, n, i, a, this.points, s); + }, 'draw'), + intersectLine: o(function (e, r, n, i, a, s, l, u) { + return Hpe(a, s, e, r, n, i, l, u); + }, 'intersectLine'), + checkPoint: o(function (e, r, n, i, a, s, l, u) { + var h = i / 2, + f = a / 2; + (u = u === 'auto' ? Y0(i, a) : u), (u = Math.min(h, f, u)); + var d = u * 2; + return !!( + Qu(e, r, this.points, s, l, i, a - d, [0, -1], n) || + Qu(e, r, this.points, s, l, i - d, a, [0, -1], n) || + $0(e, r, d, d, s - h + u, l - f + u, n) || + $0(e, r, d, d, s + h - u, l - f + u, n) || + $0(e, r, d, d, s + h - u, l + f - u, n) || + $0(e, r, d, d, s - h + u, l + f - u, n) + ); + }, 'checkPoint') + }); + }; + Ju.generateCutRectangle = function () { + return (this.nodeShapes['cut-rectangle'] = this.nodeShapes.cutrectangle = + { + renderer: this, + name: 'cut-rectangle', + cornerLength: nB(), + points: ls(4, 0), + draw: o(function (e, r, n, i, a, s) { + this.renderer.nodeShapeImpl(this.name, e, r, n, i, a, null, s); + }, 'draw'), + generateCutTrianglePts: o(function (e, r, n, i, a) { + var s = a === 'auto' ? this.cornerLength : a, + l = r / 2, + u = e / 2, + h = n - u, + f = n + u, + d = i - l, + p = i + l; + return { + topLeft: [h, d + s, h + s, d, h + s, d + s], + topRight: [f - s, d, f, d + s, f - s, d + s], + bottomRight: [f, p - s, f - s, p, f - s, p - s], + bottomLeft: [h + s, p, h, p - s, h + s, p - s] + }; + }, 'generateCutTrianglePts'), + intersectLine: o(function (e, r, n, i, a, s, l, u) { + var h = this.generateCutTrianglePts(n + 2 * l, i + 2 * l, e, r, u), + f = [].concat.apply( + [], + [ + h.topLeft.splice(0, 4), + h.topRight.splice(0, 4), + h.bottomRight.splice(0, 4), + h.bottomLeft.splice(0, 4) + ] + ); + return Yx(a, s, f, e, r); + }, 'intersectLine'), + checkPoint: o(function (e, r, n, i, a, s, l, u) { + var h = u === 'auto' ? this.cornerLength : u; + if ( + Qu(e, r, this.points, s, l, i, a - 2 * h, [0, -1], n) || + Qu(e, r, this.points, s, l, i - 2 * h, a, [0, -1], n) + ) + return !0; + var f = this.generateCutTrianglePts(i, a, s, l); + return ( + zs(e, r, f.topLeft) || + zs(e, r, f.topRight) || + zs(e, r, f.bottomRight) || + zs(e, r, f.bottomLeft) + ); + }, 'checkPoint') + }); + }; + Ju.generateBarrel = function () { + return (this.nodeShapes.barrel = { + renderer: this, + name: 'barrel', + points: ls(4, 0), + draw: o(function (e, r, n, i, a, s) { + this.renderer.nodeShapeImpl(this.name, e, r, n, i, a); + }, 'draw'), + intersectLine: o(function (e, r, n, i, a, s, l, u) { + var h = 0.15, + f = 0.5, + d = 0.85, + p = this.generateBarrelBezierPts(n + 2 * l, i + 2 * l, e, r), + m = o(function (v) { + var x = t1({ x: v[0], y: v[1] }, { x: v[2], y: v[3] }, { x: v[4], y: v[5] }, h), + b = t1({ x: v[0], y: v[1] }, { x: v[2], y: v[3] }, { x: v[4], y: v[5] }, f), + w = t1({ x: v[0], y: v[1] }, { x: v[2], y: v[3] }, { x: v[4], y: v[5] }, d); + return [v[0], v[1], x.x, x.y, b.x, b.y, w.x, w.y, v[4], v[5]]; + }, 'approximateBarrelCurvePts'), + g = [].concat(m(p.topLeft), m(p.topRight), m(p.bottomRight), m(p.bottomLeft)); + return Yx(a, s, g, e, r); + }, 'intersectLine'), + generateBarrelBezierPts: o(function (e, r, n, i) { + var a = r / 2, + s = e / 2, + l = n - s, + u = n + s, + h = i - a, + f = i + a, + d = MP(e, r), + p = d.heightOffset, + m = d.widthOffset, + g = d.ctrlPtOffsetPct * e, + y = { + topLeft: [l, h + p, l + g, h, l + m, h], + topRight: [u - m, h, u - g, h, u, h + p], + bottomRight: [u, f - p, u - g, f, u - m, f], + bottomLeft: [l + m, f, l + g, f, l, f - p] + }; + return ( + (y.topLeft.isTop = !0), + (y.topRight.isTop = !0), + (y.bottomLeft.isBottom = !0), + (y.bottomRight.isBottom = !0), + y + ); + }, 'generateBarrelBezierPts'), + checkPoint: o(function (e, r, n, i, a, s, l, u) { + var h = MP(i, a), + f = h.heightOffset, + d = h.widthOffset; + if ( + Qu(e, r, this.points, s, l, i, a - 2 * f, [0, -1], n) || + Qu(e, r, this.points, s, l, i - 2 * d, a, [0, -1], n) + ) + return !0; + for ( + var p = this.generateBarrelBezierPts(i, a, s, l), + m = o(function (A, L, M) { + var N = M[4], + k = M[2], + I = M[0], + C = M[5], + O = M[1], + D = Math.min(N, I), + P = Math.max(N, I), + F = Math.min(C, O), + B = Math.max(C, O); + if (D <= A && A <= P && F <= L && L <= B) { + var $ = NWe(N, k, I), + z = CWe($[0], $[1], $[2], A), + Y = z.filter(function (Q) { + return 0 <= Q && Q <= 1; + }); + if (Y.length > 0) return Y[0]; + } + return null; + }, 'getCurveT'), + g = Object.keys(p), + y = 0; + y < g.length; + y++ + ) { + var v = g[y], + x = p[v], + b = m(e, r, x); + if (b != null) { + var w = x[5], + S = x[3], + T = x[1], + E = aa(w, S, T, b); + if ((x.isTop && E <= r) || (x.isBottom && r <= E)) return !0; + } + } + return !1; + }, 'checkPoint') + }); + }; + Ju.generateBottomRoundrectangle = function () { + return (this.nodeShapes['bottom-round-rectangle'] = this.nodeShapes.bottomroundrectangle = + { + renderer: this, + name: 'bottom-round-rectangle', + points: ls(4, 0), + draw: o(function (e, r, n, i, a, s) { + this.renderer.nodeShapeImpl(this.name, e, r, n, i, a, this.points, s); + }, 'draw'), + intersectLine: o(function (e, r, n, i, a, s, l, u) { + var h = e - (n / 2 + l), + f = r - (i / 2 + l), + d = f, + p = e + (n / 2 + l), + m = kf(a, s, e, r, h, f, p, d, !1); + return m.length > 0 ? m : Hpe(a, s, e, r, n, i, l, u); + }, 'intersectLine'), + checkPoint: o(function (e, r, n, i, a, s, l, u) { + u = u === 'auto' ? Y0(i, a) : u; + var h = 2 * u; + if ( + Qu(e, r, this.points, s, l, i, a - h, [0, -1], n) || + Qu(e, r, this.points, s, l, i - h, a, [0, -1], n) + ) + return !0; + var f = i / 2 + 2 * n, + d = a / 2 + 2 * n, + p = [s - f, l - d, s - f, l, s + f, l, s + f, l - d]; + return !!( + zs(e, r, p) || + $0(e, r, h, h, s + i / 2 - u, l + a / 2 - u, n) || + $0(e, r, h, h, s - i / 2 + u, l + a / 2 - u, n) + ); + }, 'checkPoint') + }); + }; + Ju.registerNodeShapes = function () { + var t = (this.nodeShapes = {}), + e = this; + this.generateEllipse(), + this.generatePolygon('triangle', ls(3, 0)), + this.generateRoundPolygon('round-triangle', ls(3, 0)), + this.generatePolygon('rectangle', ls(4, 0)), + (t.square = t.rectangle), + this.generateRoundRectangle(), + this.generateCutRectangle(), + this.generateBarrel(), + this.generateBottomRoundrectangle(); + { + var r = [0, 1, 1, 0, 0, -1, -1, 0]; + this.generatePolygon('diamond', r), this.generateRoundPolygon('round-diamond', r); + } + this.generatePolygon('pentagon', ls(5, 0)), + this.generateRoundPolygon('round-pentagon', ls(5, 0)), + this.generatePolygon('hexagon', ls(6, 0)), + this.generateRoundPolygon('round-hexagon', ls(6, 0)), + this.generatePolygon('heptagon', ls(7, 0)), + this.generateRoundPolygon('round-heptagon', ls(7, 0)), + this.generatePolygon('octagon', ls(8, 0)), + this.generateRoundPolygon('round-octagon', ls(8, 0)); + var n = new Array(20); + { + var i = NP(5, 0), + a = NP(5, Math.PI / 5), + s = 0.5 * (3 - Math.sqrt(5)); + s *= 1.57; + for (var l = 0; l < a.length / 2; l++) (a[l * 2] *= s), (a[l * 2 + 1] *= s); + for (var l = 0; l < 20 / 4; l++) + (n[l * 4] = i[l * 2]), + (n[l * 4 + 1] = i[l * 2 + 1]), + (n[l * 4 + 2] = a[l * 2]), + (n[l * 4 + 3] = a[l * 2 + 1]); + } + (n = Ype(n)), + this.generatePolygon('star', n), + 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 u = [-1, -1, 0.25, -1, 1, 0, 0.25, 1, -1, 1]; + this.generatePolygon('tag', u), this.generateRoundPolygon('round-tag', u); + } + t.makePolygon = function (h) { + var f = h.join('$'), + d = 'polygon-' + f, + p; + return (p = this[d]) ? p : e.generatePolygon(d, h); + }; + }; + ib = {}; + ib.timeToRender = function () { + return this.redrawTotalTime / this.redrawCount; + }; + ib.redraw = function (t) { + t = t || zpe(); + var e = this; + e.averageRedrawTime === void 0 && (e.averageRedrawTime = 0), + e.lastRedrawTime === void 0 && (e.lastRedrawTime = 0), + e.lastDrawTime === void 0 && (e.lastDrawTime = 0), + (e.requestedFrame = !0), + (e.renderOptions = t); + }; + ib.beforeRender = function (t, e) { + if (!this.destroyed) { + e == null && oi('Priority is not optional for beforeRender'); + var r = this.beforeRenderCallbacks; + r.push({ fn: t, priority: e }), + r.sort(function (n, i) { + return i.priority - n.priority; + }); + } + }; + hpe = o(function (e, r, n) { + for (var i = e.beforeRenderCallbacks, a = 0; a < i.length; a++) i[a].fn(r, n); + }, 'beforeRenderCallbacks'); + ib.startRenderLoop = function () { + var t = this, + e = t.cy; + if (!t.renderLoopStarted) { + t.renderLoopStarted = !0; + var r = o(function n(i) { + if (!t.destroyed) { + if (!e.batching()) + if (t.requestedFrame && !t.skipFrame) { + hpe(t, !0, i); + var a = Ku(); + t.render(t.renderOptions); + var s = (t.lastDrawTime = Ku()); + t.averageRedrawTime === void 0 && (t.averageRedrawTime = s - a), + t.redrawCount === void 0 && (t.redrawCount = 0), + t.redrawCount++, + t.redrawTotalTime === void 0 && (t.redrawTotalTime = 0); + var l = s - a; + (t.redrawTotalTime += l), + (t.lastRedrawTime = l), + (t.averageRedrawTime = t.averageRedrawTime / 2 + l / 2), + (t.requestedFrame = !1); + } else hpe(t, !1, i); + (t.skipFrame = !1), E6(n); + } + }, 'renderFn'); + E6(r); + } + }; + (dQe = o(function (e) { + this.init(e); + }, 'BaseRenderer')), + (Hme = dQe), + (y1 = Hme.prototype); + y1.clientFunctions = [ + 'redrawHint', + 'render', + 'renderTo', + 'matchCanvasSize', + 'nodeShapeImpl', + 'arrowShapeImpl' + ]; + y1.init = function (t) { + var e = this; + (e.options = t), (e.cy = t.cy); + var r = (e.container = t.cy.container()), + n = e.cy.window(); + if (n) { + var i = n.document, + a = i.head, + s = '__________cytoscape_stylesheet', + l = '__________cytoscape_container', + u = i.getElementById(s) != null; + if ((r.className.indexOf(l) < 0 && (r.className = (r.className || '') + ' ' + l), !u)) { + var h = i.createElement('style'); + (h.id = s), + (h.textContent = '.' + l + ' { position: relative; }'), + a.insertBefore(h, a.children[0]); + } + var f = n.getComputedStyle(r), + d = f.getPropertyValue('position'); + d === 'static' && + tn('A Cytoscape container has style position:static and so can not use UI extensions properly'); + } + (e.selection = [void 0, void 0, void 0, void 0, 0]), + (e.bezierProjPcts = [0.05, 0.225, 0.4, 0.5, 0.6, 0.775, 0.95]), + (e.hoverData = { + down: null, + last: null, + downTime: null, + triggerMode: null, + dragging: !1, + initialPan: [null, null], + capture: !1 + }), + (e.dragData = { possibleDragElements: [] }), + (e.touchData = { + start: null, + capture: !1, + 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] + }), + (e.redraws = 0), + (e.showFps = t.showFps), + (e.debug = t.debug), + (e.hideEdgesOnViewport = t.hideEdgesOnViewport), + (e.textureOnViewport = t.textureOnViewport), + (e.wheelSensitivity = t.wheelSensitivity), + (e.motionBlurEnabled = t.motionBlur), + (e.forcedPixelRatio = ft(t.pixelRatio) ? t.pixelRatio : null), + (e.motionBlur = t.motionBlur), + (e.motionBlurOpacity = t.motionBlurOpacity), + (e.motionBlurTransparency = 1 - e.motionBlurOpacity), + (e.motionBlurPxRatio = 1), + (e.mbPxRBlurry = 1), + (e.minMbLowQualFrames = 4), + (e.fullQualityMb = !1), + (e.clearedForMotionBlur = []), + (e.desktopTapThreshold = t.desktopTapThreshold), + (e.desktopTapThreshold2 = t.desktopTapThreshold * t.desktopTapThreshold), + (e.touchTapThreshold = t.touchTapThreshold), + (e.touchTapThreshold2 = t.touchTapThreshold * t.touchTapThreshold), + (e.tapholdDuration = 500), + (e.bindings = []), + (e.beforeRenderCallbacks = []), + (e.beforeRenderPriorities = { + animations: 400, + eleCalcs: 300, + eleTxrDeq: 200, + lyrTxrDeq: 150, + lyrTxrSkip: 100 + }), + e.registerNodeShapes(), + e.registerArrowShapes(), + e.registerCalculationListeners(); + }; + y1.notify = function (t, e) { + var r = this, + n = r.cy; + if (!this.destroyed) { + if (t === 'init') { + r.load(); + return; + } + if (t === 'destroy') { + r.destroy(); + return; + } + (t === 'add' || + t === 'remove' || + (t === 'move' && n.hasCompoundNodes()) || + t === 'load' || + t === 'zorder' || + t === 'mount') && + r.invalidateCachedZSortedEles(), + t === 'viewport' && r.redrawHint('select', !0), + (t === 'load' || t === 'resize' || t === 'mount') && + (r.invalidateContainerClientCoordsCache(), r.matchCanvasSize(r.container)), + r.redrawHint('eles', !0), + r.redrawHint('drag', !0), + this.startRenderLoop(), + this.redraw(); + } + }; + y1.destroy = function () { + var t = this; + (t.destroyed = !0), t.cy.stopAnimationLoop(); + for (var e = 0; e < t.bindings.length; e++) { + var r = t.bindings[e], + n = r, + i = n.target; + (i.off || i.removeEventListener).apply(i, n.args); + } + if ( + ((t.bindings = []), + (t.beforeRenderCallbacks = []), + (t.onUpdateEleCalcsFns = []), + t.removeObserver && t.removeObserver.disconnect(), + t.styleObserver && t.styleObserver.disconnect(), + t.resizeObserver && t.resizeObserver.disconnect(), + t.labelCalcDiv) + ) + try { + document.body.removeChild(t.labelCalcDiv); + } catch {} + }; + y1.isHeadless = function () { + return !1; + }; + [pB, Vme, Ume, g1, Ju, ib].forEach(function (t) { + Wt(y1, t); + }); + (LP = 1e3 / 60), + (Yme = { + setupDequeueing: o(function (e) { + return o(function () { + var n = this, + i = this.renderer; + if (!n.dequeueingSetup) { + n.dequeueingSetup = !0; + var a = P6(function () { + i.redrawHint('eles', !0), i.redrawHint('drag', !0), i.redraw(); + }, e.deqRedrawThreshold), + s = o(function (h, f) { + var d = Ku(), + p = i.averageRedrawTime, + m = i.lastRedrawTime, + g = [], + y = i.cy.extent(), + v = i.getPixelRatio(); + for (h || i.flushRenderedStyleQueue(); ; ) { + var x = Ku(), + b = x - d, + w = x - f; + if (m < LP) { + var S = LP - (h ? p : 0); + if (w >= e.deqFastCost * S) break; + } else if (h) { + if (b >= e.deqCost * m || b >= e.deqAvgCost * p) break; + } else if (w >= e.deqNoDrawCost * LP) break; + var T = e.deq(n, v, y); + if (T.length > 0) for (var E = 0; E < T.length; E++) g.push(T[E]); + else break; + } + g.length > 0 && (e.onDeqd(n, g), !h && e.shouldRedraw(n, g, v, y) && a()); + }, 'dequeue'), + l = e.priority || JP; + i.beforeRender(s, l(n)); + } + }, 'setupDequeueingImpl'); + }, 'setupDequeueing') + }), + (pQe = (function () { + function t(e) { + var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : C6; + XP(this, t), + (this.idsByKey = new Vc()), + (this.keyForId = new Vc()), + (this.cachesByLvl = new Vc()), + (this.lvls = []), + (this.getKey = e), + (this.doesEleInvalidateKey = r); + } + return ( + o(t, 'ElementTextureCacheLookup'), + jP(t, [ + { + key: 'getIdsFor', + value: o(function (r) { + r == null && oi('Can not get id list for null key'); + var n = this.idsByKey, + i = this.idsByKey.get(r); + return i || ((i = new c1()), n.set(r, i)), i; + }, 'getIdsFor') + }, + { + key: 'addIdForKey', + value: o(function (r, n) { + r != null && this.getIdsFor(r).add(n); + }, 'addIdForKey') + }, + { + key: 'deleteIdForKey', + value: o(function (r, n) { + r != null && this.getIdsFor(r).delete(n); + }, 'deleteIdForKey') + }, + { + key: 'getNumberOfIdsForKey', + value: o(function (r) { + return r == null ? 0 : this.getIdsFor(r).size; + }, 'getNumberOfIdsForKey') + }, + { + key: 'updateKeyMappingFor', + value: o(function (r) { + var n = r.id(), + i = this.keyForId.get(n), + a = this.getKey(r); + this.deleteIdForKey(i, n), this.addIdForKey(a, n), this.keyForId.set(n, a); + }, 'updateKeyMappingFor') + }, + { + key: 'deleteKeyMappingFor', + value: o(function (r) { + var n = r.id(), + i = this.keyForId.get(n); + this.deleteIdForKey(i, n), this.keyForId.delete(n); + }, 'deleteKeyMappingFor') + }, + { + key: 'keyHasChangedFor', + value: o(function (r) { + var n = r.id(), + i = this.keyForId.get(n), + a = this.getKey(r); + return i !== a; + }, 'keyHasChangedFor') + }, + { + key: 'isInvalid', + value: o(function (r) { + return this.keyHasChangedFor(r) || this.doesEleInvalidateKey(r); + }, 'isInvalid') + }, + { + key: 'getCachesAt', + value: o(function (r) { + var n = this.cachesByLvl, + i = this.lvls, + a = n.get(r); + return a || ((a = new Vc()), n.set(r, a), i.push(r)), a; + }, 'getCachesAt') + }, + { + key: 'getCache', + value: o(function (r, n) { + return this.getCachesAt(n).get(r); + }, 'getCache') + }, + { + key: 'get', + value: o(function (r, n) { + var i = this.getKey(r), + a = this.getCache(i, n); + return a != null && this.updateKeyMappingFor(r), a; + }, 'get') + }, + { + key: 'getForCachedKey', + value: o(function (r, n) { + var i = this.keyForId.get(r.id()), + a = this.getCache(i, n); + return a; + }, 'getForCachedKey') + }, + { + key: 'hasCache', + value: o(function (r, n) { + return this.getCachesAt(n).has(r); + }, 'hasCache') + }, + { + key: 'has', + value: o(function (r, n) { + var i = this.getKey(r); + return this.hasCache(i, n); + }, 'has') + }, + { + key: 'setCache', + value: o(function (r, n, i) { + (i.key = r), this.getCachesAt(n).set(r, i); + }, 'setCache') + }, + { + key: 'set', + value: o(function (r, n, i) { + var a = this.getKey(r); + this.setCache(a, n, i), this.updateKeyMappingFor(r); + }, 'set') + }, + { + key: 'deleteCache', + value: o(function (r, n) { + this.getCachesAt(n).delete(r); + }, 'deleteCache') + }, + { + key: 'delete', + value: o(function (r, n) { + var i = this.getKey(r); + this.deleteCache(i, n); + }, '_delete') + }, + { + key: 'invalidateKey', + value: o(function (r) { + var n = this; + this.lvls.forEach(function (i) { + return n.deleteCache(r, i); + }); + }, 'invalidateKey') + }, + { + key: 'invalidate', + value: o(function (r) { + var n = r.id(), + i = this.keyForId.get(n); + this.deleteKeyMappingFor(r); + var a = this.doesEleInvalidateKey(r); + return a && this.invalidateKey(i), a || this.getNumberOfIdsForKey(i) === 0; + }, 'invalidate') + } + ]), + t + ); + })()), + (fpe = 25), + (d6 = 50), + (T6 = -4), + (HP = 3), + (mQe = 7.99), + (gQe = 8), + (yQe = 1024), + (vQe = 1024), + (xQe = 1024), + (bQe = 0.2), + (wQe = 0.8), + (TQe = 10), + (kQe = 0.15), + (EQe = 0.1), + (CQe = 0.9), + (SQe = 0.9), + (AQe = 100), + (_Qe = 1), + (e1 = { + dequeue: 'dequeue', + downscale: 'downscale', + highQuality: 'highQuality' + }), + (LQe = Sa({ + getKey: null, + doesEleInvalidateKey: C6, + drawElement: null, + getBoundingBox: null, + getRotationPoint: null, + getRotationOffset: null, + isVisible: Ppe, + allowEdgeTxrCaching: !0, + allowParentTxrCaching: !0 + })), + (Bx = o(function (e, r) { + var n = this; + (n.renderer = e), (n.onDequeues = []); + var i = LQe(r); + Wt(n, i), (n.lookup = new pQe(i.getKey, i.doesEleInvalidateKey)), n.setupDequeueing(); + }, 'ElementTextureCache')), + (Yi = Bx.prototype); + Yi.reasons = e1; + Yi.getTextureQueue = function (t) { + var e = this; + return (e.eleImgCaches = e.eleImgCaches || {}), (e.eleImgCaches[t] = e.eleImgCaches[t] || []); + }; + Yi.getRetiredTextureQueue = function (t) { + var e = this, + r = (e.eleImgCaches.retired = e.eleImgCaches.retired || {}), + n = (r[t] = r[t] || []); + return n; + }; + Yi.getElementQueue = function () { + var t = this, + e = (t.eleCacheQueue = + t.eleCacheQueue || + new eb(function (r, n) { + return n.reqs - r.reqs; + })); + return e; + }; + Yi.getElementKeyToQueue = function () { + var t = this, + e = (t.eleKeyToCacheQueue = t.eleKeyToCacheQueue || {}); + return e; + }; + Yi.getElement = function (t, e, r, n, i) { + var a = this, + s = this.renderer, + l = s.cy.zoom(), + u = this.lookup; + if ( + !e || + e.w === 0 || + e.h === 0 || + isNaN(e.w) || + isNaN(e.h) || + !t.visible() || + t.removed() || + (!a.allowEdgeTxrCaching && t.isEdge()) || + (!a.allowParentTxrCaching && t.isParent()) + ) + return null; + if ((n == null && (n = Math.ceil(tB(l * r))), n < T6)) n = T6; + else if (l >= mQe || n > HP) return null; + var h = Math.pow(2, n), + f = e.h * h, + d = e.w * h, + p = s.eleTextBiggerThanMin(t, h); + if (!this.isVisible(t, p)) return null; + var m = u.get(t, n); + if ((m && m.invalidated && ((m.invalidated = !1), (m.texture.invalidatedWidth -= m.width)), m)) + return m; + var g; + if ((f <= fpe ? (g = fpe) : f <= d6 ? (g = d6) : (g = Math.ceil(f / d6) * d6), f > xQe || d > vQe)) + return null; + var y = a.getTextureQueue(g), + v = y[y.length - 2], + x = o(function () { + return a.recycleTexture(g, d) || a.addTexture(g, d); + }, 'addNewTxr'); + v || (v = y[y.length - 1]), v || (v = x()), v.width - v.usedWidth < d && (v = x()); + for ( + var b = o(function (D) { + return D && D.scaledLabelShown === p; + }, 'scalableFrom'), + w = i && i === e1.dequeue, + S = i && i === e1.highQuality, + T = i && i === e1.downscale, + E, + _ = n + 1; + _ <= HP; + _++ + ) { + var A = u.get(t, _); + if (A) { + E = A; + break; + } + } + var L = E && E.level === n + 1 ? E : null, + M = o(function () { + v.context.drawImage(L.texture.canvas, L.x, 0, L.width, L.height, v.usedWidth, 0, d, f); + }, 'downscale'); + if ((v.context.setTransform(1, 0, 0, 1, 0, 0), v.context.clearRect(v.usedWidth, 0, d, g), b(L))) M(); + else if (b(E)) + if (S) { + for (var N = E.level; N > n; N--) L = a.getElement(t, e, r, N, e1.downscale); + M(); + } else return a.queueElement(t, E.level - 1), E; + else { + var k; + if (!w && !S && !T) + for (var I = n - 1; I >= T6; I--) { + var C = u.get(t, I); + if (C) { + k = C; + break; + } + } + if (b(k)) return a.queueElement(t, n), k; + v.context.translate(v.usedWidth, 0), + v.context.scale(h, h), + this.drawElement(v.context, t, e, p, !1), + v.context.scale(1 / h, 1 / h), + v.context.translate(-v.usedWidth, 0); + } + return ( + (m = { + x: v.usedWidth, + texture: v, + level: n, + scale: h, + width: d, + height: f, + scaledLabelShown: p + }), + (v.usedWidth += Math.ceil(d + gQe)), + v.eleCaches.push(m), + u.set(t, n, m), + a.checkTextureFullness(v), + m + ); + }; + Yi.invalidateElements = function (t) { + for (var e = 0; e < t.length; e++) this.invalidateElement(t[e]); + }; + Yi.invalidateElement = function (t) { + var e = this, + r = e.lookup, + n = [], + i = r.isInvalid(t); + if (i) { + for (var a = T6; a <= HP; a++) { + var s = r.getForCachedKey(t, a); + s && n.push(s); + } + var l = r.invalidate(t); + if (l) + for (var u = 0; u < n.length; u++) { + var h = n[u], + f = h.texture; + (f.invalidatedWidth += h.width), (h.invalidated = !0), e.checkTextureUtility(f); + } + e.removeFromQueue(t); + } + }; + Yi.checkTextureUtility = function (t) { + t.invalidatedWidth >= bQe * t.width && this.retireTexture(t); + }; + Yi.checkTextureFullness = function (t) { + var e = this, + r = e.getTextureQueue(t.height); + t.usedWidth / t.width > wQe && t.fullnessChecks >= TQe ? Af(r, t) : t.fullnessChecks++; + }; + Yi.retireTexture = function (t) { + var e = this, + r = t.height, + n = e.getTextureQueue(r), + i = this.lookup; + Af(n, t), (t.retired = !0); + for (var a = t.eleCaches, s = 0; s < a.length; s++) { + var l = a[s]; + i.deleteCache(l.key, l.level); + } + eB(a); + var u = e.getRetiredTextureQueue(r); + u.push(t); + }; + Yi.addTexture = function (t, e) { + var r = this, + n = r.getTextureQueue(t), + i = {}; + return ( + n.push(i), + (i.eleCaches = []), + (i.height = t), + (i.width = Math.max(yQe, e)), + (i.usedWidth = 0), + (i.invalidatedWidth = 0), + (i.fullnessChecks = 0), + (i.canvas = r.renderer.makeOffscreenCanvas(i.width, i.height)), + (i.context = i.canvas.getContext('2d')), + i + ); + }; + Yi.recycleTexture = function (t, e) { + for ( + var r = this, n = r.getTextureQueue(t), i = r.getRetiredTextureQueue(t), a = 0; + a < i.length; + a++ + ) { + var s = i[a]; + if (s.width >= e) + return ( + (s.retired = !1), + (s.usedWidth = 0), + (s.invalidatedWidth = 0), + (s.fullnessChecks = 0), + eB(s.eleCaches), + s.context.setTransform(1, 0, 0, 1, 0, 0), + s.context.clearRect(0, 0, s.width, s.height), + Af(i, s), + n.push(s), + s + ); + } + }; + Yi.queueElement = function (t, e) { + var r = this, + n = r.getElementQueue(), + i = r.getElementKeyToQueue(), + a = this.getKey(t), + s = i[a]; + if (s) (s.level = Math.max(s.level, e)), s.eles.merge(t), s.reqs++, n.updateItem(s); + else { + var l = { eles: t.spawn().merge(t), level: e, reqs: 1, key: a }; + n.push(l), (i[a] = l); + } + }; + Yi.dequeue = function (t) { + for ( + var e = this, r = e.getElementQueue(), n = e.getElementKeyToQueue(), i = [], a = e.lookup, s = 0; + s < _Qe && r.size() > 0; + s++ + ) { + var l = r.pop(), + u = l.key, + h = l.eles[0], + f = a.hasCache(h, l.level); + if (((n[u] = null), f)) continue; + i.push(l); + var d = e.getBoundingBox(h); + e.getElement(h, d, t, l.level, e1.dequeue); + } + return i; + }; + Yi.removeFromQueue = function (t) { + var e = this, + r = e.getElementQueue(), + n = e.getElementKeyToQueue(), + i = this.getKey(t), + a = n[i]; + a != null && + (a.eles.length === 1 + ? ((a.reqs = ZP), r.updateItem(a), r.pop(), (n[i] = null)) + : a.eles.unmerge(t)); + }; + Yi.onDequeue = function (t) { + this.onDequeues.push(t); + }; + Yi.offDequeue = function (t) { + Af(this.onDequeues, t); + }; + Yi.setupDequeueing = Yme.setupDequeueing({ + deqRedrawThreshold: AQe, + deqCost: kQe, + deqAvgCost: EQe, + deqNoDrawCost: CQe, + deqFastCost: SQe, + deq: o(function (e, r, n) { + return e.dequeue(r, n); + }, 'deq'), + onDeqd: o(function (e, r) { + for (var n = 0; n < e.onDequeues.length; n++) { + var i = e.onDequeues[n]; + i(r); + } + }, 'onDeqd'), + shouldRedraw: o(function (e, r, n, i) { + for (var a = 0; a < r.length; a++) + for (var s = r[a].eles, l = 0; l < s.length; l++) { + var u = s[l].boundingBox(); + if (rB(u, i)) return !0; + } + return !1; + }, 'shouldRedraw'), + priority: o(function (e) { + return e.renderer.beforeRenderPriorities.eleTxrDeq; + }, 'priority') + }); + (DQe = 1), + (zx = -4), + (M6 = 2), + (RQe = 3.99), + (NQe = 50), + (MQe = 50), + (IQe = 0.15), + (OQe = 0.1), + (PQe = 0.9), + (BQe = 0.9), + (FQe = 1), + (dpe = 250), + (zQe = 4e3 * 4e3), + (GQe = !0), + (Wme = o(function (e) { + var r = this, + n = (r.renderer = e), + i = n.cy; + (r.layersByLevel = {}), + (r.firstGet = !0), + (r.lastInvalidationTime = Ku() - 2 * dpe), + (r.skipping = !1), + (r.eleTxrDeqs = i.collection()), + (r.scheduleElementRefinement = P6(function () { + r.refineElementTextures(r.eleTxrDeqs), r.eleTxrDeqs.unmerge(r.eleTxrDeqs); + }, MQe)), + n.beforeRender(function (s, l) { + l - r.lastInvalidationTime <= dpe ? (r.skipping = !0) : (r.skipping = !1); + }, n.beforeRenderPriorities.lyrTxrSkip); + var a = o(function (l, u) { + return u.reqs - l.reqs; + }, 'qSort'); + (r.layersQueue = new eb(a)), r.setupDequeueing(); + }, 'LayeredTextureCache')), + (Aa = Wme.prototype), + (ppe = 0), + ($Qe = Math.pow(2, 53) - 1); + Aa.makeLayer = function (t, e) { + var r = Math.pow(2, e), + n = Math.ceil(t.w * r), + i = Math.ceil(t.h * r), + a = this.renderer.makeOffscreenCanvas(n, i), + s = { + id: (ppe = ++ppe % $Qe), + bb: t, + level: e, + width: n, + height: i, + canvas: a, + context: a.getContext('2d'), + eles: [], + elesQueue: [], + reqs: 0 + }, + l = s.context, + u = -s.bb.x1, + h = -s.bb.y1; + return l.scale(r, r), l.translate(u, h), s; + }; + Aa.getLayers = function (t, e, r) { + var n = this, + i = n.renderer, + a = i.cy, + s = a.zoom(), + l = n.firstGet; + if (((n.firstGet = !1), r == null)) { + if (((r = Math.ceil(tB(s * e))), r < zx)) r = zx; + else if (s >= RQe || r > M6) return null; + } + n.validateLayersElesOrdering(r, t); + var u = n.layersByLevel, + h = Math.pow(2, r), + f = (u[r] = u[r] || []), + d, + p = n.levelIsComplete(r, t), + m, + g = o(function () { + var M = o(function (O) { + if ((n.validateLayersElesOrdering(O, t), n.levelIsComplete(O, t))) + return (m = u[O]), !0; + }, 'canUseAsTmpLvl'), + N = o(function (O) { + if (!m) for (var D = r + O; zx <= D && D <= M6 && !M(D); D += O); + }, 'checkLvls'); + N(1), N(-1); + for (var k = f.length - 1; k >= 0; k--) { + var I = f[k]; + I.invalid && Af(f, I); + } + }, 'checkTempLevels'); + if (!p) g(); + else return f; + var y = o(function () { + if (!d) { + d = Gs(); + for (var M = 0; M < t.length; M++) Vpe(d, t[M].boundingBox()); + } + return d; + }, 'getBb'), + v = o(function (M) { + M = M || {}; + var N = M.after; + y(); + var k = d.w * h * (d.h * h); + if (k > zQe) return null; + var I = n.makeLayer(d, r); + if (N != null) { + var C = f.indexOf(N) + 1; + f.splice(C, 0, I); + } else (M.insert === void 0 || M.insert) && f.unshift(I); + return I; + }, 'makeLayer'); + if (n.skipping && !l) return null; + for (var x = null, b = t.length / DQe, w = !l, S = 0; S < t.length; S++) { + var T = t[S], + E = T._private.rscratch, + _ = (E.imgLayerCaches = E.imgLayerCaches || {}), + A = _[r]; + if (A) { + x = A; + continue; + } + if ( + (!x || x.eles.length >= b || !Upe(x.bb, T.boundingBox())) && + ((x = v({ insert: !0, after: x })), !x) + ) + return null; + m || w ? n.queueLayer(x, T) : n.drawEleInLayer(x, T, r, e), x.eles.push(T), (_[r] = x); + } + return m || (w ? null : f); + }; + Aa.getEleLevelForLayerLevel = function (t, e) { + return t; + }; + Aa.drawEleInLayer = function (t, e, r, n) { + var i = this, + a = this.renderer, + s = t.context, + l = e.boundingBox(); + l.w === 0 || + l.h === 0 || + !e.visible() || + ((r = i.getEleLevelForLayerLevel(r, n)), + a.setImgSmoothing(s, !1), + a.drawCachedElement(s, e, null, null, r, GQe), + a.setImgSmoothing(s, !0)); + }; + Aa.levelIsComplete = function (t, e) { + var r = this, + n = r.layersByLevel[t]; + if (!n || n.length === 0) return !1; + for (var i = 0, a = 0; a < n.length; a++) { + var s = n[a]; + if (s.reqs > 0 || s.invalid) return !1; + i += s.eles.length; + } + return i === e.length; + }; + Aa.validateLayersElesOrdering = function (t, e) { + var r = this.layersByLevel[t]; + if (r) + for (var n = 0; n < r.length; n++) { + for (var i = r[n], a = -1, s = 0; s < e.length; s++) + if (i.eles[0] === e[s]) { + a = s; + break; + } + if (a < 0) { + this.invalidateLayer(i); + continue; + } + for (var l = a, s = 0; s < i.eles.length; s++) + if (i.eles[s] !== e[l + s]) { + this.invalidateLayer(i); + break; + } + } + }; + Aa.updateElementsInLayers = function (t, e) { + for (var r = this, n = Zx(t[0]), i = 0; i < t.length; i++) + for ( + var a = n ? null : t[i], + s = n ? t[i] : t[i].ele, + l = s._private.rscratch, + u = (l.imgLayerCaches = l.imgLayerCaches || {}), + h = zx; + h <= M6; + h++ + ) { + var f = u[h]; + f && ((a && r.getEleLevelForLayerLevel(f.level) !== a.level) || e(f, s, a)); + } + }; + Aa.haveLayers = function () { + for (var t = this, e = !1, r = zx; r <= M6; r++) { + var n = t.layersByLevel[r]; + if (n && n.length > 0) { + e = !0; + break; + } + } + return e; + }; + Aa.invalidateElements = function (t) { + var e = this; + t.length !== 0 && + ((e.lastInvalidationTime = Ku()), + !(t.length === 0 || !e.haveLayers()) && + e.updateElementsInLayers( + t, + o(function (n, i, a) { + e.invalidateLayer(n); + }, 'invalAssocLayers') + )); + }; + Aa.invalidateLayer = function (t) { + if (((this.lastInvalidationTime = Ku()), !t.invalid)) { + var e = t.level, + r = t.eles, + n = this.layersByLevel[e]; + Af(n, t), (t.elesQueue = []), (t.invalid = !0), t.replacement && (t.replacement.invalid = !0); + for (var i = 0; i < r.length; i++) { + var a = r[i]._private.rscratch.imgLayerCaches; + a && (a[e] = null); + } + } + }; + Aa.refineElementTextures = function (t) { + var e = this; + e.updateElementsInLayers( + t, + o(function (n, i, a) { + var s = n.replacement; + if ( + (s || + ((s = n.replacement = e.makeLayer(n.bb, n.level)), (s.replaces = n), (s.eles = n.eles)), + !s.reqs) + ) + for (var l = 0; l < s.eles.length; l++) e.queueLayer(s, s.eles[l]); + }, 'refineEachEle') + ); + }; + Aa.enqueueElementRefinement = function (t) { + this.eleTxrDeqs.merge(t), this.scheduleElementRefinement(); + }; + Aa.queueLayer = function (t, e) { + var r = this, + n = r.layersQueue, + i = t.elesQueue, + a = (i.hasId = i.hasId || {}); + if (!t.replacement) { + if (e) { + if (a[e.id()]) return; + i.push(e), (a[e.id()] = !0); + } + t.reqs ? (t.reqs++, n.updateItem(t)) : ((t.reqs = 1), n.push(t)); + } + }; + Aa.dequeue = function (t) { + for (var e = this, r = e.layersQueue, n = [], i = 0; i < FQe && r.size() !== 0; ) { + var a = r.peek(); + if (a.replacement) { + r.pop(); + continue; + } + if (a.replaces && a !== a.replaces.replacement) { + r.pop(); + continue; + } + if (a.invalid) { + r.pop(); + continue; + } + var s = a.elesQueue.shift(); + s && (e.drawEleInLayer(a, s, a.level, t), i++), + n.length === 0 && n.push(!0), + a.elesQueue.length === 0 && + (r.pop(), (a.reqs = 0), a.replaces && e.applyLayerReplacement(a), e.requestRedraw()); + } + return n; + }; + Aa.applyLayerReplacement = function (t) { + var e = this, + r = e.layersByLevel[t.level], + n = t.replaces, + i = r.indexOf(n); + if (!(i < 0 || n.invalid)) { + r[i] = t; + for (var a = 0; a < t.eles.length; a++) { + var s = t.eles[a]._private, + l = (s.imgLayerCaches = s.imgLayerCaches || {}); + l && (l[t.level] = t); + } + e.requestRedraw(); + } + }; + Aa.requestRedraw = P6(function () { + var t = this.renderer; + t.redrawHint('eles', !0), t.redrawHint('drag', !0), t.redraw(); + }, 100); + Aa.setupDequeueing = Yme.setupDequeueing({ + deqRedrawThreshold: NQe, + deqCost: IQe, + deqAvgCost: OQe, + deqNoDrawCost: PQe, + deqFastCost: BQe, + deq: o(function (e, r) { + return e.dequeue(r); + }, 'deq'), + onDeqd: JP, + shouldRedraw: Ppe, + priority: o(function (e) { + return e.renderer.beforeRenderPriorities.lyrTxrDeq; + }, 'priority') + }); + qme = {}; + o(VQe, 'polygon'); + o(UQe, 'triangleBackcurve'); + o(gpe, 'triangleTee'); + o(HQe, 'circleTriangle'); + o(YQe, 'circle'); + qme.arrowShapeImpl = function (t) { + return (mpe || + (mpe = { + polygon: VQe, + 'triangle-backcurve': UQe, + 'triangle-tee': gpe, + 'circle-triangle': HQe, + 'triangle-cross': gpe, + circle: YQe + }))[t]; + }; + Yc = {}; + Yc.drawElement = function (t, e, r, n, i, a) { + var s = this; + e.isNode() ? s.drawNode(t, e, r, n, i, a) : s.drawEdge(t, e, r, n, i, a); + }; + Yc.drawElementOverlay = function (t, e) { + var r = this; + e.isNode() ? r.drawNodeOverlay(t, e) : r.drawEdgeOverlay(t, e); + }; + Yc.drawElementUnderlay = function (t, e) { + var r = this; + e.isNode() ? r.drawNodeUnderlay(t, e) : r.drawEdgeUnderlay(t, e); + }; + Yc.drawCachedElementPortion = function (t, e, r, n, i, a, s, l) { + var u = this, + h = r.getBoundingBox(e); + if (!(h.w === 0 || h.h === 0)) { + var f = r.getElement(e, h, n, i, a); + if (f != null) { + var d = l(u, e); + if (d === 0) return; + var p = s(u, e), + m = h.x1, + g = h.y1, + y = h.w, + v = h.h, + x, + b, + w, + S, + T; + if (p !== 0) { + var E = r.getRotationPoint(e); + (w = E.x), + (S = E.y), + t.translate(w, S), + t.rotate(p), + (T = u.getImgSmoothing(t)), + T || u.setImgSmoothing(t, !0); + var _ = r.getRotationOffset(e); + (x = _.x), (b = _.y); + } else (x = m), (b = g); + var A; + d !== 1 && ((A = t.globalAlpha), (t.globalAlpha = A * d)), + t.drawImage(f.texture.canvas, f.x, 0, f.width, f.height, x, b, y, v), + d !== 1 && (t.globalAlpha = A), + p !== 0 && (t.rotate(-p), t.translate(-w, -S), T || u.setImgSmoothing(t, !1)); + } else r.drawElement(t, e); + } + }; + (WQe = o(function () { + return 0; + }, 'getZeroRotation')), + (qQe = o(function (e, r) { + return e.getTextAngle(r, null); + }, 'getLabelRotation')), + (XQe = o(function (e, r) { + return e.getTextAngle(r, 'source'); + }, 'getSourceLabelRotation')), + (jQe = o(function (e, r) { + return e.getTextAngle(r, 'target'); + }, 'getTargetLabelRotation')), + (KQe = o(function (e, r) { + return r.effectiveOpacity(); + }, 'getOpacity')), + (DP = o(function (e, r) { + return r.pstyle('text-opacity').pfValue * r.effectiveOpacity(); + }, 'getTextOpacity')); + Yc.drawCachedElement = function (t, e, r, n, i, a) { + var s = this, + l = s.data, + u = l.eleTxrCache, + h = l.lblTxrCache, + f = l.slbTxrCache, + d = l.tlbTxrCache, + p = e.boundingBox(), + m = a === !0 ? u.reasons.highQuality : null; + if (!(p.w === 0 || p.h === 0 || !e.visible()) && (!n || rB(p, n))) { + var g = e.isEdge(), + y = e.element()._private.rscratch.badLine; + s.drawElementUnderlay(t, e), + s.drawCachedElementPortion(t, e, u, r, i, m, WQe, KQe), + (!g || !y) && s.drawCachedElementPortion(t, e, h, r, i, m, qQe, DP), + g && + !y && + (s.drawCachedElementPortion(t, e, f, r, i, m, XQe, DP), + s.drawCachedElementPortion(t, e, d, r, i, m, jQe, DP)), + s.drawElementOverlay(t, e); + } + }; + Yc.drawElements = function (t, e) { + for (var r = this, n = 0; n < e.length; n++) { + var i = e[n]; + r.drawElement(t, i); + } + }; + Yc.drawCachedElements = function (t, e, r, n) { + for (var i = this, a = 0; a < e.length; a++) { + var s = e[a]; + i.drawCachedElement(t, s, r, n); + } + }; + Yc.drawCachedNodes = function (t, e, r, n) { + for (var i = this, a = 0; a < e.length; a++) { + var s = e[a]; + s.isNode() && i.drawCachedElement(t, s, r, n); + } + }; + Yc.drawLayeredElements = function (t, e, r, n) { + var i = this, + a = i.data.lyrTxrCache.getLayers(e, r); + if (a) + for (var s = 0; s < a.length; s++) { + var l = a[s], + u = l.bb; + u.w === 0 || u.h === 0 || t.drawImage(l.canvas, u.x1, u.y1, u.w, u.h); + } + else i.drawCachedElements(t, e, r, n); + }; + eh = {}; + eh.drawEdge = function (t, e, r) { + var n = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !0, + i = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0, + a = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : !0, + s = this, + l = e._private.rscratch; + if (!(a && !e.visible()) && !(l.badLine || l.allpts == null || isNaN(l.allpts[0]))) { + var u; + r && ((u = r), t.translate(-u.x1, -u.y1)); + var h = a ? e.pstyle('opacity').value : 1, + f = a ? e.pstyle('line-opacity').value : 1, + d = e.pstyle('curve-style').value, + p = e.pstyle('line-style').value, + m = e.pstyle('width').pfValue, + g = e.pstyle('line-cap').value, + y = e.pstyle('line-outline-width').value, + v = e.pstyle('line-outline-color').value, + x = h * f, + b = h * f, + w = o(function () { + var O = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : x; + d === 'straight-triangle' + ? (s.eleStrokeStyle(t, e, O), s.drawEdgeTrianglePath(e, t, l.allpts)) + : ((t.lineWidth = m), + (t.lineCap = g), + s.eleStrokeStyle(t, e, O), + s.drawEdgePath(e, t, l.allpts, p), + (t.lineCap = 'butt')); + }, 'drawLine'), + S = o(function () { + var O = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : x; + if (((t.lineWidth = m + y), (t.lineCap = g), y > 0)) + s.colorStrokeStyle(t, v[0], v[1], v[2], O); + else { + t.lineCap = 'butt'; + return; + } + d === 'straight-triangle' + ? s.drawEdgeTrianglePath(e, t, l.allpts) + : (s.drawEdgePath(e, t, l.allpts, p), (t.lineCap = 'butt')); + }, 'drawLineOutline'), + T = o(function () { + i && s.drawEdgeOverlay(t, e); + }, 'drawOverlay'), + E = o(function () { + i && s.drawEdgeUnderlay(t, e); + }, 'drawUnderlay'), + _ = o(function () { + var O = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : b; + s.drawArrowheads(t, e, O); + }, 'drawArrows'), + A = o(function () { + s.drawElementText(t, e, null, n); + }, 'drawText'); + t.lineJoin = 'round'; + var L = e.pstyle('ghost').value === 'yes'; + if (L) { + var M = e.pstyle('ghost-offset-x').pfValue, + N = e.pstyle('ghost-offset-y').pfValue, + k = e.pstyle('ghost-opacity').value, + I = x * k; + t.translate(M, N), w(I), _(I), t.translate(-M, -N); + } else S(); + E(), w(), _(), T(), A(), r && t.translate(u.x1, u.y1); + } + }; + Xme = o(function (e) { + if (!['overlay', 'underlay'].includes(e)) throw new Error('Invalid state'); + return function (r, n) { + if (n.visible()) { + var i = n.pstyle(''.concat(e, '-opacity')).value; + if (i !== 0) { + var a = this, + s = a.usePaths(), + l = n._private.rscratch, + u = n.pstyle(''.concat(e, '-padding')).pfValue, + h = 2 * u, + f = n.pstyle(''.concat(e, '-color')).value; + (r.lineWidth = h), + l.edgeType === 'self' && !s ? (r.lineCap = 'butt') : (r.lineCap = 'round'), + a.colorStrokeStyle(r, f[0], f[1], f[2], i), + a.drawEdgePath(n, r, l.allpts, 'solid'); + } + } + }; + }, 'drawEdgeOverlayUnderlay'); + eh.drawEdgeOverlay = Xme('overlay'); + eh.drawEdgeUnderlay = Xme('underlay'); + eh.drawEdgePath = function (t, e, r, n) { + var i = t._private.rscratch, + a = e, + s, + l = !1, + u = this.usePaths(), + h = t.pstyle('line-dash-pattern').pfValue, + f = t.pstyle('line-dash-offset').pfValue; + if (u) { + var d = r.join('$'), + p = i.pathCacheKey && i.pathCacheKey === d; + p + ? ((s = e = i.pathCache), (l = !0)) + : ((s = e = new Path2D()), (i.pathCacheKey = d), (i.pathCache = s)); + } + if (a.setLineDash) + switch (n) { + case 'dotted': + a.setLineDash([1, 1]); + break; + case 'dashed': + a.setLineDash(h), (a.lineDashOffset = f); + break; + case 'solid': + a.setLineDash([]); + break; + } + if (!l && !i.badLine) + switch ((e.beginPath && e.beginPath(), e.moveTo(r[0], r[1]), i.edgeType)) { + case 'bezier': + case 'self': + case 'compound': + case 'multibezier': + for (var m = 2; m + 3 < r.length; m += 4) + e.quadraticCurveTo(r[m], r[m + 1], r[m + 2], r[m + 3]); + break; + case 'straight': + case 'haystack': + for (var g = 2; g + 1 < r.length; g += 2) e.lineTo(r[g], r[g + 1]); + break; + case 'segments': + if (i.isRound) { + var y = Tpe(i.roundCorners), + v; + try { + for (y.s(); !(v = y.n()).done; ) { + var x = v.value; + Bme(e, x); + } + } catch (w) { + y.e(w); + } finally { + y.f(); + } + e.lineTo(r[r.length - 2], r[r.length - 1]); + } else for (var b = 2; b + 1 < r.length; b += 2) e.lineTo(r[b], r[b + 1]); + break; + } + (e = a), u ? e.stroke(s) : e.stroke(), e.setLineDash && e.setLineDash([]); + }; + eh.drawEdgeTrianglePath = function (t, e, r) { + e.fillStyle = e.strokeStyle; + for (var n = t.pstyle('width').pfValue, i = 0; i + 1 < r.length; i += 2) { + var a = [r[i + 2] - r[i], r[i + 3] - r[i + 1]], + s = Math.sqrt(a[0] * a[0] + a[1] * a[1]), + l = [a[1] / s, -a[0] / s], + u = [(l[0] * n) / 2, (l[1] * n) / 2]; + e.beginPath(), + e.moveTo(r[i] - u[0], r[i + 1] - u[1]), + e.lineTo(r[i] + u[0], r[i + 1] + u[1]), + e.lineTo(r[i + 2], r[i + 3]), + e.closePath(), + e.fill(); + } + }; + eh.drawArrowheads = function (t, e, r) { + var n = e._private.rscratch, + i = n.edgeType === 'haystack'; + i || this.drawArrowhead(t, e, 'source', n.arrowStartX, n.arrowStartY, n.srcArrowAngle, r), + this.drawArrowhead(t, e, 'mid-target', n.midX, n.midY, n.midtgtArrowAngle, r), + this.drawArrowhead(t, e, 'mid-source', n.midX, n.midY, n.midsrcArrowAngle, r), + i || this.drawArrowhead(t, e, 'target', n.arrowEndX, n.arrowEndY, n.tgtArrowAngle, r); + }; + eh.drawArrowhead = function (t, e, r, n, i, a, s) { + if (!(isNaN(n) || n == null || isNaN(i) || i == null || isNaN(a) || a == null)) { + var l = this, + u = e.pstyle(r + '-arrow-shape').value; + if (u !== 'none') { + var h = e.pstyle(r + '-arrow-fill').value === 'hollow' ? 'both' : 'filled', + f = e.pstyle(r + '-arrow-fill').value, + d = e.pstyle('width').pfValue, + p = e.pstyle(r + '-arrow-width'), + m = p.value === 'match-line' ? d : p.pfValue; + p.units === '%' && (m *= d); + var g = e.pstyle('opacity').value; + s === void 0 && (s = g); + var y = t.globalCompositeOperation; + (s !== 1 || f === 'hollow') && + ((t.globalCompositeOperation = 'destination-out'), + l.colorFillStyle(t, 255, 255, 255, 1), + l.colorStrokeStyle(t, 255, 255, 255, 1), + l.drawArrowShape(e, t, h, d, u, m, n, i, a), + (t.globalCompositeOperation = y)); + var v = e.pstyle(r + '-arrow-color').value; + l.colorFillStyle(t, v[0], v[1], v[2], s), + l.colorStrokeStyle(t, v[0], v[1], v[2], s), + l.drawArrowShape(e, t, f, d, u, m, n, i, a); + } + } + }; + eh.drawArrowShape = function (t, e, r, n, i, a, s, l, u) { + var h = this, + f = this.usePaths() && i !== 'triangle-cross', + d = !1, + p, + m = e, + g = { x: s, y: l }, + y = t.pstyle('arrow-scale').value, + v = this.getArrowWidth(n, y), + x = h.arrowShapes[i]; + if (f) { + var b = (h.arrowPathCache = h.arrowPathCache || []), + w = U0(i), + S = b[w]; + S != null ? ((p = e = S), (d = !0)) : ((p = e = new Path2D()), (b[w] = p)); + } + d || + (e.beginPath && e.beginPath(), + f ? x.draw(e, 1, 0, { x: 0, y: 0 }, 1) : x.draw(e, v, u, g, n), + e.closePath && e.closePath()), + (e = m), + f && (e.translate(s, l), e.rotate(u), e.scale(v, v)), + (r === 'filled' || r === 'both') && (f ? e.fill(p) : e.fill()), + (r === 'hollow' || r === 'both') && + ((e.lineWidth = a / (f ? v : 1)), (e.lineJoin = 'miter'), f ? e.stroke(p) : e.stroke()), + f && (e.scale(1 / v, 1 / v), e.rotate(-u), e.translate(-s, -l)); + }; + yB = {}; + yB.safeDrawImage = function (t, e, r, n, i, a, s, l, u, h) { + if (!(i <= 0 || a <= 0 || u <= 0 || h <= 0)) + try { + t.drawImage(e, r, n, i, a, s, l, u, h); + } catch (f) { + tn(f); + } + }; + yB.drawInscribedImage = function (t, e, r, n, i) { + var a = this, + s = r.position(), + l = s.x, + u = s.y, + h = r.cy().style(), + f = h.getIndexedStyle.bind(h), + d = f(r, 'background-fit', 'value', n), + p = f(r, 'background-repeat', 'value', n), + m = r.width(), + g = r.height(), + y = r.padding() * 2, + v = m + (f(r, 'background-width-relative-to', 'value', n) === 'inner' ? 0 : y), + x = g + (f(r, 'background-height-relative-to', 'value', n) === 'inner' ? 0 : y), + b = r._private.rscratch, + w = f(r, 'background-clip', 'value', n), + S = w === 'node', + T = f(r, 'background-image-opacity', 'value', n) * i, + E = f(r, 'background-image-smoothing', 'value', n), + _ = r.pstyle('corner-radius').value; + _ !== 'auto' && (_ = r.pstyle('corner-radius').pfValue); + var A = e.width || e.cachedW, + L = e.height || e.cachedH; + (A == null || L == null) && + (document.body.appendChild(e), + (A = e.cachedW = e.width || e.offsetWidth), + (L = e.cachedH = e.height || e.offsetHeight), + document.body.removeChild(e)); + var M = A, + N = L; + if ( + (f(r, 'background-width', 'value', n) !== 'auto' && + (f(r, 'background-width', 'units', n) === '%' + ? (M = f(r, 'background-width', 'pfValue', n) * v) + : (M = f(r, 'background-width', 'pfValue', n))), + f(r, 'background-height', 'value', n) !== 'auto' && + (f(r, 'background-height', 'units', n) === '%' + ? (N = f(r, 'background-height', 'pfValue', n) * x) + : (N = f(r, 'background-height', 'pfValue', n))), + !(M === 0 || N === 0)) + ) { + if (d === 'contain') { + var k = Math.min(v / M, x / N); + (M *= k), (N *= k); + } else if (d === 'cover') { + var k = Math.max(v / M, x / N); + (M *= k), (N *= k); + } + var I = l - v / 2, + C = f(r, 'background-position-x', 'units', n), + O = f(r, 'background-position-x', 'pfValue', n); + C === '%' ? (I += (v - M) * O) : (I += O); + var D = f(r, 'background-offset-x', 'units', n), + P = f(r, 'background-offset-x', 'pfValue', n); + D === '%' ? (I += (v - M) * P) : (I += P); + var F = u - x / 2, + B = f(r, 'background-position-y', 'units', n), + $ = f(r, 'background-position-y', 'pfValue', n); + B === '%' ? (F += (x - N) * $) : (F += $); + var z = f(r, 'background-offset-y', 'units', n), + Y = f(r, 'background-offset-y', 'pfValue', n); + z === '%' ? (F += (x - N) * Y) : (F += Y), b.pathCache && ((I -= l), (F -= u), (l = 0), (u = 0)); + var Q = t.globalAlpha; + t.globalAlpha = T; + var X = a.getImgSmoothing(t), + ie = !1; + if ( + (E === 'no' && X + ? (a.setImgSmoothing(t, !1), (ie = !0)) + : E === 'yes' && !X && (a.setImgSmoothing(t, !0), (ie = !0)), + p === 'no-repeat') + ) + S && + (t.save(), + b.pathCache + ? t.clip(b.pathCache) + : (a.nodeShapes[a.getNodeShape(r)].draw(t, l, u, v, x, _, b), t.clip())), + a.safeDrawImage(t, e, 0, 0, A, L, I, F, M, N), + S && t.restore(); + else { + var j = t.createPattern(e, p); + (t.fillStyle = j), + a.nodeShapes[a.getNodeShape(r)].draw(t, l, u, v, x, _, b), + t.translate(I, F), + t.fill(), + t.translate(-I, -F); + } + (t.globalAlpha = Q), ie && a.setImgSmoothing(t, X); + } + }; + K0 = {}; + K0.eleTextBiggerThanMin = function (t, e) { + if (!e) { + var r = t.cy().zoom(), + n = this.getPixelRatio(), + i = Math.ceil(tB(r * n)); + e = Math.pow(2, i); + } + var a = t.pstyle('font-size').pfValue * e, + s = t.pstyle('min-zoomed-font-size').pfValue; + return !(a < s); + }; + K0.drawElementText = function (t, e, r, n, i) { + var a = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : !0, + s = this; + if (n == null) { + if (a && !s.eleTextBiggerThanMin(e)) return; + } else if (n === !1) return; + if (e.isNode()) { + var l = e.pstyle('label'); + if (!l || !l.value) return; + var u = s.getLabelJustification(e); + (t.textAlign = u), (t.textBaseline = 'bottom'); + } else { + var h = e.element()._private.rscratch.badLine, + f = e.pstyle('label'), + d = e.pstyle('source-label'), + p = e.pstyle('target-label'); + if (h || ((!f || !f.value) && (!d || !d.value) && (!p || !p.value))) return; + (t.textAlign = 'center'), (t.textBaseline = 'bottom'); + } + var m = !r, + g; + r && ((g = r), t.translate(-g.x1, -g.y1)), + i == null + ? (s.drawText(t, e, null, m, a), + e.isEdge() && (s.drawText(t, e, 'source', m, a), s.drawText(t, e, 'target', m, a))) + : s.drawText(t, e, i, m, a), + r && t.translate(g.x1, g.y1); + }; + K0.getFontCache = function (t) { + var e; + this.fontCaches = this.fontCaches || []; + for (var r = 0; r < this.fontCaches.length; r++) + if (((e = this.fontCaches[r]), e.context === t)) return e; + return (e = { context: t }), this.fontCaches.push(e), e; + }; + K0.setupTextStyle = function (t, e) { + var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !0, + n = e.pstyle('font-style').strValue, + i = e.pstyle('font-size').pfValue + 'px', + a = e.pstyle('font-family').strValue, + s = e.pstyle('font-weight').strValue, + l = r ? e.effectiveOpacity() * e.pstyle('text-opacity').value : 1, + u = e.pstyle('text-outline-opacity').value * l, + h = e.pstyle('color').value, + f = e.pstyle('text-outline-color').value; + (t.font = n + ' ' + s + ' ' + i + ' ' + a), + (t.lineJoin = 'round'), + this.colorFillStyle(t, h[0], h[1], h[2], l), + this.colorStrokeStyle(t, f[0], f[1], f[2], u); + }; + o(RP, 'roundRect'); + K0.getTextAngle = function (t, e) { + var r, + n = t._private, + i = n.rscratch, + a = e ? e + '-' : '', + s = t.pstyle(a + 'text-rotation'), + l = Ul(i, 'labelAngle', e); + return ( + s.strValue === 'autorotate' + ? (r = t.isEdge() ? l : 0) + : s.strValue === 'none' + ? (r = 0) + : (r = s.pfValue), + r + ); + }; + K0.drawText = function (t, e, r) { + var n = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !0, + i = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0, + a = e._private, + s = a.rscratch, + l = i ? e.effectiveOpacity() : 1; + if (!(i && (l === 0 || e.pstyle('text-opacity').value === 0))) { + r === 'main' && (r = null); + var u = Ul(s, 'labelX', r), + h = Ul(s, 'labelY', r), + f, + d, + p = this.getLabelText(e, r); + if (p != null && p !== '' && !isNaN(u) && !isNaN(h)) { + this.setupTextStyle(t, e, i); + var m = r ? r + '-' : '', + g = Ul(s, 'labelWidth', r), + y = Ul(s, 'labelHeight', r), + v = e.pstyle(m + 'text-margin-x').pfValue, + x = e.pstyle(m + 'text-margin-y').pfValue, + b = e.isEdge(), + w = e.pstyle('text-halign').value, + S = e.pstyle('text-valign').value; + b && ((w = 'center'), (S = 'center')), (u += v), (h += x); + var T; + switch ( + (n ? (T = this.getTextAngle(e, r)) : (T = 0), + T !== 0 && ((f = u), (d = h), t.translate(f, d), t.rotate(T), (u = 0), (h = 0)), + S) + ) { + case 'top': + break; + case 'center': + h += y / 2; + break; + case 'bottom': + h += y; + break; + } + var E = e.pstyle('text-background-opacity').value, + _ = e.pstyle('text-border-opacity').value, + A = e.pstyle('text-border-width').pfValue, + L = e.pstyle('text-background-padding').pfValue, + M = e.pstyle('text-background-shape').strValue, + N = M.indexOf('round') === 0, + k = 2; + if (E > 0 || (A > 0 && _ > 0)) { + var I = u - L; + switch (w) { + case 'left': + I -= g; + break; + case 'center': + I -= g / 2; + break; + } + var C = h - y - L, + O = g + 2 * L, + D = y + 2 * L; + if (E > 0) { + var P = t.fillStyle, + F = e.pstyle('text-background-color').value; + (t.fillStyle = 'rgba(' + F[0] + ',' + F[1] + ',' + F[2] + ',' + E * l + ')'), + N ? RP(t, I, C, O, D, k) : t.fillRect(I, C, O, D), + (t.fillStyle = P); + } + if (A > 0 && _ > 0) { + var B = t.strokeStyle, + $ = t.lineWidth, + z = e.pstyle('text-border-color').value, + Y = e.pstyle('text-border-style').value; + if ( + ((t.strokeStyle = 'rgba(' + z[0] + ',' + z[1] + ',' + z[2] + ',' + _ * l + ')'), + (t.lineWidth = A), + t.setLineDash) + ) + switch (Y) { + case 'dotted': + t.setLineDash([1, 1]); + break; + case 'dashed': + t.setLineDash([4, 2]); + break; + case 'double': + (t.lineWidth = A / 4), t.setLineDash([]); + break; + case 'solid': + t.setLineDash([]); + break; + } + if ((N ? RP(t, I, C, O, D, k, 'stroke') : t.strokeRect(I, C, O, D), Y === 'double')) { + var Q = A / 2; + N + ? RP(t, I + Q, C + Q, O - Q * 2, D - Q * 2, k, 'stroke') + : t.strokeRect(I + Q, C + Q, O - Q * 2, D - Q * 2); + } + t.setLineDash && t.setLineDash([]), (t.lineWidth = $), (t.strokeStyle = B); + } + } + var X = 2 * e.pstyle('text-outline-width').pfValue; + if ((X > 0 && (t.lineWidth = X), e.pstyle('text-wrap').value === 'wrap')) { + var ie = Ul(s, 'labelWrapCachedLines', r), + j = Ul(s, 'labelLineHeight', r), + J = g / 2, + Z = this.getLabelJustification(e); + switch ( + (Z === 'auto' || + (w === 'left' + ? Z === 'left' + ? (u += -g) + : Z === 'center' && (u += -J) + : w === 'center' + ? Z === 'left' + ? (u += -J) + : Z === 'right' && (u += J) + : w === 'right' && (Z === 'center' ? (u += J) : Z === 'right' && (u += g))), + S) + ) { + case 'top': + h -= (ie.length - 1) * j; + break; + case 'center': + case 'bottom': + h -= (ie.length - 1) * j; + break; + } + for (var H = 0; H < ie.length; H++) + X > 0 && t.strokeText(ie[H], u, h), t.fillText(ie[H], u, h), (h += j); + } else X > 0 && t.strokeText(p, u, h), t.fillText(p, u, h); + T !== 0 && (t.rotate(-T), t.translate(-f, -d)); + } + } + }; + v1 = {}; + v1.drawNode = function (t, e, r) { + var n = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !0, + i = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0, + a = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : !0, + s = this, + l, + u, + h = e._private, + f = h.rscratch, + d = e.position(); + if (!(!ft(d.x) || !ft(d.y)) && !(a && !e.visible())) { + var p = a ? e.effectiveOpacity() : 1, + m = s.usePaths(), + g, + y = !1, + v = e.padding(); + (l = e.width() + 2 * v), (u = e.height() + 2 * v); + var x; + r && ((x = r), t.translate(-x.x1, -x.y1)); + for ( + var b = e.pstyle('background-image'), + w = b.value, + S = new Array(w.length), + T = new Array(w.length), + E = 0, + _ = 0; + _ < w.length; + _++ + ) { + var A = w[_], + L = (S[_] = A != null && A !== 'none'); + if (L) { + var M = e.cy().style().getIndexedStyle(e, 'background-image-crossorigin', 'value', _); + E++, + (T[_] = s.getCachedImage(A, M, function () { + (h.backgroundTimestamp = Date.now()), e.emitAndNotify('background'); + })); + } + } + var N = e.pstyle('background-blacken').value, + k = e.pstyle('border-width').pfValue, + I = e.pstyle('background-opacity').value * p, + C = e.pstyle('border-color').value, + O = e.pstyle('border-style').value, + D = e.pstyle('border-join').value, + P = e.pstyle('border-cap').value, + F = e.pstyle('border-position').value, + B = e.pstyle('border-dash-pattern').pfValue, + $ = e.pstyle('border-dash-offset').pfValue, + z = e.pstyle('border-opacity').value * p, + Y = e.pstyle('outline-width').pfValue, + Q = e.pstyle('outline-color').value, + X = e.pstyle('outline-style').value, + ie = e.pstyle('outline-opacity').value * p, + j = e.pstyle('outline-offset').value, + J = e.pstyle('corner-radius').value; + J !== 'auto' && (J = e.pstyle('corner-radius').pfValue); + var Z = o(function () { + var ne = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : I; + s.eleFillStyle(t, e, ne); + }, 'setupShapeColor'), + H = o(function () { + var ne = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : z; + s.colorStrokeStyle(t, C[0], C[1], C[2], ne); + }, 'setupBorderColor'), + q = o(function () { + var ne = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : ie; + s.colorStrokeStyle(t, Q[0], Q[1], Q[2], ne); + }, 'setupOutlineColor'), + K = o(function (ne, ae, we, Te) { + var Ce = (s.nodePathCache = s.nodePathCache || []), + Ae = Ope(we === 'polygon' ? we + ',' + Te.join(',') : we, '' + ae, '' + ne, '' + J), + Ge = Ce[Ae], + Me, + ye = !1; + return ( + Ge != null + ? ((Me = Ge), (ye = !0), (f.pathCache = Me)) + : ((Me = new Path2D()), (Ce[Ae] = f.pathCache = Me)), + { path: Me, cacheHit: ye } + ); + }, 'getPath'), + se = e.pstyle('shape').strValue, + ce = e.pstyle('shape-polygon-points').pfValue; + if (m) { + t.translate(d.x, d.y); + var ue = K(l, u, se, ce); + (g = ue.path), (y = ue.cacheHit); + } + var te = o(function () { + if (!y) { + var ne = d; + m && (ne = { x: 0, y: 0 }), + s.nodeShapes[s.getNodeShape(e)].draw(g || t, ne.x, ne.y, l, u, J, f); + } + m ? t.fill(g) : t.fill(); + }, 'drawShape'), + De = o(function () { + for ( + var ne = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : p, + ae = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0, + we = h.backgrounding, + Te = 0, + Ce = 0; + Ce < T.length; + Ce++ + ) { + var Ae = e.cy().style().getIndexedStyle(e, 'background-image-containment', 'value', Ce); + if ((ae && Ae === 'over') || (!ae && Ae === 'inside')) { + Te++; + continue; + } + S[Ce] && + T[Ce].complete && + !T[Ce].error && + (Te++, s.drawInscribedImage(t, T[Ce], e, Ce, ne)); + } + (h.backgrounding = Te !== E), we !== h.backgrounding && e.updateStyle(!1); + }, 'drawImages'), + oe = o(function () { + var ne = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1, + ae = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : p; + s.hasPie(e) && + (s.drawPie(t, e, ae), + ne && (m || s.nodeShapes[s.getNodeShape(e)].draw(t, d.x, d.y, l, u, J, f))); + }, 'drawPie'), + ke = o(function () { + var ne = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : p, + ae = (N > 0 ? N : -N) * ne, + we = N > 0 ? 0 : 255; + N !== 0 && (s.colorFillStyle(t, we, we, we, ae), m ? t.fill(g) : t.fill()); + }, 'darken'), + Ie = o(function () { + if (k > 0) { + if (((t.lineWidth = k), (t.lineCap = P), (t.lineJoin = D), t.setLineDash)) + switch (O) { + case 'dotted': + t.setLineDash([1, 1]); + break; + case 'dashed': + t.setLineDash(B), (t.lineDashOffset = $); + break; + case 'solid': + case 'double': + t.setLineDash([]); + break; + } + if (F !== 'center') { + if ((t.save(), (t.lineWidth *= 2), F === 'inside')) m ? t.clip(g) : t.clip(); + else { + var ne = new Path2D(); + ne.rect(-l / 2 - k, -u / 2 - k, l + 2 * k, u + 2 * k), + ne.addPath(g), + t.clip(ne, 'evenodd'); + } + m ? t.stroke(g) : t.stroke(), t.restore(); + } else m ? t.stroke(g) : t.stroke(); + if (O === 'double') { + t.lineWidth = k / 3; + var ae = t.globalCompositeOperation; + (t.globalCompositeOperation = 'destination-out'), + m ? t.stroke(g) : t.stroke(), + (t.globalCompositeOperation = ae); + } + t.setLineDash && t.setLineDash([]); + } + }, 'drawBorder'), + Se = o(function () { + if (Y > 0) { + if (((t.lineWidth = Y), (t.lineCap = 'butt'), t.setLineDash)) + switch (X) { + case 'dotted': + t.setLineDash([1, 1]); + break; + case 'dashed': + t.setLineDash([4, 2]); + break; + case 'solid': + case 'double': + t.setLineDash([]); + break; + } + var ne = d; + m && (ne = { x: 0, y: 0 }); + var ae = s.getNodeShape(e), + we = k; + F === 'inside' && (we = 0), F === 'outside' && (we *= 2); + var Te = (l + we + (Y + j)) / l, + Ce = (u + we + (Y + j)) / u, + Ae = l * Te, + Ge = u * Ce, + Me = s.nodeShapes[ae].points, + ye; + if (m) { + var He = K(Ae, Ge, ae, Me); + ye = He.path; + } + if (ae === 'ellipse') s.drawEllipsePath(ye || t, ne.x, ne.y, Ae, Ge); + else if ( + [ + 'round-diamond', + 'round-heptagon', + 'round-hexagon', + 'round-octagon', + 'round-pentagon', + 'round-polygon', + 'round-triangle', + 'round-tag' + ].includes(ae) + ) { + var ze = 0, + Ze = 0, + gt = 0; + ae === 'round-diamond' + ? (ze = (we + j + Y) * 1.4) + : ae === 'round-heptagon' + ? ((ze = (we + j + Y) * 1.075), (gt = -(we / 2 + j + Y) / 35)) + : ae === 'round-hexagon' + ? (ze = (we + j + Y) * 1.12) + : ae === 'round-pentagon' + ? ((ze = (we + j + Y) * 1.13), (gt = -(we / 2 + j + Y) / 15)) + : ae === 'round-tag' + ? ((ze = (we + j + Y) * 1.12), (Ze = (we / 2 + Y + j) * 0.07)) + : ae === 'round-triangle' && + ((ze = (we + j + Y) * (Math.PI / 2)), (gt = -(we + j / 2 + Y) / Math.PI)), + ze !== 0 && + ((Te = (l + ze) / l), + (Ae = l * Te), + ['round-hexagon', 'round-tag'].includes(ae) || + ((Ce = (u + ze) / u), (Ge = u * Ce))), + (J = J === 'auto' ? Wpe(Ae, Ge) : J); + for ( + var yt = Ae / 2, + tt = Ge / 2, + Ye = J + (we + Y + j) / 2, + Je = new Array(Me.length / 2), + Ve = new Array(Me.length / 2), + je = 0; + je < Me.length / 2; + je++ + ) + Je[je] = { + x: ne.x + Ze + yt * Me[je * 2], + y: ne.y + gt + tt * Me[je * 2 + 1] + }; + var kt, + at, + xt, + it, + dt = Je.length; + for (at = Je[dt - 1], kt = 0; kt < dt; kt++) + (xt = Je[kt % dt]), + (it = Je[(kt + 1) % dt]), + (Ve[kt] = mB(at, xt, it, Ye)), + (at = xt), + (xt = it); + s.drawRoundPolygonPath(ye || t, ne.x + Ze, ne.y + gt, l * Te, u * Ce, Me, Ve); + } else if (['roundrectangle', 'round-rectangle'].includes(ae)) + (J = J === 'auto' ? Y0(Ae, Ge) : J), + s.drawRoundRectanglePath(ye || t, ne.x, ne.y, Ae, Ge, J + (we + Y + j) / 2); + else if (['cutrectangle', 'cut-rectangle'].includes(ae)) + (J = J === 'auto' ? nB() : J), + s.drawCutRectanglePath(ye || t, ne.x, ne.y, Ae, Ge, null, J + (we + Y + j) / 4); + else if (['bottomroundrectangle', 'bottom-round-rectangle'].includes(ae)) + (J = J === 'auto' ? Y0(Ae, Ge) : J), + s.drawBottomRoundRectanglePath( + ye || t, + ne.x, + ne.y, + Ae, + Ge, + J + (we + Y + j) / 2 + ); + else if (ae === 'barrel') s.drawBarrelPath(ye || t, ne.x, ne.y, Ae, Ge); + else if ( + ae.startsWith('polygon') || + ['rhomboid', 'right-rhomboid', 'round-tag', 'tag', 'vee'].includes(ae) + ) { + var lt = (we + Y + j) / l; + (Me = S6(A6(Me, lt))), s.drawPolygonPath(ye || t, ne.x, ne.y, l, u, Me); + } else { + var It = (we + Y + j) / l; + (Me = S6(A6(Me, -It))), s.drawPolygonPath(ye || t, ne.x, ne.y, l, u, Me); + } + if ((m ? t.stroke(ye) : t.stroke(), X === 'double')) { + t.lineWidth = we / 3; + var mt = t.globalCompositeOperation; + (t.globalCompositeOperation = 'destination-out'), + m ? t.stroke(ye) : t.stroke(), + (t.globalCompositeOperation = mt); + } + t.setLineDash && t.setLineDash([]); + } + }, 'drawOutline'), + Ue = o(function () { + i && s.drawNodeOverlay(t, e, d, l, u); + }, 'drawOverlay'), + Pe = o(function () { + i && s.drawNodeUnderlay(t, e, d, l, u); + }, 'drawUnderlay'), + _e = o(function () { + s.drawElementText(t, e, null, n); + }, 'drawText'), + me = e.pstyle('ghost').value === 'yes'; + if (me) { + var W = e.pstyle('ghost-offset-x').pfValue, + fe = e.pstyle('ghost-offset-y').pfValue, + ge = e.pstyle('ghost-opacity').value, + re = ge * p; + t.translate(W, fe), + q(), + Se(), + Z(ge * I), + te(), + De(re, !0), + H(ge * z), + Ie(), + oe(N !== 0 || k !== 0), + De(re, !1), + ke(re), + t.translate(-W, -fe); + } + m && t.translate(-d.x, -d.y), + Pe(), + m && t.translate(d.x, d.y), + q(), + Se(), + Z(), + te(), + De(p, !0), + H(), + Ie(), + oe(N !== 0 || k !== 0), + De(p, !1), + ke(), + m && t.translate(-d.x, -d.y), + _e(), + Ue(), + r && t.translate(x.x1, x.y1); + } + }; + jme = o(function (e) { + if (!['overlay', 'underlay'].includes(e)) throw new Error('Invalid state'); + return function (r, n, i, a, s) { + var l = this; + if (n.visible()) { + var u = n.pstyle(''.concat(e, '-padding')).pfValue, + h = n.pstyle(''.concat(e, '-opacity')).value, + f = n.pstyle(''.concat(e, '-color')).value, + d = n.pstyle(''.concat(e, '-shape')).value, + p = n.pstyle(''.concat(e, '-corner-radius')).value; + if (h > 0) { + if (((i = i || n.position()), a == null || s == null)) { + var m = n.padding(); + (a = n.width() + 2 * m), (s = n.height() + 2 * m); + } + l.colorFillStyle(r, f[0], f[1], f[2], h), + l.nodeShapes[d].draw(r, i.x, i.y, a + u * 2, s + u * 2, p), + r.fill(); + } + } + }; + }, 'drawNodeOverlayUnderlay'); + v1.drawNodeOverlay = jme('overlay'); + v1.drawNodeUnderlay = jme('underlay'); + v1.hasPie = function (t) { + return (t = t[0]), t._private.hasPie; + }; + v1.drawPie = function (t, e, r, n) { + (e = e[0]), (n = n || e.position()); + var i = e.cy().style(), + a = e.pstyle('pie-size'), + s = n.x, + l = n.y, + u = e.width(), + h = e.height(), + f = Math.min(u, h) / 2, + d = 0, + p = this.usePaths(); + p && ((s = 0), (l = 0)), + a.units === '%' ? (f = f * a.pfValue) : a.pfValue !== void 0 && (f = a.pfValue / 2); + for (var m = 1; m <= i.pieBackgroundN; m++) { + var g = e.pstyle('pie-' + m + '-background-size').value, + y = e.pstyle('pie-' + m + '-background-color').value, + v = e.pstyle('pie-' + m + '-background-opacity').value * r, + x = g / 100; + x + d > 1 && (x = 1 - d); + var b = 1.5 * Math.PI + 2 * Math.PI * d, + w = 2 * Math.PI * x, + S = b + w; + g === 0 || + d >= 1 || + d + x > 1 || + (t.beginPath(), + t.moveTo(s, l), + t.arc(s, l, f, b, S), + t.closePath(), + this.colorFillStyle(t, y[0], y[1], y[2], v), + t.fill(), + (d += x)); + } + }; + (bo = {}), (QQe = 100); + bo.getPixelRatio = function () { + var t = this.data.contexts[0]; + if (this.forcedPixelRatio != null) return this.forcedPixelRatio; + var e = this.cy.window(), + r = + t.backingStorePixelRatio || + t.webkitBackingStorePixelRatio || + t.mozBackingStorePixelRatio || + t.msBackingStorePixelRatio || + t.oBackingStorePixelRatio || + t.backingStorePixelRatio || + 1; + return (e.devicePixelRatio || 1) / r; + }; + bo.paintCache = function (t) { + for (var e = (this.paintCaches = this.paintCaches || []), r = !0, n, i = 0; i < e.length; i++) + if (((n = e[i]), n.context === t)) { + r = !1; + break; + } + return r && ((n = { context: t }), e.push(n)), n; + }; + bo.createGradientStyleFor = function (t, e, r, n, i) { + var a, + s = this.usePaths(), + l = r.pstyle(e + '-gradient-stop-colors').value, + u = r.pstyle(e + '-gradient-stop-positions').pfValue; + if (n === 'radial-gradient') + if (r.isEdge()) { + var h = r.sourceEndpoint(), + f = r.targetEndpoint(), + d = r.midpoint(), + p = H0(h, d), + m = H0(f, d); + a = t.createRadialGradient(d.x, d.y, 0, d.x, d.y, Math.max(p, m)); + } else { + var g = s ? { x: 0, y: 0 } : r.position(), + y = r.paddedWidth(), + v = r.paddedHeight(); + a = t.createRadialGradient(g.x, g.y, 0, g.x, g.y, Math.max(y, v)); + } + else if (r.isEdge()) { + var x = r.sourceEndpoint(), + b = r.targetEndpoint(); + a = t.createLinearGradient(x.x, x.y, b.x, b.y); + } else { + var w = s ? { x: 0, y: 0 } : r.position(), + S = r.paddedWidth(), + T = r.paddedHeight(), + E = S / 2, + _ = T / 2, + A = r.pstyle('background-gradient-direction').value; + switch (A) { + case 'to-bottom': + a = t.createLinearGradient(w.x, w.y - _, w.x, w.y + _); + break; + case 'to-top': + a = t.createLinearGradient(w.x, w.y + _, w.x, w.y - _); + break; + case 'to-left': + a = t.createLinearGradient(w.x + E, w.y, w.x - E, w.y); + break; + case 'to-right': + a = t.createLinearGradient(w.x - E, w.y, w.x + E, w.y); + break; + case 'to-bottom-right': + case 'to-right-bottom': + a = t.createLinearGradient(w.x - E, w.y - _, w.x + E, w.y + _); + break; + case 'to-top-right': + case 'to-right-top': + a = t.createLinearGradient(w.x - E, w.y + _, w.x + E, w.y - _); + break; + case 'to-bottom-left': + case 'to-left-bottom': + a = t.createLinearGradient(w.x + E, w.y - _, w.x - E, w.y + _); + break; + case 'to-top-left': + case 'to-left-top': + a = t.createLinearGradient(w.x + E, w.y + _, w.x - E, w.y - _); + break; + } + } + if (!a) return null; + for (var L = u.length === l.length, M = l.length, N = 0; N < M; N++) + a.addColorStop( + L ? u[N] : N / (M - 1), + 'rgba(' + l[N][0] + ',' + l[N][1] + ',' + l[N][2] + ',' + i + ')' + ); + return a; + }; + bo.gradientFillStyle = function (t, e, r, n) { + var i = this.createGradientStyleFor(t, 'background', e, r, n); + if (!i) return null; + t.fillStyle = i; + }; + bo.colorFillStyle = function (t, e, r, n, i) { + t.fillStyle = 'rgba(' + e + ',' + r + ',' + n + ',' + i + ')'; + }; + bo.eleFillStyle = function (t, e, r) { + var n = e.pstyle('background-fill').value; + if (n === 'linear-gradient' || n === 'radial-gradient') this.gradientFillStyle(t, e, n, r); + else { + var i = e.pstyle('background-color').value; + this.colorFillStyle(t, i[0], i[1], i[2], r); + } + }; + bo.gradientStrokeStyle = function (t, e, r, n) { + var i = this.createGradientStyleFor(t, 'line', e, r, n); + if (!i) return null; + t.strokeStyle = i; + }; + bo.colorStrokeStyle = function (t, e, r, n, i) { + t.strokeStyle = 'rgba(' + e + ',' + r + ',' + n + ',' + i + ')'; + }; + bo.eleStrokeStyle = function (t, e, r) { + var n = e.pstyle('line-fill').value; + if (n === 'linear-gradient' || n === 'radial-gradient') this.gradientStrokeStyle(t, e, n, r); + else { + var i = e.pstyle('line-color').value; + this.colorStrokeStyle(t, i[0], i[1], i[2], r); + } + }; + bo.matchCanvasSize = function (t) { + var e = this, + r = e.data, + n = e.findContainerClientCoords(), + i = n[2], + a = n[3], + s = e.getPixelRatio(), + l = e.motionBlurPxRatio; + (t === e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_NODE] || + t === e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_DRAG]) && + (s = l); + var u = i * s, + h = a * s, + f; + if (!(u === e.canvasWidth && h === e.canvasHeight)) { + e.fontCaches = null; + var d = r.canvasContainer; + (d.style.width = i + 'px'), (d.style.height = a + 'px'); + for (var p = 0; p < e.CANVAS_LAYERS; p++) + (f = r.canvases[p]), + (f.width = u), + (f.height = h), + (f.style.width = i + 'px'), + (f.style.height = a + 'px'); + for (var p = 0; p < e.BUFFER_COUNT; p++) + (f = r.bufferCanvases[p]), + (f.width = u), + (f.height = h), + (f.style.width = i + 'px'), + (f.style.height = a + 'px'); + (e.textureMult = 1), + s <= 1 && + ((f = r.bufferCanvases[e.TEXTURE_BUFFER]), + (e.textureMult = 2), + (f.width = u * e.textureMult), + (f.height = h * e.textureMult)), + (e.canvasWidth = u), + (e.canvasHeight = h); + } + }; + bo.renderTo = function (t, e, r, n) { + this.render({ + forcedContext: t, + forcedZoom: e, + forcedPan: r, + drawAllLayers: !0, + forcedPxRatio: n + }); + }; + bo.render = function (t) { + t = t || zpe(); + var e = t.forcedContext, + r = t.drawAllLayers, + n = t.drawOnlyNodeLayer, + i = t.forcedZoom, + a = t.forcedPan, + s = this, + l = t.forcedPxRatio === void 0 ? this.getPixelRatio() : t.forcedPxRatio, + u = s.cy, + h = s.data, + f = h.canvasNeedsRedraw, + d = + s.textureOnViewport && + !e && + (s.pinching || s.hoverData.dragging || s.swipePanning || s.data.wheelZooming), + p = t.motionBlur !== void 0 ? t.motionBlur : s.motionBlur, + m = s.motionBlurPxRatio, + g = u.hasCompoundNodes(), + y = s.hoverData.draggingEles, + v = !!(s.hoverData.selecting || s.touchData.selecting); + p = p && !e && s.motionBlurEnabled && !v; + var x = p; + e || + (s.prevPxRatio !== l && + (s.invalidateContainerClientCoordsCache(), + s.matchCanvasSize(s.container), + s.redrawHint('eles', !0), + s.redrawHint('drag', !0)), + (s.prevPxRatio = l)), + !e && s.motionBlurTimeout && clearTimeout(s.motionBlurTimeout), + p && + (s.mbFrames == null && (s.mbFrames = 0), + s.mbFrames++, + s.mbFrames < 3 && (x = !1), + s.mbFrames > s.minMbLowQualFrames && (s.motionBlurPxRatio = s.mbPxRBlurry)), + s.clearingMotionBlur && (s.motionBlurPxRatio = 1), + s.textureDrawLastFrame && !d && ((f[s.NODE] = !0), (f[s.SELECT_BOX] = !0)); + var b = u.style(), + w = u.zoom(), + S = i !== void 0 ? i : w, + T = u.pan(), + E = { x: T.x, y: T.y }, + _ = { zoom: w, pan: { x: T.x, y: T.y } }, + A = s.prevViewport, + L = A === void 0 || _.zoom !== A.zoom || _.pan.x !== A.pan.x || _.pan.y !== A.pan.y; + !L && !(y && !g) && (s.motionBlurPxRatio = 1), a && (E = a), (S *= l), (E.x *= l), (E.y *= l); + var M = s.getCachedZSortedEles(); + function N(ue, te, De, oe, ke) { + var Ie = ue.globalCompositeOperation; + (ue.globalCompositeOperation = 'destination-out'), + s.colorFillStyle(ue, 255, 255, 255, s.motionBlurTransparency), + ue.fillRect(te, De, oe, ke), + (ue.globalCompositeOperation = Ie); + } + o(N, 'mbclear'); + function k(ue, te) { + var De, oe, ke, Ie; + !s.clearingMotionBlur && + (ue === h.bufferContexts[s.MOTIONBLUR_BUFFER_NODE] || + ue === h.bufferContexts[s.MOTIONBLUR_BUFFER_DRAG]) + ? ((De = { x: T.x * m, y: T.y * m }), + (oe = w * m), + (ke = s.canvasWidth * m), + (Ie = s.canvasHeight * m)) + : ((De = E), (oe = S), (ke = s.canvasWidth), (Ie = s.canvasHeight)), + ue.setTransform(1, 0, 0, 1, 0, 0), + te === 'motionBlur' + ? N(ue, 0, 0, ke, Ie) + : !e && (te === void 0 || te) && ue.clearRect(0, 0, ke, Ie), + r || (ue.translate(De.x, De.y), ue.scale(oe, oe)), + a && ue.translate(a.x, a.y), + i && ue.scale(i, i); + } + if ((o(k, 'setContextTransform'), d || (s.textureDrawLastFrame = !1), d)) { + if (((s.textureDrawLastFrame = !0), !s.textureCache)) { + (s.textureCache = {}), + (s.textureCache.bb = u.mutableElements().boundingBox()), + (s.textureCache.texture = s.data.bufferCanvases[s.TEXTURE_BUFFER]); + var I = s.data.bufferContexts[s.TEXTURE_BUFFER]; + I.setTransform(1, 0, 0, 1, 0, 0), + I.clearRect(0, 0, s.canvasWidth * s.textureMult, s.canvasHeight * s.textureMult), + s.render({ + forcedContext: I, + drawOnlyNodeLayer: !0, + forcedPxRatio: l * s.textureMult + }); + var _ = (s.textureCache.viewport = { + zoom: u.zoom(), + pan: u.pan(), + width: s.canvasWidth, + height: s.canvasHeight + }); + _.mpan = { x: (0 - _.pan.x) / _.zoom, y: (0 - _.pan.y) / _.zoom }; + } + (f[s.DRAG] = !1), (f[s.NODE] = !1); + var C = h.contexts[s.NODE], + O = s.textureCache.texture, + _ = s.textureCache.viewport; + C.setTransform(1, 0, 0, 1, 0, 0), + p ? N(C, 0, 0, _.width, _.height) : C.clearRect(0, 0, _.width, _.height); + var D = b.core('outside-texture-bg-color').value, + P = b.core('outside-texture-bg-opacity').value; + s.colorFillStyle(C, D[0], D[1], D[2], P), C.fillRect(0, 0, _.width, _.height); + var w = u.zoom(); + k(C, !1), + C.clearRect(_.mpan.x, _.mpan.y, _.width / _.zoom / l, _.height / _.zoom / l), + C.drawImage(O, _.mpan.x, _.mpan.y, _.width / _.zoom / l, _.height / _.zoom / l); + } else s.textureOnViewport && !e && (s.textureCache = null); + var F = u.extent(), + B = + s.pinching || + s.hoverData.dragging || + s.swipePanning || + s.data.wheelZooming || + s.hoverData.draggingEles || + s.cy.animated(), + $ = s.hideEdgesOnViewport && B, + z = []; + if ( + ((z[s.NODE] = (!f[s.NODE] && p && !s.clearedForMotionBlur[s.NODE]) || s.clearingMotionBlur), + z[s.NODE] && (s.clearedForMotionBlur[s.NODE] = !0), + (z[s.DRAG] = (!f[s.DRAG] && p && !s.clearedForMotionBlur[s.DRAG]) || s.clearingMotionBlur), + z[s.DRAG] && (s.clearedForMotionBlur[s.DRAG] = !0), + f[s.NODE] || r || n || z[s.NODE]) + ) { + var Y = p && !z[s.NODE] && m !== 1, + C = e || (Y ? s.data.bufferContexts[s.MOTIONBLUR_BUFFER_NODE] : h.contexts[s.NODE]), + Q = p && !Y ? 'motionBlur' : void 0; + k(C, Q), + $ ? s.drawCachedNodes(C, M.nondrag, l, F) : s.drawLayeredElements(C, M.nondrag, l, F), + s.debug && s.drawDebugPoints(C, M.nondrag), + !r && !p && (f[s.NODE] = !1); + } + if (!n && (f[s.DRAG] || r || z[s.DRAG])) { + var Y = p && !z[s.DRAG] && m !== 1, + C = e || (Y ? s.data.bufferContexts[s.MOTIONBLUR_BUFFER_DRAG] : h.contexts[s.DRAG]); + k(C, p && !Y ? 'motionBlur' : void 0), + $ ? s.drawCachedNodes(C, M.drag, l, F) : s.drawCachedElements(C, M.drag, l, F), + s.debug && s.drawDebugPoints(C, M.drag), + !r && !p && (f[s.DRAG] = !1); + } + if (s.showFps || (!n && f[s.SELECT_BOX] && !r)) { + var C = e || h.contexts[s.SELECT_BOX]; + if ((k(C), s.selection[4] == 1 && (s.hoverData.selecting || s.touchData.selecting))) { + var w = s.cy.zoom(), + X = b.core('selection-box-border-width').value / w; + (C.lineWidth = X), + (C.fillStyle = + 'rgba(' + + b.core('selection-box-color').value[0] + + ',' + + b.core('selection-box-color').value[1] + + ',' + + b.core('selection-box-color').value[2] + + ',' + + b.core('selection-box-opacity').value + + ')'), + C.fillRect( + s.selection[0], + s.selection[1], + s.selection[2] - s.selection[0], + s.selection[3] - s.selection[1] + ), + X > 0 && + ((C.strokeStyle = + 'rgba(' + + b.core('selection-box-border-color').value[0] + + ',' + + b.core('selection-box-border-color').value[1] + + ',' + + b.core('selection-box-border-color').value[2] + + ',' + + b.core('selection-box-opacity').value + + ')'), + C.strokeRect( + s.selection[0], + s.selection[1], + s.selection[2] - s.selection[0], + s.selection[3] - s.selection[1] + )); + } + if (h.bgActivePosistion && !s.hoverData.selecting) { + var w = s.cy.zoom(), + ie = h.bgActivePosistion; + (C.fillStyle = + 'rgba(' + + b.core('active-bg-color').value[0] + + ',' + + b.core('active-bg-color').value[1] + + ',' + + b.core('active-bg-color').value[2] + + ',' + + b.core('active-bg-opacity').value + + ')'), + C.beginPath(), + C.arc(ie.x, ie.y, b.core('active-bg-size').pfValue / w, 0, 2 * Math.PI), + C.fill(); + } + var j = s.lastRedrawTime; + if (s.showFps && j) { + j = Math.round(j); + var J = Math.round(1e3 / j); + C.setTransform(1, 0, 0, 1, 0, 0), + (C.fillStyle = 'rgba(255, 0, 0, 0.75)'), + (C.strokeStyle = 'rgba(255, 0, 0, 0.75)'), + (C.lineWidth = 1), + C.fillText('1 frame = ' + j + ' ms = ' + J + ' fps', 0, 20); + var Z = 60; + C.strokeRect(0, 30, 250, 20), C.fillRect(0, 30, 250 * Math.min(J / Z, 1), 20); + } + r || (f[s.SELECT_BOX] = !1); + } + if (p && m !== 1) { + var H = h.contexts[s.NODE], + q = s.data.bufferCanvases[s.MOTIONBLUR_BUFFER_NODE], + K = h.contexts[s.DRAG], + se = s.data.bufferCanvases[s.MOTIONBLUR_BUFFER_DRAG], + ce = o(function (te, De, oe) { + te.setTransform(1, 0, 0, 1, 0, 0), + oe || !x + ? te.clearRect(0, 0, s.canvasWidth, s.canvasHeight) + : N(te, 0, 0, s.canvasWidth, s.canvasHeight); + var ke = m; + te.drawImage( + De, + 0, + 0, + s.canvasWidth * ke, + s.canvasHeight * ke, + 0, + 0, + s.canvasWidth, + s.canvasHeight + ); + }, 'drawMotionBlur'); + (f[s.NODE] || z[s.NODE]) && (ce(H, q, z[s.NODE]), (f[s.NODE] = !1)), + (f[s.DRAG] || z[s.DRAG]) && (ce(K, se, z[s.DRAG]), (f[s.DRAG] = !1)); + } + (s.prevViewport = _), + s.clearingMotionBlur && + ((s.clearingMotionBlur = !1), (s.motionBlurCleared = !0), (s.motionBlur = !0)), + p && + (s.motionBlurTimeout = setTimeout(function () { + (s.motionBlurTimeout = null), + (s.clearedForMotionBlur[s.NODE] = !1), + (s.clearedForMotionBlur[s.DRAG] = !1), + (s.motionBlur = !1), + (s.clearingMotionBlur = !d), + (s.mbFrames = 0), + (f[s.NODE] = !0), + (f[s.DRAG] = !0), + s.redraw(); + }, QQe)), + e || u.emit('render'); + }; + Nf = {}; + Nf.drawPolygonPath = function (t, e, r, n, i, a) { + var s = n / 2, + l = i / 2; + t.beginPath && t.beginPath(), t.moveTo(e + s * a[0], r + l * a[1]); + for (var u = 1; u < a.length / 2; u++) t.lineTo(e + s * a[u * 2], r + l * a[u * 2 + 1]); + t.closePath(); + }; + Nf.drawRoundPolygonPath = function (t, e, r, n, i, a, s) { + s.forEach(function (l) { + return Bme(t, l); + }), + t.closePath(); + }; + Nf.drawRoundRectanglePath = function (t, e, r, n, i, a) { + var s = n / 2, + l = i / 2, + u = a === 'auto' ? Y0(n, i) : Math.min(a, l, s); + t.beginPath && t.beginPath(), + t.moveTo(e, r - l), + t.arcTo(e + s, r - l, e + s, r, u), + t.arcTo(e + s, r + l, e, r + l, u), + t.arcTo(e - s, r + l, e - s, r, u), + t.arcTo(e - s, r - l, e, r - l, u), + t.lineTo(e, r - l), + t.closePath(); + }; + Nf.drawBottomRoundRectanglePath = function (t, e, r, n, i, a) { + var s = n / 2, + l = i / 2, + u = a === 'auto' ? Y0(n, i) : a; + t.beginPath && t.beginPath(), + t.moveTo(e, r - l), + t.lineTo(e + s, r - l), + t.lineTo(e + s, r), + t.arcTo(e + s, r + l, e, r + l, u), + t.arcTo(e - s, r + l, e - s, r, u), + t.lineTo(e - s, r - l), + t.lineTo(e, r - l), + t.closePath(); + }; + Nf.drawCutRectanglePath = function (t, e, r, n, i, a, s) { + var l = n / 2, + u = i / 2, + h = s === 'auto' ? nB() : s; + t.beginPath && t.beginPath(), + t.moveTo(e - l + h, r - u), + t.lineTo(e + l - h, r - u), + t.lineTo(e + l, r - u + h), + t.lineTo(e + l, r + u - h), + t.lineTo(e + l - h, r + u), + t.lineTo(e - l + h, r + u), + t.lineTo(e - l, r + u - h), + t.lineTo(e - l, r - u + h), + t.closePath(); + }; + Nf.drawBarrelPath = function (t, e, r, n, i) { + var a = n / 2, + s = i / 2, + l = e - a, + u = e + a, + h = r - s, + f = r + s, + d = MP(n, i), + p = d.widthOffset, + m = d.heightOffset, + g = d.ctrlPtOffsetPct * p; + t.beginPath && t.beginPath(), + t.moveTo(l, h + m), + t.lineTo(l, f - m), + t.quadraticCurveTo(l + g, f, l + p, f), + t.lineTo(u - p, f), + t.quadraticCurveTo(u - g, f, u, f - m), + t.lineTo(u, h + m), + t.quadraticCurveTo(u - g, h, u - p, h), + t.lineTo(l + p, h), + t.quadraticCurveTo(l + g, h, l, h + m), + t.closePath(); + }; + (ype = Math.sin(0)), (vpe = Math.cos(0)), (YP = {}), (WP = {}), (Kme = Math.PI / 40); + for (P0 = 0 * Math.PI; P0 < 2 * Math.PI; P0 += Kme) (YP[P0] = Math.sin(P0)), (WP[P0] = Math.cos(P0)); + Nf.drawEllipsePath = function (t, e, r, n, i) { + if ((t.beginPath && t.beginPath(), t.ellipse)) t.ellipse(e, r, n / 2, i / 2, 0, 0, 2 * Math.PI); + else + for (var a, s, l = n / 2, u = i / 2, h = 0 * Math.PI; h < 2 * Math.PI; h += Kme) + (a = e - l * YP[h] * ype + l * WP[h] * vpe), + (s = r + u * WP[h] * ype + u * YP[h] * vpe), + h === 0 ? t.moveTo(a, s) : t.lineTo(a, s); + t.closePath(); + }; + ab = {}; + ab.createBuffer = function (t, e) { + var r = document.createElement('canvas'); + return (r.width = t), (r.height = e), [r, r.getContext('2d')]; + }; + ab.bufferCanvasImage = function (t) { + var e = this.cy, + r = e.mutableElements(), + n = r.boundingBox(), + i = this.findContainerClientCoords(), + a = t.full ? Math.ceil(n.w) : i[2], + s = t.full ? Math.ceil(n.h) : i[3], + l = ft(t.maxWidth) || ft(t.maxHeight), + u = this.getPixelRatio(), + h = 1; + if (t.scale !== void 0) (a *= t.scale), (s *= t.scale), (h = t.scale); + else if (l) { + var f = 1 / 0, + d = 1 / 0; + ft(t.maxWidth) && (f = (h * t.maxWidth) / a), + ft(t.maxHeight) && (d = (h * t.maxHeight) / s), + (h = Math.min(f, d)), + (a *= h), + (s *= h); + } + l || ((a *= u), (s *= u), (h *= u)); + var p = document.createElement('canvas'); + (p.width = a), (p.height = s), (p.style.width = a + 'px'), (p.style.height = s + 'px'); + var m = p.getContext('2d'); + if (a > 0 && s > 0) { + m.clearRect(0, 0, a, s), (m.globalCompositeOperation = 'source-over'); + var g = this.getCachedZSortedEles(); + if (t.full) + m.translate(-n.x1 * h, -n.y1 * h), + m.scale(h, h), + this.drawElements(m, g), + m.scale(1 / h, 1 / h), + m.translate(n.x1 * h, n.y1 * h); + else { + var y = e.pan(), + v = { x: y.x * h, y: y.y * h }; + (h *= e.zoom()), + m.translate(v.x, v.y), + m.scale(h, h), + this.drawElements(m, g), + m.scale(1 / h, 1 / h), + m.translate(-v.x, -v.y); + } + t.bg && + ((m.globalCompositeOperation = 'destination-over'), + (m.fillStyle = t.bg), + m.rect(0, 0, a, s), + m.fill()); + } + return p; + }; + o(ZQe, 'b64ToBlob'); + o(xpe, 'b64UriToB64'); + o(Qme, 'output'); + ab.png = function (t) { + return Qme(t, this.bufferCanvasImage(t), 'image/png'); + }; + ab.jpg = function (t) { + return Qme(t, this.bufferCanvasImage(t), 'image/jpeg'); + }; + Zme = {}; + Zme.nodeShapeImpl = function (t, e, r, n, i, a, s, l) { + switch (t) { + case 'ellipse': + return this.drawEllipsePath(e, r, n, i, a); + case 'polygon': + return this.drawPolygonPath(e, r, n, i, a, s); + case 'round-polygon': + return this.drawRoundPolygonPath(e, r, n, i, a, s, l); + case 'roundrectangle': + case 'round-rectangle': + return this.drawRoundRectanglePath(e, r, n, i, a, l); + case 'cutrectangle': + case 'cut-rectangle': + return this.drawCutRectanglePath(e, r, n, i, a, s, l); + case 'bottomroundrectangle': + case 'bottom-round-rectangle': + return this.drawBottomRoundRectanglePath(e, r, n, i, a, l); + case 'barrel': + return this.drawBarrelPath(e, r, n, i, a); + } + }; + (JQe = Jme), (Yr = Jme.prototype); + Yr.CANVAS_LAYERS = 3; + Yr.SELECT_BOX = 0; + Yr.DRAG = 1; + Yr.NODE = 2; + Yr.BUFFER_COUNT = 3; + Yr.TEXTURE_BUFFER = 0; + Yr.MOTIONBLUR_BUFFER_NODE = 1; + Yr.MOTIONBLUR_BUFFER_DRAG = 2; + o(Jme, 'CanvasRenderer'); + Yr.redrawHint = function (t, e) { + var r = this; + switch (t) { + case 'eles': + r.data.canvasNeedsRedraw[Yr.NODE] = e; + break; + case 'drag': + r.data.canvasNeedsRedraw[Yr.DRAG] = e; + break; + case 'select': + r.data.canvasNeedsRedraw[Yr.SELECT_BOX] = e; + break; + } + }; + eZe = typeof Path2D < 'u'; + Yr.path2dEnabled = function (t) { + if (t === void 0) return this.pathsEnabled; + this.pathsEnabled = !!t; + }; + Yr.usePaths = function () { + return eZe && this.pathsEnabled; + }; + Yr.setImgSmoothing = function (t, e) { + t.imageSmoothingEnabled != null + ? (t.imageSmoothingEnabled = e) + : ((t.webkitImageSmoothingEnabled = e), + (t.mozImageSmoothingEnabled = e), + (t.msImageSmoothingEnabled = e)); + }; + Yr.getImgSmoothing = function (t) { + return t.imageSmoothingEnabled != null + ? t.imageSmoothingEnabled + : t.webkitImageSmoothingEnabled || t.mozImageSmoothingEnabled || t.msImageSmoothingEnabled; + }; + Yr.makeOffscreenCanvas = function (t, e) { + var r; + if ((typeof OffscreenCanvas > 'u' ? 'undefined' : Hi(OffscreenCanvas)) !== 'undefined') + r = new OffscreenCanvas(t, e); + else { + var n = this.cy.window(), + i = n.document; + (r = i.createElement('canvas')), (r.width = t), (r.height = e); + } + return r; + }; + [qme, Yc, eh, yB, K0, v1, bo, Nf, ab, Zme].forEach(function (t) { + Wt(Yr, t); + }); + (tZe = [ + { name: 'null', impl: Ime }, + { name: 'base', impl: Hme }, + { name: 'canvas', impl: JQe } + ]), + (rZe = [ + { type: 'layout', extensions: lQe }, + { type: 'renderer', extensions: tZe } + ]), + (ege = {}), + (tge = {}); + o(rge, 'setExtension'); + o(nge, 'getExtension'); + o(nZe, 'setModule'); + o(iZe, 'getModule'); + qP = o(function () { + if (arguments.length === 2) return nge.apply(null, arguments); + if (arguments.length === 3) return rge.apply(null, arguments); + if (arguments.length === 4) return iZe.apply(null, arguments); + if (arguments.length === 5) return nZe.apply(null, arguments); + oi('Invalid extension access syntax'); + }, 'extension'); + Kx.prototype.extension = qP; + rZe.forEach(function (t) { + t.extensions.forEach(function (e) { + rge(t.type, e.name, e.impl); + }); + }); + (ige = o(function t() { + if (!(this instanceof t)) return new t(); + this.length = 0; + }, 'Stylesheet')), + (X0 = ige.prototype); + X0.instanceString = function () { + return 'stylesheet'; + }; + X0.selector = function (t) { + var e = this.length++; + return (this[e] = { selector: t, properties: [] }), this; + }; + X0.css = function (t, e) { + var r = this.length - 1; + if (zt(t)) this[r].properties.push({ name: t, value: e }); + else if (Mr(t)) + for (var n = t, i = Object.keys(n), a = 0; a < i.length; a++) { + var s = i[a], + l = n[s]; + if (l != null) { + var u = Ba.properties[s] || Ba.properties[I6(s)]; + if (u != null) { + var h = u.name, + f = l; + this[r].properties.push({ name: h, value: f }); + } + } + } + return this; + }; + X0.style = X0.css; + X0.generateStyle = function (t) { + var e = new Ba(t); + return this.appendToStyle(e); + }; + X0.appendToStyle = function (t) { + for (var e = 0; e < this.length; e++) { + var r = this[e], + n = r.selector, + i = r.properties; + t.selector(n); + for (var a = 0; a < i.length; a++) { + var s = i[a]; + t.css(s.name, s.value); + } + } + return t; + }; + (aZe = '3.30.1'), + (rl = o(function (e) { + if ((e === void 0 && (e = {}), Mr(e))) return new Kx(e); + if (zt(e)) return qP.apply(qP, arguments); + }, 'cytoscape')); + rl.use = function (t) { + var e = Array.prototype.slice.call(arguments, 1); + return e.unshift(rl), t.apply(null, e), this; + }; + rl.warnings = function (t) { + return Bpe(t); + }; + rl.version = aZe; + rl.stylesheet = rl.Stylesheet = ige; + }); + var bB = gi((sb, xB) => { + 'use strict'; + o(function (e, r) { + typeof sb == 'object' && typeof xB == 'object' + ? (xB.exports = r()) + : typeof define == 'function' && define.amd + ? define([], r) + : typeof sb == 'object' + ? (sb.layoutBase = r()) + : (e.layoutBase = r()); + }, 'webpackUniversalModuleDefinition')(sb, function () { + return (function (t) { + var e = {}; + function r(n) { + if (e[n]) return e[n].exports; + var i = (e[n] = { i: n, l: !1, exports: {} }); + return t[n].call(i.exports, i, i.exports, r), (i.l = !0), i.exports; + } + return ( + o(r, '__webpack_require__'), + (r.m = t), + (r.c = e), + (r.i = function (n) { + return n; + }), + (r.d = function (n, i, a) { + r.o(n, i) || + Object.defineProperty(n, i, { + configurable: !1, + enumerable: !0, + get: a + }); + }), + (r.n = function (n) { + var i = + n && n.__esModule + ? o(function () { + return n.default; + }, 'getDefault') + : o(function () { + return n; + }, 'getModuleExports'); + return r.d(i, 'a', i), i; + }), + (r.o = function (n, i) { + return Object.prototype.hasOwnProperty.call(n, i); + }), + (r.p = ''), + r((r.s = 26)) + ); + })([ + function (t, e, r) { + 'use strict'; + function n() {} + o(n, 'LayoutConstants'), + (n.QUALITY = 1), + (n.DEFAULT_CREATE_BENDS_AS_NEEDED = !1), + (n.DEFAULT_INCREMENTAL = !1), + (n.DEFAULT_ANIMATION_ON_LAYOUT = !0), + (n.DEFAULT_ANIMATION_DURING_LAYOUT = !1), + (n.DEFAULT_ANIMATION_PERIOD = 50), + (n.DEFAULT_UNIFORM_LEAF_NODE_SIZES = !1), + (n.DEFAULT_GRAPH_MARGIN = 15), + (n.NODE_DIMENSIONS_INCLUDE_LABELS = !1), + (n.SIMPLE_NODE_SIZE = 40), + (n.SIMPLE_NODE_HALF_SIZE = n.SIMPLE_NODE_SIZE / 2), + (n.EMPTY_COMPOUND_NODE_SIZE = 40), + (n.MIN_EDGE_LENGTH = 1), + (n.WORLD_BOUNDARY = 1e6), + (n.INITIAL_WORLD_BOUNDARY = n.WORLD_BOUNDARY / 1e3), + (n.WORLD_CENTER_X = 1200), + (n.WORLD_CENTER_Y = 900), + (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + var n = r(2), + i = r(8), + a = r(9); + function s(u, h, f) { + n.call(this, f), + (this.isOverlapingSourceAndTarget = !1), + (this.vGraphObject = f), + (this.bendpoints = []), + (this.source = u), + (this.target = h); + } + o(s, 'LEdge'), (s.prototype = Object.create(n.prototype)); + for (var l in n) s[l] = n[l]; + (s.prototype.getSource = function () { + return this.source; + }), + (s.prototype.getTarget = function () { + return this.target; + }), + (s.prototype.isInterGraph = function () { + return this.isInterGraph; + }), + (s.prototype.getLength = function () { + return this.length; + }), + (s.prototype.isOverlapingSourceAndTarget = function () { + return this.isOverlapingSourceAndTarget; + }), + (s.prototype.getBendpoints = function () { + return this.bendpoints; + }), + (s.prototype.getLca = function () { + return this.lca; + }), + (s.prototype.getSourceInLca = function () { + return this.sourceInLca; + }), + (s.prototype.getTargetInLca = function () { + return this.targetInLca; + }), + (s.prototype.getOtherEnd = function (u) { + if (this.source === u) return this.target; + if (this.target === u) return this.source; + throw 'Node is not incident with this edge'; + }), + (s.prototype.getOtherEndInGraph = function (u, h) { + for (var f = this.getOtherEnd(u), d = h.getGraphManager().getRoot(); ; ) { + if (f.getOwner() == h) return f; + if (f.getOwner() == d) break; + f = f.getOwner().getParent(); + } + return null; + }), + (s.prototype.updateLength = function () { + var u = new Array(4); + (this.isOverlapingSourceAndTarget = i.getIntersection( + this.target.getRect(), + this.source.getRect(), + u + )), + this.isOverlapingSourceAndTarget || + ((this.lengthX = u[0] - u[2]), + (this.lengthY = u[1] - u[3]), + Math.abs(this.lengthX) < 1 && (this.lengthX = a.sign(this.lengthX)), + Math.abs(this.lengthY) < 1 && (this.lengthY = a.sign(this.lengthY)), + (this.length = Math.sqrt( + this.lengthX * this.lengthX + this.lengthY * this.lengthY + ))); + }), + (s.prototype.updateLengthSimple = function () { + (this.lengthX = this.target.getCenterX() - this.source.getCenterX()), + (this.lengthY = this.target.getCenterY() - this.source.getCenterY()), + Math.abs(this.lengthX) < 1 && (this.lengthX = a.sign(this.lengthX)), + Math.abs(this.lengthY) < 1 && (this.lengthY = a.sign(this.lengthY)), + (this.length = Math.sqrt(this.lengthX * this.lengthX + this.lengthY * this.lengthY)); + }), + (t.exports = s); + }, + function (t, e, r) { + 'use strict'; + function n(i) { + this.vGraphObject = i; + } + o(n, 'LGraphObject'), (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + var n = r(2), + i = r(10), + a = r(13), + s = r(0), + l = r(16), + u = r(4); + function h(d, p, m, g) { + m == null && g == null && (g = p), + n.call(this, g), + d.graphManager != null && (d = d.graphManager), + (this.estimatedSize = i.MIN_VALUE), + (this.inclusionTreeDepth = i.MAX_VALUE), + (this.vGraphObject = g), + (this.edges = []), + (this.graphManager = d), + m != null && p != null + ? (this.rect = new a(p.x, p.y, m.width, m.height)) + : (this.rect = new a()); + } + o(h, 'LNode'), (h.prototype = Object.create(n.prototype)); + for (var f in n) h[f] = n[f]; + (h.prototype.getEdges = function () { + return this.edges; + }), + (h.prototype.getChild = function () { + return this.child; + }), + (h.prototype.getOwner = function () { + return this.owner; + }), + (h.prototype.getWidth = function () { + return this.rect.width; + }), + (h.prototype.setWidth = function (d) { + this.rect.width = d; + }), + (h.prototype.getHeight = function () { + return this.rect.height; + }), + (h.prototype.setHeight = function (d) { + this.rect.height = d; + }), + (h.prototype.getCenterX = function () { + return this.rect.x + this.rect.width / 2; + }), + (h.prototype.getCenterY = function () { + return this.rect.y + this.rect.height / 2; + }), + (h.prototype.getCenter = function () { + return new u(this.rect.x + this.rect.width / 2, this.rect.y + this.rect.height / 2); + }), + (h.prototype.getLocation = function () { + return new u(this.rect.x, this.rect.y); + }), + (h.prototype.getRect = function () { + return this.rect; + }), + (h.prototype.getDiagonal = function () { + return Math.sqrt(this.rect.width * this.rect.width + this.rect.height * this.rect.height); + }), + (h.prototype.getHalfTheDiagonal = function () { + return ( + Math.sqrt(this.rect.height * this.rect.height + this.rect.width * this.rect.width) / 2 + ); + }), + (h.prototype.setRect = function (d, p) { + (this.rect.x = d.x), + (this.rect.y = d.y), + (this.rect.width = p.width), + (this.rect.height = p.height); + }), + (h.prototype.setCenter = function (d, p) { + (this.rect.x = d - this.rect.width / 2), (this.rect.y = p - this.rect.height / 2); + }), + (h.prototype.setLocation = function (d, p) { + (this.rect.x = d), (this.rect.y = p); + }), + (h.prototype.moveBy = function (d, p) { + (this.rect.x += d), (this.rect.y += p); + }), + (h.prototype.getEdgeListToNode = function (d) { + var p = [], + m, + g = this; + return ( + g.edges.forEach(function (y) { + if (y.target == d) { + if (y.source != g) throw 'Incorrect edge source!'; + p.push(y); + } + }), + p + ); + }), + (h.prototype.getEdgesBetween = function (d) { + var p = [], + m, + g = this; + return ( + g.edges.forEach(function (y) { + if (!(y.source == g || y.target == g)) throw 'Incorrect edge source and/or target'; + (y.target == d || y.source == d) && p.push(y); + }), + p + ); + }), + (h.prototype.getNeighborsList = function () { + var d = new Set(), + p = this; + return ( + p.edges.forEach(function (m) { + if (m.source == p) d.add(m.target); + else { + if (m.target != p) throw 'Incorrect incidency!'; + d.add(m.source); + } + }), + d + ); + }), + (h.prototype.withChildren = function () { + var d = new Set(), + p, + m; + if ((d.add(this), this.child != null)) + for (var g = this.child.getNodes(), y = 0; y < g.length; y++) + (p = g[y]), + (m = p.withChildren()), + m.forEach(function (v) { + d.add(v); + }); + return d; + }), + (h.prototype.getNoOfChildren = function () { + var d = 0, + p; + if (this.child == null) d = 1; + else + for (var m = this.child.getNodes(), g = 0; g < m.length; g++) + (p = m[g]), (d += p.getNoOfChildren()); + return d == 0 && (d = 1), d; + }), + (h.prototype.getEstimatedSize = function () { + if (this.estimatedSize == i.MIN_VALUE) throw 'assert failed'; + return this.estimatedSize; + }), + (h.prototype.calcEstimatedSize = function () { + return this.child == null + ? (this.estimatedSize = (this.rect.width + this.rect.height) / 2) + : ((this.estimatedSize = this.child.calcEstimatedSize()), + (this.rect.width = this.estimatedSize), + (this.rect.height = this.estimatedSize), + this.estimatedSize); + }), + (h.prototype.scatter = function () { + var d, + p, + m = -s.INITIAL_WORLD_BOUNDARY, + g = s.INITIAL_WORLD_BOUNDARY; + d = s.WORLD_CENTER_X + l.nextDouble() * (g - m) + m; + var y = -s.INITIAL_WORLD_BOUNDARY, + v = s.INITIAL_WORLD_BOUNDARY; + (p = s.WORLD_CENTER_Y + l.nextDouble() * (v - y) + y), (this.rect.x = d), (this.rect.y = p); + }), + (h.prototype.updateBounds = function () { + if (this.getChild() == null) throw 'assert failed'; + if (this.getChild().getNodes().length != 0) { + var d = this.getChild(); + if ( + (d.updateBounds(!0), + (this.rect.x = d.getLeft()), + (this.rect.y = d.getTop()), + this.setWidth(d.getRight() - d.getLeft()), + this.setHeight(d.getBottom() - d.getTop()), + s.NODE_DIMENSIONS_INCLUDE_LABELS) + ) { + var p = d.getRight() - d.getLeft(), + m = d.getBottom() - d.getTop(); + this.labelWidth > p && + ((this.rect.x -= (this.labelWidth - p) / 2), this.setWidth(this.labelWidth)), + this.labelHeight > m && + (this.labelPos == 'center' + ? (this.rect.y -= (this.labelHeight - m) / 2) + : this.labelPos == 'top' && (this.rect.y -= this.labelHeight - m), + this.setHeight(this.labelHeight)); + } + } + }), + (h.prototype.getInclusionTreeDepth = function () { + if (this.inclusionTreeDepth == i.MAX_VALUE) throw 'assert failed'; + return this.inclusionTreeDepth; + }), + (h.prototype.transform = function (d) { + var p = this.rect.x; + p > s.WORLD_BOUNDARY + ? (p = s.WORLD_BOUNDARY) + : p < -s.WORLD_BOUNDARY && (p = -s.WORLD_BOUNDARY); + var m = this.rect.y; + m > s.WORLD_BOUNDARY + ? (m = s.WORLD_BOUNDARY) + : m < -s.WORLD_BOUNDARY && (m = -s.WORLD_BOUNDARY); + var g = new u(p, m), + y = d.inverseTransformPoint(g); + this.setLocation(y.x, y.y); + }), + (h.prototype.getLeft = function () { + return this.rect.x; + }), + (h.prototype.getRight = function () { + return this.rect.x + this.rect.width; + }), + (h.prototype.getTop = function () { + return this.rect.y; + }), + (h.prototype.getBottom = function () { + return this.rect.y + this.rect.height; + }), + (h.prototype.getParent = function () { + return this.owner == null ? null : this.owner.getParent(); + }), + (t.exports = h); + }, + function (t, e, r) { + 'use strict'; + function n(i, a) { + i == null && a == null ? ((this.x = 0), (this.y = 0)) : ((this.x = i), (this.y = a)); + } + o(n, 'PointD'), + (n.prototype.getX = function () { + return this.x; + }), + (n.prototype.getY = function () { + return this.y; + }), + (n.prototype.setX = function (i) { + this.x = i; + }), + (n.prototype.setY = function (i) { + this.y = i; + }), + (n.prototype.getDifference = function (i) { + return new DimensionD(this.x - i.x, this.y - i.y); + }), + (n.prototype.getCopy = function () { + return new n(this.x, this.y); + }), + (n.prototype.translate = function (i) { + return (this.x += i.width), (this.y += i.height), this; + }), + (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + var n = r(2), + i = r(10), + a = r(0), + s = r(6), + l = r(3), + u = r(1), + h = r(13), + f = r(12), + d = r(11); + function p(g, y, v) { + n.call(this, v), + (this.estimatedSize = i.MIN_VALUE), + (this.margin = a.DEFAULT_GRAPH_MARGIN), + (this.edges = []), + (this.nodes = []), + (this.isConnected = !1), + (this.parent = g), + y != null && y instanceof s + ? (this.graphManager = y) + : y != null && y instanceof Layout && (this.graphManager = y.graphManager); + } + o(p, 'LGraph'), (p.prototype = Object.create(n.prototype)); + for (var m in n) p[m] = n[m]; + (p.prototype.getNodes = function () { + return this.nodes; + }), + (p.prototype.getEdges = function () { + return this.edges; + }), + (p.prototype.getGraphManager = function () { + return this.graphManager; + }), + (p.prototype.getParent = function () { + return this.parent; + }), + (p.prototype.getLeft = function () { + return this.left; + }), + (p.prototype.getRight = function () { + return this.right; + }), + (p.prototype.getTop = function () { + return this.top; + }), + (p.prototype.getBottom = function () { + return this.bottom; + }), + (p.prototype.isConnected = function () { + return this.isConnected; + }), + (p.prototype.add = function (g, y, v) { + if (y == null && v == null) { + var x = g; + if (this.graphManager == null) throw 'Graph has no graph mgr!'; + if (this.getNodes().indexOf(x) > -1) throw 'Node already in graph!'; + return (x.owner = this), this.getNodes().push(x), x; + } else { + var b = g; + if (!(this.getNodes().indexOf(y) > -1 && this.getNodes().indexOf(v) > -1)) + throw 'Source or target not in graph!'; + if (!(y.owner == v.owner && y.owner == this)) throw 'Both owners must be this graph!'; + return y.owner != v.owner + ? null + : ((b.source = y), + (b.target = v), + (b.isInterGraph = !1), + this.getEdges().push(b), + y.edges.push(b), + v != y && v.edges.push(b), + b); + } + }), + (p.prototype.remove = function (g) { + var y = g; + if (g instanceof l) { + if (y == null) throw 'Node is null!'; + if (!(y.owner != null && y.owner == this)) throw 'Owner graph is invalid!'; + if (this.graphManager == null) throw 'Owner graph manager is invalid!'; + for (var v = y.edges.slice(), x, b = v.length, w = 0; w < b; w++) + (x = v[w]), x.isInterGraph ? this.graphManager.remove(x) : x.source.owner.remove(x); + var S = this.nodes.indexOf(y); + if (S == -1) throw 'Node not in owner node list!'; + this.nodes.splice(S, 1); + } else if (g instanceof u) { + var x = g; + if (x == null) throw 'Edge is null!'; + if (!(x.source != null && x.target != null)) throw 'Source and/or target is null!'; + if ( + !( + x.source.owner != null && + x.target.owner != null && + x.source.owner == this && + x.target.owner == this + ) + ) + throw 'Source and/or target owner is invalid!'; + var T = x.source.edges.indexOf(x), + E = x.target.edges.indexOf(x); + if (!(T > -1 && E > -1)) throw "Source and/or target doesn't know this edge!"; + x.source.edges.splice(T, 1), x.target != x.source && x.target.edges.splice(E, 1); + var S = x.source.owner.getEdges().indexOf(x); + if (S == -1) throw "Not in owner's edge list!"; + x.source.owner.getEdges().splice(S, 1); + } + }), + (p.prototype.updateLeftTop = function () { + for ( + var g = i.MAX_VALUE, y = i.MAX_VALUE, v, x, b, w = this.getNodes(), S = w.length, T = 0; + T < S; + T++ + ) { + var E = w[T]; + (v = E.getTop()), (x = E.getLeft()), g > v && (g = v), y > x && (y = x); + } + return g == i.MAX_VALUE + ? null + : (w[0].getParent().paddingLeft != null + ? (b = w[0].getParent().paddingLeft) + : (b = this.margin), + (this.left = y - b), + (this.top = g - b), + new f(this.left, this.top)); + }), + (p.prototype.updateBounds = function (g) { + for ( + var y = i.MAX_VALUE, + v = -i.MAX_VALUE, + x = i.MAX_VALUE, + b = -i.MAX_VALUE, + w, + S, + T, + E, + _, + A = this.nodes, + L = A.length, + M = 0; + M < L; + M++ + ) { + var N = A[M]; + g && N.child != null && N.updateBounds(), + (w = N.getLeft()), + (S = N.getRight()), + (T = N.getTop()), + (E = N.getBottom()), + y > w && (y = w), + v < S && (v = S), + x > T && (x = T), + b < E && (b = E); + } + var k = new h(y, x, v - y, b - x); + y == i.MAX_VALUE && + ((this.left = this.parent.getLeft()), + (this.right = this.parent.getRight()), + (this.top = this.parent.getTop()), + (this.bottom = this.parent.getBottom())), + A[0].getParent().paddingLeft != null + ? (_ = A[0].getParent().paddingLeft) + : (_ = this.margin), + (this.left = k.x - _), + (this.right = k.x + k.width + _), + (this.top = k.y - _), + (this.bottom = k.y + k.height + _); + }), + (p.calculateBounds = function (g) { + for ( + var y = i.MAX_VALUE, + v = -i.MAX_VALUE, + x = i.MAX_VALUE, + b = -i.MAX_VALUE, + w, + S, + T, + E, + _ = g.length, + A = 0; + A < _; + A++ + ) { + var L = g[A]; + (w = L.getLeft()), + (S = L.getRight()), + (T = L.getTop()), + (E = L.getBottom()), + y > w && (y = w), + v < S && (v = S), + x > T && (x = T), + b < E && (b = E); + } + var M = new h(y, x, v - y, b - x); + return M; + }), + (p.prototype.getInclusionTreeDepth = function () { + return this == this.graphManager.getRoot() ? 1 : this.parent.getInclusionTreeDepth(); + }), + (p.prototype.getEstimatedSize = function () { + if (this.estimatedSize == i.MIN_VALUE) throw 'assert failed'; + return this.estimatedSize; + }), + (p.prototype.calcEstimatedSize = function () { + for (var g = 0, y = this.nodes, v = y.length, x = 0; x < v; x++) { + var b = y[x]; + g += b.calcEstimatedSize(); + } + return ( + g == 0 + ? (this.estimatedSize = a.EMPTY_COMPOUND_NODE_SIZE) + : (this.estimatedSize = g / Math.sqrt(this.nodes.length)), + this.estimatedSize + ); + }), + (p.prototype.updateConnected = function () { + var g = this; + if (this.nodes.length == 0) { + this.isConnected = !0; + return; + } + var y = new d(), + v = new Set(), + x = this.nodes[0], + b, + w, + S = x.withChildren(); + for ( + S.forEach(function (M) { + y.push(M), v.add(M); + }); + y.length !== 0; + + ) { + (x = y.shift()), (b = x.getEdges()); + for (var T = b.length, E = 0; E < T; E++) { + var _ = b[E]; + if (((w = _.getOtherEndInGraph(x, this)), w != null && !v.has(w))) { + var A = w.withChildren(); + A.forEach(function (M) { + y.push(M), v.add(M); + }); + } + } + } + if (((this.isConnected = !1), v.size >= this.nodes.length)) { + var L = 0; + v.forEach(function (M) { + M.owner == g && L++; + }), + L == this.nodes.length && (this.isConnected = !0); + } + }), + (t.exports = p); + }, + function (t, e, r) { + 'use strict'; + var n, + i = r(1); + function a(s) { + (n = r(5)), (this.layout = s), (this.graphs = []), (this.edges = []); + } + o(a, 'LGraphManager'), + (a.prototype.addRoot = function () { + var s = this.layout.newGraph(), + l = this.layout.newNode(null), + u = this.add(s, l); + return this.setRootGraph(u), this.rootGraph; + }), + (a.prototype.add = function (s, l, u, h, f) { + if (u == null && h == null && f == null) { + if (s == null) throw 'Graph is null!'; + if (l == null) throw 'Parent node is null!'; + if (this.graphs.indexOf(s) > -1) throw 'Graph already in this graph mgr!'; + if ((this.graphs.push(s), s.parent != null)) throw 'Already has a parent!'; + if (l.child != null) throw 'Already has a child!'; + return (s.parent = l), (l.child = s), s; + } else { + (f = u), (h = l), (u = s); + var d = h.getOwner(), + p = f.getOwner(); + if (!(d != null && d.getGraphManager() == this)) throw 'Source not in this graph mgr!'; + if (!(p != null && p.getGraphManager() == this)) throw 'Target not in this graph mgr!'; + if (d == p) return (u.isInterGraph = !1), d.add(u, h, f); + if (((u.isInterGraph = !0), (u.source = h), (u.target = f), this.edges.indexOf(u) > -1)) + throw 'Edge already in inter-graph edge list!'; + if ((this.edges.push(u), !(u.source != null && u.target != null))) + throw 'Edge source and/or target is null!'; + if (!(u.source.edges.indexOf(u) == -1 && u.target.edges.indexOf(u) == -1)) + throw 'Edge already in source and/or target incidency list!'; + return u.source.edges.push(u), u.target.edges.push(u), u; + } + }), + (a.prototype.remove = function (s) { + if (s instanceof n) { + var l = s; + if (l.getGraphManager() != this) throw 'Graph not in this graph mgr'; + if (!(l == this.rootGraph || (l.parent != null && l.parent.graphManager == this))) + throw 'Invalid parent node!'; + var u = []; + u = u.concat(l.getEdges()); + for (var h, f = u.length, d = 0; d < f; d++) (h = u[d]), l.remove(h); + var p = []; + p = p.concat(l.getNodes()); + var m; + f = p.length; + for (var d = 0; d < f; d++) (m = p[d]), l.remove(m); + l == this.rootGraph && this.setRootGraph(null); + var g = this.graphs.indexOf(l); + this.graphs.splice(g, 1), (l.parent = null); + } else if (s instanceof i) { + if (((h = s), h == null)) throw 'Edge is null!'; + if (!h.isInterGraph) throw 'Not an inter-graph edge!'; + if (!(h.source != null && h.target != null)) throw 'Source and/or target is null!'; + if (!(h.source.edges.indexOf(h) != -1 && h.target.edges.indexOf(h) != -1)) + throw "Source and/or target doesn't know this edge!"; + var g = h.source.edges.indexOf(h); + if ( + (h.source.edges.splice(g, 1), + (g = h.target.edges.indexOf(h)), + h.target.edges.splice(g, 1), + !(h.source.owner != null && h.source.owner.getGraphManager() != null)) + ) + throw 'Edge owner graph or owner graph manager is null!'; + if (h.source.owner.getGraphManager().edges.indexOf(h) == -1) + throw "Not in owner graph manager's edge list!"; + var g = h.source.owner.getGraphManager().edges.indexOf(h); + h.source.owner.getGraphManager().edges.splice(g, 1); + } + }), + (a.prototype.updateBounds = function () { + this.rootGraph.updateBounds(!0); + }), + (a.prototype.getGraphs = function () { + return this.graphs; + }), + (a.prototype.getAllNodes = function () { + if (this.allNodes == null) { + for (var s = [], l = this.getGraphs(), u = l.length, h = 0; h < u; h++) + s = s.concat(l[h].getNodes()); + this.allNodes = s; + } + return this.allNodes; + }), + (a.prototype.resetAllNodes = function () { + this.allNodes = null; + }), + (a.prototype.resetAllEdges = function () { + this.allEdges = null; + }), + (a.prototype.resetAllNodesToApplyGravitation = function () { + this.allNodesToApplyGravitation = null; + }), + (a.prototype.getAllEdges = function () { + if (this.allEdges == null) { + for (var s = [], l = this.getGraphs(), u = l.length, h = 0; h < l.length; h++) + s = s.concat(l[h].getEdges()); + (s = s.concat(this.edges)), (this.allEdges = s); + } + return this.allEdges; + }), + (a.prototype.getAllNodesToApplyGravitation = function () { + return this.allNodesToApplyGravitation; + }), + (a.prototype.setAllNodesToApplyGravitation = function (s) { + if (this.allNodesToApplyGravitation != null) throw 'assert failed'; + this.allNodesToApplyGravitation = s; + }), + (a.prototype.getRoot = function () { + return this.rootGraph; + }), + (a.prototype.setRootGraph = function (s) { + if (s.getGraphManager() != this) throw 'Root not in this graph mgr!'; + (this.rootGraph = s), s.parent == null && (s.parent = this.layout.newNode('Root node')); + }), + (a.prototype.getLayout = function () { + return this.layout; + }), + (a.prototype.isOneAncestorOfOther = function (s, l) { + if (!(s != null && l != null)) throw 'assert failed'; + if (s == l) return !0; + var u = s.getOwner(), + h; + do { + if (((h = u.getParent()), h == null)) break; + if (h == l) return !0; + if (((u = h.getOwner()), u == null)) break; + } while (!0); + u = l.getOwner(); + do { + if (((h = u.getParent()), h == null)) break; + if (h == s) return !0; + if (((u = h.getOwner()), u == null)) break; + } while (!0); + return !1; + }), + (a.prototype.calcLowestCommonAncestors = function () { + for (var s, l, u, h, f, d = this.getAllEdges(), p = d.length, m = 0; m < p; m++) { + if ( + ((s = d[m]), + (l = s.source), + (u = s.target), + (s.lca = null), + (s.sourceInLca = l), + (s.targetInLca = u), + l == u) + ) { + s.lca = l.getOwner(); + continue; + } + for (h = l.getOwner(); s.lca == null; ) { + for (s.targetInLca = u, f = u.getOwner(); s.lca == null; ) { + if (f == h) { + s.lca = f; + break; + } + if (f == this.rootGraph) break; + if (s.lca != null) throw 'assert failed'; + (s.targetInLca = f.getParent()), (f = s.targetInLca.getOwner()); + } + if (h == this.rootGraph) break; + s.lca == null && ((s.sourceInLca = h.getParent()), (h = s.sourceInLca.getOwner())); + } + if (s.lca == null) throw 'assert failed'; + } + }), + (a.prototype.calcLowestCommonAncestor = function (s, l) { + if (s == l) return s.getOwner(); + var u = s.getOwner(); + do { + if (u == null) break; + var h = l.getOwner(); + do { + if (h == null) break; + if (h == u) return h; + h = h.getParent().getOwner(); + } while (!0); + u = u.getParent().getOwner(); + } while (!0); + return u; + }), + (a.prototype.calcInclusionTreeDepths = function (s, l) { + s == null && l == null && ((s = this.rootGraph), (l = 1)); + for (var u, h = s.getNodes(), f = h.length, d = 0; d < f; d++) + (u = h[d]), + (u.inclusionTreeDepth = l), + u.child != null && this.calcInclusionTreeDepths(u.child, l + 1); + }), + (a.prototype.includesInvalidEdge = function () { + for (var s, l = this.edges.length, u = 0; u < l; u++) + if (((s = this.edges[u]), this.isOneAncestorOfOther(s.source, s.target))) return !0; + return !1; + }), + (t.exports = a); + }, + function (t, e, r) { + 'use strict'; + var n = r(0); + function i() {} + o(i, 'FDLayoutConstants'); + for (var a in n) i[a] = n[a]; + (i.MAX_ITERATIONS = 2500), + (i.DEFAULT_EDGE_LENGTH = 50), + (i.DEFAULT_SPRING_STRENGTH = 0.45), + (i.DEFAULT_REPULSION_STRENGTH = 4500), + (i.DEFAULT_GRAVITY_STRENGTH = 0.4), + (i.DEFAULT_COMPOUND_GRAVITY_STRENGTH = 1), + (i.DEFAULT_GRAVITY_RANGE_FACTOR = 3.8), + (i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = 1.5), + (i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION = !0), + (i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION = !0), + (i.DEFAULT_COOLING_FACTOR_INCREMENTAL = 0.3), + (i.COOLING_ADAPTATION_FACTOR = 0.33), + (i.ADAPTATION_LOWER_NODE_LIMIT = 1e3), + (i.ADAPTATION_UPPER_NODE_LIMIT = 5e3), + (i.MAX_NODE_DISPLACEMENT_INCREMENTAL = 100), + (i.MAX_NODE_DISPLACEMENT = i.MAX_NODE_DISPLACEMENT_INCREMENTAL * 3), + (i.MIN_REPULSION_DIST = i.DEFAULT_EDGE_LENGTH / 10), + (i.CONVERGENCE_CHECK_PERIOD = 100), + (i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = 0.1), + (i.MIN_EDGE_LENGTH = 1), + (i.GRID_CALCULATION_CHECK_PERIOD = 10), + (t.exports = i); + }, + function (t, e, r) { + 'use strict'; + var n = r(12); + function i() {} + o(i, 'IGeometry'), + (i.calcSeparationAmount = function (a, s, l, u) { + if (!a.intersects(s)) throw 'assert failed'; + var h = new Array(2); + this.decideDirectionsForOverlappingNodes(a, s, h), + (l[0] = Math.min(a.getRight(), s.getRight()) - Math.max(a.x, s.x)), + (l[1] = Math.min(a.getBottom(), s.getBottom()) - Math.max(a.y, s.y)), + a.getX() <= s.getX() && a.getRight() >= s.getRight() + ? (l[0] += Math.min(s.getX() - a.getX(), a.getRight() - s.getRight())) + : s.getX() <= a.getX() && + s.getRight() >= a.getRight() && + (l[0] += Math.min(a.getX() - s.getX(), s.getRight() - a.getRight())), + a.getY() <= s.getY() && a.getBottom() >= s.getBottom() + ? (l[1] += Math.min(s.getY() - a.getY(), a.getBottom() - s.getBottom())) + : s.getY() <= a.getY() && + s.getBottom() >= a.getBottom() && + (l[1] += Math.min(a.getY() - s.getY(), s.getBottom() - a.getBottom())); + var f = Math.abs((s.getCenterY() - a.getCenterY()) / (s.getCenterX() - a.getCenterX())); + s.getCenterY() === a.getCenterY() && s.getCenterX() === a.getCenterX() && (f = 1); + var d = f * l[0], + p = l[1] / f; + l[0] < p ? (p = l[0]) : (d = l[1]), + (l[0] = -1 * h[0] * (p / 2 + u)), + (l[1] = -1 * h[1] * (d / 2 + u)); + }), + (i.decideDirectionsForOverlappingNodes = function (a, s, l) { + a.getCenterX() < s.getCenterX() ? (l[0] = -1) : (l[0] = 1), + a.getCenterY() < s.getCenterY() ? (l[1] = -1) : (l[1] = 1); + }), + (i.getIntersection2 = function (a, s, l) { + var u = a.getCenterX(), + h = a.getCenterY(), + f = s.getCenterX(), + d = s.getCenterY(); + if (a.intersects(s)) return (l[0] = u), (l[1] = h), (l[2] = f), (l[3] = d), !0; + var p = a.getX(), + m = a.getY(), + g = a.getRight(), + y = a.getX(), + v = a.getBottom(), + x = a.getRight(), + b = a.getWidthHalf(), + w = a.getHeightHalf(), + S = s.getX(), + T = s.getY(), + E = s.getRight(), + _ = s.getX(), + A = s.getBottom(), + L = s.getRight(), + M = s.getWidthHalf(), + N = s.getHeightHalf(), + k = !1, + I = !1; + if (u === f) { + if (h > d) return (l[0] = u), (l[1] = m), (l[2] = f), (l[3] = A), !1; + if (h < d) return (l[0] = u), (l[1] = v), (l[2] = f), (l[3] = T), !1; + } else if (h === d) { + if (u > f) return (l[0] = p), (l[1] = h), (l[2] = E), (l[3] = d), !1; + if (u < f) return (l[0] = g), (l[1] = h), (l[2] = S), (l[3] = d), !1; + } else { + var C = a.height / a.width, + O = s.height / s.width, + D = (d - h) / (f - u), + P = void 0, + F = void 0, + B = void 0, + $ = void 0, + z = void 0, + Y = void 0; + if ( + (-C === D + ? u > f + ? ((l[0] = y), (l[1] = v), (k = !0)) + : ((l[0] = g), (l[1] = m), (k = !0)) + : C === D && + (u > f + ? ((l[0] = p), (l[1] = m), (k = !0)) + : ((l[0] = x), (l[1] = v), (k = !0))), + -O === D + ? f > u + ? ((l[2] = _), (l[3] = A), (I = !0)) + : ((l[2] = E), (l[3] = T), (I = !0)) + : O === D && + (f > u + ? ((l[2] = S), (l[3] = T), (I = !0)) + : ((l[2] = L), (l[3] = A), (I = !0))), + k && I) + ) + return !1; + if ( + (u > f + ? h > d + ? ((P = this.getCardinalDirection(C, D, 4)), + (F = this.getCardinalDirection(O, D, 2))) + : ((P = this.getCardinalDirection(-C, D, 3)), + (F = this.getCardinalDirection(-O, D, 1))) + : h > d + ? ((P = this.getCardinalDirection(-C, D, 1)), + (F = this.getCardinalDirection(-O, D, 3))) + : ((P = this.getCardinalDirection(C, D, 2)), + (F = this.getCardinalDirection(O, D, 4))), + !k) + ) + switch (P) { + case 1: + ($ = m), (B = u + -w / D), (l[0] = B), (l[1] = $); + break; + case 2: + (B = x), ($ = h + b * D), (l[0] = B), (l[1] = $); + break; + case 3: + ($ = v), (B = u + w / D), (l[0] = B), (l[1] = $); + break; + case 4: + (B = y), ($ = h + -b * D), (l[0] = B), (l[1] = $); + break; + } + if (!I) + switch (F) { + case 1: + (Y = T), (z = f + -N / D), (l[2] = z), (l[3] = Y); + break; + case 2: + (z = L), (Y = d + M * D), (l[2] = z), (l[3] = Y); + break; + case 3: + (Y = A), (z = f + N / D), (l[2] = z), (l[3] = Y); + break; + case 4: + (z = _), (Y = d + -M * D), (l[2] = z), (l[3] = Y); + break; + } + } + return !1; + }), + (i.getCardinalDirection = function (a, s, l) { + return a > s ? l : 1 + (l % 4); + }), + (i.getIntersection = function (a, s, l, u) { + if (u == null) return this.getIntersection2(a, s, l); + var h = a.x, + f = a.y, + d = s.x, + p = s.y, + m = l.x, + g = l.y, + y = u.x, + v = u.y, + x = void 0, + b = void 0, + w = void 0, + S = void 0, + T = void 0, + E = void 0, + _ = void 0, + A = void 0, + L = void 0; + return ( + (w = p - f), + (T = h - d), + (_ = d * f - h * p), + (S = v - g), + (E = m - y), + (A = y * g - m * v), + (L = w * E - S * T), + L === 0 ? null : ((x = (T * A - E * _) / L), (b = (S * _ - w * A) / L), new n(x, b)) + ); + }), + (i.angleOfVector = function (a, s, l, u) { + var h = void 0; + return ( + a !== l + ? ((h = Math.atan((u - s) / (l - a))), + l < a ? (h += Math.PI) : u < s && (h += this.TWO_PI)) + : u < s + ? (h = this.ONE_AND_HALF_PI) + : (h = this.HALF_PI), + h + ); + }), + (i.doIntersect = function (a, s, l, u) { + var h = a.x, + f = a.y, + d = s.x, + p = s.y, + m = l.x, + g = l.y, + y = u.x, + v = u.y, + x = (d - h) * (v - g) - (y - m) * (p - f); + if (x === 0) return !1; + var b = ((v - g) * (y - h) + (m - y) * (v - f)) / x, + w = ((f - p) * (y - h) + (d - h) * (v - f)) / x; + return 0 < b && b < 1 && 0 < w && w < 1; + }), + (i.HALF_PI = 0.5 * Math.PI), + (i.ONE_AND_HALF_PI = 1.5 * Math.PI), + (i.TWO_PI = 2 * Math.PI), + (i.THREE_PI = 3 * Math.PI), + (t.exports = i); + }, + function (t, e, r) { + 'use strict'; + function n() {} + o(n, 'IMath'), + (n.sign = function (i) { + return i > 0 ? 1 : i < 0 ? -1 : 0; + }), + (n.floor = function (i) { + return i < 0 ? Math.ceil(i) : Math.floor(i); + }), + (n.ceil = function (i) { + return i < 0 ? Math.floor(i) : Math.ceil(i); + }), + (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + function n() {} + o(n, 'Integer'), (n.MAX_VALUE = 2147483647), (n.MIN_VALUE = -2147483648), (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + var n = (function () { + function h(f, d) { + for (var p = 0; p < d.length; p++) { + var m = d[p]; + (m.enumerable = m.enumerable || !1), + (m.configurable = !0), + 'value' in m && (m.writable = !0), + Object.defineProperty(f, m.key, m); + } + } + return ( + o(h, 'defineProperties'), + function (f, d, p) { + return d && h(f.prototype, d), p && h(f, p), f; + } + ); + })(); + function i(h, f) { + if (!(h instanceof f)) throw new TypeError('Cannot call a class as a function'); + } + o(i, '_classCallCheck'); + var a = o(function (f) { + return { value: f, next: null, prev: null }; + }, 'nodeFrom'), + s = o(function (f, d, p, m) { + return ( + f !== null ? (f.next = d) : (m.head = d), + p !== null ? (p.prev = d) : (m.tail = d), + (d.prev = f), + (d.next = p), + m.length++, + d + ); + }, 'add'), + l = o(function (f, d) { + var p = f.prev, + m = f.next; + return ( + p !== null ? (p.next = m) : (d.head = m), + m !== null ? (m.prev = p) : (d.tail = p), + (f.prev = f.next = null), + d.length--, + f + ); + }, '_remove'), + u = (function () { + function h(f) { + var d = this; + i(this, h), + (this.length = 0), + (this.head = null), + (this.tail = null), + f?.forEach(function (p) { + return d.push(p); + }); + } + return ( + o(h, 'LinkedList'), + n(h, [ + { + key: 'size', + value: o(function () { + return this.length; + }, 'size') + }, + { + key: 'insertBefore', + value: o(function (d, p) { + return s(p.prev, a(d), p, this); + }, 'insertBefore') + }, + { + key: 'insertAfter', + value: o(function (d, p) { + return s(p, a(d), p.next, this); + }, 'insertAfter') + }, + { + key: 'insertNodeBefore', + value: o(function (d, p) { + return s(p.prev, d, p, this); + }, 'insertNodeBefore') + }, + { + key: 'insertNodeAfter', + value: o(function (d, p) { + return s(p, d, p.next, this); + }, 'insertNodeAfter') + }, + { + key: 'push', + value: o(function (d) { + return s(this.tail, a(d), null, this); + }, 'push') + }, + { + key: 'unshift', + value: o(function (d) { + return s(null, a(d), this.head, this); + }, 'unshift') + }, + { + key: 'remove', + value: o(function (d) { + return l(d, this); + }, 'remove') + }, + { + key: 'pop', + value: o(function () { + return l(this.tail, this).value; + }, 'pop') + }, + { + key: 'popNode', + value: o(function () { + return l(this.tail, this); + }, 'popNode') + }, + { + key: 'shift', + value: o(function () { + return l(this.head, this).value; + }, 'shift') + }, + { + key: 'shiftNode', + value: o(function () { + return l(this.head, this); + }, 'shiftNode') + }, + { + key: 'get_object_at', + value: o(function (d) { + if (d <= this.length()) { + for (var p = 1, m = this.head; p < d; ) (m = m.next), p++; + return m.value; + } + }, 'get_object_at') + }, + { + key: 'set_object_at', + value: o(function (d, p) { + if (d <= this.length()) { + for (var m = 1, g = this.head; m < d; ) (g = g.next), m++; + g.value = p; + } + }, 'set_object_at') + } + ]), + h + ); + })(); + t.exports = u; + }, + function (t, e, r) { + 'use strict'; + function n(i, a, s) { + (this.x = null), + (this.y = null), + i == null && a == null && s == null + ? ((this.x = 0), (this.y = 0)) + : typeof i == 'number' && typeof a == 'number' && s == null + ? ((this.x = i), (this.y = a)) + : i.constructor.name == 'Point' && + a == null && + s == null && + ((s = i), (this.x = s.x), (this.y = s.y)); + } + o(n, 'Point'), + (n.prototype.getX = function () { + return this.x; + }), + (n.prototype.getY = function () { + return this.y; + }), + (n.prototype.getLocation = function () { + return new n(this.x, this.y); + }), + (n.prototype.setLocation = function (i, a, s) { + i.constructor.name == 'Point' && a == null && s == null + ? ((s = i), this.setLocation(s.x, s.y)) + : typeof i == 'number' && + typeof a == 'number' && + s == null && + (parseInt(i) == i && parseInt(a) == a + ? this.move(i, a) + : ((this.x = Math.floor(i + 0.5)), (this.y = Math.floor(a + 0.5)))); + }), + (n.prototype.move = function (i, a) { + (this.x = i), (this.y = a); + }), + (n.prototype.translate = function (i, a) { + (this.x += i), (this.y += a); + }), + (n.prototype.equals = function (i) { + if (i.constructor.name == 'Point') { + var a = i; + return this.x == a.x && this.y == a.y; + } + return this == i; + }), + (n.prototype.toString = function () { + return new n().constructor.name + '[x=' + this.x + ',y=' + this.y + ']'; + }), + (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + function n(i, a, s, l) { + (this.x = 0), + (this.y = 0), + (this.width = 0), + (this.height = 0), + i != null && + a != null && + s != null && + l != null && + ((this.x = i), (this.y = a), (this.width = s), (this.height = l)); + } + o(n, 'RectangleD'), + (n.prototype.getX = function () { + return this.x; + }), + (n.prototype.setX = function (i) { + this.x = i; + }), + (n.prototype.getY = function () { + return this.y; + }), + (n.prototype.setY = function (i) { + this.y = i; + }), + (n.prototype.getWidth = function () { + return this.width; + }), + (n.prototype.setWidth = function (i) { + this.width = i; + }), + (n.prototype.getHeight = function () { + return this.height; + }), + (n.prototype.setHeight = function (i) { + this.height = i; + }), + (n.prototype.getRight = function () { + return this.x + this.width; + }), + (n.prototype.getBottom = function () { + return this.y + this.height; + }), + (n.prototype.intersects = function (i) { + return !( + this.getRight() < i.x || + this.getBottom() < i.y || + i.getRight() < this.x || + i.getBottom() < this.y + ); + }), + (n.prototype.getCenterX = function () { + return this.x + this.width / 2; + }), + (n.prototype.getMinX = function () { + return this.getX(); + }), + (n.prototype.getMaxX = function () { + return this.getX() + this.width; + }), + (n.prototype.getCenterY = function () { + return this.y + this.height / 2; + }), + (n.prototype.getMinY = function () { + return this.getY(); + }), + (n.prototype.getMaxY = function () { + return this.getY() + this.height; + }), + (n.prototype.getWidthHalf = function () { + return this.width / 2; + }), + (n.prototype.getHeightHalf = function () { + return this.height / 2; + }), + (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + var n = + typeof Symbol == 'function' && typeof Symbol.iterator == 'symbol' + ? function (a) { + return typeof a; + } + : function (a) { + return a && + typeof Symbol == 'function' && + a.constructor === Symbol && + a !== Symbol.prototype + ? 'symbol' + : typeof a; + }; + function i() {} + o(i, 'UniqueIDGeneretor'), + (i.lastID = 0), + (i.createID = function (a) { + return i.isPrimitive(a) + ? a + : (a.uniqueID != null || ((a.uniqueID = i.getString()), i.lastID++), a.uniqueID); + }), + (i.getString = function (a) { + return a == null && (a = i.lastID), 'Object#' + a; + }), + (i.isPrimitive = function (a) { + var s = typeof a > 'u' ? 'undefined' : n(a); + return a == null || (s != 'object' && s != 'function'); + }), + (t.exports = i); + }, + function (t, e, r) { + 'use strict'; + function n(m) { + if (Array.isArray(m)) { + for (var g = 0, y = Array(m.length); g < m.length; g++) y[g] = m[g]; + return y; + } else return Array.from(m); + } + o(n, '_toConsumableArray'); + var i = r(0), + a = r(6), + s = r(3), + l = r(1), + u = r(5), + h = r(4), + f = r(17), + d = r(27); + function p(m) { + d.call(this), + (this.layoutQuality = i.QUALITY), + (this.createBendsAsNeeded = i.DEFAULT_CREATE_BENDS_AS_NEEDED), + (this.incremental = i.DEFAULT_INCREMENTAL), + (this.animationOnLayout = i.DEFAULT_ANIMATION_ON_LAYOUT), + (this.animationDuringLayout = i.DEFAULT_ANIMATION_DURING_LAYOUT), + (this.animationPeriod = i.DEFAULT_ANIMATION_PERIOD), + (this.uniformLeafNodeSizes = i.DEFAULT_UNIFORM_LEAF_NODE_SIZES), + (this.edgeToDummyNodes = new Map()), + (this.graphManager = new a(this)), + (this.isLayoutFinished = !1), + (this.isSubLayout = !1), + (this.isRemoteUse = !1), + m != null && (this.isRemoteUse = m); + } + o(p, 'Layout'), + (p.RANDOM_SEED = 1), + (p.prototype = Object.create(d.prototype)), + (p.prototype.getGraphManager = function () { + return this.graphManager; + }), + (p.prototype.getAllNodes = function () { + return this.graphManager.getAllNodes(); + }), + (p.prototype.getAllEdges = function () { + return this.graphManager.getAllEdges(); + }), + (p.prototype.getAllNodesToApplyGravitation = function () { + return this.graphManager.getAllNodesToApplyGravitation(); + }), + (p.prototype.newGraphManager = function () { + var m = new a(this); + return (this.graphManager = m), m; + }), + (p.prototype.newGraph = function (m) { + return new u(null, this.graphManager, m); + }), + (p.prototype.newNode = function (m) { + return new s(this.graphManager, m); + }), + (p.prototype.newEdge = function (m) { + return new l(null, null, m); + }), + (p.prototype.checkLayoutSuccess = function () { + return ( + this.graphManager.getRoot() == null || + this.graphManager.getRoot().getNodes().length == 0 || + this.graphManager.includesInvalidEdge() + ); + }), + (p.prototype.runLayout = function () { + (this.isLayoutFinished = !1), + this.tilingPreLayout && this.tilingPreLayout(), + this.initParameters(); + var m; + return ( + this.checkLayoutSuccess() ? (m = !1) : (m = this.layout()), + i.ANIMATE === 'during' + ? !1 + : (m && (this.isSubLayout || this.doPostLayout()), + this.tilingPostLayout && this.tilingPostLayout(), + (this.isLayoutFinished = !0), + m) + ); + }), + (p.prototype.doPostLayout = function () { + this.incremental || this.transform(), this.update(); + }), + (p.prototype.update2 = function () { + if ( + (this.createBendsAsNeeded && + (this.createBendpointsFromDummyNodes(), this.graphManager.resetAllEdges()), + !this.isRemoteUse) + ) { + for (var m, g = this.graphManager.getAllEdges(), y = 0; y < g.length; y++) m = g[y]; + for (var v, x = this.graphManager.getRoot().getNodes(), y = 0; y < x.length; y++) + v = x[y]; + this.update(this.graphManager.getRoot()); + } + }), + (p.prototype.update = function (m) { + if (m == null) this.update2(); + else if (m instanceof s) { + var g = m; + if (g.getChild() != null) + for (var y = g.getChild().getNodes(), v = 0; v < y.length; v++) update(y[v]); + if (g.vGraphObject != null) { + var x = g.vGraphObject; + x.update(g); + } + } else if (m instanceof l) { + var b = m; + if (b.vGraphObject != null) { + var w = b.vGraphObject; + w.update(b); + } + } else if (m instanceof u) { + var S = m; + if (S.vGraphObject != null) { + var T = S.vGraphObject; + T.update(S); + } + } + }), + (p.prototype.initParameters = function () { + this.isSubLayout || + ((this.layoutQuality = i.QUALITY), + (this.animationDuringLayout = i.DEFAULT_ANIMATION_DURING_LAYOUT), + (this.animationPeriod = i.DEFAULT_ANIMATION_PERIOD), + (this.animationOnLayout = i.DEFAULT_ANIMATION_ON_LAYOUT), + (this.incremental = i.DEFAULT_INCREMENTAL), + (this.createBendsAsNeeded = i.DEFAULT_CREATE_BENDS_AS_NEEDED), + (this.uniformLeafNodeSizes = i.DEFAULT_UNIFORM_LEAF_NODE_SIZES)), + this.animationDuringLayout && (this.animationOnLayout = !1); + }), + (p.prototype.transform = function (m) { + if (m == null) this.transform(new h(0, 0)); + else { + var g = new f(), + y = this.graphManager.getRoot().updateLeftTop(); + if (y != null) { + g.setWorldOrgX(m.x), + g.setWorldOrgY(m.y), + g.setDeviceOrgX(y.x), + g.setDeviceOrgY(y.y); + for (var v = this.getAllNodes(), x, b = 0; b < v.length; b++) + (x = v[b]), x.transform(g); + } + } + }), + (p.prototype.positionNodesRandomly = function (m) { + if (m == null) + this.positionNodesRandomly(this.getGraphManager().getRoot()), + this.getGraphManager().getRoot().updateBounds(!0); + else + for (var g, y, v = m.getNodes(), x = 0; x < v.length; x++) + (g = v[x]), + (y = g.getChild()), + y == null || y.getNodes().length == 0 + ? g.scatter() + : (this.positionNodesRandomly(y), g.updateBounds()); + }), + (p.prototype.getFlatForest = function () { + for ( + var m = [], g = !0, y = this.graphManager.getRoot().getNodes(), v = !0, x = 0; + x < y.length; + x++ + ) + y[x].getChild() != null && (v = !1); + if (!v) return m; + var b = new Set(), + w = [], + S = new Map(), + T = []; + for (T = T.concat(y); T.length > 0 && g; ) { + for (w.push(T[0]); w.length > 0 && g; ) { + var E = w[0]; + w.splice(0, 1), b.add(E); + for (var _ = E.getEdges(), x = 0; x < _.length; x++) { + var A = _[x].getOtherEnd(E); + if (S.get(E) != A) + if (!b.has(A)) w.push(A), S.set(A, E); + else { + g = !1; + break; + } + } + } + if (!g) m = []; + else { + var L = [].concat(n(b)); + m.push(L); + for (var x = 0; x < L.length; x++) { + var M = L[x], + N = T.indexOf(M); + N > -1 && T.splice(N, 1); + } + (b = new Set()), (S = new Map()); + } + } + return m; + }), + (p.prototype.createDummyNodesForBendpoints = function (m) { + for ( + var g = [], + y = m.source, + v = this.graphManager.calcLowestCommonAncestor(m.source, m.target), + x = 0; + x < m.bendpoints.length; + x++ + ) { + var b = this.newNode(null); + b.setRect(new Point(0, 0), new Dimension(1, 1)), v.add(b); + var w = this.newEdge(null); + this.graphManager.add(w, y, b), g.add(b), (y = b); + } + var w = this.newEdge(null); + return ( + this.graphManager.add(w, y, m.target), + this.edgeToDummyNodes.set(m, g), + m.isInterGraph() ? this.graphManager.remove(m) : v.remove(m), + g + ); + }), + (p.prototype.createBendpointsFromDummyNodes = function () { + var m = []; + (m = m.concat(this.graphManager.getAllEdges())), + (m = [].concat(n(this.edgeToDummyNodes.keys())).concat(m)); + for (var g = 0; g < m.length; g++) { + var y = m[g]; + if (y.bendpoints.length > 0) { + for (var v = this.edgeToDummyNodes.get(y), x = 0; x < v.length; x++) { + var b = v[x], + w = new h(b.getCenterX(), b.getCenterY()), + S = y.bendpoints.get(x); + (S.x = w.x), (S.y = w.y), b.getOwner().remove(b); + } + this.graphManager.add(y, y.source, y.target); + } + } + }), + (p.transform = function (m, g, y, v) { + if (y != null && v != null) { + var x = g; + if (m <= 50) { + var b = g / y; + x -= ((g - b) / 50) * (50 - m); + } else { + var w = g * v; + x += ((w - g) / 50) * (m - 50); + } + return x; + } else { + var S, T; + return ( + m <= 50 ? ((S = (9 * g) / 500), (T = g / 10)) : ((S = (9 * g) / 50), (T = -8 * g)), + S * m + T + ); + } + }), + (p.findCenterOfTree = function (m) { + var g = []; + g = g.concat(m); + var y = [], + v = new Map(), + x = !1, + b = null; + (g.length == 1 || g.length == 2) && ((x = !0), (b = g[0])); + for (var w = 0; w < g.length; w++) { + var S = g[w], + T = S.getNeighborsList().size; + v.set(S, S.getNeighborsList().size), T == 1 && y.push(S); + } + var E = []; + for (E = E.concat(y); !x; ) { + var _ = []; + (_ = _.concat(E)), (E = []); + for (var w = 0; w < g.length; w++) { + var S = g[w], + A = g.indexOf(S); + A >= 0 && g.splice(A, 1); + var L = S.getNeighborsList(); + L.forEach(function (k) { + if (y.indexOf(k) < 0) { + var I = v.get(k), + C = I - 1; + C == 1 && E.push(k), v.set(k, C); + } + }); + } + (y = y.concat(E)), (g.length == 1 || g.length == 2) && ((x = !0), (b = g[0])); + } + return b; + }), + (p.prototype.setGraphManager = function (m) { + this.graphManager = m; + }), + (t.exports = p); + }, + function (t, e, r) { + 'use strict'; + function n() {} + o(n, 'RandomSeed'), + (n.seed = 1), + (n.x = 0), + (n.nextDouble = function () { + return (n.x = Math.sin(n.seed++) * 1e4), n.x - Math.floor(n.x); + }), + (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + var n = r(4); + function i(a, s) { + (this.lworldOrgX = 0), + (this.lworldOrgY = 0), + (this.ldeviceOrgX = 0), + (this.ldeviceOrgY = 0), + (this.lworldExtX = 1), + (this.lworldExtY = 1), + (this.ldeviceExtX = 1), + (this.ldeviceExtY = 1); + } + o(i, 'Transform'), + (i.prototype.getWorldOrgX = function () { + return this.lworldOrgX; + }), + (i.prototype.setWorldOrgX = function (a) { + this.lworldOrgX = a; + }), + (i.prototype.getWorldOrgY = function () { + return this.lworldOrgY; + }), + (i.prototype.setWorldOrgY = function (a) { + this.lworldOrgY = a; + }), + (i.prototype.getWorldExtX = function () { + return this.lworldExtX; + }), + (i.prototype.setWorldExtX = function (a) { + this.lworldExtX = a; + }), + (i.prototype.getWorldExtY = function () { + return this.lworldExtY; + }), + (i.prototype.setWorldExtY = function (a) { + this.lworldExtY = a; + }), + (i.prototype.getDeviceOrgX = function () { + return this.ldeviceOrgX; + }), + (i.prototype.setDeviceOrgX = function (a) { + this.ldeviceOrgX = a; + }), + (i.prototype.getDeviceOrgY = function () { + return this.ldeviceOrgY; + }), + (i.prototype.setDeviceOrgY = function (a) { + this.ldeviceOrgY = a; + }), + (i.prototype.getDeviceExtX = function () { + return this.ldeviceExtX; + }), + (i.prototype.setDeviceExtX = function (a) { + this.ldeviceExtX = a; + }), + (i.prototype.getDeviceExtY = function () { + return this.ldeviceExtY; + }), + (i.prototype.setDeviceExtY = function (a) { + this.ldeviceExtY = a; + }), + (i.prototype.transformX = function (a) { + var s = 0, + l = this.lworldExtX; + return l != 0 && (s = this.ldeviceOrgX + ((a - this.lworldOrgX) * this.ldeviceExtX) / l), s; + }), + (i.prototype.transformY = function (a) { + var s = 0, + l = this.lworldExtY; + return l != 0 && (s = this.ldeviceOrgY + ((a - this.lworldOrgY) * this.ldeviceExtY) / l), s; + }), + (i.prototype.inverseTransformX = function (a) { + var s = 0, + l = this.ldeviceExtX; + return l != 0 && (s = this.lworldOrgX + ((a - this.ldeviceOrgX) * this.lworldExtX) / l), s; + }), + (i.prototype.inverseTransformY = function (a) { + var s = 0, + l = this.ldeviceExtY; + return l != 0 && (s = this.lworldOrgY + ((a - this.ldeviceOrgY) * this.lworldExtY) / l), s; + }), + (i.prototype.inverseTransformPoint = function (a) { + var s = new n(this.inverseTransformX(a.x), this.inverseTransformY(a.y)); + return s; + }), + (t.exports = i); + }, + function (t, e, r) { + 'use strict'; + function n(d) { + if (Array.isArray(d)) { + for (var p = 0, m = Array(d.length); p < d.length; p++) m[p] = d[p]; + return m; + } else return Array.from(d); + } + o(n, '_toConsumableArray'); + var i = r(15), + a = r(7), + s = r(0), + l = r(8), + u = r(9); + function h() { + i.call(this), + (this.useSmartIdealEdgeLengthCalculation = + a.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION), + (this.idealEdgeLength = a.DEFAULT_EDGE_LENGTH), + (this.springConstant = a.DEFAULT_SPRING_STRENGTH), + (this.repulsionConstant = a.DEFAULT_REPULSION_STRENGTH), + (this.gravityConstant = a.DEFAULT_GRAVITY_STRENGTH), + (this.compoundGravityConstant = a.DEFAULT_COMPOUND_GRAVITY_STRENGTH), + (this.gravityRangeFactor = a.DEFAULT_GRAVITY_RANGE_FACTOR), + (this.compoundGravityRangeFactor = a.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR), + (this.displacementThresholdPerNode = (3 * a.DEFAULT_EDGE_LENGTH) / 100), + (this.coolingFactor = a.DEFAULT_COOLING_FACTOR_INCREMENTAL), + (this.initialCoolingFactor = a.DEFAULT_COOLING_FACTOR_INCREMENTAL), + (this.totalDisplacement = 0), + (this.oldTotalDisplacement = 0), + (this.maxIterations = a.MAX_ITERATIONS); + } + o(h, 'FDLayout'), (h.prototype = Object.create(i.prototype)); + for (var f in i) h[f] = i[f]; + (h.prototype.initParameters = function () { + i.prototype.initParameters.call(this, arguments), + (this.totalIterations = 0), + (this.notAnimatedIterations = 0), + (this.useFRGridVariant = a.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION), + (this.grid = []); + }), + (h.prototype.calcIdealEdgeLengths = function () { + for ( + var d, p, m, g, y, v, x = this.getGraphManager().getAllEdges(), b = 0; + b < x.length; + b++ + ) + (d = x[b]), + (d.idealLength = this.idealEdgeLength), + d.isInterGraph && + ((m = d.getSource()), + (g = d.getTarget()), + (y = d.getSourceInLca().getEstimatedSize()), + (v = d.getTargetInLca().getEstimatedSize()), + this.useSmartIdealEdgeLengthCalculation && + (d.idealLength += y + v - 2 * s.SIMPLE_NODE_SIZE), + (p = d.getLca().getInclusionTreeDepth()), + (d.idealLength += + a.DEFAULT_EDGE_LENGTH * + a.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR * + (m.getInclusionTreeDepth() + g.getInclusionTreeDepth() - 2 * p))); + }), + (h.prototype.initSpringEmbedder = function () { + var d = this.getAllNodes().length; + this.incremental + ? (d > a.ADAPTATION_LOWER_NODE_LIMIT && + (this.coolingFactor = Math.max( + this.coolingFactor * a.COOLING_ADAPTATION_FACTOR, + this.coolingFactor - + ((d - a.ADAPTATION_LOWER_NODE_LIMIT) / + (a.ADAPTATION_UPPER_NODE_LIMIT - a.ADAPTATION_LOWER_NODE_LIMIT)) * + this.coolingFactor * + (1 - a.COOLING_ADAPTATION_FACTOR) + )), + (this.maxNodeDisplacement = a.MAX_NODE_DISPLACEMENT_INCREMENTAL)) + : (d > a.ADAPTATION_LOWER_NODE_LIMIT + ? (this.coolingFactor = Math.max( + a.COOLING_ADAPTATION_FACTOR, + 1 - + ((d - a.ADAPTATION_LOWER_NODE_LIMIT) / + (a.ADAPTATION_UPPER_NODE_LIMIT - a.ADAPTATION_LOWER_NODE_LIMIT)) * + (1 - a.COOLING_ADAPTATION_FACTOR) + )) + : (this.coolingFactor = 1), + (this.initialCoolingFactor = this.coolingFactor), + (this.maxNodeDisplacement = a.MAX_NODE_DISPLACEMENT)), + (this.maxIterations = Math.max(this.getAllNodes().length * 5, this.maxIterations)), + (this.totalDisplacementThreshold = + this.displacementThresholdPerNode * this.getAllNodes().length), + (this.repulsionRange = this.calcRepulsionRange()); + }), + (h.prototype.calcSpringForces = function () { + for (var d = this.getAllEdges(), p, m = 0; m < d.length; m++) + (p = d[m]), this.calcSpringForce(p, p.idealLength); + }), + (h.prototype.calcRepulsionForces = function () { + var d = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0, + p = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1, + m, + g, + y, + v, + x = this.getAllNodes(), + b; + if (this.useFRGridVariant) + for ( + this.totalIterations % a.GRID_CALCULATION_CHECK_PERIOD == 1 && + d && + this.updateGrid(), + b = new Set(), + m = 0; + m < x.length; + m++ + ) + (y = x[m]), this.calculateRepulsionForceOfANode(y, b, d, p), b.add(y); + else + for (m = 0; m < x.length; m++) + for (y = x[m], g = m + 1; g < x.length; g++) + (v = x[g]), y.getOwner() == v.getOwner() && this.calcRepulsionForce(y, v); + }), + (h.prototype.calcGravitationalForces = function () { + for (var d, p = this.getAllNodesToApplyGravitation(), m = 0; m < p.length; m++) + (d = p[m]), this.calcGravitationalForce(d); + }), + (h.prototype.moveNodes = function () { + for (var d = this.getAllNodes(), p, m = 0; m < d.length; m++) (p = d[m]), p.move(); + }), + (h.prototype.calcSpringForce = function (d, p) { + var m = d.getSource(), + g = d.getTarget(), + y, + v, + x, + b; + if (this.uniformLeafNodeSizes && m.getChild() == null && g.getChild() == null) + d.updateLengthSimple(); + else if ((d.updateLength(), d.isOverlapingSourceAndTarget)) return; + (y = d.getLength()), + y != 0 && + ((v = this.springConstant * (y - p)), + (x = v * (d.lengthX / y)), + (b = v * (d.lengthY / y)), + (m.springForceX += x), + (m.springForceY += b), + (g.springForceX -= x), + (g.springForceY -= b)); + }), + (h.prototype.calcRepulsionForce = function (d, p) { + var m = d.getRect(), + g = p.getRect(), + y = new Array(2), + v = new Array(4), + x, + b, + w, + S, + T, + E, + _; + if (m.intersects(g)) { + l.calcSeparationAmount(m, g, y, a.DEFAULT_EDGE_LENGTH / 2), + (E = 2 * y[0]), + (_ = 2 * y[1]); + var A = (d.noOfChildren * p.noOfChildren) / (d.noOfChildren + p.noOfChildren); + (d.repulsionForceX -= A * E), + (d.repulsionForceY -= A * _), + (p.repulsionForceX += A * E), + (p.repulsionForceY += A * _); + } else + this.uniformLeafNodeSizes && d.getChild() == null && p.getChild() == null + ? ((x = g.getCenterX() - m.getCenterX()), (b = g.getCenterY() - m.getCenterY())) + : (l.getIntersection(m, g, v), (x = v[2] - v[0]), (b = v[3] - v[1])), + Math.abs(x) < a.MIN_REPULSION_DIST && (x = u.sign(x) * a.MIN_REPULSION_DIST), + Math.abs(b) < a.MIN_REPULSION_DIST && (b = u.sign(b) * a.MIN_REPULSION_DIST), + (w = x * x + b * b), + (S = Math.sqrt(w)), + (T = (this.repulsionConstant * d.noOfChildren * p.noOfChildren) / w), + (E = (T * x) / S), + (_ = (T * b) / S), + (d.repulsionForceX -= E), + (d.repulsionForceY -= _), + (p.repulsionForceX += E), + (p.repulsionForceY += _); + }), + (h.prototype.calcGravitationalForce = function (d) { + var p, m, g, y, v, x, b, w; + (p = d.getOwner()), + (m = (p.getRight() + p.getLeft()) / 2), + (g = (p.getTop() + p.getBottom()) / 2), + (y = d.getCenterX() - m), + (v = d.getCenterY() - g), + (x = Math.abs(y) + d.getWidth() / 2), + (b = Math.abs(v) + d.getHeight() / 2), + d.getOwner() == this.graphManager.getRoot() + ? ((w = p.getEstimatedSize() * this.gravityRangeFactor), + (x > w || b > w) && + ((d.gravitationForceX = -this.gravityConstant * y), + (d.gravitationForceY = -this.gravityConstant * v))) + : ((w = p.getEstimatedSize() * this.compoundGravityRangeFactor), + (x > w || b > w) && + ((d.gravitationForceX = + -this.gravityConstant * y * this.compoundGravityConstant), + (d.gravitationForceY = + -this.gravityConstant * v * this.compoundGravityConstant))); + }), + (h.prototype.isConverged = function () { + var d, + p = !1; + return ( + this.totalIterations > this.maxIterations / 3 && + (p = Math.abs(this.totalDisplacement - this.oldTotalDisplacement) < 2), + (d = this.totalDisplacement < this.totalDisplacementThreshold), + (this.oldTotalDisplacement = this.totalDisplacement), + d || p + ); + }), + (h.prototype.animate = function () { + this.animationDuringLayout && + !this.isSubLayout && + (this.notAnimatedIterations == this.animationPeriod + ? (this.update(), (this.notAnimatedIterations = 0)) + : this.notAnimatedIterations++); + }), + (h.prototype.calcNoOfChildrenForAllNodes = function () { + for (var d, p = this.graphManager.getAllNodes(), m = 0; m < p.length; m++) + (d = p[m]), (d.noOfChildren = d.getNoOfChildren()); + }), + (h.prototype.calcGrid = function (d) { + var p = 0, + m = 0; + (p = parseInt(Math.ceil((d.getRight() - d.getLeft()) / this.repulsionRange))), + (m = parseInt(Math.ceil((d.getBottom() - d.getTop()) / this.repulsionRange))); + for (var g = new Array(p), y = 0; y < p; y++) g[y] = new Array(m); + for (var y = 0; y < p; y++) for (var v = 0; v < m; v++) g[y][v] = new Array(); + return g; + }), + (h.prototype.addNodeToGrid = function (d, p, m) { + var g = 0, + y = 0, + v = 0, + x = 0; + (g = parseInt(Math.floor((d.getRect().x - p) / this.repulsionRange))), + (y = parseInt( + Math.floor((d.getRect().width + d.getRect().x - p) / this.repulsionRange) + )), + (v = parseInt(Math.floor((d.getRect().y - m) / this.repulsionRange))), + (x = parseInt( + Math.floor((d.getRect().height + d.getRect().y - m) / this.repulsionRange) + )); + for (var b = g; b <= y; b++) + for (var w = v; w <= x; w++) this.grid[b][w].push(d), d.setGridCoordinates(g, y, v, x); + }), + (h.prototype.updateGrid = function () { + var d, + p, + m = this.getAllNodes(); + for (this.grid = this.calcGrid(this.graphManager.getRoot()), d = 0; d < m.length; d++) + (p = m[d]), + this.addNodeToGrid( + p, + this.graphManager.getRoot().getLeft(), + this.graphManager.getRoot().getTop() + ); + }), + (h.prototype.calculateRepulsionForceOfANode = function (d, p, m, g) { + if ((this.totalIterations % a.GRID_CALCULATION_CHECK_PERIOD == 1 && m) || g) { + var y = new Set(); + d.surrounding = new Array(); + for (var v, x = this.grid, b = d.startX - 1; b < d.finishX + 2; b++) + for (var w = d.startY - 1; w < d.finishY + 2; w++) + if (!(b < 0 || w < 0 || b >= x.length || w >= x[0].length)) { + for (var S = 0; S < x[b][w].length; S++) + if ( + ((v = x[b][w][S]), + !(d.getOwner() != v.getOwner() || d == v) && !p.has(v) && !y.has(v)) + ) { + var T = + Math.abs(d.getCenterX() - v.getCenterX()) - + (d.getWidth() / 2 + v.getWidth() / 2), + E = + Math.abs(d.getCenterY() - v.getCenterY()) - + (d.getHeight() / 2 + v.getHeight() / 2); + T <= this.repulsionRange && E <= this.repulsionRange && y.add(v); + } + } + d.surrounding = [].concat(n(y)); + } + for (b = 0; b < d.surrounding.length; b++) this.calcRepulsionForce(d, d.surrounding[b]); + }), + (h.prototype.calcRepulsionRange = function () { + return 0; + }), + (t.exports = h); + }, + function (t, e, r) { + 'use strict'; + var n = r(1), + i = r(7); + function a(l, u, h) { + n.call(this, l, u, h), (this.idealLength = i.DEFAULT_EDGE_LENGTH); + } + o(a, 'FDLayoutEdge'), (a.prototype = Object.create(n.prototype)); + for (var s in n) a[s] = n[s]; + t.exports = a; + }, + function (t, e, r) { + 'use strict'; + var n = r(3); + function i(s, l, u, h) { + n.call(this, s, l, u, h), + (this.springForceX = 0), + (this.springForceY = 0), + (this.repulsionForceX = 0), + (this.repulsionForceY = 0), + (this.gravitationForceX = 0), + (this.gravitationForceY = 0), + (this.displacementX = 0), + (this.displacementY = 0), + (this.startX = 0), + (this.finishX = 0), + (this.startY = 0), + (this.finishY = 0), + (this.surrounding = []); + } + o(i, 'FDLayoutNode'), (i.prototype = Object.create(n.prototype)); + for (var a in n) i[a] = n[a]; + (i.prototype.setGridCoordinates = function (s, l, u, h) { + (this.startX = s), (this.finishX = l), (this.startY = u), (this.finishY = h); + }), + (t.exports = i); + }, + function (t, e, r) { + 'use strict'; + function n(i, a) { + (this.width = 0), + (this.height = 0), + i !== null && a !== null && ((this.height = a), (this.width = i)); + } + o(n, 'DimensionD'), + (n.prototype.getWidth = function () { + return this.width; + }), + (n.prototype.setWidth = function (i) { + this.width = i; + }), + (n.prototype.getHeight = function () { + return this.height; + }), + (n.prototype.setHeight = function (i) { + this.height = i; + }), + (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + var n = r(14); + function i() { + (this.map = {}), (this.keys = []); + } + o(i, 'HashMap'), + (i.prototype.put = function (a, s) { + var l = n.createID(a); + this.contains(l) || ((this.map[l] = s), this.keys.push(a)); + }), + (i.prototype.contains = function (a) { + var s = n.createID(a); + return this.map[a] != null; + }), + (i.prototype.get = function (a) { + var s = n.createID(a); + return this.map[s]; + }), + (i.prototype.keySet = function () { + return this.keys; + }), + (t.exports = i); + }, + function (t, e, r) { + 'use strict'; + var n = r(14); + function i() { + this.set = {}; + } + o(i, 'HashSet'), + (i.prototype.add = function (a) { + var s = n.createID(a); + this.contains(s) || (this.set[s] = a); + }), + (i.prototype.remove = function (a) { + delete this.set[n.createID(a)]; + }), + (i.prototype.clear = function () { + this.set = {}; + }), + (i.prototype.contains = function (a) { + return this.set[n.createID(a)] == a; + }), + (i.prototype.isEmpty = function () { + return this.size() === 0; + }), + (i.prototype.size = function () { + return Object.keys(this.set).length; + }), + (i.prototype.addAllTo = function (a) { + for (var s = Object.keys(this.set), l = s.length, u = 0; u < l; u++) a.push(this.set[s[u]]); + }), + (i.prototype.size = function () { + return Object.keys(this.set).length; + }), + (i.prototype.addAll = function (a) { + for (var s = a.length, l = 0; l < s; l++) { + var u = a[l]; + this.add(u); + } + }), + (t.exports = i); + }, + function (t, e, r) { + 'use strict'; + var n = (function () { + function l(u, h) { + for (var f = 0; f < h.length; f++) { + var d = h[f]; + (d.enumerable = d.enumerable || !1), + (d.configurable = !0), + 'value' in d && (d.writable = !0), + Object.defineProperty(u, d.key, d); + } + } + return ( + o(l, 'defineProperties'), + function (u, h, f) { + return h && l(u.prototype, h), f && l(u, f), u; + } + ); + })(); + function i(l, u) { + if (!(l instanceof u)) throw new TypeError('Cannot call a class as a function'); + } + o(i, '_classCallCheck'); + var a = r(11), + s = (function () { + function l(u, h) { + i(this, l), + (h !== null || h !== void 0) && + (this.compareFunction = this._defaultCompareFunction); + var f = void 0; + u instanceof a ? (f = u.size()) : (f = u.length), this._quicksort(u, 0, f - 1); + } + return ( + o(l, 'Quicksort'), + n(l, [ + { + key: '_quicksort', + value: o(function (h, f, d) { + if (f < d) { + var p = this._partition(h, f, d); + this._quicksort(h, f, p), this._quicksort(h, p + 1, d); + } + }, '_quicksort') + }, + { + key: '_partition', + value: o(function (h, f, d) { + for (var p = this._get(h, f), m = f, g = d; ; ) { + for (; this.compareFunction(p, this._get(h, g)); ) g--; + for (; this.compareFunction(this._get(h, m), p); ) m++; + if (m < g) this._swap(h, m, g), m++, g--; + else return g; + } + }, '_partition') + }, + { + key: '_get', + value: o(function (h, f) { + return h instanceof a ? h.get_object_at(f) : h[f]; + }, '_get') + }, + { + key: '_set', + value: o(function (h, f, d) { + h instanceof a ? h.set_object_at(f, d) : (h[f] = d); + }, '_set') + }, + { + key: '_swap', + value: o(function (h, f, d) { + var p = this._get(h, f); + this._set(h, f, this._get(h, d)), this._set(h, d, p); + }, '_swap') + }, + { + key: '_defaultCompareFunction', + value: o(function (h, f) { + return f > h; + }, '_defaultCompareFunction') + } + ]), + l + ); + })(); + t.exports = s; + }, + function (t, e, r) { + 'use strict'; + var n = (function () { + function s(l, u) { + for (var h = 0; h < u.length; h++) { + var f = u[h]; + (f.enumerable = f.enumerable || !1), + (f.configurable = !0), + 'value' in f && (f.writable = !0), + Object.defineProperty(l, f.key, f); + } + } + return ( + o(s, 'defineProperties'), + function (l, u, h) { + return u && s(l.prototype, u), h && s(l, h), l; + } + ); + })(); + function i(s, l) { + if (!(s instanceof l)) throw new TypeError('Cannot call a class as a function'); + } + o(i, '_classCallCheck'); + var a = (function () { + function s(l, u) { + var h = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 1, + f = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : -1, + d = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : -1; + i(this, s), + (this.sequence1 = l), + (this.sequence2 = u), + (this.match_score = h), + (this.mismatch_penalty = f), + (this.gap_penalty = d), + (this.iMax = l.length + 1), + (this.jMax = u.length + 1), + (this.grid = new Array(this.iMax)); + for (var p = 0; p < this.iMax; p++) { + this.grid[p] = new Array(this.jMax); + for (var m = 0; m < this.jMax; m++) this.grid[p][m] = 0; + } + this.tracebackGrid = new Array(this.iMax); + for (var g = 0; g < this.iMax; g++) { + this.tracebackGrid[g] = new Array(this.jMax); + for (var y = 0; y < this.jMax; y++) this.tracebackGrid[g][y] = [null, null, null]; + } + (this.alignments = []), (this.score = -1), this.computeGrids(); + } + return ( + o(s, 'NeedlemanWunsch'), + n(s, [ + { + key: 'getScore', + value: o(function () { + return this.score; + }, 'getScore') + }, + { + key: 'getAlignments', + value: o(function () { + return this.alignments; + }, 'getAlignments') + }, + { + key: 'computeGrids', + value: o(function () { + for (var u = 1; u < this.jMax; u++) + (this.grid[0][u] = this.grid[0][u - 1] + this.gap_penalty), + (this.tracebackGrid[0][u] = [!1, !1, !0]); + for (var h = 1; h < this.iMax; h++) + (this.grid[h][0] = this.grid[h - 1][0] + this.gap_penalty), + (this.tracebackGrid[h][0] = [!1, !0, !1]); + for (var f = 1; f < this.iMax; f++) + for (var d = 1; d < this.jMax; d++) { + var p = void 0; + this.sequence1[f - 1] === this.sequence2[d - 1] + ? (p = this.grid[f - 1][d - 1] + this.match_score) + : (p = this.grid[f - 1][d - 1] + this.mismatch_penalty); + var m = this.grid[f - 1][d] + this.gap_penalty, + g = this.grid[f][d - 1] + this.gap_penalty, + y = [p, m, g], + v = this.arrayAllMaxIndexes(y); + (this.grid[f][d] = y[v[0]]), + (this.tracebackGrid[f][d] = [ + v.includes(0), + v.includes(1), + v.includes(2) + ]); + } + this.score = this.grid[this.iMax - 1][this.jMax - 1]; + }, 'computeGrids') + }, + { + key: 'alignmentTraceback', + value: o(function () { + var u = []; + for ( + u.push({ + pos: [this.sequence1.length, this.sequence2.length], + seq1: '', + seq2: '' + }); + u[0]; + + ) { + var h = u[0], + f = this.tracebackGrid[h.pos[0]][h.pos[1]]; + f[0] && + u.push({ + pos: [h.pos[0] - 1, h.pos[1] - 1], + seq1: this.sequence1[h.pos[0] - 1] + h.seq1, + seq2: this.sequence2[h.pos[1] - 1] + h.seq2 + }), + f[1] && + u.push({ + pos: [h.pos[0] - 1, h.pos[1]], + seq1: this.sequence1[h.pos[0] - 1] + h.seq1, + seq2: '-' + h.seq2 + }), + f[2] && + u.push({ + pos: [h.pos[0], h.pos[1] - 1], + seq1: '-' + h.seq1, + seq2: this.sequence2[h.pos[1] - 1] + h.seq2 + }), + h.pos[0] === 0 && + h.pos[1] === 0 && + this.alignments.push({ + sequence1: h.seq1, + sequence2: h.seq2 + }), + u.shift(); + } + return this.alignments; + }, 'alignmentTraceback') + }, + { + key: 'getAllIndexes', + value: o(function (u, h) { + for (var f = [], d = -1; (d = u.indexOf(h, d + 1)) !== -1; ) f.push(d); + return f; + }, 'getAllIndexes') + }, + { + key: 'arrayAllMaxIndexes', + value: o(function (u) { + return this.getAllIndexes(u, Math.max.apply(null, u)); + }, 'arrayAllMaxIndexes') + } + ]), + s + ); + })(); + t.exports = a; + }, + function (t, e, r) { + 'use strict'; + var n = o(function () {}, 'layoutBase'); + (n.FDLayout = r(18)), + (n.FDLayoutConstants = r(7)), + (n.FDLayoutEdge = r(19)), + (n.FDLayoutNode = r(20)), + (n.DimensionD = r(21)), + (n.HashMap = r(22)), + (n.HashSet = r(23)), + (n.IGeometry = r(8)), + (n.IMath = r(9)), + (n.Integer = r(10)), + (n.Point = r(12)), + (n.PointD = r(4)), + (n.RandomSeed = r(16)), + (n.RectangleD = r(13)), + (n.Transform = r(17)), + (n.UniqueIDGeneretor = r(14)), + (n.Quicksort = r(24)), + (n.LinkedList = r(11)), + (n.LGraphObject = r(2)), + (n.LGraph = r(5)), + (n.LEdge = r(1)), + (n.LGraphManager = r(6)), + (n.LNode = r(3)), + (n.Layout = r(15)), + (n.LayoutConstants = r(0)), + (n.NeedlemanWunsch = r(25)), + (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + function n() { + this.listeners = []; + } + o(n, 'Emitter'); + var i = n.prototype; + (i.addListener = function (a, s) { + this.listeners.push({ event: a, callback: s }); + }), + (i.removeListener = function (a, s) { + for (var l = this.listeners.length; l >= 0; l--) { + var u = this.listeners[l]; + u.event === a && u.callback === s && this.listeners.splice(l, 1); + } + }), + (i.emit = function (a, s) { + for (var l = 0; l < this.listeners.length; l++) { + var u = this.listeners[l]; + a === u.event && u.callback(s); + } + }), + (t.exports = n); + } + ]); + }); + }); + var TB = gi((ob, wB) => { + 'use strict'; + o(function (e, r) { + typeof ob == 'object' && typeof wB == 'object' + ? (wB.exports = r(bB())) + : typeof define == 'function' && define.amd + ? define(['layout-base'], r) + : typeof ob == 'object' + ? (ob.coseBase = r(bB())) + : (e.coseBase = r(e.layoutBase)); + }, 'webpackUniversalModuleDefinition')(ob, function (t) { + return (function (e) { + var r = {}; + function n(i) { + if (r[i]) return r[i].exports; + var a = (r[i] = { i, l: !1, exports: {} }); + return e[i].call(a.exports, a, a.exports, n), (a.l = !0), a.exports; + } + return ( + o(n, '__webpack_require__'), + (n.m = e), + (n.c = r), + (n.i = function (i) { + return i; + }), + (n.d = function (i, a, s) { + n.o(i, a) || + Object.defineProperty(i, a, { + configurable: !1, + enumerable: !0, + get: s + }); + }), + (n.n = function (i) { + var a = + i && i.__esModule + ? o(function () { + return i.default; + }, 'getDefault') + : o(function () { + return i; + }, 'getModuleExports'); + return n.d(a, 'a', a), a; + }), + (n.o = function (i, a) { + return Object.prototype.hasOwnProperty.call(i, a); + }), + (n.p = ''), + n((n.s = 7)) + ); + })([ + function (e, r) { + e.exports = t; + }, + function (e, r, n) { + 'use strict'; + var i = n(0).FDLayoutConstants; + function a() {} + o(a, 'CoSEConstants'); + for (var s in i) a[s] = i[s]; + (a.DEFAULT_USE_MULTI_LEVEL_SCALING = !1), + (a.DEFAULT_RADIAL_SEPARATION = i.DEFAULT_EDGE_LENGTH), + (a.DEFAULT_COMPONENT_SEPERATION = 60), + (a.TILE = !0), + (a.TILING_PADDING_VERTICAL = 10), + (a.TILING_PADDING_HORIZONTAL = 10), + (a.TREE_REDUCTION_ON_INCREMENTAL = !1), + (e.exports = a); + }, + function (e, r, n) { + 'use strict'; + var i = n(0).FDLayoutEdge; + function a(l, u, h) { + i.call(this, l, u, h); + } + o(a, 'CoSEEdge'), (a.prototype = Object.create(i.prototype)); + for (var s in i) a[s] = i[s]; + e.exports = a; + }, + function (e, r, n) { + 'use strict'; + var i = n(0).LGraph; + function a(l, u, h) { + i.call(this, l, u, h); + } + o(a, 'CoSEGraph'), (a.prototype = Object.create(i.prototype)); + for (var s in i) a[s] = i[s]; + e.exports = a; + }, + function (e, r, n) { + 'use strict'; + var i = n(0).LGraphManager; + function a(l) { + i.call(this, l); + } + o(a, 'CoSEGraphManager'), (a.prototype = Object.create(i.prototype)); + for (var s in i) a[s] = i[s]; + e.exports = a; + }, + function (e, r, n) { + 'use strict'; + var i = n(0).FDLayoutNode, + a = n(0).IMath; + function s(u, h, f, d) { + i.call(this, u, h, f, d); + } + o(s, 'CoSENode'), (s.prototype = Object.create(i.prototype)); + for (var l in i) s[l] = i[l]; + (s.prototype.move = function () { + var u = this.graphManager.getLayout(); + (this.displacementX = + (u.coolingFactor * (this.springForceX + this.repulsionForceX + this.gravitationForceX)) / + this.noOfChildren), + (this.displacementY = + (u.coolingFactor * + (this.springForceY + this.repulsionForceY + this.gravitationForceY)) / + this.noOfChildren), + Math.abs(this.displacementX) > u.coolingFactor * u.maxNodeDisplacement && + (this.displacementX = + u.coolingFactor * u.maxNodeDisplacement * a.sign(this.displacementX)), + Math.abs(this.displacementY) > u.coolingFactor * u.maxNodeDisplacement && + (this.displacementY = + u.coolingFactor * u.maxNodeDisplacement * a.sign(this.displacementY)), + this.child == null + ? this.moveBy(this.displacementX, this.displacementY) + : this.child.getNodes().length == 0 + ? this.moveBy(this.displacementX, this.displacementY) + : this.propogateDisplacementToChildren(this.displacementX, this.displacementY), + (u.totalDisplacement += Math.abs(this.displacementX) + Math.abs(this.displacementY)), + (this.springForceX = 0), + (this.springForceY = 0), + (this.repulsionForceX = 0), + (this.repulsionForceY = 0), + (this.gravitationForceX = 0), + (this.gravitationForceY = 0), + (this.displacementX = 0), + (this.displacementY = 0); + }), + (s.prototype.propogateDisplacementToChildren = function (u, h) { + for (var f = this.getChild().getNodes(), d, p = 0; p < f.length; p++) + (d = f[p]), + d.getChild() == null + ? (d.moveBy(u, h), (d.displacementX += u), (d.displacementY += h)) + : d.propogateDisplacementToChildren(u, h); + }), + (s.prototype.setPred1 = function (u) { + this.pred1 = u; + }), + (s.prototype.getPred1 = function () { + return pred1; + }), + (s.prototype.getPred2 = function () { + return pred2; + }), + (s.prototype.setNext = function (u) { + this.next = u; + }), + (s.prototype.getNext = function () { + return next; + }), + (s.prototype.setProcessed = function (u) { + this.processed = u; + }), + (s.prototype.isProcessed = function () { + return processed; + }), + (e.exports = s); + }, + function (e, r, n) { + 'use strict'; + var i = n(0).FDLayout, + a = n(4), + s = n(3), + l = n(5), + u = n(2), + h = n(1), + f = n(0).FDLayoutConstants, + d = n(0).LayoutConstants, + p = n(0).Point, + m = n(0).PointD, + g = n(0).Layout, + y = n(0).Integer, + v = n(0).IGeometry, + x = n(0).LGraph, + b = n(0).Transform; + function w() { + i.call(this), (this.toBeTiled = {}); + } + o(w, 'CoSELayout'), (w.prototype = Object.create(i.prototype)); + for (var S in i) w[S] = i[S]; + (w.prototype.newGraphManager = function () { + var T = new a(this); + return (this.graphManager = T), T; + }), + (w.prototype.newGraph = function (T) { + return new s(null, this.graphManager, T); + }), + (w.prototype.newNode = function (T) { + return new l(this.graphManager, T); + }), + (w.prototype.newEdge = function (T) { + return new u(null, null, T); + }), + (w.prototype.initParameters = function () { + i.prototype.initParameters.call(this, arguments), + this.isSubLayout || + (h.DEFAULT_EDGE_LENGTH < 10 + ? (this.idealEdgeLength = 10) + : (this.idealEdgeLength = h.DEFAULT_EDGE_LENGTH), + (this.useSmartIdealEdgeLengthCalculation = + h.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION), + (this.springConstant = f.DEFAULT_SPRING_STRENGTH), + (this.repulsionConstant = f.DEFAULT_REPULSION_STRENGTH), + (this.gravityConstant = f.DEFAULT_GRAVITY_STRENGTH), + (this.compoundGravityConstant = f.DEFAULT_COMPOUND_GRAVITY_STRENGTH), + (this.gravityRangeFactor = f.DEFAULT_GRAVITY_RANGE_FACTOR), + (this.compoundGravityRangeFactor = f.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR), + (this.prunedNodesAll = []), + (this.growTreeIterations = 0), + (this.afterGrowthIterations = 0), + (this.isTreeGrowing = !1), + (this.isGrowthFinished = !1), + (this.coolingCycle = 0), + (this.maxCoolingCycle = this.maxIterations / f.CONVERGENCE_CHECK_PERIOD), + (this.finalTemperature = f.CONVERGENCE_CHECK_PERIOD / this.maxIterations), + (this.coolingAdjuster = 1)); + }), + (w.prototype.layout = function () { + var T = d.DEFAULT_CREATE_BENDS_AS_NEEDED; + return ( + T && (this.createBendpoints(), this.graphManager.resetAllEdges()), + (this.level = 0), + this.classicLayout() + ); + }), + (w.prototype.classicLayout = function () { + if ( + ((this.nodesWithGravity = this.calculateNodesToApplyGravitationTo()), + this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity), + this.calcNoOfChildrenForAllNodes(), + this.graphManager.calcLowestCommonAncestors(), + this.graphManager.calcInclusionTreeDepths(), + this.graphManager.getRoot().calcEstimatedSize(), + this.calcIdealEdgeLengths(), + this.incremental) + ) { + if (h.TREE_REDUCTION_ON_INCREMENTAL) { + this.reduceTrees(), this.graphManager.resetAllNodesToApplyGravitation(); + var E = new Set(this.getAllNodes()), + _ = this.nodesWithGravity.filter(function (M) { + return E.has(M); + }); + this.graphManager.setAllNodesToApplyGravitation(_); + } + } else { + var T = this.getFlatForest(); + if (T.length > 0) this.positionNodesRadially(T); + else { + this.reduceTrees(), this.graphManager.resetAllNodesToApplyGravitation(); + var E = new Set(this.getAllNodes()), + _ = this.nodesWithGravity.filter(function (A) { + return E.has(A); + }); + this.graphManager.setAllNodesToApplyGravitation(_), this.positionNodesRandomly(); + } + } + return this.initSpringEmbedder(), this.runSpringEmbedder(), !0; + }), + (w.prototype.tick = function () { + if ( + (this.totalIterations++, + this.totalIterations === this.maxIterations && + !this.isTreeGrowing && + !this.isGrowthFinished) + ) + if (this.prunedNodesAll.length > 0) this.isTreeGrowing = !0; + else return !0; + if ( + this.totalIterations % f.CONVERGENCE_CHECK_PERIOD == 0 && + !this.isTreeGrowing && + !this.isGrowthFinished + ) { + if (this.isConverged()) + if (this.prunedNodesAll.length > 0) this.isTreeGrowing = !0; + else return !0; + this.coolingCycle++, + this.layoutQuality == 0 + ? (this.coolingAdjuster = this.coolingCycle) + : this.layoutQuality == 1 && (this.coolingAdjuster = this.coolingCycle / 3), + (this.coolingFactor = Math.max( + this.initialCoolingFactor - + (Math.pow( + this.coolingCycle, + Math.log(100 * (this.initialCoolingFactor - this.finalTemperature)) / + Math.log(this.maxCoolingCycle) + ) / + 100) * + this.coolingAdjuster, + this.finalTemperature + )), + (this.animationPeriod = Math.ceil( + this.initialAnimationPeriod * Math.sqrt(this.coolingFactor) + )); + } + if (this.isTreeGrowing) { + if (this.growTreeIterations % 10 == 0) + if (this.prunedNodesAll.length > 0) { + this.graphManager.updateBounds(), + this.updateGrid(), + this.growTree(this.prunedNodesAll), + this.graphManager.resetAllNodesToApplyGravitation(); + var T = new Set(this.getAllNodes()), + E = this.nodesWithGravity.filter(function (L) { + return T.has(L); + }); + this.graphManager.setAllNodesToApplyGravitation(E), + this.graphManager.updateBounds(), + this.updateGrid(), + (this.coolingFactor = f.DEFAULT_COOLING_FACTOR_INCREMENTAL); + } else (this.isTreeGrowing = !1), (this.isGrowthFinished = !0); + this.growTreeIterations++; + } + if (this.isGrowthFinished) { + if (this.isConverged()) return !0; + this.afterGrowthIterations % 10 == 0 && + (this.graphManager.updateBounds(), this.updateGrid()), + (this.coolingFactor = + f.DEFAULT_COOLING_FACTOR_INCREMENTAL * + ((100 - this.afterGrowthIterations) / 100)), + this.afterGrowthIterations++; + } + var _ = !this.isTreeGrowing && !this.isGrowthFinished, + A = + (this.growTreeIterations % 10 == 1 && this.isTreeGrowing) || + (this.afterGrowthIterations % 10 == 1 && this.isGrowthFinished); + return ( + (this.totalDisplacement = 0), + this.graphManager.updateBounds(), + this.calcSpringForces(), + this.calcRepulsionForces(_, A), + this.calcGravitationalForces(), + this.moveNodes(), + this.animate(), + !1 + ); + }), + (w.prototype.getPositionsData = function () { + for (var T = this.graphManager.getAllNodes(), E = {}, _ = 0; _ < T.length; _++) { + var A = T[_].rect, + L = T[_].id; + E[L] = { + id: L, + x: A.getCenterX(), + y: A.getCenterY(), + w: A.width, + h: A.height + }; + } + return E; + }), + (w.prototype.runSpringEmbedder = function () { + (this.initialAnimationPeriod = 25), (this.animationPeriod = this.initialAnimationPeriod); + var T = !1; + if (f.ANIMATE === 'during') this.emit('layoutstarted'); + else { + for (; !T; ) T = this.tick(); + this.graphManager.updateBounds(); + } + }), + (w.prototype.calculateNodesToApplyGravitationTo = function () { + var T = [], + E, + _ = this.graphManager.getGraphs(), + A = _.length, + L; + for (L = 0; L < A; L++) + (E = _[L]), E.updateConnected(), E.isConnected || (T = T.concat(E.getNodes())); + return T; + }), + (w.prototype.createBendpoints = function () { + var T = []; + T = T.concat(this.graphManager.getAllEdges()); + var E = new Set(), + _; + for (_ = 0; _ < T.length; _++) { + var A = T[_]; + if (!E.has(A)) { + var L = A.getSource(), + M = A.getTarget(); + if (L == M) + A.getBendpoints().push(new m()), + A.getBendpoints().push(new m()), + this.createDummyNodesForBendpoints(A), + E.add(A); + else { + var N = []; + if ( + ((N = N.concat(L.getEdgeListToNode(M))), + (N = N.concat(M.getEdgeListToNode(L))), + !E.has(N[0])) + ) { + if (N.length > 1) { + var k; + for (k = 0; k < N.length; k++) { + var I = N[k]; + I.getBendpoints().push(new m()), + this.createDummyNodesForBendpoints(I); + } + } + N.forEach(function (C) { + E.add(C); + }); + } + } + } + if (E.size == T.length) break; + } + }), + (w.prototype.positionNodesRadially = function (T) { + for ( + var E = new p(0, 0), + _ = Math.ceil(Math.sqrt(T.length)), + A = 0, + L = 0, + M = 0, + N = new m(0, 0), + k = 0; + k < T.length; + k++ + ) { + k % _ == 0 && + ((M = 0), (L = A), k != 0 && (L += h.DEFAULT_COMPONENT_SEPERATION), (A = 0)); + var I = T[k], + C = g.findCenterOfTree(I); + (E.x = M), + (E.y = L), + (N = w.radialLayout(I, C, E)), + N.y > A && (A = Math.floor(N.y)), + (M = Math.floor(N.x + h.DEFAULT_COMPONENT_SEPERATION)); + } + this.transform(new m(d.WORLD_CENTER_X - N.x / 2, d.WORLD_CENTER_Y - N.y / 2)); + }), + (w.radialLayout = function (T, E, _) { + var A = Math.max(this.maxDiagonalInTree(T), h.DEFAULT_RADIAL_SEPARATION); + w.branchRadialLayout(E, null, 0, 359, 0, A); + var L = x.calculateBounds(T), + M = new b(); + M.setDeviceOrgX(L.getMinX()), + M.setDeviceOrgY(L.getMinY()), + M.setWorldOrgX(_.x), + M.setWorldOrgY(_.y); + for (var N = 0; N < T.length; N++) { + var k = T[N]; + k.transform(M); + } + var I = new m(L.getMaxX(), L.getMaxY()); + return M.inverseTransformPoint(I); + }), + (w.branchRadialLayout = function (T, E, _, A, L, M) { + var N = (A - _ + 1) / 2; + N < 0 && (N += 180); + var k = (N + _) % 360, + I = (k * v.TWO_PI) / 360, + C = Math.cos(I), + O = L * Math.cos(I), + D = L * Math.sin(I); + T.setCenter(O, D); + var P = []; + P = P.concat(T.getEdges()); + var F = P.length; + E != null && F--; + for (var B = 0, $ = P.length, z, Y = T.getEdgesBetween(E); Y.length > 1; ) { + var Q = Y[0]; + Y.splice(0, 1); + var X = P.indexOf(Q); + X >= 0 && P.splice(X, 1), $--, F--; + } + E != null ? (z = (P.indexOf(Y[0]) + 1) % $) : (z = 0); + for (var ie = Math.abs(A - _) / F, j = z; B != F; j = ++j % $) { + var J = P[j].getOtherEnd(T); + if (J != E) { + var Z = (_ + B * ie) % 360, + H = (Z + ie) % 360; + w.branchRadialLayout(J, T, Z, H, L + M, M), B++; + } + } + }), + (w.maxDiagonalInTree = function (T) { + for (var E = y.MIN_VALUE, _ = 0; _ < T.length; _++) { + var A = T[_], + L = A.getDiagonal(); + L > E && (E = L); + } + return E; + }), + (w.prototype.calcRepulsionRange = function () { + return 2 * (this.level + 1) * this.idealEdgeLength; + }), + (w.prototype.groupZeroDegreeMembers = function () { + var T = this, + E = {}; + (this.memberGroups = {}), (this.idToDummyNode = {}); + for (var _ = [], A = this.graphManager.getAllNodes(), L = 0; L < A.length; L++) { + var M = A[L], + N = M.getParent(); + this.getNodeDegreeWithChildren(M) === 0 && + (N.id == null || !this.getToBeTiled(N)) && + _.push(M); + } + for (var L = 0; L < _.length; L++) { + var M = _[L], + k = M.getParent().id; + typeof E[k] > 'u' && (E[k] = []), (E[k] = E[k].concat(M)); + } + Object.keys(E).forEach(function (I) { + if (E[I].length > 1) { + var C = 'DummyCompound_' + I; + T.memberGroups[C] = E[I]; + var O = E[I][0].getParent(), + D = new l(T.graphManager); + (D.id = C), + (D.paddingLeft = O.paddingLeft || 0), + (D.paddingRight = O.paddingRight || 0), + (D.paddingBottom = O.paddingBottom || 0), + (D.paddingTop = O.paddingTop || 0), + (T.idToDummyNode[C] = D); + var P = T.getGraphManager().add(T.newGraph(), D), + F = O.getChild(); + F.add(D); + for (var B = 0; B < E[I].length; B++) { + var $ = E[I][B]; + F.remove($), P.add($); + } + } + }); + }), + (w.prototype.clearCompounds = function () { + var T = {}, + E = {}; + this.performDFSOnCompounds(); + for (var _ = 0; _ < this.compoundOrder.length; _++) + (E[this.compoundOrder[_].id] = this.compoundOrder[_]), + (T[this.compoundOrder[_].id] = [].concat( + this.compoundOrder[_].getChild().getNodes() + )), + this.graphManager.remove(this.compoundOrder[_].getChild()), + (this.compoundOrder[_].child = null); + this.graphManager.resetAllNodes(), this.tileCompoundMembers(T, E); + }), + (w.prototype.clearZeroDegreeMembers = function () { + var T = this, + E = (this.tiledZeroDegreePack = []); + Object.keys(this.memberGroups).forEach(function (_) { + var A = T.idToDummyNode[_]; + (E[_] = T.tileNodes(T.memberGroups[_], A.paddingLeft + A.paddingRight)), + (A.rect.width = E[_].width), + (A.rect.height = E[_].height); + }); + }), + (w.prototype.repopulateCompounds = function () { + for (var T = this.compoundOrder.length - 1; T >= 0; T--) { + var E = this.compoundOrder[T], + _ = E.id, + A = E.paddingLeft, + L = E.paddingTop; + this.adjustLocations(this.tiledMemberPack[_], E.rect.x, E.rect.y, A, L); + } + }), + (w.prototype.repopulateZeroDegreeMembers = function () { + var T = this, + E = this.tiledZeroDegreePack; + Object.keys(E).forEach(function (_) { + var A = T.idToDummyNode[_], + L = A.paddingLeft, + M = A.paddingTop; + T.adjustLocations(E[_], A.rect.x, A.rect.y, L, M); + }); + }), + (w.prototype.getToBeTiled = function (T) { + var E = T.id; + if (this.toBeTiled[E] != null) return this.toBeTiled[E]; + var _ = T.getChild(); + if (_ == null) return (this.toBeTiled[E] = !1), !1; + for (var A = _.getNodes(), L = 0; L < A.length; L++) { + var M = A[L]; + if (this.getNodeDegree(M) > 0) return (this.toBeTiled[E] = !1), !1; + if (M.getChild() == null) { + this.toBeTiled[M.id] = !1; + continue; + } + if (!this.getToBeTiled(M)) return (this.toBeTiled[E] = !1), !1; + } + return (this.toBeTiled[E] = !0), !0; + }), + (w.prototype.getNodeDegree = function (T) { + for (var E = T.id, _ = T.getEdges(), A = 0, L = 0; L < _.length; L++) { + var M = _[L]; + M.getSource().id !== M.getTarget().id && (A = A + 1); + } + return A; + }), + (w.prototype.getNodeDegreeWithChildren = function (T) { + var E = this.getNodeDegree(T); + if (T.getChild() == null) return E; + for (var _ = T.getChild().getNodes(), A = 0; A < _.length; A++) { + var L = _[A]; + E += this.getNodeDegreeWithChildren(L); + } + return E; + }), + (w.prototype.performDFSOnCompounds = function () { + (this.compoundOrder = []), + this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes()); + }), + (w.prototype.fillCompexOrderByDFS = function (T) { + for (var E = 0; E < T.length; E++) { + var _ = T[E]; + _.getChild() != null && this.fillCompexOrderByDFS(_.getChild().getNodes()), + this.getToBeTiled(_) && this.compoundOrder.push(_); + } + }), + (w.prototype.adjustLocations = function (T, E, _, A, L) { + (E += A), (_ += L); + for (var M = E, N = 0; N < T.rows.length; N++) { + var k = T.rows[N]; + E = M; + for (var I = 0, C = 0; C < k.length; C++) { + var O = k[C]; + (O.rect.x = E), + (O.rect.y = _), + (E += O.rect.width + T.horizontalPadding), + O.rect.height > I && (I = O.rect.height); + } + _ += I + T.verticalPadding; + } + }), + (w.prototype.tileCompoundMembers = function (T, E) { + var _ = this; + (this.tiledMemberPack = []), + Object.keys(T).forEach(function (A) { + var L = E[A]; + (_.tiledMemberPack[A] = _.tileNodes(T[A], L.paddingLeft + L.paddingRight)), + (L.rect.width = _.tiledMemberPack[A].width), + (L.rect.height = _.tiledMemberPack[A].height); + }); + }), + (w.prototype.tileNodes = function (T, E) { + var _ = h.TILING_PADDING_VERTICAL, + A = h.TILING_PADDING_HORIZONTAL, + L = { + rows: [], + rowWidth: [], + rowHeight: [], + width: 0, + height: E, + verticalPadding: _, + horizontalPadding: A + }; + T.sort(function (k, I) { + return k.rect.width * k.rect.height > I.rect.width * I.rect.height + ? -1 + : k.rect.width * k.rect.height < I.rect.width * I.rect.height + ? 1 + : 0; + }); + for (var M = 0; M < T.length; M++) { + var N = T[M]; + L.rows.length == 0 + ? this.insertNodeToRow(L, N, 0, E) + : this.canAddHorizontal(L, N.rect.width, N.rect.height) + ? this.insertNodeToRow(L, N, this.getShortestRowIndex(L), E) + : this.insertNodeToRow(L, N, L.rows.length, E), + this.shiftToLastRow(L); + } + return L; + }), + (w.prototype.insertNodeToRow = function (T, E, _, A) { + var L = A; + if (_ == T.rows.length) { + var M = []; + T.rows.push(M), T.rowWidth.push(L), T.rowHeight.push(0); + } + var N = T.rowWidth[_] + E.rect.width; + T.rows[_].length > 0 && (N += T.horizontalPadding), + (T.rowWidth[_] = N), + T.width < N && (T.width = N); + var k = E.rect.height; + _ > 0 && (k += T.verticalPadding); + var I = 0; + k > T.rowHeight[_] && + ((I = T.rowHeight[_]), (T.rowHeight[_] = k), (I = T.rowHeight[_] - I)), + (T.height += I), + T.rows[_].push(E); + }), + (w.prototype.getShortestRowIndex = function (T) { + for (var E = -1, _ = Number.MAX_VALUE, A = 0; A < T.rows.length; A++) + T.rowWidth[A] < _ && ((E = A), (_ = T.rowWidth[A])); + return E; + }), + (w.prototype.getLongestRowIndex = function (T) { + for (var E = -1, _ = Number.MIN_VALUE, A = 0; A < T.rows.length; A++) + T.rowWidth[A] > _ && ((E = A), (_ = T.rowWidth[A])); + return E; + }), + (w.prototype.canAddHorizontal = function (T, E, _) { + var A = this.getShortestRowIndex(T); + if (A < 0) return !0; + var L = T.rowWidth[A]; + if (L + T.horizontalPadding + E <= T.width) return !0; + var M = 0; + T.rowHeight[A] < _ && A > 0 && (M = _ + T.verticalPadding - T.rowHeight[A]); + var N; + T.width - L >= E + T.horizontalPadding + ? (N = (T.height + M) / (L + E + T.horizontalPadding)) + : (N = (T.height + M) / T.width), + (M = _ + T.verticalPadding); + var k; + return ( + T.width < E ? (k = (T.height + M) / E) : (k = (T.height + M) / T.width), + k < 1 && (k = 1 / k), + N < 1 && (N = 1 / N), + N < k + ); + }), + (w.prototype.shiftToLastRow = function (T) { + var E = this.getLongestRowIndex(T), + _ = T.rowWidth.length - 1, + A = T.rows[E], + L = A[A.length - 1], + M = L.width + T.horizontalPadding; + if (T.width - T.rowWidth[_] > M && E != _) { + A.splice(-1, 1), + T.rows[_].push(L), + (T.rowWidth[E] = T.rowWidth[E] - M), + (T.rowWidth[_] = T.rowWidth[_] + M), + (T.width = T.rowWidth[instance.getLongestRowIndex(T)]); + for (var N = Number.MIN_VALUE, k = 0; k < A.length; k++) + A[k].height > N && (N = A[k].height); + E > 0 && (N += T.verticalPadding); + var I = T.rowHeight[E] + T.rowHeight[_]; + (T.rowHeight[E] = N), + T.rowHeight[_] < L.height + T.verticalPadding && + (T.rowHeight[_] = L.height + T.verticalPadding); + var C = T.rowHeight[E] + T.rowHeight[_]; + (T.height += C - I), this.shiftToLastRow(T); + } + }), + (w.prototype.tilingPreLayout = function () { + h.TILE && + (this.groupZeroDegreeMembers(), this.clearCompounds(), this.clearZeroDegreeMembers()); + }), + (w.prototype.tilingPostLayout = function () { + h.TILE && (this.repopulateZeroDegreeMembers(), this.repopulateCompounds()); + }), + (w.prototype.reduceTrees = function () { + for (var T = [], E = !0, _; E; ) { + var A = this.graphManager.getAllNodes(), + L = []; + E = !1; + for (var M = 0; M < A.length; M++) + (_ = A[M]), + _.getEdges().length == 1 && + !_.getEdges()[0].isInterGraph && + _.getChild() == null && + (L.push([_, _.getEdges()[0], _.getOwner()]), (E = !0)); + if (E == !0) { + for (var N = [], k = 0; k < L.length; k++) + L[k][0].getEdges().length == 1 && + (N.push(L[k]), L[k][0].getOwner().remove(L[k][0])); + T.push(N), this.graphManager.resetAllNodes(), this.graphManager.resetAllEdges(); + } + } + this.prunedNodesAll = T; + }), + (w.prototype.growTree = function (T) { + for (var E = T.length, _ = T[E - 1], A, L = 0; L < _.length; L++) + (A = _[L]), + this.findPlaceforPrunedNode(A), + A[2].add(A[0]), + A[2].add(A[1], A[1].source, A[1].target); + T.splice(T.length - 1, 1), + this.graphManager.resetAllNodes(), + this.graphManager.resetAllEdges(); + }), + (w.prototype.findPlaceforPrunedNode = function (T) { + var E, + _, + A = T[0]; + A == T[1].source ? (_ = T[1].target) : (_ = T[1].source); + var L = _.startX, + M = _.finishX, + N = _.startY, + k = _.finishY, + I = 0, + C = 0, + O = 0, + D = 0, + P = [I, O, C, D]; + if (N > 0) + for (var F = L; F <= M; F++) + P[0] += this.grid[F][N - 1].length + this.grid[F][N].length - 1; + if (M < this.grid.length - 1) + for (var F = N; F <= k; F++) + P[1] += this.grid[M + 1][F].length + this.grid[M][F].length - 1; + if (k < this.grid[0].length - 1) + for (var F = L; F <= M; F++) + P[2] += this.grid[F][k + 1].length + this.grid[F][k].length - 1; + if (L > 0) + for (var F = N; F <= k; F++) + P[3] += this.grid[L - 1][F].length + this.grid[L][F].length - 1; + for (var B = y.MAX_VALUE, $, z, Y = 0; Y < P.length; Y++) + P[Y] < B ? ((B = P[Y]), ($ = 1), (z = Y)) : P[Y] == B && $++; + if ($ == 3 && B == 0) + P[0] == 0 && P[1] == 0 && P[2] == 0 + ? (E = 1) + : P[0] == 0 && P[1] == 0 && P[3] == 0 + ? (E = 0) + : P[0] == 0 && P[2] == 0 && P[3] == 0 + ? (E = 3) + : P[1] == 0 && P[2] == 0 && P[3] == 0 && (E = 2); + else if ($ == 2 && B == 0) { + var Q = Math.floor(Math.random() * 2); + P[0] == 0 && P[1] == 0 + ? Q == 0 + ? (E = 0) + : (E = 1) + : P[0] == 0 && P[2] == 0 + ? Q == 0 + ? (E = 0) + : (E = 2) + : P[0] == 0 && P[3] == 0 + ? Q == 0 + ? (E = 0) + : (E = 3) + : P[1] == 0 && P[2] == 0 + ? Q == 0 + ? (E = 1) + : (E = 2) + : P[1] == 0 && P[3] == 0 + ? Q == 0 + ? (E = 1) + : (E = 3) + : Q == 0 + ? (E = 2) + : (E = 3); + } else if ($ == 4 && B == 0) { + var Q = Math.floor(Math.random() * 4); + E = Q; + } else E = z; + E == 0 + ? A.setCenter( + _.getCenterX(), + _.getCenterY() - _.getHeight() / 2 - f.DEFAULT_EDGE_LENGTH - A.getHeight() / 2 + ) + : E == 1 + ? A.setCenter( + _.getCenterX() + _.getWidth() / 2 + f.DEFAULT_EDGE_LENGTH + A.getWidth() / 2, + _.getCenterY() + ) + : E == 2 + ? A.setCenter( + _.getCenterX(), + _.getCenterY() + _.getHeight() / 2 + f.DEFAULT_EDGE_LENGTH + A.getHeight() / 2 + ) + : A.setCenter( + _.getCenterX() - _.getWidth() / 2 - f.DEFAULT_EDGE_LENGTH - A.getWidth() / 2, + _.getCenterY() + ); + }), + (e.exports = w); + }, + function (e, r, n) { + 'use strict'; + var i = {}; + (i.layoutBase = n(0)), + (i.CoSEConstants = n(1)), + (i.CoSEEdge = n(2)), + (i.CoSEGraph = n(3)), + (i.CoSEGraphManager = n(4)), + (i.CoSELayout = n(6)), + (i.CoSENode = n(5)), + (e.exports = i); + } + ]); + }); + }); + var age = gi((lb, kB) => { + 'use strict'; + o(function (e, r) { + typeof lb == 'object' && typeof kB == 'object' + ? (kB.exports = r(TB())) + : typeof define == 'function' && define.amd + ? define(['cose-base'], r) + : typeof lb == 'object' + ? (lb.cytoscapeCoseBilkent = r(TB())) + : (e.cytoscapeCoseBilkent = r(e.coseBase)); + }, 'webpackUniversalModuleDefinition')(lb, function (t) { + return (function (e) { + var r = {}; + function n(i) { + if (r[i]) return r[i].exports; + var a = (r[i] = { i, l: !1, exports: {} }); + return e[i].call(a.exports, a, a.exports, n), (a.l = !0), a.exports; + } + return ( + o(n, '__webpack_require__'), + (n.m = e), + (n.c = r), + (n.i = function (i) { + return i; + }), + (n.d = function (i, a, s) { + n.o(i, a) || + Object.defineProperty(i, a, { + configurable: !1, + enumerable: !0, + get: s + }); + }), + (n.n = function (i) { + var a = + i && i.__esModule + ? o(function () { + return i.default; + }, 'getDefault') + : o(function () { + return i; + }, 'getModuleExports'); + return n.d(a, 'a', a), a; + }), + (n.o = function (i, a) { + return Object.prototype.hasOwnProperty.call(i, a); + }), + (n.p = ''), + n((n.s = 1)) + ); + })([ + function (e, r) { + e.exports = t; + }, + function (e, r, n) { + 'use strict'; + var i = n(0).layoutBase.LayoutConstants, + a = n(0).layoutBase.FDLayoutConstants, + s = n(0).CoSEConstants, + l = n(0).CoSELayout, + u = n(0).CoSENode, + h = n(0).layoutBase.PointD, + f = n(0).layoutBase.DimensionD, + d = { + ready: o(function () {}, 'ready'), + stop: o(function () {}, 'stop'), + quality: 'default', + nodeDimensionsIncludeLabels: !1, + refresh: 30, + fit: !0, + padding: 10, + randomize: !0, + nodeRepulsion: 4500, + idealEdgeLength: 50, + edgeElasticity: 0.45, + nestingFactor: 0.1, + gravity: 0.25, + numIter: 2500, + tile: !0, + animate: 'end', + animationDuration: 500, + tilingPaddingVertical: 10, + tilingPaddingHorizontal: 10, + gravityRangeCompound: 1.5, + gravityCompound: 1, + gravityRange: 3.8, + initialEnergyOnIncremental: 0.5 + }; + function p(v, x) { + var b = {}; + for (var w in v) b[w] = v[w]; + for (var w in x) b[w] = x[w]; + return b; + } + o(p, 'extend'); + function m(v) { + (this.options = p(d, v)), g(this.options); + } + o(m, '_CoSELayout'); + var g = o(function (x) { + x.nodeRepulsion != null && + (s.DEFAULT_REPULSION_STRENGTH = a.DEFAULT_REPULSION_STRENGTH = x.nodeRepulsion), + x.idealEdgeLength != null && + (s.DEFAULT_EDGE_LENGTH = a.DEFAULT_EDGE_LENGTH = x.idealEdgeLength), + x.edgeElasticity != null && + (s.DEFAULT_SPRING_STRENGTH = a.DEFAULT_SPRING_STRENGTH = x.edgeElasticity), + x.nestingFactor != null && + (s.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = a.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = + x.nestingFactor), + x.gravity != null && (s.DEFAULT_GRAVITY_STRENGTH = a.DEFAULT_GRAVITY_STRENGTH = x.gravity), + x.numIter != null && (s.MAX_ITERATIONS = a.MAX_ITERATIONS = x.numIter), + x.gravityRange != null && + (s.DEFAULT_GRAVITY_RANGE_FACTOR = a.DEFAULT_GRAVITY_RANGE_FACTOR = x.gravityRange), + x.gravityCompound != null && + (s.DEFAULT_COMPOUND_GRAVITY_STRENGTH = a.DEFAULT_COMPOUND_GRAVITY_STRENGTH = + x.gravityCompound), + x.gravityRangeCompound != null && + (s.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = a.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = + x.gravityRangeCompound), + x.initialEnergyOnIncremental != null && + (s.DEFAULT_COOLING_FACTOR_INCREMENTAL = a.DEFAULT_COOLING_FACTOR_INCREMENTAL = + x.initialEnergyOnIncremental), + x.quality == 'draft' + ? (i.QUALITY = 0) + : x.quality == 'proof' + ? (i.QUALITY = 2) + : (i.QUALITY = 1), + (s.NODE_DIMENSIONS_INCLUDE_LABELS = + a.NODE_DIMENSIONS_INCLUDE_LABELS = + i.NODE_DIMENSIONS_INCLUDE_LABELS = + x.nodeDimensionsIncludeLabels), + (s.DEFAULT_INCREMENTAL = a.DEFAULT_INCREMENTAL = i.DEFAULT_INCREMENTAL = !x.randomize), + (s.ANIMATE = a.ANIMATE = i.ANIMATE = x.animate), + (s.TILE = x.tile), + (s.TILING_PADDING_VERTICAL = + typeof x.tilingPaddingVertical == 'function' + ? x.tilingPaddingVertical.call() + : x.tilingPaddingVertical), + (s.TILING_PADDING_HORIZONTAL = + typeof x.tilingPaddingHorizontal == 'function' + ? x.tilingPaddingHorizontal.call() + : x.tilingPaddingHorizontal); + }, 'getUserOptions'); + (m.prototype.run = function () { + var v, + x, + b = this.options, + w = (this.idToLNode = {}), + S = (this.layout = new l()), + T = this; + (T.stopped = !1), + (this.cy = this.options.cy), + this.cy.trigger({ type: 'layoutstart', layout: this }); + var E = S.newGraphManager(); + this.gm = E; + var _ = this.options.eles.nodes(), + A = this.options.eles.edges(); + (this.root = E.addRoot()), this.processChildrenList(this.root, this.getTopMostNodes(_), S); + for (var L = 0; L < A.length; L++) { + var M = A[L], + N = this.idToLNode[M.data('source')], + k = this.idToLNode[M.data('target')]; + if (N !== k && N.getEdgesBetween(k).length == 0) { + var I = E.add(S.newEdge(), N, k); + I.id = M.id(); + } + } + var C = o(function (P, F) { + typeof P == 'number' && (P = F); + var B = P.data('id'), + $ = T.idToLNode[B]; + return { + x: $.getRect().getCenterX(), + y: $.getRect().getCenterY() + }; + }, 'getPositions'), + O = o(function D() { + for ( + var P = o(function () { + b.fit && b.cy.fit(b.eles, b.padding), + v || + ((v = !0), + T.cy.one('layoutready', b.ready), + T.cy.trigger({ type: 'layoutready', layout: T })); + }, 'afterReposition'), + F = T.options.refresh, + B, + $ = 0; + $ < F && !B; + $++ + ) + B = T.stopped || T.layout.tick(); + if (B) { + S.checkLayoutSuccess() && !S.isSubLayout && S.doPostLayout(), + S.tilingPostLayout && S.tilingPostLayout(), + (S.isLayoutFinished = !0), + T.options.eles.nodes().positions(C), + P(), + T.cy.one('layoutstop', T.options.stop), + T.cy.trigger({ type: 'layoutstop', layout: T }), + x && cancelAnimationFrame(x), + (v = !1); + return; + } + var z = T.layout.getPositionsData(); + b.eles.nodes().positions(function (Y, Q) { + if ((typeof Y == 'number' && (Y = Q), !Y.isParent())) { + for ( + var X = Y.id(), ie = z[X], j = Y; + ie == null && + ((ie = z[j.data('parent')] || z['DummyCompound_' + j.data('parent')]), + (z[X] = ie), + (j = j.parent()[0]), + j != null); + + ); + return ie != null + ? { x: ie.x, y: ie.y } + : { x: Y.position('x'), y: Y.position('y') }; + } + }), + P(), + (x = requestAnimationFrame(D)); + }, 'iterateAnimated'); + return ( + S.addListener('layoutstarted', function () { + T.options.animate === 'during' && (x = requestAnimationFrame(O)); + }), + S.runLayout(), + this.options.animate !== 'during' && + (T.options.eles.nodes().not(':parent').layoutPositions(T, T.options, C), (v = !1)), + this + ); + }), + (m.prototype.getTopMostNodes = function (v) { + for (var x = {}, b = 0; b < v.length; b++) x[v[b].id()] = !0; + var w = v.filter(function (S, T) { + typeof S == 'number' && (S = T); + for (var E = S.parent()[0]; E != null; ) { + if (x[E.id()]) return !1; + E = E.parent()[0]; + } + return !0; + }); + return w; + }), + (m.prototype.processChildrenList = function (v, x, b) { + for (var w = x.length, S = 0; S < w; S++) { + var T = x[S], + E = T.children(), + _, + A = T.layoutDimensions({ + nodeDimensionsIncludeLabels: this.options.nodeDimensionsIncludeLabels + }); + if ( + (T.outerWidth() != null && T.outerHeight() != null + ? (_ = v.add( + new u( + b.graphManager, + new h(T.position('x') - A.w / 2, T.position('y') - A.h / 2), + new f(parseFloat(A.w), parseFloat(A.h)) + ) + )) + : (_ = v.add(new u(this.graphManager))), + (_.id = T.data('id')), + (_.paddingLeft = parseInt(T.css('padding'))), + (_.paddingTop = parseInt(T.css('padding'))), + (_.paddingRight = parseInt(T.css('padding'))), + (_.paddingBottom = parseInt(T.css('padding'))), + this.options.nodeDimensionsIncludeLabels && T.isParent()) + ) { + var L = T.boundingBox({ + includeLabels: !0, + includeNodes: !1 + }).w, + M = T.boundingBox({ + includeLabels: !0, + includeNodes: !1 + }).h, + N = T.css('text-halign'); + (_.labelWidth = L), (_.labelHeight = M), (_.labelPos = N); + } + if ( + ((this.idToLNode[T.data('id')] = _), + isNaN(_.rect.x) && (_.rect.x = 0), + isNaN(_.rect.y) && (_.rect.y = 0), + E != null && E.length > 0) + ) { + var k; + (k = b.getGraphManager().add(b.newGraph(), _)), this.processChildrenList(k, E, b); + } + } + }), + (m.prototype.stop = function () { + return (this.stopped = !0), this; + }); + var y = o(function (x) { + x('layout', 'cose-bilkent', m); + }, 'register'); + typeof cytoscape < 'u' && y(cytoscape), (e.exports = y); + } + ]); + }); + }); + function fZe(t, e, r, n, i) { + return t + .insert('polygon', ':first-child') + .attr( + 'points', + n + .map(function (a) { + return a.x + ',' + a.y; + }) + .join(' ') + ) + .attr('transform', 'translate(' + (i.width - e) / 2 + ', ' + r + ')'); + } + var sZe, + oZe, + lZe, + cZe, + uZe, + hZe, + dZe, + pZe, + sge, + oge, + lge = R(() => { + 'use strict'; + Al(); + xr(); + (sZe = 12), + (oZe = o(function (t, e, r, n) { + e + .append('path') + .attr('id', 'node-' + r.id) + .attr('class', 'node-bkg node-' + t.type2Str(r.type)) + .attr( + 'd', + `M0 ${r.height - 5} v${-r.height + 2 * 5} q0,-5 5,-5 h${r.width - 2 * 5} q5,0 5,5 v${ + r.height - 5 + } H0 Z` + ), + e + .append('line') + .attr('class', 'node-line-' + n) + .attr('x1', 0) + .attr('y1', r.height) + .attr('x2', r.width) + .attr('y2', r.height); + }, 'defaultBkg')), + (lZe = o(function (t, e, r) { + e.append('rect') + .attr('id', 'node-' + r.id) + .attr('class', 'node-bkg node-' + t.type2Str(r.type)) + .attr('height', r.height) + .attr('width', r.width); + }, 'rectBkg')), + (cZe = o(function (t, e, r) { + let n = r.width, + i = r.height, + a = 0.15 * n, + s = 0.25 * n, + l = 0.35 * n, + u = 0.2 * n; + e.append('path') + .attr('id', 'node-' + r.id) + .attr('class', 'node-bkg node-' + t.type2Str(r.type)) + .attr( + 'd', + `M0 0 a${a},${a} 0 0,1 ${n * 0.25},${-1 * n * 0.1} + a${l},${l} 1 0,1 ${n * 0.4},${-1 * n * 0.1} + a${s},${s} 1 0,1 ${n * 0.35},${1 * n * 0.2} + + a${a},${a} 1 0,1 ${n * 0.15},${1 * i * 0.35} + a${u},${u} 1 0,1 ${-1 * n * 0.15},${1 * i * 0.65} + + a${s},${a} 1 0,1 ${-1 * n * 0.25},${n * 0.15} + a${l},${l} 1 0,1 ${-1 * n * 0.5},0 + a${a},${a} 1 0,1 ${-1 * n * 0.25},${-1 * n * 0.15} + + a${a},${a} 1 0,1 ${-1 * n * 0.1},${-1 * i * 0.35} + a${u},${u} 1 0,1 ${n * 0.1},${-1 * i * 0.65} + + H0 V0 Z` + ); + }, 'cloudBkg')), + (uZe = o(function (t, e, r) { + let n = r.width, + i = r.height, + a = 0.15 * n; + e.append('path') + .attr('id', 'node-' + r.id) + .attr('class', 'node-bkg node-' + t.type2Str(r.type)) + .attr( + 'd', + `M0 0 a${a},${a} 1 0,0 ${n * 0.25},${-1 * i * 0.1} + a${a},${a} 1 0,0 ${n * 0.25},0 + a${a},${a} 1 0,0 ${n * 0.25},0 + a${a},${a} 1 0,0 ${n * 0.25},${1 * i * 0.1} + + a${a},${a} 1 0,0 ${n * 0.15},${1 * i * 0.33} + a${a * 0.8},${a * 0.8} 1 0,0 0,${1 * i * 0.34} + a${a},${a} 1 0,0 ${-1 * n * 0.15},${1 * i * 0.33} + + a${a},${a} 1 0,0 ${-1 * n * 0.25},${i * 0.15} + a${a},${a} 1 0,0 ${-1 * n * 0.25},0 + a${a},${a} 1 0,0 ${-1 * n * 0.25},0 + a${a},${a} 1 0,0 ${-1 * n * 0.25},${-1 * i * 0.15} + + a${a},${a} 1 0,0 ${-1 * n * 0.1},${-1 * i * 0.33} + a${a * 0.8},${a * 0.8} 1 0,0 0,${-1 * i * 0.34} + a${a},${a} 1 0,0 ${n * 0.1},${-1 * i * 0.33} + + H0 V0 Z` + ); + }, 'bangBkg')), + (hZe = o(function (t, e, r) { + e.append('circle') + .attr('id', 'node-' + r.id) + .attr('class', 'node-bkg node-' + t.type2Str(r.type)) + .attr('r', r.width / 2); + }, 'circleBkg')); + o(fZe, 'insertPolygonShape'); + (dZe = o(function (t, e, r) { + let n = r.height, + a = n / 4, + s = r.width - r.padding + 2 * a, + l = [ + { x: a, y: 0 }, + { x: s - a, y: 0 }, + { x: s, y: -n / 2 }, + { x: s - a, y: -n }, + { x: a, y: -n }, + { x: 0, y: -n / 2 } + ]; + fZe(e, s, n, l, r); + }, 'hexagonBkg')), + (pZe = o(function (t, e, r) { + e.append('rect') + .attr('id', 'node-' + r.id) + .attr('class', 'node-bkg node-' + t.type2Str(r.type)) + .attr('height', r.height) + .attr('rx', r.padding) + .attr('ry', r.padding) + .attr('width', r.width); + }, 'roundedRectBkg')), + (sge = o(async function (t, e, r, n, i) { + let a = i.htmlLabels, + s = n % (sZe - 1), + l = e.append('g'); + r.section = s; + let u = 'section-' + s; + s < 0 && (u += ' section-root'), + l.attr('class', (r.class ? r.class + ' ' : '') + 'mindmap-node ' + u); + let h = l.append('g'), + f = l.append('g'), + d = r.descr.replace( + /()/g, + ` +` + ); + await ta(f, d, { useHtmlLabels: a, width: r.width, classes: 'mindmap-node-label' }, i), + a || + f + .attr('dy', '1em') + .attr('alignment-baseline', 'middle') + .attr('dominant-baseline', 'middle') + .attr('text-anchor', 'middle'); + let p = f.node().getBBox(), + [m] = mc(i.fontSize); + if ( + ((r.height = p.height + m * 1.1 * 0.5 + r.padding), (r.width = p.width + 2 * r.padding), r.icon) + ) + if (r.type === t.nodeType.CIRCLE) + (r.height += 50), + (r.width += 50), + l + .append('foreignObject') + .attr('height', '50px') + .attr('width', r.width) + .attr('style', 'text-align: center;') + .append('div') + .attr('class', 'icon-container') + .append('i') + .attr('class', 'node-icon-' + s + ' ' + r.icon), + f.attr( + 'transform', + 'translate(' + r.width / 2 + ', ' + (r.height / 2 - 1.5 * r.padding) + ')' + ); + else { + r.width += 50; + let g = r.height; + r.height = Math.max(g, 60); + let y = Math.abs(r.height - g); + l + .append('foreignObject') + .attr('width', '60px') + .attr('height', r.height) + .attr('style', 'text-align: center;margin-top:' + y / 2 + 'px;') + .append('div') + .attr('class', 'icon-container') + .append('i') + .attr('class', 'node-icon-' + s + ' ' + r.icon), + f.attr( + 'transform', + 'translate(' + (25 + r.width / 2) + ', ' + (y / 2 + r.padding / 2) + ')' + ); + } + else if (a) { + let g = (r.width - p.width) / 2, + y = (r.height - p.height) / 2; + f.attr('transform', 'translate(' + g + ', ' + y + ')'); + } else { + let g = r.width / 2, + y = r.padding / 2; + f.attr('transform', 'translate(' + g + ', ' + y + ')'); + } + switch (r.type) { + case t.nodeType.DEFAULT: + oZe(t, h, r, s); + break; + case t.nodeType.ROUNDED_RECT: + pZe(t, h, r, s); + break; + case t.nodeType.RECT: + lZe(t, h, r, s); + break; + case t.nodeType.CIRCLE: + h.attr('transform', 'translate(' + r.width / 2 + ', ' + +r.height / 2 + ')'), + hZe(t, h, r, s); + break; + case t.nodeType.CLOUD: + cZe(t, h, r, s); + break; + case t.nodeType.BANG: + uZe(t, h, r, s); + break; + case t.nodeType.HEXAGON: + dZe(t, h, r, s); + break; + } + return t.setElementForId(r.id, l), r.height; + }, 'drawNode')), + (oge = o(function (t, e) { + let r = t.getElementById(e.id), + n = e.x || 0, + i = e.y || 0; + r.attr('transform', 'translate(' + n + ',' + i + ')'); + }, 'positionNode')); + }); + async function uge(t, e, r, n, i) { + await sge(t, e, r, n, i), + r.children && (await Promise.all(r.children.map((a, s) => uge(t, e, a, n < 0 ? s : n, i)))); + } + function mZe(t, e) { + e.edges().map((r, n) => { + let i = r.data(); + if (r[0]._private.bodyBounds) { + let a = r[0]._private.rscratch; + V.trace('Edge: ', n, i), + t + .insert('path') + .attr('d', `M ${a.startX},${a.startY} L ${a.midX},${a.midY} L${a.endX},${a.endY} `) + .attr('class', 'edge section-edge-' + i.section + ' edge-depth-' + i.depth); + } + }); + } + function hge(t, e, r, n) { + e.add({ + group: 'nodes', + data: { + id: t.id.toString(), + labelText: t.descr, + height: t.height, + width: t.width, + level: n, + nodeId: t.id, + padding: t.padding, + type: t.type + }, + position: { x: t.x, y: t.y } + }), + t.children && + t.children.forEach((i) => { + hge(i, e, r, n + 1), + e.add({ + group: 'edges', + data: { + id: `${t.id}_${i.id}`, + source: t.id, + target: i.id, + depth: n, + section: i.section + } + }); + }); + } + function gZe(t, e) { + return new Promise((r) => { + let n = $e('body').append('div').attr('id', 'cy').attr('style', 'display:none'), + i = rl({ + container: document.getElementById('cy'), + style: [{ selector: 'edge', style: { 'curve-style': 'bezier' } }] + }); + n.remove(), + hge(t, i, e, 0), + i.nodes().forEach(function (a) { + a.layoutDimensions = () => { + let s = a.data(); + return { w: s.width, h: s.height }; + }; + }), + i + .layout({ + name: 'cose-bilkent', + quality: 'proof', + styleEnabled: !1, + animate: !1 + }) + .run(), + i.ready((a) => { + V.info('Ready', a), r(i); + }); + }); + } + function yZe(t, e) { + e.nodes().map((r, n) => { + let i = r.data(); + (i.x = r.position().x), (i.y = r.position().y), oge(t, i); + let a = t.getElementById(i.nodeId); + V.info('Id:', n, 'Position: (', r.position().x, ', ', r.position().y, ')', i), + a.attr('transform', `translate(${r.position().x - i.width / 2}, ${r.position().y - i.height / 2})`), + a.attr('attr', `apa-${n})`); + }); + } + var cge, + vZe, + fge, + dge = R(() => { + 'use strict'; + vB(); + cge = Xi(age(), 1); + Zt(); + _t(); + ut(); + pf(); + Yn(); + lge(); + sl(); + rl.use(cge.default); + o(uge, 'drawNodes'); + o(mZe, 'drawEdges'); + o(hge, 'addNodes'); + o(gZe, 'layoutMindmap'); + o(yZe, 'positionNodes'); + (vZe = o(async (t, e, r, n) => { + V.debug( + `Rendering mindmap diagram +` + t + ); + let i = n.db, + a = i.getMindmap(); + if (!a) return; + let s = de(); + s.htmlLabels = !1; + let l = Ps(e), + u = l.append('g'); + u.attr('class', 'mindmap-edges'); + let h = l.append('g'); + h.attr('class', 'mindmap-nodes'), await uge(i, h, a, -1, s); + let f = await gZe(a, s); + mZe(u, f), + yZe(i, f), + Lo( + void 0, + l, + s.mindmap?.padding ?? mr.mindmap.padding, + s.mindmap?.useMaxWidth ?? mr.mindmap.useMaxWidth + ); + }, 'draw')), + (fge = { draw: vZe }); + }); + var xZe, + bZe, + pge, + mge = R(() => { + 'use strict'; + al(); + (xZe = o((t) => { + let e = ''; + for (let r = 0; r < t.THEME_COLOR_LIMIT; r++) + (t['lineColor' + r] = t['lineColor' + r] || t['cScaleInv' + r]), + Wa(t['lineColor' + r]) + ? (t['lineColor' + r] = Et(t['lineColor' + r], 20)) + : (t['lineColor' + r] = Dt(t['lineColor' + r], 20)); + for (let r = 0; r < t.THEME_COLOR_LIMIT; r++) { + let n = '' + (17 - 3 * r); + e += ` + .section-${r - 1} rect, .section-${r - 1} path, .section-${r - 1} circle, .section-${r - 1} polygon, .section-${ + r - 1 + } path { + fill: ${t['cScale' + r]}; + } + .section-${r - 1} text { + fill: ${t['cScaleLabel' + r]}; + } + .node-icon-${r - 1} { + font-size: 40px; + color: ${t['cScaleLabel' + r]}; + } + .section-edge-${r - 1}{ + stroke: ${t['cScale' + r]}; + } + .edge-depth-${r - 1}{ + stroke-width: ${n}; + } + .section-${r - 1} line { + stroke: ${t['cScaleInv' + r]} ; + stroke-width: 3; + } + + .disabled, .disabled circle, .disabled text { + fill: lightgray; + } + .disabled text { + fill: #efefef; + } + `; + } + return e; + }, 'genSections')), + (bZe = o( + (t) => ` + .edge { + stroke-width: 3; + } + ${xZe(t)} + .section-root rect, .section-root path, .section-root circle, .section-root polygon { + fill: ${t.git0}; + } + .section-root text { + fill: ${t.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .mindmap-node-label { + dy: 1em; + alignment-baseline: middle; + text-anchor: middle; + dominant-baseline: middle; + text-align: center; + } +`, + 'getStyles' + )), + (pge = bZe); + }); + var gge = {}; + hr(gge, { diagram: () => wZe }); + var wZe, + yge = R(() => { + 'use strict'; + r0e(); + a0e(); + dge(); + mge(); + wZe = { db: i0e, renderer: fge, parser: t0e, styles: pge }; + }); + var EB, + cb, + bge = R(() => { + 'use strict'; + EB = (function () { + var t = o(function (l, u, h, f) { + for (h = h || {}, f = l.length; f--; h[l[f]] = u); + return h; + }, 'o'), + e = [1, 9], + r = [1, 10], + n = [1, 5, 10, 12], + i = { + trace: o(function () {}, 'trace'), + yy: {}, + symbols_: { + error: 2, + start: 3, + SANKEY: 4, + NEWLINE: 5, + csv: 6, + opt_eof: 7, + record: 8, + csv_tail: 9, + EOF: 10, + 'field[source]': 11, + COMMA: 12, + 'field[target]': 13, + 'field[value]': 14, + field: 15, + escaped: 16, + non_escaped: 17, + DQUOTE: 18, + ESCAPED_TEXT: 19, + NON_ESCAPED_TEXT: 20, + $accept: 0, + $end: 1 + }, + terminals_: { + 2: 'error', + 4: 'SANKEY', + 5: 'NEWLINE', + 10: 'EOF', + 11: 'field[source]', + 12: 'COMMA', + 13: 'field[target]', + 14: 'field[value]', + 18: 'DQUOTE', + 19: 'ESCAPED_TEXT', + 20: 'NON_ESCAPED_TEXT' + }, + productions_: [ + 0, + [3, 4], + [6, 2], + [9, 2], + [9, 0], + [7, 1], + [7, 0], + [8, 5], + [15, 1], + [15, 1], + [16, 3], + [17, 1] + ], + performAction: o(function (u, h, f, d, p, m, g) { + var y = m.length - 1; + switch (p) { + case 7: + let v = d.findOrCreateNode(m[y - 4].trim().replaceAll('""', '"')), + x = d.findOrCreateNode(m[y - 2].trim().replaceAll('""', '"')), + b = parseFloat(m[y].trim()); + d.addLink(v, x, b); + break; + case 8: + case 9: + case 11: + this.$ = m[y]; + break; + case 10: + this.$ = m[y - 1]; + break; + } + }, 'anonymous'), + table: [ + { 3: 1, 4: [1, 2] }, + { 1: [3] }, + { 5: [1, 3] }, + { 6: 4, 8: 5, 15: 6, 16: 7, 17: 8, 18: e, 20: r }, + { 1: [2, 6], 7: 11, 10: [1, 12] }, + t(r, [2, 4], { 9: 13, 5: [1, 14] }), + { 12: [1, 15] }, + t(n, [2, 8]), + t(n, [2, 9]), + { 19: [1, 16] }, + t(n, [2, 11]), + { 1: [2, 1] }, + { 1: [2, 5] }, + t(r, [2, 2]), + { 6: 17, 8: 5, 15: 6, 16: 7, 17: 8, 18: e, 20: r }, + { 15: 18, 16: 7, 17: 8, 18: e, 20: r }, + { 18: [1, 19] }, + t(r, [2, 3]), + { 12: [1, 20] }, + t(n, [2, 10]), + { 15: 21, 16: 7, 17: 8, 18: e, 20: r }, + t([1, 5, 10], [2, 7]) + ], + defaultActions: { 11: [2, 1], 12: [2, 5] }, + parseError: o(function (u, h) { + if (h.recoverable) this.trace(u); + else { + var f = new Error(u); + throw ((f.hash = h), f); + } + }, 'parseError'), + parse: o(function (u) { + var h = this, + f = [0], + d = [], + p = [null], + m = [], + g = this.table, + y = '', + v = 0, + x = 0, + b = 0, + w = 2, + S = 1, + T = m.slice.call(arguments, 1), + E = Object.create(this.lexer), + _ = { yy: {} }; + for (var A in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, A) && (_.yy[A] = this.yy[A]); + E.setInput(u, _.yy), + (_.yy.lexer = E), + (_.yy.parser = this), + typeof E.yylloc > 'u' && (E.yylloc = {}); + var L = E.yylloc; + m.push(L); + var M = E.options && E.options.ranges; + typeof _.yy.parseError == 'function' + ? (this.parseError = _.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError); + function N(ie) { + (f.length = f.length - 2 * ie), (p.length = p.length - ie), (m.length = m.length - ie); + } + o(N, 'popStack'); + function k() { + var ie; + return ( + (ie = d.pop() || E.lex() || S), + typeof ie != 'number' && + (ie instanceof Array && ((d = ie), (ie = d.pop())), + (ie = h.symbols_[ie] || ie)), + ie + ); + } + o(k, 'lex'); + for (var I, C, O, D, P, F, B = {}, $, z, Y, Q; ; ) { + if ( + ((O = f[f.length - 1]), + this.defaultActions[O] + ? (D = this.defaultActions[O]) + : ((I === null || typeof I > 'u') && (I = k()), (D = g[O] && g[O][I])), + typeof D > 'u' || !D.length || !D[0]) + ) { + var X = ''; + Q = []; + for ($ in g[O]) + this.terminals_[$] && $ > w && Q.push("'" + this.terminals_[$] + "'"); + E.showPosition + ? (X = + 'Parse error on line ' + + (v + 1) + + `: +` + + E.showPosition() + + ` +Expecting ` + + Q.join(', ') + + ", got '" + + (this.terminals_[I] || I) + + "'") + : (X = + 'Parse error on line ' + + (v + 1) + + ': Unexpected ' + + (I == S ? 'end of input' : "'" + (this.terminals_[I] || I) + "'")), + this.parseError(X, { + text: E.match, + token: this.terminals_[I] || I, + line: E.yylineno, + loc: L, + expected: Q + }); + } + if (D[0] instanceof Array && D.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + O + ', token: ' + I + ); + switch (D[0]) { + case 1: + f.push(I), + p.push(E.yytext), + m.push(E.yylloc), + f.push(D[1]), + (I = null), + C + ? ((I = C), (C = null)) + : ((x = E.yyleng), + (y = E.yytext), + (v = E.yylineno), + (L = E.yylloc), + b > 0 && b--); + break; + case 2: + if ( + ((z = this.productions_[D[1]][1]), + (B.$ = p[p.length - z]), + (B._$ = { + first_line: m[m.length - (z || 1)].first_line, + last_line: m[m.length - 1].last_line, + first_column: m[m.length - (z || 1)].first_column, + last_column: m[m.length - 1].last_column + }), + M && + (B._$.range = [ + m[m.length - (z || 1)].range[0], + m[m.length - 1].range[1] + ]), + (F = this.performAction.apply(B, [y, x, v, _.yy, D[1], p, m].concat(T))), + typeof F < 'u') + ) + return F; + z && + ((f = f.slice(0, -1 * z * 2)), + (p = p.slice(0, -1 * z)), + (m = m.slice(0, -1 * z))), + f.push(this.productions_[D[1]][0]), + p.push(B.$), + m.push(B._$), + (Y = g[f[f.length - 2]][f[f.length - 1]]), + f.push(Y); + break; + case 3: + return !0; + } + } + return !0; + }, 'parse') + }, + a = (function () { + var l = { + EOF: 1, + parseError: o(function (h, f) { + if (this.yy.parser) this.yy.parser.parseError(h, f); + else throw new Error(h); + }, 'parseError'), + setInput: o(function (u, h) { + return ( + (this.yy = h || this.yy || {}), + (this._input = u), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, 'setInput'), + input: o(function () { + var u = this._input[0]; + (this.yytext += u), + this.yyleng++, + this.offset++, + (this.match += u), + (this.matched += u); + var h = u.match(/(?:\r\n?|\n).*/g); + return ( + h ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + u + ); + }, 'input'), + unput: o(function (u) { + var h = u.length, + f = u.split(/(?:\r\n?|\n)/g); + (this._input = u + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - h)), + (this.offset -= h); + var d = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + f.length - 1 && (this.yylineno -= f.length - 1); + var p = this.yylloc.range; + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: f + ? (f.length === d.length ? this.yylloc.first_column : 0) + + d[d.length - f.length].length - + f[0].length + : this.yylloc.first_column - h + }), + this.options.ranges && (this.yylloc.range = [p[0], p[0] + this.yyleng - h]), + (this.yyleng = this.yytext.length), + this + ); + }, 'unput'), + more: o(function () { + return (this._more = !0), this; + }, 'more'), + reject: o(function () { + if (this.options.backtrack_lexer) this._backtrack = !0; + else + return this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + return this; + }, 'reject'), + less: o(function (u) { + this.unput(this.match.slice(u)); + }, 'less'), + pastInput: o(function () { + var u = this.matched.substr(0, this.matched.length - this.match.length); + return (u.length > 20 ? '...' : '') + u.substr(-20).replace(/\n/g, ''); + }, 'pastInput'), + upcomingInput: o(function () { + var u = this.match; + return ( + u.length < 20 && (u += this._input.substr(0, 20 - u.length)), + (u.substr(0, 20) + (u.length > 20 ? '...' : '')).replace(/\n/g, '') + ); + }, 'upcomingInput'), + showPosition: o(function () { + var u = this.pastInput(), + h = new Array(u.length + 1).join('-'); + return ( + u + + this.upcomingInput() + + ` +` + + h + + '^' + ); + }, 'showPosition'), + test_match: o(function (u, h) { + var f, d, p; + if ( + (this.options.backtrack_lexer && + ((p = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }), + this.options.ranges && (p.yylloc.range = this.yylloc.range.slice(0))), + (d = u[0].match(/(?:\r\n?|\n).*/g)), + d && (this.yylineno += d.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: d + ? d[d.length - 1].length - d[d.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + u[0].length + }), + (this.yytext += u[0]), + (this.match += u[0]), + (this.matches = u), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(u[0].length)), + (this.matched += u[0]), + (f = this.performAction.call( + this, + this.yy, + this, + h, + this.conditionStack[this.conditionStack.length - 1] + )), + this.done && this._input && (this.done = !1), + f) + ) + return f; + if (this._backtrack) { + for (var m in p) this[m] = p[m]; + return !1; + } + return !1; + }, 'test_match'), + next: o(function () { + if (this.done) return this.EOF; + this._input || (this.done = !0); + var u, h, f, d; + this._more || ((this.yytext = ''), (this.match = '')); + for (var p = this._currentRules(), m = 0; m < p.length; m++) + if ( + ((f = this._input.match(this.rules[p[m]])), + f && (!h || f[0].length > h[0].length)) + ) { + if (((h = f), (d = m), this.options.backtrack_lexer)) { + if (((u = this.test_match(f, p[m])), u !== !1)) return u; + if (this._backtrack) { + h = !1; + continue; + } else return !1; + } else if (!this.options.flex) break; + } + return h + ? ((u = this.test_match(h, p[d])), u !== !1 ? u : !1) + : this._input === '' + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, 'next'), + lex: o(function () { + var h = this.next(); + return h || this.lex(); + }, 'lex'), + begin: o(function (h) { + this.conditionStack.push(h); + }, 'begin'), + popState: o(function () { + var h = this.conditionStack.length - 1; + return h > 0 ? this.conditionStack.pop() : this.conditionStack[0]; + }, 'popState'), + _currentRules: o(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules; + }, '_currentRules'), + topState: o(function (h) { + return ( + (h = this.conditionStack.length - 1 - Math.abs(h || 0)), + h >= 0 ? this.conditionStack[h] : 'INITIAL' + ); + }, 'topState'), + pushState: o(function (h) { + this.begin(h); + }, 'pushState'), + stateStackSize: o(function () { + return this.conditionStack.length; + }, 'stateStackSize'), + options: { 'case-insensitive': !0 }, + performAction: o(function (h, f, d, p) { + var m = p; + switch (d) { + case 0: + return this.pushState('csv'), 4; + break; + case 1: + return 10; + case 2: + return 5; + case 3: + return 12; + case 4: + return this.pushState('escaped_text'), 18; + break; + case 5: + return 20; + case 6: + return this.popState('escaped_text'), 18; + break; + case 7: + return 19; + } + }, 'anonymous'), + rules: [ + /^(?:sankey-beta\b)/i, + /^(?:$)/i, + /^(?:((\u000D\u000A)|(\u000A)))/i, + /^(?:(\u002C))/i, + /^(?:(\u0022))/i, + /^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i, + /^(?:(\u0022)(?!(\u0022)))/i, + /^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i + ], + conditions: { + csv: { rules: [1, 2, 3, 4, 5, 6, 7], inclusive: !1 }, + escaped_text: { rules: [6, 7], inclusive: !1 }, + INITIAL: { rules: [0, 1, 2, 3, 4, 5, 6, 7], inclusive: !0 } + } + }; + return l; + })(); + i.lexer = a; + function s() { + this.yy = {}; + } + return o(s, 'Parser'), (s.prototype = i), (i.Parser = s), new s(); + })(); + EB.parser = EB; + cb = EB; + }); + var J6, + eC, + Z6, + CZe, + CB, + SZe, + SB, + AZe, + _Ze, + LZe, + DZe, + wge, + Tge = R(() => { + 'use strict'; + _t(); + rr(); + bi(); + (J6 = []), + (eC = []), + (Z6 = new Map()), + (CZe = o(() => { + (J6 = []), (eC = []), (Z6 = new Map()), vr(); + }, 'clear')), + (CB = class { + constructor(e, r, n = 0) { + this.source = e; + this.target = r; + this.value = n; + } + static { + o(this, 'SankeyLink'); + } + }), + (SZe = o((t, e, r) => { + J6.push(new CB(t, e, r)); + }, 'addLink')), + (SB = class { + constructor(e) { + this.ID = e; + } + static { + o(this, 'SankeyNode'); + } + }), + (AZe = o((t) => { + t = We.sanitizeText(t, de()); + let e = Z6.get(t); + return e === void 0 && ((e = new SB(t)), Z6.set(t, e), eC.push(e)), e; + }, 'findOrCreateNode')), + (_Ze = o(() => eC, 'getNodes')), + (LZe = o(() => J6, 'getLinks')), + (DZe = o( + () => ({ + nodes: eC.map((t) => ({ id: t.ID })), + links: J6.map((t) => ({ + source: t.source.ID, + target: t.target.ID, + value: t.value + })) + }), + 'getGraph' + )), + (wge = { + nodesMap: Z6, + getConfig: o(() => de().sankey, 'getConfig'), + getNodes: _Ze, + getLinks: LZe, + getGraph: DZe, + addLink: SZe, + findOrCreateNode: AZe, + getAccTitle: Ar, + setAccTitle: kr, + getAccDescription: Lr, + setAccDescription: _r, + getDiagramTitle: Xr, + setDiagramTitle: nn, + clear: CZe + }); + }); + function ub(t, e) { + let r; + if (e === void 0) for (let n of t) n != null && (r < n || (r === void 0 && n >= n)) && (r = n); + else { + let n = -1; + for (let i of t) (i = e(i, ++n, t)) != null && (r < i || (r === void 0 && i >= i)) && (r = i); + } + return r; + } + var kge = R(() => { + 'use strict'; + o(ub, 'max'); + }); + function x1(t, e) { + let r; + if (e === void 0) for (let n of t) n != null && (r > n || (r === void 0 && n >= n)) && (r = n); + else { + let n = -1; + for (let i of t) (i = e(i, ++n, t)) != null && (r > i || (r === void 0 && i >= i)) && (r = i); + } + return r; + } + var Ege = R(() => { + 'use strict'; + o(x1, 'min'); + }); + function b1(t, e) { + let r = 0; + if (e === void 0) for (let n of t) (n = +n) && (r += n); + else { + let n = -1; + for (let i of t) (i = +e(i, ++n, t)) && (r += i); + } + return r; + } + var Cge = R(() => { + 'use strict'; + o(b1, 'sum'); + }); + var AB = R(() => { + 'use strict'; + kge(); + Ege(); + Cge(); + }); + function RZe(t) { + return t.target.depth; + } + function _B(t) { + return t.depth; + } + function LB(t, e) { + return e - 1 - t.height; + } + function hb(t, e) { + return t.sourceLinks.length ? t.depth : e - 1; + } + function DB(t) { + return t.targetLinks.length ? t.depth : t.sourceLinks.length ? x1(t.sourceLinks, RZe) - 1 : 0; + } + var RB = R(() => { + 'use strict'; + AB(); + o(RZe, 'targetDepth'); + o(_B, 'left'); + o(LB, 'right'); + o(hb, 'justify'); + o(DB, 'center'); + }); + function w1(t) { + return function () { + return t; + }; + } + var Sge = R(() => { + 'use strict'; + o(w1, 'constant'); + }); + function Age(t, e) { + return tC(t.source, e.source) || t.index - e.index; + } + function _ge(t, e) { + return tC(t.target, e.target) || t.index - e.index; + } + function tC(t, e) { + return t.y0 - e.y0; + } + function NB(t) { + return t.value; + } + function NZe(t) { + return t.index; + } + function MZe(t) { + return t.nodes; + } + function IZe(t) { + return t.links; + } + function Lge(t, e) { + let r = t.get(e); + if (!r) throw new Error('missing: ' + e); + return r; + } + function Dge({ nodes: t }) { + for (let e of t) { + let r = e.y0, + n = r; + for (let i of e.sourceLinks) (i.y0 = r + i.width / 2), (r += i.width); + for (let i of e.targetLinks) (i.y1 = n + i.width / 2), (n += i.width); + } + } + function rC() { + let t = 0, + e = 0, + r = 1, + n = 1, + i = 24, + a = 8, + s, + l = NZe, + u = hb, + h, + f, + d = MZe, + p = IZe, + m = 6; + function g() { + let O = { + nodes: d.apply(null, arguments), + links: p.apply(null, arguments) + }; + return y(O), v(O), x(O), b(O), T(O), Dge(O), O; + } + o(g, 'sankey'), + (g.update = function (O) { + return Dge(O), O; + }), + (g.nodeId = function (O) { + return arguments.length ? ((l = typeof O == 'function' ? O : w1(O)), g) : l; + }), + (g.nodeAlign = function (O) { + return arguments.length ? ((u = typeof O == 'function' ? O : w1(O)), g) : u; + }), + (g.nodeSort = function (O) { + return arguments.length ? ((h = O), g) : h; + }), + (g.nodeWidth = function (O) { + return arguments.length ? ((i = +O), g) : i; + }), + (g.nodePadding = function (O) { + return arguments.length ? ((a = s = +O), g) : a; + }), + (g.nodes = function (O) { + return arguments.length ? ((d = typeof O == 'function' ? O : w1(O)), g) : d; + }), + (g.links = function (O) { + return arguments.length ? ((p = typeof O == 'function' ? O : w1(O)), g) : p; + }), + (g.linkSort = function (O) { + return arguments.length ? ((f = O), g) : f; + }), + (g.size = function (O) { + return arguments.length ? ((t = e = 0), (r = +O[0]), (n = +O[1]), g) : [r - t, n - e]; + }), + (g.extent = function (O) { + return arguments.length + ? ((t = +O[0][0]), (r = +O[1][0]), (e = +O[0][1]), (n = +O[1][1]), g) + : [ + [t, e], + [r, n] + ]; + }), + (g.iterations = function (O) { + return arguments.length ? ((m = +O), g) : m; + }); + function y({ nodes: O, links: D }) { + for (let [F, B] of O.entries()) (B.index = F), (B.sourceLinks = []), (B.targetLinks = []); + let P = new Map(O.map((F, B) => [l(F, B, O), F])); + for (let [F, B] of D.entries()) { + B.index = F; + let { source: $, target: z } = B; + typeof $ != 'object' && ($ = B.source = Lge(P, $)), + typeof z != 'object' && (z = B.target = Lge(P, z)), + $.sourceLinks.push(B), + z.targetLinks.push(B); + } + if (f != null) for (let { sourceLinks: F, targetLinks: B } of O) F.sort(f), B.sort(f); + } + o(y, 'computeNodeLinks'); + function v({ nodes: O }) { + for (let D of O) + D.value = + D.fixedValue === void 0 ? Math.max(b1(D.sourceLinks, NB), b1(D.targetLinks, NB)) : D.fixedValue; + } + o(v, 'computeNodeValues'); + function x({ nodes: O }) { + let D = O.length, + P = new Set(O), + F = new Set(), + B = 0; + for (; P.size; ) { + for (let $ of P) { + $.depth = B; + for (let { target: z } of $.sourceLinks) F.add(z); + } + if (++B > D) throw new Error('circular link'); + (P = F), (F = new Set()); + } + } + o(x, 'computeNodeDepths'); + function b({ nodes: O }) { + let D = O.length, + P = new Set(O), + F = new Set(), + B = 0; + for (; P.size; ) { + for (let $ of P) { + $.height = B; + for (let { source: z } of $.targetLinks) F.add(z); + } + if (++B > D) throw new Error('circular link'); + (P = F), (F = new Set()); + } + } + o(b, 'computeNodeHeights'); + function w({ nodes: O }) { + let D = ub(O, (B) => B.depth) + 1, + P = (r - t - i) / (D - 1), + F = new Array(D); + for (let B of O) { + let $ = Math.max(0, Math.min(D - 1, Math.floor(u.call(null, B, D)))); + (B.layer = $), (B.x0 = t + $ * P), (B.x1 = B.x0 + i), F[$] ? F[$].push(B) : (F[$] = [B]); + } + if (h) for (let B of F) B.sort(h); + return F; + } + o(w, 'computeNodeLayers'); + function S(O) { + let D = x1(O, (P) => (n - e - (P.length - 1) * s) / b1(P, NB)); + for (let P of O) { + let F = e; + for (let B of P) { + (B.y0 = F), (B.y1 = F + B.value * D), (F = B.y1 + s); + for (let $ of B.sourceLinks) $.width = $.value * D; + } + F = (n - F + s) / (P.length + 1); + for (let B = 0; B < P.length; ++B) { + let $ = P[B]; + ($.y0 += F * (B + 1)), ($.y1 += F * (B + 1)); + } + k(P); + } + } + o(S, 'initializeNodeBreadths'); + function T(O) { + let D = w(O); + (s = Math.min(a, (n - e) / (ub(D, (P) => P.length) - 1))), S(D); + for (let P = 0; P < m; ++P) { + let F = Math.pow(0.99, P), + B = Math.max(1 - F, (P + 1) / m); + _(D, F, B), E(D, F, B); + } + } + o(T, 'computeNodeBreadths'); + function E(O, D, P) { + for (let F = 1, B = O.length; F < B; ++F) { + let $ = O[F]; + for (let z of $) { + let Y = 0, + Q = 0; + for (let { source: ie, value: j } of z.targetLinks) { + let J = j * (z.layer - ie.layer); + (Y += I(ie, z) * J), (Q += J); + } + if (!(Q > 0)) continue; + let X = (Y / Q - z.y0) * D; + (z.y0 += X), (z.y1 += X), N(z); + } + h === void 0 && $.sort(tC), A($, P); + } + } + o(E, 'relaxLeftToRight'); + function _(O, D, P) { + for (let F = O.length, B = F - 2; B >= 0; --B) { + let $ = O[B]; + for (let z of $) { + let Y = 0, + Q = 0; + for (let { target: ie, value: j } of z.sourceLinks) { + let J = j * (ie.layer - z.layer); + (Y += C(z, ie) * J), (Q += J); + } + if (!(Q > 0)) continue; + let X = (Y / Q - z.y0) * D; + (z.y0 += X), (z.y1 += X), N(z); + } + h === void 0 && $.sort(tC), A($, P); + } + } + o(_, 'relaxRightToLeft'); + function A(O, D) { + let P = O.length >> 1, + F = O[P]; + M(O, F.y0 - s, P - 1, D), L(O, F.y1 + s, P + 1, D), M(O, n, O.length - 1, D), L(O, e, 0, D); + } + o(A, 'resolveCollisions'); + function L(O, D, P, F) { + for (; P < O.length; ++P) { + let B = O[P], + $ = (D - B.y0) * F; + $ > 1e-6 && ((B.y0 += $), (B.y1 += $)), (D = B.y1 + s); + } + } + o(L, 'resolveCollisionsTopToBottom'); + function M(O, D, P, F) { + for (; P >= 0; --P) { + let B = O[P], + $ = (B.y1 - D) * F; + $ > 1e-6 && ((B.y0 -= $), (B.y1 -= $)), (D = B.y0 - s); + } + } + o(M, 'resolveCollisionsBottomToTop'); + function N({ sourceLinks: O, targetLinks: D }) { + if (f === void 0) { + for (let { + source: { sourceLinks: P } + } of D) + P.sort(_ge); + for (let { + target: { targetLinks: P } + } of O) + P.sort(Age); + } + } + o(N, 'reorderNodeLinks'); + function k(O) { + if (f === void 0) for (let { sourceLinks: D, targetLinks: P } of O) D.sort(_ge), P.sort(Age); + } + o(k, 'reorderLinks'); + function I(O, D) { + let P = O.y0 - ((O.sourceLinks.length - 1) * s) / 2; + for (let { target: F, width: B } of O.sourceLinks) { + if (F === D) break; + P += B + s; + } + for (let { source: F, width: B } of D.targetLinks) { + if (F === O) break; + P -= B; + } + return P; + } + o(I, 'targetTop'); + function C(O, D) { + let P = D.y0 - ((D.targetLinks.length - 1) * s) / 2; + for (let { source: F, width: B } of D.targetLinks) { + if (F === O) break; + P += B + s; + } + for (let { target: F, width: B } of O.sourceLinks) { + if (F === D) break; + P -= B; + } + return P; + } + return o(C, 'sourceTop'), g; + } + var Rge = R(() => { + 'use strict'; + AB(); + RB(); + Sge(); + o(Age, 'ascendingSourceBreadth'); + o(_ge, 'ascendingTargetBreadth'); + o(tC, 'ascendingBreadth'); + o(NB, 'value'); + o(NZe, 'defaultId'); + o(MZe, 'defaultNodes'); + o(IZe, 'defaultLinks'); + o(Lge, 'find'); + o(Dge, 'computeLinkBreadths'); + o(rC, 'Sankey'); + }); + function OB() { + (this._x0 = this._y0 = this._x1 = this._y1 = null), (this._ = ''); + } + function Nge() { + return new OB(); + } + var MB, + IB, + Q0, + OZe, + PB, + Mge = R(() => { + 'use strict'; + (MB = Math.PI), (IB = 2 * MB), (Q0 = 1e-6), (OZe = IB - Q0); + o(OB, 'Path'); + o(Nge, 'path'); + OB.prototype = Nge.prototype = { + constructor: OB, + moveTo: o(function (t, e) { + this._ += 'M' + (this._x0 = this._x1 = +t) + ',' + (this._y0 = this._y1 = +e); + }, 'moveTo'), + closePath: o(function () { + this._x1 !== null && ((this._x1 = this._x0), (this._y1 = this._y0), (this._ += 'Z')); + }, 'closePath'), + lineTo: o(function (t, e) { + this._ += 'L' + (this._x1 = +t) + ',' + (this._y1 = +e); + }, 'lineTo'), + quadraticCurveTo: o(function (t, e, r, n) { + this._ += 'Q' + +t + ',' + +e + ',' + (this._x1 = +r) + ',' + (this._y1 = +n); + }, 'quadraticCurveTo'), + bezierCurveTo: o(function (t, e, r, n, i, a) { + this._ += 'C' + +t + ',' + +e + ',' + +r + ',' + +n + ',' + (this._x1 = +i) + ',' + (this._y1 = +a); + }, 'bezierCurveTo'), + arcTo: o(function (t, e, r, n, i) { + (t = +t), (e = +e), (r = +r), (n = +n), (i = +i); + var a = this._x1, + s = this._y1, + l = r - t, + u = n - e, + h = a - t, + f = s - e, + d = h * h + f * f; + if (i < 0) throw new Error('negative radius: ' + i); + if (this._x1 === null) this._ += 'M' + (this._x1 = t) + ',' + (this._y1 = e); + else if (d > Q0) + if (!(Math.abs(f * l - u * h) > Q0) || !i) + this._ += 'L' + (this._x1 = t) + ',' + (this._y1 = e); + else { + var p = r - a, + m = n - s, + g = l * l + u * u, + y = p * p + m * m, + v = Math.sqrt(g), + x = Math.sqrt(d), + b = i * Math.tan((MB - Math.acos((g + d - y) / (2 * v * x))) / 2), + w = b / x, + S = b / v; + Math.abs(w - 1) > Q0 && (this._ += 'L' + (t + w * h) + ',' + (e + w * f)), + (this._ += + 'A' + + i + + ',' + + i + + ',0,0,' + + +(f * p > h * m) + + ',' + + (this._x1 = t + S * l) + + ',' + + (this._y1 = e + S * u)); + } + }, 'arcTo'), + arc: o(function (t, e, r, n, i, a) { + (t = +t), (e = +e), (r = +r), (a = !!a); + var s = r * Math.cos(n), + l = r * Math.sin(n), + u = t + s, + h = e + l, + f = 1 ^ a, + d = a ? n - i : i - n; + if (r < 0) throw new Error('negative radius: ' + r); + this._x1 === null + ? (this._ += 'M' + u + ',' + h) + : (Math.abs(this._x1 - u) > Q0 || Math.abs(this._y1 - h) > Q0) && (this._ += 'L' + u + ',' + h), + r && + (d < 0 && (d = (d % IB) + IB), + d > OZe + ? (this._ += + 'A' + + r + + ',' + + r + + ',0,1,' + + f + + ',' + + (t - s) + + ',' + + (e - l) + + 'A' + + r + + ',' + + r + + ',0,1,' + + f + + ',' + + (this._x1 = u) + + ',' + + (this._y1 = h)) + : d > Q0 && + (this._ += + 'A' + + r + + ',' + + r + + ',0,' + + +(d >= MB) + + ',' + + f + + ',' + + (this._x1 = t + r * Math.cos(i)) + + ',' + + (this._y1 = e + r * Math.sin(i)))); + }, 'arc'), + rect: o(function (t, e, r, n) { + this._ += + 'M' + + (this._x0 = this._x1 = +t) + + ',' + + (this._y0 = this._y1 = +e) + + 'h' + + +r + + 'v' + + +n + + 'h' + + -r + + 'Z'; + }, 'rect'), + toString: o(function () { + return this._; + }, 'toString') + }; + PB = Nge; + }); + var Ige = R(() => { + 'use strict'; + Mge(); + }); + function nC(t) { + return o(function () { + return t; + }, 'constant'); + } + var Oge = R(() => { + 'use strict'; + o(nC, 'default'); + }); + function Pge(t) { + return t[0]; + } + function Bge(t) { + return t[1]; + } + var Fge = R(() => { + 'use strict'; + o(Pge, 'x'); + o(Bge, 'y'); + }); + var zge, + Gge = R(() => { + 'use strict'; + zge = Array.prototype.slice; + }); + function PZe(t) { + return t.source; + } + function BZe(t) { + return t.target; + } + function FZe(t) { + var e = PZe, + r = BZe, + n = Pge, + i = Bge, + a = null; + function s() { + var l, + u = zge.call(arguments), + h = e.apply(this, u), + f = r.apply(this, u); + if ( + (a || (a = l = PB()), + t( + a, + +n.apply(this, ((u[0] = h), u)), + +i.apply(this, u), + +n.apply(this, ((u[0] = f), u)), + +i.apply(this, u) + ), + l) + ) + return (a = null), l + '' || null; + } + return ( + o(s, 'link'), + (s.source = function (l) { + return arguments.length ? ((e = l), s) : e; + }), + (s.target = function (l) { + return arguments.length ? ((r = l), s) : r; + }), + (s.x = function (l) { + return arguments.length ? ((n = typeof l == 'function' ? l : nC(+l)), s) : n; + }), + (s.y = function (l) { + return arguments.length ? ((i = typeof l == 'function' ? l : nC(+l)), s) : i; + }), + (s.context = function (l) { + return arguments.length ? ((a = l ?? null), s) : a; + }), + s + ); + } + function zZe(t, e, r, n, i) { + t.moveTo(e, r), t.bezierCurveTo((e = (e + n) / 2), r, e, i, n, i); + } + function BB() { + return FZe(zZe); + } + var $ge = R(() => { + 'use strict'; + Ige(); + Gge(); + Oge(); + Fge(); + o(PZe, 'linkSource'); + o(BZe, 'linkTarget'); + o(FZe, 'link'); + o(zZe, 'curveHorizontal'); + o(BB, 'linkHorizontal'); + }); + var Vge = R(() => { + 'use strict'; + $ge(); + }); + function GZe(t) { + return [t.source.x1, t.y0]; + } + function $Ze(t) { + return [t.target.x0, t.y1]; + } + function iC() { + return BB().source(GZe).target($Ze); + } + var Uge = R(() => { + 'use strict'; + Vge(); + o(GZe, 'horizontalSource'); + o($Ze, 'horizontalTarget'); + o(iC, 'default'); + }); + var Hge = R(() => { + 'use strict'; + Rge(); + RB(); + Uge(); + }); + var fb, + Yge = R(() => { + 'use strict'; + fb = class t { + static { + o(this, 'Uid'); + } + static { + this.count = 0; + } + static next(e) { + return new t(e + ++t.count); + } + constructor(e) { + (this.id = e), (this.href = `#${e}`); + } + toString() { + return 'url(' + this.href + ')'; + } + }; + }); + var VZe, + UZe, + Wge, + qge = R(() => { + 'use strict'; + _t(); + Zt(); + Hge(); + Yn(); + Yge(); + (VZe = { left: _B, right: LB, center: DB, justify: hb }), + (UZe = o(function (t, e, r, n) { + let { securityLevel: i, sankey: a } = de(), + s = _4.sankey, + l; + i === 'sandbox' && (l = $e('#i' + e)); + let u = i === 'sandbox' ? $e(l.nodes()[0].contentDocument.body) : $e('body'), + h = i === 'sandbox' ? u.select(`[id="${e}"]`) : $e(`[id="${e}"]`), + f = a?.width ?? s.width, + d = a?.height ?? s.width, + p = a?.useMaxWidth ?? s.useMaxWidth, + m = a?.nodeAlignment ?? s.nodeAlignment, + g = a?.prefix ?? s.prefix, + y = a?.suffix ?? s.suffix, + v = a?.showValues ?? s.showValues, + x = n.db.getGraph(), + b = VZe[m]; + rC() + .nodeId((M) => M.id) + .nodeWidth(10) + .nodePadding(10 + (v ? 15 : 0)) + .nodeAlign(b) + .extent([ + [0, 0], + [f, d] + ])(x); + let T = pu(Z8); + h.append('g') + .attr('class', 'nodes') + .selectAll('.node') + .data(x.nodes) + .join('g') + .attr('class', 'node') + .attr('id', (M) => (M.uid = fb.next('node-')).id) + .attr('transform', function (M) { + return 'translate(' + M.x0 + ',' + M.y0 + ')'; + }) + .attr('x', (M) => M.x0) + .attr('y', (M) => M.y0) + .append('rect') + .attr('height', (M) => M.y1 - M.y0) + .attr('width', (M) => M.x1 - M.x0) + .attr('fill', (M) => T(M.id)); + let E = o( + ({ id: M, value: N }) => + v + ? `${M} +${g}${Math.round(N * 100) / 100}${y}` + : M, + 'getText' + ); + h.append('g') + .attr('class', 'node-labels') + .attr('font-family', 'sans-serif') + .attr('font-size', 14) + .selectAll('text') + .data(x.nodes) + .join('text') + .attr('x', (M) => (M.x0 < f / 2 ? M.x1 + 6 : M.x0 - 6)) + .attr('y', (M) => (M.y1 + M.y0) / 2) + .attr('dy', `${v ? '0' : '0.35'}em`) + .attr('text-anchor', (M) => (M.x0 < f / 2 ? 'start' : 'end')) + .text(E); + let _ = h + .append('g') + .attr('class', 'links') + .attr('fill', 'none') + .attr('stroke-opacity', 0.5) + .selectAll('.link') + .data(x.links) + .join('g') + .attr('class', 'link') + .style('mix-blend-mode', 'multiply'), + A = a?.linkColor ?? 'gradient'; + if (A === 'gradient') { + let M = _.append('linearGradient') + .attr('id', (N) => (N.uid = fb.next('linearGradient-')).id) + .attr('gradientUnits', 'userSpaceOnUse') + .attr('x1', (N) => N.source.x1) + .attr('x2', (N) => N.target.x0); + M.append('stop') + .attr('offset', '0%') + .attr('stop-color', (N) => T(N.source.id)), + M.append('stop') + .attr('offset', '100%') + .attr('stop-color', (N) => T(N.target.id)); + } + let L; + switch (A) { + case 'gradient': + L = o((M) => M.uid, 'coloring'); + break; + case 'source': + L = o((M) => T(M.source.id), 'coloring'); + break; + case 'target': + L = o((M) => T(M.target.id), 'coloring'); + break; + default: + L = A; + } + _.append('path') + .attr('d', iC()) + .attr('stroke', L) + .attr('stroke-width', (M) => Math.max(1, M.width)), + Lo(void 0, h, 0, p); + }, 'draw')), + (Wge = { draw: UZe }); + }); + var Xge, + jge = R(() => { + 'use strict'; + Xge = o( + (t) => + t + .replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g, '') + .replaceAll( + /([\n\r])+/g, + ` +` + ) + .trim(), + 'prepareTextForParsing' + ); + }); + var Kge = {}; + hr(Kge, { diagram: () => YZe }); + var HZe, + YZe, + Qge = R(() => { + 'use strict'; + bge(); + Tge(); + qge(); + jge(); + HZe = cb.parse.bind(cb); + cb.parse = (t) => HZe(Xge(t)); + YZe = { parser: cb, db: wge, renderer: Wge }; + }); + var e1e, + FB, + jZe, + KZe, + QZe, + ZZe, + JZe, + Mf, + zB = R(() => { + 'use strict'; + qs(); + sl(); + xr(); + bi(); + (e1e = { packet: [] }), + (FB = structuredClone(e1e)), + (jZe = mr.packet), + (KZe = o(() => { + let t = Ts({ ...jZe, ...Or().packet }); + return t.showBits && (t.paddingY += 10), t; + }, 'getConfig')), + (QZe = o(() => FB.packet, 'getPacket')), + (ZZe = o((t) => { + t.length > 0 && FB.packet.push(t); + }, 'pushWord')), + (JZe = o(() => { + vr(), (FB = structuredClone(e1e)); + }, 'clear')), + (Mf = { + pushWord: ZZe, + getPacket: QZe, + getConfig: KZe, + clear: JZe, + setAccTitle: kr, + getAccTitle: Ar, + setDiagramTitle: nn, + getDiagramTitle: Xr, + getAccDescription: Lr, + setAccDescription: _r + }); + }); + var eJe, + tJe, + rJe, + t1e, + r1e = R(() => { + 'use strict'; + Lg(); + ut(); + sx(); + zB(); + (eJe = 1e4), + (tJe = o((t) => { + cf(t, Mf); + let e = -1, + r = [], + n = 1, + { bitsPerRow: i } = Mf.getConfig(); + for (let { start: a, end: s, label: l } of t.blocks) { + if (s && s < a) + throw new Error(`Packet block ${a} - ${s} is invalid. End must be greater than start.`); + if (a !== e + 1) + throw new Error( + `Packet block ${a} - ${s ?? a} is not contiguous. It should start from ${e + 1}.` + ); + for ( + e = s ?? a, V.debug(`Packet block ${a} - ${e} with label ${l}`); + r.length <= i + 1 && Mf.getPacket().length < eJe; + + ) { + let [u, h] = rJe({ start: a, end: s, label: l }, n, i); + if ((r.push(u), u.end + 1 === n * i && (Mf.pushWord(r), (r = []), n++), !h)) break; + ({ start: a, end: s, label: l } = h); + } + } + Mf.pushWord(r); + }, 'populate')), + (rJe = o((t, e, r) => { + if ((t.end === void 0 && (t.end = t.start), t.start > t.end)) + throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`); + return t.end + 1 <= e * r + ? [t, void 0] + : [ + { start: t.start, end: e * r - 1, label: t.label }, + { start: e * r, end: t.end, label: t.label } + ]; + }, 'getNextFittingBlock')), + (t1e = { + parse: o(async (t) => { + let e = await Fl('packet', t); + V.debug(e), tJe(e); + }, 'parse') + }); + }); + var nJe, + iJe, + n1e, + i1e = R(() => { + 'use strict'; + pf(); + Yn(); + (nJe = o((t, e, r, n) => { + let i = n.db, + a = i.getConfig(), + { rowHeight: s, paddingY: l, bitWidth: u, bitsPerRow: h } = a, + f = i.getPacket(), + d = i.getDiagramTitle(), + p = s + l, + m = p * (f.length + 1) - (d ? 0 : s), + g = u * h + 2, + y = Ps(e); + y.attr('viewbox', `0 0 ${g} ${m}`), Sr(y, m, g, a.useMaxWidth); + for (let [v, x] of f.entries()) iJe(y, x, v, a); + y.append('text') + .text(d) + .attr('x', g / 2) + .attr('y', m - p / 2) + .attr('dominant-baseline', 'middle') + .attr('text-anchor', 'middle') + .attr('class', 'packetTitle'); + }, 'draw')), + (iJe = o( + (t, e, r, { rowHeight: n, paddingX: i, paddingY: a, bitWidth: s, bitsPerRow: l, showBits: u }) => { + let h = t.append('g'), + f = r * (n + a) + a; + for (let d of e) { + let p = (d.start % l) * s + 1, + m = (d.end - d.start + 1) * s - i; + if ( + (h + .append('rect') + .attr('x', p) + .attr('y', f) + .attr('width', m) + .attr('height', n) + .attr('class', 'packetBlock'), + h + .append('text') + .attr('x', p + m / 2) + .attr('y', f + n / 2) + .attr('class', 'packetLabel') + .attr('dominant-baseline', 'middle') + .attr('text-anchor', 'middle') + .text(d.label), + !u) + ) + continue; + let g = d.end === d.start, + y = f - 2; + h + .append('text') + .attr('x', p + (g ? m / 2 : 0)) + .attr('y', y) + .attr('class', 'packetByte start') + .attr('dominant-baseline', 'auto') + .attr('text-anchor', g ? 'middle' : 'start') + .text(d.start), + g || + h + .append('text') + .attr('x', p + m) + .attr('y', y) + .attr('class', 'packetByte end') + .attr('dominant-baseline', 'auto') + .attr('text-anchor', 'end') + .text(d.end); + } + }, + 'drawWord' + )), + (n1e = { draw: nJe }); + }); + var aJe, + a1e, + s1e = R(() => { + 'use strict'; + xr(); + (aJe = { + byteFontSize: '10px', + startByteColor: 'black', + endByteColor: 'black', + labelColor: 'black', + labelFontSize: '12px', + titleColor: 'black', + titleFontSize: '14px', + blockStrokeColor: 'black', + blockStrokeWidth: '1', + blockFillColor: '#efefef' + }), + (a1e = o(({ packet: t } = {}) => { + let e = Ts(aJe, t); + return ` + .packetByte { + font-size: ${e.byteFontSize}; + } + .packetByte.start { + fill: ${e.startByteColor}; + } + .packetByte.end { + fill: ${e.endByteColor}; + } + .packetLabel { + fill: ${e.labelColor}; + font-size: ${e.labelFontSize}; + } + .packetTitle { + fill: ${e.titleColor}; + font-size: ${e.titleFontSize}; + } + .packetBlock { + stroke: ${e.blockStrokeColor}; + stroke-width: ${e.blockStrokeWidth}; + fill: ${e.blockFillColor}; + } + `; + }, 'styles')); + }); + var o1e = {}; + hr(o1e, { diagram: () => sJe }); + var sJe, + l1e = R(() => { + 'use strict'; + zB(); + r1e(); + i1e(); + s1e(); + sJe = { parser: t1e, db: Mf, renderer: n1e, styles: a1e }; + }); + var GB, + h1e, + f1e = R(() => { + 'use strict'; + GB = (function () { + var t = o(function (w, S, T, E) { + for (T = T || {}, E = w.length; E--; T[w[E]] = S); + return T; + }, 'o'), + e = [1, 7], + r = [1, 13], + n = [1, 14], + i = [1, 15], + a = [1, 19], + s = [1, 16], + l = [1, 17], + u = [1, 18], + h = [8, 30], + f = [8, 21, 28, 29, 30, 31, 32, 40, 44, 47], + d = [1, 23], + p = [1, 24], + m = [8, 15, 16, 21, 28, 29, 30, 31, 32, 40, 44, 47], + g = [8, 15, 16, 21, 27, 28, 29, 30, 31, 32, 40, 44, 47], + y = [1, 49], + v = { + trace: o(function () {}, 'trace'), + yy: {}, + symbols_: { + error: 2, + spaceLines: 3, + SPACELINE: 4, + NL: 5, + separator: 6, + SPACE: 7, + EOF: 8, + start: 9, + BLOCK_DIAGRAM_KEY: 10, + document: 11, + stop: 12, + statement: 13, + link: 14, + LINK: 15, + START_LINK: 16, + LINK_LABEL: 17, + STR: 18, + nodeStatement: 19, + columnsStatement: 20, + SPACE_BLOCK: 21, + blockStatement: 22, + classDefStatement: 23, + cssClassStatement: 24, + styleStatement: 25, + node: 26, + SIZE: 27, + COLUMNS: 28, + 'id-block': 29, + end: 30, + block: 31, + NODE_ID: 32, + nodeShapeNLabel: 33, + dirList: 34, + DIR: 35, + NODE_DSTART: 36, + NODE_DEND: 37, + BLOCK_ARROW_START: 38, + BLOCK_ARROW_END: 39, + classDef: 40, + CLASSDEF_ID: 41, + CLASSDEF_STYLEOPTS: 42, + DEFAULT: 43, + class: 44, + CLASSENTITY_IDS: 45, + STYLECLASS: 46, + style: 47, + STYLE_ENTITY_IDS: 48, + STYLE_DEFINITION_DATA: 49, + $accept: 0, + $end: 1 + }, + terminals_: { + 2: 'error', + 4: 'SPACELINE', + 5: 'NL', + 7: 'SPACE', + 8: 'EOF', + 10: 'BLOCK_DIAGRAM_KEY', + 15: 'LINK', + 16: 'START_LINK', + 17: 'LINK_LABEL', + 18: 'STR', + 21: 'SPACE_BLOCK', + 27: 'SIZE', + 28: 'COLUMNS', + 29: 'id-block', + 30: 'end', + 31: 'block', + 32: 'NODE_ID', + 35: 'DIR', + 36: 'NODE_DSTART', + 37: 'NODE_DEND', + 38: 'BLOCK_ARROW_START', + 39: 'BLOCK_ARROW_END', + 40: 'classDef', + 41: 'CLASSDEF_ID', + 42: 'CLASSDEF_STYLEOPTS', + 43: 'DEFAULT', + 44: 'class', + 45: 'CLASSENTITY_IDS', + 46: 'STYLECLASS', + 47: 'style', + 48: 'STYLE_ENTITY_IDS', + 49: 'STYLE_DEFINITION_DATA' + }, + productions_: [ + 0, + [3, 1], + [3, 2], + [3, 2], + [6, 1], + [6, 1], + [6, 1], + [9, 3], + [12, 1], + [12, 1], + [12, 2], + [12, 2], + [11, 1], + [11, 2], + [14, 1], + [14, 4], + [13, 1], + [13, 1], + [13, 1], + [13, 1], + [13, 1], + [13, 1], + [13, 1], + [19, 3], + [19, 2], + [19, 1], + [20, 1], + [22, 4], + [22, 3], + [26, 1], + [26, 2], + [34, 1], + [34, 2], + [33, 3], + [33, 4], + [23, 3], + [23, 3], + [24, 3], + [25, 3] + ], + performAction: o(function (S, T, E, _, A, L, M) { + var N = L.length - 1; + switch (A) { + case 4: + _.getLogger().debug('Rule: separator (NL) '); + break; + case 5: + _.getLogger().debug('Rule: separator (Space) '); + break; + case 6: + _.getLogger().debug('Rule: separator (EOF) '); + break; + case 7: + _.getLogger().debug('Rule: hierarchy: ', L[N - 1]), _.setHierarchy(L[N - 1]); + break; + case 8: + _.getLogger().debug('Stop NL '); + break; + case 9: + _.getLogger().debug('Stop EOF '); + break; + case 10: + _.getLogger().debug('Stop NL2 '); + break; + case 11: + _.getLogger().debug('Stop EOF2 '); + break; + case 12: + _.getLogger().debug('Rule: statement: ', L[N]), + typeof L[N].length == 'number' ? (this.$ = L[N]) : (this.$ = [L[N]]); + break; + case 13: + _.getLogger().debug('Rule: statement #2: ', L[N - 1]), + (this.$ = [L[N - 1]].concat(L[N])); + break; + case 14: + _.getLogger().debug('Rule: link: ', L[N], S), + (this.$ = { edgeTypeStr: L[N], label: '' }); + break; + case 15: + _.getLogger().debug('Rule: LABEL link: ', L[N - 3], L[N - 1], L[N]), + (this.$ = { edgeTypeStr: L[N], label: L[N - 1] }); + break; + case 18: + let k = parseInt(L[N]), + I = _.generateId(); + this.$ = { + id: I, + type: 'space', + label: '', + width: k, + children: [] + }; + break; + case 23: + _.getLogger().debug( + 'Rule: (nodeStatement link node) ', + L[N - 2], + L[N - 1], + L[N], + ' typestr: ', + L[N - 1].edgeTypeStr + ); + let C = _.edgeStrToEdgeData(L[N - 1].edgeTypeStr); + this.$ = [ + { + id: L[N - 2].id, + label: L[N - 2].label, + type: L[N - 2].type, + directions: L[N - 2].directions + }, + { + id: L[N - 2].id + '-' + L[N].id, + start: L[N - 2].id, + end: L[N].id, + label: L[N - 1].label, + type: 'edge', + directions: L[N].directions, + arrowTypeEnd: C, + arrowTypeStart: 'arrow_open' + }, + { + id: L[N].id, + label: L[N].label, + type: _.typeStr2Type(L[N].typeStr), + directions: L[N].directions + } + ]; + break; + case 24: + _.getLogger().debug('Rule: nodeStatement (abc88 node size) ', L[N - 1], L[N]), + (this.$ = { + id: L[N - 1].id, + label: L[N - 1].label, + type: _.typeStr2Type(L[N - 1].typeStr), + directions: L[N - 1].directions, + widthInColumns: parseInt(L[N], 10) + }); + break; + case 25: + _.getLogger().debug('Rule: nodeStatement (node) ', L[N]), + (this.$ = { + id: L[N].id, + label: L[N].label, + type: _.typeStr2Type(L[N].typeStr), + directions: L[N].directions, + widthInColumns: 1 + }); + break; + case 26: + _.getLogger().debug('APA123', this ? this : 'na'), + _.getLogger().debug('COLUMNS: ', L[N]), + (this.$ = { + type: 'column-setting', + columns: L[N] === 'auto' ? -1 : parseInt(L[N]) + }); + break; + case 27: + _.getLogger().debug('Rule: id-block statement : ', L[N - 2], L[N - 1]); + let O = _.generateId(); + this.$ = { + ...L[N - 2], + type: 'composite', + children: L[N - 1] + }; + break; + case 28: + _.getLogger().debug('Rule: blockStatement : ', L[N - 2], L[N - 1], L[N]); + let D = _.generateId(); + this.$ = { + id: D, + type: 'composite', + label: '', + children: L[N - 1] + }; + break; + case 29: + _.getLogger().debug('Rule: node (NODE_ID separator): ', L[N]), + (this.$ = { id: L[N] }); + break; + case 30: + _.getLogger().debug( + 'Rule: node (NODE_ID nodeShapeNLabel separator): ', + L[N - 1], + L[N] + ), + (this.$ = { + id: L[N - 1], + label: L[N].label, + typeStr: L[N].typeStr, + directions: L[N].directions + }); + break; + case 31: + _.getLogger().debug('Rule: dirList: ', L[N]), (this.$ = [L[N]]); + break; + case 32: + _.getLogger().debug('Rule: dirList: ', L[N - 1], L[N]), + (this.$ = [L[N - 1]].concat(L[N])); + break; + case 33: + _.getLogger().debug('Rule: nodeShapeNLabel: ', L[N - 2], L[N - 1], L[N]), + (this.$ = { typeStr: L[N - 2] + L[N], label: L[N - 1] }); + break; + case 34: + _.getLogger().debug( + 'Rule: BLOCK_ARROW nodeShapeNLabel: ', + L[N - 3], + L[N - 2], + ' #3:', + L[N - 1], + L[N] + ), + (this.$ = { + typeStr: L[N - 3] + L[N], + label: L[N - 2], + directions: L[N - 1] + }); + break; + case 35: + case 36: + this.$ = { + type: 'classDef', + id: L[N - 1].trim(), + css: L[N].trim() + }; + break; + case 37: + this.$ = { + type: 'applyClass', + id: L[N - 1].trim(), + styleClass: L[N].trim() + }; + break; + case 38: + this.$ = { + type: 'applyStyles', + id: L[N - 1].trim(), + stylesStr: L[N].trim() + }; + break; + } + }, 'anonymous'), + table: [ + { 9: 1, 10: [1, 2] }, + { 1: [3] }, + { + 11: 3, + 13: 4, + 19: 5, + 20: 6, + 21: e, + 22: 8, + 23: 9, + 24: 10, + 25: 11, + 26: 12, + 28: r, + 29: n, + 31: i, + 32: a, + 40: s, + 44: l, + 47: u + }, + { 8: [1, 20] }, + t(h, [2, 12], { + 13: 4, + 19: 5, + 20: 6, + 22: 8, + 23: 9, + 24: 10, + 25: 11, + 26: 12, + 11: 21, + 21: e, + 28: r, + 29: n, + 31: i, + 32: a, + 40: s, + 44: l, + 47: u + }), + t(f, [2, 16], { 14: 22, 15: d, 16: p }), + t(f, [2, 17]), + t(f, [2, 18]), + t(f, [2, 19]), + t(f, [2, 20]), + t(f, [2, 21]), + t(f, [2, 22]), + t(m, [2, 25], { 27: [1, 25] }), + t(f, [2, 26]), + { 19: 26, 26: 12, 32: a }, + { + 11: 27, + 13: 4, + 19: 5, + 20: 6, + 21: e, + 22: 8, + 23: 9, + 24: 10, + 25: 11, + 26: 12, + 28: r, + 29: n, + 31: i, + 32: a, + 40: s, + 44: l, + 47: u + }, + { 41: [1, 28], 43: [1, 29] }, + { 45: [1, 30] }, + { 48: [1, 31] }, + t(g, [2, 29], { 33: 32, 36: [1, 33], 38: [1, 34] }), + { 1: [2, 7] }, + t(h, [2, 13]), + { 26: 35, 32: a }, + { 32: [2, 14] }, + { 17: [1, 36] }, + t(m, [2, 24]), + { + 11: 37, + 13: 4, + 14: 22, + 15: d, + 16: p, + 19: 5, + 20: 6, + 21: e, + 22: 8, + 23: 9, + 24: 10, + 25: 11, + 26: 12, + 28: r, + 29: n, + 31: i, + 32: a, + 40: s, + 44: l, + 47: u + }, + { 30: [1, 38] }, + { 42: [1, 39] }, + { 42: [1, 40] }, + { 46: [1, 41] }, + { 49: [1, 42] }, + t(g, [2, 30]), + { 18: [1, 43] }, + { 18: [1, 44] }, + t(m, [2, 23]), + { 18: [1, 45] }, + { 30: [1, 46] }, + t(f, [2, 28]), + t(f, [2, 35]), + t(f, [2, 36]), + t(f, [2, 37]), + t(f, [2, 38]), + { 37: [1, 47] }, + { 34: 48, 35: y }, + { 15: [1, 50] }, + t(f, [2, 27]), + t(g, [2, 33]), + { 39: [1, 51] }, + { 34: 52, 35: y, 39: [2, 31] }, + { 32: [2, 15] }, + t(g, [2, 34]), + { 39: [2, 32] } + ], + defaultActions: { + 20: [2, 7], + 23: [2, 14], + 50: [2, 15], + 52: [2, 32] + }, + parseError: o(function (S, T) { + if (T.recoverable) this.trace(S); + else { + var E = new Error(S); + throw ((E.hash = T), E); + } + }, 'parseError'), + parse: o(function (S) { + var T = this, + E = [0], + _ = [], + A = [null], + L = [], + M = this.table, + N = '', + k = 0, + I = 0, + C = 0, + O = 2, + D = 1, + P = L.slice.call(arguments, 1), + F = Object.create(this.lexer), + B = { yy: {} }; + for (var $ in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, $) && (B.yy[$] = this.yy[$]); + F.setInput(S, B.yy), + (B.yy.lexer = F), + (B.yy.parser = this), + typeof F.yylloc > 'u' && (F.yylloc = {}); + var z = F.yylloc; + L.push(z); + var Y = F.options && F.options.ranges; + typeof B.yy.parseError == 'function' + ? (this.parseError = B.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError); + function Q(oe) { + (E.length = E.length - 2 * oe), (A.length = A.length - oe), (L.length = L.length - oe); + } + o(Q, 'popStack'); + function X() { + var oe; + return ( + (oe = _.pop() || F.lex() || D), + typeof oe != 'number' && + (oe instanceof Array && ((_ = oe), (oe = _.pop())), + (oe = T.symbols_[oe] || oe)), + oe + ); + } + o(X, 'lex'); + for (var ie, j, J, Z, H, q, K = {}, se, ce, ue, te; ; ) { + if ( + ((J = E[E.length - 1]), + this.defaultActions[J] + ? (Z = this.defaultActions[J]) + : ((ie === null || typeof ie > 'u') && (ie = X()), (Z = M[J] && M[J][ie])), + typeof Z > 'u' || !Z.length || !Z[0]) + ) { + var De = ''; + te = []; + for (se in M[J]) + this.terminals_[se] && se > O && te.push("'" + this.terminals_[se] + "'"); + F.showPosition + ? (De = + 'Parse error on line ' + + (k + 1) + + `: +` + + F.showPosition() + + ` +Expecting ` + + te.join(', ') + + ", got '" + + (this.terminals_[ie] || ie) + + "'") + : (De = + 'Parse error on line ' + + (k + 1) + + ': Unexpected ' + + (ie == D ? 'end of input' : "'" + (this.terminals_[ie] || ie) + "'")), + this.parseError(De, { + text: F.match, + token: this.terminals_[ie] || ie, + line: F.yylineno, + loc: z, + expected: te + }); + } + if (Z[0] instanceof Array && Z.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + J + ', token: ' + ie + ); + switch (Z[0]) { + case 1: + E.push(ie), + A.push(F.yytext), + L.push(F.yylloc), + E.push(Z[1]), + (ie = null), + j + ? ((ie = j), (j = null)) + : ((I = F.yyleng), + (N = F.yytext), + (k = F.yylineno), + (z = F.yylloc), + C > 0 && C--); + break; + case 2: + if ( + ((ce = this.productions_[Z[1]][1]), + (K.$ = A[A.length - ce]), + (K._$ = { + first_line: L[L.length - (ce || 1)].first_line, + last_line: L[L.length - 1].last_line, + first_column: L[L.length - (ce || 1)].first_column, + last_column: L[L.length - 1].last_column + }), + Y && + (K._$.range = [ + L[L.length - (ce || 1)].range[0], + L[L.length - 1].range[1] + ]), + (q = this.performAction.apply(K, [N, I, k, B.yy, Z[1], A, L].concat(P))), + typeof q < 'u') + ) + return q; + ce && + ((E = E.slice(0, -1 * ce * 2)), + (A = A.slice(0, -1 * ce)), + (L = L.slice(0, -1 * ce))), + E.push(this.productions_[Z[1]][0]), + A.push(K.$), + L.push(K._$), + (ue = M[E[E.length - 2]][E[E.length - 1]]), + E.push(ue); + break; + case 3: + return !0; + } + } + return !0; + }, 'parse') + }, + x = (function () { + var w = { + EOF: 1, + parseError: o(function (T, E) { + if (this.yy.parser) this.yy.parser.parseError(T, E); + else throw new Error(T); + }, 'parseError'), + setInput: o(function (S, T) { + return ( + (this.yy = T || this.yy || {}), + (this._input = S), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, 'setInput'), + input: o(function () { + var S = this._input[0]; + (this.yytext += S), + this.yyleng++, + this.offset++, + (this.match += S), + (this.matched += S); + var T = S.match(/(?:\r\n?|\n).*/g); + return ( + T ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + S + ); + }, 'input'), + unput: o(function (S) { + var T = S.length, + E = S.split(/(?:\r\n?|\n)/g); + (this._input = S + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - T)), + (this.offset -= T); + var _ = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + E.length - 1 && (this.yylineno -= E.length - 1); + var A = this.yylloc.range; + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: E + ? (E.length === _.length ? this.yylloc.first_column : 0) + + _[_.length - E.length].length - + E[0].length + : this.yylloc.first_column - T + }), + this.options.ranges && (this.yylloc.range = [A[0], A[0] + this.yyleng - T]), + (this.yyleng = this.yytext.length), + this + ); + }, 'unput'), + more: o(function () { + return (this._more = !0), this; + }, 'more'), + reject: o(function () { + if (this.options.backtrack_lexer) this._backtrack = !0; + else + return this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + return this; + }, 'reject'), + less: o(function (S) { + this.unput(this.match.slice(S)); + }, 'less'), + pastInput: o(function () { + var S = this.matched.substr(0, this.matched.length - this.match.length); + return (S.length > 20 ? '...' : '') + S.substr(-20).replace(/\n/g, ''); + }, 'pastInput'), + upcomingInput: o(function () { + var S = this.match; + return ( + S.length < 20 && (S += this._input.substr(0, 20 - S.length)), + (S.substr(0, 20) + (S.length > 20 ? '...' : '')).replace(/\n/g, '') + ); + }, 'upcomingInput'), + showPosition: o(function () { + var S = this.pastInput(), + T = new Array(S.length + 1).join('-'); + return ( + S + + this.upcomingInput() + + ` +` + + T + + '^' + ); + }, 'showPosition'), + test_match: o(function (S, T) { + var E, _, A; + if ( + (this.options.backtrack_lexer && + ((A = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }), + this.options.ranges && (A.yylloc.range = this.yylloc.range.slice(0))), + (_ = S[0].match(/(?:\r\n?|\n).*/g)), + _ && (this.yylineno += _.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: _ + ? _[_.length - 1].length - _[_.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + S[0].length + }), + (this.yytext += S[0]), + (this.match += S[0]), + (this.matches = S), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(S[0].length)), + (this.matched += S[0]), + (E = this.performAction.call( + this, + this.yy, + this, + T, + this.conditionStack[this.conditionStack.length - 1] + )), + this.done && this._input && (this.done = !1), + E) + ) + return E; + if (this._backtrack) { + for (var L in A) this[L] = A[L]; + return !1; + } + return !1; + }, 'test_match'), + next: o(function () { + if (this.done) return this.EOF; + this._input || (this.done = !0); + var S, T, E, _; + this._more || ((this.yytext = ''), (this.match = '')); + for (var A = this._currentRules(), L = 0; L < A.length; L++) + if ( + ((E = this._input.match(this.rules[A[L]])), + E && (!T || E[0].length > T[0].length)) + ) { + if (((T = E), (_ = L), this.options.backtrack_lexer)) { + if (((S = this.test_match(E, A[L])), S !== !1)) return S; + if (this._backtrack) { + T = !1; + continue; + } else return !1; + } else if (!this.options.flex) break; + } + return T + ? ((S = this.test_match(T, A[_])), S !== !1 ? S : !1) + : this._input === '' + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, 'next'), + lex: o(function () { + var T = this.next(); + return T || this.lex(); + }, 'lex'), + begin: o(function (T) { + this.conditionStack.push(T); + }, 'begin'), + popState: o(function () { + var T = this.conditionStack.length - 1; + return T > 0 ? this.conditionStack.pop() : this.conditionStack[0]; + }, 'popState'), + _currentRules: o(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules; + }, '_currentRules'), + topState: o(function (T) { + return ( + (T = this.conditionStack.length - 1 - Math.abs(T || 0)), + T >= 0 ? this.conditionStack[T] : 'INITIAL' + ); + }, 'topState'), + pushState: o(function (T) { + this.begin(T); + }, 'pushState'), + stateStackSize: o(function () { + return this.conditionStack.length; + }, 'stateStackSize'), + options: {}, + performAction: o(function (T, E, _, A) { + var L = A; + switch (_) { + case 0: + return 10; + case 1: + return T.getLogger().debug('Found space-block'), 31; + break; + case 2: + return T.getLogger().debug('Found nl-block'), 31; + break; + case 3: + return T.getLogger().debug('Found space-block'), 29; + break; + case 4: + T.getLogger().debug('.', E.yytext); + break; + case 5: + T.getLogger().debug('_', E.yytext); + break; + case 6: + return 5; + case 7: + return (E.yytext = -1), 28; + break; + case 8: + return ( + (E.yytext = E.yytext.replace(/columns\s+/, '')), + T.getLogger().debug('COLUMNS (LEX)', E.yytext), + 28 + ); + break; + case 9: + this.pushState('md_string'); + break; + case 10: + return 'MD_STR'; + case 11: + this.popState(); + break; + case 12: + this.pushState('string'); + break; + case 13: + T.getLogger().debug('LEX: POPPING STR:', E.yytext), this.popState(); + break; + case 14: + return T.getLogger().debug('LEX: STR end:', E.yytext), 'STR'; + break; + case 15: + return ( + (E.yytext = E.yytext.replace(/space\:/, '')), + T.getLogger().debug('SPACE NUM (LEX)', E.yytext), + 21 + ); + break; + case 16: + return (E.yytext = '1'), T.getLogger().debug('COLUMNS (LEX)', E.yytext), 21; + break; + case 17: + return 43; + case 18: + return 'LINKSTYLE'; + case 19: + return 'INTERPOLATE'; + case 20: + return this.pushState('CLASSDEF'), 40; + break; + case 21: + return this.popState(), this.pushState('CLASSDEFID'), 'DEFAULT_CLASSDEF_ID'; + break; + case 22: + return this.popState(), this.pushState('CLASSDEFID'), 41; + break; + case 23: + return this.popState(), 42; + break; + case 24: + return this.pushState('CLASS'), 44; + break; + case 25: + return this.popState(), this.pushState('CLASS_STYLE'), 45; + break; + case 26: + return this.popState(), 46; + break; + case 27: + return this.pushState('STYLE_STMNT'), 47; + break; + case 28: + return this.popState(), this.pushState('STYLE_DEFINITION'), 48; + break; + case 29: + return this.popState(), 49; + break; + case 30: + return this.pushState('acc_title'), 'acc_title'; + break; + case 31: + return this.popState(), 'acc_title_value'; + break; + case 32: + return this.pushState('acc_descr'), 'acc_descr'; + break; + case 33: + return this.popState(), 'acc_descr_value'; + break; + case 34: + this.pushState('acc_descr_multiline'); + break; + case 35: + this.popState(); + break; + case 36: + return 'acc_descr_multiline_value'; + case 37: + return 30; + case 38: + return this.popState(), T.getLogger().debug('Lex: (('), 'NODE_DEND'; + break; + case 39: + return this.popState(), T.getLogger().debug('Lex: (('), 'NODE_DEND'; + break; + case 40: + return this.popState(), T.getLogger().debug('Lex: ))'), 'NODE_DEND'; + break; + case 41: + return this.popState(), T.getLogger().debug('Lex: (('), 'NODE_DEND'; + break; + case 42: + return this.popState(), T.getLogger().debug('Lex: (('), 'NODE_DEND'; + break; + case 43: + return this.popState(), T.getLogger().debug('Lex: (-'), 'NODE_DEND'; + break; + case 44: + return this.popState(), T.getLogger().debug('Lex: -)'), 'NODE_DEND'; + break; + case 45: + return this.popState(), T.getLogger().debug('Lex: (('), 'NODE_DEND'; + break; + case 46: + return this.popState(), T.getLogger().debug('Lex: ]]'), 'NODE_DEND'; + break; + case 47: + return this.popState(), T.getLogger().debug('Lex: ('), 'NODE_DEND'; + break; + case 48: + return this.popState(), T.getLogger().debug('Lex: ])'), 'NODE_DEND'; + break; + case 49: + return this.popState(), T.getLogger().debug('Lex: /]'), 'NODE_DEND'; + break; + case 50: + return this.popState(), T.getLogger().debug('Lex: /]'), 'NODE_DEND'; + break; + case 51: + return this.popState(), T.getLogger().debug('Lex: )]'), 'NODE_DEND'; + break; + case 52: + return this.popState(), T.getLogger().debug('Lex: )'), 'NODE_DEND'; + break; + case 53: + return this.popState(), T.getLogger().debug('Lex: ]>'), 'NODE_DEND'; + break; + case 54: + return this.popState(), T.getLogger().debug('Lex: ]'), 'NODE_DEND'; + break; + case 55: + return T.getLogger().debug('Lexa: -)'), this.pushState('NODE'), 36; + break; + case 56: + return T.getLogger().debug('Lexa: (-'), this.pushState('NODE'), 36; + break; + case 57: + return T.getLogger().debug('Lexa: ))'), this.pushState('NODE'), 36; + break; + case 58: + return T.getLogger().debug('Lexa: )'), this.pushState('NODE'), 36; + break; + case 59: + return T.getLogger().debug('Lex: ((('), this.pushState('NODE'), 36; + break; + case 60: + return T.getLogger().debug('Lexa: )'), this.pushState('NODE'), 36; + break; + case 61: + return T.getLogger().debug('Lexa: )'), this.pushState('NODE'), 36; + break; + case 62: + return T.getLogger().debug('Lexa: )'), this.pushState('NODE'), 36; + break; + case 63: + return T.getLogger().debug('Lexc: >'), this.pushState('NODE'), 36; + break; + case 64: + return T.getLogger().debug('Lexa: (['), this.pushState('NODE'), 36; + break; + case 65: + return T.getLogger().debug('Lexa: )'), this.pushState('NODE'), 36; + break; + case 66: + return this.pushState('NODE'), 36; + break; + case 67: + return this.pushState('NODE'), 36; + break; + case 68: + return this.pushState('NODE'), 36; + break; + case 69: + return this.pushState('NODE'), 36; + break; + case 70: + return this.pushState('NODE'), 36; + break; + case 71: + return this.pushState('NODE'), 36; + break; + case 72: + return this.pushState('NODE'), 36; + break; + case 73: + return T.getLogger().debug('Lexa: ['), this.pushState('NODE'), 36; + break; + case 74: + return this.pushState('BLOCK_ARROW'), T.getLogger().debug('LEX ARR START'), 38; + break; + case 75: + return T.getLogger().debug('Lex: NODE_ID', E.yytext), 32; + break; + case 76: + return T.getLogger().debug('Lex: EOF', E.yytext), 8; + break; + case 77: + this.pushState('md_string'); + break; + case 78: + this.pushState('md_string'); + break; + case 79: + return 'NODE_DESCR'; + case 80: + this.popState(); + break; + case 81: + T.getLogger().debug('Lex: Starting string'), this.pushState('string'); + break; + case 82: + T.getLogger().debug('LEX ARR: Starting string'), this.pushState('string'); + break; + case 83: + return T.getLogger().debug('LEX: NODE_DESCR:', E.yytext), 'NODE_DESCR'; + break; + case 84: + T.getLogger().debug('LEX POPPING'), this.popState(); + break; + case 85: + T.getLogger().debug('Lex: =>BAE'), this.pushState('ARROW_DIR'); + break; + case 86: + return ( + (E.yytext = E.yytext.replace(/^,\s*/, '')), + T.getLogger().debug('Lex (right): dir:', E.yytext), + 'DIR' + ); + break; + case 87: + return ( + (E.yytext = E.yytext.replace(/^,\s*/, '')), + T.getLogger().debug('Lex (left):', E.yytext), + 'DIR' + ); + break; + case 88: + return ( + (E.yytext = E.yytext.replace(/^,\s*/, '')), + T.getLogger().debug('Lex (x):', E.yytext), + 'DIR' + ); + break; + case 89: + return ( + (E.yytext = E.yytext.replace(/^,\s*/, '')), + T.getLogger().debug('Lex (y):', E.yytext), + 'DIR' + ); + break; + case 90: + return ( + (E.yytext = E.yytext.replace(/^,\s*/, '')), + T.getLogger().debug('Lex (up):', E.yytext), + 'DIR' + ); + break; + case 91: + return ( + (E.yytext = E.yytext.replace(/^,\s*/, '')), + T.getLogger().debug('Lex (down):', E.yytext), + 'DIR' + ); + break; + case 92: + return ( + (E.yytext = ']>'), + T.getLogger().debug('Lex (ARROW_DIR end):', E.yytext), + this.popState(), + this.popState(), + 'BLOCK_ARROW_END' + ); + break; + case 93: + return T.getLogger().debug('Lex: LINK', '#' + E.yytext + '#'), 15; + break; + case 94: + return T.getLogger().debug('Lex: LINK', E.yytext), 15; + break; + case 95: + return T.getLogger().debug('Lex: LINK', E.yytext), 15; + break; + case 96: + return T.getLogger().debug('Lex: LINK', E.yytext), 15; + break; + case 97: + return ( + T.getLogger().debug('Lex: START_LINK', E.yytext), + this.pushState('LLABEL'), + 16 + ); + break; + case 98: + return ( + T.getLogger().debug('Lex: START_LINK', E.yytext), + this.pushState('LLABEL'), + 16 + ); + break; + case 99: + return ( + T.getLogger().debug('Lex: START_LINK', E.yytext), + this.pushState('LLABEL'), + 16 + ); + break; + case 100: + this.pushState('md_string'); + break; + case 101: + return ( + T.getLogger().debug('Lex: Starting string'), + this.pushState('string'), + 'LINK_LABEL' + ); + break; + case 102: + return ( + this.popState(), T.getLogger().debug('Lex: LINK', '#' + E.yytext + '#'), 15 + ); + break; + case 103: + return this.popState(), T.getLogger().debug('Lex: LINK', E.yytext), 15; + break; + case 104: + return this.popState(), T.getLogger().debug('Lex: LINK', E.yytext), 15; + break; + case 105: + return ( + T.getLogger().debug('Lex: COLON', E.yytext), + (E.yytext = E.yytext.slice(1)), + 27 + ); + break; + } + }, 'anonymous'), + rules: [ + /^(?:block-beta\b)/, + /^(?:block\s+)/, + /^(?:block\n+)/, + /^(?:block:)/, + /^(?:[\s]+)/, + /^(?:[\n]+)/, + /^(?:((\u000D\u000A)|(\u000A)))/, + /^(?:columns\s+auto\b)/, + /^(?:columns\s+[\d]+)/, + /^(?:["][`])/, + /^(?:[^`"]+)/, + /^(?:[`]["])/, + /^(?:["])/, + /^(?:["])/, + /^(?:[^"]*)/, + /^(?:space[:]\d+)/, + /^(?:space\b)/, + /^(?:default\b)/, + /^(?:linkStyle\b)/, + /^(?:interpolate\b)/, + /^(?:classDef\s+)/, + /^(?:DEFAULT\s+)/, + /^(?:\w+\s+)/, + /^(?:[^\n]*)/, + /^(?:class\s+)/, + /^(?:(\w+)+((,\s*\w+)*))/, + /^(?:[^\n]*)/, + /^(?:style\s+)/, + /^(?:(\w+)+((,\s*\w+)*))/, + /^(?:[^\n]*)/, + /^(?:accTitle\s*:\s*)/, + /^(?:(?!\n||)*[^\n]*)/, + /^(?:accDescr\s*:\s*)/, + /^(?:(?!\n||)*[^\n]*)/, + /^(?:accDescr\s*\{\s*)/, + /^(?:[\}])/, + /^(?:[^\}]*)/, + /^(?:end\b\s*)/, + /^(?:\(\(\()/, + /^(?:\)\)\))/, + /^(?:[\)]\))/, + /^(?:\}\})/, + /^(?:\})/, + /^(?:\(-)/, + /^(?:-\))/, + /^(?:\(\()/, + /^(?:\]\])/, + /^(?:\()/, + /^(?:\]\))/, + /^(?:\\\])/, + /^(?:\/\])/, + /^(?:\)\])/, + /^(?:[\)])/, + /^(?:\]>)/, + /^(?:[\]])/, + /^(?:-\))/, + /^(?:\(-)/, + /^(?:\)\))/, + /^(?:\))/, + /^(?:\(\(\()/, + /^(?:\(\()/, + /^(?:\{\{)/, + /^(?:\{)/, + /^(?:>)/, + /^(?:\(\[)/, + /^(?:\()/, + /^(?:\[\[)/, + /^(?:\[\|)/, + /^(?:\[\()/, + /^(?:\)\)\))/, + /^(?:\[\\)/, + /^(?:\[\/)/, + /^(?:\[\\)/, + /^(?:\[)/, + /^(?:<\[)/, + /^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/, + /^(?:$)/, + /^(?:["][`])/, + /^(?:["][`])/, + /^(?:[^`"]+)/, + /^(?:[`]["])/, + /^(?:["])/, + /^(?:["])/, + /^(?:[^"]+)/, + /^(?:["])/, + /^(?:\]>\s*\()/, + /^(?:,?\s*right\s*)/, + /^(?:,?\s*left\s*)/, + /^(?:,?\s*x\s*)/, + /^(?:,?\s*y\s*)/, + /^(?:,?\s*up\s*)/, + /^(?:,?\s*down\s*)/, + /^(?:\)\s*)/, + /^(?:\s*[xo<]?--+[-xo>]\s*)/, + /^(?:\s*[xo<]?==+[=xo>]\s*)/, + /^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/, + /^(?:\s*~~[\~]+\s*)/, + /^(?:\s*[xo<]?--\s*)/, + /^(?:\s*[xo<]?==\s*)/, + /^(?:\s*[xo<]?-\.\s*)/, + /^(?:["][`])/, + /^(?:["])/, + /^(?:\s*[xo<]?--+[-xo>]\s*)/, + /^(?:\s*[xo<]?==+[=xo>]\s*)/, + /^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/, + /^(?::\d+)/ + ], + conditions: { + STYLE_DEFINITION: { rules: [29], inclusive: !1 }, + STYLE_STMNT: { rules: [28], inclusive: !1 }, + CLASSDEFID: { rules: [23], inclusive: !1 }, + CLASSDEF: { rules: [21, 22], inclusive: !1 }, + CLASS_STYLE: { rules: [26], inclusive: !1 }, + CLASS: { rules: [25], inclusive: !1 }, + LLABEL: { rules: [100, 101, 102, 103, 104], inclusive: !1 }, + ARROW_DIR: { + rules: [86, 87, 88, 89, 90, 91, 92], + inclusive: !1 + }, + BLOCK_ARROW: { rules: [77, 82, 85], inclusive: !1 }, + NODE: { + rules: [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 78, 81], + inclusive: !1 + }, + md_string: { rules: [10, 11, 79, 80], inclusive: !1 }, + space: { rules: [], inclusive: !1 }, + string: { rules: [13, 14, 83, 84], inclusive: !1 }, + acc_descr_multiline: { rules: [35, 36], inclusive: !1 }, + acc_descr: { rules: [33], inclusive: !1 }, + acc_title: { rules: [31], inclusive: !1 }, + INITIAL: { + rules: [ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 15, 16, 17, 18, 19, 20, 24, 27, 30, 32, 34, + 37, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, + 74, 75, 76, 93, 94, 95, 96, 97, 98, 99, 105 + ], + inclusive: !0 + } + } + }; + return w; + })(); + v.lexer = x; + function b() { + this.yy = {}; + } + return o(b, 'Parser'), (b.prototype = v), (v.Parser = b), new b(); + })(); + GB.parser = GB; + h1e = GB; + }); + function gJe(t) { + switch ((V.debug('typeStr2Type', t), t)) { + case '[]': + return 'square'; + case '()': + return V.debug('we have a round'), 'round'; + case '(())': + return 'circle'; + case '>]': + return 'rect_left_inv_arrow'; + case '{}': + return 'diamond'; + case '{{}}': + return 'hexagon'; + case '([])': + return 'stadium'; + case '[[]]': + return 'subroutine'; + case '[()]': + return 'cylinder'; + case '((()))': + return 'doublecircle'; + case '[//]': + return 'lean_right'; + case '[\\\\]': + return 'lean_left'; + case '[/\\]': + return 'trapezoid'; + case '[\\/]': + return 'inv_trapezoid'; + case '<[]>': + return 'block_arrow'; + default: + return 'na'; + } + } + function yJe(t) { + switch ((V.debug('typeStr2Type', t), t)) { + case '==': + return 'thick'; + default: + return 'normal'; + } + } + function vJe(t) { + switch (t.trim()) { + case '--x': + return 'arrow_cross'; + case '--o': + return 'arrow_circle'; + default: + return 'arrow_point'; + } + } + var Yl, + VB, + $B, + d1e, + p1e, + cJe, + g1e, + uJe, + aC, + hJe, + fJe, + dJe, + pJe, + y1e, + UB, + db, + mJe, + m1e, + xJe, + bJe, + wJe, + TJe, + kJe, + EJe, + CJe, + SJe, + AJe, + _Je, + LJe, + v1e, + x1e = R(() => { + 'use strict'; + gL(); + qs(); + _t(); + ut(); + rr(); + bi(); + (Yl = new Map()), + (VB = []), + ($B = new Map()), + (d1e = 'color'), + (p1e = 'fill'), + (cJe = 'bgFill'), + (g1e = ','), + (uJe = de()), + (aC = new Map()), + (hJe = o((t) => We.sanitizeText(t, uJe), 'sanitizeText')), + (fJe = o(function (t, e = '') { + let r = aC.get(t); + r || ((r = { id: t, styles: [], textStyles: [] }), aC.set(t, r)), + e?.split(g1e).forEach((n) => { + let i = n.replace(/([^;]*);/, '$1').trim(); + if (RegExp(d1e).exec(n)) { + let s = i.replace(p1e, cJe).replace(d1e, p1e); + r.textStyles.push(s); + } + r.styles.push(i); + }); + }, 'addStyleClass')), + (dJe = o(function (t, e = '') { + let r = Yl.get(t); + e != null && (r.styles = e.split(g1e)); + }, 'addStyle2Node')), + (pJe = o(function (t, e) { + t.split(',').forEach(function (r) { + let n = Yl.get(r); + if (n === void 0) { + let i = r.trim(); + (n = { id: i, type: 'na', children: [] }), Yl.set(i, n); + } + n.classes || (n.classes = []), n.classes.push(e); + }); + }, 'setCssClass')), + (y1e = o((t, e) => { + let r = t.flat(), + n = []; + for (let i of r) { + if ((i.label && (i.label = hJe(i.label)), i.type === 'classDef')) { + fJe(i.id, i.css); + continue; + } + if (i.type === 'applyClass') { + pJe(i.id, i?.styleClass ?? ''); + continue; + } + if (i.type === 'applyStyles') { + i?.stylesStr && dJe(i.id, i?.stylesStr); + continue; + } + if (i.type === 'column-setting') e.columns = i.columns ?? -1; + else if (i.type === 'edge') { + let a = ($B.get(i.id) ?? 0) + 1; + $B.set(i.id, a), (i.id = a + '-' + i.id), VB.push(i); + } else { + i.label || (i.type === 'composite' ? (i.label = '') : (i.label = i.id)); + let a = Yl.get(i.id); + if ( + (a === void 0 + ? Yl.set(i.id, i) + : (i.type !== 'na' && (a.type = i.type), i.label !== i.id && (a.label = i.label)), + i.children && y1e(i.children, i), + i.type === 'space') + ) { + let s = i.width ?? 1; + for (let l = 0; l < s; l++) { + let u = Qr(i); + (u.id = u.id + '-' + l), Yl.set(u.id, u), n.push(u); + } + } else a === void 0 && n.push(i); + } + } + e.children = n; + }, 'populateBlockDatabase')), + (UB = []), + (db = { id: 'root', type: 'composite', children: [], columns: -1 }), + (mJe = o(() => { + V.debug('Clear called'), + vr(), + (db = { id: 'root', type: 'composite', children: [], columns: -1 }), + (Yl = new Map([['root', db]])), + (UB = []), + (aC = new Map()), + (VB = []), + ($B = new Map()); + }, 'clear')); + o(gJe, 'typeStr2Type'); + o(yJe, 'edgeTypeStr2Type'); + o(vJe, 'edgeStrToEdgeData'); + (m1e = 0), + (xJe = o(() => (m1e++, 'id-' + Math.random().toString(36).substr(2, 12) + '-' + m1e), 'generateId')), + (bJe = o((t) => { + (db.children = t), y1e(t, db), (UB = db.children); + }, 'setHierarchy')), + (wJe = o((t) => { + let e = Yl.get(t); + return e ? (e.columns ? e.columns : e.children ? e.children.length : -1) : -1; + }, 'getColumns')), + (TJe = o(() => [...Yl.values()], 'getBlocksFlat')), + (kJe = o(() => UB || [], 'getBlocks')), + (EJe = o(() => VB, 'getEdges')), + (CJe = o((t) => Yl.get(t), 'getBlock')), + (SJe = o((t) => { + Yl.set(t.id, t); + }, 'setBlock')), + (AJe = o(() => console, 'getLogger')), + (_Je = o(function () { + return aC; + }, 'getClasses')), + (LJe = { + getConfig: o(() => Or().block, 'getConfig'), + typeStr2Type: gJe, + edgeTypeStr2Type: yJe, + edgeStrToEdgeData: vJe, + getLogger: AJe, + getBlocksFlat: TJe, + getBlocks: kJe, + getEdges: EJe, + setHierarchy: bJe, + getBlock: CJe, + setBlock: SJe, + getColumns: wJe, + getClasses: _Je, + clear: mJe, + generateId: xJe + }), + (v1e = LJe); + }); + var sC, + DJe, + b1e, + w1e = R(() => { + 'use strict'; + al(); + (sC = o((t, e) => { + let r = X1, + n = r(t, 'r'), + i = r(t, 'g'), + a = r(t, 'b'); + return Ws(n, i, a, e); + }, 'fade')), + (DJe = o( + (t) => `.label { + font-family: ${t.fontFamily}; + color: ${t.nodeTextColor || t.textColor}; + } + .cluster-label text { + fill: ${t.titleColor}; + } + .cluster-label span,p { + color: ${t.titleColor}; + } + + + + .label text,span,p { + fill: ${t.nodeTextColor || t.textColor}; + color: ${t.nodeTextColor || t.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + stroke-width: 1px; + } + .flowchart-label text { + text-anchor: middle; + } + // .flowchart-label .text-outer-tspan { + // text-anchor: middle; + // } + // .flowchart-label .text-inner-tspan { + // text-anchor: start; + // } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${t.arrowheadColor}; + } + + .edgePath .path { + stroke: ${t.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${t.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${t.edgeLabelBackground}; + rect { + opacity: 0.5; + background-color: ${t.edgeLabelBackground}; + fill: ${t.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${sC(t.edgeLabelBackground, 0.5)}; + // background-color: + } + + .node .cluster { + // fill: ${sC(t.mainBkg, 0.5)}; + fill: ${sC(t.clusterBkg, 0.5)}; + stroke: ${sC(t.clusterBorder, 0.2)}; + box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px; + stroke-width: 1px; + } + + .cluster text { + fill: ${t.titleColor}; + } + + .cluster span,p { + color: ${t.titleColor}; + } + /* .cluster div { + color: ${t.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${t.fontFamily}; + font-size: 12px; + background: ${t.tertiaryColor}; + border: 1px solid ${t.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; + } +`, + 'getStyles' + )), + (b1e = DJe); + }); + function RJe(t, e) { + if (t === 0 || !Number.isInteger(t)) throw new Error('Columns must be an integer !== 0.'); + if (e < 0 || !Number.isInteger(e)) throw new Error('Position must be a non-negative integer.' + e); + if (t < 0) return { px: e, py: 0 }; + if (t === 1) return { px: 0, py: e }; + let r = e % t, + n = Math.floor(e / t); + return { px: r, py: n }; + } + function HB(t, e, r = 0, n = 0) { + V.debug('setBlockSizes abc95 (start)', t.id, t?.size?.x, 'block width =', t?.size, 'sieblingWidth', r), + t?.size?.width || (t.size = { width: r, height: n, x: 0, y: 0 }); + let i = 0, + a = 0; + if (t.children?.length > 0) { + for (let m of t.children) HB(m, e); + let s = NJe(t); + (i = s.width), (a = s.height), V.debug('setBlockSizes abc95 maxWidth of', t.id, ':s children is ', i, a); + for (let m of t.children) + m.size && + (V.debug( + `abc95 Setting size of children of ${t.id} id=${m.id} ${i} ${a} ${JSON.stringify(m.size)}` + ), + (m.size.width = i * (m.widthInColumns ?? 1) + mi * ((m.widthInColumns ?? 1) - 1)), + (m.size.height = a), + (m.size.x = 0), + (m.size.y = 0), + V.debug(`abc95 updating size of ${t.id} children child:${m.id} maxWidth:${i} maxHeight:${a}`)); + for (let m of t.children) HB(m, e, i, a); + let l = t.columns ?? -1, + u = 0; + for (let m of t.children) u += m.widthInColumns ?? 1; + let h = t.children.length; + l > 0 && l < u && (h = l); + let f = Math.ceil(u / h), + d = h * (i + mi) + mi, + p = f * (a + mi) + mi; + if (d < r) { + V.debug(`Detected to small siebling: abc95 ${t.id} sieblingWidth ${r} sieblingHeight ${n} width ${d}`), + (d = r), + (p = n); + let m = (r - h * mi - mi) / h, + g = (n - f * mi - mi) / f; + V.debug('Size indata abc88', t.id, 'childWidth', m, 'maxWidth', i), + V.debug('Size indata abc88', t.id, 'childHeight', g, 'maxHeight', a), + V.debug('Size indata abc88 xSize', h, 'padding', mi); + for (let y of t.children) + y.size && ((y.size.width = m), (y.size.height = g), (y.size.x = 0), (y.size.y = 0)); + } + if ( + (V.debug( + `abc95 (finale calc) ${t.id} xSize ${h} ySize ${f} columns ${l}${ + t.children.length + } width=${Math.max(d, t.size?.width || 0)}` + ), + d < (t?.size?.width || 0)) + ) { + d = t?.size?.width || 0; + let m = l > 0 ? Math.min(t.children.length, l) : t.children.length; + if (m > 0) { + let g = (d - m * mi - mi) / m; + V.debug('abc95 (growing to fit) width', t.id, d, t.size?.width, g); + for (let y of t.children) y.size && (y.size.width = g); + } + } + t.size = { width: d, height: p, x: 0, y: 0 }; + } + V.debug('setBlockSizes abc94 (done)', t.id, t?.size?.x, t?.size?.width, t?.size?.y, t?.size?.height); + } + function T1e(t, e) { + V.debug( + `abc85 layout blocks (=>layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}` + ); + let r = t.columns ?? -1; + if ((V.debug('layoutBlocks columns abc95', t.id, '=>', r, t), t.children && t.children.length > 0)) { + let n = t?.children[0]?.size?.width ?? 0, + i = t.children.length * n + (t.children.length - 1) * mi; + V.debug('widthOfChildren 88', i, 'posX'); + let a = 0; + V.debug('abc91 block?.size?.x', t.id, t?.size?.x); + let s = t?.size?.x ? t?.size?.x + (-t?.size?.width / 2 || 0) : -mi, + l = 0; + for (let u of t.children) { + let h = t; + if (!u.size) continue; + let { width: f, height: d } = u.size, + { px: p, py: m } = RJe(r, a); + if ( + (m != l && + ((l = m), + (s = t?.size?.x ? t?.size?.x + (-t?.size?.width / 2 || 0) : -mi), + V.debug('New row in layout for block', t.id, ' and child ', u.id, l)), + V.debug( + `abc89 layout blocks (child) id: ${u.id} Pos: ${a} (px, py) ${p},${m} (${h?.size?.x},${h?.size?.y}) parent: ${h.id} width: ${f}${mi}` + ), + h.size) + ) { + let g = f / 2; + (u.size.x = s + mi + g), + V.debug( + `abc91 layout blocks (calc) px, pyid:${u.id} startingPos=X${s} new startingPosX${ + u.size.x + } ${g} padding=${mi} width=${f} halfWidth=${g} => x:${u.size.x} y:${u.size.y} ${ + u.widthInColumns + } (width * (child?.w || 1)) / 2 ${(f * (u?.widthInColumns ?? 1)) / 2}` + ), + (s = u.size.x + g), + (u.size.y = h.size.y - h.size.height / 2 + m * (d + mi) + d / 2 + mi), + V.debug( + `abc88 layout blocks (calc) px, pyid:${u.id}startingPosX${s}${mi}${g}=>x:${u.size.x}y:${ + u.size.y + }${u.widthInColumns}(width * (child?.w || 1)) / 2${(f * (u?.widthInColumns ?? 1)) / 2}` + ); + } + u.children && T1e(u, e), (a += u?.widthInColumns ?? 1), V.debug('abc88 columnsPos', u, a); + } + } + V.debug(`layout blocks (<==layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`); + } + function k1e( + t, + { minX: e, minY: r, maxX: n, maxY: i } = { + minX: 0, + minY: 0, + maxX: 0, + maxY: 0 + } + ) { + if (t.size && t.id !== 'root') { + let { x: a, y: s, width: l, height: u } = t.size; + a - l / 2 < e && (e = a - l / 2), + s - u / 2 < r && (r = s - u / 2), + a + l / 2 > n && (n = a + l / 2), + s + u / 2 > i && (i = s + u / 2); + } + if (t.children) + for (let a of t.children) + ({ minX: e, minY: r, maxX: n, maxY: i } = k1e(a, { minX: e, minY: r, maxX: n, maxY: i })); + return { minX: e, minY: r, maxX: n, maxY: i }; + } + function E1e(t) { + let e = t.getBlock('root'); + if (!e) return; + HB(e, t, 0, 0), T1e(e, t), V.debug('getBlocks', JSON.stringify(e, null, 2)); + let { minX: r, minY: n, maxX: i, maxY: a } = k1e(e), + s = a - n, + l = i - r; + return { x: r, y: n, width: l, height: s }; + } + var mi, + NJe, + C1e = R(() => { + 'use strict'; + ut(); + _t(); + mi = de()?.block?.padding ?? 8; + o(RJe, 'calculateBlockPosition'); + NJe = o((t) => { + let e = 0, + r = 0; + for (let n of t.children) { + let { width: i, height: a, x: s, y: l } = n.size ?? { width: 0, height: 0, x: 0, y: 0 }; + V.debug('getMaxChildSize abc95 child:', n.id, 'width:', i, 'height:', a, 'x:', s, 'y:', l, n.type), + n.type !== 'space' && (i > e && (e = i / (t.widthInColumns ?? 1)), a > r && (r = a)); + } + return { width: e, height: r }; + }, 'getMaxChildSize'); + o(HB, 'setBlockSizes'); + o(T1e, 'layoutBlocks'); + o(k1e, 'findBounds'); + o(E1e, 'layout'); + }); + function S1e(t, e, r = !1) { + let n = t, + i = 'default'; + (n?.classes?.length || 0) > 0 && (i = (n?.classes ?? []).join(' ')), (i = i + ' flowchart-label'); + let a = 0, + s = '', + l; + switch (n.type) { + case 'round': + (a = 5), (s = 'rect'); + break; + case 'composite': + (a = 0), (s = 'composite'), (l = 0); + break; + case 'square': + s = 'rect'; + break; + case 'diamond': + s = 'question'; + break; + case 'hexagon': + s = 'hexagon'; + break; + case 'block_arrow': + s = 'block_arrow'; + break; + case 'odd': + s = 'rect_left_inv_arrow'; + break; + case 'lean_right': + s = 'lean_right'; + break; + case 'lean_left': + s = 'lean_left'; + break; + case 'trapezoid': + s = 'trapezoid'; + break; + case 'inv_trapezoid': + s = 'inv_trapezoid'; + break; + case 'rect_left_inv_arrow': + s = 'rect_left_inv_arrow'; + break; + case 'circle': + s = 'circle'; + break; + case 'ellipse': + s = 'ellipse'; + break; + case 'stadium': + s = 'stadium'; + break; + case 'subroutine': + s = 'subroutine'; + break; + case 'cylinder': + s = 'cylinder'; + break; + case 'group': + s = 'rect'; + break; + case 'doublecircle': + s = 'doublecircle'; + break; + default: + s = 'rect'; + } + let u = lm(n?.styles ?? []), + h = n.label, + f = n.size ?? { width: 0, height: 0, x: 0, y: 0 }; + return { + labelStyle: u.labelStyle, + shape: s, + labelText: h, + rx: a, + ry: a, + class: i, + style: u.style, + id: n.id, + directions: n.directions, + width: f.width, + height: f.height, + x: f.x, + y: f.y, + positioned: r, + intersect: void 0, + type: n.type, + padding: l ?? Or()?.block?.padding ?? 0 + }; + } + async function MJe(t, e, r) { + let n = S1e(e, r, !1); + if (n.type === 'group') return; + let i = await pm(t, n), + a = i.node().getBBox(), + s = r.getBlock(n.id); + (s.size = { width: a.width, height: a.height, x: 0, y: 0, node: i }), r.setBlock(s), i.remove(); + } + async function IJe(t, e, r) { + let n = S1e(e, r, !0); + r.getBlock(n.id).type !== 'space' && (await pm(t, n), (e.intersect = n?.intersect), wv(n)); + } + async function YB(t, e, r, n) { + for (let i of e) await n(t, i, r), i.children && (await YB(t, i.children, r, n)); + } + async function A1e(t, e, r) { + await YB(t, e, r, MJe); + } + async function _1e(t, e, r) { + await YB(t, e, r, IJe); + } + async function L1e(t, e, r, n, i) { + let a = new lr({ multigraph: !0, compound: !0 }); + a.setGraph({ + rankdir: 'TB', + nodesep: 10, + ranksep: 10, + marginx: 8, + marginy: 8 + }); + for (let s of r) + s.size && + a.setNode(s.id, { + width: s.size.width, + height: s.size.height, + intersect: s.intersect + }); + for (let s of e) + if (s.start && s.end) { + let l = n.getBlock(s.start), + u = n.getBlock(s.end); + if (l?.size && u?.size) { + let h = l.size, + f = u.size, + d = [ + { x: h.x, y: h.y }, + { x: h.x + (f.x - h.x) / 2, y: h.y + (f.y - h.y) / 2 }, + { x: f.x, y: f.y } + ]; + PE( + t, + { v: s.start, w: s.end, name: s.id }, + { + ...s, + arrowTypeEnd: s.arrowTypeEnd, + arrowTypeStart: s.arrowTypeStart, + points: d, + classes: 'edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1' + }, + void 0, + 'block', + a, + i + ), + s.label && + (await IE(t, { + ...s, + label: s.label, + labelStyle: 'stroke: #333; stroke-width: 1.5px;fill:none;', + arrowTypeEnd: s.arrowTypeEnd, + arrowTypeStart: s.arrowTypeStart, + points: d, + classes: 'edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1' + }), + OE({ ...s, x: d[1].x, y: d[1].y }, { originalPath: d })); + } + } + } + var D1e = R(() => { + 'use strict'; + ya(); + qs(); + DO(); + M5(); + xr(); + o(S1e, 'getNodeFromBlock'); + o(MJe, 'calculateBlockSize'); + o(IJe, 'insertBlockPositioned'); + o(YB, 'performOperations'); + o(A1e, 'calculateBlockSizes'); + o(_1e, 'insertBlocks'); + o(L1e, 'insertEdges'); + }); + var OJe, + PJe, + R1e, + N1e = R(() => { + 'use strict'; + Zt(); + qs(); + LO(); + ut(); + Yn(); + C1e(); + D1e(); + (OJe = o(function (t, e) { + return e.db.getClasses(); + }, 'getClasses')), + (PJe = o(async function (t, e, r, n) { + let { securityLevel: i, block: a } = Or(), + s = n.db, + l; + i === 'sandbox' && (l = $e('#i' + e)); + let u = i === 'sandbox' ? $e(l.nodes()[0].contentDocument.body) : $e('body'), + h = i === 'sandbox' ? u.select(`[id="${e}"]`) : $e(`[id="${e}"]`); + LE(h, ['point', 'circle', 'cross'], n.type, e); + let d = s.getBlocks(), + p = s.getBlocksFlat(), + m = s.getEdges(), + g = h.insert('g').attr('class', 'block'); + await A1e(g, d, s); + let y = E1e(s); + if ((await _1e(g, d, s), await L1e(g, m, p, s, e), y)) { + let v = y, + x = Math.max(1, Math.round(0.125 * (v.width / v.height))), + b = v.height + x + 10, + w = v.width + 10, + { useMaxWidth: S } = a; + Sr(h, b, w, !!S), + V.debug('Here Bounds', y, v), + h.attr('viewBox', `${v.x - 5} ${v.y - 5} ${v.width + 10} ${v.height + 10}`); + } + }, 'draw')), + (R1e = { draw: PJe, getClasses: OJe }); + }); + var M1e = {}; + hr(M1e, { diagram: () => BJe }); + var BJe, + I1e = R(() => { + 'use strict'; + f1e(); + x1e(); + w1e(); + N1e(); + BJe = { parser: h1e, db: v1e, renderer: R1e, styles: b1e }; + }); + var WB, + qB, + pb, + B1e, + XB, + cs, + Wc, + oC, + F1e, + $Je, + mb, + z1e, + G1e, + $1e, + V1e, + lC, + If, + cC = R(() => { + 'use strict'; + (WB = { L: 'left', R: 'right', T: 'top', B: 'bottom' }), + (qB = { + L: o((t) => `${t},${t / 2} 0,${t} 0,0`, 'L'), + R: o((t) => `0,${t / 2} ${t},0 ${t},${t}`, 'R'), + T: o((t) => `0,0 ${t},0 ${t / 2},${t}`, 'T'), + B: o((t) => `${t / 2},0 ${t},${t} 0,${t}`, 'B') + }), + (pb = { + L: o((t, e) => t - e + 2, 'L'), + R: o((t, e) => t - 2, 'R'), + T: o((t, e) => t - e + 2, 'T'), + B: o((t, e) => t - 2, 'B') + }), + (B1e = o(function (t) { + return cs(t) ? (t === 'L' ? 'R' : 'L') : t === 'T' ? 'B' : 'T'; + }, 'getOppositeArchitectureDirection')), + (XB = o(function (t) { + let e = t; + return e === 'L' || e === 'R' || e === 'T' || e === 'B'; + }, 'isArchitectureDirection')), + (cs = o(function (t) { + let e = t; + return e === 'L' || e === 'R'; + }, 'isArchitectureDirectionX')), + (Wc = o(function (t) { + let e = t; + return e === 'T' || e === 'B'; + }, 'isArchitectureDirectionY')), + (oC = o(function (t, e) { + let r = cs(t) && Wc(e), + n = Wc(t) && cs(e); + return r || n; + }, 'isArchitectureDirectionXY')), + (F1e = o(function (t) { + let e = t[0], + r = t[1], + n = cs(e) && Wc(r), + i = Wc(e) && cs(r); + return n || i; + }, 'isArchitecturePairXY')), + ($Je = o(function (t) { + return t !== 'LL' && t !== 'RR' && t !== 'TT' && t !== 'BB'; + }, 'isValidArchitectureDirectionPair')), + (mb = o(function (t, e) { + let r = `${t}${e}`; + return $Je(r) ? r : void 0; + }, 'getArchitectureDirectionPair')), + (z1e = o(function ([t, e], r) { + let n = r[0], + i = r[1]; + return cs(n) + ? Wc(i) + ? [t + (n === 'L' ? -1 : 1), e + (i === 'T' ? 1 : -1)] + : [t + (n === 'L' ? -1 : 1), e] + : cs(i) + ? [t + (i === 'L' ? 1 : -1), e + (n === 'T' ? 1 : -1)] + : [t, e + (n === 'T' ? 1 : -1)]; + }, 'shiftPositionByArchitectureDirectionPair')), + (G1e = o(function (t) { + return t === 'LT' || t === 'TL' + ? [1, 1] + : t === 'BL' || t === 'LB' + ? [1, -1] + : t === 'BR' || t === 'RB' + ? [-1, -1] + : [-1, 1]; + }, 'getArchitectureDirectionXYFactors')), + ($1e = o(function (t) { + return t.type === 'service'; + }, 'isArchitectureService')), + (V1e = o(function (t) { + return t.type === 'junction'; + }, 'isArchitectureJunction')), + (lC = o((t) => t.data(), 'edgeData')), + (If = o((t) => t.data(), 'nodeData')); + }); + function Ci(t) { + let e = de().architecture; + return e?.[t] ? e[t] : U1e[t]; + } + var U1e, + nr, + VJe, + UJe, + HJe, + YJe, + WJe, + qJe, + XJe, + jJe, + KJe, + QJe, + ZJe, + JJe, + eet, + tet, + Z0, + gb = R(() => { + 'use strict'; + sl(); + _t(); + Jk(); + bi(); + cC(); + (U1e = mr.architecture), + (nr = new uf(() => ({ + nodes: {}, + groups: {}, + edges: [], + registeredIds: {}, + config: U1e, + dataStructures: void 0, + elements: {} + }))), + (VJe = o(() => { + nr.reset(), vr(); + }, 'clear')), + (UJe = o(function ({ id: t, icon: e, in: r, title: n, iconText: i }) { + if (nr.records.registeredIds[t] !== void 0) + throw new Error( + `The service id [${t}] is already in use by another ${nr.records.registeredIds[t]}` + ); + if (r !== void 0) { + if (t === r) throw new Error(`The service [${t}] cannot be placed within itself`); + if (nr.records.registeredIds[r] === void 0) + throw new Error( + `The service [${t}]'s parent does not exist. Please make sure the parent is created before this service` + ); + if (nr.records.registeredIds[r] === 'node') + throw new Error(`The service [${t}]'s parent is not a group`); + } + (nr.records.registeredIds[t] = 'node'), + (nr.records.nodes[t] = { + id: t, + type: 'service', + icon: e, + iconText: i, + title: n, + edges: [], + in: r + }); + }, 'addService')), + (HJe = o(() => Object.values(nr.records.nodes).filter($1e), 'getServices')), + (YJe = o(function ({ id: t, in: e }) { + (nr.records.registeredIds[t] = 'node'), + (nr.records.nodes[t] = { + id: t, + type: 'junction', + edges: [], + in: e + }); + }, 'addJunction')), + (WJe = o(() => Object.values(nr.records.nodes).filter(V1e), 'getJunctions')), + (qJe = o(() => Object.values(nr.records.nodes), 'getNodes')), + (XJe = o((t) => nr.records.nodes[t], 'getNode')), + (jJe = o(function ({ id: t, icon: e, in: r, title: n }) { + if (nr.records.registeredIds[t] !== void 0) + throw new Error( + `The group id [${t}] is already in use by another ${nr.records.registeredIds[t]}` + ); + if (r !== void 0) { + if (t === r) throw new Error(`The group [${t}] cannot be placed within itself`); + if (nr.records.registeredIds[r] === void 0) + throw new Error( + `The group [${t}]'s parent does not exist. Please make sure the parent is created before this group` + ); + if (nr.records.registeredIds[r] === 'node') + throw new Error(`The group [${t}]'s parent is not a group`); + } + (nr.records.registeredIds[t] = 'group'), + (nr.records.groups[t] = { id: t, icon: e, title: n, in: r }); + }, 'addGroup')), + (KJe = o(() => Object.values(nr.records.groups), 'getGroups')), + (QJe = o(function ({ + lhsId: t, + rhsId: e, + lhsDir: r, + rhsDir: n, + lhsInto: i, + rhsInto: a, + lhsGroup: s, + rhsGroup: l, + title: u + }) { + if (!XB(r)) + throw new Error( + `Invalid direction given for left hand side of edge ${t}--${e}. Expected (L,R,T,B) got ${r}` + ); + if (!XB(n)) + throw new Error( + `Invalid direction given for right hand side of edge ${t}--${e}. Expected (L,R,T,B) got ${n}` + ); + if (nr.records.nodes[t] === void 0 && nr.records.groups[t] === void 0) + throw new Error( + `The left-hand id [${t}] does not yet exist. Please create the service/group before declaring an edge to it.` + ); + if (nr.records.nodes[e] === void 0 && nr.records.groups[t] === void 0) + throw new Error( + `The right-hand id [${e}] does not yet exist. Please create the service/group before declaring an edge to it.` + ); + let h = nr.records.nodes[t].in, + f = nr.records.nodes[e].in; + if (s && h && f && h == f) + throw new Error( + `The left-hand id [${t}] is modified to traverse the group boundary, but the edge does not pass through two groups.` + ); + if (l && h && f && h == f) + throw new Error( + `The right-hand id [${e}] is modified to traverse the group boundary, but the edge does not pass through two groups.` + ); + let d = { + lhsId: t, + lhsDir: r, + lhsInto: i, + lhsGroup: s, + rhsId: e, + rhsDir: n, + rhsInto: a, + rhsGroup: l, + title: u + }; + nr.records.edges.push(d), + nr.records.nodes[t] && + nr.records.nodes[e] && + (nr.records.nodes[t].edges.push(nr.records.edges[nr.records.edges.length - 1]), + nr.records.nodes[e].edges.push(nr.records.edges[nr.records.edges.length - 1])); + }, + 'addEdge')), + (ZJe = o(() => nr.records.edges, 'getEdges')), + (JJe = o(() => { + if (nr.records.dataStructures === void 0) { + let t = Object.entries(nr.records.nodes).reduce( + (s, [l, u]) => ( + (s[l] = u.edges.reduce((h, f) => { + if (f.lhsId === l) { + let d = mb(f.lhsDir, f.rhsDir); + d && (h[d] = f.rhsId); + } else { + let d = mb(f.rhsDir, f.lhsDir); + d && (h[d] = f.lhsId); + } + return h; + }, {})), + s + ), + {} + ), + e = Object.keys(t)[0], + r = { [e]: 1 }, + n = Object.keys(t).reduce((s, l) => (l === e ? s : { ...s, [l]: 1 }), {}), + i = o((s) => { + let l = { [s]: [0, 0] }, + u = [s]; + for (; u.length > 0; ) { + let h = u.shift(); + if (h) { + (r[h] = 1), delete n[h]; + let f = t[h], + [d, p] = l[h]; + Object.entries(f).forEach(([m, g]) => { + r[g] || ((l[g] = z1e([d, p], m)), u.push(g)); + }); + } + } + return l; + }, 'BFS'), + a = [i(e)]; + for (; Object.keys(n).length > 0; ) a.push(i(Object.keys(n)[0])); + nr.records.dataStructures = { adjList: t, spatialMaps: a }; + } + return nr.records.dataStructures; + }, 'getDataStructures')), + (eet = o((t, e) => { + nr.records.elements[t] = e; + }, 'setElementForId')), + (tet = o((t) => nr.records.elements[t], 'getElementById')), + (Z0 = { + clear: VJe, + setDiagramTitle: nn, + getDiagramTitle: Xr, + setAccTitle: kr, + getAccTitle: Ar, + setAccDescription: _r, + getAccDescription: Lr, + addService: UJe, + getServices: HJe, + addJunction: YJe, + getJunctions: WJe, + getNodes: qJe, + getNode: XJe, + addGroup: jJe, + getGroups: KJe, + addEdge: QJe, + getEdges: ZJe, + setElementForId: eet, + getElementById: tet, + getDataStructures: JJe + }); + o(Ci, 'getConfigField'); + }); + var ret, + H1e, + Y1e = R(() => { + 'use strict'; + Lg(); + ut(); + sx(); + gb(); + (ret = o((t, e) => { + cf(t, e), + t.groups.map(e.addGroup), + t.services.map((r) => e.addService({ ...r, type: 'service' })), + t.junctions.map((r) => e.addJunction({ ...r, type: 'junction' })), + t.edges.map(e.addEdge); + }, 'populateDb')), + (H1e = { + parse: o(async (t) => { + let e = await Fl('architecture', t); + V.debug(e), ret(e, Z0); + }, 'parse') + }); + }); + var net, + W1e, + q1e = R(() => { + 'use strict'; + (net = o( + (t) => ` + .edge { + stroke-width: ${t.archEdgeWidth}; + stroke: ${t.archEdgeColor}; + fill: none; + } + + .arrow { + fill: ${t.archEdgeArrowColor}; + } + + .node-bkg { + fill: none; + stroke: ${t.archGroupBorderColor}; + stroke-width: ${t.archGroupBorderWidth}; + stroke-dasharray: 8; + } + .node-icon-text { + display: flex; + align-items: center; + } + + .node-icon-text > div { + color: #fff; + margin: 1px; + height: fit-content; + text-align: center; + overflow: hidden; + display: -webkit-box; + -webkit-box-orient: vertical; + } +`, + 'getStyles' + )), + (W1e = net); + }); + var KB = gi((yb, jB) => { + 'use strict'; + o(function (e, r) { + typeof yb == 'object' && typeof jB == 'object' + ? (jB.exports = r()) + : typeof define == 'function' && define.amd + ? define([], r) + : typeof yb == 'object' + ? (yb.layoutBase = r()) + : (e.layoutBase = r()); + }, 'webpackUniversalModuleDefinition')(yb, function () { + return (function (t) { + var e = {}; + function r(n) { + if (e[n]) return e[n].exports; + var i = (e[n] = { i: n, l: !1, exports: {} }); + return t[n].call(i.exports, i, i.exports, r), (i.l = !0), i.exports; + } + return ( + o(r, '__webpack_require__'), + (r.m = t), + (r.c = e), + (r.i = function (n) { + return n; + }), + (r.d = function (n, i, a) { + r.o(n, i) || + Object.defineProperty(n, i, { + configurable: !1, + enumerable: !0, + get: a + }); + }), + (r.n = function (n) { + var i = + n && n.__esModule + ? o(function () { + return n.default; + }, 'getDefault') + : o(function () { + return n; + }, 'getModuleExports'); + return r.d(i, 'a', i), i; + }), + (r.o = function (n, i) { + return Object.prototype.hasOwnProperty.call(n, i); + }), + (r.p = ''), + r((r.s = 28)) + ); + })([ + function (t, e, r) { + 'use strict'; + function n() {} + o(n, 'LayoutConstants'), + (n.QUALITY = 1), + (n.DEFAULT_CREATE_BENDS_AS_NEEDED = !1), + (n.DEFAULT_INCREMENTAL = !1), + (n.DEFAULT_ANIMATION_ON_LAYOUT = !0), + (n.DEFAULT_ANIMATION_DURING_LAYOUT = !1), + (n.DEFAULT_ANIMATION_PERIOD = 50), + (n.DEFAULT_UNIFORM_LEAF_NODE_SIZES = !1), + (n.DEFAULT_GRAPH_MARGIN = 15), + (n.NODE_DIMENSIONS_INCLUDE_LABELS = !1), + (n.SIMPLE_NODE_SIZE = 40), + (n.SIMPLE_NODE_HALF_SIZE = n.SIMPLE_NODE_SIZE / 2), + (n.EMPTY_COMPOUND_NODE_SIZE = 40), + (n.MIN_EDGE_LENGTH = 1), + (n.WORLD_BOUNDARY = 1e6), + (n.INITIAL_WORLD_BOUNDARY = n.WORLD_BOUNDARY / 1e3), + (n.WORLD_CENTER_X = 1200), + (n.WORLD_CENTER_Y = 900), + (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + var n = r(2), + i = r(8), + a = r(9); + function s(u, h, f) { + n.call(this, f), + (this.isOverlapingSourceAndTarget = !1), + (this.vGraphObject = f), + (this.bendpoints = []), + (this.source = u), + (this.target = h); + } + o(s, 'LEdge'), (s.prototype = Object.create(n.prototype)); + for (var l in n) s[l] = n[l]; + (s.prototype.getSource = function () { + return this.source; + }), + (s.prototype.getTarget = function () { + return this.target; + }), + (s.prototype.isInterGraph = function () { + return this.isInterGraph; + }), + (s.prototype.getLength = function () { + return this.length; + }), + (s.prototype.isOverlapingSourceAndTarget = function () { + return this.isOverlapingSourceAndTarget; + }), + (s.prototype.getBendpoints = function () { + return this.bendpoints; + }), + (s.prototype.getLca = function () { + return this.lca; + }), + (s.prototype.getSourceInLca = function () { + return this.sourceInLca; + }), + (s.prototype.getTargetInLca = function () { + return this.targetInLca; + }), + (s.prototype.getOtherEnd = function (u) { + if (this.source === u) return this.target; + if (this.target === u) return this.source; + throw 'Node is not incident with this edge'; + }), + (s.prototype.getOtherEndInGraph = function (u, h) { + for (var f = this.getOtherEnd(u), d = h.getGraphManager().getRoot(); ; ) { + if (f.getOwner() == h) return f; + if (f.getOwner() == d) break; + f = f.getOwner().getParent(); + } + return null; + }), + (s.prototype.updateLength = function () { + var u = new Array(4); + (this.isOverlapingSourceAndTarget = i.getIntersection( + this.target.getRect(), + this.source.getRect(), + u + )), + this.isOverlapingSourceAndTarget || + ((this.lengthX = u[0] - u[2]), + (this.lengthY = u[1] - u[3]), + Math.abs(this.lengthX) < 1 && (this.lengthX = a.sign(this.lengthX)), + Math.abs(this.lengthY) < 1 && (this.lengthY = a.sign(this.lengthY)), + (this.length = Math.sqrt( + this.lengthX * this.lengthX + this.lengthY * this.lengthY + ))); + }), + (s.prototype.updateLengthSimple = function () { + (this.lengthX = this.target.getCenterX() - this.source.getCenterX()), + (this.lengthY = this.target.getCenterY() - this.source.getCenterY()), + Math.abs(this.lengthX) < 1 && (this.lengthX = a.sign(this.lengthX)), + Math.abs(this.lengthY) < 1 && (this.lengthY = a.sign(this.lengthY)), + (this.length = Math.sqrt(this.lengthX * this.lengthX + this.lengthY * this.lengthY)); + }), + (t.exports = s); + }, + function (t, e, r) { + 'use strict'; + function n(i) { + this.vGraphObject = i; + } + o(n, 'LGraphObject'), (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + var n = r(2), + i = r(10), + a = r(13), + s = r(0), + l = r(16), + u = r(5); + function h(d, p, m, g) { + m == null && g == null && (g = p), + n.call(this, g), + d.graphManager != null && (d = d.graphManager), + (this.estimatedSize = i.MIN_VALUE), + (this.inclusionTreeDepth = i.MAX_VALUE), + (this.vGraphObject = g), + (this.edges = []), + (this.graphManager = d), + m != null && p != null + ? (this.rect = new a(p.x, p.y, m.width, m.height)) + : (this.rect = new a()); + } + o(h, 'LNode'), (h.prototype = Object.create(n.prototype)); + for (var f in n) h[f] = n[f]; + (h.prototype.getEdges = function () { + return this.edges; + }), + (h.prototype.getChild = function () { + return this.child; + }), + (h.prototype.getOwner = function () { + return this.owner; + }), + (h.prototype.getWidth = function () { + return this.rect.width; + }), + (h.prototype.setWidth = function (d) { + this.rect.width = d; + }), + (h.prototype.getHeight = function () { + return this.rect.height; + }), + (h.prototype.setHeight = function (d) { + this.rect.height = d; + }), + (h.prototype.getCenterX = function () { + return this.rect.x + this.rect.width / 2; + }), + (h.prototype.getCenterY = function () { + return this.rect.y + this.rect.height / 2; + }), + (h.prototype.getCenter = function () { + return new u(this.rect.x + this.rect.width / 2, this.rect.y + this.rect.height / 2); + }), + (h.prototype.getLocation = function () { + return new u(this.rect.x, this.rect.y); + }), + (h.prototype.getRect = function () { + return this.rect; + }), + (h.prototype.getDiagonal = function () { + return Math.sqrt(this.rect.width * this.rect.width + this.rect.height * this.rect.height); + }), + (h.prototype.getHalfTheDiagonal = function () { + return ( + Math.sqrt(this.rect.height * this.rect.height + this.rect.width * this.rect.width) / 2 + ); + }), + (h.prototype.setRect = function (d, p) { + (this.rect.x = d.x), + (this.rect.y = d.y), + (this.rect.width = p.width), + (this.rect.height = p.height); + }), + (h.prototype.setCenter = function (d, p) { + (this.rect.x = d - this.rect.width / 2), (this.rect.y = p - this.rect.height / 2); + }), + (h.prototype.setLocation = function (d, p) { + (this.rect.x = d), (this.rect.y = p); + }), + (h.prototype.moveBy = function (d, p) { + (this.rect.x += d), (this.rect.y += p); + }), + (h.prototype.getEdgeListToNode = function (d) { + var p = [], + m, + g = this; + return ( + g.edges.forEach(function (y) { + if (y.target == d) { + if (y.source != g) throw 'Incorrect edge source!'; + p.push(y); + } + }), + p + ); + }), + (h.prototype.getEdgesBetween = function (d) { + var p = [], + m, + g = this; + return ( + g.edges.forEach(function (y) { + if (!(y.source == g || y.target == g)) throw 'Incorrect edge source and/or target'; + (y.target == d || y.source == d) && p.push(y); + }), + p + ); + }), + (h.prototype.getNeighborsList = function () { + var d = new Set(), + p = this; + return ( + p.edges.forEach(function (m) { + if (m.source == p) d.add(m.target); + else { + if (m.target != p) throw 'Incorrect incidency!'; + d.add(m.source); + } + }), + d + ); + }), + (h.prototype.withChildren = function () { + var d = new Set(), + p, + m; + if ((d.add(this), this.child != null)) + for (var g = this.child.getNodes(), y = 0; y < g.length; y++) + (p = g[y]), + (m = p.withChildren()), + m.forEach(function (v) { + d.add(v); + }); + return d; + }), + (h.prototype.getNoOfChildren = function () { + var d = 0, + p; + if (this.child == null) d = 1; + else + for (var m = this.child.getNodes(), g = 0; g < m.length; g++) + (p = m[g]), (d += p.getNoOfChildren()); + return d == 0 && (d = 1), d; + }), + (h.prototype.getEstimatedSize = function () { + if (this.estimatedSize == i.MIN_VALUE) throw 'assert failed'; + return this.estimatedSize; + }), + (h.prototype.calcEstimatedSize = function () { + return this.child == null + ? (this.estimatedSize = (this.rect.width + this.rect.height) / 2) + : ((this.estimatedSize = this.child.calcEstimatedSize()), + (this.rect.width = this.estimatedSize), + (this.rect.height = this.estimatedSize), + this.estimatedSize); + }), + (h.prototype.scatter = function () { + var d, + p, + m = -s.INITIAL_WORLD_BOUNDARY, + g = s.INITIAL_WORLD_BOUNDARY; + d = s.WORLD_CENTER_X + l.nextDouble() * (g - m) + m; + var y = -s.INITIAL_WORLD_BOUNDARY, + v = s.INITIAL_WORLD_BOUNDARY; + (p = s.WORLD_CENTER_Y + l.nextDouble() * (v - y) + y), (this.rect.x = d), (this.rect.y = p); + }), + (h.prototype.updateBounds = function () { + if (this.getChild() == null) throw 'assert failed'; + if (this.getChild().getNodes().length != 0) { + var d = this.getChild(); + if ( + (d.updateBounds(!0), + (this.rect.x = d.getLeft()), + (this.rect.y = d.getTop()), + this.setWidth(d.getRight() - d.getLeft()), + this.setHeight(d.getBottom() - d.getTop()), + s.NODE_DIMENSIONS_INCLUDE_LABELS) + ) { + var p = d.getRight() - d.getLeft(), + m = d.getBottom() - d.getTop(); + this.labelWidth && + (this.labelPosHorizontal == 'left' + ? ((this.rect.x -= this.labelWidth), this.setWidth(p + this.labelWidth)) + : this.labelPosHorizontal == 'center' && this.labelWidth > p + ? ((this.rect.x -= (this.labelWidth - p) / 2), + this.setWidth(this.labelWidth)) + : this.labelPosHorizontal == 'right' && this.setWidth(p + this.labelWidth)), + this.labelHeight && + (this.labelPosVertical == 'top' + ? ((this.rect.y -= this.labelHeight), + this.setHeight(m + this.labelHeight)) + : this.labelPosVertical == 'center' && this.labelHeight > m + ? ((this.rect.y -= (this.labelHeight - m) / 2), + this.setHeight(this.labelHeight)) + : this.labelPosVertical == 'bottom' && + this.setHeight(m + this.labelHeight)); + } + } + }), + (h.prototype.getInclusionTreeDepth = function () { + if (this.inclusionTreeDepth == i.MAX_VALUE) throw 'assert failed'; + return this.inclusionTreeDepth; + }), + (h.prototype.transform = function (d) { + var p = this.rect.x; + p > s.WORLD_BOUNDARY + ? (p = s.WORLD_BOUNDARY) + : p < -s.WORLD_BOUNDARY && (p = -s.WORLD_BOUNDARY); + var m = this.rect.y; + m > s.WORLD_BOUNDARY + ? (m = s.WORLD_BOUNDARY) + : m < -s.WORLD_BOUNDARY && (m = -s.WORLD_BOUNDARY); + var g = new u(p, m), + y = d.inverseTransformPoint(g); + this.setLocation(y.x, y.y); + }), + (h.prototype.getLeft = function () { + return this.rect.x; + }), + (h.prototype.getRight = function () { + return this.rect.x + this.rect.width; + }), + (h.prototype.getTop = function () { + return this.rect.y; + }), + (h.prototype.getBottom = function () { + return this.rect.y + this.rect.height; + }), + (h.prototype.getParent = function () { + return this.owner == null ? null : this.owner.getParent(); + }), + (t.exports = h); + }, + function (t, e, r) { + 'use strict'; + var n = r(0); + function i() {} + o(i, 'FDLayoutConstants'); + for (var a in n) i[a] = n[a]; + (i.MAX_ITERATIONS = 2500), + (i.DEFAULT_EDGE_LENGTH = 50), + (i.DEFAULT_SPRING_STRENGTH = 0.45), + (i.DEFAULT_REPULSION_STRENGTH = 4500), + (i.DEFAULT_GRAVITY_STRENGTH = 0.4), + (i.DEFAULT_COMPOUND_GRAVITY_STRENGTH = 1), + (i.DEFAULT_GRAVITY_RANGE_FACTOR = 3.8), + (i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = 1.5), + (i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION = !0), + (i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION = !0), + (i.DEFAULT_COOLING_FACTOR_INCREMENTAL = 0.3), + (i.COOLING_ADAPTATION_FACTOR = 0.33), + (i.ADAPTATION_LOWER_NODE_LIMIT = 1e3), + (i.ADAPTATION_UPPER_NODE_LIMIT = 5e3), + (i.MAX_NODE_DISPLACEMENT_INCREMENTAL = 100), + (i.MAX_NODE_DISPLACEMENT = i.MAX_NODE_DISPLACEMENT_INCREMENTAL * 3), + (i.MIN_REPULSION_DIST = i.DEFAULT_EDGE_LENGTH / 10), + (i.CONVERGENCE_CHECK_PERIOD = 100), + (i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = 0.1), + (i.MIN_EDGE_LENGTH = 1), + (i.GRID_CALCULATION_CHECK_PERIOD = 10), + (t.exports = i); + }, + function (t, e, r) { + 'use strict'; + function n(i, a) { + i == null && a == null ? ((this.x = 0), (this.y = 0)) : ((this.x = i), (this.y = a)); + } + o(n, 'PointD'), + (n.prototype.getX = function () { + return this.x; + }), + (n.prototype.getY = function () { + return this.y; + }), + (n.prototype.setX = function (i) { + this.x = i; + }), + (n.prototype.setY = function (i) { + this.y = i; + }), + (n.prototype.getDifference = function (i) { + return new DimensionD(this.x - i.x, this.y - i.y); + }), + (n.prototype.getCopy = function () { + return new n(this.x, this.y); + }), + (n.prototype.translate = function (i) { + return (this.x += i.width), (this.y += i.height), this; + }), + (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + var n = r(2), + i = r(10), + a = r(0), + s = r(7), + l = r(3), + u = r(1), + h = r(13), + f = r(12), + d = r(11); + function p(g, y, v) { + n.call(this, v), + (this.estimatedSize = i.MIN_VALUE), + (this.margin = a.DEFAULT_GRAPH_MARGIN), + (this.edges = []), + (this.nodes = []), + (this.isConnected = !1), + (this.parent = g), + y != null && y instanceof s + ? (this.graphManager = y) + : y != null && y instanceof Layout && (this.graphManager = y.graphManager); + } + o(p, 'LGraph'), (p.prototype = Object.create(n.prototype)); + for (var m in n) p[m] = n[m]; + (p.prototype.getNodes = function () { + return this.nodes; + }), + (p.prototype.getEdges = function () { + return this.edges; + }), + (p.prototype.getGraphManager = function () { + return this.graphManager; + }), + (p.prototype.getParent = function () { + return this.parent; + }), + (p.prototype.getLeft = function () { + return this.left; + }), + (p.prototype.getRight = function () { + return this.right; + }), + (p.prototype.getTop = function () { + return this.top; + }), + (p.prototype.getBottom = function () { + return this.bottom; + }), + (p.prototype.isConnected = function () { + return this.isConnected; + }), + (p.prototype.add = function (g, y, v) { + if (y == null && v == null) { + var x = g; + if (this.graphManager == null) throw 'Graph has no graph mgr!'; + if (this.getNodes().indexOf(x) > -1) throw 'Node already in graph!'; + return (x.owner = this), this.getNodes().push(x), x; + } else { + var b = g; + if (!(this.getNodes().indexOf(y) > -1 && this.getNodes().indexOf(v) > -1)) + throw 'Source or target not in graph!'; + if (!(y.owner == v.owner && y.owner == this)) throw 'Both owners must be this graph!'; + return y.owner != v.owner + ? null + : ((b.source = y), + (b.target = v), + (b.isInterGraph = !1), + this.getEdges().push(b), + y.edges.push(b), + v != y && v.edges.push(b), + b); + } + }), + (p.prototype.remove = function (g) { + var y = g; + if (g instanceof l) { + if (y == null) throw 'Node is null!'; + if (!(y.owner != null && y.owner == this)) throw 'Owner graph is invalid!'; + if (this.graphManager == null) throw 'Owner graph manager is invalid!'; + for (var v = y.edges.slice(), x, b = v.length, w = 0; w < b; w++) + (x = v[w]), x.isInterGraph ? this.graphManager.remove(x) : x.source.owner.remove(x); + var S = this.nodes.indexOf(y); + if (S == -1) throw 'Node not in owner node list!'; + this.nodes.splice(S, 1); + } else if (g instanceof u) { + var x = g; + if (x == null) throw 'Edge is null!'; + if (!(x.source != null && x.target != null)) throw 'Source and/or target is null!'; + if ( + !( + x.source.owner != null && + x.target.owner != null && + x.source.owner == this && + x.target.owner == this + ) + ) + throw 'Source and/or target owner is invalid!'; + var T = x.source.edges.indexOf(x), + E = x.target.edges.indexOf(x); + if (!(T > -1 && E > -1)) throw "Source and/or target doesn't know this edge!"; + x.source.edges.splice(T, 1), x.target != x.source && x.target.edges.splice(E, 1); + var S = x.source.owner.getEdges().indexOf(x); + if (S == -1) throw "Not in owner's edge list!"; + x.source.owner.getEdges().splice(S, 1); + } + }), + (p.prototype.updateLeftTop = function () { + for ( + var g = i.MAX_VALUE, y = i.MAX_VALUE, v, x, b, w = this.getNodes(), S = w.length, T = 0; + T < S; + T++ + ) { + var E = w[T]; + (v = E.getTop()), (x = E.getLeft()), g > v && (g = v), y > x && (y = x); + } + return g == i.MAX_VALUE + ? null + : (w[0].getParent().paddingLeft != null + ? (b = w[0].getParent().paddingLeft) + : (b = this.margin), + (this.left = y - b), + (this.top = g - b), + new f(this.left, this.top)); + }), + (p.prototype.updateBounds = function (g) { + for ( + var y = i.MAX_VALUE, + v = -i.MAX_VALUE, + x = i.MAX_VALUE, + b = -i.MAX_VALUE, + w, + S, + T, + E, + _, + A = this.nodes, + L = A.length, + M = 0; + M < L; + M++ + ) { + var N = A[M]; + g && N.child != null && N.updateBounds(), + (w = N.getLeft()), + (S = N.getRight()), + (T = N.getTop()), + (E = N.getBottom()), + y > w && (y = w), + v < S && (v = S), + x > T && (x = T), + b < E && (b = E); + } + var k = new h(y, x, v - y, b - x); + y == i.MAX_VALUE && + ((this.left = this.parent.getLeft()), + (this.right = this.parent.getRight()), + (this.top = this.parent.getTop()), + (this.bottom = this.parent.getBottom())), + A[0].getParent().paddingLeft != null + ? (_ = A[0].getParent().paddingLeft) + : (_ = this.margin), + (this.left = k.x - _), + (this.right = k.x + k.width + _), + (this.top = k.y - _), + (this.bottom = k.y + k.height + _); + }), + (p.calculateBounds = function (g) { + for ( + var y = i.MAX_VALUE, + v = -i.MAX_VALUE, + x = i.MAX_VALUE, + b = -i.MAX_VALUE, + w, + S, + T, + E, + _ = g.length, + A = 0; + A < _; + A++ + ) { + var L = g[A]; + (w = L.getLeft()), + (S = L.getRight()), + (T = L.getTop()), + (E = L.getBottom()), + y > w && (y = w), + v < S && (v = S), + x > T && (x = T), + b < E && (b = E); + } + var M = new h(y, x, v - y, b - x); + return M; + }), + (p.prototype.getInclusionTreeDepth = function () { + return this == this.graphManager.getRoot() ? 1 : this.parent.getInclusionTreeDepth(); + }), + (p.prototype.getEstimatedSize = function () { + if (this.estimatedSize == i.MIN_VALUE) throw 'assert failed'; + return this.estimatedSize; + }), + (p.prototype.calcEstimatedSize = function () { + for (var g = 0, y = this.nodes, v = y.length, x = 0; x < v; x++) { + var b = y[x]; + g += b.calcEstimatedSize(); + } + return ( + g == 0 + ? (this.estimatedSize = a.EMPTY_COMPOUND_NODE_SIZE) + : (this.estimatedSize = g / Math.sqrt(this.nodes.length)), + this.estimatedSize + ); + }), + (p.prototype.updateConnected = function () { + var g = this; + if (this.nodes.length == 0) { + this.isConnected = !0; + return; + } + var y = new d(), + v = new Set(), + x = this.nodes[0], + b, + w, + S = x.withChildren(); + for ( + S.forEach(function (M) { + y.push(M), v.add(M); + }); + y.length !== 0; + + ) { + (x = y.shift()), (b = x.getEdges()); + for (var T = b.length, E = 0; E < T; E++) { + var _ = b[E]; + if (((w = _.getOtherEndInGraph(x, this)), w != null && !v.has(w))) { + var A = w.withChildren(); + A.forEach(function (M) { + y.push(M), v.add(M); + }); + } + } + } + if (((this.isConnected = !1), v.size >= this.nodes.length)) { + var L = 0; + v.forEach(function (M) { + M.owner == g && L++; + }), + L == this.nodes.length && (this.isConnected = !0); + } + }), + (t.exports = p); + }, + function (t, e, r) { + 'use strict'; + var n, + i = r(1); + function a(s) { + (n = r(6)), (this.layout = s), (this.graphs = []), (this.edges = []); + } + o(a, 'LGraphManager'), + (a.prototype.addRoot = function () { + var s = this.layout.newGraph(), + l = this.layout.newNode(null), + u = this.add(s, l); + return this.setRootGraph(u), this.rootGraph; + }), + (a.prototype.add = function (s, l, u, h, f) { + if (u == null && h == null && f == null) { + if (s == null) throw 'Graph is null!'; + if (l == null) throw 'Parent node is null!'; + if (this.graphs.indexOf(s) > -1) throw 'Graph already in this graph mgr!'; + if ((this.graphs.push(s), s.parent != null)) throw 'Already has a parent!'; + if (l.child != null) throw 'Already has a child!'; + return (s.parent = l), (l.child = s), s; + } else { + (f = u), (h = l), (u = s); + var d = h.getOwner(), + p = f.getOwner(); + if (!(d != null && d.getGraphManager() == this)) throw 'Source not in this graph mgr!'; + if (!(p != null && p.getGraphManager() == this)) throw 'Target not in this graph mgr!'; + if (d == p) return (u.isInterGraph = !1), d.add(u, h, f); + if (((u.isInterGraph = !0), (u.source = h), (u.target = f), this.edges.indexOf(u) > -1)) + throw 'Edge already in inter-graph edge list!'; + if ((this.edges.push(u), !(u.source != null && u.target != null))) + throw 'Edge source and/or target is null!'; + if (!(u.source.edges.indexOf(u) == -1 && u.target.edges.indexOf(u) == -1)) + throw 'Edge already in source and/or target incidency list!'; + return u.source.edges.push(u), u.target.edges.push(u), u; + } + }), + (a.prototype.remove = function (s) { + if (s instanceof n) { + var l = s; + if (l.getGraphManager() != this) throw 'Graph not in this graph mgr'; + if (!(l == this.rootGraph || (l.parent != null && l.parent.graphManager == this))) + throw 'Invalid parent node!'; + var u = []; + u = u.concat(l.getEdges()); + for (var h, f = u.length, d = 0; d < f; d++) (h = u[d]), l.remove(h); + var p = []; + p = p.concat(l.getNodes()); + var m; + f = p.length; + for (var d = 0; d < f; d++) (m = p[d]), l.remove(m); + l == this.rootGraph && this.setRootGraph(null); + var g = this.graphs.indexOf(l); + this.graphs.splice(g, 1), (l.parent = null); + } else if (s instanceof i) { + if (((h = s), h == null)) throw 'Edge is null!'; + if (!h.isInterGraph) throw 'Not an inter-graph edge!'; + if (!(h.source != null && h.target != null)) throw 'Source and/or target is null!'; + if (!(h.source.edges.indexOf(h) != -1 && h.target.edges.indexOf(h) != -1)) + throw "Source and/or target doesn't know this edge!"; + var g = h.source.edges.indexOf(h); + if ( + (h.source.edges.splice(g, 1), + (g = h.target.edges.indexOf(h)), + h.target.edges.splice(g, 1), + !(h.source.owner != null && h.source.owner.getGraphManager() != null)) + ) + throw 'Edge owner graph or owner graph manager is null!'; + if (h.source.owner.getGraphManager().edges.indexOf(h) == -1) + throw "Not in owner graph manager's edge list!"; + var g = h.source.owner.getGraphManager().edges.indexOf(h); + h.source.owner.getGraphManager().edges.splice(g, 1); + } + }), + (a.prototype.updateBounds = function () { + this.rootGraph.updateBounds(!0); + }), + (a.prototype.getGraphs = function () { + return this.graphs; + }), + (a.prototype.getAllNodes = function () { + if (this.allNodes == null) { + for (var s = [], l = this.getGraphs(), u = l.length, h = 0; h < u; h++) + s = s.concat(l[h].getNodes()); + this.allNodes = s; + } + return this.allNodes; + }), + (a.prototype.resetAllNodes = function () { + this.allNodes = null; + }), + (a.prototype.resetAllEdges = function () { + this.allEdges = null; + }), + (a.prototype.resetAllNodesToApplyGravitation = function () { + this.allNodesToApplyGravitation = null; + }), + (a.prototype.getAllEdges = function () { + if (this.allEdges == null) { + for (var s = [], l = this.getGraphs(), u = l.length, h = 0; h < l.length; h++) + s = s.concat(l[h].getEdges()); + (s = s.concat(this.edges)), (this.allEdges = s); + } + return this.allEdges; + }), + (a.prototype.getAllNodesToApplyGravitation = function () { + return this.allNodesToApplyGravitation; + }), + (a.prototype.setAllNodesToApplyGravitation = function (s) { + if (this.allNodesToApplyGravitation != null) throw 'assert failed'; + this.allNodesToApplyGravitation = s; + }), + (a.prototype.getRoot = function () { + return this.rootGraph; + }), + (a.prototype.setRootGraph = function (s) { + if (s.getGraphManager() != this) throw 'Root not in this graph mgr!'; + (this.rootGraph = s), s.parent == null && (s.parent = this.layout.newNode('Root node')); + }), + (a.prototype.getLayout = function () { + return this.layout; + }), + (a.prototype.isOneAncestorOfOther = function (s, l) { + if (!(s != null && l != null)) throw 'assert failed'; + if (s == l) return !0; + var u = s.getOwner(), + h; + do { + if (((h = u.getParent()), h == null)) break; + if (h == l) return !0; + if (((u = h.getOwner()), u == null)) break; + } while (!0); + u = l.getOwner(); + do { + if (((h = u.getParent()), h == null)) break; + if (h == s) return !0; + if (((u = h.getOwner()), u == null)) break; + } while (!0); + return !1; + }), + (a.prototype.calcLowestCommonAncestors = function () { + for (var s, l, u, h, f, d = this.getAllEdges(), p = d.length, m = 0; m < p; m++) { + if ( + ((s = d[m]), + (l = s.source), + (u = s.target), + (s.lca = null), + (s.sourceInLca = l), + (s.targetInLca = u), + l == u) + ) { + s.lca = l.getOwner(); + continue; + } + for (h = l.getOwner(); s.lca == null; ) { + for (s.targetInLca = u, f = u.getOwner(); s.lca == null; ) { + if (f == h) { + s.lca = f; + break; + } + if (f == this.rootGraph) break; + if (s.lca != null) throw 'assert failed'; + (s.targetInLca = f.getParent()), (f = s.targetInLca.getOwner()); + } + if (h == this.rootGraph) break; + s.lca == null && ((s.sourceInLca = h.getParent()), (h = s.sourceInLca.getOwner())); + } + if (s.lca == null) throw 'assert failed'; + } + }), + (a.prototype.calcLowestCommonAncestor = function (s, l) { + if (s == l) return s.getOwner(); + var u = s.getOwner(); + do { + if (u == null) break; + var h = l.getOwner(); + do { + if (h == null) break; + if (h == u) return h; + h = h.getParent().getOwner(); + } while (!0); + u = u.getParent().getOwner(); + } while (!0); + return u; + }), + (a.prototype.calcInclusionTreeDepths = function (s, l) { + s == null && l == null && ((s = this.rootGraph), (l = 1)); + for (var u, h = s.getNodes(), f = h.length, d = 0; d < f; d++) + (u = h[d]), + (u.inclusionTreeDepth = l), + u.child != null && this.calcInclusionTreeDepths(u.child, l + 1); + }), + (a.prototype.includesInvalidEdge = function () { + for (var s, l = [], u = this.edges.length, h = 0; h < u; h++) + (s = this.edges[h]), this.isOneAncestorOfOther(s.source, s.target) && l.push(s); + for (var h = 0; h < l.length; h++) this.remove(l[h]); + return !1; + }), + (t.exports = a); + }, + function (t, e, r) { + 'use strict'; + var n = r(12); + function i() {} + o(i, 'IGeometry'), + (i.calcSeparationAmount = function (a, s, l, u) { + if (!a.intersects(s)) throw 'assert failed'; + var h = new Array(2); + this.decideDirectionsForOverlappingNodes(a, s, h), + (l[0] = Math.min(a.getRight(), s.getRight()) - Math.max(a.x, s.x)), + (l[1] = Math.min(a.getBottom(), s.getBottom()) - Math.max(a.y, s.y)), + a.getX() <= s.getX() && a.getRight() >= s.getRight() + ? (l[0] += Math.min(s.getX() - a.getX(), a.getRight() - s.getRight())) + : s.getX() <= a.getX() && + s.getRight() >= a.getRight() && + (l[0] += Math.min(a.getX() - s.getX(), s.getRight() - a.getRight())), + a.getY() <= s.getY() && a.getBottom() >= s.getBottom() + ? (l[1] += Math.min(s.getY() - a.getY(), a.getBottom() - s.getBottom())) + : s.getY() <= a.getY() && + s.getBottom() >= a.getBottom() && + (l[1] += Math.min(a.getY() - s.getY(), s.getBottom() - a.getBottom())); + var f = Math.abs((s.getCenterY() - a.getCenterY()) / (s.getCenterX() - a.getCenterX())); + s.getCenterY() === a.getCenterY() && s.getCenterX() === a.getCenterX() && (f = 1); + var d = f * l[0], + p = l[1] / f; + l[0] < p ? (p = l[0]) : (d = l[1]), + (l[0] = -1 * h[0] * (p / 2 + u)), + (l[1] = -1 * h[1] * (d / 2 + u)); + }), + (i.decideDirectionsForOverlappingNodes = function (a, s, l) { + a.getCenterX() < s.getCenterX() ? (l[0] = -1) : (l[0] = 1), + a.getCenterY() < s.getCenterY() ? (l[1] = -1) : (l[1] = 1); + }), + (i.getIntersection2 = function (a, s, l) { + var u = a.getCenterX(), + h = a.getCenterY(), + f = s.getCenterX(), + d = s.getCenterY(); + if (a.intersects(s)) return (l[0] = u), (l[1] = h), (l[2] = f), (l[3] = d), !0; + var p = a.getX(), + m = a.getY(), + g = a.getRight(), + y = a.getX(), + v = a.getBottom(), + x = a.getRight(), + b = a.getWidthHalf(), + w = a.getHeightHalf(), + S = s.getX(), + T = s.getY(), + E = s.getRight(), + _ = s.getX(), + A = s.getBottom(), + L = s.getRight(), + M = s.getWidthHalf(), + N = s.getHeightHalf(), + k = !1, + I = !1; + if (u === f) { + if (h > d) return (l[0] = u), (l[1] = m), (l[2] = f), (l[3] = A), !1; + if (h < d) return (l[0] = u), (l[1] = v), (l[2] = f), (l[3] = T), !1; + } else if (h === d) { + if (u > f) return (l[0] = p), (l[1] = h), (l[2] = E), (l[3] = d), !1; + if (u < f) return (l[0] = g), (l[1] = h), (l[2] = S), (l[3] = d), !1; + } else { + var C = a.height / a.width, + O = s.height / s.width, + D = (d - h) / (f - u), + P = void 0, + F = void 0, + B = void 0, + $ = void 0, + z = void 0, + Y = void 0; + if ( + (-C === D + ? u > f + ? ((l[0] = y), (l[1] = v), (k = !0)) + : ((l[0] = g), (l[1] = m), (k = !0)) + : C === D && + (u > f + ? ((l[0] = p), (l[1] = m), (k = !0)) + : ((l[0] = x), (l[1] = v), (k = !0))), + -O === D + ? f > u + ? ((l[2] = _), (l[3] = A), (I = !0)) + : ((l[2] = E), (l[3] = T), (I = !0)) + : O === D && + (f > u + ? ((l[2] = S), (l[3] = T), (I = !0)) + : ((l[2] = L), (l[3] = A), (I = !0))), + k && I) + ) + return !1; + if ( + (u > f + ? h > d + ? ((P = this.getCardinalDirection(C, D, 4)), + (F = this.getCardinalDirection(O, D, 2))) + : ((P = this.getCardinalDirection(-C, D, 3)), + (F = this.getCardinalDirection(-O, D, 1))) + : h > d + ? ((P = this.getCardinalDirection(-C, D, 1)), + (F = this.getCardinalDirection(-O, D, 3))) + : ((P = this.getCardinalDirection(C, D, 2)), + (F = this.getCardinalDirection(O, D, 4))), + !k) + ) + switch (P) { + case 1: + ($ = m), (B = u + -w / D), (l[0] = B), (l[1] = $); + break; + case 2: + (B = x), ($ = h + b * D), (l[0] = B), (l[1] = $); + break; + case 3: + ($ = v), (B = u + w / D), (l[0] = B), (l[1] = $); + break; + case 4: + (B = y), ($ = h + -b * D), (l[0] = B), (l[1] = $); + break; + } + if (!I) + switch (F) { + case 1: + (Y = T), (z = f + -N / D), (l[2] = z), (l[3] = Y); + break; + case 2: + (z = L), (Y = d + M * D), (l[2] = z), (l[3] = Y); + break; + case 3: + (Y = A), (z = f + N / D), (l[2] = z), (l[3] = Y); + break; + case 4: + (z = _), (Y = d + -M * D), (l[2] = z), (l[3] = Y); + break; + } + } + return !1; + }), + (i.getCardinalDirection = function (a, s, l) { + return a > s ? l : 1 + (l % 4); + }), + (i.getIntersection = function (a, s, l, u) { + if (u == null) return this.getIntersection2(a, s, l); + var h = a.x, + f = a.y, + d = s.x, + p = s.y, + m = l.x, + g = l.y, + y = u.x, + v = u.y, + x = void 0, + b = void 0, + w = void 0, + S = void 0, + T = void 0, + E = void 0, + _ = void 0, + A = void 0, + L = void 0; + return ( + (w = p - f), + (T = h - d), + (_ = d * f - h * p), + (S = v - g), + (E = m - y), + (A = y * g - m * v), + (L = w * E - S * T), + L === 0 ? null : ((x = (T * A - E * _) / L), (b = (S * _ - w * A) / L), new n(x, b)) + ); + }), + (i.angleOfVector = function (a, s, l, u) { + var h = void 0; + return ( + a !== l + ? ((h = Math.atan((u - s) / (l - a))), + l < a ? (h += Math.PI) : u < s && (h += this.TWO_PI)) + : u < s + ? (h = this.ONE_AND_HALF_PI) + : (h = this.HALF_PI), + h + ); + }), + (i.doIntersect = function (a, s, l, u) { + var h = a.x, + f = a.y, + d = s.x, + p = s.y, + m = l.x, + g = l.y, + y = u.x, + v = u.y, + x = (d - h) * (v - g) - (y - m) * (p - f); + if (x === 0) return !1; + var b = ((v - g) * (y - h) + (m - y) * (v - f)) / x, + w = ((f - p) * (y - h) + (d - h) * (v - f)) / x; + return 0 < b && b < 1 && 0 < w && w < 1; + }), + (i.findCircleLineIntersections = function (a, s, l, u, h, f, d) { + var p = (l - a) * (l - a) + (u - s) * (u - s), + m = 2 * ((a - h) * (l - a) + (s - f) * (u - s)), + g = (a - h) * (a - h) + (s - f) * (s - f) - d * d, + y = m * m - 4 * p * g; + if (y >= 0) { + var v = (-m + Math.sqrt(m * m - 4 * p * g)) / (2 * p), + x = (-m - Math.sqrt(m * m - 4 * p * g)) / (2 * p), + b = null; + return v >= 0 && v <= 1 ? [v] : x >= 0 && x <= 1 ? [x] : b; + } else return null; + }), + (i.HALF_PI = 0.5 * Math.PI), + (i.ONE_AND_HALF_PI = 1.5 * Math.PI), + (i.TWO_PI = 2 * Math.PI), + (i.THREE_PI = 3 * Math.PI), + (t.exports = i); + }, + function (t, e, r) { + 'use strict'; + function n() {} + o(n, 'IMath'), + (n.sign = function (i) { + return i > 0 ? 1 : i < 0 ? -1 : 0; + }), + (n.floor = function (i) { + return i < 0 ? Math.ceil(i) : Math.floor(i); + }), + (n.ceil = function (i) { + return i < 0 ? Math.floor(i) : Math.ceil(i); + }), + (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + function n() {} + o(n, 'Integer'), (n.MAX_VALUE = 2147483647), (n.MIN_VALUE = -2147483648), (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + var n = (function () { + function h(f, d) { + for (var p = 0; p < d.length; p++) { + var m = d[p]; + (m.enumerable = m.enumerable || !1), + (m.configurable = !0), + 'value' in m && (m.writable = !0), + Object.defineProperty(f, m.key, m); + } + } + return ( + o(h, 'defineProperties'), + function (f, d, p) { + return d && h(f.prototype, d), p && h(f, p), f; + } + ); + })(); + function i(h, f) { + if (!(h instanceof f)) throw new TypeError('Cannot call a class as a function'); + } + o(i, '_classCallCheck'); + var a = o(function (f) { + return { value: f, next: null, prev: null }; + }, 'nodeFrom'), + s = o(function (f, d, p, m) { + return ( + f !== null ? (f.next = d) : (m.head = d), + p !== null ? (p.prev = d) : (m.tail = d), + (d.prev = f), + (d.next = p), + m.length++, + d + ); + }, 'add'), + l = o(function (f, d) { + var p = f.prev, + m = f.next; + return ( + p !== null ? (p.next = m) : (d.head = m), + m !== null ? (m.prev = p) : (d.tail = p), + (f.prev = f.next = null), + d.length--, + f + ); + }, '_remove'), + u = (function () { + function h(f) { + var d = this; + i(this, h), + (this.length = 0), + (this.head = null), + (this.tail = null), + f?.forEach(function (p) { + return d.push(p); + }); + } + return ( + o(h, 'LinkedList'), + n(h, [ + { + key: 'size', + value: o(function () { + return this.length; + }, 'size') + }, + { + key: 'insertBefore', + value: o(function (d, p) { + return s(p.prev, a(d), p, this); + }, 'insertBefore') + }, + { + key: 'insertAfter', + value: o(function (d, p) { + return s(p, a(d), p.next, this); + }, 'insertAfter') + }, + { + key: 'insertNodeBefore', + value: o(function (d, p) { + return s(p.prev, d, p, this); + }, 'insertNodeBefore') + }, + { + key: 'insertNodeAfter', + value: o(function (d, p) { + return s(p, d, p.next, this); + }, 'insertNodeAfter') + }, + { + key: 'push', + value: o(function (d) { + return s(this.tail, a(d), null, this); + }, 'push') + }, + { + key: 'unshift', + value: o(function (d) { + return s(null, a(d), this.head, this); + }, 'unshift') + }, + { + key: 'remove', + value: o(function (d) { + return l(d, this); + }, 'remove') + }, + { + key: 'pop', + value: o(function () { + return l(this.tail, this).value; + }, 'pop') + }, + { + key: 'popNode', + value: o(function () { + return l(this.tail, this); + }, 'popNode') + }, + { + key: 'shift', + value: o(function () { + return l(this.head, this).value; + }, 'shift') + }, + { + key: 'shiftNode', + value: o(function () { + return l(this.head, this); + }, 'shiftNode') + }, + { + key: 'get_object_at', + value: o(function (d) { + if (d <= this.length()) { + for (var p = 1, m = this.head; p < d; ) (m = m.next), p++; + return m.value; + } + }, 'get_object_at') + }, + { + key: 'set_object_at', + value: o(function (d, p) { + if (d <= this.length()) { + for (var m = 1, g = this.head; m < d; ) (g = g.next), m++; + g.value = p; + } + }, 'set_object_at') + } + ]), + h + ); + })(); + t.exports = u; + }, + function (t, e, r) { + 'use strict'; + function n(i, a, s) { + (this.x = null), + (this.y = null), + i == null && a == null && s == null + ? ((this.x = 0), (this.y = 0)) + : typeof i == 'number' && typeof a == 'number' && s == null + ? ((this.x = i), (this.y = a)) + : i.constructor.name == 'Point' && + a == null && + s == null && + ((s = i), (this.x = s.x), (this.y = s.y)); + } + o(n, 'Point'), + (n.prototype.getX = function () { + return this.x; + }), + (n.prototype.getY = function () { + return this.y; + }), + (n.prototype.getLocation = function () { + return new n(this.x, this.y); + }), + (n.prototype.setLocation = function (i, a, s) { + i.constructor.name == 'Point' && a == null && s == null + ? ((s = i), this.setLocation(s.x, s.y)) + : typeof i == 'number' && + typeof a == 'number' && + s == null && + (parseInt(i) == i && parseInt(a) == a + ? this.move(i, a) + : ((this.x = Math.floor(i + 0.5)), (this.y = Math.floor(a + 0.5)))); + }), + (n.prototype.move = function (i, a) { + (this.x = i), (this.y = a); + }), + (n.prototype.translate = function (i, a) { + (this.x += i), (this.y += a); + }), + (n.prototype.equals = function (i) { + if (i.constructor.name == 'Point') { + var a = i; + return this.x == a.x && this.y == a.y; + } + return this == i; + }), + (n.prototype.toString = function () { + return new n().constructor.name + '[x=' + this.x + ',y=' + this.y + ']'; + }), + (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + function n(i, a, s, l) { + (this.x = 0), + (this.y = 0), + (this.width = 0), + (this.height = 0), + i != null && + a != null && + s != null && + l != null && + ((this.x = i), (this.y = a), (this.width = s), (this.height = l)); + } + o(n, 'RectangleD'), + (n.prototype.getX = function () { + return this.x; + }), + (n.prototype.setX = function (i) { + this.x = i; + }), + (n.prototype.getY = function () { + return this.y; + }), + (n.prototype.setY = function (i) { + this.y = i; + }), + (n.prototype.getWidth = function () { + return this.width; + }), + (n.prototype.setWidth = function (i) { + this.width = i; + }), + (n.prototype.getHeight = function () { + return this.height; + }), + (n.prototype.setHeight = function (i) { + this.height = i; + }), + (n.prototype.getRight = function () { + return this.x + this.width; + }), + (n.prototype.getBottom = function () { + return this.y + this.height; + }), + (n.prototype.intersects = function (i) { + return !( + this.getRight() < i.x || + this.getBottom() < i.y || + i.getRight() < this.x || + i.getBottom() < this.y + ); + }), + (n.prototype.getCenterX = function () { + return this.x + this.width / 2; + }), + (n.prototype.getMinX = function () { + return this.getX(); + }), + (n.prototype.getMaxX = function () { + return this.getX() + this.width; + }), + (n.prototype.getCenterY = function () { + return this.y + this.height / 2; + }), + (n.prototype.getMinY = function () { + return this.getY(); + }), + (n.prototype.getMaxY = function () { + return this.getY() + this.height; + }), + (n.prototype.getWidthHalf = function () { + return this.width / 2; + }), + (n.prototype.getHeightHalf = function () { + return this.height / 2; + }), + (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + var n = + typeof Symbol == 'function' && typeof Symbol.iterator == 'symbol' + ? function (a) { + return typeof a; + } + : function (a) { + return a && + typeof Symbol == 'function' && + a.constructor === Symbol && + a !== Symbol.prototype + ? 'symbol' + : typeof a; + }; + function i() {} + o(i, 'UniqueIDGeneretor'), + (i.lastID = 0), + (i.createID = function (a) { + return i.isPrimitive(a) + ? a + : (a.uniqueID != null || ((a.uniqueID = i.getString()), i.lastID++), a.uniqueID); + }), + (i.getString = function (a) { + return a == null && (a = i.lastID), 'Object#' + a; + }), + (i.isPrimitive = function (a) { + var s = typeof a > 'u' ? 'undefined' : n(a); + return a == null || (s != 'object' && s != 'function'); + }), + (t.exports = i); + }, + function (t, e, r) { + 'use strict'; + function n(m) { + if (Array.isArray(m)) { + for (var g = 0, y = Array(m.length); g < m.length; g++) y[g] = m[g]; + return y; + } else return Array.from(m); + } + o(n, '_toConsumableArray'); + var i = r(0), + a = r(7), + s = r(3), + l = r(1), + u = r(6), + h = r(5), + f = r(17), + d = r(29); + function p(m) { + d.call(this), + (this.layoutQuality = i.QUALITY), + (this.createBendsAsNeeded = i.DEFAULT_CREATE_BENDS_AS_NEEDED), + (this.incremental = i.DEFAULT_INCREMENTAL), + (this.animationOnLayout = i.DEFAULT_ANIMATION_ON_LAYOUT), + (this.animationDuringLayout = i.DEFAULT_ANIMATION_DURING_LAYOUT), + (this.animationPeriod = i.DEFAULT_ANIMATION_PERIOD), + (this.uniformLeafNodeSizes = i.DEFAULT_UNIFORM_LEAF_NODE_SIZES), + (this.edgeToDummyNodes = new Map()), + (this.graphManager = new a(this)), + (this.isLayoutFinished = !1), + (this.isSubLayout = !1), + (this.isRemoteUse = !1), + m != null && (this.isRemoteUse = m); + } + o(p, 'Layout'), + (p.RANDOM_SEED = 1), + (p.prototype = Object.create(d.prototype)), + (p.prototype.getGraphManager = function () { + return this.graphManager; + }), + (p.prototype.getAllNodes = function () { + return this.graphManager.getAllNodes(); + }), + (p.prototype.getAllEdges = function () { + return this.graphManager.getAllEdges(); + }), + (p.prototype.getAllNodesToApplyGravitation = function () { + return this.graphManager.getAllNodesToApplyGravitation(); + }), + (p.prototype.newGraphManager = function () { + var m = new a(this); + return (this.graphManager = m), m; + }), + (p.prototype.newGraph = function (m) { + return new u(null, this.graphManager, m); + }), + (p.prototype.newNode = function (m) { + return new s(this.graphManager, m); + }), + (p.prototype.newEdge = function (m) { + return new l(null, null, m); + }), + (p.prototype.checkLayoutSuccess = function () { + return ( + this.graphManager.getRoot() == null || + this.graphManager.getRoot().getNodes().length == 0 || + this.graphManager.includesInvalidEdge() + ); + }), + (p.prototype.runLayout = function () { + (this.isLayoutFinished = !1), + this.tilingPreLayout && this.tilingPreLayout(), + this.initParameters(); + var m; + return ( + this.checkLayoutSuccess() ? (m = !1) : (m = this.layout()), + i.ANIMATE === 'during' + ? !1 + : (m && (this.isSubLayout || this.doPostLayout()), + this.tilingPostLayout && this.tilingPostLayout(), + (this.isLayoutFinished = !0), + m) + ); + }), + (p.prototype.doPostLayout = function () { + this.incremental || this.transform(), this.update(); + }), + (p.prototype.update2 = function () { + if ( + (this.createBendsAsNeeded && + (this.createBendpointsFromDummyNodes(), this.graphManager.resetAllEdges()), + !this.isRemoteUse) + ) { + for (var m, g = this.graphManager.getAllEdges(), y = 0; y < g.length; y++) m = g[y]; + for (var v, x = this.graphManager.getRoot().getNodes(), y = 0; y < x.length; y++) + v = x[y]; + this.update(this.graphManager.getRoot()); + } + }), + (p.prototype.update = function (m) { + if (m == null) this.update2(); + else if (m instanceof s) { + var g = m; + if (g.getChild() != null) + for (var y = g.getChild().getNodes(), v = 0; v < y.length; v++) update(y[v]); + if (g.vGraphObject != null) { + var x = g.vGraphObject; + x.update(g); + } + } else if (m instanceof l) { + var b = m; + if (b.vGraphObject != null) { + var w = b.vGraphObject; + w.update(b); + } + } else if (m instanceof u) { + var S = m; + if (S.vGraphObject != null) { + var T = S.vGraphObject; + T.update(S); + } + } + }), + (p.prototype.initParameters = function () { + this.isSubLayout || + ((this.layoutQuality = i.QUALITY), + (this.animationDuringLayout = i.DEFAULT_ANIMATION_DURING_LAYOUT), + (this.animationPeriod = i.DEFAULT_ANIMATION_PERIOD), + (this.animationOnLayout = i.DEFAULT_ANIMATION_ON_LAYOUT), + (this.incremental = i.DEFAULT_INCREMENTAL), + (this.createBendsAsNeeded = i.DEFAULT_CREATE_BENDS_AS_NEEDED), + (this.uniformLeafNodeSizes = i.DEFAULT_UNIFORM_LEAF_NODE_SIZES)), + this.animationDuringLayout && (this.animationOnLayout = !1); + }), + (p.prototype.transform = function (m) { + if (m == null) this.transform(new h(0, 0)); + else { + var g = new f(), + y = this.graphManager.getRoot().updateLeftTop(); + if (y != null) { + g.setWorldOrgX(m.x), + g.setWorldOrgY(m.y), + g.setDeviceOrgX(y.x), + g.setDeviceOrgY(y.y); + for (var v = this.getAllNodes(), x, b = 0; b < v.length; b++) + (x = v[b]), x.transform(g); + } + } + }), + (p.prototype.positionNodesRandomly = function (m) { + if (m == null) + this.positionNodesRandomly(this.getGraphManager().getRoot()), + this.getGraphManager().getRoot().updateBounds(!0); + else + for (var g, y, v = m.getNodes(), x = 0; x < v.length; x++) + (g = v[x]), + (y = g.getChild()), + y == null || y.getNodes().length == 0 + ? g.scatter() + : (this.positionNodesRandomly(y), g.updateBounds()); + }), + (p.prototype.getFlatForest = function () { + for ( + var m = [], g = !0, y = this.graphManager.getRoot().getNodes(), v = !0, x = 0; + x < y.length; + x++ + ) + y[x].getChild() != null && (v = !1); + if (!v) return m; + var b = new Set(), + w = [], + S = new Map(), + T = []; + for (T = T.concat(y); T.length > 0 && g; ) { + for (w.push(T[0]); w.length > 0 && g; ) { + var E = w[0]; + w.splice(0, 1), b.add(E); + for (var _ = E.getEdges(), x = 0; x < _.length; x++) { + var A = _[x].getOtherEnd(E); + if (S.get(E) != A) + if (!b.has(A)) w.push(A), S.set(A, E); + else { + g = !1; + break; + } + } + } + if (!g) m = []; + else { + var L = [].concat(n(b)); + m.push(L); + for (var x = 0; x < L.length; x++) { + var M = L[x], + N = T.indexOf(M); + N > -1 && T.splice(N, 1); + } + (b = new Set()), (S = new Map()); + } + } + return m; + }), + (p.prototype.createDummyNodesForBendpoints = function (m) { + for ( + var g = [], + y = m.source, + v = this.graphManager.calcLowestCommonAncestor(m.source, m.target), + x = 0; + x < m.bendpoints.length; + x++ + ) { + var b = this.newNode(null); + b.setRect(new Point(0, 0), new Dimension(1, 1)), v.add(b); + var w = this.newEdge(null); + this.graphManager.add(w, y, b), g.add(b), (y = b); + } + var w = this.newEdge(null); + return ( + this.graphManager.add(w, y, m.target), + this.edgeToDummyNodes.set(m, g), + m.isInterGraph() ? this.graphManager.remove(m) : v.remove(m), + g + ); + }), + (p.prototype.createBendpointsFromDummyNodes = function () { + var m = []; + (m = m.concat(this.graphManager.getAllEdges())), + (m = [].concat(n(this.edgeToDummyNodes.keys())).concat(m)); + for (var g = 0; g < m.length; g++) { + var y = m[g]; + if (y.bendpoints.length > 0) { + for (var v = this.edgeToDummyNodes.get(y), x = 0; x < v.length; x++) { + var b = v[x], + w = new h(b.getCenterX(), b.getCenterY()), + S = y.bendpoints.get(x); + (S.x = w.x), (S.y = w.y), b.getOwner().remove(b); + } + this.graphManager.add(y, y.source, y.target); + } + } + }), + (p.transform = function (m, g, y, v) { + if (y != null && v != null) { + var x = g; + if (m <= 50) { + var b = g / y; + x -= ((g - b) / 50) * (50 - m); + } else { + var w = g * v; + x += ((w - g) / 50) * (m - 50); + } + return x; + } else { + var S, T; + return ( + m <= 50 ? ((S = (9 * g) / 500), (T = g / 10)) : ((S = (9 * g) / 50), (T = -8 * g)), + S * m + T + ); + } + }), + (p.findCenterOfTree = function (m) { + var g = []; + g = g.concat(m); + var y = [], + v = new Map(), + x = !1, + b = null; + (g.length == 1 || g.length == 2) && ((x = !0), (b = g[0])); + for (var w = 0; w < g.length; w++) { + var S = g[w], + T = S.getNeighborsList().size; + v.set(S, S.getNeighborsList().size), T == 1 && y.push(S); + } + var E = []; + for (E = E.concat(y); !x; ) { + var _ = []; + (_ = _.concat(E)), (E = []); + for (var w = 0; w < g.length; w++) { + var S = g[w], + A = g.indexOf(S); + A >= 0 && g.splice(A, 1); + var L = S.getNeighborsList(); + L.forEach(function (k) { + if (y.indexOf(k) < 0) { + var I = v.get(k), + C = I - 1; + C == 1 && E.push(k), v.set(k, C); + } + }); + } + (y = y.concat(E)), (g.length == 1 || g.length == 2) && ((x = !0), (b = g[0])); + } + return b; + }), + (p.prototype.setGraphManager = function (m) { + this.graphManager = m; + }), + (t.exports = p); + }, + function (t, e, r) { + 'use strict'; + function n() {} + o(n, 'RandomSeed'), + (n.seed = 1), + (n.x = 0), + (n.nextDouble = function () { + return (n.x = Math.sin(n.seed++) * 1e4), n.x - Math.floor(n.x); + }), + (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + var n = r(5); + function i(a, s) { + (this.lworldOrgX = 0), + (this.lworldOrgY = 0), + (this.ldeviceOrgX = 0), + (this.ldeviceOrgY = 0), + (this.lworldExtX = 1), + (this.lworldExtY = 1), + (this.ldeviceExtX = 1), + (this.ldeviceExtY = 1); + } + o(i, 'Transform'), + (i.prototype.getWorldOrgX = function () { + return this.lworldOrgX; + }), + (i.prototype.setWorldOrgX = function (a) { + this.lworldOrgX = a; + }), + (i.prototype.getWorldOrgY = function () { + return this.lworldOrgY; + }), + (i.prototype.setWorldOrgY = function (a) { + this.lworldOrgY = a; + }), + (i.prototype.getWorldExtX = function () { + return this.lworldExtX; + }), + (i.prototype.setWorldExtX = function (a) { + this.lworldExtX = a; + }), + (i.prototype.getWorldExtY = function () { + return this.lworldExtY; + }), + (i.prototype.setWorldExtY = function (a) { + this.lworldExtY = a; + }), + (i.prototype.getDeviceOrgX = function () { + return this.ldeviceOrgX; + }), + (i.prototype.setDeviceOrgX = function (a) { + this.ldeviceOrgX = a; + }), + (i.prototype.getDeviceOrgY = function () { + return this.ldeviceOrgY; + }), + (i.prototype.setDeviceOrgY = function (a) { + this.ldeviceOrgY = a; + }), + (i.prototype.getDeviceExtX = function () { + return this.ldeviceExtX; + }), + (i.prototype.setDeviceExtX = function (a) { + this.ldeviceExtX = a; + }), + (i.prototype.getDeviceExtY = function () { + return this.ldeviceExtY; + }), + (i.prototype.setDeviceExtY = function (a) { + this.ldeviceExtY = a; + }), + (i.prototype.transformX = function (a) { + var s = 0, + l = this.lworldExtX; + return l != 0 && (s = this.ldeviceOrgX + ((a - this.lworldOrgX) * this.ldeviceExtX) / l), s; + }), + (i.prototype.transformY = function (a) { + var s = 0, + l = this.lworldExtY; + return l != 0 && (s = this.ldeviceOrgY + ((a - this.lworldOrgY) * this.ldeviceExtY) / l), s; + }), + (i.prototype.inverseTransformX = function (a) { + var s = 0, + l = this.ldeviceExtX; + return l != 0 && (s = this.lworldOrgX + ((a - this.ldeviceOrgX) * this.lworldExtX) / l), s; + }), + (i.prototype.inverseTransformY = function (a) { + var s = 0, + l = this.ldeviceExtY; + return l != 0 && (s = this.lworldOrgY + ((a - this.ldeviceOrgY) * this.lworldExtY) / l), s; + }), + (i.prototype.inverseTransformPoint = function (a) { + var s = new n(this.inverseTransformX(a.x), this.inverseTransformY(a.y)); + return s; + }), + (t.exports = i); + }, + function (t, e, r) { + 'use strict'; + function n(d) { + if (Array.isArray(d)) { + for (var p = 0, m = Array(d.length); p < d.length; p++) m[p] = d[p]; + return m; + } else return Array.from(d); + } + o(n, '_toConsumableArray'); + var i = r(15), + a = r(4), + s = r(0), + l = r(8), + u = r(9); + function h() { + i.call(this), + (this.useSmartIdealEdgeLengthCalculation = + a.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION), + (this.gravityConstant = a.DEFAULT_GRAVITY_STRENGTH), + (this.compoundGravityConstant = a.DEFAULT_COMPOUND_GRAVITY_STRENGTH), + (this.gravityRangeFactor = a.DEFAULT_GRAVITY_RANGE_FACTOR), + (this.compoundGravityRangeFactor = a.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR), + (this.displacementThresholdPerNode = (3 * a.DEFAULT_EDGE_LENGTH) / 100), + (this.coolingFactor = a.DEFAULT_COOLING_FACTOR_INCREMENTAL), + (this.initialCoolingFactor = a.DEFAULT_COOLING_FACTOR_INCREMENTAL), + (this.totalDisplacement = 0), + (this.oldTotalDisplacement = 0), + (this.maxIterations = a.MAX_ITERATIONS); + } + o(h, 'FDLayout'), (h.prototype = Object.create(i.prototype)); + for (var f in i) h[f] = i[f]; + (h.prototype.initParameters = function () { + i.prototype.initParameters.call(this, arguments), + (this.totalIterations = 0), + (this.notAnimatedIterations = 0), + (this.useFRGridVariant = a.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION), + (this.grid = []); + }), + (h.prototype.calcIdealEdgeLengths = function () { + for ( + var d, p, m, g, y, v, x, b = this.getGraphManager().getAllEdges(), w = 0; + w < b.length; + w++ + ) + (d = b[w]), + (p = d.idealLength), + d.isInterGraph && + ((g = d.getSource()), + (y = d.getTarget()), + (v = d.getSourceInLca().getEstimatedSize()), + (x = d.getTargetInLca().getEstimatedSize()), + this.useSmartIdealEdgeLengthCalculation && + (d.idealLength += v + x - 2 * s.SIMPLE_NODE_SIZE), + (m = d.getLca().getInclusionTreeDepth()), + (d.idealLength += + p * + a.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR * + (g.getInclusionTreeDepth() + y.getInclusionTreeDepth() - 2 * m))); + }), + (h.prototype.initSpringEmbedder = function () { + var d = this.getAllNodes().length; + this.incremental + ? (d > a.ADAPTATION_LOWER_NODE_LIMIT && + (this.coolingFactor = Math.max( + this.coolingFactor * a.COOLING_ADAPTATION_FACTOR, + this.coolingFactor - + ((d - a.ADAPTATION_LOWER_NODE_LIMIT) / + (a.ADAPTATION_UPPER_NODE_LIMIT - a.ADAPTATION_LOWER_NODE_LIMIT)) * + this.coolingFactor * + (1 - a.COOLING_ADAPTATION_FACTOR) + )), + (this.maxNodeDisplacement = a.MAX_NODE_DISPLACEMENT_INCREMENTAL)) + : (d > a.ADAPTATION_LOWER_NODE_LIMIT + ? (this.coolingFactor = Math.max( + a.COOLING_ADAPTATION_FACTOR, + 1 - + ((d - a.ADAPTATION_LOWER_NODE_LIMIT) / + (a.ADAPTATION_UPPER_NODE_LIMIT - a.ADAPTATION_LOWER_NODE_LIMIT)) * + (1 - a.COOLING_ADAPTATION_FACTOR) + )) + : (this.coolingFactor = 1), + (this.initialCoolingFactor = this.coolingFactor), + (this.maxNodeDisplacement = a.MAX_NODE_DISPLACEMENT)), + (this.maxIterations = Math.max(this.getAllNodes().length * 5, this.maxIterations)), + (this.displacementThresholdPerNode = (3 * a.DEFAULT_EDGE_LENGTH) / 100), + (this.totalDisplacementThreshold = + this.displacementThresholdPerNode * this.getAllNodes().length), + (this.repulsionRange = this.calcRepulsionRange()); + }), + (h.prototype.calcSpringForces = function () { + for (var d = this.getAllEdges(), p, m = 0; m < d.length; m++) + (p = d[m]), this.calcSpringForce(p, p.idealLength); + }), + (h.prototype.calcRepulsionForces = function () { + var d = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0, + p = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1, + m, + g, + y, + v, + x = this.getAllNodes(), + b; + if (this.useFRGridVariant) + for ( + this.totalIterations % a.GRID_CALCULATION_CHECK_PERIOD == 1 && + d && + this.updateGrid(), + b = new Set(), + m = 0; + m < x.length; + m++ + ) + (y = x[m]), this.calculateRepulsionForceOfANode(y, b, d, p), b.add(y); + else + for (m = 0; m < x.length; m++) + for (y = x[m], g = m + 1; g < x.length; g++) + (v = x[g]), y.getOwner() == v.getOwner() && this.calcRepulsionForce(y, v); + }), + (h.prototype.calcGravitationalForces = function () { + for (var d, p = this.getAllNodesToApplyGravitation(), m = 0; m < p.length; m++) + (d = p[m]), this.calcGravitationalForce(d); + }), + (h.prototype.moveNodes = function () { + for (var d = this.getAllNodes(), p, m = 0; m < d.length; m++) (p = d[m]), p.move(); + }), + (h.prototype.calcSpringForce = function (d, p) { + var m = d.getSource(), + g = d.getTarget(), + y, + v, + x, + b; + if (this.uniformLeafNodeSizes && m.getChild() == null && g.getChild() == null) + d.updateLengthSimple(); + else if ((d.updateLength(), d.isOverlapingSourceAndTarget)) return; + (y = d.getLength()), + y != 0 && + ((v = d.edgeElasticity * (y - p)), + (x = v * (d.lengthX / y)), + (b = v * (d.lengthY / y)), + (m.springForceX += x), + (m.springForceY += b), + (g.springForceX -= x), + (g.springForceY -= b)); + }), + (h.prototype.calcRepulsionForce = function (d, p) { + var m = d.getRect(), + g = p.getRect(), + y = new Array(2), + v = new Array(4), + x, + b, + w, + S, + T, + E, + _; + if (m.intersects(g)) { + l.calcSeparationAmount(m, g, y, a.DEFAULT_EDGE_LENGTH / 2), + (E = 2 * y[0]), + (_ = 2 * y[1]); + var A = (d.noOfChildren * p.noOfChildren) / (d.noOfChildren + p.noOfChildren); + (d.repulsionForceX -= A * E), + (d.repulsionForceY -= A * _), + (p.repulsionForceX += A * E), + (p.repulsionForceY += A * _); + } else + this.uniformLeafNodeSizes && d.getChild() == null && p.getChild() == null + ? ((x = g.getCenterX() - m.getCenterX()), (b = g.getCenterY() - m.getCenterY())) + : (l.getIntersection(m, g, v), (x = v[2] - v[0]), (b = v[3] - v[1])), + Math.abs(x) < a.MIN_REPULSION_DIST && (x = u.sign(x) * a.MIN_REPULSION_DIST), + Math.abs(b) < a.MIN_REPULSION_DIST && (b = u.sign(b) * a.MIN_REPULSION_DIST), + (w = x * x + b * b), + (S = Math.sqrt(w)), + (T = + ((d.nodeRepulsion / 2 + p.nodeRepulsion / 2) * + d.noOfChildren * + p.noOfChildren) / + w), + (E = (T * x) / S), + (_ = (T * b) / S), + (d.repulsionForceX -= E), + (d.repulsionForceY -= _), + (p.repulsionForceX += E), + (p.repulsionForceY += _); + }), + (h.prototype.calcGravitationalForce = function (d) { + var p, m, g, y, v, x, b, w; + (p = d.getOwner()), + (m = (p.getRight() + p.getLeft()) / 2), + (g = (p.getTop() + p.getBottom()) / 2), + (y = d.getCenterX() - m), + (v = d.getCenterY() - g), + (x = Math.abs(y) + d.getWidth() / 2), + (b = Math.abs(v) + d.getHeight() / 2), + d.getOwner() == this.graphManager.getRoot() + ? ((w = p.getEstimatedSize() * this.gravityRangeFactor), + (x > w || b > w) && + ((d.gravitationForceX = -this.gravityConstant * y), + (d.gravitationForceY = -this.gravityConstant * v))) + : ((w = p.getEstimatedSize() * this.compoundGravityRangeFactor), + (x > w || b > w) && + ((d.gravitationForceX = + -this.gravityConstant * y * this.compoundGravityConstant), + (d.gravitationForceY = + -this.gravityConstant * v * this.compoundGravityConstant))); + }), + (h.prototype.isConverged = function () { + var d, + p = !1; + return ( + this.totalIterations > this.maxIterations / 3 && + (p = Math.abs(this.totalDisplacement - this.oldTotalDisplacement) < 2), + (d = this.totalDisplacement < this.totalDisplacementThreshold), + (this.oldTotalDisplacement = this.totalDisplacement), + d || p + ); + }), + (h.prototype.animate = function () { + this.animationDuringLayout && + !this.isSubLayout && + (this.notAnimatedIterations == this.animationPeriod + ? (this.update(), (this.notAnimatedIterations = 0)) + : this.notAnimatedIterations++); + }), + (h.prototype.calcNoOfChildrenForAllNodes = function () { + for (var d, p = this.graphManager.getAllNodes(), m = 0; m < p.length; m++) + (d = p[m]), (d.noOfChildren = d.getNoOfChildren()); + }), + (h.prototype.calcGrid = function (d) { + var p = 0, + m = 0; + (p = parseInt(Math.ceil((d.getRight() - d.getLeft()) / this.repulsionRange))), + (m = parseInt(Math.ceil((d.getBottom() - d.getTop()) / this.repulsionRange))); + for (var g = new Array(p), y = 0; y < p; y++) g[y] = new Array(m); + for (var y = 0; y < p; y++) for (var v = 0; v < m; v++) g[y][v] = new Array(); + return g; + }), + (h.prototype.addNodeToGrid = function (d, p, m) { + var g = 0, + y = 0, + v = 0, + x = 0; + (g = parseInt(Math.floor((d.getRect().x - p) / this.repulsionRange))), + (y = parseInt( + Math.floor((d.getRect().width + d.getRect().x - p) / this.repulsionRange) + )), + (v = parseInt(Math.floor((d.getRect().y - m) / this.repulsionRange))), + (x = parseInt( + Math.floor((d.getRect().height + d.getRect().y - m) / this.repulsionRange) + )); + for (var b = g; b <= y; b++) + for (var w = v; w <= x; w++) this.grid[b][w].push(d), d.setGridCoordinates(g, y, v, x); + }), + (h.prototype.updateGrid = function () { + var d, + p, + m = this.getAllNodes(); + for (this.grid = this.calcGrid(this.graphManager.getRoot()), d = 0; d < m.length; d++) + (p = m[d]), + this.addNodeToGrid( + p, + this.graphManager.getRoot().getLeft(), + this.graphManager.getRoot().getTop() + ); + }), + (h.prototype.calculateRepulsionForceOfANode = function (d, p, m, g) { + if ((this.totalIterations % a.GRID_CALCULATION_CHECK_PERIOD == 1 && m) || g) { + var y = new Set(); + d.surrounding = new Array(); + for (var v, x = this.grid, b = d.startX - 1; b < d.finishX + 2; b++) + for (var w = d.startY - 1; w < d.finishY + 2; w++) + if (!(b < 0 || w < 0 || b >= x.length || w >= x[0].length)) { + for (var S = 0; S < x[b][w].length; S++) + if ( + ((v = x[b][w][S]), + !(d.getOwner() != v.getOwner() || d == v) && !p.has(v) && !y.has(v)) + ) { + var T = + Math.abs(d.getCenterX() - v.getCenterX()) - + (d.getWidth() / 2 + v.getWidth() / 2), + E = + Math.abs(d.getCenterY() - v.getCenterY()) - + (d.getHeight() / 2 + v.getHeight() / 2); + T <= this.repulsionRange && E <= this.repulsionRange && y.add(v); + } + } + d.surrounding = [].concat(n(y)); + } + for (b = 0; b < d.surrounding.length; b++) this.calcRepulsionForce(d, d.surrounding[b]); + }), + (h.prototype.calcRepulsionRange = function () { + return 0; + }), + (t.exports = h); + }, + function (t, e, r) { + 'use strict'; + var n = r(1), + i = r(4); + function a(l, u, h) { + n.call(this, l, u, h), + (this.idealLength = i.DEFAULT_EDGE_LENGTH), + (this.edgeElasticity = i.DEFAULT_SPRING_STRENGTH); + } + o(a, 'FDLayoutEdge'), (a.prototype = Object.create(n.prototype)); + for (var s in n) a[s] = n[s]; + t.exports = a; + }, + function (t, e, r) { + 'use strict'; + var n = r(3), + i = r(4); + function a(l, u, h, f) { + n.call(this, l, u, h, f), + (this.nodeRepulsion = i.DEFAULT_REPULSION_STRENGTH), + (this.springForceX = 0), + (this.springForceY = 0), + (this.repulsionForceX = 0), + (this.repulsionForceY = 0), + (this.gravitationForceX = 0), + (this.gravitationForceY = 0), + (this.displacementX = 0), + (this.displacementY = 0), + (this.startX = 0), + (this.finishX = 0), + (this.startY = 0), + (this.finishY = 0), + (this.surrounding = []); + } + o(a, 'FDLayoutNode'), (a.prototype = Object.create(n.prototype)); + for (var s in n) a[s] = n[s]; + (a.prototype.setGridCoordinates = function (l, u, h, f) { + (this.startX = l), (this.finishX = u), (this.startY = h), (this.finishY = f); + }), + (t.exports = a); + }, + function (t, e, r) { + 'use strict'; + function n(i, a) { + (this.width = 0), + (this.height = 0), + i !== null && a !== null && ((this.height = a), (this.width = i)); + } + o(n, 'DimensionD'), + (n.prototype.getWidth = function () { + return this.width; + }), + (n.prototype.setWidth = function (i) { + this.width = i; + }), + (n.prototype.getHeight = function () { + return this.height; + }), + (n.prototype.setHeight = function (i) { + this.height = i; + }), + (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + var n = r(14); + function i() { + (this.map = {}), (this.keys = []); + } + o(i, 'HashMap'), + (i.prototype.put = function (a, s) { + var l = n.createID(a); + this.contains(l) || ((this.map[l] = s), this.keys.push(a)); + }), + (i.prototype.contains = function (a) { + var s = n.createID(a); + return this.map[a] != null; + }), + (i.prototype.get = function (a) { + var s = n.createID(a); + return this.map[s]; + }), + (i.prototype.keySet = function () { + return this.keys; + }), + (t.exports = i); + }, + function (t, e, r) { + 'use strict'; + var n = r(14); + function i() { + this.set = {}; + } + o(i, 'HashSet'), + (i.prototype.add = function (a) { + var s = n.createID(a); + this.contains(s) || (this.set[s] = a); + }), + (i.prototype.remove = function (a) { + delete this.set[n.createID(a)]; + }), + (i.prototype.clear = function () { + this.set = {}; + }), + (i.prototype.contains = function (a) { + return this.set[n.createID(a)] == a; + }), + (i.prototype.isEmpty = function () { + return this.size() === 0; + }), + (i.prototype.size = function () { + return Object.keys(this.set).length; + }), + (i.prototype.addAllTo = function (a) { + for (var s = Object.keys(this.set), l = s.length, u = 0; u < l; u++) a.push(this.set[s[u]]); + }), + (i.prototype.size = function () { + return Object.keys(this.set).length; + }), + (i.prototype.addAll = function (a) { + for (var s = a.length, l = 0; l < s; l++) { + var u = a[l]; + this.add(u); + } + }), + (t.exports = i); + }, + function (t, e, r) { + 'use strict'; + function n() {} + o(n, 'Matrix'), + (n.multMat = function (i, a) { + for (var s = [], l = 0; l < i.length; l++) { + s[l] = []; + for (var u = 0; u < a[0].length; u++) { + s[l][u] = 0; + for (var h = 0; h < i[0].length; h++) s[l][u] += i[l][h] * a[h][u]; + } + } + return s; + }), + (n.transpose = function (i) { + for (var a = [], s = 0; s < i[0].length; s++) { + a[s] = []; + for (var l = 0; l < i.length; l++) a[s][l] = i[l][s]; + } + return a; + }), + (n.multCons = function (i, a) { + for (var s = [], l = 0; l < i.length; l++) s[l] = i[l] * a; + return s; + }), + (n.minusOp = function (i, a) { + for (var s = [], l = 0; l < i.length; l++) s[l] = i[l] - a[l]; + return s; + }), + (n.dotProduct = function (i, a) { + for (var s = 0, l = 0; l < i.length; l++) s += i[l] * a[l]; + return s; + }), + (n.mag = function (i) { + return Math.sqrt(this.dotProduct(i, i)); + }), + (n.normalize = function (i) { + for (var a = [], s = this.mag(i), l = 0; l < i.length; l++) a[l] = i[l] / s; + return a; + }), + (n.multGamma = function (i) { + for (var a = [], s = 0, l = 0; l < i.length; l++) s += i[l]; + s *= -1 / i.length; + for (var u = 0; u < i.length; u++) a[u] = s + i[u]; + return a; + }), + (n.multL = function (i, a, s) { + for (var l = [], u = [], h = [], f = 0; f < a[0].length; f++) { + for (var d = 0, p = 0; p < a.length; p++) d += -0.5 * a[p][f] * i[p]; + u[f] = d; + } + for (var m = 0; m < s.length; m++) { + for (var g = 0, y = 0; y < s.length; y++) g += s[m][y] * u[y]; + h[m] = g; + } + for (var v = 0; v < a.length; v++) { + for (var x = 0, b = 0; b < a[0].length; b++) x += a[v][b] * h[b]; + l[v] = x; + } + return l; + }), + (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + var n = (function () { + function l(u, h) { + for (var f = 0; f < h.length; f++) { + var d = h[f]; + (d.enumerable = d.enumerable || !1), + (d.configurable = !0), + 'value' in d && (d.writable = !0), + Object.defineProperty(u, d.key, d); + } + } + return ( + o(l, 'defineProperties'), + function (u, h, f) { + return h && l(u.prototype, h), f && l(u, f), u; + } + ); + })(); + function i(l, u) { + if (!(l instanceof u)) throw new TypeError('Cannot call a class as a function'); + } + o(i, '_classCallCheck'); + var a = r(11), + s = (function () { + function l(u, h) { + i(this, l), + (h !== null || h !== void 0) && + (this.compareFunction = this._defaultCompareFunction); + var f = void 0; + u instanceof a ? (f = u.size()) : (f = u.length), this._quicksort(u, 0, f - 1); + } + return ( + o(l, 'Quicksort'), + n(l, [ + { + key: '_quicksort', + value: o(function (h, f, d) { + if (f < d) { + var p = this._partition(h, f, d); + this._quicksort(h, f, p), this._quicksort(h, p + 1, d); + } + }, '_quicksort') + }, + { + key: '_partition', + value: o(function (h, f, d) { + for (var p = this._get(h, f), m = f, g = d; ; ) { + for (; this.compareFunction(p, this._get(h, g)); ) g--; + for (; this.compareFunction(this._get(h, m), p); ) m++; + if (m < g) this._swap(h, m, g), m++, g--; + else return g; + } + }, '_partition') + }, + { + key: '_get', + value: o(function (h, f) { + return h instanceof a ? h.get_object_at(f) : h[f]; + }, '_get') + }, + { + key: '_set', + value: o(function (h, f, d) { + h instanceof a ? h.set_object_at(f, d) : (h[f] = d); + }, '_set') + }, + { + key: '_swap', + value: o(function (h, f, d) { + var p = this._get(h, f); + this._set(h, f, this._get(h, d)), this._set(h, d, p); + }, '_swap') + }, + { + key: '_defaultCompareFunction', + value: o(function (h, f) { + return f > h; + }, '_defaultCompareFunction') + } + ]), + l + ); + })(); + t.exports = s; + }, + function (t, e, r) { + 'use strict'; + function n() {} + o(n, 'SVD'), + (n.svd = function (i) { + (this.U = null), + (this.V = null), + (this.s = null), + (this.m = 0), + (this.n = 0), + (this.m = i.length), + (this.n = i[0].length); + var a = Math.min(this.m, this.n); + (this.s = (function (it) { + for (var dt = []; it-- > 0; ) dt.push(0); + return dt; + })(Math.min(this.m + 1, this.n))), + (this.U = (function (it) { + var dt = o(function lt(It) { + if (It.length == 0) return 0; + for (var mt = [], St = 0; St < It[0]; St++) mt.push(lt(It.slice(1))); + return mt; + }, 'allocate'); + return dt(it); + })([this.m, a])), + (this.V = (function (it) { + var dt = o(function lt(It) { + if (It.length == 0) return 0; + for (var mt = [], St = 0; St < It[0]; St++) mt.push(lt(It.slice(1))); + return mt; + }, 'allocate'); + return dt(it); + })([this.n, this.n])); + for ( + var s = (function (it) { + for (var dt = []; it-- > 0; ) dt.push(0); + return dt; + })(this.n), + l = (function (it) { + for (var dt = []; it-- > 0; ) dt.push(0); + return dt; + })(this.m), + u = !0, + h = !0, + f = Math.min(this.m - 1, this.n), + d = Math.max(0, Math.min(this.n - 2, this.m)), + p = 0; + p < Math.max(f, d); + p++ + ) { + if (p < f) { + this.s[p] = 0; + for (var m = p; m < this.m; m++) this.s[p] = n.hypot(this.s[p], i[m][p]); + if (this.s[p] !== 0) { + i[p][p] < 0 && (this.s[p] = -this.s[p]); + for (var g = p; g < this.m; g++) i[g][p] /= this.s[p]; + i[p][p] += 1; + } + this.s[p] = -this.s[p]; + } + for (var y = p + 1; y < this.n; y++) { + if ( + (function (it, dt) { + return it && dt; + })(p < f, this.s[p] !== 0) + ) { + for (var v = 0, x = p; x < this.m; x++) v += i[x][p] * i[x][y]; + v = -v / i[p][p]; + for (var b = p; b < this.m; b++) i[b][y] += v * i[b][p]; + } + s[y] = i[p][y]; + } + if ( + (function (it, dt) { + return it && dt; + })(u, p < f) + ) + for (var w = p; w < this.m; w++) this.U[w][p] = i[w][p]; + if (p < d) { + s[p] = 0; + for (var S = p + 1; S < this.n; S++) s[p] = n.hypot(s[p], s[S]); + if (s[p] !== 0) { + s[p + 1] < 0 && (s[p] = -s[p]); + for (var T = p + 1; T < this.n; T++) s[T] /= s[p]; + s[p + 1] += 1; + } + if ( + ((s[p] = -s[p]), + (function (it, dt) { + return it && dt; + })(p + 1 < this.m, s[p] !== 0)) + ) { + for (var E = p + 1; E < this.m; E++) l[E] = 0; + for (var _ = p + 1; _ < this.n; _++) + for (var A = p + 1; A < this.m; A++) l[A] += s[_] * i[A][_]; + for (var L = p + 1; L < this.n; L++) + for (var M = -s[L] / s[p + 1], N = p + 1; N < this.m; N++) + i[N][L] += M * l[N]; + } + if (h) for (var k = p + 1; k < this.n; k++) this.V[k][p] = s[k]; + } + } + var I = Math.min(this.n, this.m + 1); + if ( + (f < this.n && (this.s[f] = i[f][f]), + this.m < I && (this.s[I - 1] = 0), + d + 1 < I && (s[d] = i[d][I - 1]), + (s[I - 1] = 0), + u) + ) { + for (var C = f; C < a; C++) { + for (var O = 0; O < this.m; O++) this.U[O][C] = 0; + this.U[C][C] = 1; + } + for (var D = f - 1; D >= 0; D--) + if (this.s[D] !== 0) { + for (var P = D + 1; P < a; P++) { + for (var F = 0, B = D; B < this.m; B++) F += this.U[B][D] * this.U[B][P]; + F = -F / this.U[D][D]; + for (var $ = D; $ < this.m; $++) this.U[$][P] += F * this.U[$][D]; + } + for (var z = D; z < this.m; z++) this.U[z][D] = -this.U[z][D]; + this.U[D][D] = 1 + this.U[D][D]; + for (var Y = 0; Y < D - 1; Y++) this.U[Y][D] = 0; + } else { + for (var Q = 0; Q < this.m; Q++) this.U[Q][D] = 0; + this.U[D][D] = 1; + } + } + if (h) + for (var X = this.n - 1; X >= 0; X--) { + if ( + (function (it, dt) { + return it && dt; + })(X < d, s[X] !== 0) + ) + for (var ie = X + 1; ie < a; ie++) { + for (var j = 0, J = X + 1; J < this.n; J++) + j += this.V[J][X] * this.V[J][ie]; + j = -j / this.V[X + 1][X]; + for (var Z = X + 1; Z < this.n; Z++) this.V[Z][ie] += j * this.V[Z][X]; + } + for (var H = 0; H < this.n; H++) this.V[H][X] = 0; + this.V[X][X] = 1; + } + for (var q = I - 1, K = 0, se = Math.pow(2, -52), ce = Math.pow(2, -966); I > 0; ) { + var ue = void 0, + te = void 0; + for (ue = I - 2; ue >= -1 && ue !== -1; ue--) + if ( + Math.abs(s[ue]) <= + ce + se * (Math.abs(this.s[ue]) + Math.abs(this.s[ue + 1])) + ) { + s[ue] = 0; + break; + } + if (ue === I - 2) te = 4; + else { + var De = void 0; + for (De = I - 1; De >= ue && De !== ue; De--) { + var oe = + (De !== I ? Math.abs(s[De]) : 0) + + (De !== ue + 1 ? Math.abs(s[De - 1]) : 0); + if (Math.abs(this.s[De]) <= ce + se * oe) { + this.s[De] = 0; + break; + } + } + De === ue ? (te = 3) : De === I - 1 ? (te = 1) : ((te = 2), (ue = De)); + } + switch ((ue++, te)) { + case 1: + { + var ke = s[I - 2]; + s[I - 2] = 0; + for (var Ie = I - 2; Ie >= ue; Ie--) { + var Se = n.hypot(this.s[Ie], ke), + Ue = this.s[Ie] / Se, + Pe = ke / Se; + if ( + ((this.s[Ie] = Se), + Ie !== ue && ((ke = -Pe * s[Ie - 1]), (s[Ie - 1] = Ue * s[Ie - 1])), + h) + ) + for (var _e = 0; _e < this.n; _e++) + (Se = Ue * this.V[_e][Ie] + Pe * this.V[_e][I - 1]), + (this.V[_e][I - 1] = + -Pe * this.V[_e][Ie] + Ue * this.V[_e][I - 1]), + (this.V[_e][Ie] = Se); + } + } + break; + case 2: + { + var me = s[ue - 1]; + s[ue - 1] = 0; + for (var W = ue; W < I; W++) { + var fe = n.hypot(this.s[W], me), + ge = this.s[W] / fe, + re = me / fe; + if (((this.s[W] = fe), (me = -re * s[W]), (s[W] = ge * s[W]), u)) + for (var he = 0; he < this.m; he++) + (fe = ge * this.U[he][W] + re * this.U[he][ue - 1]), + (this.U[he][ue - 1] = + -re * this.U[he][W] + ge * this.U[he][ue - 1]), + (this.U[he][W] = fe); + } + } + break; + case 3: + { + var ne = Math.max( + Math.max( + Math.max( + Math.max(Math.abs(this.s[I - 1]), Math.abs(this.s[I - 2])), + Math.abs(s[I - 2]) + ), + Math.abs(this.s[ue]) + ), + Math.abs(s[ue]) + ), + ae = this.s[I - 1] / ne, + we = this.s[I - 2] / ne, + Te = s[I - 2] / ne, + Ce = this.s[ue] / ne, + Ae = s[ue] / ne, + Ge = ((we + ae) * (we - ae) + Te * Te) / 2, + Me = ae * Te * (ae * Te), + ye = 0; + (function (it, dt) { + return it || dt; + })(Ge !== 0, Me !== 0) && + ((ye = Math.sqrt(Ge * Ge + Me)), + Ge < 0 && (ye = -ye), + (ye = Me / (Ge + ye))); + for ( + var He = (Ce + ae) * (Ce - ae) + ye, ze = Ce * Ae, Ze = ue; + Ze < I - 1; + Ze++ + ) { + var gt = n.hypot(He, ze), + yt = He / gt, + tt = ze / gt; + if ( + (Ze !== ue && (s[Ze - 1] = gt), + (He = yt * this.s[Ze] + tt * s[Ze]), + (s[Ze] = yt * s[Ze] - tt * this.s[Ze]), + (ze = tt * this.s[Ze + 1]), + (this.s[Ze + 1] = yt * this.s[Ze + 1]), + h) + ) + for (var Ye = 0; Ye < this.n; Ye++) + (gt = yt * this.V[Ye][Ze] + tt * this.V[Ye][Ze + 1]), + (this.V[Ye][Ze + 1] = + -tt * this.V[Ye][Ze] + yt * this.V[Ye][Ze + 1]), + (this.V[Ye][Ze] = gt); + if ( + ((gt = n.hypot(He, ze)), + (yt = He / gt), + (tt = ze / gt), + (this.s[Ze] = gt), + (He = yt * s[Ze] + tt * this.s[Ze + 1]), + (this.s[Ze + 1] = -tt * s[Ze] + yt * this.s[Ze + 1]), + (ze = tt * s[Ze + 1]), + (s[Ze + 1] = yt * s[Ze + 1]), + u && Ze < this.m - 1) + ) + for (var Je = 0; Je < this.m; Je++) + (gt = yt * this.U[Je][Ze] + tt * this.U[Je][Ze + 1]), + (this.U[Je][Ze + 1] = + -tt * this.U[Je][Ze] + yt * this.U[Je][Ze + 1]), + (this.U[Je][Ze] = gt); + } + (s[I - 2] = He), (K = K + 1); + } + break; + case 4: + { + if (this.s[ue] <= 0 && ((this.s[ue] = this.s[ue] < 0 ? -this.s[ue] : 0), h)) + for (var Ve = 0; Ve <= q; Ve++) this.V[Ve][ue] = -this.V[Ve][ue]; + for (; ue < q && !(this.s[ue] >= this.s[ue + 1]); ) { + var je = this.s[ue]; + if ( + ((this.s[ue] = this.s[ue + 1]), + (this.s[ue + 1] = je), + h && ue < this.n - 1) + ) + for (var kt = 0; kt < this.n; kt++) + (je = this.V[kt][ue + 1]), + (this.V[kt][ue + 1] = this.V[kt][ue]), + (this.V[kt][ue] = je); + if (u && ue < this.m - 1) + for (var at = 0; at < this.m; at++) + (je = this.U[at][ue + 1]), + (this.U[at][ue + 1] = this.U[at][ue]), + (this.U[at][ue] = je); + ue++; + } + (K = 0), I--; + } + break; + } + } + var xt = { U: this.U, V: this.V, S: this.s }; + return xt; + }), + (n.hypot = function (i, a) { + var s = void 0; + return ( + Math.abs(i) > Math.abs(a) + ? ((s = a / i), (s = Math.abs(i) * Math.sqrt(1 + s * s))) + : a != 0 + ? ((s = i / a), (s = Math.abs(a) * Math.sqrt(1 + s * s))) + : (s = 0), + s + ); + }), + (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + var n = (function () { + function s(l, u) { + for (var h = 0; h < u.length; h++) { + var f = u[h]; + (f.enumerable = f.enumerable || !1), + (f.configurable = !0), + 'value' in f && (f.writable = !0), + Object.defineProperty(l, f.key, f); + } + } + return ( + o(s, 'defineProperties'), + function (l, u, h) { + return u && s(l.prototype, u), h && s(l, h), l; + } + ); + })(); + function i(s, l) { + if (!(s instanceof l)) throw new TypeError('Cannot call a class as a function'); + } + o(i, '_classCallCheck'); + var a = (function () { + function s(l, u) { + var h = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 1, + f = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : -1, + d = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : -1; + i(this, s), + (this.sequence1 = l), + (this.sequence2 = u), + (this.match_score = h), + (this.mismatch_penalty = f), + (this.gap_penalty = d), + (this.iMax = l.length + 1), + (this.jMax = u.length + 1), + (this.grid = new Array(this.iMax)); + for (var p = 0; p < this.iMax; p++) { + this.grid[p] = new Array(this.jMax); + for (var m = 0; m < this.jMax; m++) this.grid[p][m] = 0; + } + this.tracebackGrid = new Array(this.iMax); + for (var g = 0; g < this.iMax; g++) { + this.tracebackGrid[g] = new Array(this.jMax); + for (var y = 0; y < this.jMax; y++) this.tracebackGrid[g][y] = [null, null, null]; + } + (this.alignments = []), (this.score = -1), this.computeGrids(); + } + return ( + o(s, 'NeedlemanWunsch'), + n(s, [ + { + key: 'getScore', + value: o(function () { + return this.score; + }, 'getScore') + }, + { + key: 'getAlignments', + value: o(function () { + return this.alignments; + }, 'getAlignments') + }, + { + key: 'computeGrids', + value: o(function () { + for (var u = 1; u < this.jMax; u++) + (this.grid[0][u] = this.grid[0][u - 1] + this.gap_penalty), + (this.tracebackGrid[0][u] = [!1, !1, !0]); + for (var h = 1; h < this.iMax; h++) + (this.grid[h][0] = this.grid[h - 1][0] + this.gap_penalty), + (this.tracebackGrid[h][0] = [!1, !0, !1]); + for (var f = 1; f < this.iMax; f++) + for (var d = 1; d < this.jMax; d++) { + var p = void 0; + this.sequence1[f - 1] === this.sequence2[d - 1] + ? (p = this.grid[f - 1][d - 1] + this.match_score) + : (p = this.grid[f - 1][d - 1] + this.mismatch_penalty); + var m = this.grid[f - 1][d] + this.gap_penalty, + g = this.grid[f][d - 1] + this.gap_penalty, + y = [p, m, g], + v = this.arrayAllMaxIndexes(y); + (this.grid[f][d] = y[v[0]]), + (this.tracebackGrid[f][d] = [ + v.includes(0), + v.includes(1), + v.includes(2) + ]); + } + this.score = this.grid[this.iMax - 1][this.jMax - 1]; + }, 'computeGrids') + }, + { + key: 'alignmentTraceback', + value: o(function () { + var u = []; + for ( + u.push({ + pos: [this.sequence1.length, this.sequence2.length], + seq1: '', + seq2: '' + }); + u[0]; + + ) { + var h = u[0], + f = this.tracebackGrid[h.pos[0]][h.pos[1]]; + f[0] && + u.push({ + pos: [h.pos[0] - 1, h.pos[1] - 1], + seq1: this.sequence1[h.pos[0] - 1] + h.seq1, + seq2: this.sequence2[h.pos[1] - 1] + h.seq2 + }), + f[1] && + u.push({ + pos: [h.pos[0] - 1, h.pos[1]], + seq1: this.sequence1[h.pos[0] - 1] + h.seq1, + seq2: '-' + h.seq2 + }), + f[2] && + u.push({ + pos: [h.pos[0], h.pos[1] - 1], + seq1: '-' + h.seq1, + seq2: this.sequence2[h.pos[1] - 1] + h.seq2 + }), + h.pos[0] === 0 && + h.pos[1] === 0 && + this.alignments.push({ + sequence1: h.seq1, + sequence2: h.seq2 + }), + u.shift(); + } + return this.alignments; + }, 'alignmentTraceback') + }, + { + key: 'getAllIndexes', + value: o(function (u, h) { + for (var f = [], d = -1; (d = u.indexOf(h, d + 1)) !== -1; ) f.push(d); + return f; + }, 'getAllIndexes') + }, + { + key: 'arrayAllMaxIndexes', + value: o(function (u) { + return this.getAllIndexes(u, Math.max.apply(null, u)); + }, 'arrayAllMaxIndexes') + } + ]), + s + ); + })(); + t.exports = a; + }, + function (t, e, r) { + 'use strict'; + var n = o(function () {}, 'layoutBase'); + (n.FDLayout = r(18)), + (n.FDLayoutConstants = r(4)), + (n.FDLayoutEdge = r(19)), + (n.FDLayoutNode = r(20)), + (n.DimensionD = r(21)), + (n.HashMap = r(22)), + (n.HashSet = r(23)), + (n.IGeometry = r(8)), + (n.IMath = r(9)), + (n.Integer = r(10)), + (n.Point = r(12)), + (n.PointD = r(5)), + (n.RandomSeed = r(16)), + (n.RectangleD = r(13)), + (n.Transform = r(17)), + (n.UniqueIDGeneretor = r(14)), + (n.Quicksort = r(25)), + (n.LinkedList = r(11)), + (n.LGraphObject = r(2)), + (n.LGraph = r(6)), + (n.LEdge = r(1)), + (n.LGraphManager = r(7)), + (n.LNode = r(3)), + (n.Layout = r(15)), + (n.LayoutConstants = r(0)), + (n.NeedlemanWunsch = r(27)), + (n.Matrix = r(24)), + (n.SVD = r(26)), + (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + function n() { + this.listeners = []; + } + o(n, 'Emitter'); + var i = n.prototype; + (i.addListener = function (a, s) { + this.listeners.push({ event: a, callback: s }); + }), + (i.removeListener = function (a, s) { + for (var l = this.listeners.length; l >= 0; l--) { + var u = this.listeners[l]; + u.event === a && u.callback === s && this.listeners.splice(l, 1); + } + }), + (i.emit = function (a, s) { + for (var l = 0; l < this.listeners.length; l++) { + var u = this.listeners[l]; + a === u.event && u.callback(s); + } + }), + (t.exports = n); + } + ]); + }); + }); + var ZB = gi((vb, QB) => { + 'use strict'; + o(function (e, r) { + typeof vb == 'object' && typeof QB == 'object' + ? (QB.exports = r(KB())) + : typeof define == 'function' && define.amd + ? define(['layout-base'], r) + : typeof vb == 'object' + ? (vb.coseBase = r(KB())) + : (e.coseBase = r(e.layoutBase)); + }, 'webpackUniversalModuleDefinition')(vb, function (t) { + return (() => { + 'use strict'; + var e = { + 45: (a, s, l) => { + var u = {}; + (u.layoutBase = l(551)), + (u.CoSEConstants = l(806)), + (u.CoSEEdge = l(767)), + (u.CoSEGraph = l(880)), + (u.CoSEGraphManager = l(578)), + (u.CoSELayout = l(765)), + (u.CoSENode = l(991)), + (u.ConstraintHandler = l(902)), + (a.exports = u); + }, + 806: (a, s, l) => { + var u = l(551).FDLayoutConstants; + function h() {} + o(h, 'CoSEConstants'); + for (var f in u) h[f] = u[f]; + (h.DEFAULT_USE_MULTI_LEVEL_SCALING = !1), + (h.DEFAULT_RADIAL_SEPARATION = u.DEFAULT_EDGE_LENGTH), + (h.DEFAULT_COMPONENT_SEPERATION = 60), + (h.TILE = !0), + (h.TILING_PADDING_VERTICAL = 10), + (h.TILING_PADDING_HORIZONTAL = 10), + (h.TRANSFORM_ON_CONSTRAINT_HANDLING = !0), + (h.ENFORCE_CONSTRAINTS = !0), + (h.APPLY_LAYOUT = !0), + (h.RELAX_MOVEMENT_ON_CONSTRAINTS = !0), + (h.TREE_REDUCTION_ON_INCREMENTAL = !0), + (h.PURE_INCREMENTAL = h.DEFAULT_INCREMENTAL), + (a.exports = h); + }, + 767: (a, s, l) => { + var u = l(551).FDLayoutEdge; + function h(d, p, m) { + u.call(this, d, p, m); + } + o(h, 'CoSEEdge'), (h.prototype = Object.create(u.prototype)); + for (var f in u) h[f] = u[f]; + a.exports = h; + }, + 880: (a, s, l) => { + var u = l(551).LGraph; + function h(d, p, m) { + u.call(this, d, p, m); + } + o(h, 'CoSEGraph'), (h.prototype = Object.create(u.prototype)); + for (var f in u) h[f] = u[f]; + a.exports = h; + }, + 578: (a, s, l) => { + var u = l(551).LGraphManager; + function h(d) { + u.call(this, d); + } + o(h, 'CoSEGraphManager'), (h.prototype = Object.create(u.prototype)); + for (var f in u) h[f] = u[f]; + a.exports = h; + }, + 765: (a, s, l) => { + var u = l(551).FDLayout, + h = l(578), + f = l(880), + d = l(991), + p = l(767), + m = l(806), + g = l(902), + y = l(551).FDLayoutConstants, + v = l(551).LayoutConstants, + x = l(551).Point, + b = l(551).PointD, + w = l(551).DimensionD, + S = l(551).Layout, + T = l(551).Integer, + E = l(551).IGeometry, + _ = l(551).LGraph, + A = l(551).Transform, + L = l(551).LinkedList; + function M() { + u.call(this), (this.toBeTiled = {}), (this.constraints = {}); + } + o(M, 'CoSELayout'), (M.prototype = Object.create(u.prototype)); + for (var N in u) M[N] = u[N]; + (M.prototype.newGraphManager = function () { + var k = new h(this); + return (this.graphManager = k), k; + }), + (M.prototype.newGraph = function (k) { + return new f(null, this.graphManager, k); + }), + (M.prototype.newNode = function (k) { + return new d(this.graphManager, k); + }), + (M.prototype.newEdge = function (k) { + return new p(null, null, k); + }), + (M.prototype.initParameters = function () { + u.prototype.initParameters.call(this, arguments), + this.isSubLayout || + (m.DEFAULT_EDGE_LENGTH < 10 + ? (this.idealEdgeLength = 10) + : (this.idealEdgeLength = m.DEFAULT_EDGE_LENGTH), + (this.useSmartIdealEdgeLengthCalculation = + m.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION), + (this.gravityConstant = y.DEFAULT_GRAVITY_STRENGTH), + (this.compoundGravityConstant = y.DEFAULT_COMPOUND_GRAVITY_STRENGTH), + (this.gravityRangeFactor = y.DEFAULT_GRAVITY_RANGE_FACTOR), + (this.compoundGravityRangeFactor = y.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR), + (this.prunedNodesAll = []), + (this.growTreeIterations = 0), + (this.afterGrowthIterations = 0), + (this.isTreeGrowing = !1), + (this.isGrowthFinished = !1)); + }), + (M.prototype.initSpringEmbedder = function () { + u.prototype.initSpringEmbedder.call(this), + (this.coolingCycle = 0), + (this.maxCoolingCycle = this.maxIterations / y.CONVERGENCE_CHECK_PERIOD), + (this.finalTemperature = 0.04), + (this.coolingAdjuster = 1); + }), + (M.prototype.layout = function () { + var k = v.DEFAULT_CREATE_BENDS_AS_NEEDED; + return ( + k && (this.createBendpoints(), this.graphManager.resetAllEdges()), + (this.level = 0), + this.classicLayout() + ); + }), + (M.prototype.classicLayout = function () { + if ( + ((this.nodesWithGravity = this.calculateNodesToApplyGravitationTo()), + this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity), + this.calcNoOfChildrenForAllNodes(), + this.graphManager.calcLowestCommonAncestors(), + this.graphManager.calcInclusionTreeDepths(), + this.graphManager.getRoot().calcEstimatedSize(), + this.calcIdealEdgeLengths(), + this.incremental) + ) { + if (m.TREE_REDUCTION_ON_INCREMENTAL) { + this.reduceTrees(), this.graphManager.resetAllNodesToApplyGravitation(); + var I = new Set(this.getAllNodes()), + C = this.nodesWithGravity.filter(function (P) { + return I.has(P); + }); + this.graphManager.setAllNodesToApplyGravitation(C); + } + } else { + var k = this.getFlatForest(); + if (k.length > 0) this.positionNodesRadially(k); + else { + this.reduceTrees(), this.graphManager.resetAllNodesToApplyGravitation(); + var I = new Set(this.getAllNodes()), + C = this.nodesWithGravity.filter(function (O) { + return I.has(O); + }); + this.graphManager.setAllNodesToApplyGravitation(C), + this.positionNodesRandomly(); + } + } + return ( + Object.keys(this.constraints).length > 0 && + (g.handleConstraints(this), this.initConstraintVariables()), + this.initSpringEmbedder(), + m.APPLY_LAYOUT && this.runSpringEmbedder(), + !0 + ); + }), + (M.prototype.tick = function () { + if ( + (this.totalIterations++, + this.totalIterations === this.maxIterations && + !this.isTreeGrowing && + !this.isGrowthFinished) + ) + if (this.prunedNodesAll.length > 0) this.isTreeGrowing = !0; + else return !0; + if ( + this.totalIterations % y.CONVERGENCE_CHECK_PERIOD == 0 && + !this.isTreeGrowing && + !this.isGrowthFinished + ) { + if (this.isConverged()) + if (this.prunedNodesAll.length > 0) this.isTreeGrowing = !0; + else return !0; + this.coolingCycle++, + this.layoutQuality == 0 + ? (this.coolingAdjuster = this.coolingCycle) + : this.layoutQuality == 1 && + (this.coolingAdjuster = this.coolingCycle / 3), + (this.coolingFactor = Math.max( + this.initialCoolingFactor - + (Math.pow( + this.coolingCycle, + Math.log( + 100 * (this.initialCoolingFactor - this.finalTemperature) + ) / Math.log(this.maxCoolingCycle) + ) / + 100) * + this.coolingAdjuster, + this.finalTemperature + )), + (this.animationPeriod = Math.ceil( + this.initialAnimationPeriod * Math.sqrt(this.coolingFactor) + )); + } + if (this.isTreeGrowing) { + if (this.growTreeIterations % 10 == 0) + if (this.prunedNodesAll.length > 0) { + this.graphManager.updateBounds(), + this.updateGrid(), + this.growTree(this.prunedNodesAll), + this.graphManager.resetAllNodesToApplyGravitation(); + var k = new Set(this.getAllNodes()), + I = this.nodesWithGravity.filter(function (D) { + return k.has(D); + }); + this.graphManager.setAllNodesToApplyGravitation(I), + this.graphManager.updateBounds(), + this.updateGrid(), + m.PURE_INCREMENTAL + ? (this.coolingFactor = + y.DEFAULT_COOLING_FACTOR_INCREMENTAL / 2) + : (this.coolingFactor = y.DEFAULT_COOLING_FACTOR_INCREMENTAL); + } else (this.isTreeGrowing = !1), (this.isGrowthFinished = !0); + this.growTreeIterations++; + } + if (this.isGrowthFinished) { + if (this.isConverged()) return !0; + this.afterGrowthIterations % 10 == 0 && + (this.graphManager.updateBounds(), this.updateGrid()), + m.PURE_INCREMENTAL + ? (this.coolingFactor = + (y.DEFAULT_COOLING_FACTOR_INCREMENTAL / 2) * + ((100 - this.afterGrowthIterations) / 100)) + : (this.coolingFactor = + y.DEFAULT_COOLING_FACTOR_INCREMENTAL * + ((100 - this.afterGrowthIterations) / 100)), + this.afterGrowthIterations++; + } + var C = !this.isTreeGrowing && !this.isGrowthFinished, + O = + (this.growTreeIterations % 10 == 1 && this.isTreeGrowing) || + (this.afterGrowthIterations % 10 == 1 && this.isGrowthFinished); + return ( + (this.totalDisplacement = 0), + this.graphManager.updateBounds(), + this.calcSpringForces(), + this.calcRepulsionForces(C, O), + this.calcGravitationalForces(), + this.moveNodes(), + this.animate(), + !1 + ); + }), + (M.prototype.getPositionsData = function () { + for (var k = this.graphManager.getAllNodes(), I = {}, C = 0; C < k.length; C++) { + var O = k[C].rect, + D = k[C].id; + I[D] = { + id: D, + x: O.getCenterX(), + y: O.getCenterY(), + w: O.width, + h: O.height + }; + } + return I; + }), + (M.prototype.runSpringEmbedder = function () { + (this.initialAnimationPeriod = 25), + (this.animationPeriod = this.initialAnimationPeriod); + var k = !1; + if (y.ANIMATE === 'during') this.emit('layoutstarted'); + else { + for (; !k; ) k = this.tick(); + this.graphManager.updateBounds(); + } + }), + (M.prototype.moveNodes = function () { + for (var k = this.getAllNodes(), I, C = 0; C < k.length; C++) + (I = k[C]), I.calculateDisplacement(); + Object.keys(this.constraints).length > 0 && this.updateDisplacements(); + for (var C = 0; C < k.length; C++) (I = k[C]), I.move(); + }), + (M.prototype.initConstraintVariables = function () { + var k = this; + (this.idToNodeMap = new Map()), (this.fixedNodeSet = new Set()); + for (var I = this.graphManager.getAllNodes(), C = 0; C < I.length; C++) { + var O = I[C]; + this.idToNodeMap.set(O.id, O); + } + var D = o(function J(Z) { + for (var H = Z.getChild().getNodes(), q, K = 0, se = 0; se < H.length; se++) + (q = H[se]), + q.getChild() == null + ? k.fixedNodeSet.has(q.id) && (K += 100) + : (K += J(q)); + return K; + }, 'calculateCompoundWeight'); + if (this.constraints.fixedNodeConstraint) { + this.constraints.fixedNodeConstraint.forEach(function (H) { + k.fixedNodeSet.add(H.nodeId); + }); + for (var I = this.graphManager.getAllNodes(), O, C = 0; C < I.length; C++) + if (((O = I[C]), O.getChild() != null)) { + var P = D(O); + P > 0 && (O.fixedNodeWeight = P); + } + } + if (this.constraints.relativePlacementConstraint) { + var F = new Map(), + B = new Map(); + if ( + ((this.dummyToNodeForVerticalAlignment = new Map()), + (this.dummyToNodeForHorizontalAlignment = new Map()), + (this.fixedNodesOnHorizontal = new Set()), + (this.fixedNodesOnVertical = new Set()), + this.fixedNodeSet.forEach(function (J) { + k.fixedNodesOnHorizontal.add(J), k.fixedNodesOnVertical.add(J); + }), + this.constraints.alignmentConstraint) + ) { + if (this.constraints.alignmentConstraint.vertical) + for ( + var $ = this.constraints.alignmentConstraint.vertical, C = 0; + C < $.length; + C++ + ) + this.dummyToNodeForVerticalAlignment.set('dummy' + C, []), + $[C].forEach(function (Z) { + F.set(Z, 'dummy' + C), + k.dummyToNodeForVerticalAlignment + .get('dummy' + C) + .push(Z), + k.fixedNodeSet.has(Z) && + k.fixedNodesOnHorizontal.add('dummy' + C); + }); + if (this.constraints.alignmentConstraint.horizontal) + for ( + var z = this.constraints.alignmentConstraint.horizontal, C = 0; + C < z.length; + C++ + ) + this.dummyToNodeForHorizontalAlignment.set('dummy' + C, []), + z[C].forEach(function (Z) { + B.set(Z, 'dummy' + C), + k.dummyToNodeForHorizontalAlignment + .get('dummy' + C) + .push(Z), + k.fixedNodeSet.has(Z) && + k.fixedNodesOnVertical.add('dummy' + C); + }); + } + if (m.RELAX_MOVEMENT_ON_CONSTRAINTS) + (this.shuffle = function (J) { + var Z, H, q; + for (q = J.length - 1; q >= (2 * J.length) / 3; q--) + (Z = Math.floor(Math.random() * (q + 1))), + (H = J[q]), + (J[q] = J[Z]), + (J[Z] = H); + return J; + }), + (this.nodesInRelativeHorizontal = []), + (this.nodesInRelativeVertical = []), + (this.nodeToRelativeConstraintMapHorizontal = new Map()), + (this.nodeToRelativeConstraintMapVertical = new Map()), + (this.nodeToTempPositionMapHorizontal = new Map()), + (this.nodeToTempPositionMapVertical = new Map()), + this.constraints.relativePlacementConstraint.forEach(function (J) { + if (J.left) { + var Z = F.has(J.left) ? F.get(J.left) : J.left, + H = F.has(J.right) ? F.get(J.right) : J.right; + k.nodesInRelativeHorizontal.includes(Z) || + (k.nodesInRelativeHorizontal.push(Z), + k.nodeToRelativeConstraintMapHorizontal.set(Z, []), + k.dummyToNodeForVerticalAlignment.has(Z) + ? k.nodeToTempPositionMapHorizontal.set( + Z, + k.idToNodeMap + .get( + k.dummyToNodeForVerticalAlignment.get( + Z + )[0] + ) + .getCenterX() + ) + : k.nodeToTempPositionMapHorizontal.set( + Z, + k.idToNodeMap.get(Z).getCenterX() + )), + k.nodesInRelativeHorizontal.includes(H) || + (k.nodesInRelativeHorizontal.push(H), + k.nodeToRelativeConstraintMapHorizontal.set(H, []), + k.dummyToNodeForVerticalAlignment.has(H) + ? k.nodeToTempPositionMapHorizontal.set( + H, + k.idToNodeMap + .get( + k.dummyToNodeForVerticalAlignment.get( + H + )[0] + ) + .getCenterX() + ) + : k.nodeToTempPositionMapHorizontal.set( + H, + k.idToNodeMap.get(H).getCenterX() + )), + k.nodeToRelativeConstraintMapHorizontal + .get(Z) + .push({ right: H, gap: J.gap }), + k.nodeToRelativeConstraintMapHorizontal + .get(H) + .push({ left: Z, gap: J.gap }); + } else { + var q = B.has(J.top) ? B.get(J.top) : J.top, + K = B.has(J.bottom) ? B.get(J.bottom) : J.bottom; + k.nodesInRelativeVertical.includes(q) || + (k.nodesInRelativeVertical.push(q), + k.nodeToRelativeConstraintMapVertical.set(q, []), + k.dummyToNodeForHorizontalAlignment.has(q) + ? k.nodeToTempPositionMapVertical.set( + q, + k.idToNodeMap + .get( + k.dummyToNodeForHorizontalAlignment.get( + q + )[0] + ) + .getCenterY() + ) + : k.nodeToTempPositionMapVertical.set( + q, + k.idToNodeMap.get(q).getCenterY() + )), + k.nodesInRelativeVertical.includes(K) || + (k.nodesInRelativeVertical.push(K), + k.nodeToRelativeConstraintMapVertical.set(K, []), + k.dummyToNodeForHorizontalAlignment.has(K) + ? k.nodeToTempPositionMapVertical.set( + K, + k.idToNodeMap + .get( + k.dummyToNodeForHorizontalAlignment.get( + K + )[0] + ) + .getCenterY() + ) + : k.nodeToTempPositionMapVertical.set( + K, + k.idToNodeMap.get(K).getCenterY() + )), + k.nodeToRelativeConstraintMapVertical + .get(q) + .push({ bottom: K, gap: J.gap }), + k.nodeToRelativeConstraintMapVertical + .get(K) + .push({ top: q, gap: J.gap }); + } + }); + else { + var Y = new Map(), + Q = new Map(); + this.constraints.relativePlacementConstraint.forEach(function (J) { + if (J.left) { + var Z = F.has(J.left) ? F.get(J.left) : J.left, + H = F.has(J.right) ? F.get(J.right) : J.right; + Y.has(Z) ? Y.get(Z).push(H) : Y.set(Z, [H]), + Y.has(H) ? Y.get(H).push(Z) : Y.set(H, [Z]); + } else { + var q = B.has(J.top) ? B.get(J.top) : J.top, + K = B.has(J.bottom) ? B.get(J.bottom) : J.bottom; + Q.has(q) ? Q.get(q).push(K) : Q.set(q, [K]), + Q.has(K) ? Q.get(K).push(q) : Q.set(K, [q]); + } + }); + var X = o(function (Z, H) { + var q = [], + K = [], + se = new L(), + ce = new Set(), + ue = 0; + return ( + Z.forEach(function (te, De) { + if (!ce.has(De)) { + (q[ue] = []), (K[ue] = !1); + var oe = De; + for ( + se.push(oe), ce.add(oe), q[ue].push(oe); + se.length != 0; + + ) { + (oe = se.shift()), H.has(oe) && (K[ue] = !0); + var ke = Z.get(oe); + ke.forEach(function (Ie) { + ce.has(Ie) || + (se.push(Ie), ce.add(Ie), q[ue].push(Ie)); + }); + } + ue++; + } + }), + { components: q, isFixed: K } + ); + }, 'constructComponents'), + ie = X(Y, k.fixedNodesOnHorizontal); + (this.componentsOnHorizontal = ie.components), + (this.fixedComponentsOnHorizontal = ie.isFixed); + var j = X(Q, k.fixedNodesOnVertical); + (this.componentsOnVertical = j.components), + (this.fixedComponentsOnVertical = j.isFixed); + } + } + }), + (M.prototype.updateDisplacements = function () { + var k = this; + if ( + (this.constraints.fixedNodeConstraint && + this.constraints.fixedNodeConstraint.forEach(function (j) { + var J = k.idToNodeMap.get(j.nodeId); + (J.displacementX = 0), (J.displacementY = 0); + }), + this.constraints.alignmentConstraint) + ) { + if (this.constraints.alignmentConstraint.vertical) + for ( + var I = this.constraints.alignmentConstraint.vertical, C = 0; + C < I.length; + C++ + ) { + for (var O = 0, D = 0; D < I[C].length; D++) { + if (this.fixedNodeSet.has(I[C][D])) { + O = 0; + break; + } + O += this.idToNodeMap.get(I[C][D]).displacementX; + } + for (var P = O / I[C].length, D = 0; D < I[C].length; D++) + this.idToNodeMap.get(I[C][D]).displacementX = P; + } + if (this.constraints.alignmentConstraint.horizontal) + for ( + var F = this.constraints.alignmentConstraint.horizontal, C = 0; + C < F.length; + C++ + ) { + for (var B = 0, D = 0; D < F[C].length; D++) { + if (this.fixedNodeSet.has(F[C][D])) { + B = 0; + break; + } + B += this.idToNodeMap.get(F[C][D]).displacementY; + } + for (var $ = B / F[C].length, D = 0; D < F[C].length; D++) + this.idToNodeMap.get(F[C][D]).displacementY = $; + } + } + if (this.constraints.relativePlacementConstraint) + if (m.RELAX_MOVEMENT_ON_CONSTRAINTS) + this.totalIterations % 10 == 0 && + (this.shuffle(this.nodesInRelativeHorizontal), + this.shuffle(this.nodesInRelativeVertical)), + this.nodesInRelativeHorizontal.forEach(function (j) { + if (!k.fixedNodesOnHorizontal.has(j)) { + var J = 0; + k.dummyToNodeForVerticalAlignment.has(j) + ? (J = k.idToNodeMap.get( + k.dummyToNodeForVerticalAlignment.get(j)[0] + ).displacementX) + : (J = k.idToNodeMap.get(j).displacementX), + k.nodeToRelativeConstraintMapHorizontal + .get(j) + .forEach(function (Z) { + if (Z.right) { + var H = + k.nodeToTempPositionMapHorizontal.get( + Z.right + ) - + k.nodeToTempPositionMapHorizontal.get(j) - + J; + H < Z.gap && (J -= Z.gap - H); + } else { + var H = + k.nodeToTempPositionMapHorizontal.get(j) - + k.nodeToTempPositionMapHorizontal.get( + Z.left + ) + + J; + H < Z.gap && (J += Z.gap - H); + } + }), + k.nodeToTempPositionMapHorizontal.set( + j, + k.nodeToTempPositionMapHorizontal.get(j) + J + ), + k.dummyToNodeForVerticalAlignment.has(j) + ? k.dummyToNodeForVerticalAlignment + .get(j) + .forEach(function (Z) { + k.idToNodeMap.get(Z).displacementX = J; + }) + : (k.idToNodeMap.get(j).displacementX = J); + } + }), + this.nodesInRelativeVertical.forEach(function (j) { + if (!k.fixedNodesOnHorizontal.has(j)) { + var J = 0; + k.dummyToNodeForHorizontalAlignment.has(j) + ? (J = k.idToNodeMap.get( + k.dummyToNodeForHorizontalAlignment.get(j)[0] + ).displacementY) + : (J = k.idToNodeMap.get(j).displacementY), + k.nodeToRelativeConstraintMapVertical + .get(j) + .forEach(function (Z) { + if (Z.bottom) { + var H = + k.nodeToTempPositionMapVertical.get( + Z.bottom + ) - + k.nodeToTempPositionMapVertical.get(j) - + J; + H < Z.gap && (J -= Z.gap - H); + } else { + var H = + k.nodeToTempPositionMapVertical.get(j) - + k.nodeToTempPositionMapVertical.get(Z.top) + + J; + H < Z.gap && (J += Z.gap - H); + } + }), + k.nodeToTempPositionMapVertical.set( + j, + k.nodeToTempPositionMapVertical.get(j) + J + ), + k.dummyToNodeForHorizontalAlignment.has(j) + ? k.dummyToNodeForHorizontalAlignment + .get(j) + .forEach(function (Z) { + k.idToNodeMap.get(Z).displacementY = J; + }) + : (k.idToNodeMap.get(j).displacementY = J); + } + }); + else { + for (var C = 0; C < this.componentsOnHorizontal.length; C++) { + var z = this.componentsOnHorizontal[C]; + if (this.fixedComponentsOnHorizontal[C]) + for (var D = 0; D < z.length; D++) + this.dummyToNodeForVerticalAlignment.has(z[D]) + ? this.dummyToNodeForVerticalAlignment + .get(z[D]) + .forEach(function (Z) { + k.idToNodeMap.get(Z).displacementX = 0; + }) + : (this.idToNodeMap.get(z[D]).displacementX = 0); + else { + for (var Y = 0, Q = 0, D = 0; D < z.length; D++) + if (this.dummyToNodeForVerticalAlignment.has(z[D])) { + var X = this.dummyToNodeForVerticalAlignment.get(z[D]); + (Y += X.length * this.idToNodeMap.get(X[0]).displacementX), + (Q += X.length); + } else (Y += this.idToNodeMap.get(z[D]).displacementX), Q++; + for (var ie = Y / Q, D = 0; D < z.length; D++) + this.dummyToNodeForVerticalAlignment.has(z[D]) + ? this.dummyToNodeForVerticalAlignment + .get(z[D]) + .forEach(function (Z) { + k.idToNodeMap.get(Z).displacementX = ie; + }) + : (this.idToNodeMap.get(z[D]).displacementX = ie); + } + } + for (var C = 0; C < this.componentsOnVertical.length; C++) { + var z = this.componentsOnVertical[C]; + if (this.fixedComponentsOnVertical[C]) + for (var D = 0; D < z.length; D++) + this.dummyToNodeForHorizontalAlignment.has(z[D]) + ? this.dummyToNodeForHorizontalAlignment + .get(z[D]) + .forEach(function (H) { + k.idToNodeMap.get(H).displacementY = 0; + }) + : (this.idToNodeMap.get(z[D]).displacementY = 0); + else { + for (var Y = 0, Q = 0, D = 0; D < z.length; D++) + if (this.dummyToNodeForHorizontalAlignment.has(z[D])) { + var X = this.dummyToNodeForHorizontalAlignment.get(z[D]); + (Y += X.length * this.idToNodeMap.get(X[0]).displacementY), + (Q += X.length); + } else (Y += this.idToNodeMap.get(z[D]).displacementY), Q++; + for (var ie = Y / Q, D = 0; D < z.length; D++) + this.dummyToNodeForHorizontalAlignment.has(z[D]) + ? this.dummyToNodeForHorizontalAlignment + .get(z[D]) + .forEach(function (se) { + k.idToNodeMap.get(se).displacementY = ie; + }) + : (this.idToNodeMap.get(z[D]).displacementY = ie); + } + } + } + }), + (M.prototype.calculateNodesToApplyGravitationTo = function () { + var k = [], + I, + C = this.graphManager.getGraphs(), + O = C.length, + D; + for (D = 0; D < O; D++) + (I = C[D]), I.updateConnected(), I.isConnected || (k = k.concat(I.getNodes())); + return k; + }), + (M.prototype.createBendpoints = function () { + var k = []; + k = k.concat(this.graphManager.getAllEdges()); + var I = new Set(), + C; + for (C = 0; C < k.length; C++) { + var O = k[C]; + if (!I.has(O)) { + var D = O.getSource(), + P = O.getTarget(); + if (D == P) + O.getBendpoints().push(new b()), + O.getBendpoints().push(new b()), + this.createDummyNodesForBendpoints(O), + I.add(O); + else { + var F = []; + if ( + ((F = F.concat(D.getEdgeListToNode(P))), + (F = F.concat(P.getEdgeListToNode(D))), + !I.has(F[0])) + ) { + if (F.length > 1) { + var B; + for (B = 0; B < F.length; B++) { + var $ = F[B]; + $.getBendpoints().push(new b()), + this.createDummyNodesForBendpoints($); + } + } + F.forEach(function (z) { + I.add(z); + }); + } + } + } + if (I.size == k.length) break; + } + }), + (M.prototype.positionNodesRadially = function (k) { + for ( + var I = new x(0, 0), + C = Math.ceil(Math.sqrt(k.length)), + O = 0, + D = 0, + P = 0, + F = new b(0, 0), + B = 0; + B < k.length; + B++ + ) { + B % C == 0 && + ((P = 0), + (D = O), + B != 0 && (D += m.DEFAULT_COMPONENT_SEPERATION), + (O = 0)); + var $ = k[B], + z = S.findCenterOfTree($); + (I.x = P), + (I.y = D), + (F = M.radialLayout($, z, I)), + F.y > O && (O = Math.floor(F.y)), + (P = Math.floor(F.x + m.DEFAULT_COMPONENT_SEPERATION)); + } + this.transform(new b(v.WORLD_CENTER_X - F.x / 2, v.WORLD_CENTER_Y - F.y / 2)); + }), + (M.radialLayout = function (k, I, C) { + var O = Math.max(this.maxDiagonalInTree(k), m.DEFAULT_RADIAL_SEPARATION); + M.branchRadialLayout(I, null, 0, 359, 0, O); + var D = _.calculateBounds(k), + P = new A(); + P.setDeviceOrgX(D.getMinX()), + P.setDeviceOrgY(D.getMinY()), + P.setWorldOrgX(C.x), + P.setWorldOrgY(C.y); + for (var F = 0; F < k.length; F++) { + var B = k[F]; + B.transform(P); + } + var $ = new b(D.getMaxX(), D.getMaxY()); + return P.inverseTransformPoint($); + }), + (M.branchRadialLayout = function (k, I, C, O, D, P) { + var F = (O - C + 1) / 2; + F < 0 && (F += 180); + var B = (F + C) % 360, + $ = (B * E.TWO_PI) / 360, + z = Math.cos($), + Y = D * Math.cos($), + Q = D * Math.sin($); + k.setCenter(Y, Q); + var X = []; + X = X.concat(k.getEdges()); + var ie = X.length; + I != null && ie--; + for (var j = 0, J = X.length, Z, H = k.getEdgesBetween(I); H.length > 1; ) { + var q = H[0]; + H.splice(0, 1); + var K = X.indexOf(q); + K >= 0 && X.splice(K, 1), J--, ie--; + } + I != null ? (Z = (X.indexOf(H[0]) + 1) % J) : (Z = 0); + for (var se = Math.abs(O - C) / ie, ce = Z; j != ie; ce = ++ce % J) { + var ue = X[ce].getOtherEnd(k); + if (ue != I) { + var te = (C + j * se) % 360, + De = (te + se) % 360; + M.branchRadialLayout(ue, k, te, De, D + P, P), j++; + } + } + }), + (M.maxDiagonalInTree = function (k) { + for (var I = T.MIN_VALUE, C = 0; C < k.length; C++) { + var O = k[C], + D = O.getDiagonal(); + D > I && (I = D); + } + return I; + }), + (M.prototype.calcRepulsionRange = function () { + return 2 * (this.level + 1) * this.idealEdgeLength; + }), + (M.prototype.groupZeroDegreeMembers = function () { + var k = this, + I = {}; + (this.memberGroups = {}), (this.idToDummyNode = {}); + for (var C = [], O = this.graphManager.getAllNodes(), D = 0; D < O.length; D++) { + var P = O[D], + F = P.getParent(); + this.getNodeDegreeWithChildren(P) === 0 && + (F.id == null || !this.getToBeTiled(F)) && + C.push(P); + } + for (var D = 0; D < C.length; D++) { + var P = C[D], + B = P.getParent().id; + typeof I[B] > 'u' && (I[B] = []), (I[B] = I[B].concat(P)); + } + Object.keys(I).forEach(function ($) { + if (I[$].length > 1) { + var z = 'DummyCompound_' + $; + k.memberGroups[z] = I[$]; + var Y = I[$][0].getParent(), + Q = new d(k.graphManager); + (Q.id = z), + (Q.paddingLeft = Y.paddingLeft || 0), + (Q.paddingRight = Y.paddingRight || 0), + (Q.paddingBottom = Y.paddingBottom || 0), + (Q.paddingTop = Y.paddingTop || 0), + (k.idToDummyNode[z] = Q); + var X = k.getGraphManager().add(k.newGraph(), Q), + ie = Y.getChild(); + ie.add(Q); + for (var j = 0; j < I[$].length; j++) { + var J = I[$][j]; + ie.remove(J), X.add(J); + } + } + }); + }), + (M.prototype.clearCompounds = function () { + var k = {}, + I = {}; + this.performDFSOnCompounds(); + for (var C = 0; C < this.compoundOrder.length; C++) + (I[this.compoundOrder[C].id] = this.compoundOrder[C]), + (k[this.compoundOrder[C].id] = [].concat( + this.compoundOrder[C].getChild().getNodes() + )), + this.graphManager.remove(this.compoundOrder[C].getChild()), + (this.compoundOrder[C].child = null); + this.graphManager.resetAllNodes(), this.tileCompoundMembers(k, I); + }), + (M.prototype.clearZeroDegreeMembers = function () { + var k = this, + I = (this.tiledZeroDegreePack = []); + Object.keys(this.memberGroups).forEach(function (C) { + var O = k.idToDummyNode[C]; + if ( + ((I[C] = k.tileNodes(k.memberGroups[C], O.paddingLeft + O.paddingRight)), + (O.rect.width = I[C].width), + (O.rect.height = I[C].height), + O.setCenter(I[C].centerX, I[C].centerY), + (O.labelMarginLeft = 0), + (O.labelMarginTop = 0), + m.NODE_DIMENSIONS_INCLUDE_LABELS) + ) { + var D = O.rect.width, + P = O.rect.height; + O.labelWidth && + (O.labelPosHorizontal == 'left' + ? ((O.rect.x -= O.labelWidth), + O.setWidth(D + O.labelWidth), + (O.labelMarginLeft = O.labelWidth)) + : O.labelPosHorizontal == 'center' && O.labelWidth > D + ? ((O.rect.x -= (O.labelWidth - D) / 2), + O.setWidth(O.labelWidth), + (O.labelMarginLeft = (O.labelWidth - D) / 2)) + : O.labelPosHorizontal == 'right' && O.setWidth(D + O.labelWidth)), + O.labelHeight && + (O.labelPosVertical == 'top' + ? ((O.rect.y -= O.labelHeight), + O.setHeight(P + O.labelHeight), + (O.labelMarginTop = O.labelHeight)) + : O.labelPosVertical == 'center' && O.labelHeight > P + ? ((O.rect.y -= (O.labelHeight - P) / 2), + O.setHeight(O.labelHeight), + (O.labelMarginTop = (O.labelHeight - P) / 2)) + : O.labelPosVertical == 'bottom' && + O.setHeight(P + O.labelHeight)); + } + }); + }), + (M.prototype.repopulateCompounds = function () { + for (var k = this.compoundOrder.length - 1; k >= 0; k--) { + var I = this.compoundOrder[k], + C = I.id, + O = I.paddingLeft, + D = I.paddingTop, + P = I.labelMarginLeft, + F = I.labelMarginTop; + this.adjustLocations(this.tiledMemberPack[C], I.rect.x, I.rect.y, O, D, P, F); + } + }), + (M.prototype.repopulateZeroDegreeMembers = function () { + var k = this, + I = this.tiledZeroDegreePack; + Object.keys(I).forEach(function (C) { + var O = k.idToDummyNode[C], + D = O.paddingLeft, + P = O.paddingTop, + F = O.labelMarginLeft, + B = O.labelMarginTop; + k.adjustLocations(I[C], O.rect.x, O.rect.y, D, P, F, B); + }); + }), + (M.prototype.getToBeTiled = function (k) { + var I = k.id; + if (this.toBeTiled[I] != null) return this.toBeTiled[I]; + var C = k.getChild(); + if (C == null) return (this.toBeTiled[I] = !1), !1; + for (var O = C.getNodes(), D = 0; D < O.length; D++) { + var P = O[D]; + if (this.getNodeDegree(P) > 0) return (this.toBeTiled[I] = !1), !1; + if (P.getChild() == null) { + this.toBeTiled[P.id] = !1; + continue; + } + if (!this.getToBeTiled(P)) return (this.toBeTiled[I] = !1), !1; + } + return (this.toBeTiled[I] = !0), !0; + }), + (M.prototype.getNodeDegree = function (k) { + for (var I = k.id, C = k.getEdges(), O = 0, D = 0; D < C.length; D++) { + var P = C[D]; + P.getSource().id !== P.getTarget().id && (O = O + 1); + } + return O; + }), + (M.prototype.getNodeDegreeWithChildren = function (k) { + var I = this.getNodeDegree(k); + if (k.getChild() == null) return I; + for (var C = k.getChild().getNodes(), O = 0; O < C.length; O++) { + var D = C[O]; + I += this.getNodeDegreeWithChildren(D); + } + return I; + }), + (M.prototype.performDFSOnCompounds = function () { + (this.compoundOrder = []), + this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes()); + }), + (M.prototype.fillCompexOrderByDFS = function (k) { + for (var I = 0; I < k.length; I++) { + var C = k[I]; + C.getChild() != null && this.fillCompexOrderByDFS(C.getChild().getNodes()), + this.getToBeTiled(C) && this.compoundOrder.push(C); + } + }), + (M.prototype.adjustLocations = function (k, I, C, O, D, P, F) { + (I += O + P), (C += D + F); + for (var B = I, $ = 0; $ < k.rows.length; $++) { + var z = k.rows[$]; + I = B; + for (var Y = 0, Q = 0; Q < z.length; Q++) { + var X = z[Q]; + (X.rect.x = I), + (X.rect.y = C), + (I += X.rect.width + k.horizontalPadding), + X.rect.height > Y && (Y = X.rect.height); + } + C += Y + k.verticalPadding; + } + }), + (M.prototype.tileCompoundMembers = function (k, I) { + var C = this; + (this.tiledMemberPack = []), + Object.keys(k).forEach(function (O) { + var D = I[O]; + if ( + ((C.tiledMemberPack[O] = C.tileNodes( + k[O], + D.paddingLeft + D.paddingRight + )), + (D.rect.width = C.tiledMemberPack[O].width), + (D.rect.height = C.tiledMemberPack[O].height), + D.setCenter(C.tiledMemberPack[O].centerX, C.tiledMemberPack[O].centerY), + (D.labelMarginLeft = 0), + (D.labelMarginTop = 0), + m.NODE_DIMENSIONS_INCLUDE_LABELS) + ) { + var P = D.rect.width, + F = D.rect.height; + D.labelWidth && + (D.labelPosHorizontal == 'left' + ? ((D.rect.x -= D.labelWidth), + D.setWidth(P + D.labelWidth), + (D.labelMarginLeft = D.labelWidth)) + : D.labelPosHorizontal == 'center' && D.labelWidth > P + ? ((D.rect.x -= (D.labelWidth - P) / 2), + D.setWidth(D.labelWidth), + (D.labelMarginLeft = (D.labelWidth - P) / 2)) + : D.labelPosHorizontal == 'right' && + D.setWidth(P + D.labelWidth)), + D.labelHeight && + (D.labelPosVertical == 'top' + ? ((D.rect.y -= D.labelHeight), + D.setHeight(F + D.labelHeight), + (D.labelMarginTop = D.labelHeight)) + : D.labelPosVertical == 'center' && D.labelHeight > F + ? ((D.rect.y -= (D.labelHeight - F) / 2), + D.setHeight(D.labelHeight), + (D.labelMarginTop = (D.labelHeight - F) / 2)) + : D.labelPosVertical == 'bottom' && + D.setHeight(F + D.labelHeight)); + } + }); + }), + (M.prototype.tileNodes = function (k, I) { + var C = this.tileNodesByFavoringDim(k, I, !0), + O = this.tileNodesByFavoringDim(k, I, !1), + D = this.getOrgRatio(C), + P = this.getOrgRatio(O), + F; + return P < D ? (F = O) : (F = C), F; + }), + (M.prototype.getOrgRatio = function (k) { + var I = k.width, + C = k.height, + O = I / C; + return O < 1 && (O = 1 / O), O; + }), + (M.prototype.calcIdealRowWidth = function (k, I) { + var C = m.TILING_PADDING_VERTICAL, + O = m.TILING_PADDING_HORIZONTAL, + D = k.length, + P = 0, + F = 0, + B = 0; + k.forEach(function (j) { + (P += j.getWidth()), + (F += j.getHeight()), + j.getWidth() > B && (B = j.getWidth()); + }); + var $ = P / D, + z = F / D, + Y = Math.pow(C - O, 2) + 4 * ($ + O) * (z + C) * D, + Q = (O - C + Math.sqrt(Y)) / (2 * ($ + O)), + X; + I ? ((X = Math.ceil(Q)), X == Q && X++) : (X = Math.floor(Q)); + var ie = X * ($ + O) - O; + return B > ie && (ie = B), (ie += O * 2), ie; + }), + (M.prototype.tileNodesByFavoringDim = function (k, I, C) { + var O = m.TILING_PADDING_VERTICAL, + D = m.TILING_PADDING_HORIZONTAL, + P = m.TILING_COMPARE_BY, + F = { + rows: [], + rowWidth: [], + rowHeight: [], + width: 0, + height: I, + verticalPadding: O, + horizontalPadding: D, + centerX: 0, + centerY: 0 + }; + P && (F.idealRowWidth = this.calcIdealRowWidth(k, C)); + var B = o(function (J) { + return J.rect.width * J.rect.height; + }, 'getNodeArea'), + $ = o(function (J, Z) { + return B(Z) - B(J); + }, 'areaCompareFcn'); + k.sort(function (j, J) { + var Z = $; + return F.idealRowWidth ? ((Z = P), Z(j.id, J.id)) : Z(j, J); + }); + for (var z = 0, Y = 0, Q = 0; Q < k.length; Q++) { + var X = k[Q]; + (z += X.getCenterX()), (Y += X.getCenterY()); + } + (F.centerX = z / k.length), (F.centerY = Y / k.length); + for (var Q = 0; Q < k.length; Q++) { + var X = k[Q]; + if (F.rows.length == 0) this.insertNodeToRow(F, X, 0, I); + else if (this.canAddHorizontal(F, X.rect.width, X.rect.height)) { + var ie = F.rows.length - 1; + F.idealRowWidth || (ie = this.getShortestRowIndex(F)), + this.insertNodeToRow(F, X, ie, I); + } else this.insertNodeToRow(F, X, F.rows.length, I); + this.shiftToLastRow(F); + } + return F; + }), + (M.prototype.insertNodeToRow = function (k, I, C, O) { + var D = O; + if (C == k.rows.length) { + var P = []; + k.rows.push(P), k.rowWidth.push(D), k.rowHeight.push(0); + } + var F = k.rowWidth[C] + I.rect.width; + k.rows[C].length > 0 && (F += k.horizontalPadding), + (k.rowWidth[C] = F), + k.width < F && (k.width = F); + var B = I.rect.height; + C > 0 && (B += k.verticalPadding); + var $ = 0; + B > k.rowHeight[C] && + (($ = k.rowHeight[C]), (k.rowHeight[C] = B), ($ = k.rowHeight[C] - $)), + (k.height += $), + k.rows[C].push(I); + }), + (M.prototype.getShortestRowIndex = function (k) { + for (var I = -1, C = Number.MAX_VALUE, O = 0; O < k.rows.length; O++) + k.rowWidth[O] < C && ((I = O), (C = k.rowWidth[O])); + return I; + }), + (M.prototype.getLongestRowIndex = function (k) { + for (var I = -1, C = Number.MIN_VALUE, O = 0; O < k.rows.length; O++) + k.rowWidth[O] > C && ((I = O), (C = k.rowWidth[O])); + return I; + }), + (M.prototype.canAddHorizontal = function (k, I, C) { + if (k.idealRowWidth) { + var O = k.rows.length - 1, + D = k.rowWidth[O]; + return D + I + k.horizontalPadding <= k.idealRowWidth; + } + var P = this.getShortestRowIndex(k); + if (P < 0) return !0; + var F = k.rowWidth[P]; + if (F + k.horizontalPadding + I <= k.width) return !0; + var B = 0; + k.rowHeight[P] < C && P > 0 && (B = C + k.verticalPadding - k.rowHeight[P]); + var $; + k.width - F >= I + k.horizontalPadding + ? ($ = (k.height + B) / (F + I + k.horizontalPadding)) + : ($ = (k.height + B) / k.width), + (B = C + k.verticalPadding); + var z; + return ( + k.width < I ? (z = (k.height + B) / I) : (z = (k.height + B) / k.width), + z < 1 && (z = 1 / z), + $ < 1 && ($ = 1 / $), + $ < z + ); + }), + (M.prototype.shiftToLastRow = function (k) { + var I = this.getLongestRowIndex(k), + C = k.rowWidth.length - 1, + O = k.rows[I], + D = O[O.length - 1], + P = D.width + k.horizontalPadding; + if (k.width - k.rowWidth[C] > P && I != C) { + O.splice(-1, 1), + k.rows[C].push(D), + (k.rowWidth[I] = k.rowWidth[I] - P), + (k.rowWidth[C] = k.rowWidth[C] + P), + (k.width = k.rowWidth[instance.getLongestRowIndex(k)]); + for (var F = Number.MIN_VALUE, B = 0; B < O.length; B++) + O[B].height > F && (F = O[B].height); + I > 0 && (F += k.verticalPadding); + var $ = k.rowHeight[I] + k.rowHeight[C]; + (k.rowHeight[I] = F), + k.rowHeight[C] < D.height + k.verticalPadding && + (k.rowHeight[C] = D.height + k.verticalPadding); + var z = k.rowHeight[I] + k.rowHeight[C]; + (k.height += z - $), this.shiftToLastRow(k); + } + }), + (M.prototype.tilingPreLayout = function () { + m.TILE && + (this.groupZeroDegreeMembers(), + this.clearCompounds(), + this.clearZeroDegreeMembers()); + }), + (M.prototype.tilingPostLayout = function () { + m.TILE && (this.repopulateZeroDegreeMembers(), this.repopulateCompounds()); + }), + (M.prototype.reduceTrees = function () { + for (var k = [], I = !0, C; I; ) { + var O = this.graphManager.getAllNodes(), + D = []; + I = !1; + for (var P = 0; P < O.length; P++) + if ( + ((C = O[P]), + C.getEdges().length == 1 && + !C.getEdges()[0].isInterGraph && + C.getChild() == null) + ) { + if (m.PURE_INCREMENTAL) { + var F = C.getEdges()[0].getOtherEnd(C), + B = new w( + C.getCenterX() - F.getCenterX(), + C.getCenterY() - F.getCenterY() + ); + D.push([C, C.getEdges()[0], C.getOwner(), B]); + } else D.push([C, C.getEdges()[0], C.getOwner()]); + I = !0; + } + if (I == !0) { + for (var $ = [], z = 0; z < D.length; z++) + D[z][0].getEdges().length == 1 && + ($.push(D[z]), D[z][0].getOwner().remove(D[z][0])); + k.push($), + this.graphManager.resetAllNodes(), + this.graphManager.resetAllEdges(); + } + } + this.prunedNodesAll = k; + }), + (M.prototype.growTree = function (k) { + for (var I = k.length, C = k[I - 1], O, D = 0; D < C.length; D++) + (O = C[D]), + this.findPlaceforPrunedNode(O), + O[2].add(O[0]), + O[2].add(O[1], O[1].source, O[1].target); + k.splice(k.length - 1, 1), + this.graphManager.resetAllNodes(), + this.graphManager.resetAllEdges(); + }), + (M.prototype.findPlaceforPrunedNode = function (k) { + var I, + C, + O = k[0]; + if ((O == k[1].source ? (C = k[1].target) : (C = k[1].source), m.PURE_INCREMENTAL)) + O.setCenter( + C.getCenterX() + k[3].getWidth(), + C.getCenterY() + k[3].getHeight() + ); + else { + var D = C.startX, + P = C.finishX, + F = C.startY, + B = C.finishY, + $ = 0, + z = 0, + Y = 0, + Q = 0, + X = [$, Y, z, Q]; + if (F > 0) + for (var ie = D; ie <= P; ie++) + X[0] += this.grid[ie][F - 1].length + this.grid[ie][F].length - 1; + if (P < this.grid.length - 1) + for (var ie = F; ie <= B; ie++) + X[1] += this.grid[P + 1][ie].length + this.grid[P][ie].length - 1; + if (B < this.grid[0].length - 1) + for (var ie = D; ie <= P; ie++) + X[2] += this.grid[ie][B + 1].length + this.grid[ie][B].length - 1; + if (D > 0) + for (var ie = F; ie <= B; ie++) + X[3] += this.grid[D - 1][ie].length + this.grid[D][ie].length - 1; + for (var j = T.MAX_VALUE, J, Z, H = 0; H < X.length; H++) + X[H] < j ? ((j = X[H]), (J = 1), (Z = H)) : X[H] == j && J++; + if (J == 3 && j == 0) + X[0] == 0 && X[1] == 0 && X[2] == 0 + ? (I = 1) + : X[0] == 0 && X[1] == 0 && X[3] == 0 + ? (I = 0) + : X[0] == 0 && X[2] == 0 && X[3] == 0 + ? (I = 3) + : X[1] == 0 && X[2] == 0 && X[3] == 0 && (I = 2); + else if (J == 2 && j == 0) { + var q = Math.floor(Math.random() * 2); + X[0] == 0 && X[1] == 0 + ? q == 0 + ? (I = 0) + : (I = 1) + : X[0] == 0 && X[2] == 0 + ? q == 0 + ? (I = 0) + : (I = 2) + : X[0] == 0 && X[3] == 0 + ? q == 0 + ? (I = 0) + : (I = 3) + : X[1] == 0 && X[2] == 0 + ? q == 0 + ? (I = 1) + : (I = 2) + : X[1] == 0 && X[3] == 0 + ? q == 0 + ? (I = 1) + : (I = 3) + : q == 0 + ? (I = 2) + : (I = 3); + } else if (J == 4 && j == 0) { + var q = Math.floor(Math.random() * 4); + I = q; + } else I = Z; + I == 0 + ? O.setCenter( + C.getCenterX(), + C.getCenterY() - + C.getHeight() / 2 - + y.DEFAULT_EDGE_LENGTH - + O.getHeight() / 2 + ) + : I == 1 + ? O.setCenter( + C.getCenterX() + + C.getWidth() / 2 + + y.DEFAULT_EDGE_LENGTH + + O.getWidth() / 2, + C.getCenterY() + ) + : I == 2 + ? O.setCenter( + C.getCenterX(), + C.getCenterY() + + C.getHeight() / 2 + + y.DEFAULT_EDGE_LENGTH + + O.getHeight() / 2 + ) + : O.setCenter( + C.getCenterX() - + C.getWidth() / 2 - + y.DEFAULT_EDGE_LENGTH - + O.getWidth() / 2, + C.getCenterY() + ); + } + }), + (a.exports = M); + }, + 991: (a, s, l) => { + var u = l(551).FDLayoutNode, + h = l(551).IMath; + function f(p, m, g, y) { + u.call(this, p, m, g, y); + } + o(f, 'CoSENode'), (f.prototype = Object.create(u.prototype)); + for (var d in u) f[d] = u[d]; + (f.prototype.calculateDisplacement = function () { + var p = this.graphManager.getLayout(); + this.getChild() != null && this.fixedNodeWeight + ? ((this.displacementX += + (p.coolingFactor * + (this.springForceX + this.repulsionForceX + this.gravitationForceX)) / + this.fixedNodeWeight), + (this.displacementY += + (p.coolingFactor * + (this.springForceY + this.repulsionForceY + this.gravitationForceY)) / + this.fixedNodeWeight)) + : ((this.displacementX += + (p.coolingFactor * + (this.springForceX + this.repulsionForceX + this.gravitationForceX)) / + this.noOfChildren), + (this.displacementY += + (p.coolingFactor * + (this.springForceY + this.repulsionForceY + this.gravitationForceY)) / + this.noOfChildren)), + Math.abs(this.displacementX) > p.coolingFactor * p.maxNodeDisplacement && + (this.displacementX = + p.coolingFactor * p.maxNodeDisplacement * h.sign(this.displacementX)), + Math.abs(this.displacementY) > p.coolingFactor * p.maxNodeDisplacement && + (this.displacementY = + p.coolingFactor * p.maxNodeDisplacement * h.sign(this.displacementY)), + this.child && + this.child.getNodes().length > 0 && + this.propogateDisplacementToChildren(this.displacementX, this.displacementY); + }), + (f.prototype.propogateDisplacementToChildren = function (p, m) { + for (var g = this.getChild().getNodes(), y, v = 0; v < g.length; v++) + (y = g[v]), + y.getChild() == null + ? ((y.displacementX += p), (y.displacementY += m)) + : y.propogateDisplacementToChildren(p, m); + }), + (f.prototype.move = function () { + var p = this.graphManager.getLayout(); + (this.child == null || this.child.getNodes().length == 0) && + (this.moveBy(this.displacementX, this.displacementY), + (p.totalDisplacement += + Math.abs(this.displacementX) + Math.abs(this.displacementY))), + (this.springForceX = 0), + (this.springForceY = 0), + (this.repulsionForceX = 0), + (this.repulsionForceY = 0), + (this.gravitationForceX = 0), + (this.gravitationForceY = 0), + (this.displacementX = 0), + (this.displacementY = 0); + }), + (f.prototype.setPred1 = function (p) { + this.pred1 = p; + }), + (f.prototype.getPred1 = function () { + return pred1; + }), + (f.prototype.getPred2 = function () { + return pred2; + }), + (f.prototype.setNext = function (p) { + this.next = p; + }), + (f.prototype.getNext = function () { + return next; + }), + (f.prototype.setProcessed = function (p) { + this.processed = p; + }), + (f.prototype.isProcessed = function () { + return processed; + }), + (a.exports = f); + }, + 902: (a, s, l) => { + function u(g) { + if (Array.isArray(g)) { + for (var y = 0, v = Array(g.length); y < g.length; y++) v[y] = g[y]; + return v; + } else return Array.from(g); + } + o(u, '_toConsumableArray'); + var h = l(806), + f = l(551).LinkedList, + d = l(551).Matrix, + p = l(551).SVD; + function m() {} + o(m, 'ConstraintHandler'), + (m.handleConstraints = function (g) { + var y = {}; + (y.fixedNodeConstraint = g.constraints.fixedNodeConstraint), + (y.alignmentConstraint = g.constraints.alignmentConstraint), + (y.relativePlacementConstraint = g.constraints.relativePlacementConstraint); + for ( + var v = new Map(), + x = new Map(), + b = [], + w = [], + S = g.getAllNodes(), + T = 0, + E = 0; + E < S.length; + E++ + ) { + var _ = S[E]; + _.getChild() == null && + (x.set(_.id, T++), + b.push(_.getCenterX()), + w.push(_.getCenterY()), + v.set(_.id, _)); + } + y.relativePlacementConstraint && + y.relativePlacementConstraint.forEach(function (ne) { + !ne.gap && + ne.gap != 0 && + (ne.left + ? (ne.gap = + h.DEFAULT_EDGE_LENGTH + + v.get(ne.left).getWidth() / 2 + + v.get(ne.right).getWidth() / 2) + : (ne.gap = + h.DEFAULT_EDGE_LENGTH + + v.get(ne.top).getHeight() / 2 + + v.get(ne.bottom).getHeight() / 2)); + }); + var A = o(function (ae, we) { + return { x: ae.x - we.x, y: ae.y - we.y }; + }, 'calculatePositionDiff'), + L = o(function (ae) { + var we = 0, + Te = 0; + return ( + ae.forEach(function (Ce) { + (we += b[x.get(Ce)]), (Te += w[x.get(Ce)]); + }), + { x: we / ae.size, y: Te / ae.size } + ); + }, 'calculateAvgPosition'), + M = o(function (ae, we, Te, Ce, Ae) { + function Ge(tt, Ye) { + var Je = new Set(tt), + Ve = !0, + je = !1, + kt = void 0; + try { + for ( + var at = Ye[Symbol.iterator](), xt; + !(Ve = (xt = at.next()).done); + Ve = !0 + ) { + var it = xt.value; + Je.add(it); + } + } catch (dt) { + (je = !0), (kt = dt); + } finally { + try { + !Ve && at.return && at.return(); + } finally { + if (je) throw kt; + } + } + return Je; + } + o(Ge, 'setUnion'); + var Me = new Map(); + ae.forEach(function (tt, Ye) { + Me.set(Ye, 0); + }), + ae.forEach(function (tt, Ye) { + tt.forEach(function (Je) { + Me.set(Je.id, Me.get(Je.id) + 1); + }); + }); + var ye = new Map(), + He = new Map(), + ze = new f(); + Me.forEach(function (tt, Ye) { + tt == 0 + ? (ze.push(Ye), + Te || + (we == 'horizontal' + ? ye.set(Ye, x.has(Ye) ? b[x.get(Ye)] : Ce.get(Ye)) + : ye.set(Ye, x.has(Ye) ? w[x.get(Ye)] : Ce.get(Ye)))) + : ye.set(Ye, Number.NEGATIVE_INFINITY), + Te && He.set(Ye, new Set([Ye])); + }), + Te && + Ae.forEach(function (tt) { + var Ye = []; + if ( + (tt.forEach(function (je) { + Te.has(je) && Ye.push(je); + }), + Ye.length > 0) + ) { + var Je = 0; + Ye.forEach(function (je) { + we == 'horizontal' + ? (ye.set( + je, + x.has(je) ? b[x.get(je)] : Ce.get(je) + ), + (Je += ye.get(je))) + : (ye.set( + je, + x.has(je) ? w[x.get(je)] : Ce.get(je) + ), + (Je += ye.get(je))); + }), + (Je = Je / Ye.length), + tt.forEach(function (je) { + Te.has(je) || ye.set(je, Je); + }); + } else { + var Ve = 0; + tt.forEach(function (je) { + we == 'horizontal' + ? (Ve += x.has(je) ? b[x.get(je)] : Ce.get(je)) + : (Ve += x.has(je) ? w[x.get(je)] : Ce.get(je)); + }), + (Ve = Ve / tt.length), + tt.forEach(function (je) { + ye.set(je, Ve); + }); + } + }); + for ( + var Ze = o(function () { + var Ye = ze.shift(), + Je = ae.get(Ye); + Je.forEach(function (Ve) { + if (ye.get(Ve.id) < ye.get(Ye) + Ve.gap) + if (Te && Te.has(Ve.id)) { + var je = void 0; + if ( + (we == 'horizontal' + ? (je = x.has(Ve.id) + ? b[x.get(Ve.id)] + : Ce.get(Ve.id)) + : (je = x.has(Ve.id) + ? w[x.get(Ve.id)] + : Ce.get(Ve.id)), + ye.set(Ve.id, je), + je < ye.get(Ye) + Ve.gap) + ) { + var kt = ye.get(Ye) + Ve.gap - je; + He.get(Ye).forEach(function (at) { + ye.set(at, ye.get(at) - kt); + }); + } + } else ye.set(Ve.id, ye.get(Ye) + Ve.gap); + Me.set(Ve.id, Me.get(Ve.id) - 1), + Me.get(Ve.id) == 0 && ze.push(Ve.id), + Te && He.set(Ve.id, Ge(He.get(Ye), He.get(Ve.id))); + }); + }, '_loop'); + ze.length != 0; + + ) + Ze(); + if (Te) { + var gt = new Set(); + ae.forEach(function (tt, Ye) { + tt.length == 0 && gt.add(Ye); + }); + var yt = []; + He.forEach(function (tt, Ye) { + if (gt.has(Ye)) { + var Je = !1, + Ve = !0, + je = !1, + kt = void 0; + try { + for ( + var at = tt[Symbol.iterator](), xt; + !(Ve = (xt = at.next()).done); + Ve = !0 + ) { + var it = xt.value; + Te.has(it) && (Je = !0); + } + } catch (It) { + (je = !0), (kt = It); + } finally { + try { + !Ve && at.return && at.return(); + } finally { + if (je) throw kt; + } + } + if (!Je) { + var dt = !1, + lt = void 0; + yt.forEach(function (It, mt) { + It.has([].concat(u(tt))[0]) && ((dt = !0), (lt = mt)); + }), + dt + ? tt.forEach(function (It) { + yt[lt].add(It); + }) + : yt.push(new Set(tt)); + } + } + }), + yt.forEach(function (tt, Ye) { + var Je = Number.POSITIVE_INFINITY, + Ve = Number.POSITIVE_INFINITY, + je = Number.NEGATIVE_INFINITY, + kt = Number.NEGATIVE_INFINITY, + at = !0, + xt = !1, + it = void 0; + try { + for ( + var dt = tt[Symbol.iterator](), lt; + !(at = (lt = dt.next()).done); + at = !0 + ) { + var It = lt.value, + mt = void 0; + we == 'horizontal' + ? (mt = x.has(It) ? b[x.get(It)] : Ce.get(It)) + : (mt = x.has(It) ? w[x.get(It)] : Ce.get(It)); + var St = ye.get(It); + mt < Je && (Je = mt), + mt > je && (je = mt), + St < Ve && (Ve = St), + St > kt && (kt = St); + } + } catch (Qn) { + (xt = !0), (it = Qn); + } finally { + try { + !at && dt.return && dt.return(); + } finally { + if (xt) throw it; + } + } + var gr = (Je + je) / 2 - (Ve + kt) / 2, + xn = !0, + jt = !1, + rn = void 0; + try { + for ( + var Er = tt[Symbol.iterator](), Kn; + !(xn = (Kn = Er.next()).done); + xn = !0 + ) { + var hn = Kn.value; + ye.set(hn, ye.get(hn) + gr); + } + } catch (Qn) { + (jt = !0), (rn = Qn); + } finally { + try { + !xn && Er.return && Er.return(); + } finally { + if (jt) throw rn; + } + } + }); + } + return ye; + }, 'findAppropriatePositionForRelativePlacement'), + N = o(function (ae) { + var we = 0, + Te = 0, + Ce = 0, + Ae = 0; + if ( + (ae.forEach(function (He) { + He.left + ? b[x.get(He.left)] - b[x.get(He.right)] >= 0 + ? we++ + : Te++ + : w[x.get(He.top)] - w[x.get(He.bottom)] >= 0 + ? Ce++ + : Ae++; + }), + we > Te && Ce > Ae) + ) + for (var Ge = 0; Ge < x.size; Ge++) + (b[Ge] = -1 * b[Ge]), (w[Ge] = -1 * w[Ge]); + else if (we > Te) for (var Me = 0; Me < x.size; Me++) b[Me] = -1 * b[Me]; + else if (Ce > Ae) for (var ye = 0; ye < x.size; ye++) w[ye] = -1 * w[ye]; + }, 'applyReflectionForRelativePlacement'), + k = o(function (ae) { + var we = [], + Te = new f(), + Ce = new Set(), + Ae = 0; + return ( + ae.forEach(function (Ge, Me) { + if (!Ce.has(Me)) { + we[Ae] = []; + var ye = Me; + for ( + Te.push(ye), Ce.add(ye), we[Ae].push(ye); + Te.length != 0; + + ) { + ye = Te.shift(); + var He = ae.get(ye); + He.forEach(function (ze) { + Ce.has(ze.id) || + (Te.push(ze.id), Ce.add(ze.id), we[Ae].push(ze.id)); + }); + } + Ae++; + } + }), + we + ); + }, 'findComponents'), + I = o(function (ae) { + var we = new Map(); + return ( + ae.forEach(function (Te, Ce) { + we.set(Ce, []); + }), + ae.forEach(function (Te, Ce) { + Te.forEach(function (Ae) { + we.get(Ce).push(Ae), + we.get(Ae.id).push({ + id: Ce, + gap: Ae.gap, + direction: Ae.direction + }); + }); + }), + we + ); + }, 'dagToUndirected'), + C = o(function (ae) { + var we = new Map(); + return ( + ae.forEach(function (Te, Ce) { + we.set(Ce, []); + }), + ae.forEach(function (Te, Ce) { + Te.forEach(function (Ae) { + we.get(Ae.id).push({ + id: Ce, + gap: Ae.gap, + direction: Ae.direction + }); + }); + }), + we + ); + }, 'dagToReversed'), + O = [], + D = [], + P = !1, + F = !1, + B = new Set(), + $ = new Map(), + z = new Map(), + Y = []; + if ( + (y.fixedNodeConstraint && + y.fixedNodeConstraint.forEach(function (ne) { + B.add(ne.nodeId); + }), + y.relativePlacementConstraint && + (y.relativePlacementConstraint.forEach(function (ne) { + ne.left + ? ($.has(ne.left) + ? $.get(ne.left).push({ + id: ne.right, + gap: ne.gap, + direction: 'horizontal' + }) + : $.set(ne.left, [ + { + id: ne.right, + gap: ne.gap, + direction: 'horizontal' + } + ]), + $.has(ne.right) || $.set(ne.right, [])) + : ($.has(ne.top) + ? $.get(ne.top).push({ + id: ne.bottom, + gap: ne.gap, + direction: 'vertical' + }) + : $.set(ne.top, [ + { + id: ne.bottom, + gap: ne.gap, + direction: 'vertical' + } + ]), + $.has(ne.bottom) || $.set(ne.bottom, [])); + }), + (z = I($)), + (Y = k(z))), + h.TRANSFORM_ON_CONSTRAINT_HANDLING) + ) { + if (y.fixedNodeConstraint && y.fixedNodeConstraint.length > 1) + y.fixedNodeConstraint.forEach(function (ne, ae) { + (O[ae] = [ne.position.x, ne.position.y]), + (D[ae] = [b[x.get(ne.nodeId)], w[x.get(ne.nodeId)]]); + }), + (P = !0); + else if (y.alignmentConstraint) + (function () { + var ne = 0; + if (y.alignmentConstraint.vertical) { + for ( + var ae = y.alignmentConstraint.vertical, + we = o(function (ye) { + var He = new Set(); + ae[ye].forEach(function (gt) { + He.add(gt); + }); + var ze = new Set( + [].concat(u(He)).filter(function (gt) { + return B.has(gt); + }) + ), + Ze = void 0; + ze.size > 0 + ? (Ze = b[x.get(ze.values().next().value)]) + : (Ze = L(He).x), + ae[ye].forEach(function (gt) { + (O[ne] = [Ze, w[x.get(gt)]]), + (D[ne] = [b[x.get(gt)], w[x.get(gt)]]), + ne++; + }); + }, '_loop2'), + Te = 0; + Te < ae.length; + Te++ + ) + we(Te); + P = !0; + } + if (y.alignmentConstraint.horizontal) { + for ( + var Ce = y.alignmentConstraint.horizontal, + Ae = o(function (ye) { + var He = new Set(); + Ce[ye].forEach(function (gt) { + He.add(gt); + }); + var ze = new Set( + [].concat(u(He)).filter(function (gt) { + return B.has(gt); + }) + ), + Ze = void 0; + ze.size > 0 + ? (Ze = b[x.get(ze.values().next().value)]) + : (Ze = L(He).y), + Ce[ye].forEach(function (gt) { + (O[ne] = [b[x.get(gt)], Ze]), + (D[ne] = [b[x.get(gt)], w[x.get(gt)]]), + ne++; + }); + }, '_loop3'), + Ge = 0; + Ge < Ce.length; + Ge++ + ) + Ae(Ge); + P = !0; + } + y.relativePlacementConstraint && (F = !0); + })(); + else if (y.relativePlacementConstraint) { + for (var Q = 0, X = 0, ie = 0; ie < Y.length; ie++) + Y[ie].length > Q && ((Q = Y[ie].length), (X = ie)); + if (Q < z.size / 2) N(y.relativePlacementConstraint), (P = !1), (F = !1); + else { + var j = new Map(), + J = new Map(), + Z = []; + Y[X].forEach(function (ne) { + $.get(ne).forEach(function (ae) { + ae.direction == 'horizontal' + ? (j.has(ne) ? j.get(ne).push(ae) : j.set(ne, [ae]), + j.has(ae.id) || j.set(ae.id, []), + Z.push({ left: ne, right: ae.id })) + : (J.has(ne) ? J.get(ne).push(ae) : J.set(ne, [ae]), + J.has(ae.id) || J.set(ae.id, []), + Z.push({ top: ne, bottom: ae.id })); + }); + }), + N(Z), + (F = !1); + var H = M(j, 'horizontal'), + q = M(J, 'vertical'); + Y[X].forEach(function (ne, ae) { + (D[ae] = [b[x.get(ne)], w[x.get(ne)]]), + (O[ae] = []), + H.has(ne) ? (O[ae][0] = H.get(ne)) : (O[ae][0] = b[x.get(ne)]), + q.has(ne) ? (O[ae][1] = q.get(ne)) : (O[ae][1] = w[x.get(ne)]); + }), + (P = !0); + } + } + if (P) { + for ( + var K = void 0, se = d.transpose(O), ce = d.transpose(D), ue = 0; + ue < se.length; + ue++ + ) + (se[ue] = d.multGamma(se[ue])), (ce[ue] = d.multGamma(ce[ue])); + var te = d.multMat(se, d.transpose(ce)), + De = p.svd(te); + K = d.multMat(De.V, d.transpose(De.U)); + for (var oe = 0; oe < x.size; oe++) { + var ke = [b[oe], w[oe]], + Ie = [K[0][0], K[1][0]], + Se = [K[0][1], K[1][1]]; + (b[oe] = d.dotProduct(ke, Ie)), (w[oe] = d.dotProduct(ke, Se)); + } + F && N(y.relativePlacementConstraint); + } + } + if (h.ENFORCE_CONSTRAINTS) { + if (y.fixedNodeConstraint && y.fixedNodeConstraint.length > 0) { + var Ue = { x: 0, y: 0 }; + y.fixedNodeConstraint.forEach(function (ne, ae) { + var we = { + x: b[x.get(ne.nodeId)], + y: w[x.get(ne.nodeId)] + }, + Te = ne.position, + Ce = A(Te, we); + (Ue.x += Ce.x), (Ue.y += Ce.y); + }), + (Ue.x /= y.fixedNodeConstraint.length), + (Ue.y /= y.fixedNodeConstraint.length), + b.forEach(function (ne, ae) { + b[ae] += Ue.x; + }), + w.forEach(function (ne, ae) { + w[ae] += Ue.y; + }), + y.fixedNodeConstraint.forEach(function (ne) { + (b[x.get(ne.nodeId)] = ne.position.x), + (w[x.get(ne.nodeId)] = ne.position.y); + }); + } + if (y.alignmentConstraint) { + if (y.alignmentConstraint.vertical) + for ( + var Pe = y.alignmentConstraint.vertical, + _e = o(function (ae) { + var we = new Set(); + Pe[ae].forEach(function (Ae) { + we.add(Ae); + }); + var Te = new Set( + [].concat(u(we)).filter(function (Ae) { + return B.has(Ae); + }) + ), + Ce = void 0; + Te.size > 0 + ? (Ce = b[x.get(Te.values().next().value)]) + : (Ce = L(we).x), + we.forEach(function (Ae) { + B.has(Ae) || (b[x.get(Ae)] = Ce); + }); + }, '_loop4'), + me = 0; + me < Pe.length; + me++ + ) + _e(me); + if (y.alignmentConstraint.horizontal) + for ( + var W = y.alignmentConstraint.horizontal, + fe = o(function (ae) { + var we = new Set(); + W[ae].forEach(function (Ae) { + we.add(Ae); + }); + var Te = new Set( + [].concat(u(we)).filter(function (Ae) { + return B.has(Ae); + }) + ), + Ce = void 0; + Te.size > 0 + ? (Ce = w[x.get(Te.values().next().value)]) + : (Ce = L(we).y), + we.forEach(function (Ae) { + B.has(Ae) || (w[x.get(Ae)] = Ce); + }); + }, '_loop5'), + ge = 0; + ge < W.length; + ge++ + ) + fe(ge); + } + y.relativePlacementConstraint && + (function () { + var ne = new Map(), + ae = new Map(), + we = new Map(), + Te = new Map(), + Ce = new Map(), + Ae = new Map(), + Ge = new Set(), + Me = new Set(); + if ( + (B.forEach(function (Ot) { + Ge.add(Ot), Me.add(Ot); + }), + y.alignmentConstraint) + ) { + if (y.alignmentConstraint.vertical) + for ( + var ye = y.alignmentConstraint.vertical, + He = o(function (pe) { + we.set('dummy' + pe, []), + ye[pe].forEach(function (ur) { + ne.set(ur, 'dummy' + pe), + we.get('dummy' + pe).push(ur), + B.has(ur) && Ge.add('dummy' + pe); + }), + Ce.set('dummy' + pe, b[x.get(ye[pe][0])]); + }, '_loop6'), + ze = 0; + ze < ye.length; + ze++ + ) + He(ze); + if (y.alignmentConstraint.horizontal) + for ( + var Ze = y.alignmentConstraint.horizontal, + gt = o(function (pe) { + Te.set('dummy' + pe, []), + Ze[pe].forEach(function (ur) { + ae.set(ur, 'dummy' + pe), + Te.get('dummy' + pe).push(ur), + B.has(ur) && Me.add('dummy' + pe); + }), + Ae.set('dummy' + pe, w[x.get(Ze[pe][0])]); + }, '_loop7'), + yt = 0; + yt < Ze.length; + yt++ + ) + gt(yt); + } + var tt = new Map(), + Ye = new Map(), + Je = o(function (pe) { + $.get(pe).forEach(function (ur) { + var be = void 0, + Ir = void 0; + ur.direction == 'horizontal' + ? ((be = ne.get(pe) ? ne.get(pe) : pe), + ne.get(ur.id) + ? (Ir = { + id: ne.get(ur.id), + gap: ur.gap, + direction: ur.direction + }) + : (Ir = ur), + tt.has(be) ? tt.get(be).push(Ir) : tt.set(be, [Ir]), + tt.has(Ir.id) || tt.set(Ir.id, [])) + : ((be = ae.get(pe) ? ae.get(pe) : pe), + ae.get(ur.id) + ? (Ir = { + id: ae.get(ur.id), + gap: ur.gap, + direction: ur.direction + }) + : (Ir = ur), + Ye.has(be) ? Ye.get(be).push(Ir) : Ye.set(be, [Ir]), + Ye.has(Ir.id) || Ye.set(Ir.id, [])); + }); + }, '_loop8'), + Ve = !0, + je = !1, + kt = void 0; + try { + for ( + var at = $.keys()[Symbol.iterator](), xt; + !(Ve = (xt = at.next()).done); + Ve = !0 + ) { + var it = xt.value; + Je(it); + } + } catch (Ot) { + (je = !0), (kt = Ot); + } finally { + try { + !Ve && at.return && at.return(); + } finally { + if (je) throw kt; + } + } + var dt = I(tt), + lt = I(Ye), + It = k(dt), + mt = k(lt), + St = C(tt), + gr = C(Ye), + xn = [], + jt = []; + It.forEach(function (Ot, pe) { + (xn[pe] = []), + Ot.forEach(function (ur) { + St.get(ur).length == 0 && xn[pe].push(ur); + }); + }), + mt.forEach(function (Ot, pe) { + (jt[pe] = []), + Ot.forEach(function (ur) { + gr.get(ur).length == 0 && jt[pe].push(ur); + }); + }); + var rn = M(tt, 'horizontal', Ge, Ce, xn), + Er = M(Ye, 'vertical', Me, Ae, jt), + Kn = o(function (pe) { + we.get(pe) + ? we.get(pe).forEach(function (ur) { + b[x.get(ur)] = rn.get(pe); + }) + : (b[x.get(pe)] = rn.get(pe)); + }, '_loop9'), + hn = !0, + Qn = !1, + on = void 0; + try { + for ( + var Rn = rn.keys()[Symbol.iterator](), Ha; + !(hn = (Ha = Rn.next()).done); + hn = !0 + ) { + var _a = Ha.value; + Kn(_a); + } + } catch (Ot) { + (Qn = !0), (on = Ot); + } finally { + try { + !hn && Rn.return && Rn.return(); + } finally { + if (Qn) throw on; + } + } + var To = o(function (pe) { + Te.get(pe) + ? Te.get(pe).forEach(function (ur) { + w[x.get(ur)] = Er.get(pe); + }) + : (w[x.get(pe)] = Er.get(pe)); + }, '_loop10'), + qi = !0, + ht = !1, + At = void 0; + try { + for ( + var $t = Er.keys()[Symbol.iterator](), rt; + !(qi = (rt = $t.next()).done); + qi = !0 + ) { + var _a = rt.value; + To(_a); + } + } catch (Ot) { + (ht = !0), (At = Ot); + } finally { + try { + !qi && $t.return && $t.return(); + } finally { + if (ht) throw At; + } + } + })(); + } + for (var re = 0; re < S.length; re++) { + var he = S[re]; + he.getChild() == null && he.setCenter(b[x.get(he.id)], w[x.get(he.id)]); + } + }), + (a.exports = m); + }, + 551: (a) => { + a.exports = t; + } + }, + r = {}; + function n(a) { + var s = r[a]; + if (s !== void 0) return s.exports; + var l = (r[a] = { exports: {} }); + return e[a](l, l.exports, n), l.exports; + } + o(n, '__webpack_require__'); + var i = n(45); + return i; + })(); + }); + }); + var X1e = gi((xb, JB) => { + 'use strict'; + o(function (e, r) { + typeof xb == 'object' && typeof JB == 'object' + ? (JB.exports = r(ZB())) + : typeof define == 'function' && define.amd + ? define(['cose-base'], r) + : typeof xb == 'object' + ? (xb.cytoscapeFcose = r(ZB())) + : (e.cytoscapeFcose = r(e.coseBase)); + }, 'webpackUniversalModuleDefinition')(xb, function (t) { + return (() => { + 'use strict'; + var e = { + 658: (a) => { + a.exports = + Object.assign != null + ? Object.assign.bind(Object) + : function (s) { + for ( + var l = arguments.length, u = Array(l > 1 ? l - 1 : 0), h = 1; + h < l; + h++ + ) + u[h - 1] = arguments[h]; + return ( + u.forEach(function (f) { + Object.keys(f).forEach(function (d) { + return (s[d] = f[d]); + }); + }), + s + ); + }; + }, + 548: (a, s, l) => { + var u = (function () { + function d(p, m) { + var g = [], + y = !0, + v = !1, + x = void 0; + try { + for ( + var b = p[Symbol.iterator](), w; + !(y = (w = b.next()).done) && (g.push(w.value), !(m && g.length === m)); + y = !0 + ); + } catch (S) { + (v = !0), (x = S); + } finally { + try { + !y && b.return && b.return(); + } finally { + if (v) throw x; + } + } + return g; + } + return ( + o(d, 'sliceIterator'), + function (p, m) { + if (Array.isArray(p)) return p; + if (Symbol.iterator in Object(p)) return d(p, m); + throw new TypeError('Invalid attempt to destructure non-iterable instance'); + } + ); + })(), + h = l(140).layoutBase.LinkedList, + f = {}; + (f.getTopMostNodes = function (d) { + for (var p = {}, m = 0; m < d.length; m++) p[d[m].id()] = !0; + var g = d.filter(function (y, v) { + typeof y == 'number' && (y = v); + for (var x = y.parent()[0]; x != null; ) { + if (p[x.id()]) return !1; + x = x.parent()[0]; + } + return !0; + }); + return g; + }), + (f.connectComponents = function (d, p, m, g) { + var y = new h(), + v = new Set(), + x = [], + b = void 0, + w = void 0, + S = void 0, + T = !1, + E = 1, + _ = [], + A = [], + L = o(function () { + var N = d.collection(); + A.push(N); + var k = m[0], + I = d.collection(); + I.merge(k).merge(k.descendants().intersection(p)), + x.push(k), + I.forEach(function (D) { + y.push(D), v.add(D), N.merge(D); + }); + for ( + var C = o(function () { + k = y.shift(); + var P = d.collection(); + k.neighborhood() + .nodes() + .forEach(function (z) { + p.intersection(k.edgesWith(z)).length > 0 && P.merge(z); + }); + for (var F = 0; F < P.length; F++) { + var B = P[F]; + if ( + ((b = m.intersection(B.union(B.ancestors()))), + b != null && !v.has(b[0])) + ) { + var $ = b.union(b.descendants()); + $.forEach(function (z) { + y.push(z), v.add(z), N.merge(z), m.has(z) && x.push(z); + }); + } + } + }, '_loop2'); + y.length != 0; + + ) + C(); + if ( + (N.forEach(function (D) { + p.intersection(D.connectedEdges()).forEach(function (P) { + N.has(P.source()) && N.has(P.target()) && N.merge(P); + }); + }), + x.length == m.length && (T = !0), + !T || (T && E > 1)) + ) { + (w = x[0]), + (S = w.connectedEdges().length), + x.forEach(function (D) { + D.connectedEdges().length < S && + ((S = D.connectedEdges().length), (w = D)); + }), + _.push(w.id()); + var O = d.collection(); + O.merge(x[0]), + x.forEach(function (D) { + O.merge(D); + }), + (x = []), + (m = m.difference(O)), + E++; + } + }, '_loop'); + do L(); + while (!T); + return g && _.length > 0 && g.set('dummy' + (g.size + 1), _), A; + }), + (f.relocateComponent = function (d, p, m) { + if (!m.fixedNodeConstraint) { + var g = Number.POSITIVE_INFINITY, + y = Number.NEGATIVE_INFINITY, + v = Number.POSITIVE_INFINITY, + x = Number.NEGATIVE_INFINITY; + if (m.quality == 'draft') { + var b = !0, + w = !1, + S = void 0; + try { + for ( + var T = p.nodeIndexes[Symbol.iterator](), E; + !(b = (E = T.next()).done); + b = !0 + ) { + var _ = E.value, + A = u(_, 2), + L = A[0], + M = A[1], + N = m.cy.getElementById(L); + if (N) { + var k = N.boundingBox(), + I = p.xCoords[M] - k.w / 2, + C = p.xCoords[M] + k.w / 2, + O = p.yCoords[M] - k.h / 2, + D = p.yCoords[M] + k.h / 2; + I < g && (g = I), + C > y && (y = C), + O < v && (v = O), + D > x && (x = D); + } + } + } catch (z) { + (w = !0), (S = z); + } finally { + try { + !b && T.return && T.return(); + } finally { + if (w) throw S; + } + } + var P = d.x - (y + g) / 2, + F = d.y - (x + v) / 2; + (p.xCoords = p.xCoords.map(function (z) { + return z + P; + })), + (p.yCoords = p.yCoords.map(function (z) { + return z + F; + })); + } else { + Object.keys(p).forEach(function (z) { + var Y = p[z], + Q = Y.getRect().x, + X = Y.getRect().x + Y.getRect().width, + ie = Y.getRect().y, + j = Y.getRect().y + Y.getRect().height; + Q < g && (g = Q), + X > y && (y = X), + ie < v && (v = ie), + j > x && (x = j); + }); + var B = d.x - (y + g) / 2, + $ = d.y - (x + v) / 2; + Object.keys(p).forEach(function (z) { + var Y = p[z]; + Y.setCenter(Y.getCenterX() + B, Y.getCenterY() + $); + }); + } + } + }), + (f.calcBoundingBox = function (d, p, m, g) { + for ( + var y = Number.MAX_SAFE_INTEGER, + v = Number.MIN_SAFE_INTEGER, + x = Number.MAX_SAFE_INTEGER, + b = Number.MIN_SAFE_INTEGER, + w = void 0, + S = void 0, + T = void 0, + E = void 0, + _ = d.descendants().not(':parent'), + A = _.length, + L = 0; + L < A; + L++ + ) { + var M = _[L]; + (w = p[g.get(M.id())] - M.width() / 2), + (S = p[g.get(M.id())] + M.width() / 2), + (T = m[g.get(M.id())] - M.height() / 2), + (E = m[g.get(M.id())] + M.height() / 2), + y > w && (y = w), + v < S && (v = S), + x > T && (x = T), + b < E && (b = E); + } + var N = {}; + return (N.topLeftX = y), (N.topLeftY = x), (N.width = v - y), (N.height = b - x), N; + }), + (f.calcParentsWithoutChildren = function (d, p) { + var m = d.collection(); + return ( + p.nodes(':parent').forEach(function (g) { + var y = !1; + g.children().forEach(function (v) { + v.css('display') != 'none' && (y = !0); + }), + y || m.merge(g); + }), + m + ); + }), + (a.exports = f); + }, + 816: (a, s, l) => { + var u = l(548), + h = l(140).CoSELayout, + f = l(140).CoSENode, + d = l(140).layoutBase.PointD, + p = l(140).layoutBase.DimensionD, + m = l(140).layoutBase.LayoutConstants, + g = l(140).layoutBase.FDLayoutConstants, + y = l(140).CoSEConstants, + v = o(function (b, w) { + var S = b.cy, + T = b.eles, + E = T.nodes(), + _ = T.edges(), + A = void 0, + L = void 0, + M = void 0, + N = {}; + b.randomize && ((A = w.nodeIndexes), (L = w.xCoords), (M = w.yCoords)); + var k = o(function (z) { + return typeof z == 'function'; + }, 'isFn'), + I = o(function (z, Y) { + return k(z) ? z(Y) : z; + }, 'optFn'), + C = u.calcParentsWithoutChildren(S, T), + O = o(function $(z, Y, Q, X) { + for (var ie = Y.length, j = 0; j < ie; j++) { + var J = Y[j], + Z = null; + J.intersection(C).length == 0 && (Z = J.children()); + var H = void 0, + q = J.layoutDimensions({ + nodeDimensionsIncludeLabels: X.nodeDimensionsIncludeLabels + }); + if (J.outerWidth() != null && J.outerHeight() != null) + if (X.randomize) + if (!J.isParent()) + H = z.add( + new f( + Q.graphManager, + new d( + L[A.get(J.id())] - q.w / 2, + M[A.get(J.id())] - q.h / 2 + ), + new p(parseFloat(q.w), parseFloat(q.h)) + ) + ); + else { + var K = u.calcBoundingBox(J, L, M, A); + J.intersection(C).length == 0 + ? (H = z.add( + new f( + Q.graphManager, + new d(K.topLeftX, K.topLeftY), + new p(K.width, K.height) + ) + )) + : (H = z.add( + new f( + Q.graphManager, + new d(K.topLeftX, K.topLeftY), + new p(parseFloat(q.w), parseFloat(q.h)) + ) + )); + } + else + H = z.add( + new f( + Q.graphManager, + new d( + J.position('x') - q.w / 2, + J.position('y') - q.h / 2 + ), + new p(parseFloat(q.w), parseFloat(q.h)) + ) + ); + else H = z.add(new f(this.graphManager)); + if ( + ((H.id = J.data('id')), + (H.nodeRepulsion = I(X.nodeRepulsion, J)), + (H.paddingLeft = parseInt(J.css('padding'))), + (H.paddingTop = parseInt(J.css('padding'))), + (H.paddingRight = parseInt(J.css('padding'))), + (H.paddingBottom = parseInt(J.css('padding'))), + X.nodeDimensionsIncludeLabels && + ((H.labelWidth = J.boundingBox({ + includeLabels: !0, + includeNodes: !1, + includeOverlays: !1 + }).w), + (H.labelHeight = J.boundingBox({ + includeLabels: !0, + includeNodes: !1, + includeOverlays: !1 + }).h), + (H.labelPosVertical = J.css('text-valign')), + (H.labelPosHorizontal = J.css('text-halign'))), + (N[J.data('id')] = H), + isNaN(H.rect.x) && (H.rect.x = 0), + isNaN(H.rect.y) && (H.rect.y = 0), + Z != null && Z.length > 0) + ) { + var se = void 0; + (se = Q.getGraphManager().add(Q.newGraph(), H)), $(se, Z, Q, X); + } + } + }, 'processChildrenList'), + D = o(function (z, Y, Q) { + for (var X = 0, ie = 0, j = 0; j < Q.length; j++) { + var J = Q[j], + Z = N[J.data('source')], + H = N[J.data('target')]; + if (Z && H && Z !== H && Z.getEdgesBetween(H).length == 0) { + var q = Y.add(z.newEdge(), Z, H); + (q.id = J.id()), + (q.idealLength = I(b.idealEdgeLength, J)), + (q.edgeElasticity = I(b.edgeElasticity, J)), + (X += q.idealLength), + ie++; + } + } + b.idealEdgeLength != null && + (ie > 0 + ? (y.DEFAULT_EDGE_LENGTH = g.DEFAULT_EDGE_LENGTH = X / ie) + : k(b.idealEdgeLength) + ? (y.DEFAULT_EDGE_LENGTH = g.DEFAULT_EDGE_LENGTH = 50) + : (y.DEFAULT_EDGE_LENGTH = g.DEFAULT_EDGE_LENGTH = + b.idealEdgeLength), + (y.MIN_REPULSION_DIST = g.MIN_REPULSION_DIST = + g.DEFAULT_EDGE_LENGTH / 10), + (y.DEFAULT_RADIAL_SEPARATION = g.DEFAULT_EDGE_LENGTH)); + }, 'processEdges'), + P = o(function (z, Y) { + Y.fixedNodeConstraint && + (z.constraints.fixedNodeConstraint = Y.fixedNodeConstraint), + Y.alignmentConstraint && + (z.constraints.alignmentConstraint = Y.alignmentConstraint), + Y.relativePlacementConstraint && + (z.constraints.relativePlacementConstraint = + Y.relativePlacementConstraint); + }, 'processConstraints'); + b.nestingFactor != null && + (y.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = g.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = + b.nestingFactor), + b.gravity != null && + (y.DEFAULT_GRAVITY_STRENGTH = g.DEFAULT_GRAVITY_STRENGTH = b.gravity), + b.numIter != null && (y.MAX_ITERATIONS = g.MAX_ITERATIONS = b.numIter), + b.gravityRange != null && + (y.DEFAULT_GRAVITY_RANGE_FACTOR = g.DEFAULT_GRAVITY_RANGE_FACTOR = + b.gravityRange), + b.gravityCompound != null && + (y.DEFAULT_COMPOUND_GRAVITY_STRENGTH = g.DEFAULT_COMPOUND_GRAVITY_STRENGTH = + b.gravityCompound), + b.gravityRangeCompound != null && + (y.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = + g.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = + b.gravityRangeCompound), + b.initialEnergyOnIncremental != null && + (y.DEFAULT_COOLING_FACTOR_INCREMENTAL = + g.DEFAULT_COOLING_FACTOR_INCREMENTAL = + b.initialEnergyOnIncremental), + b.tilingCompareBy != null && (y.TILING_COMPARE_BY = b.tilingCompareBy), + b.quality == 'proof' ? (m.QUALITY = 2) : (m.QUALITY = 0), + (y.NODE_DIMENSIONS_INCLUDE_LABELS = + g.NODE_DIMENSIONS_INCLUDE_LABELS = + m.NODE_DIMENSIONS_INCLUDE_LABELS = + b.nodeDimensionsIncludeLabels), + (y.DEFAULT_INCREMENTAL = + g.DEFAULT_INCREMENTAL = + m.DEFAULT_INCREMENTAL = + !b.randomize), + (y.ANIMATE = g.ANIMATE = m.ANIMATE = b.animate), + (y.TILE = b.tile), + (y.TILING_PADDING_VERTICAL = + typeof b.tilingPaddingVertical == 'function' + ? b.tilingPaddingVertical.call() + : b.tilingPaddingVertical), + (y.TILING_PADDING_HORIZONTAL = + typeof b.tilingPaddingHorizontal == 'function' + ? b.tilingPaddingHorizontal.call() + : b.tilingPaddingHorizontal), + (y.DEFAULT_INCREMENTAL = g.DEFAULT_INCREMENTAL = m.DEFAULT_INCREMENTAL = !0), + (y.PURE_INCREMENTAL = !b.randomize), + (m.DEFAULT_UNIFORM_LEAF_NODE_SIZES = b.uniformNodeDimensions), + b.step == 'transformed' && + ((y.TRANSFORM_ON_CONSTRAINT_HANDLING = !0), + (y.ENFORCE_CONSTRAINTS = !1), + (y.APPLY_LAYOUT = !1)), + b.step == 'enforced' && + ((y.TRANSFORM_ON_CONSTRAINT_HANDLING = !1), + (y.ENFORCE_CONSTRAINTS = !0), + (y.APPLY_LAYOUT = !1)), + b.step == 'cose' && + ((y.TRANSFORM_ON_CONSTRAINT_HANDLING = !1), + (y.ENFORCE_CONSTRAINTS = !1), + (y.APPLY_LAYOUT = !0)), + b.step == 'all' && + (b.randomize + ? (y.TRANSFORM_ON_CONSTRAINT_HANDLING = !0) + : (y.TRANSFORM_ON_CONSTRAINT_HANDLING = !1), + (y.ENFORCE_CONSTRAINTS = !0), + (y.APPLY_LAYOUT = !0)), + b.fixedNodeConstraint || b.alignmentConstraint || b.relativePlacementConstraint + ? (y.TREE_REDUCTION_ON_INCREMENTAL = !1) + : (y.TREE_REDUCTION_ON_INCREMENTAL = !0); + var F = new h(), + B = F.newGraphManager(); + return ( + O(B.addRoot(), u.getTopMostNodes(E), F, b), + D(F, B, _), + P(F, b), + F.runLayout(), + N + ); + }, 'coseLayout'); + a.exports = { coseLayout: v }; + }, + 212: (a, s, l) => { + var u = (function () { + function b(w, S) { + for (var T = 0; T < S.length; T++) { + var E = S[T]; + (E.enumerable = E.enumerable || !1), + (E.configurable = !0), + 'value' in E && (E.writable = !0), + Object.defineProperty(w, E.key, E); + } + } + return ( + o(b, 'defineProperties'), + function (w, S, T) { + return S && b(w.prototype, S), T && b(w, T), w; + } + ); + })(); + function h(b, w) { + if (!(b instanceof w)) throw new TypeError('Cannot call a class as a function'); + } + o(h, '_classCallCheck'); + var f = l(658), + d = l(548), + p = l(657), + m = p.spectralLayout, + g = l(816), + y = g.coseLayout, + v = Object.freeze({ + quality: 'default', + randomize: !0, + animate: !0, + animationDuration: 1e3, + animationEasing: void 0, + fit: !0, + padding: 30, + nodeDimensionsIncludeLabels: !1, + uniformNodeDimensions: !1, + packComponents: !0, + step: 'all', + samplingType: !0, + sampleSize: 25, + nodeSeparation: 75, + piTol: 1e-7, + nodeRepulsion: o(function (w) { + return 4500; + }, 'nodeRepulsion'), + idealEdgeLength: o(function (w) { + return 50; + }, 'idealEdgeLength'), + edgeElasticity: o(function (w) { + return 0.45; + }, 'edgeElasticity'), + nestingFactor: 0.1, + gravity: 0.25, + numIter: 2500, + tile: !0, + tilingCompareBy: void 0, + tilingPaddingVertical: 10, + tilingPaddingHorizontal: 10, + gravityRangeCompound: 1.5, + gravityCompound: 1, + gravityRange: 3.8, + initialEnergyOnIncremental: 0.3, + fixedNodeConstraint: void 0, + alignmentConstraint: void 0, + relativePlacementConstraint: void 0, + ready: o(function () {}, 'ready'), + stop: o(function () {}, 'stop') + }), + x = (function () { + function b(w) { + h(this, b), (this.options = f({}, v, w)); + } + return ( + o(b, 'Layout'), + u(b, [ + { + key: 'run', + value: o(function () { + var S = this, + T = this.options, + E = T.cy, + _ = T.eles, + A = [], + L = void 0, + M = void 0, + N = [], + k = void 0, + I = []; + T.fixedNodeConstraint && + (!Array.isArray(T.fixedNodeConstraint) || + T.fixedNodeConstraint.length == 0) && + (T.fixedNodeConstraint = void 0), + T.alignmentConstraint && + (T.alignmentConstraint.vertical && + (!Array.isArray(T.alignmentConstraint.vertical) || + T.alignmentConstraint.vertical.length == 0) && + (T.alignmentConstraint.vertical = void 0), + T.alignmentConstraint.horizontal && + (!Array.isArray(T.alignmentConstraint.horizontal) || + T.alignmentConstraint.horizontal.length == 0) && + (T.alignmentConstraint.horizontal = void 0)), + T.relativePlacementConstraint && + (!Array.isArray(T.relativePlacementConstraint) || + T.relativePlacementConstraint.length == 0) && + (T.relativePlacementConstraint = void 0); + var C = + T.fixedNodeConstraint || + T.alignmentConstraint || + T.relativePlacementConstraint; + C && ((T.tile = !1), (T.packComponents = !1)); + var O = void 0, + D = !1; + if ( + (E.layoutUtilities && + T.packComponents && + ((O = E.layoutUtilities('get')), + O || (O = E.layoutUtilities()), + (D = !0)), + _.nodes().length > 0) + ) + if (D) { + var B = d.getTopMostNodes(T.eles.nodes()); + if ( + ((k = d.connectComponents(E, T.eles, B)), + k.forEach(function (oe) { + var ke = oe.boundingBox(); + I.push({ + x: ke.x1 + ke.w / 2, + y: ke.y1 + ke.h / 2 + }); + }), + T.randomize && + k.forEach(function (oe) { + (T.eles = oe), A.push(m(T)); + }), + T.quality == 'default' || T.quality == 'proof') + ) { + var $ = E.collection(); + if (T.tile) { + var z = new Map(), + Y = [], + Q = [], + X = 0, + ie = { + nodeIndexes: z, + xCoords: Y, + yCoords: Q + }, + j = []; + if ( + (k.forEach(function (oe, ke) { + oe.edges().length == 0 && + (oe.nodes().forEach(function (Ie, Se) { + $.merge(oe.nodes()[Se]), + Ie.isParent() || + (ie.nodeIndexes.set( + oe.nodes()[Se].id(), + X++ + ), + ie.xCoords.push( + oe.nodes()[0].position() + .x + ), + ie.yCoords.push( + oe.nodes()[0].position() + .y + )); + }), + j.push(ke)); + }), + $.length > 1) + ) { + var J = $.boundingBox(); + I.push({ + x: J.x1 + J.w / 2, + y: J.y1 + J.h / 2 + }), + k.push($), + A.push(ie); + for (var Z = j.length - 1; Z >= 0; Z--) + k.splice(j[Z], 1), + A.splice(j[Z], 1), + I.splice(j[Z], 1); + } + } + k.forEach(function (oe, ke) { + (T.eles = oe), + N.push(y(T, A[ke])), + d.relocateComponent(I[ke], N[ke], T); + }); + } else + k.forEach(function (oe, ke) { + d.relocateComponent(I[ke], A[ke], T); + }); + var H = new Set(); + if (k.length > 1) { + var q = [], + K = _.filter(function (oe) { + return oe.css('display') == 'none'; + }); + k.forEach(function (oe, ke) { + var Ie = void 0; + if ( + (T.quality == 'draft' && + (Ie = A[ke].nodeIndexes), + oe.nodes().not(K).length > 0) + ) { + var Se = {}; + (Se.edges = []), (Se.nodes = []); + var Ue = void 0; + oe + .nodes() + .not(K) + .forEach(function (Pe) { + if (T.quality == 'draft') + if (!Pe.isParent()) + (Ue = Ie.get(Pe.id())), + Se.nodes.push({ + x: + A[ke].xCoords[Ue] - + Pe.boundingbox().w / + 2, + y: + A[ke].yCoords[Ue] - + Pe.boundingbox().h / + 2, + width: Pe.boundingbox() + .w, + height: Pe.boundingbox() + .h + }); + else { + var _e = d.calcBoundingBox( + Pe, + A[ke].xCoords, + A[ke].yCoords, + Ie + ); + Se.nodes.push({ + x: _e.topLeftX, + y: _e.topLeftY, + width: _e.width, + height: _e.height + }); + } + else + N[ke][Pe.id()] && + Se.nodes.push({ + x: N[ke][Pe.id()].getLeft(), + y: N[ke][Pe.id()].getTop(), + width: N[ke][ + Pe.id() + ].getWidth(), + height: N[ke][ + Pe.id() + ].getHeight() + }); + }), + oe.edges().forEach(function (Pe) { + var _e = Pe.source(), + me = Pe.target(); + if ( + _e.css('display') != 'none' && + me.css('display') != 'none' + ) + if (T.quality == 'draft') { + var W = Ie.get(_e.id()), + fe = Ie.get(me.id()), + ge = [], + re = []; + if (_e.isParent()) { + var he = d.calcBoundingBox( + _e, + A[ke].xCoords, + A[ke].yCoords, + Ie + ); + ge.push( + he.topLeftX + + he.width / 2 + ), + ge.push( + he.topLeftY + + he.height / 2 + ); + } else + ge.push(A[ke].xCoords[W]), + ge.push( + A[ke].yCoords[W] + ); + if (me.isParent()) { + var ne = d.calcBoundingBox( + me, + A[ke].xCoords, + A[ke].yCoords, + Ie + ); + re.push( + ne.topLeftX + + ne.width / 2 + ), + re.push( + ne.topLeftY + + ne.height / 2 + ); + } else + re.push(A[ke].xCoords[fe]), + re.push( + A[ke].yCoords[fe] + ); + Se.edges.push({ + startX: ge[0], + startY: ge[1], + endX: re[0], + endY: re[1] + }); + } else + N[ke][_e.id()] && + N[ke][me.id()] && + Se.edges.push({ + startX: N[ke][ + _e.id() + ].getCenterX(), + startY: N[ke][ + _e.id() + ].getCenterY(), + endX: N[ke][ + me.id() + ].getCenterX(), + endY: N[ke][ + me.id() + ].getCenterY() + }); + }), + Se.nodes.length > 0 && + (q.push(Se), H.add(ke)); + } + }); + var se = O.packComponents(q, T.randomize).shifts; + if (T.quality == 'draft') + A.forEach(function (oe, ke) { + var Ie = oe.xCoords.map(function (Ue) { + return Ue + se[ke].dx; + }), + Se = oe.yCoords.map(function (Ue) { + return Ue + se[ke].dy; + }); + (oe.xCoords = Ie), (oe.yCoords = Se); + }); + else { + var ce = 0; + H.forEach(function (oe) { + Object.keys(N[oe]).forEach(function (ke) { + var Ie = N[oe][ke]; + Ie.setCenter( + Ie.getCenterX() + se[ce].dx, + Ie.getCenterY() + se[ce].dy + ); + }), + ce++; + }); + } + } + } else { + var P = T.eles.boundingBox(); + if ( + (I.push({ + x: P.x1 + P.w / 2, + y: P.y1 + P.h / 2 + }), + T.randomize) + ) { + var F = m(T); + A.push(F); + } + T.quality == 'default' || T.quality == 'proof' + ? (N.push(y(T, A[0])), + d.relocateComponent(I[0], N[0], T)) + : d.relocateComponent(I[0], A[0], T); + } + var ue = o(function (ke, Ie) { + if (T.quality == 'default' || T.quality == 'proof') { + typeof ke == 'number' && (ke = Ie); + var Se = void 0, + Ue = void 0, + Pe = ke.data('id'); + return ( + N.forEach(function (me) { + Pe in me && + ((Se = { + x: me[Pe].getRect().getCenterX(), + y: me[Pe].getRect().getCenterY() + }), + (Ue = me[Pe])); + }), + T.nodeDimensionsIncludeLabels && + (Ue.labelWidth && + (Ue.labelPosHorizontal == 'left' + ? (Se.x += Ue.labelWidth / 2) + : Ue.labelPosHorizontal == 'right' && + (Se.x -= Ue.labelWidth / 2)), + Ue.labelHeight && + (Ue.labelPosVertical == 'top' + ? (Se.y += Ue.labelHeight / 2) + : Ue.labelPosVertical == 'bottom' && + (Se.y -= Ue.labelHeight / 2))), + Se == null && + (Se = { + x: ke.position('x'), + y: ke.position('y') + }), + { x: Se.x, y: Se.y } + ); + } else { + var _e = void 0; + return ( + A.forEach(function (me) { + var W = me.nodeIndexes.get(ke.id()); + W != null && + (_e = { + x: me.xCoords[W], + y: me.yCoords[W] + }); + }), + _e == null && + (_e = { + x: ke.position('x'), + y: ke.position('y') + }), + { x: _e.x, y: _e.y } + ); + } + }, 'getPositions'); + if (T.quality == 'default' || T.quality == 'proof' || T.randomize) { + var te = d.calcParentsWithoutChildren(E, _), + De = _.filter(function (oe) { + return oe.css('display') == 'none'; + }); + (T.eles = _.not(De)), + _.nodes().not(':parent').not(De).layoutPositions(S, T, ue), + te.length > 0 && + te.forEach(function (oe) { + oe.position(ue(oe)); + }); + } else + console.log( + "If randomize option is set to false, then quality option must be 'default' or 'proof'." + ); + }, 'run') + } + ]), + b + ); + })(); + a.exports = x; + }, + 657: (a, s, l) => { + var u = l(548), + h = l(140).layoutBase.Matrix, + f = l(140).layoutBase.SVD, + d = o(function (m) { + var g = m.cy, + y = m.eles, + v = y.nodes(), + x = y.nodes(':parent'), + b = new Map(), + w = new Map(), + S = new Map(), + T = [], + E = [], + _ = [], + A = [], + L = [], + M = [], + N = [], + k = [], + I = void 0, + C = void 0, + O = 1e8, + D = 1e-9, + P = m.piTol, + F = m.samplingType, + B = m.nodeSeparation, + $ = void 0, + z = o(function () { + for (var we = 0, Te = 0, Ce = !1; Te < $; ) { + (we = Math.floor(Math.random() * C)), (Ce = !1); + for (var Ae = 0; Ae < Te; Ae++) + if (A[Ae] == we) { + Ce = !0; + break; + } + if (!Ce) (A[Te] = we), Te++; + else continue; + } + }, 'randomSampleCR'), + Y = o(function (we, Te, Ce) { + for ( + var Ae = [], + Ge = 0, + Me = 0, + ye = 0, + He = void 0, + ze = [], + Ze = 0, + gt = 1, + yt = 0; + yt < C; + yt++ + ) + ze[yt] = O; + for (Ae[Me] = we, ze[we] = 0; Me >= Ge; ) { + ye = Ae[Ge++]; + for (var tt = T[ye], Ye = 0; Ye < tt.length; Ye++) + (He = w.get(tt[Ye])), + ze[He] == O && ((ze[He] = ze[ye] + 1), (Ae[++Me] = He)); + M[ye][Te] = ze[ye] * B; + } + if (Ce) { + for (var Je = 0; Je < C; Je++) M[Je][Te] < L[Je] && (L[Je] = M[Je][Te]); + for (var Ve = 0; Ve < C; Ve++) L[Ve] > Ze && ((Ze = L[Ve]), (gt = Ve)); + } + return gt; + }, 'BFS'), + Q = o(function (we) { + var Te = void 0; + if (we) { + (Te = Math.floor(Math.random() * C)), (I = Te); + for (var Ae = 0; Ae < C; Ae++) L[Ae] = O; + for (var Ge = 0; Ge < $; Ge++) (A[Ge] = Te), (Te = Y(Te, Ge, we)); + } else { + z(); + for (var Ce = 0; Ce < $; Ce++) Y(A[Ce], Ce, we, !1); + } + for (var Me = 0; Me < C; Me++) + for (var ye = 0; ye < $; ye++) M[Me][ye] *= M[Me][ye]; + for (var He = 0; He < $; He++) N[He] = []; + for (var ze = 0; ze < $; ze++) + for (var Ze = 0; Ze < $; Ze++) N[ze][Ze] = M[A[Ze]][ze]; + }, 'allBFS'), + X = o(function () { + for ( + var we = f.svd(N), + Te = we.S, + Ce = we.U, + Ae = we.V, + Ge = Te[0] * Te[0] * Te[0], + Me = [], + ye = 0; + ye < $; + ye++ + ) { + Me[ye] = []; + for (var He = 0; He < $; He++) + (Me[ye][He] = 0), + ye == He && + (Me[ye][He] = + Te[ye] / (Te[ye] * Te[ye] + Ge / (Te[ye] * Te[ye]))); + } + k = h.multMat(h.multMat(Ae, Me), h.transpose(Ce)); + }, 'sample'), + ie = o(function () { + for ( + var we = void 0, + Te = void 0, + Ce = [], + Ae = [], + Ge = [], + Me = [], + ye = 0; + ye < C; + ye++ + ) + (Ce[ye] = Math.random()), (Ae[ye] = Math.random()); + (Ce = h.normalize(Ce)), (Ae = h.normalize(Ae)); + for (var He = 0, ze = D, Ze = D, gt = void 0; ; ) { + He++; + for (var yt = 0; yt < C; yt++) Ge[yt] = Ce[yt]; + if ( + ((Ce = h.multGamma(h.multL(h.multGamma(Ge), M, k))), + (we = h.dotProduct(Ge, Ce)), + (Ce = h.normalize(Ce)), + (ze = h.dotProduct(Ge, Ce)), + (gt = Math.abs(ze / Ze)), + gt <= 1 + P && gt >= 1) + ) + break; + Ze = ze; + } + for (var tt = 0; tt < C; tt++) Ge[tt] = Ce[tt]; + for (He = 0, Ze = D; ; ) { + He++; + for (var Ye = 0; Ye < C; Ye++) Me[Ye] = Ae[Ye]; + if ( + ((Me = h.minusOp(Me, h.multCons(Ge, h.dotProduct(Ge, Me)))), + (Ae = h.multGamma(h.multL(h.multGamma(Me), M, k))), + (Te = h.dotProduct(Me, Ae)), + (Ae = h.normalize(Ae)), + (ze = h.dotProduct(Me, Ae)), + (gt = Math.abs(ze / Ze)), + gt <= 1 + P && gt >= 1) + ) + break; + Ze = ze; + } + for (var Je = 0; Je < C; Je++) Me[Je] = Ae[Je]; + (E = h.multCons(Ge, Math.sqrt(Math.abs(we)))), + (_ = h.multCons(Me, Math.sqrt(Math.abs(Te)))); + }, 'powerIteration'); + u.connectComponents(g, y, u.getTopMostNodes(v), b), + x.forEach(function (ae) { + u.connectComponents( + g, + y, + u.getTopMostNodes(ae.descendants().intersection(y)), + b + ); + }); + for (var j = 0, J = 0; J < v.length; J++) v[J].isParent() || w.set(v[J].id(), j++); + var Z = !0, + H = !1, + q = void 0; + try { + for ( + var K = b.keys()[Symbol.iterator](), se; + !(Z = (se = K.next()).done); + Z = !0 + ) { + var ce = se.value; + w.set(ce, j++); + } + } catch (ae) { + (H = !0), (q = ae); + } finally { + try { + !Z && K.return && K.return(); + } finally { + if (H) throw q; + } + } + for (var ue = 0; ue < w.size; ue++) T[ue] = []; + x.forEach(function (ae) { + for ( + var we = ae.children().intersection(y); + we.nodes(':childless').length == 0; + + ) + we = we.nodes()[0].children().intersection(y); + var Te = 0, + Ce = we.nodes(':childless')[0].connectedEdges().length; + we.nodes(':childless').forEach(function (Ae, Ge) { + Ae.connectedEdges().length < Ce && + ((Ce = Ae.connectedEdges().length), (Te = Ge)); + }), + S.set(ae.id(), we.nodes(':childless')[Te].id()); + }), + v.forEach(function (ae) { + var we = void 0; + ae.isParent() ? (we = w.get(S.get(ae.id()))) : (we = w.get(ae.id())), + ae + .neighborhood() + .nodes() + .forEach(function (Te) { + y.intersection(ae.edgesWith(Te)).length > 0 && + (Te.isParent() + ? T[we].push(S.get(Te.id())) + : T[we].push(Te.id())); + }); + }); + var te = o(function (we) { + var Te = w.get(we), + Ce = void 0; + b.get(we).forEach(function (Ae) { + g.getElementById(Ae).isParent() ? (Ce = S.get(Ae)) : (Ce = Ae), + T[Te].push(Ce), + T[w.get(Ce)].push(we); + }); + }, '_loop'), + De = !0, + oe = !1, + ke = void 0; + try { + for ( + var Ie = b.keys()[Symbol.iterator](), Se; + !(De = (Se = Ie.next()).done); + De = !0 + ) { + var Ue = Se.value; + te(Ue); + } + } catch (ae) { + (oe = !0), (ke = ae); + } finally { + try { + !De && Ie.return && Ie.return(); + } finally { + if (oe) throw ke; + } + } + C = w.size; + var Pe = void 0; + if (C > 2) { + $ = C < m.sampleSize ? C : m.sampleSize; + for (var _e = 0; _e < C; _e++) M[_e] = []; + for (var me = 0; me < $; me++) k[me] = []; + return ( + m.quality == 'draft' || m.step == 'all' + ? (Q(F), X(), ie(), (Pe = { nodeIndexes: w, xCoords: E, yCoords: _ })) + : (w.forEach(function (ae, we) { + E.push(g.getElementById(we).position('x')), + _.push(g.getElementById(we).position('y')); + }), + (Pe = { nodeIndexes: w, xCoords: E, yCoords: _ })), + Pe + ); + } else { + var W = w.keys(), + fe = g.getElementById(W.next().value), + ge = fe.position(), + re = fe.outerWidth(); + if ((E.push(ge.x), _.push(ge.y), C == 2)) { + var he = g.getElementById(W.next().value), + ne = he.outerWidth(); + E.push(ge.x + re / 2 + ne / 2 + m.idealEdgeLength), _.push(ge.y); + } + return (Pe = { nodeIndexes: w, xCoords: E, yCoords: _ }), Pe; + } + }, 'spectralLayout'); + a.exports = { spectralLayout: d }; + }, + 579: (a, s, l) => { + var u = l(212), + h = o(function (d) { + d && d('layout', 'fcose', u); + }, 'register'); + typeof cytoscape < 'u' && h(cytoscape), (a.exports = h); + }, + 140: (a) => { + a.exports = t; + } + }, + r = {}; + function n(a) { + var s = r[a]; + if (s !== void 0) return s.exports; + var l = (r[a] = { exports: {} }); + return e[a](l, l.exports, n), l.exports; + } + o(n, '__webpack_require__'); + var i = n(579); + return i; + })(); + }); + }); + var T1, + J0, + eF = R(() => { + 'use strict'; + V1(); + (T1 = o( + (t) => `${t}`, + 'wrapIcon' + )), + (J0 = { + prefix: 'mermaid-architecture', + height: 80, + width: 80, + icons: { + database: { + body: T1( + '' + ) + }, + server: { + body: T1( + '' + ) + }, + disk: { + body: T1( + '' + ) + }, + internet: { + body: T1( + '' + ) + }, + cloud: { + body: T1( + '' + ) + }, + unknown: FC, + blank: { body: T1('') } + } + }); + }); + var j1e, + K1e, + Q1e, + Z1e, + J1e = R(() => { + 'use strict'; + V1(); + _t(); + Al(); + gb(); + eF(); + cC(); + (j1e = o(async function (t, e) { + let r = Ci('padding'), + n = Ci('iconSize'), + i = n / 2, + a = n / 6, + s = a / 2; + await Promise.all( + e.edges().map(async (l) => { + let { + source: u, + sourceDir: h, + sourceArrow: f, + sourceGroup: d, + target: p, + targetDir: m, + targetArrow: g, + targetGroup: y, + label: v + } = lC(l), + { x, y: b } = l[0].sourceEndpoint(), + { x: w, y: S } = l[0].midpoint(), + { x: T, y: E } = l[0].targetEndpoint(), + _ = r + 4; + if ( + (d && (cs(h) ? (x += h === 'L' ? -_ : _) : (b += h === 'T' ? -_ : _ + 18)), + y && (cs(m) ? (T += m === 'L' ? -_ : _) : (E += m === 'T' ? -_ : _ + 18)), + !d && + Z0.getNode(u)?.type === 'junction' && + (cs(h) ? (x += h === 'L' ? i : -i) : (b += h === 'T' ? i : -i)), + !y && + Z0.getNode(p)?.type === 'junction' && + (cs(m) ? (T += m === 'L' ? i : -i) : (E += m === 'T' ? i : -i)), + l[0]._private.rscratch) + ) { + let A = t.insert('g'); + if ( + (A.insert('path') + .attr('d', `M ${x},${b} L ${w},${S} L${T},${E} `) + .attr('class', 'edge'), + f) + ) { + let L = cs(h) ? pb[h](x, a) : x - s, + M = Wc(h) ? pb[h](b, a) : b - s; + A.insert('polygon') + .attr('points', qB[h](a)) + .attr('transform', `translate(${L},${M})`) + .attr('class', 'arrow'); + } + if (g) { + let L = cs(m) ? pb[m](T, a) : T - s, + M = Wc(m) ? pb[m](E, a) : E - s; + A.insert('polygon') + .attr('points', qB[m](a)) + .attr('transform', `translate(${L},${M})`) + .attr('class', 'arrow'); + } + if (v) { + let L = oC(h, m) ? 'XY' : cs(h) ? 'X' : 'Y', + M = 0; + L === 'X' + ? (M = Math.abs(x - T)) + : L === 'Y' + ? (M = Math.abs(b - E) / 1.5) + : (M = Math.abs(x - T) / 2); + let N = A.append('g'); + if ( + (await ta( + N, + v, + { + useHtmlLabels: !1, + width: M, + classes: 'architecture-service-label' + }, + de() + ), + N.attr('dy', '1em') + .attr('alignment-baseline', 'middle') + .attr('dominant-baseline', 'middle') + .attr('text-anchor', 'middle'), + L === 'X') + ) + N.attr('transform', 'translate(' + w + ', ' + S + ')'); + else if (L === 'Y') N.attr('transform', 'translate(' + w + ', ' + S + ') rotate(-90)'); + else if (L === 'XY') { + let k = mb(h, m); + if (k && F1e(k)) { + let I = N.node().getBoundingClientRect(), + [C, O] = G1e(k); + N.attr('dominant-baseline', 'auto').attr( + 'transform', + `rotate(${-1 * C * O * 45})` + ); + let D = N.node().getBoundingClientRect(); + N.attr( + 'transform', + ` + translate(${w}, ${S - I.height / 2}) + translate(${(C * D.width) / 2}, ${(O * D.height) / 2}) + rotate(${-1 * C * O * 45}, 0, ${I.height / 2}) + ` + ); + } + } + } + } + }) + ); + }, 'drawEdges')), + (K1e = o(async function (t, e) { + let n = Ci('padding') * 0.75, + i = Ci('fontSize'), + s = Ci('iconSize') / 2; + await Promise.all( + e.nodes().map(async (l) => { + let u = If(l); + if (u.type === 'group') { + let { h, w: f, x1: d, y1: p } = l.boundingBox(); + t.append('rect') + .attr('x', d + s) + .attr('y', p + s) + .attr('width', f) + .attr('height', h) + .attr('class', 'node-bkg'); + let m = t.append('g'), + g = d, + y = p; + if (u.icon) { + let v = m.append('g'); + v.html( + `${await zb(u.icon, { height: n, width: n, fallbackPrefix: J0.prefix })}` + ), + v.attr('transform', 'translate(' + (g + s + 1) + ', ' + (y + s + 1) + ')'), + (g += n), + (y += i / 2 - 1 - 2); + } + if (u.label) { + let v = m.append('g'); + await ta( + v, + u.label, + { + useHtmlLabels: !1, + width: f, + classes: 'architecture-service-label' + }, + de() + ), + v + .attr('dy', '1em') + .attr('alignment-baseline', 'middle') + .attr('dominant-baseline', 'start') + .attr('text-anchor', 'start'), + v.attr('transform', 'translate(' + (g + s + 4) + ', ' + (y + s + 2) + ')'); + } + } + }) + ); + }, 'drawGroups')), + (Q1e = o(async function (t, e, r) { + for (let n of r) { + let i = e.append('g'), + a = Ci('iconSize'); + if (n.title) { + let h = i.append('g'); + await ta( + h, + n.title, + { + useHtmlLabels: !1, + width: a * 1.5, + classes: 'architecture-service-label' + }, + de() + ), + h + .attr('dy', '1em') + .attr('alignment-baseline', 'middle') + .attr('dominant-baseline', 'middle') + .attr('text-anchor', 'middle'), + h.attr('transform', 'translate(' + a / 2 + ', ' + a + ')'); + } + let s = i.append('g'); + if (n.icon) + s.html(`${await zb(n.icon, { height: a, width: a, fallbackPrefix: J0.prefix })}`); + else if (n.iconText) { + s.html(`${await zb('blank', { height: a, width: a, fallbackPrefix: J0.prefix })}`); + let d = s + .append('g') + .append('foreignObject') + .attr('width', a) + .attr('height', a) + .append('div') + .attr('class', 'node-icon-text') + .attr('style', `height: ${a}px;`) + .append('div') + .html(n.iconText), + p = + parseInt( + window + .getComputedStyle(d.node(), null) + .getPropertyValue('font-size') + .replace(/\D/g, '') + ) ?? 16; + d.attr('style', `-webkit-line-clamp: ${Math.floor((a - 2) / p)};`); + } else + s.append('path') + .attr('class', 'node-bkg') + .attr('id', 'node-' + n.id) + .attr('d', `M0 ${a} v${-a} q0,-5 5,-5 h${a} q5,0 5,5 v${a} H0 Z`); + i.attr('class', 'architecture-service'); + let { width: l, height: u } = i._groups[0][0].getBBox(); + (n.width = l), (n.height = u), t.setElementForId(n.id, i); + } + return 0; + }, 'drawServices')), + (Z1e = o(function (t, e, r) { + r.forEach((n) => { + let i = e.append('g'), + a = Ci('iconSize'); + i + .append('g') + .append('rect') + .attr('id', 'node-' + n.id) + .attr('fill-opacity', '0') + .attr('width', a) + .attr('height', a), + i.attr('class', 'architecture-junction'); + let { width: l, height: u } = i._groups[0][0].getBBox(); + (i.width = l), (i.height = u), t.setElementForId(n.id, i); + }); + }, 'drawJunctions')); + }); + function iet(t, e) { + t.forEach((r) => { + e.add({ + group: 'nodes', + data: { + type: 'service', + id: r.id, + icon: r.icon, + label: r.title, + parent: r.in, + width: Ci('iconSize'), + height: Ci('iconSize') + }, + classes: 'node-service' + }); + }); + } + function aet(t, e) { + t.forEach((r) => { + e.add({ + group: 'nodes', + data: { + type: 'junction', + id: r.id, + parent: r.in, + width: Ci('iconSize'), + height: Ci('iconSize') + }, + classes: 'node-junction' + }); + }); + } + function set(t, e) { + e.nodes().map((r) => { + let n = If(r); + if (n.type === 'group') return; + (n.x = r.position().x), + (n.y = r.position().y), + t.getElementById(n.id).attr('transform', 'translate(' + (n.x || 0) + ',' + (n.y || 0) + ')'); + }); + } + function oet(t, e) { + t.forEach((r) => { + e.add({ + group: 'nodes', + data: { + type: 'group', + id: r.id, + icon: r.icon, + label: r.title, + parent: r.in + }, + classes: 'node-group' + }); + }); + } + function cet(t, e) { + t.forEach((r) => { + let { + lhsId: n, + rhsId: i, + lhsInto: a, + lhsGroup: s, + rhsInto: l, + lhsDir: u, + rhsDir: h, + rhsGroup: f, + title: d + } = r, + p = oC(r.lhsDir, r.rhsDir) ? 'segments' : 'straight', + m = { + id: `${n}-${i}`, + label: d, + source: n, + sourceDir: u, + sourceArrow: a, + sourceGroup: s, + sourceEndpoint: u === 'L' ? '0 50%' : u === 'R' ? '100% 50%' : u === 'T' ? '50% 0' : '50% 100%', + target: i, + targetDir: h, + targetArrow: l, + targetGroup: f, + targetEndpoint: h === 'L' ? '0 50%' : h === 'R' ? '100% 50%' : h === 'T' ? '50% 0' : '50% 100%' + }; + e.add({ group: 'edges', data: m, classes: p }); + }); + } + function uet(t) { + let e = t.map((i) => { + let a = {}, + s = {}; + return ( + Object.entries(i).forEach(([l, [u, h]]) => { + a[h] || (a[h] = []), s[u] || (s[u] = []), a[h].push(l), s[u].push(l); + }), + { + horiz: Object.values(a).filter((l) => l.length > 1), + vert: Object.values(s).filter((l) => l.length > 1) + } + ); + }), + [r, n] = e.reduce( + ([i, a], { horiz: s, vert: l }) => [ + [...i, ...s], + [...a, ...l] + ], + [[], []] + ); + return { horizontal: r, vertical: n }; + } + function het(t) { + let e = [], + r = o((i) => `${i[0]},${i[1]}`, 'posToStr'), + n = o((i) => i.split(',').map((a) => parseInt(a)), 'strToPos'); + return ( + t.forEach((i) => { + let a = Object.fromEntries(Object.entries(i).map(([h, f]) => [r(f), h])), + s = [r([0, 0])], + l = {}, + u = { L: [-1, 0], R: [1, 0], T: [0, 1], B: [0, -1] }; + for (; s.length > 0; ) { + let h = s.shift(); + if (h) { + l[h] = 1; + let f = a[h]; + if (f) { + let d = n(h); + Object.entries(u).forEach(([p, m]) => { + let g = r([d[0] + m[0], d[1] + m[1]]), + y = a[g]; + y && + !l[g] && + (s.push(g), + e.push({ + [WB[p]]: y, + [WB[B1e(p)]]: f, + gap: 1.5 * Ci('iconSize') + })); + }); + } + } + } + }), + e + ); + } + function fet(t, e, r, n, { spatialMaps: i }) { + return new Promise((a) => { + let s = $e('body').append('div').attr('id', 'cy').attr('style', 'display:none'), + l = rl({ + container: document.getElementById('cy'), + style: [ + { + selector: 'edge', + style: { + 'curve-style': 'straight', + label: 'data(label)', + 'source-endpoint': 'data(sourceEndpoint)', + 'target-endpoint': 'data(targetEndpoint)' + } + }, + { + selector: 'edge.segments', + style: { + 'curve-style': 'segments', + 'segment-weights': '0', + 'segment-distances': [0.5], + 'edge-distances': 'endpoints', + 'source-endpoint': 'data(sourceEndpoint)', + 'target-endpoint': 'data(targetEndpoint)' + } + }, + { + selector: 'node', + style: { 'compound-sizing-wrt-labels': 'include' } + }, + { + selector: 'node[label]', + style: { + 'text-valign': 'bottom', + 'text-halign': 'center', + 'font-size': `${Ci('fontSize')}px` + } + }, + { + selector: '.node-service', + style: { + label: 'data(label)', + width: 'data(width)', + height: 'data(height)' + } + }, + { + selector: '.node-junction', + style: { width: 'data(width)', height: 'data(height)' } + }, + { + selector: '.node-group', + style: { padding: `${Ci('padding')}px` } + } + ] + }); + s.remove(), oet(r, l), iet(t, l), aet(e, l), cet(n, l); + let u = uet(i), + h = het(i), + f = l.layout({ + name: 'fcose', + quality: 'proof', + styleEnabled: !1, + animate: !1, + nodeDimensionsIncludeLabels: !1, + idealEdgeLength(d) { + let [p, m] = d.connectedNodes(), + { parent: g } = If(p), + { parent: y } = If(m); + return g === y ? 1.5 * Ci('iconSize') : 0.5 * Ci('iconSize'); + }, + edgeElasticity(d) { + let [p, m] = d.connectedNodes(), + { parent: g } = If(p), + { parent: y } = If(m); + return g === y ? 0.45 : 0.001; + }, + alignmentConstraint: u, + relativePlacementConstraint: h + }); + f.one('layoutstop', () => { + function d(p, m, g, y) { + let v, + x, + { x: b, y: w } = p, + { x: S, y: T } = m; + (x = (y - w + ((b - g) * (w - T)) / (b - S)) / Math.sqrt(1 + Math.pow((w - T) / (b - S), 2))), + (v = Math.sqrt(Math.pow(y - w, 2) + Math.pow(g - b, 2) - Math.pow(x, 2))); + let E = Math.sqrt(Math.pow(S - b, 2) + Math.pow(T - w, 2)); + v = v / E; + let _ = (S - b) * (y - w) - (T - w) * (g - b); + switch (!0) { + case _ >= 0: + _ = 1; + break; + case _ < 0: + _ = -1; + break; + } + let A = (S - b) * (g - b) + (T - w) * (y - w); + switch (!0) { + case A >= 0: + A = 1; + break; + case A < 0: + A = -1; + break; + } + return (x = Math.abs(x) * _), (v = v * A), { distances: x, weights: v }; + } + o(d, 'getSegmentWeights'), l.startBatch(); + for (let p of Object.values(l.edges())) + if (p.data?.()) { + let { x: m, y: g } = p.source().position(), + { x: y, y: v } = p.target().position(); + if (m !== y && g !== v) { + let x = p.sourceEndpoint(), + b = p.targetEndpoint(), + { sourceDir: w } = lC(p), + [S, T] = Wc(w) ? [x.x, b.y] : [b.x, x.y], + { weights: E, distances: _ } = d(x, b, S, T); + p.style('segment-distances', _), p.style('segment-weights', E); + } + } + l.endBatch(), f.run(); + }), + f.run(), + l.ready((d) => { + V.info('Ready', d), a(l); + }); + }); + } + var eye, + det, + tye, + rye = R(() => { + 'use strict'; + V1(); + vB(); + eye = Xi(X1e(), 1); + Zt(); + ut(); + pf(); + Yn(); + gb(); + eF(); + cC(); + J1e(); + Fb([{ name: J0.prefix, icons: J0 }]); + rl.use(eye.default); + o(iet, 'addServices'); + o(aet, 'addJunctions'); + o(set, 'positionNodes'); + o(oet, 'addGroups'); + o(cet, 'addEdges'); + o(uet, 'getAlignments'); + o(het, 'getRelativeConstraints'); + o(fet, 'layoutArchitecture'); + (det = o(async (t, e, r, n) => { + let i = n.db, + a = i.getServices(), + s = i.getJunctions(), + l = i.getGroups(), + u = i.getEdges(), + h = i.getDataStructures(), + f = Ps(e), + d = f.append('g'); + d.attr('class', 'architecture-edges'); + let p = f.append('g'); + p.attr('class', 'architecture-services'); + let m = f.append('g'); + m.attr('class', 'architecture-groups'), await Q1e(i, p, a), Z1e(i, p, s); + let g = await fet(a, s, l, u, h); + await j1e(d, g), await K1e(m, g), set(i, g), Lo(void 0, f, Ci('padding'), Ci('useMaxWidth')); + }, 'draw')), + (tye = { draw: det }); + }); + var nye = {}; + hr(nye, { diagram: () => pet }); + var pet, + iye = R(() => { + 'use strict'; + Y1e(); + gb(); + q1e(); + rye(); + pet = { parser: H1e, db: Z0, renderer: tye, styles: W1e }; + }); + var knt = {}; + hr(knt, { default: () => Tnt }); + V1(); + zC(); + Hf(); + var BX = 'c4', + mCe = o((t) => /^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t), 'detector'), + gCe = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (PX(), OX)); + return { id: BX, diagram: t }; + }, 'loader'), + yCe = { id: BX, detector: mCe, loader: gCe }, + FX = yCe; + var Zre = 'flowchart', + SNe = o( + (t, e) => + e?.flowchart?.defaultRenderer === 'dagre-wrapper' || e?.flowchart?.defaultRenderer === 'elk' + ? !1 + : /^\s*graph/.test(t), + 'detector' + ), + ANe = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (uT(), cT)); + return { id: Zre, diagram: t }; + }, 'loader'), + _Ne = { id: Zre, detector: SNe, loader: ANe }, + Jre = _Ne; + var ene = 'flowchart-v2', + LNe = o( + (t, e) => + e?.flowchart?.defaultRenderer === 'dagre-d3' + ? !1 + : (e?.flowchart?.defaultRenderer === 'elk' && (e.layout = 'elk'), + /^\s*graph/.test(t) && e?.flowchart?.defaultRenderer === 'dagre-wrapper' + ? !0 + : /^\s*flowchart/.test(t)), + 'detector' + ), + DNe = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (uT(), cT)); + return { id: ene, diagram: t }; + }, 'loader'), + RNe = { id: ene, detector: LNe, loader: DNe }, + tne = RNe; + var Dne = 'er', + sMe = o((t) => /^\s*erDiagram/.test(t), 'detector'), + oMe = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (Lne(), _ne)); + return { id: Dne, diagram: t }; + }, 'loader'), + lMe = { id: Dne, detector: sMe, loader: oMe }, + Rne = lMe; + var $le = 'gitGraph', + NBe = o((t) => /^\s*gitGraph/.test(t), 'detector'), + MBe = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (Gle(), zle)); + return { id: $le, diagram: t }; + }, 'loader'), + IBe = { id: $le, detector: NBe, loader: MBe }, + Vle = IBe; + var vce = 'gantt', + wFe = o((t) => /^\s*gantt/.test(t), 'detector'), + TFe = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (yce(), gce)); + return { id: vce, diagram: t }; + }, 'loader'), + kFe = { id: vce, detector: wFe, loader: TFe }, + xce = kFe; + var _ce = 'info', + LFe = o((t) => /^\s*info/.test(t), 'detector'), + DFe = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (Ace(), Sce)); + return { id: _ce, diagram: t }; + }, 'loader'), + Lce = { id: _ce, detector: LFe, loader: DFe }; + var zce = 'pie', + UFe = o((t) => /^\s*pie/.test(t), 'detector'), + HFe = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (Fce(), Bce)); + return { id: zce, diagram: t }; + }, 'loader'), + Gce = { id: zce, detector: UFe, loader: HFe }; + var Jce = 'quadrantChart', + lze = o((t) => /^\s*quadrantChart/.test(t), 'detector'), + cze = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (Zce(), Qce)); + return { id: Jce, diagram: t }; + }, 'loader'), + uze = { id: Jce, detector: lze, loader: cze }, + eue = uze; + var Aue = 'xychart', + Sze = o((t) => /^\s*xychart-beta/.test(t), 'detector'), + Aze = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (Sue(), Cue)); + return { id: Aue, diagram: t }; + }, 'loader'), + _ze = { id: Aue, detector: Sze, loader: Aze }, + _ue = _ze; + var Hue = 'requirement', + rGe = o((t) => /^\s*requirement(Diagram)?/.test(t), 'detector'), + nGe = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (Uue(), Vue)); + return { id: Hue, diagram: t }; + }, 'loader'), + iGe = { id: Hue, detector: rGe, loader: nGe }, + Yue = iGe; + var vhe = 'sequence', + o$e = o((t) => /^\s*sequenceDiagram/.test(t), 'detector'), + l$e = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (yhe(), ghe)); + return { id: vhe, diagram: t }; + }, 'loader'), + c$e = { id: vhe, detector: o$e, loader: l$e }, + xhe = c$e; + var Ihe = 'class', + U$e = o( + (t, e) => (e?.class?.defaultRenderer === 'dagre-wrapper' ? !1 : /^\s*classDiagram/.test(t)), + 'detector' + ), + H$e = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (Mhe(), Nhe)); + return { id: Ihe, diagram: t }; + }, 'loader'), + Y$e = { id: Ihe, detector: U$e, loader: H$e }, + Ohe = Y$e; + var cfe = 'classDiagram', + vVe = o( + (t, e) => + /^\s*classDiagram/.test(t) && e?.class?.defaultRenderer === 'dagre-wrapper' + ? !0 + : /^\s*classDiagram-v2/.test(t), + 'detector' + ), + xVe = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (lfe(), ofe)); + return { id: cfe, diagram: t }; + }, 'loader'), + bVe = { id: cfe, detector: vVe, loader: xVe }, + ufe = bVe; + var tde = 'state', + mUe = o( + (t, e) => (e?.state?.defaultRenderer === 'dagre-wrapper' ? !1 : /^\s*stateDiagram/.test(t)), + 'detector' + ), + gUe = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (ede(), Jfe)); + return { id: tde, diagram: t }; + }, 'loader'), + yUe = { id: tde, detector: mUe, loader: gUe }, + rde = yUe; + var ade = 'stateDiagram', + xUe = o( + (t, e) => + !!( + /^\s*stateDiagram-v2/.test(t) || + (/^\s*stateDiagram/.test(t) && e?.state?.defaultRenderer === 'dagre-wrapper') + ), + 'detector' + ), + bUe = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (ide(), nde)); + return { id: ade, diagram: t }; + }, 'loader'), + wUe = { id: ade, detector: xUe, loader: bUe }, + sde = wUe; + var Tde = 'journey', + VUe = o((t) => /^\s*journey/.test(t), 'detector'), + UUe = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (wde(), bde)); + return { id: Tde, diagram: t }; + }, 'loader'), + HUe = { id: Tde, detector: VUe, loader: UUe }, + kde = HUe; + ut(); + pf(); + Yn(); + var YUe = o((t, e, r) => { + V.debug(`rendering svg for syntax error +`); + let n = Ps(e), + i = n.append('g'); + n.attr('viewBox', '0 0 2412 512'), + Sr(n, 100, 512, !0), + i + .append('path') + .attr('class', 'error-icon') + .attr( + 'd', + 'm411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z' + ), + i + .append('path') + .attr('class', 'error-icon') + .attr( + 'd', + 'm459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z' + ), + i + .append('path') + .attr('class', 'error-icon') + .attr( + 'd', + 'm340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z' + ), + i + .append('path') + .attr('class', 'error-icon') + .attr( + 'd', + 'm400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z' + ), + i + .append('path') + .attr('class', 'error-icon') + .attr( + 'd', + 'm496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z' + ), + i + .append('path') + .attr('class', 'error-icon') + .attr( + 'd', + 'm436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z' + ), + i + .append('text') + .attr('class', 'error-text') + .attr('x', 1440) + .attr('y', 250) + .attr('font-size', '150px') + .style('text-anchor', 'middle') + .text('Syntax error in text'), + i + .append('text') + .attr('class', 'error-text') + .attr('x', 1250) + .attr('y', 400) + .attr('font-size', '100px') + .style('text-anchor', 'middle') + .text(`mermaid version ${r}`); + }, 'draw'), + fP = { draw: YUe }, + Ede = fP; + var WUe = { db: {}, renderer: fP, parser: { parse: o(() => {}, 'parse') } }, + Cde = WUe; + var Sde = 'flowchart-elk', + qUe = o( + (t, e = {}) => + /^\s*flowchart-elk/.test(t) || + (/^\s*flowchart|graph/.test(t) && e?.flowchart?.defaultRenderer === 'elk') + ? ((e.layout = 'elk'), !0) + : !1, + 'detector' + ), + XUe = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (uT(), cT)); + return { id: Sde, diagram: t }; + }, 'loader'), + jUe = { id: Sde, detector: qUe, loader: XUe }, + Ade = jUe; + var Jde = 'timeline', + pHe = o((t) => /^\s*timeline/.test(t), 'detector'), + mHe = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (Zde(), Qde)); + return { id: Jde, diagram: t }; + }, 'loader'), + gHe = { id: Jde, detector: pHe, loader: mHe }, + e0e = gHe; + var vge = 'mindmap', + TZe = o((t) => /^\s*mindmap/.test(t), 'detector'), + kZe = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (yge(), gge)); + return { id: vge, diagram: t }; + }, 'loader'), + EZe = { id: vge, detector: TZe, loader: kZe }, + xge = EZe; + var Zge = 'sankey', + WZe = o((t) => /^\s*sankey-beta/.test(t), 'detector'), + qZe = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (Qge(), Kge)); + return { id: Zge, diagram: t }; + }, 'loader'), + XZe = { id: Zge, detector: WZe, loader: qZe }, + Jge = XZe; + var c1e = 'packet', + oJe = o((t) => /^\s*packet-beta/.test(t), 'detector'), + lJe = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (l1e(), o1e)); + return { id: c1e, diagram: t }; + }, 'loader'), + u1e = { id: c1e, detector: oJe, loader: lJe }; + var O1e = 'block', + FJe = o((t) => /^\s*block-beta/.test(t), 'detector'), + zJe = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (I1e(), M1e)); + return { id: O1e, diagram: t }; + }, 'loader'), + GJe = { id: O1e, detector: FJe, loader: zJe }, + P1e = GJe; + var aye = 'architecture', + met = o((t) => /^\s*architecture/.test(t), 'detector'), + get = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (iye(), nye)); + return { id: aye, diagram: t }; + }, 'loader'), + yet = { id: aye, detector: met, loader: get }, + sye = yet; + Hf(); + _t(); + var oye = !1, + k1 = o(() => { + oye || + ((oye = !0), + Jf('error', Cde, (t) => t.toLowerCase().trim() === 'error'), + Jf( + '---', + { + db: { clear: o(() => {}, 'clear') }, + styles: {}, + renderer: { draw: o(() => {}, 'draw') }, + parser: { + parse: o(() => { + throw new Error( + "Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks" + ); + }, 'parse') + }, + init: o(() => null, 'init') + }, + (t) => t.toLowerCase().trimStart().startsWith('---') + ), + Ub( + FX, + ufe, + Ohe, + Rne, + xce, + Lce, + Gce, + Yue, + xhe, + Ade, + tne, + Jre, + xge, + e0e, + Vle, + sde, + rde, + kde, + eue, + Jge, + u1e, + _ue, + P1e, + sye + )); + }, 'addDiagrams'); + ut(); + Hf(); + _t(); + var lye = o(async () => { + V.debug('Loading registered diagrams'); + let e = ( + await Promise.allSettled( + Object.entries(Uf).map(async ([r, { detector: n, loader: i }]) => { + if (i) + try { + cy(r); + } catch { + try { + let { diagram: a, id: s } = await i(); + Jf(s, a, n); + } catch (a) { + throw ( + (V.error(`Failed to load external diagram with key ${r}. Removing from detectors.`), + delete Uf[r], + a) + ); + } + } + }) + ) + ).filter((r) => r.status === 'rejected'); + if (e.length > 0) { + V.error(`Failed to load ${e.length} external diagrams`); + for (let r of e) V.error(r); + throw new Error(`Failed to load ${e.length} external diagrams`); + } + }, 'loadRegisteredDiagrams'); + ut(); + Zt(); + var uC = 'comm', + hC = 'rule', + fC = 'decl'; + var cye = '@import'; + var uye = '@keyframes'; + var hye = '@layer'; + var tF = Math.abs, + bb = String.fromCharCode; + function dC(t) { + return t.trim(); + } + o(dC, 'trim'); + function wb(t, e, r) { + return t.replace(e, r); + } + o(wb, 'replace'); + function fye(t, e, r) { + return t.indexOf(e, r); + } + o(fye, 'indexof'); + function ep(t, e) { + return t.charCodeAt(e) | 0; + } + o(ep, 'charat'); + function Of(t, e, r) { + return t.slice(e, r); + } + o(Of, 'substr'); + function wo(t) { + return t.length; + } + o(wo, 'strlen'); + function dye(t) { + return t.length; + } + o(dye, 'sizeof'); + function E1(t, e) { + return e.push(t), t; + } + o(E1, 'append'); + var pC = 1, + C1 = 1, + pye = 0, + nl = 0, + Si = 0, + A1 = ''; + function mC(t, e, r, n, i, a, s, l) { + return { + value: t, + root: e, + parent: r, + type: n, + props: i, + children: a, + line: pC, + column: C1, + length: s, + return: '', + siblings: l + }; + } + o(mC, 'node'); + function mye() { + return Si; + } + o(mye, 'char'); + function gye() { + return (Si = nl > 0 ? ep(A1, --nl) : 0), C1--, Si === 10 && ((C1 = 1), pC--), Si; + } + o(gye, 'prev'); + function il() { + return (Si = nl < pye ? ep(A1, nl++) : 0), C1++, Si === 10 && ((C1 = 1), pC++), Si; + } + o(il, 'next'); + function th() { + return ep(A1, nl); + } + o(th, 'peek'); + function Tb() { + return nl; + } + o(Tb, 'caret'); + function gC(t, e) { + return Of(A1, t, e); + } + o(gC, 'slice'); + function S1(t) { + switch (t) { + case 0: + case 9: + case 10: + case 13: + case 32: + return 5; + case 33: + case 43: + case 44: + case 47: + case 62: + case 64: + case 126: + case 59: + case 123: + case 125: + return 4; + case 58: + return 3; + case 34: + case 39: + case 40: + case 91: + return 2; + case 41: + case 93: + return 1; + } + return 0; + } + o(S1, 'token'); + function yye(t) { + return (pC = C1 = 1), (pye = wo((A1 = t))), (nl = 0), []; + } + o(yye, 'alloc'); + function vye(t) { + return (A1 = ''), t; + } + o(vye, 'dealloc'); + function yC(t) { + return dC(gC(nl - 1, rF(t === 91 ? t + 2 : t === 40 ? t + 1 : t))); + } + o(yC, 'delimit'); + function xye(t) { + for (; (Si = th()) && Si < 33; ) il(); + return S1(t) > 2 || S1(Si) > 3 ? '' : ' '; + } + o(xye, 'whitespace'); + function bye(t, e) { + for (; --e && il() && !(Si < 48 || Si > 102 || (Si > 57 && Si < 65) || (Si > 70 && Si < 97)); ); + return gC(t, Tb() + (e < 6 && th() == 32 && il() == 32)); + } + o(bye, 'escaping'); + function rF(t) { + for (; il(); ) + switch (Si) { + case t: + return nl; + case 34: + case 39: + t !== 34 && t !== 39 && rF(Si); + break; + case 40: + t === 41 && rF(t); + break; + case 92: + il(); + break; + } + return nl; + } + o(rF, 'delimiter'); + function wye(t, e) { + for (; il() && t + Si !== 57; ) if (t + Si === 84 && th() === 47) break; + return '/*' + gC(e, nl - 1) + '*' + bb(t === 47 ? t : il()); + } + o(wye, 'commenter'); + function Tye(t) { + for (; !S1(th()); ) il(); + return gC(t, nl); + } + o(Tye, 'identifier'); + function Cye(t) { + return vye(vC('', null, null, null, [''], (t = yye(t)), 0, [0], t)); + } + o(Cye, 'compile'); + function vC(t, e, r, n, i, a, s, l, u) { + for ( + var h = 0, + f = 0, + d = s, + p = 0, + m = 0, + g = 0, + y = 1, + v = 1, + x = 1, + b = 0, + w = '', + S = i, + T = a, + E = n, + _ = w; + v; + + ) + switch (((g = b), (b = il()))) { + case 40: + if (g != 108 && ep(_, d - 1) == 58) { + fye((_ += wb(yC(b), '&', '&\f')), '&\f', tF(h ? l[h - 1] : 0)) != -1 && (x = -1); + break; + } + case 34: + case 39: + case 91: + _ += yC(b); + break; + case 9: + case 10: + case 13: + case 32: + _ += xye(g); + break; + case 92: + _ += bye(Tb() - 1, 7); + continue; + case 47: + switch (th()) { + case 42: + case 47: + E1(vet(wye(il(), Tb()), e, r, u), u), + (S1(g || 1) == 5 || S1(th() || 1) == 5) && + wo(_) && + Of(_, -1, void 0) !== ' ' && + (_ += ' '); + break; + default: + _ += '/'; + } + break; + case 123 * y: + l[h++] = wo(_) * x; + case 125 * y: + case 59: + case 0: + switch (b) { + case 0: + case 125: + v = 0; + case 59 + f: + x == -1 && (_ = wb(_, /\f/g, '')), + m > 0 && + (wo(_) - d || (y === 0 && g === 47)) && + E1( + m > 32 + ? Eye(_ + ';', n, r, d - 1, u) + : Eye(wb(_, ' ', '') + ';', n, r, d - 2, u), + u + ); + break; + case 59: + _ += ';'; + default: + if ((E1((E = kye(_, e, r, h, f, i, l, w, (S = []), (T = []), d, a)), a), b === 123)) + if (f === 0) vC(_, e, E, E, S, a, d, l, T); + else + switch (p === 99 && ep(_, 3) === 110 ? 100 : p) { + case 100: + case 108: + case 109: + case 115: + vC( + t, + E, + E, + n && E1(kye(t, E, E, 0, 0, i, l, w, i, (S = []), d, T), T), + i, + T, + d, + l, + n ? S : T + ); + break; + default: + vC(_, E, E, E, [''], T, 0, l, T); + } + } + (h = f = m = 0), (y = x = 1), (w = _ = ''), (d = s); + break; + case 58: + (d = 1 + wo(_)), (m = g); + default: + if (y < 1) { + if (b == 123) --y; + else if (b == 125 && y++ == 0 && gye() == 125) continue; + } + switch (((_ += bb(b)), b * y)) { + case 38: + x = f > 0 ? 1 : ((_ += '\f'), -1); + break; + case 44: + (l[h++] = (wo(_) - 1) * x), (x = 1); + break; + case 64: + th() === 45 && (_ += yC(il())), (p = th()), (f = d = wo((w = _ += Tye(Tb())))), b++; + break; + case 45: + g === 45 && wo(_) == 2 && (y = 0); + } + } + return a; + } + o(vC, 'parse'); + function kye(t, e, r, n, i, a, s, l, u, h, f, d) { + for (var p = i - 1, m = i === 0 ? a : [''], g = dye(m), y = 0, v = 0, x = 0; y < n; ++y) + for (var b = 0, w = Of(t, p + 1, (p = tF((v = s[y])))), S = t; b < g; ++b) + (S = dC(v > 0 ? m[b] + ' ' + w : wb(w, /&\f/g, m[b]))) && (u[x++] = S); + return mC(t, e, r, i === 0 ? hC : l, u, h, f, d); + } + o(kye, 'ruleset'); + function vet(t, e, r, n) { + return mC(t, e, r, uC, bb(mye()), Of(t, 2, -2), 0, n); + } + o(vet, 'comment'); + function Eye(t, e, r, n, i) { + return mC(t, e, r, fC, Of(t, 0, n), Of(t, n + 1, -1), n, i); + } + o(Eye, 'declaration'); + function xC(t, e) { + for (var r = '', n = 0; n < t.length; n++) r += e(t[n], n, t, e) || ''; + return r; + } + o(xC, 'serialize'); + function Sye(t, e, r, n) { + switch (t.type) { + case hye: + if (t.children.length) break; + case cye: + case fC: + return (t.return = t.return || t.value); + case uC: + return ''; + case uye: + return (t.return = t.value + '{' + xC(t.children, n) + '}'); + case hC: + if (!wo((t.value = t.props.join(',')))) return ''; + } + return wo((r = xC(t.children, n))) ? (t.return = t.value + '{' + r + '}') : ''; + } + o(Sye, 'stringify'); + var Sve = Xi(o7(), 1); + Ww(); + HI(); + var xet = 'graphics-document document'; + function Aye(t, e) { + t.attr('role', xet), e !== '' && t.attr('aria-roledescription', e); + } + o(Aye, 'setA11yDiagramInfo'); + function _ye(t, e, r, n) { + if (t.insert !== void 0) { + if (r) { + let i = `chart-desc-${n}`; + t.attr('aria-describedby', i), t.insert('desc', ':first-child').attr('id', i).text(r); + } + if (e) { + let i = `chart-title-${n}`; + t.attr('aria-labelledby', i), t.insert('title', ':first-child').attr('id', i).text(e); + } + } + } + o(_ye, 'addSVGa11yTitleDescription'); + cp(); + qs(); + qs(); + _t(); + Hf(); + GC(); + xr(); + var _1 = class t { + constructor(e, r, n, i, a) { + this.type = e; + this.text = r; + this.db = n; + this.parser = i; + this.renderer = a; + } + static { + o(this, 'Diagram'); + } + static async fromText(e, r = {}) { + let n = Or(), + i = lp(e, n); + e = + SX(e) + + ` +`; + try { + cy(i); + } catch { + let h = tz(i); + if (!h) throw new op(`Diagram ${i} not found.`); + let { id: f, diagram: d } = await h(); + Jf(f, d); + } + let { db: a, parser: s, renderer: l, init: u } = cy(i); + return ( + s.parser && (s.parser.yy = a), + a.clear?.(), + u?.(n), + r.title && a.setDiagramTitle?.(r.title), + await s.parse(e), + new t(i, e, a, s, l) + ); + } + async render(e, r) { + await this.renderer.draw(this.text, e, r, this); + } + getParser() { + return this.parser; + } + getType() { + return this.type; + } + }; + rr(); + var Lye = []; + var Dye = o(() => { + Lye.forEach((t) => { + t(); + }), + (Lye = []); + }, 'attachFunctions'); + ut(); + var Rye = o((t) => t.replace(/^\s*%%(?!{)[^\n]+\n?/gm, '').trimStart(), 'cleanupComments'); + Vb(); + function qye(t) { + return typeof t > 'u' || t === null; + } + o(qye, 'isNothing'); + function bet(t) { + return typeof t == 'object' && t !== null; + } + o(bet, 'isObject'); + function wet(t) { + return Array.isArray(t) ? t : qye(t) ? [] : [t]; + } + o(wet, 'toArray'); + function Tet(t, e) { + var r, n, i, a; + if (e) for (a = Object.keys(e), r = 0, n = a.length; r < n; r += 1) (i = a[r]), (t[i] = e[i]); + return t; + } + o(Tet, 'extend'); + function ket(t, e) { + var r = '', + n; + for (n = 0; n < e; n += 1) r += t; + return r; + } + o(ket, 'repeat'); + function Eet(t) { + return t === 0 && Number.NEGATIVE_INFINITY === 1 / t; + } + o(Eet, 'isNegativeZero'); + var Cet = qye, + Aet = bet, + _et = wet, + Let = ket, + Det = Eet, + Ret = Tet, + Wi = { + isNothing: Cet, + isObject: Aet, + toArray: _et, + repeat: Let, + isNegativeZero: Det, + extend: Ret + }; + function Xye(t, e) { + var r = '', + n = t.reason || '(unknown reason)'; + return t.mark + ? (t.mark.name && (r += 'in "' + t.mark.name + '" '), + (r += '(' + (t.mark.line + 1) + ':' + (t.mark.column + 1) + ')'), + !e && + t.mark.snippet && + (r += + ` + +` + t.mark.snippet), + n + ' ' + r) + : n; + } + o(Xye, 'formatError'); + function Eb(t, e) { + Error.call(this), + (this.name = 'YAMLException'), + (this.reason = t), + (this.mark = e), + (this.message = Xye(this, !1)), + Error.captureStackTrace + ? Error.captureStackTrace(this, this.constructor) + : (this.stack = new Error().stack || ''); + } + o(Eb, 'YAMLException$1'); + Eb.prototype = Object.create(Error.prototype); + Eb.prototype.constructor = Eb; + Eb.prototype.toString = o(function (e) { + return this.name + ': ' + Xye(this, e); + }, 'toString'); + var $s = Eb; + function nF(t, e, r, n, i) { + var a = '', + s = '', + l = Math.floor(i / 2) - 1; + return ( + n - e > l && ((a = ' ... '), (e = n - l + a.length)), + r - n > l && ((s = ' ...'), (r = n + l - s.length)), + { + str: a + t.slice(e, r).replace(/\t/g, '\u2192') + s, + pos: n - e + a.length + } + ); + } + o(nF, 'getLine'); + function iF(t, e) { + return Wi.repeat(' ', e - t.length) + t; + } + o(iF, 'padStart'); + function Net(t, e) { + if (((e = Object.create(e || null)), !t.buffer)) return null; + e.maxLength || (e.maxLength = 79), + typeof e.indent != 'number' && (e.indent = 1), + typeof e.linesBefore != 'number' && (e.linesBefore = 3), + typeof e.linesAfter != 'number' && (e.linesAfter = 2); + for (var r = /\r?\n|\r|\0/g, n = [0], i = [], a, s = -1; (a = r.exec(t.buffer)); ) + i.push(a.index), n.push(a.index + a[0].length), t.position <= a.index && s < 0 && (s = n.length - 2); + s < 0 && (s = n.length - 1); + var l = '', + u, + h, + f = Math.min(t.line + e.linesAfter, i.length).toString().length, + d = e.maxLength - (e.indent + f + 3); + for (u = 1; u <= e.linesBefore && !(s - u < 0); u++) + (h = nF(t.buffer, n[s - u], i[s - u], t.position - (n[s] - n[s - u]), d)), + (l = + Wi.repeat(' ', e.indent) + + iF((t.line - u + 1).toString(), f) + + ' | ' + + h.str + + ` +` + + l); + for ( + h = nF(t.buffer, n[s], i[s], t.position, d), + l += + Wi.repeat(' ', e.indent) + + iF((t.line + 1).toString(), f) + + ' | ' + + h.str + + ` +`, + l += + Wi.repeat('-', e.indent + f + 3 + h.pos) + + `^ +`, + u = 1; + u <= e.linesAfter && !(s + u >= i.length); + u++ + ) + (h = nF(t.buffer, n[s + u], i[s + u], t.position - (n[s] - n[s + u]), d)), + (l += + Wi.repeat(' ', e.indent) + + iF((t.line + u + 1).toString(), f) + + ' | ' + + h.str + + ` +`); + return l.replace(/\n$/, ''); + } + o(Net, 'makeSnippet'); + var Met = Net, + Iet = [ + 'kind', + 'multi', + 'resolve', + 'construct', + 'instanceOf', + 'predicate', + 'represent', + 'representName', + 'defaultStyle', + 'styleAliases' + ], + Oet = ['scalar', 'sequence', 'mapping']; + function Pet(t) { + var e = {}; + return ( + t !== null && + Object.keys(t).forEach(function (r) { + t[r].forEach(function (n) { + e[String(n)] = r; + }); + }), + e + ); + } + o(Pet, 'compileStyleAliases'); + function Bet(t, e) { + if ( + ((e = e || {}), + Object.keys(e).forEach(function (r) { + if (Iet.indexOf(r) === -1) + throw new $s('Unknown option "' + r + '" is met in definition of "' + t + '" YAML type.'); + }), + (this.options = e), + (this.tag = t), + (this.kind = e.kind || null), + (this.resolve = + e.resolve || + function () { + return !0; + }), + (this.construct = + e.construct || + function (r) { + return r; + }), + (this.instanceOf = e.instanceOf || null), + (this.predicate = e.predicate || null), + (this.represent = e.represent || null), + (this.representName = e.representName || null), + (this.defaultStyle = e.defaultStyle || null), + (this.multi = e.multi || !1), + (this.styleAliases = Pet(e.styleAliases || null)), + Oet.indexOf(this.kind) === -1) + ) + throw new $s('Unknown kind "' + this.kind + '" is specified for "' + t + '" YAML type.'); + } + o(Bet, 'Type$1'); + var Va = Bet; + function Nye(t, e) { + var r = []; + return ( + t[e].forEach(function (n) { + var i = r.length; + r.forEach(function (a, s) { + a.tag === n.tag && a.kind === n.kind && a.multi === n.multi && (i = s); + }), + (r[i] = n); + }), + r + ); + } + o(Nye, 'compileList'); + function Fet() { + var t = { + scalar: {}, + sequence: {}, + mapping: {}, + fallback: {}, + multi: { scalar: [], sequence: [], mapping: [], fallback: [] } + }, + e, + r; + function n(i) { + i.multi ? (t.multi[i.kind].push(i), t.multi.fallback.push(i)) : (t[i.kind][i.tag] = t.fallback[i.tag] = i); + } + for (o(n, 'collectType'), e = 0, r = arguments.length; e < r; e += 1) arguments[e].forEach(n); + return t; + } + o(Fet, 'compileMap'); + function sF(t) { + return this.extend(t); + } + o(sF, 'Schema$1'); + sF.prototype.extend = o(function (e) { + var r = [], + n = []; + if (e instanceof Va) n.push(e); + else if (Array.isArray(e)) n = n.concat(e); + else if (e && (Array.isArray(e.implicit) || Array.isArray(e.explicit))) + e.implicit && (r = r.concat(e.implicit)), e.explicit && (n = n.concat(e.explicit)); + else + throw new $s( + 'Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })' + ); + r.forEach(function (a) { + if (!(a instanceof Va)) + throw new $s('Specified list of YAML types (or a single Type object) contains a non-Type object.'); + if (a.loadKind && a.loadKind !== 'scalar') + throw new $s( + 'There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.' + ); + if (a.multi) + throw new $s( + 'There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.' + ); + }), + n.forEach(function (a) { + if (!(a instanceof Va)) + throw new $s('Specified list of YAML types (or a single Type object) contains a non-Type object.'); + }); + var i = Object.create(sF.prototype); + return ( + (i.implicit = (this.implicit || []).concat(r)), + (i.explicit = (this.explicit || []).concat(n)), + (i.compiledImplicit = Nye(i, 'implicit')), + (i.compiledExplicit = Nye(i, 'explicit')), + (i.compiledTypeMap = Fet(i.compiledImplicit, i.compiledExplicit)), + i + ); + }, 'extend'); + var zet = sF, + Get = new Va('tag:yaml.org,2002:str', { + kind: 'scalar', + construct: o(function (t) { + return t !== null ? t : ''; + }, 'construct') + }), + $et = new Va('tag:yaml.org,2002:seq', { + kind: 'sequence', + construct: o(function (t) { + return t !== null ? t : []; + }, 'construct') + }), + Vet = new Va('tag:yaml.org,2002:map', { + kind: 'mapping', + construct: o(function (t) { + return t !== null ? t : {}; + }, 'construct') + }), + Uet = new zet({ explicit: [Get, $et, Vet] }); + function Het(t) { + if (t === null) return !0; + var e = t.length; + return (e === 1 && t === '~') || (e === 4 && (t === 'null' || t === 'Null' || t === 'NULL')); + } + o(Het, 'resolveYamlNull'); + function Yet() { + return null; + } + o(Yet, 'constructYamlNull'); + function Wet(t) { + return t === null; + } + o(Wet, 'isNull'); + var qet = new Va('tag:yaml.org,2002:null', { + kind: 'scalar', + resolve: Het, + construct: Yet, + predicate: Wet, + represent: { + canonical: o(function () { + return '~'; + }, 'canonical'), + lowercase: o(function () { + return 'null'; + }, 'lowercase'), + uppercase: o(function () { + return 'NULL'; + }, 'uppercase'), + camelcase: o(function () { + return 'Null'; + }, 'camelcase'), + empty: o(function () { + return ''; + }, 'empty') + }, + defaultStyle: 'lowercase' + }); + function Xet(t) { + if (t === null) return !1; + var e = t.length; + return ( + (e === 4 && (t === 'true' || t === 'True' || t === 'TRUE')) || + (e === 5 && (t === 'false' || t === 'False' || t === 'FALSE')) + ); + } + o(Xet, 'resolveYamlBoolean'); + function jet(t) { + return t === 'true' || t === 'True' || t === 'TRUE'; + } + o(jet, 'constructYamlBoolean'); + function Ket(t) { + return Object.prototype.toString.call(t) === '[object Boolean]'; + } + o(Ket, 'isBoolean'); + var Qet = new Va('tag:yaml.org,2002:bool', { + kind: 'scalar', + resolve: Xet, + construct: jet, + predicate: Ket, + represent: { + lowercase: o(function (t) { + return t ? 'true' : 'false'; + }, 'lowercase'), + uppercase: o(function (t) { + return t ? 'TRUE' : 'FALSE'; + }, 'uppercase'), + camelcase: o(function (t) { + return t ? 'True' : 'False'; + }, 'camelcase') + }, + defaultStyle: 'lowercase' + }); + function Zet(t) { + return (48 <= t && t <= 57) || (65 <= t && t <= 70) || (97 <= t && t <= 102); + } + o(Zet, 'isHexCode'); + function Jet(t) { + return 48 <= t && t <= 55; + } + o(Jet, 'isOctCode'); + function ett(t) { + return 48 <= t && t <= 57; + } + o(ett, 'isDecCode'); + function ttt(t) { + if (t === null) return !1; + var e = t.length, + r = 0, + n = !1, + i; + if (!e) return !1; + if (((i = t[r]), (i === '-' || i === '+') && (i = t[++r]), i === '0')) { + if (r + 1 === e) return !0; + if (((i = t[++r]), i === 'b')) { + for (r++; r < e; r++) + if (((i = t[r]), i !== '_')) { + if (i !== '0' && i !== '1') return !1; + n = !0; + } + return n && i !== '_'; + } + if (i === 'x') { + for (r++; r < e; r++) + if (((i = t[r]), i !== '_')) { + if (!Zet(t.charCodeAt(r))) return !1; + n = !0; + } + return n && i !== '_'; + } + if (i === 'o') { + for (r++; r < e; r++) + if (((i = t[r]), i !== '_')) { + if (!Jet(t.charCodeAt(r))) return !1; + n = !0; + } + return n && i !== '_'; + } + } + if (i === '_') return !1; + for (; r < e; r++) + if (((i = t[r]), i !== '_')) { + if (!ett(t.charCodeAt(r))) return !1; + n = !0; + } + return !(!n || i === '_'); + } + o(ttt, 'resolveYamlInteger'); + function rtt(t) { + var e = t, + r = 1, + n; + if ( + (e.indexOf('_') !== -1 && (e = e.replace(/_/g, '')), + (n = e[0]), + (n === '-' || n === '+') && (n === '-' && (r = -1), (e = e.slice(1)), (n = e[0])), + e === '0') + ) + return 0; + if (n === '0') { + if (e[1] === 'b') return r * parseInt(e.slice(2), 2); + if (e[1] === 'x') return r * parseInt(e.slice(2), 16); + if (e[1] === 'o') return r * parseInt(e.slice(2), 8); + } + return r * parseInt(e, 10); + } + o(rtt, 'constructYamlInteger'); + function ntt(t) { + return Object.prototype.toString.call(t) === '[object Number]' && t % 1 === 0 && !Wi.isNegativeZero(t); + } + o(ntt, 'isInteger'); + var itt = new Va('tag:yaml.org,2002:int', { + kind: 'scalar', + resolve: ttt, + construct: rtt, + predicate: ntt, + represent: { + binary: o(function (t) { + return t >= 0 ? '0b' + t.toString(2) : '-0b' + t.toString(2).slice(1); + }, 'binary'), + octal: o(function (t) { + return t >= 0 ? '0o' + t.toString(8) : '-0o' + t.toString(8).slice(1); + }, 'octal'), + decimal: o(function (t) { + return t.toString(10); + }, 'decimal'), + hexadecimal: o(function (t) { + return t >= 0 ? '0x' + t.toString(16).toUpperCase() : '-0x' + t.toString(16).toUpperCase().slice(1); + }, 'hexadecimal') + }, + defaultStyle: 'decimal', + styleAliases: { + binary: [2, 'bin'], + octal: [8, 'oct'], + decimal: [10, 'dec'], + hexadecimal: [16, 'hex'] + } + }), + att = new RegExp( + '^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$' + ); + function stt(t) { + return !(t === null || !att.test(t) || t[t.length - 1] === '_'); + } + o(stt, 'resolveYamlFloat'); + function ott(t) { + var e, r; + return ( + (e = t.replace(/_/g, '').toLowerCase()), + (r = e[0] === '-' ? -1 : 1), + '+-'.indexOf(e[0]) >= 0 && (e = e.slice(1)), + e === '.inf' + ? r === 1 + ? Number.POSITIVE_INFINITY + : Number.NEGATIVE_INFINITY + : e === '.nan' + ? NaN + : r * parseFloat(e, 10) + ); + } + o(ott, 'constructYamlFloat'); + var ltt = /^[-+]?[0-9]+e/; + function ctt(t, e) { + var r; + if (isNaN(t)) + switch (e) { + case 'lowercase': + return '.nan'; + case 'uppercase': + return '.NAN'; + case 'camelcase': + return '.NaN'; + } + else if (Number.POSITIVE_INFINITY === t) + switch (e) { + case 'lowercase': + return '.inf'; + case 'uppercase': + return '.INF'; + case 'camelcase': + return '.Inf'; + } + else if (Number.NEGATIVE_INFINITY === t) + switch (e) { + case 'lowercase': + return '-.inf'; + case 'uppercase': + return '-.INF'; + case 'camelcase': + return '-.Inf'; + } + else if (Wi.isNegativeZero(t)) return '-0.0'; + return (r = t.toString(10)), ltt.test(r) ? r.replace('e', '.e') : r; + } + o(ctt, 'representYamlFloat'); + function utt(t) { + return Object.prototype.toString.call(t) === '[object Number]' && (t % 1 !== 0 || Wi.isNegativeZero(t)); + } + o(utt, 'isFloat'); + var htt = new Va('tag:yaml.org,2002:float', { + kind: 'scalar', + resolve: stt, + construct: ott, + predicate: utt, + represent: ctt, + defaultStyle: 'lowercase' + }), + jye = Uet.extend({ implicit: [qet, Qet, itt, htt] }), + ftt = jye, + Kye = new RegExp('^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$'), + Qye = new RegExp( + '^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$' + ); + function dtt(t) { + return t === null ? !1 : Kye.exec(t) !== null || Qye.exec(t) !== null; + } + o(dtt, 'resolveYamlTimestamp'); + function ptt(t) { + var e, + r, + n, + i, + a, + s, + l, + u = 0, + h = null, + f, + d, + p; + if (((e = Kye.exec(t)), e === null && (e = Qye.exec(t)), e === null)) throw new Error('Date resolve error'); + if (((r = +e[1]), (n = +e[2] - 1), (i = +e[3]), !e[4])) return new Date(Date.UTC(r, n, i)); + if (((a = +e[4]), (s = +e[5]), (l = +e[6]), e[7])) { + for (u = e[7].slice(0, 3); u.length < 3; ) u += '0'; + u = +u; + } + return ( + e[9] && ((f = +e[10]), (d = +(e[11] || 0)), (h = (f * 60 + d) * 6e4), e[9] === '-' && (h = -h)), + (p = new Date(Date.UTC(r, n, i, a, s, l, u))), + h && p.setTime(p.getTime() - h), + p + ); + } + o(ptt, 'constructYamlTimestamp'); + function mtt(t) { + return t.toISOString(); + } + o(mtt, 'representYamlTimestamp'); + var gtt = new Va('tag:yaml.org,2002:timestamp', { + kind: 'scalar', + resolve: dtt, + construct: ptt, + instanceOf: Date, + represent: mtt + }); + function ytt(t) { + return t === '<<' || t === null; + } + o(ytt, 'resolveYamlMerge'); + var vtt = new Va('tag:yaml.org,2002:merge', { kind: 'scalar', resolve: ytt }), + hF = `ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`; + function xtt(t) { + if (t === null) return !1; + var e, + r, + n = 0, + i = t.length, + a = hF; + for (r = 0; r < i; r++) + if (((e = a.indexOf(t.charAt(r))), !(e > 64))) { + if (e < 0) return !1; + n += 6; + } + return n % 8 === 0; + } + o(xtt, 'resolveYamlBinary'); + function btt(t) { + var e, + r, + n = t.replace(/[\r\n=]/g, ''), + i = n.length, + a = hF, + s = 0, + l = []; + for (e = 0; e < i; e++) + e % 4 === 0 && e && (l.push((s >> 16) & 255), l.push((s >> 8) & 255), l.push(s & 255)), + (s = (s << 6) | a.indexOf(n.charAt(e))); + return ( + (r = (i % 4) * 6), + r === 0 + ? (l.push((s >> 16) & 255), l.push((s >> 8) & 255), l.push(s & 255)) + : r === 18 + ? (l.push((s >> 10) & 255), l.push((s >> 2) & 255)) + : r === 12 && l.push((s >> 4) & 255), + new Uint8Array(l) + ); + } + o(btt, 'constructYamlBinary'); + function wtt(t) { + var e = '', + r = 0, + n, + i, + a = t.length, + s = hF; + for (n = 0; n < a; n++) + n % 3 === 0 && + n && + ((e += s[(r >> 18) & 63]), (e += s[(r >> 12) & 63]), (e += s[(r >> 6) & 63]), (e += s[r & 63])), + (r = (r << 8) + t[n]); + return ( + (i = a % 3), + i === 0 + ? ((e += s[(r >> 18) & 63]), (e += s[(r >> 12) & 63]), (e += s[(r >> 6) & 63]), (e += s[r & 63])) + : i === 2 + ? ((e += s[(r >> 10) & 63]), (e += s[(r >> 4) & 63]), (e += s[(r << 2) & 63]), (e += s[64])) + : i === 1 && ((e += s[(r >> 2) & 63]), (e += s[(r << 4) & 63]), (e += s[64]), (e += s[64])), + e + ); + } + o(wtt, 'representYamlBinary'); + function Ttt(t) { + return Object.prototype.toString.call(t) === '[object Uint8Array]'; + } + o(Ttt, 'isBinary'); + var ktt = new Va('tag:yaml.org,2002:binary', { + kind: 'scalar', + resolve: xtt, + construct: btt, + predicate: Ttt, + represent: wtt + }), + Ett = Object.prototype.hasOwnProperty, + Ctt = Object.prototype.toString; + function Stt(t) { + if (t === null) return !0; + var e = [], + r, + n, + i, + a, + s, + l = t; + for (r = 0, n = l.length; r < n; r += 1) { + if (((i = l[r]), (s = !1), Ctt.call(i) !== '[object Object]')) return !1; + for (a in i) + if (Ett.call(i, a)) + if (!s) s = !0; + else return !1; + if (!s) return !1; + if (e.indexOf(a) === -1) e.push(a); + else return !1; + } + return !0; + } + o(Stt, 'resolveYamlOmap'); + function Att(t) { + return t !== null ? t : []; + } + o(Att, 'constructYamlOmap'); + var _tt = new Va('tag:yaml.org,2002:omap', { + kind: 'sequence', + resolve: Stt, + construct: Att + }), + Ltt = Object.prototype.toString; + function Dtt(t) { + if (t === null) return !0; + var e, + r, + n, + i, + a, + s = t; + for (a = new Array(s.length), e = 0, r = s.length; e < r; e += 1) { + if (((n = s[e]), Ltt.call(n) !== '[object Object]' || ((i = Object.keys(n)), i.length !== 1))) return !1; + a[e] = [i[0], n[i[0]]]; + } + return !0; + } + o(Dtt, 'resolveYamlPairs'); + function Rtt(t) { + if (t === null) return []; + var e, + r, + n, + i, + a, + s = t; + for (a = new Array(s.length), e = 0, r = s.length; e < r; e += 1) + (n = s[e]), (i = Object.keys(n)), (a[e] = [i[0], n[i[0]]]); + return a; + } + o(Rtt, 'constructYamlPairs'); + var Ntt = new Va('tag:yaml.org,2002:pairs', { + kind: 'sequence', + resolve: Dtt, + construct: Rtt + }), + Mtt = Object.prototype.hasOwnProperty; + function Itt(t) { + if (t === null) return !0; + var e, + r = t; + for (e in r) if (Mtt.call(r, e) && r[e] !== null) return !1; + return !0; + } + o(Itt, 'resolveYamlSet'); + function Ott(t) { + return t !== null ? t : {}; + } + o(Ott, 'constructYamlSet'); + var Ptt = new Va('tag:yaml.org,2002:set', { + kind: 'mapping', + resolve: Itt, + construct: Ott + }), + Zye = ftt.extend({ implicit: [gtt, vtt], explicit: [ktt, _tt, Ntt, Ptt] }), + Bf = Object.prototype.hasOwnProperty, + bC = 1, + Jye = 2, + eve = 3, + wC = 4, + aF = 1, + Btt = 2, + Mye = 3, + Ftt = + /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/, + ztt = /[\x85\u2028\u2029]/, + Gtt = /[,\[\]\{\}]/, + tve = /^(?:!|!!|![a-z\-]+!)$/i, + rve = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i; + function Iye(t) { + return Object.prototype.toString.call(t); + } + o(Iye, '_class'); + function qc(t) { + return t === 10 || t === 13; + } + o(qc, 'is_EOL'); + function rp(t) { + return t === 9 || t === 32; + } + o(rp, 'is_WHITE_SPACE'); + function Vs(t) { + return t === 9 || t === 32 || t === 10 || t === 13; + } + o(Vs, 'is_WS_OR_EOL'); + function D1(t) { + return t === 44 || t === 91 || t === 93 || t === 123 || t === 125; + } + o(D1, 'is_FLOW_INDICATOR'); + function $tt(t) { + var e; + return 48 <= t && t <= 57 ? t - 48 : ((e = t | 32), 97 <= e && e <= 102 ? e - 97 + 10 : -1); + } + o($tt, 'fromHexCode'); + function Vtt(t) { + return t === 120 ? 2 : t === 117 ? 4 : t === 85 ? 8 : 0; + } + o(Vtt, 'escapedHexLen'); + function Utt(t) { + return 48 <= t && t <= 57 ? t - 48 : -1; + } + o(Utt, 'fromDecimalCode'); + function Oye(t) { + return t === 48 + ? '\0' + : t === 97 + ? '\x07' + : t === 98 + ? '\b' + : t === 116 || t === 9 + ? ' ' + : t === 110 + ? ` +` + : t === 118 + ? '\v' + : t === 102 + ? '\f' + : t === 114 + ? '\r' + : t === 101 + ? '\x1B' + : t === 32 + ? ' ' + : t === 34 + ? '"' + : t === 47 + ? '/' + : t === 92 + ? '\\' + : t === 78 + ? '\x85' + : t === 95 + ? '\xA0' + : t === 76 + ? '\u2028' + : t === 80 + ? '\u2029' + : ''; + } + o(Oye, 'simpleEscapeSequence'); + function Htt(t) { + return t <= 65535 + ? String.fromCharCode(t) + : String.fromCharCode(((t - 65536) >> 10) + 55296, ((t - 65536) & 1023) + 56320); + } + o(Htt, 'charFromCodepoint'); + var nve = new Array(256), + ive = new Array(256); + for (tp = 0; tp < 256; tp++) (nve[tp] = Oye(tp) ? 1 : 0), (ive[tp] = Oye(tp)); + var tp; + function Ytt(t, e) { + (this.input = t), + (this.filename = e.filename || null), + (this.schema = e.schema || Zye), + (this.onWarning = e.onWarning || null), + (this.legacy = e.legacy || !1), + (this.json = e.json || !1), + (this.listener = e.listener || null), + (this.implicitTypes = this.schema.compiledImplicit), + (this.typeMap = this.schema.compiledTypeMap), + (this.length = t.length), + (this.position = 0), + (this.line = 0), + (this.lineStart = 0), + (this.lineIndent = 0), + (this.firstTabInLine = -1), + (this.documents = []); + } + o(Ytt, 'State$1'); + function ave(t, e) { + var r = { + name: t.filename, + buffer: t.input.slice(0, -1), + position: t.position, + line: t.line, + column: t.position - t.lineStart + }; + return (r.snippet = Met(r)), new $s(e, r); + } + o(ave, 'generateError'); + function Gt(t, e) { + throw ave(t, e); + } + o(Gt, 'throwError'); + function TC(t, e) { + t.onWarning && t.onWarning.call(null, ave(t, e)); + } + o(TC, 'throwWarning'); + var Pye = { + YAML: o(function (e, r, n) { + var i, a, s; + e.version !== null && Gt(e, 'duplication of %YAML directive'), + n.length !== 1 && Gt(e, 'YAML directive accepts exactly one argument'), + (i = /^([0-9]+)\.([0-9]+)$/.exec(n[0])), + i === null && Gt(e, 'ill-formed argument of the YAML directive'), + (a = parseInt(i[1], 10)), + (s = parseInt(i[2], 10)), + a !== 1 && Gt(e, 'unacceptable YAML version of the document'), + (e.version = n[0]), + (e.checkLineBreaks = s < 2), + s !== 1 && s !== 2 && TC(e, 'unsupported YAML version of the document'); + }, 'handleYamlDirective'), + TAG: o(function (e, r, n) { + var i, a; + n.length !== 2 && Gt(e, 'TAG directive accepts exactly two arguments'), + (i = n[0]), + (a = n[1]), + tve.test(i) || Gt(e, 'ill-formed tag handle (first argument) of the TAG directive'), + Bf.call(e.tagMap, i) && Gt(e, 'there is a previously declared suffix for "' + i + '" tag handle'), + rve.test(a) || Gt(e, 'ill-formed tag prefix (second argument) of the TAG directive'); + try { + a = decodeURIComponent(a); + } catch { + Gt(e, 'tag prefix is malformed: ' + a); + } + e.tagMap[i] = a; + }, 'handleTagDirective') + }; + function Pf(t, e, r, n) { + var i, a, s, l; + if (e < r) { + if (((l = t.input.slice(e, r)), n)) + for (i = 0, a = l.length; i < a; i += 1) + (s = l.charCodeAt(i)), + s === 9 || (32 <= s && s <= 1114111) || Gt(t, 'expected valid JSON character'); + else Ftt.test(l) && Gt(t, 'the stream contains non-printable characters'); + t.result += l; + } + } + o(Pf, 'captureSegment'); + function Bye(t, e, r, n) { + var i, a, s, l; + for ( + Wi.isObject(r) || Gt(t, 'cannot merge mappings; the provided source object is unacceptable'), + i = Object.keys(r), + s = 0, + l = i.length; + s < l; + s += 1 + ) + (a = i[s]), Bf.call(e, a) || ((e[a] = r[a]), (n[a] = !0)); + } + o(Bye, 'mergeMappings'); + function R1(t, e, r, n, i, a, s, l, u) { + var h, f; + if (Array.isArray(i)) + for (i = Array.prototype.slice.call(i), h = 0, f = i.length; h < f; h += 1) + Array.isArray(i[h]) && Gt(t, 'nested arrays are not supported inside keys'), + typeof i == 'object' && Iye(i[h]) === '[object Object]' && (i[h] = '[object Object]'); + if ( + (typeof i == 'object' && Iye(i) === '[object Object]' && (i = '[object Object]'), + (i = String(i)), + e === null && (e = {}), + n === 'tag:yaml.org,2002:merge') + ) + if (Array.isArray(a)) for (h = 0, f = a.length; h < f; h += 1) Bye(t, e, a[h], r); + else Bye(t, e, a, r); + else + !t.json && + !Bf.call(r, i) && + Bf.call(e, i) && + ((t.line = s || t.line), + (t.lineStart = l || t.lineStart), + (t.position = u || t.position), + Gt(t, 'duplicated mapping key')), + i === '__proto__' + ? Object.defineProperty(e, i, { + configurable: !0, + enumerable: !0, + writable: !0, + value: a + }) + : (e[i] = a), + delete r[i]; + return e; + } + o(R1, 'storeMappingPair'); + function fF(t) { + var e; + (e = t.input.charCodeAt(t.position)), + e === 10 + ? t.position++ + : e === 13 + ? (t.position++, t.input.charCodeAt(t.position) === 10 && t.position++) + : Gt(t, 'a line break is expected'), + (t.line += 1), + (t.lineStart = t.position), + (t.firstTabInLine = -1); + } + o(fF, 'readLineBreak'); + function Ai(t, e, r) { + for (var n = 0, i = t.input.charCodeAt(t.position); i !== 0; ) { + for (; rp(i); ) + i === 9 && t.firstTabInLine === -1 && (t.firstTabInLine = t.position), + (i = t.input.charCodeAt(++t.position)); + if (e && i === 35) + do i = t.input.charCodeAt(++t.position); + while (i !== 10 && i !== 13 && i !== 0); + if (qc(i)) + for (fF(t), i = t.input.charCodeAt(t.position), n++, t.lineIndent = 0; i === 32; ) + t.lineIndent++, (i = t.input.charCodeAt(++t.position)); + else break; + } + return r !== -1 && n !== 0 && t.lineIndent < r && TC(t, 'deficient indentation'), n; + } + o(Ai, 'skipSeparationSpace'); + function CC(t) { + var e = t.position, + r; + return ( + (r = t.input.charCodeAt(e)), + !!( + (r === 45 || r === 46) && + r === t.input.charCodeAt(e + 1) && + r === t.input.charCodeAt(e + 2) && + ((e += 3), (r = t.input.charCodeAt(e)), r === 0 || Vs(r)) + ) + ); + } + o(CC, 'testDocumentSeparator'); + function dF(t, e) { + e === 1 + ? (t.result += ' ') + : e > 1 && + (t.result += Wi.repeat( + ` +`, + e - 1 + )); + } + o(dF, 'writeFoldedLines'); + function Wtt(t, e, r) { + var n, + i, + a, + s, + l, + u, + h, + f, + d = t.kind, + p = t.result, + m; + if ( + ((m = t.input.charCodeAt(t.position)), + Vs(m) || + D1(m) || + m === 35 || + m === 38 || + m === 42 || + m === 33 || + m === 124 || + m === 62 || + m === 39 || + m === 34 || + m === 37 || + m === 64 || + m === 96 || + ((m === 63 || m === 45) && ((i = t.input.charCodeAt(t.position + 1)), Vs(i) || (r && D1(i))))) + ) + return !1; + for (t.kind = 'scalar', t.result = '', a = s = t.position, l = !1; m !== 0; ) { + if (m === 58) { + if (((i = t.input.charCodeAt(t.position + 1)), Vs(i) || (r && D1(i)))) break; + } else if (m === 35) { + if (((n = t.input.charCodeAt(t.position - 1)), Vs(n))) break; + } else { + if ((t.position === t.lineStart && CC(t)) || (r && D1(m))) break; + if (qc(m)) + if (((u = t.line), (h = t.lineStart), (f = t.lineIndent), Ai(t, !1, -1), t.lineIndent >= e)) { + (l = !0), (m = t.input.charCodeAt(t.position)); + continue; + } else { + (t.position = s), (t.line = u), (t.lineStart = h), (t.lineIndent = f); + break; + } + } + l && (Pf(t, a, s, !1), dF(t, t.line - u), (a = s = t.position), (l = !1)), + rp(m) || (s = t.position + 1), + (m = t.input.charCodeAt(++t.position)); + } + return Pf(t, a, s, !1), t.result ? !0 : ((t.kind = d), (t.result = p), !1); + } + o(Wtt, 'readPlainScalar'); + function qtt(t, e) { + var r, n, i; + if (((r = t.input.charCodeAt(t.position)), r !== 39)) return !1; + for ( + t.kind = 'scalar', t.result = '', t.position++, n = i = t.position; + (r = t.input.charCodeAt(t.position)) !== 0; + + ) + if (r === 39) + if ((Pf(t, n, t.position, !0), (r = t.input.charCodeAt(++t.position)), r === 39)) + (n = t.position), t.position++, (i = t.position); + else return !0; + else + qc(r) + ? (Pf(t, n, i, !0), dF(t, Ai(t, !1, e)), (n = i = t.position)) + : t.position === t.lineStart && CC(t) + ? Gt(t, 'unexpected end of the document within a single quoted scalar') + : (t.position++, (i = t.position)); + Gt(t, 'unexpected end of the stream within a single quoted scalar'); + } + o(qtt, 'readSingleQuotedScalar'); + function Xtt(t, e) { + var r, n, i, a, s, l; + if (((l = t.input.charCodeAt(t.position)), l !== 34)) return !1; + for ( + t.kind = 'scalar', t.result = '', t.position++, r = n = t.position; + (l = t.input.charCodeAt(t.position)) !== 0; + + ) { + if (l === 34) return Pf(t, r, t.position, !0), t.position++, !0; + if (l === 92) { + if ((Pf(t, r, t.position, !0), (l = t.input.charCodeAt(++t.position)), qc(l))) Ai(t, !1, e); + else if (l < 256 && nve[l]) (t.result += ive[l]), t.position++; + else if ((s = Vtt(l)) > 0) { + for (i = s, a = 0; i > 0; i--) + (l = t.input.charCodeAt(++t.position)), + (s = $tt(l)) >= 0 ? (a = (a << 4) + s) : Gt(t, 'expected hexadecimal character'); + (t.result += Htt(a)), t.position++; + } else Gt(t, 'unknown escape sequence'); + r = n = t.position; + } else + qc(l) + ? (Pf(t, r, n, !0), dF(t, Ai(t, !1, e)), (r = n = t.position)) + : t.position === t.lineStart && CC(t) + ? Gt(t, 'unexpected end of the document within a double quoted scalar') + : (t.position++, (n = t.position)); + } + Gt(t, 'unexpected end of the stream within a double quoted scalar'); + } + o(Xtt, 'readDoubleQuotedScalar'); + function jtt(t, e) { + var r = !0, + n, + i, + a, + s = t.tag, + l, + u = t.anchor, + h, + f, + d, + p, + m, + g = Object.create(null), + y, + v, + x, + b; + if (((b = t.input.charCodeAt(t.position)), b === 91)) (f = 93), (m = !1), (l = []); + else if (b === 123) (f = 125), (m = !0), (l = {}); + else return !1; + for (t.anchor !== null && (t.anchorMap[t.anchor] = l), b = t.input.charCodeAt(++t.position); b !== 0; ) { + if ((Ai(t, !0, e), (b = t.input.charCodeAt(t.position)), b === f)) + return ( + t.position++, (t.tag = s), (t.anchor = u), (t.kind = m ? 'mapping' : 'sequence'), (t.result = l), !0 + ); + r + ? b === 44 && Gt(t, "expected the node content, but found ','") + : Gt(t, 'missed comma between flow collection entries'), + (v = y = x = null), + (d = p = !1), + b === 63 && + ((h = t.input.charCodeAt(t.position + 1)), Vs(h) && ((d = p = !0), t.position++, Ai(t, !0, e))), + (n = t.line), + (i = t.lineStart), + (a = t.position), + N1(t, e, bC, !1, !0), + (v = t.tag), + (y = t.result), + Ai(t, !0, e), + (b = t.input.charCodeAt(t.position)), + (p || t.line === n) && + b === 58 && + ((d = !0), + (b = t.input.charCodeAt(++t.position)), + Ai(t, !0, e), + N1(t, e, bC, !1, !0), + (x = t.result)), + m ? R1(t, l, g, v, y, x, n, i, a) : d ? l.push(R1(t, null, g, v, y, x, n, i, a)) : l.push(y), + Ai(t, !0, e), + (b = t.input.charCodeAt(t.position)), + b === 44 ? ((r = !0), (b = t.input.charCodeAt(++t.position))) : (r = !1); + } + Gt(t, 'unexpected end of the stream within a flow collection'); + } + o(jtt, 'readFlowCollection'); + function Ktt(t, e) { + var r, + n, + i = aF, + a = !1, + s = !1, + l = e, + u = 0, + h = !1, + f, + d; + if (((d = t.input.charCodeAt(t.position)), d === 124)) n = !1; + else if (d === 62) n = !0; + else return !1; + for (t.kind = 'scalar', t.result = ''; d !== 0; ) + if (((d = t.input.charCodeAt(++t.position)), d === 43 || d === 45)) + aF === i ? (i = d === 43 ? Mye : Btt) : Gt(t, 'repeat of a chomping mode identifier'); + else if ((f = Utt(d)) >= 0) + f === 0 + ? Gt(t, 'bad explicit indentation width of a block scalar; it cannot be less than one') + : s + ? Gt(t, 'repeat of an indentation width identifier') + : ((l = e + f - 1), (s = !0)); + else break; + if (rp(d)) { + do d = t.input.charCodeAt(++t.position); + while (rp(d)); + if (d === 35) + do d = t.input.charCodeAt(++t.position); + while (!qc(d) && d !== 0); + } + for (; d !== 0; ) { + for (fF(t), t.lineIndent = 0, d = t.input.charCodeAt(t.position); (!s || t.lineIndent < l) && d === 32; ) + t.lineIndent++, (d = t.input.charCodeAt(++t.position)); + if ((!s && t.lineIndent > l && (l = t.lineIndent), qc(d))) { + u++; + continue; + } + if (t.lineIndent < l) { + i === Mye + ? (t.result += Wi.repeat( + ` +`, + a ? 1 + u : u + )) + : i === aF && + a && + (t.result += ` +`); + break; + } + for ( + n + ? rp(d) + ? ((h = !0), + (t.result += Wi.repeat( + ` +`, + a ? 1 + u : u + ))) + : h + ? ((h = !1), + (t.result += Wi.repeat( + ` +`, + u + 1 + ))) + : u === 0 + ? a && (t.result += ' ') + : (t.result += Wi.repeat( + ` +`, + u + )) + : (t.result += Wi.repeat( + ` +`, + a ? 1 + u : u + )), + a = !0, + s = !0, + u = 0, + r = t.position; + !qc(d) && d !== 0; + + ) + d = t.input.charCodeAt(++t.position); + Pf(t, r, t.position, !1); + } + return !0; + } + o(Ktt, 'readBlockScalar'); + function Fye(t, e) { + var r, + n = t.tag, + i = t.anchor, + a = [], + s, + l = !1, + u; + if (t.firstTabInLine !== -1) return !1; + for ( + t.anchor !== null && (t.anchorMap[t.anchor] = a), u = t.input.charCodeAt(t.position); + u !== 0 && + (t.firstTabInLine !== -1 && + ((t.position = t.firstTabInLine), Gt(t, 'tab characters must not be used in indentation')), + !(u !== 45 || ((s = t.input.charCodeAt(t.position + 1)), !Vs(s)))); + + ) { + if (((l = !0), t.position++, Ai(t, !0, -1) && t.lineIndent <= e)) { + a.push(null), (u = t.input.charCodeAt(t.position)); + continue; + } + if ( + ((r = t.line), + N1(t, e, eve, !1, !0), + a.push(t.result), + Ai(t, !0, -1), + (u = t.input.charCodeAt(t.position)), + (t.line === r || t.lineIndent > e) && u !== 0) + ) + Gt(t, 'bad indentation of a sequence entry'); + else if (t.lineIndent < e) break; + } + return l ? ((t.tag = n), (t.anchor = i), (t.kind = 'sequence'), (t.result = a), !0) : !1; + } + o(Fye, 'readBlockSequence'); + function Qtt(t, e, r) { + var n, + i, + a, + s, + l, + u, + h = t.tag, + f = t.anchor, + d = {}, + p = Object.create(null), + m = null, + g = null, + y = null, + v = !1, + x = !1, + b; + if (t.firstTabInLine !== -1) return !1; + for (t.anchor !== null && (t.anchorMap[t.anchor] = d), b = t.input.charCodeAt(t.position); b !== 0; ) { + if ( + (!v && + t.firstTabInLine !== -1 && + ((t.position = t.firstTabInLine), Gt(t, 'tab characters must not be used in indentation')), + (n = t.input.charCodeAt(t.position + 1)), + (a = t.line), + (b === 63 || b === 58) && Vs(n)) + ) + b === 63 + ? (v && (R1(t, d, p, m, g, null, s, l, u), (m = g = y = null)), (x = !0), (v = !0), (i = !0)) + : v + ? ((v = !1), (i = !0)) + : Gt( + t, + 'incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line' + ), + (t.position += 1), + (b = n); + else { + if (((s = t.line), (l = t.lineStart), (u = t.position), !N1(t, r, Jye, !1, !0))) break; + if (t.line === a) { + for (b = t.input.charCodeAt(t.position); rp(b); ) b = t.input.charCodeAt(++t.position); + if (b === 58) + (b = t.input.charCodeAt(++t.position)), + Vs(b) || + Gt( + t, + 'a whitespace character is expected after the key-value separator within a block mapping' + ), + v && (R1(t, d, p, m, g, null, s, l, u), (m = g = y = null)), + (x = !0), + (v = !1), + (i = !1), + (m = t.tag), + (g = t.result); + else if (x) Gt(t, 'can not read an implicit mapping pair; a colon is missed'); + else return (t.tag = h), (t.anchor = f), !0; + } else if (x) Gt(t, 'can not read a block mapping entry; a multiline key may not be an implicit key'); + else return (t.tag = h), (t.anchor = f), !0; + } + if ( + ((t.line === a || t.lineIndent > e) && + (v && ((s = t.line), (l = t.lineStart), (u = t.position)), + N1(t, e, wC, !0, i) && (v ? (g = t.result) : (y = t.result)), + v || (R1(t, d, p, m, g, y, s, l, u), (m = g = y = null)), + Ai(t, !0, -1), + (b = t.input.charCodeAt(t.position))), + (t.line === a || t.lineIndent > e) && b !== 0) + ) + Gt(t, 'bad indentation of a mapping entry'); + else if (t.lineIndent < e) break; + } + return ( + v && R1(t, d, p, m, g, null, s, l, u), + x && ((t.tag = h), (t.anchor = f), (t.kind = 'mapping'), (t.result = d)), + x + ); + } + o(Qtt, 'readBlockMapping'); + function Ztt(t) { + var e, + r = !1, + n = !1, + i, + a, + s; + if (((s = t.input.charCodeAt(t.position)), s !== 33)) return !1; + if ( + (t.tag !== null && Gt(t, 'duplication of a tag property'), + (s = t.input.charCodeAt(++t.position)), + s === 60 + ? ((r = !0), (s = t.input.charCodeAt(++t.position))) + : s === 33 + ? ((n = !0), (i = '!!'), (s = t.input.charCodeAt(++t.position))) + : (i = '!'), + (e = t.position), + r) + ) { + do s = t.input.charCodeAt(++t.position); + while (s !== 0 && s !== 62); + t.position < t.length + ? ((a = t.input.slice(e, t.position)), (s = t.input.charCodeAt(++t.position))) + : Gt(t, 'unexpected end of the stream within a verbatim tag'); + } else { + for (; s !== 0 && !Vs(s); ) + s === 33 && + (n + ? Gt(t, 'tag suffix cannot contain exclamation marks') + : ((i = t.input.slice(e - 1, t.position + 1)), + tve.test(i) || Gt(t, 'named tag handle cannot contain such characters'), + (n = !0), + (e = t.position + 1))), + (s = t.input.charCodeAt(++t.position)); + (a = t.input.slice(e, t.position)), + Gtt.test(a) && Gt(t, 'tag suffix cannot contain flow indicator characters'); + } + a && !rve.test(a) && Gt(t, 'tag name cannot contain such characters: ' + a); + try { + a = decodeURIComponent(a); + } catch { + Gt(t, 'tag name is malformed: ' + a); + } + return ( + r + ? (t.tag = a) + : Bf.call(t.tagMap, i) + ? (t.tag = t.tagMap[i] + a) + : i === '!' + ? (t.tag = '!' + a) + : i === '!!' + ? (t.tag = 'tag:yaml.org,2002:' + a) + : Gt(t, 'undeclared tag handle "' + i + '"'), + !0 + ); + } + o(Ztt, 'readTagProperty'); + function Jtt(t) { + var e, r; + if (((r = t.input.charCodeAt(t.position)), r !== 38)) return !1; + for ( + t.anchor !== null && Gt(t, 'duplication of an anchor property'), + r = t.input.charCodeAt(++t.position), + e = t.position; + r !== 0 && !Vs(r) && !D1(r); + + ) + r = t.input.charCodeAt(++t.position); + return ( + t.position === e && Gt(t, 'name of an anchor node must contain at least one character'), + (t.anchor = t.input.slice(e, t.position)), + !0 + ); + } + o(Jtt, 'readAnchorProperty'); + function ert(t) { + var e, r, n; + if (((n = t.input.charCodeAt(t.position)), n !== 42)) return !1; + for (n = t.input.charCodeAt(++t.position), e = t.position; n !== 0 && !Vs(n) && !D1(n); ) + n = t.input.charCodeAt(++t.position); + return ( + t.position === e && Gt(t, 'name of an alias node must contain at least one character'), + (r = t.input.slice(e, t.position)), + Bf.call(t.anchorMap, r) || Gt(t, 'unidentified alias "' + r + '"'), + (t.result = t.anchorMap[r]), + Ai(t, !0, -1), + !0 + ); + } + o(ert, 'readAlias'); + function N1(t, e, r, n, i) { + var a, + s, + l, + u = 1, + h = !1, + f = !1, + d, + p, + m, + g, + y, + v; + if ( + (t.listener !== null && t.listener('open', t), + (t.tag = null), + (t.anchor = null), + (t.kind = null), + (t.result = null), + (a = s = l = wC === r || eve === r), + n && + Ai(t, !0, -1) && + ((h = !0), t.lineIndent > e ? (u = 1) : t.lineIndent === e ? (u = 0) : t.lineIndent < e && (u = -1)), + u === 1) + ) + for (; Ztt(t) || Jtt(t); ) + Ai(t, !0, -1) + ? ((h = !0), + (l = a), + t.lineIndent > e ? (u = 1) : t.lineIndent === e ? (u = 0) : t.lineIndent < e && (u = -1)) + : (l = !1); + if ( + (l && (l = h || i), + (u === 1 || wC === r) && + (bC === r || Jye === r ? (y = e) : (y = e + 1), + (v = t.position - t.lineStart), + u === 1 + ? (l && (Fye(t, v) || Qtt(t, v, y))) || jtt(t, y) + ? (f = !0) + : ((s && Ktt(t, y)) || qtt(t, y) || Xtt(t, y) + ? (f = !0) + : ert(t) + ? ((f = !0), + (t.tag !== null || t.anchor !== null) && + Gt(t, 'alias node should not have any properties')) + : Wtt(t, y, bC === r) && ((f = !0), t.tag === null && (t.tag = '?')), + t.anchor !== null && (t.anchorMap[t.anchor] = t.result)) + : u === 0 && (f = l && Fye(t, v))), + t.tag === null) + ) + t.anchor !== null && (t.anchorMap[t.anchor] = t.result); + else if (t.tag === '?') { + for ( + t.result !== null && + t.kind !== 'scalar' && + Gt(t, 'unacceptable node kind for ! tag; it should be "scalar", not "' + t.kind + '"'), + d = 0, + p = t.implicitTypes.length; + d < p; + d += 1 + ) + if (((g = t.implicitTypes[d]), g.resolve(t.result))) { + (t.result = g.construct(t.result)), + (t.tag = g.tag), + t.anchor !== null && (t.anchorMap[t.anchor] = t.result); + break; + } + } else if (t.tag !== '!') { + if (Bf.call(t.typeMap[t.kind || 'fallback'], t.tag)) g = t.typeMap[t.kind || 'fallback'][t.tag]; + else + for (g = null, m = t.typeMap.multi[t.kind || 'fallback'], d = 0, p = m.length; d < p; d += 1) + if (t.tag.slice(0, m[d].tag.length) === m[d].tag) { + g = m[d]; + break; + } + g || Gt(t, 'unknown tag !<' + t.tag + '>'), + t.result !== null && + g.kind !== t.kind && + Gt( + t, + 'unacceptable node kind for !<' + + t.tag + + '> tag; it should be "' + + g.kind + + '", not "' + + t.kind + + '"' + ), + g.resolve(t.result, t.tag) + ? ((t.result = g.construct(t.result, t.tag)), + t.anchor !== null && (t.anchorMap[t.anchor] = t.result)) + : Gt(t, 'cannot resolve a node with !<' + t.tag + '> explicit tag'); + } + return t.listener !== null && t.listener('close', t), t.tag !== null || t.anchor !== null || f; + } + o(N1, 'composeNode'); + function trt(t) { + var e = t.position, + r, + n, + i, + a = !1, + s; + for ( + t.version = null, + t.checkLineBreaks = t.legacy, + t.tagMap = Object.create(null), + t.anchorMap = Object.create(null); + (s = t.input.charCodeAt(t.position)) !== 0 && + (Ai(t, !0, -1), (s = t.input.charCodeAt(t.position)), !(t.lineIndent > 0 || s !== 37)); + + ) { + for (a = !0, s = t.input.charCodeAt(++t.position), r = t.position; s !== 0 && !Vs(s); ) + s = t.input.charCodeAt(++t.position); + for ( + n = t.input.slice(r, t.position), + i = [], + n.length < 1 && Gt(t, 'directive name must not be less than one character in length'); + s !== 0; + + ) { + for (; rp(s); ) s = t.input.charCodeAt(++t.position); + if (s === 35) { + do s = t.input.charCodeAt(++t.position); + while (s !== 0 && !qc(s)); + break; + } + if (qc(s)) break; + for (r = t.position; s !== 0 && !Vs(s); ) s = t.input.charCodeAt(++t.position); + i.push(t.input.slice(r, t.position)); + } + s !== 0 && fF(t), Bf.call(Pye, n) ? Pye[n](t, n, i) : TC(t, 'unknown document directive "' + n + '"'); + } + if ( + (Ai(t, !0, -1), + t.lineIndent === 0 && + t.input.charCodeAt(t.position) === 45 && + t.input.charCodeAt(t.position + 1) === 45 && + t.input.charCodeAt(t.position + 2) === 45 + ? ((t.position += 3), Ai(t, !0, -1)) + : a && Gt(t, 'directives end mark is expected'), + N1(t, t.lineIndent - 1, wC, !1, !0), + Ai(t, !0, -1), + t.checkLineBreaks && + ztt.test(t.input.slice(e, t.position)) && + TC(t, 'non-ASCII line breaks are interpreted as content'), + t.documents.push(t.result), + t.position === t.lineStart && CC(t)) + ) { + t.input.charCodeAt(t.position) === 46 && ((t.position += 3), Ai(t, !0, -1)); + return; + } + if (t.position < t.length - 1) Gt(t, 'end of the stream or a document separator is expected'); + else return; + } + o(trt, 'readDocument'); + function sve(t, e) { + (t = String(t)), + (e = e || {}), + t.length !== 0 && + (t.charCodeAt(t.length - 1) !== 10 && + t.charCodeAt(t.length - 1) !== 13 && + (t += ` +`), + t.charCodeAt(0) === 65279 && (t = t.slice(1))); + var r = new Ytt(t, e), + n = t.indexOf('\0'); + for ( + n !== -1 && ((r.position = n), Gt(r, 'null byte is not allowed in input')), r.input += '\0'; + r.input.charCodeAt(r.position) === 32; + + ) + (r.lineIndent += 1), (r.position += 1); + for (; r.position < r.length - 1; ) trt(r); + return r.documents; + } + o(sve, 'loadDocuments'); + function rrt(t, e, r) { + e !== null && typeof e == 'object' && typeof r > 'u' && ((r = e), (e = null)); + var n = sve(t, r); + if (typeof e != 'function') return n; + for (var i = 0, a = n.length; i < a; i += 1) e(n[i]); + } + o(rrt, 'loadAll$1'); + function nrt(t, e) { + var r = sve(t, e); + if (r.length !== 0) { + if (r.length === 1) return r[0]; + throw new $s('expected a single document in the stream, but found more'); + } + } + o(nrt, 'load$1'); + var irt = rrt, + art = nrt, + ove = { loadAll: irt, load: art }, + lve = Object.prototype.toString, + cve = Object.prototype.hasOwnProperty, + pF = 65279, + srt = 9, + Cb = 10, + ort = 13, + lrt = 32, + crt = 33, + urt = 34, + oF = 35, + hrt = 37, + frt = 38, + drt = 39, + prt = 42, + uve = 44, + mrt = 45, + kC = 58, + grt = 61, + yrt = 62, + vrt = 63, + xrt = 64, + hve = 91, + fve = 93, + brt = 96, + dve = 123, + wrt = 124, + pve = 125, + Ua = {}; + Ua[0] = '\\0'; + Ua[7] = '\\a'; + Ua[8] = '\\b'; + Ua[9] = '\\t'; + Ua[10] = '\\n'; + Ua[11] = '\\v'; + Ua[12] = '\\f'; + Ua[13] = '\\r'; + Ua[27] = '\\e'; + Ua[34] = '\\"'; + Ua[92] = '\\\\'; + Ua[133] = '\\N'; + Ua[160] = '\\_'; + Ua[8232] = '\\L'; + Ua[8233] = '\\P'; + var Trt = ['y', 'Y', 'yes', 'Yes', 'YES', 'on', 'On', 'ON', 'n', 'N', 'no', 'No', 'NO', 'off', 'Off', 'OFF'], + krt = /^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/; + function Ert(t, e) { + var r, n, i, a, s, l, u; + if (e === null) return {}; + for (r = {}, n = Object.keys(e), i = 0, a = n.length; i < a; i += 1) + (s = n[i]), + (l = String(e[s])), + s.slice(0, 2) === '!!' && (s = 'tag:yaml.org,2002:' + s.slice(2)), + (u = t.compiledTypeMap.fallback[s]), + u && cve.call(u.styleAliases, l) && (l = u.styleAliases[l]), + (r[s] = l); + return r; + } + o(Ert, 'compileStyleMap'); + function Crt(t) { + var e, r, n; + if (((e = t.toString(16).toUpperCase()), t <= 255)) (r = 'x'), (n = 2); + else if (t <= 65535) (r = 'u'), (n = 4); + else if (t <= 4294967295) (r = 'U'), (n = 8); + else throw new $s('code point within a string may not be greater than 0xFFFFFFFF'); + return '\\' + r + Wi.repeat('0', n - e.length) + e; + } + o(Crt, 'encodeHex'); + var Srt = 1, + Sb = 2; + function Art(t) { + (this.schema = t.schema || Zye), + (this.indent = Math.max(1, t.indent || 2)), + (this.noArrayIndent = t.noArrayIndent || !1), + (this.skipInvalid = t.skipInvalid || !1), + (this.flowLevel = Wi.isNothing(t.flowLevel) ? -1 : t.flowLevel), + (this.styleMap = Ert(this.schema, t.styles || null)), + (this.sortKeys = t.sortKeys || !1), + (this.lineWidth = t.lineWidth || 80), + (this.noRefs = t.noRefs || !1), + (this.noCompatMode = t.noCompatMode || !1), + (this.condenseFlow = t.condenseFlow || !1), + (this.quotingType = t.quotingType === '"' ? Sb : Srt), + (this.forceQuotes = t.forceQuotes || !1), + (this.replacer = typeof t.replacer == 'function' ? t.replacer : null), + (this.implicitTypes = this.schema.compiledImplicit), + (this.explicitTypes = this.schema.compiledExplicit), + (this.tag = null), + (this.result = ''), + (this.duplicates = []), + (this.usedDuplicates = null); + } + o(Art, 'State'); + function zye(t, e) { + for (var r = Wi.repeat(' ', e), n = 0, i = -1, a = '', s, l = t.length; n < l; ) + (i = t.indexOf( + ` +`, + n + )), + i === -1 ? ((s = t.slice(n)), (n = l)) : ((s = t.slice(n, i + 1)), (n = i + 1)), + s.length && + s !== + ` +` && + (a += r), + (a += s); + return a; + } + o(zye, 'indentString'); + function lF(t, e) { + return ( + ` +` + Wi.repeat(' ', t.indent * e) + ); + } + o(lF, 'generateNextLine'); + function _rt(t, e) { + var r, n, i; + for (r = 0, n = t.implicitTypes.length; r < n; r += 1) if (((i = t.implicitTypes[r]), i.resolve(e))) return !0; + return !1; + } + o(_rt, 'testImplicitResolving'); + function EC(t) { + return t === lrt || t === srt; + } + o(EC, 'isWhitespace'); + function Ab(t) { + return ( + (32 <= t && t <= 126) || + (161 <= t && t <= 55295 && t !== 8232 && t !== 8233) || + (57344 <= t && t <= 65533 && t !== pF) || + (65536 <= t && t <= 1114111) + ); + } + o(Ab, 'isPrintable'); + function Gye(t) { + return Ab(t) && t !== pF && t !== ort && t !== Cb; + } + o(Gye, 'isNsCharOrWhitespace'); + function $ye(t, e, r) { + var n = Gye(t), + i = n && !EC(t); + return ( + ((r ? n : n && t !== uve && t !== hve && t !== fve && t !== dve && t !== pve) && + t !== oF && + !(e === kC && !i)) || + (Gye(e) && !EC(e) && t === oF) || + (e === kC && i) + ); + } + o($ye, 'isPlainSafe'); + function Lrt(t) { + return ( + Ab(t) && + t !== pF && + !EC(t) && + t !== mrt && + t !== vrt && + t !== kC && + t !== uve && + t !== hve && + t !== fve && + t !== dve && + t !== pve && + t !== oF && + t !== frt && + t !== prt && + t !== crt && + t !== wrt && + t !== grt && + t !== yrt && + t !== drt && + t !== urt && + t !== hrt && + t !== xrt && + t !== brt + ); + } + o(Lrt, 'isPlainSafeFirst'); + function Drt(t) { + return !EC(t) && t !== kC; + } + o(Drt, 'isPlainSafeLast'); + function kb(t, e) { + var r = t.charCodeAt(e), + n; + return r >= 55296 && r <= 56319 && e + 1 < t.length && ((n = t.charCodeAt(e + 1)), n >= 56320 && n <= 57343) + ? (r - 55296) * 1024 + n - 56320 + 65536 + : r; + } + o(kb, 'codePointAt'); + function mve(t) { + var e = /^\n* /; + return e.test(t); + } + o(mve, 'needIndentIndicator'); + var gve = 1, + cF = 2, + yve = 3, + vve = 4, + L1 = 5; + function Rrt(t, e, r, n, i, a, s, l) { + var u, + h = 0, + f = null, + d = !1, + p = !1, + m = n !== -1, + g = -1, + y = Lrt(kb(t, 0)) && Drt(kb(t, t.length - 1)); + if (e || s) + for (u = 0; u < t.length; h >= 65536 ? (u += 2) : u++) { + if (((h = kb(t, u)), !Ab(h))) return L1; + (y = y && $ye(h, f, l)), (f = h); + } + else { + for (u = 0; u < t.length; h >= 65536 ? (u += 2) : u++) { + if (((h = kb(t, u)), h === Cb)) + (d = !0), m && ((p = p || (u - g - 1 > n && t[g + 1] !== ' ')), (g = u)); + else if (!Ab(h)) return L1; + (y = y && $ye(h, f, l)), (f = h); + } + p = p || (m && u - g - 1 > n && t[g + 1] !== ' '); + } + return !d && !p + ? y && !s && !i(t) + ? gve + : a === Sb + ? L1 + : cF + : r > 9 && mve(t) + ? L1 + : s + ? a === Sb + ? L1 + : cF + : p + ? vve + : yve; + } + o(Rrt, 'chooseScalarStyle'); + function Nrt(t, e, r, n, i) { + t.dump = (function () { + if (e.length === 0) return t.quotingType === Sb ? '""' : "''"; + if (!t.noCompatMode && (Trt.indexOf(e) !== -1 || krt.test(e))) + return t.quotingType === Sb ? '"' + e + '"' : "'" + e + "'"; + var a = t.indent * Math.max(1, r), + s = t.lineWidth === -1 ? -1 : Math.max(Math.min(t.lineWidth, 40), t.lineWidth - a), + l = n || (t.flowLevel > -1 && r >= t.flowLevel); + function u(h) { + return _rt(t, h); + } + switch ((o(u, 'testAmbiguity'), Rrt(e, l, t.indent, s, u, t.quotingType, t.forceQuotes && !n, i))) { + case gve: + return e; + case cF: + return "'" + e.replace(/'/g, "''") + "'"; + case yve: + return '|' + Vye(e, t.indent) + Uye(zye(e, a)); + case vve: + return '>' + Vye(e, t.indent) + Uye(zye(Mrt(e, s), a)); + case L1: + return '"' + Irt(e) + '"'; + default: + throw new $s('impossible error: invalid scalar style'); + } + })(); + } + o(Nrt, 'writeScalar'); + function Vye(t, e) { + var r = mve(t) ? String(e) : '', + n = + t[t.length - 1] === + ` +`, + i = + n && + (t[t.length - 2] === + ` +` || + t === + ` +`), + a = i ? '+' : n ? '' : '-'; + return ( + r + + a + + ` +` + ); + } + o(Vye, 'blockHeader'); + function Uye(t) { + return t[t.length - 1] === + ` +` + ? t.slice(0, -1) + : t; + } + o(Uye, 'dropEndingNewline'); + function Mrt(t, e) { + for ( + var r = /(\n+)([^\n]*)/g, + n = (function () { + var h = t.indexOf(` +`); + return (h = h !== -1 ? h : t.length), (r.lastIndex = h), Hye(t.slice(0, h), e); + })(), + i = + t[0] === + ` +` || t[0] === ' ', + a, + s; + (s = r.exec(t)); + + ) { + var l = s[1], + u = s[2]; + (a = u[0] === ' '), + (n += + l + + (!i && !a && u !== '' + ? ` +` + : '') + + Hye(u, e)), + (i = a); + } + return n; + } + o(Mrt, 'foldString'); + function Hye(t, e) { + if (t === '' || t[0] === ' ') return t; + for (var r = / [^ ]/g, n, i = 0, a, s = 0, l = 0, u = ''; (n = r.exec(t)); ) + (l = n.index), + l - i > e && + ((a = s > i ? s : l), + (u += + ` +` + t.slice(i, a)), + (i = a + 1)), + (s = l); + return ( + (u += ` +`), + t.length - i > e && s > i + ? (u += + t.slice(i, s) + + ` +` + + t.slice(s + 1)) + : (u += t.slice(i)), + u.slice(1) + ); + } + o(Hye, 'foldLine'); + function Irt(t) { + for (var e = '', r = 0, n, i = 0; i < t.length; r >= 65536 ? (i += 2) : i++) + (r = kb(t, i)), + (n = Ua[r]), + !n && Ab(r) ? ((e += t[i]), r >= 65536 && (e += t[i + 1])) : (e += n || Crt(r)); + return e; + } + o(Irt, 'escapeString'); + function Ort(t, e, r) { + var n = '', + i = t.tag, + a, + s, + l; + for (a = 0, s = r.length; a < s; a += 1) + (l = r[a]), + t.replacer && (l = t.replacer.call(r, String(a), l)), + (rh(t, e, l, !1, !1) || (typeof l > 'u' && rh(t, e, null, !1, !1))) && + (n !== '' && (n += ',' + (t.condenseFlow ? '' : ' ')), (n += t.dump)); + (t.tag = i), (t.dump = '[' + n + ']'); + } + o(Ort, 'writeFlowSequence'); + function Yye(t, e, r, n) { + var i = '', + a = t.tag, + s, + l, + u; + for (s = 0, l = r.length; s < l; s += 1) + (u = r[s]), + t.replacer && (u = t.replacer.call(r, String(s), u)), + (rh(t, e + 1, u, !0, !0, !1, !0) || (typeof u > 'u' && rh(t, e + 1, null, !0, !0, !1, !0))) && + ((!n || i !== '') && (i += lF(t, e)), + t.dump && Cb === t.dump.charCodeAt(0) ? (i += '-') : (i += '- '), + (i += t.dump)); + (t.tag = a), (t.dump = i || '[]'); + } + o(Yye, 'writeBlockSequence'); + function Prt(t, e, r) { + var n = '', + i = t.tag, + a = Object.keys(r), + s, + l, + u, + h, + f; + for (s = 0, l = a.length; s < l; s += 1) + (f = ''), + n !== '' && (f += ', '), + t.condenseFlow && (f += '"'), + (u = a[s]), + (h = r[u]), + t.replacer && (h = t.replacer.call(r, u, h)), + rh(t, e, u, !1, !1) && + (t.dump.length > 1024 && (f += '? '), + (f += t.dump + (t.condenseFlow ? '"' : '') + ':' + (t.condenseFlow ? '' : ' ')), + rh(t, e, h, !1, !1) && ((f += t.dump), (n += f))); + (t.tag = i), (t.dump = '{' + n + '}'); + } + o(Prt, 'writeFlowMapping'); + function Brt(t, e, r, n) { + var i = '', + a = t.tag, + s = Object.keys(r), + l, + u, + h, + f, + d, + p; + if (t.sortKeys === !0) s.sort(); + else if (typeof t.sortKeys == 'function') s.sort(t.sortKeys); + else if (t.sortKeys) throw new $s('sortKeys must be a boolean or a function'); + for (l = 0, u = s.length; l < u; l += 1) + (p = ''), + (!n || i !== '') && (p += lF(t, e)), + (h = s[l]), + (f = r[h]), + t.replacer && (f = t.replacer.call(r, h, f)), + rh(t, e + 1, h, !0, !0, !0) && + ((d = (t.tag !== null && t.tag !== '?') || (t.dump && t.dump.length > 1024)), + d && (t.dump && Cb === t.dump.charCodeAt(0) ? (p += '?') : (p += '? ')), + (p += t.dump), + d && (p += lF(t, e)), + rh(t, e + 1, f, !0, d) && + (t.dump && Cb === t.dump.charCodeAt(0) ? (p += ':') : (p += ': '), (p += t.dump), (i += p))); + (t.tag = a), (t.dump = i || '{}'); + } + o(Brt, 'writeBlockMapping'); + function Wye(t, e, r) { + var n, i, a, s, l, u; + for (i = r ? t.explicitTypes : t.implicitTypes, a = 0, s = i.length; a < s; a += 1) + if ( + ((l = i[a]), + (l.instanceOf || l.predicate) && + (!l.instanceOf || (typeof e == 'object' && e instanceof l.instanceOf)) && + (!l.predicate || l.predicate(e))) + ) { + if ( + (r ? (l.multi && l.representName ? (t.tag = l.representName(e)) : (t.tag = l.tag)) : (t.tag = '?'), + l.represent) + ) { + if (((u = t.styleMap[l.tag] || l.defaultStyle), lve.call(l.represent) === '[object Function]')) + n = l.represent(e, u); + else if (cve.call(l.represent, u)) n = l.represent[u](e, u); + else throw new $s('!<' + l.tag + '> tag resolver accepts not "' + u + '" style'); + t.dump = n; + } + return !0; + } + return !1; + } + o(Wye, 'detectType'); + function rh(t, e, r, n, i, a, s) { + (t.tag = null), (t.dump = r), Wye(t, r, !1) || Wye(t, r, !0); + var l = lve.call(t.dump), + u = n, + h; + n && (n = t.flowLevel < 0 || t.flowLevel > e); + var f = l === '[object Object]' || l === '[object Array]', + d, + p; + if ( + (f && ((d = t.duplicates.indexOf(r)), (p = d !== -1)), + ((t.tag !== null && t.tag !== '?') || p || (t.indent !== 2 && e > 0)) && (i = !1), + p && t.usedDuplicates[d]) + ) + t.dump = '*ref_' + d; + else { + if ((f && p && !t.usedDuplicates[d] && (t.usedDuplicates[d] = !0), l === '[object Object]')) + n && Object.keys(t.dump).length !== 0 + ? (Brt(t, e, t.dump, i), p && (t.dump = '&ref_' + d + t.dump)) + : (Prt(t, e, t.dump), p && (t.dump = '&ref_' + d + ' ' + t.dump)); + else if (l === '[object Array]') + n && t.dump.length !== 0 + ? (t.noArrayIndent && !s && e > 0 ? Yye(t, e - 1, t.dump, i) : Yye(t, e, t.dump, i), + p && (t.dump = '&ref_' + d + t.dump)) + : (Ort(t, e, t.dump), p && (t.dump = '&ref_' + d + ' ' + t.dump)); + else if (l === '[object String]') t.tag !== '?' && Nrt(t, t.dump, e, a, u); + else { + if (l === '[object Undefined]') return !1; + if (t.skipInvalid) return !1; + throw new $s('unacceptable kind of an object to dump ' + l); + } + t.tag !== null && + t.tag !== '?' && + ((h = encodeURI(t.tag[0] === '!' ? t.tag.slice(1) : t.tag).replace(/!/g, '%21')), + t.tag[0] === '!' + ? (h = '!' + h) + : h.slice(0, 18) === 'tag:yaml.org,2002:' + ? (h = '!!' + h.slice(18)) + : (h = '!<' + h + '>'), + (t.dump = h + ' ' + t.dump)); + } + return !0; + } + o(rh, 'writeNode'); + function Frt(t, e) { + var r = [], + n = [], + i, + a; + for (uF(t, r, n), i = 0, a = n.length; i < a; i += 1) e.duplicates.push(r[n[i]]); + e.usedDuplicates = new Array(a); + } + o(Frt, 'getDuplicateReferences'); + function uF(t, e, r) { + var n, i, a; + if (t !== null && typeof t == 'object') + if (((i = e.indexOf(t)), i !== -1)) r.indexOf(i) === -1 && r.push(i); + else if ((e.push(t), Array.isArray(t))) for (i = 0, a = t.length; i < a; i += 1) uF(t[i], e, r); + else for (n = Object.keys(t), i = 0, a = n.length; i < a; i += 1) uF(t[n[i]], e, r); + } + o(uF, 'inspectNode'); + function zrt(t, e) { + e = e || {}; + var r = new Art(e); + r.noRefs || Frt(t, r); + var n = t; + return ( + r.replacer && (n = r.replacer.call({ '': n }, '', n)), + rh(r, 0, n, !0, !0) + ? r.dump + + ` +` + : '' + ); + } + o(zrt, 'dump$1'); + var Grt = zrt, + $rt = { dump: Grt }; + function mF(t, e) { + return function () { + throw new Error( + 'Function yaml.' + + t + + ' is removed in js-yaml 4. Use yaml.' + + e + + ' instead, which is now safe by default.' + ); + }; + } + o(mF, 'renamed'); + var xve = jye; + var bve = ove.load, + gmr = ove.loadAll, + ymr = $rt.dump; + var vmr = mF('safeLoad', 'load'), + xmr = mF('safeLoadAll', 'loadAll'), + bmr = mF('safeDump', 'dump'); + function wve(t) { + let e = t.match($b); + if (!e) return { text: t, metadata: {} }; + let r = bve(e[1], { schema: xve }) ?? {}; + r = typeof r == 'object' && !Array.isArray(r) ? r : {}; + let n = {}; + return ( + r.displayMode && (n.displayMode = r.displayMode.toString()), + r.title && (n.title = r.title.toString()), + r.config && (n.config = r.config), + { text: t.slice(e[0].length), metadata: n } + ); + } + o(wve, 'extractFrontMatter'); + xr(); + var Urt = o( + (t) => + t + .replace( + /\r\n?/g, + ` +` + ) + .replace(/<(\w+)([^>]*)>/g, (e, r, n) => '<' + r + n.replace(/="([^"]*)"/g, "='$1'") + '>'), + 'cleanupText' + ), + Hrt = o((t) => { + let { text: e, metadata: r } = wve(t), + { displayMode: n, title: i, config: a = {} } = r; + return n && (a.gantt || (a.gantt = {}), (a.gantt.displayMode = n)), { title: i, config: a, text: e }; + }, 'processFrontmatter'), + Yrt = o((t) => { + let e = Lt.detectInit(t) ?? {}, + r = Lt.detectDirective(t, 'wrap'); + return ( + Array.isArray(r) + ? (e.wrap = r.some(({ type: n }) => n === 'wrap')) + : r?.type === 'wrap' && (e.wrap = !0), + { text: EX(t), directive: e } + ); + }, 'processDirectives'); + function gF(t) { + let e = Urt(t), + r = Hrt(e), + n = Yrt(r.text), + i = Ts(r.config, n.directive); + return (t = Rye(n.text)), { code: t, title: r.title, config: i }; + } + o(gF, 'preprocessDiagram'); + Z7(); + Kb(); + xr(); + function Tve(t) { + let e = new TextEncoder().encode(t), + r = Array.from(e, (n) => String.fromCodePoint(n)).join(''); + return btoa(r); + } + o(Tve, 'toBase64'); + var Wrt = 5e4, + qrt = 'graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa', + Xrt = 'sandbox', + jrt = 'loose', + Krt = 'http://www.w3.org/2000/svg', + Qrt = 'http://www.w3.org/1999/xlink', + Zrt = 'http://www.w3.org/1999/xhtml', + Jrt = '100%', + ent = '100%', + tnt = 'border:0;margin:0;', + rnt = 'margin:0', + nnt = 'allow-top-navigation-by-user-activation allow-popups', + int = 'The "iframe" tag is not supported by your browser.', + ant = ['foreignobject'], + snt = ['dominant-baseline']; + function Ave(t) { + let e = gF(t); + return Q1(), jz(e.config ?? {}), e; + } + o(Ave, 'processAndSetConfigs'); + async function ont(t, e) { + k1(); + try { + let { code: r, config: n } = Ave(t); + return { diagramType: (await _ve(r)).type, config: n }; + } catch (r) { + if (e?.suppressErrors) return !1; + throw r; + } + } + o(ont, 'parse'); + var kve = o( + (t, e, r = []) => ` +.${t} ${e} { ${r.join(' !important; ')} !important; }`, + 'cssImportantStyles' + ), + lnt = o((t, e = new Map()) => { + let r = ''; + if ( + (t.themeCSS !== void 0 && + (r += ` +${t.themeCSS}`), + t.fontFamily !== void 0 && + (r += ` +:root { --mermaid-font-family: ${t.fontFamily}}`), + t.altFontFamily !== void 0 && + (r += ` +:root { --mermaid-alt-font-family: ${t.altFontFamily}}`), + e instanceof Map) + ) { + let s = + t.htmlLabels ?? t.flowchart?.htmlLabels + ? ['> *', 'span'] + : ['rect', 'polygon', 'ellipse', 'circle', 'path']; + e.forEach((l) => { + Qt(l.styles) || + s.forEach((u) => { + r += kve(l.id, u, l.styles); + }), + Qt(l.textStyles) || + (r += kve( + l.id, + 'tspan', + (l?.textStyles || []).map((u) => u.replace('color', 'fill')) + )); + }); + } + return r; + }, 'createCssStyles'), + cnt = o((t, e, r, n) => { + let i = lnt(t, r), + a = D$(e, i, t.themeVariables); + return xC(Cye(`${n}{${a}}`), Sye); + }, 'createUserStyles'), + unt = o((t = '', e, r) => { + let n = t; + return ( + !r && !e && (n = n.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g, 'marker-end="url(#')), + (n = to(n)), + (n = n.replace(/
    /g, '
    ')), + n + ); + }, 'cleanUpSvgCode'), + hnt = o((t = '', e) => { + let r = e?.viewBox?.baseVal?.height ? e.viewBox.baseVal.height + 'px' : ent, + n = Tve(`${t}`); + return ``; + }, 'putIntoIFrame'), + Eve = o((t, e, r, n, i) => { + let a = t.append('div'); + a.attr('id', r), n && a.attr('style', n); + let s = a.append('svg').attr('id', e).attr('width', '100%').attr('xmlns', Krt); + return i && s.attr('xmlns:xlink', i), s.append('g'), t; + }, 'appendDivSvgG'); + function Cve(t, e) { + return t.append('iframe').attr('id', e).attr('style', 'width: 100%; height: 100%;').attr('sandbox', ''); + } + o(Cve, 'sandboxedIframe'); + var fnt = o((t, e, r, n) => { + t.getElementById(e)?.remove(), t.getElementById(r)?.remove(), t.getElementById(n)?.remove(); + }, 'removeExistingElements'), + dnt = o(async function (t, e, r) { + k1(); + let n = Ave(e); + e = n.code; + let i = Or(); + V.debug(i), e.length > (i?.maxTextSize ?? Wrt) && (e = qrt); + let a = '#' + t, + s = 'i' + t, + l = '#' + s, + u = 'd' + t, + h = '#' + u, + f = o(() => { + let I = $e(p ? l : h).node(); + I && 'remove' in I && I.remove(); + }, 'removeTempElements'), + d = $e('body'), + p = i.securityLevel === Xrt, + m = i.securityLevel === jrt, + g = i.fontFamily; + if (r !== void 0) { + if ((r && (r.innerHTML = ''), p)) { + let k = Cve($e(r), s); + (d = $e(k.nodes()[0].contentDocument.body)), (d.node().style.margin = 0); + } else d = $e(r); + Eve(d, t, u, `font-family: ${g}`, Qrt); + } else { + if ((fnt(document, t, u, s), p)) { + let k = Cve($e('body'), s); + (d = $e(k.nodes()[0].contentDocument.body)), (d.node().style.margin = 0); + } else d = $e('body'); + Eve(d, t, u); + } + let y, v; + try { + y = await _1.fromText(e, { title: n.title }); + } catch (k) { + if (i.suppressErrorRendering) throw (f(), k); + (y = await _1.fromText('error')), (v = k); + } + let x = d.select(h).node(), + b = y.type, + w = x.firstChild, + S = w.firstChild, + T = y.renderer.getClasses?.(e, y), + E = cnt(i, b, T, a), + _ = document.createElement('style'); + (_.innerHTML = E), w.insertBefore(_, S); + try { + await y.renderer.draw(e, t, fx, y); + } catch (k) { + throw (i.suppressErrorRendering ? f() : Ede.draw(e, t, fx), k); + } + let A = d.select(`${h} svg`), + L = y.db.getAccTitle?.(), + M = y.db.getAccDescription?.(); + mnt(b, A, L, M), d.select(`[id="${t}"]`).selectAll('foreignobject > *').attr('xmlns', Zrt); + let N = d.select(h).node().innerHTML; + if ( + (V.debug('config.arrowMarkerAbsolute', i.arrowMarkerAbsolute), + (N = unt(N, p, yr(i.arrowMarkerAbsolute))), + p) + ) { + let k = d.select(h + ' svg').node(); + N = hnt(N, k); + } else m || (N = Sve.default.sanitize(N, { ADD_TAGS: ant, ADD_ATTR: snt })); + if ((Dye(), v)) throw v; + return f(), { diagramType: b, svg: N, bindFunctions: y.db.bindFunctions }; + }, 'render'); + function pnt(t = {}) { + let e = On({}, t); + e?.fontFamily && + !e.themeVariables?.fontFamily && + (e.themeVariables || (e.themeVariables = {}), (e.themeVariables.fontFamily = e.fontFamily)), + Wz(e), + e?.theme && e.theme in Co + ? (e.themeVariables = Co[e.theme].getThemeVariables(e.themeVariables)) + : e && (e.themeVariables = Co.default.getThemeVariables(e.themeVariables)); + let r = typeof e == 'object' ? n7(e) : i7(); + $1(r.logLevel), k1(); + } + o(pnt, 'initialize'); + var _ve = o((t, e = {}) => { + let { code: r } = gF(t); + return _1.fromText(r, e); + }, 'getDiagramFromText'); + function mnt(t, e, r, n) { + Aye(e, t), _ye(e, r, n, e.attr('id')); + } + o(mnt, 'addA11yInfo'); + var Ff = Object.freeze({ + render: dnt, + parse: ont, + getDiagramFromText: _ve, + initialize: pnt, + getConfig: Or, + setConfig: Zb, + getSiteConfig: i7, + updateSiteConfig: qz, + reset: o(() => { + Q1(); + }, 'reset'), + globalReset: o(() => { + Q1(uh); + }, 'globalReset'), + defaultConfig: uh + }); + $1(Or().logLevel); + Q1(Or()); + oT(); + xr(); + var gnt = o((t, e, r) => { + V.warn(t), + r9(t) + ? (r && r(t.str, t.hash), e.push({ ...t, message: t.str, error: t })) + : (r && r(t), + t instanceof Error && + e.push({ + str: t.message, + message: t.message, + hash: t.name, + error: t + })); + }, 'handleError'), + Lve = o(async function (t = { querySelector: '.mermaid' }) { + try { + await ynt(t); + } catch (e) { + if ((r9(e) && V.error(e.str), nh.parseError && nh.parseError(e), !t.suppressErrors)) + throw (V.error('Use the suppressErrors option to suppress these errors'), e); + } + }, 'run'), + ynt = o(async function ( + { postRenderCallback: t, querySelector: e, nodes: r } = { + querySelector: '.mermaid' + } + ) { + let n = Ff.getConfig(); + V.debug(`${t ? '' : 'No '}Callback function found`); + let i; + if (r) i = r; + else if (e) i = document.querySelectorAll(e); + else throw new Error('Nodes and querySelector are both undefined'); + V.debug(`Found ${i.length} diagrams`), + n?.startOnLoad !== void 0 && + (V.debug('Start On Load: ' + n?.startOnLoad), Ff.updateSiteConfig({ startOnLoad: n?.startOnLoad })); + let a = new Lt.InitIDGenerator(n.deterministicIds, n.deterministicIDSeed), + s, + l = []; + for (let u of Array.from(i)) { + V.info('Rendering diagram: ' + u.id); + if (u.getAttribute('data-processed')) continue; + u.setAttribute('data-processed', 'true'); + let h = `mermaid-${a.next()}`; + (s = u.innerHTML), + (s = Gb(Lt.entityDecode(s)) + .trim() + .replace(//gi, '
    ')); + let f = Lt.detectInit(s); + f && V.debug('Detected early reinit: ', f); + try { + let { svg: d, bindFunctions: p } = await Mve(h, s, u); + (u.innerHTML = d), t && (await t(h)), p && p(u); + } catch (d) { + gnt(d, l, nh.parseError); + } + } + if (l.length > 0) throw l[0]; + }, 'runThrowsErrors'), + Dve = o(function (t) { + Ff.initialize(t); + }, 'initialize'), + vnt = o(async function (t, e, r) { + V.warn('mermaid.init is deprecated. Please use run instead.'), t && Dve(t); + let n = { postRenderCallback: r, querySelector: '.mermaid' }; + typeof e == 'string' + ? (n.querySelector = e) + : e && (e instanceof HTMLElement ? (n.nodes = [e]) : (n.nodes = e)), + await Lve(n); + }, 'init'), + xnt = o(async (t, { lazyLoad: e = !0 } = {}) => { + k1(), Ub(...t), e === !1 && (await lye()); + }, 'registerExternalDiagrams'), + Rve = o(function () { + if (nh.startOnLoad) { + let { startOnLoad: t } = Ff.getConfig(); + t && nh.run().catch((e) => V.error('Mermaid failed to initialize', e)); + } + }, 'contentLoaded'); + if (typeof document < 'u') { + window.addEventListener('load', Rve, !1); + } + var bnt = o(function (t) { + nh.parseError = t; + }, 'setParseErrorHandler'), + SC = [], + yF = !1, + Nve = o(async () => { + if (!yF) { + for (yF = !0; SC.length > 0; ) { + let t = SC.shift(); + if (t) + try { + await t(); + } catch (e) { + V.error('Error executing queue', e); + } + } + yF = !1; + } + }, 'executeQueue'), + wnt = o( + async (t, e) => + new Promise((r, n) => { + let i = o( + () => + new Promise((a, s) => { + Ff.parse(t, e).then( + (l) => { + a(l), r(l); + }, + (l) => { + V.error('Error parsing', l), nh.parseError?.(l), s(l), n(l); + } + ); + }), + 'performCall' + ); + SC.push(i), Nve().catch(n); + }), + 'parse' + ), + Mve = o( + (t, e, r) => + new Promise((n, i) => { + let a = o( + () => + new Promise((s, l) => { + Ff.render(t, e, r).then( + (u) => { + s(u), n(u); + }, + (u) => { + V.error('Error parsing', u), nh.parseError?.(u), l(u), i(u); + } + ); + }), + 'performCall' + ); + SC.push(a), Nve().catch(i); + }), + 'render' + ), + nh = { + startOnLoad: !0, + mermaidAPI: Ff, + parse: wnt, + render: Mve, + init: vnt, + run: Lve, + registerExternalDiagrams: xnt, + registerLayoutLoaders: gD, + initialize: Dve, + parseError: void 0, + contentLoaded: Rve, + setParseErrorHandler: bnt, + detectType: lp, + registerIconPacks: Fb + }, + Tnt = nh; + return $ve(knt); +})(); +/*! Check if previously processed */ +/*! + * Wait for document loaded before starting the execution + */ +/*! Bundled license information: + +dompurify/dist/purify.js: + (*! @license DOMPurify 3.1.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.1.6/LICENSE *) + +lodash-es/lodash.js: + (** + * @license + * Lodash (Custom Build) + * Build: `lodash modularize exports="es" -o ./` + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + *) + +cytoscape/dist/cytoscape.esm.mjs: + (*! + 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) + *) + (*! + 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 + *) + (*! Bezier curve function generator. Copyright Gaetan Renaudeau. MIT License: http://en.wikipedia.org/wiki/MIT_License *) + (*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License *) + +js-yaml/dist/js-yaml.mjs: + (*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT *) +*/ +globalThis.mermaid = globalThis.__esbuild_esm_mermaid.default; diff --git a/docs/js/version-box.js b/docs/js/version-box.js new file mode 100644 index 000000000000..932a75a5e3bb --- /dev/null +++ b/docs/js/version-box.js @@ -0,0 +1,61 @@ +document.addEventListener('DOMContentLoaded', function () { + // Get the base URL from the mdBook configuration + const baseUrl = document.location.origin + '/zksync-era/core'; + + // Function to create version selector + function createVersionSelector(versions) { + const versionSelector = document.createElement('select'); + versionSelector.id = 'version-selector'; + + // Get the current path + const currentPath = window.location.pathname; + + // Iterate over the versions object + for (const [versionName, versionUrl] of Object.entries(versions)) { + const option = document.createElement('option'); + option.value = versionUrl + '/'; + option.textContent = versionName; + + // Check if the current URL matches this option's value + if (currentPath.includes(option.value)) { + option.selected = true; // Set this option as selected + } + + versionSelector.appendChild(option); + } + + // Event listener to handle version change + versionSelector.addEventListener('change', function () { + const selectedVersion = versionSelector.value; + // Redirect to the selected version URL + window.location.href = '/zksync-era/core' + selectedVersion; + }); + + return versionSelector; + } + + // Fetch versions from JSON file + fetch(baseUrl + '/versions.json') + .then((response) => { + if (!response.ok) { + throw new Error('Network response was not ok ' + response.statusText); + } + return response.json(); + }) + .then((data) => { + const versionSelector = createVersionSelector(data); + const nav = document.querySelector('.right-buttons'); + + if (nav) { + const versionBox = document.createElement('div'); + versionBox.id = 'version-box'; + versionBox.appendChild(versionSelector); + nav.appendChild(versionBox); // Append to the .right-buttons container + } else { + console.error('.right-buttons element not found.'); + } + }) + .catch((error) => { + console.error('There has been a problem with your fetch operation:', error); + }); +}); diff --git a/docs/src/README.md b/docs/src/README.md new file mode 100644 index 000000000000..ab6a417877b5 --- /dev/null +++ b/docs/src/README.md @@ -0,0 +1,26 @@ +# Introduction + +Welcome to the documentation! This guide provides comprehensive insights into the architecture, setup, usage, and +advanced features of ZKsync. + +## Documentation Structure + +- **Guides**: The Guides section is designed to help users at every level, from setup and development to advanced + configuration and debugging techniques. It covers essential topics, including Docker setup, repository management, and + architecture. + +- **Specs**: This section dives into the technical specifications of our system. Here, you’ll find detailed + documentation on data availability, L1 and L2 communication, smart contract interactions, Zero-Knowledge proofs, and + more. Each topic includes an in-depth explanation to support advanced users and developers. + +- **Announcements**: This section highlights important updates, announcements, and committee details, providing + essential information to keep users informed on the latest changes. + +## Getting Started + +Feel free to explore each section according to your needs. This documentation is designed to be modular, so you can jump +to specific topics or follow through step-by-step. + +--- + +Thank you for using our documentation! diff --git a/docs/src/SUMMARY.md b/docs/src/SUMMARY.md new file mode 100644 index 000000000000..c267759cb4c6 --- /dev/null +++ b/docs/src/SUMMARY.md @@ -0,0 +1,86 @@ + + +# Summary + +[Introduction](README.md) + +# Guides + +- [Basic](guides/README.md) + + - [Architecture](guides/architecture.md) + - [Build Docker](guides/build-docker.md) + - [Development](guides/development.md) + - [Launch](guides/launch.md) + - [Repositories](guides/repositories.md) + - [Setup Dev](guides/setup-dev.md) + +- [Advanced](guides/advanced/README.md) + - [Local initialization](guides/advanced/01_initialization.md) + - [Deposits](guides/advanced/02_deposits.md) + - [Withdrawals](guides/advanced/03_withdrawals.md) + - [Contracts](guides/advanced/04_contracts.md) + - [Calls](guides/advanced/05_how_call_works.md) + - [Transactions](guides/advanced/06_how_transaction_works.md) + - [Fee Model](guides/advanced/07_fee_model.md) + - [L2 Messaging](guides/advanced/08_how_l2_messaging_works.md) + - [Pubdata](guides/advanced/09_pubdata.md) + - [Pubdata with Blobs](guides/advanced/10_pubdata_with_blobs.md) + - [Bytecode compression](guides/advanced/11_compression.md) + - [EraVM intro](guides/advanced/12_alternative_vm_intro.md) + - [ZK Intuition](guides/advanced/13_zk_intuition.md) + - [ZK Deeper Dive](guides/advanced/14_zk_deeper_overview.md) + - [Prover Keys](guides/advanced/15_prover_keys.md) + - [Advanced Debugging](guides/advanced/90_advanced_debugging.md) + - [Docker and CI](guides/advanced/91_docker_and_ci.md) + +# External Node + +- [External node](guides/external-node/01_intro.md) + - [Quick Start](guides/external-node/00_quick_start.md) + - [Configuration](guides/external-node/02_configuration.md) + - [Running](guides/external-node/03_running.md) + - [Observability](guides/external-node/04_observability.md) + - [Troubleshooting](guides/external-node/05_troubleshooting.md) + - [Components](guides/external-node/06_components.md) + - [Snapshots Recovery](guides/external-node/07_snapshots_recovery.md) + - [Pruning](guides/external-node/08_pruning.md) + - [Treeless Mode](guides/external-node/09_treeless_mode.md) + - [Decentralization](guides/external-node/10_decentralization.md) + +# Specs + +- [Introduction](specs/introduction.md) + - [Overview](specs/overview.md) + - [Blocks and Batches](specs/blocks_batches.md) + - [L1 Smart Contracts](specs/l1_smart_contracts.md) +- [Data Availability](specs/data_availability/overview.md) + - [Pubdata](specs/data_availability/pubdata.md) + - [Compression](specs/data_availability/compression.md) + - [Reconstruction](specs/data_availability/reconstruction.md) + - [Validium ZK Porter](specs/data_availability/validium_zk_porter.md) +- [L1 L2 Communication](specs/l1_l2_communication/overview_deposits_withdrawals.md) + - [L1 to L2](specs/l1_l2_communication/l1_to_l2.md) + - [L2 to L1](specs/l1_l2_communication/l2_to_l1.md) +- [Prover](specs/prover/overview.md) + - [Getting Started](specs/prover/getting_started.md) + - [ZK Terminology](specs/prover/zk_terminology.md) + - [Function Check if Satisfied](specs/prover/boojum_function_check_if_satisfied.md) + - [Gadgets](specs/prover/boojum_gadgets.md) + - [Circuit Testing](specs/prover/circuit_testing.md) + - [Circuits Overview](specs/prover/circuits/overview.md) +- [ZK Chains](specs/zk_chains/overview.md) + - [Gateway](specs/zk_chains/gateway.md) + - [Interop](specs/zk_chains/interop.md) + - [Shared Bridge](specs/zk_chains/shared_bridge.md) +- [ZK EVM](specs/zk_evm/vm_overview.md) + - [Account Abstraction](specs/zk_evm/account_abstraction.md) + - [Bootloader](specs/zk_evm/bootloader.md) + - [Fee Model](specs/zk_evm/fee_model.md) + - [Precompiles](specs/zk_evm/precompiles.md) + - [System Contracts](specs/zk_evm/system_contracts.md) + +# Announcements + +- [Announcements](announcements/README.md) + - [Attester Committee](announcements/attester_commitee.md) diff --git a/docs/announcements/README.md b/docs/src/announcements/README.md similarity index 100% rename from docs/announcements/README.md rename to docs/src/announcements/README.md diff --git a/docs/announcements/attester_commitee.md b/docs/src/announcements/attester_commitee.md similarity index 100% rename from docs/announcements/attester_commitee.md rename to docs/src/announcements/attester_commitee.md diff --git a/docs/src/guides/README.md b/docs/src/guides/README.md new file mode 100644 index 000000000000..f9d5bc852a26 --- /dev/null +++ b/docs/src/guides/README.md @@ -0,0 +1,12 @@ +# ZKsync basic guides + +This section contains basic guides that aim to explain the ZKsync ecosystem in an easy to grasp way. + +## Table of Contents + +- [Architecture](./architecture.md) +- [Build Docker](./build-docker.md) +- [Development](./development.md) +- [Launch](./launch.md) +- [Repositories](./repositories.md) +- [Setup Dev](./setup-dev.md) diff --git a/docs/guides/advanced/01_initialization.md b/docs/src/guides/advanced/01_initialization.md similarity index 100% rename from docs/guides/advanced/01_initialization.md rename to docs/src/guides/advanced/01_initialization.md diff --git a/docs/guides/advanced/02_deposits.md b/docs/src/guides/advanced/02_deposits.md similarity index 100% rename from docs/guides/advanced/02_deposits.md rename to docs/src/guides/advanced/02_deposits.md diff --git a/docs/guides/advanced/03_withdrawals.md b/docs/src/guides/advanced/03_withdrawals.md similarity index 100% rename from docs/guides/advanced/03_withdrawals.md rename to docs/src/guides/advanced/03_withdrawals.md diff --git a/docs/guides/advanced/04_contracts.md b/docs/src/guides/advanced/04_contracts.md similarity index 100% rename from docs/guides/advanced/04_contracts.md rename to docs/src/guides/advanced/04_contracts.md diff --git a/docs/guides/advanced/05_how_call_works.md b/docs/src/guides/advanced/05_how_call_works.md similarity index 100% rename from docs/guides/advanced/05_how_call_works.md rename to docs/src/guides/advanced/05_how_call_works.md diff --git a/docs/guides/advanced/06_how_transaction_works.md b/docs/src/guides/advanced/06_how_transaction_works.md similarity index 100% rename from docs/guides/advanced/06_how_transaction_works.md rename to docs/src/guides/advanced/06_how_transaction_works.md diff --git a/docs/guides/advanced/07_fee_model.md b/docs/src/guides/advanced/07_fee_model.md similarity index 100% rename from docs/guides/advanced/07_fee_model.md rename to docs/src/guides/advanced/07_fee_model.md diff --git a/docs/guides/advanced/08_how_l2_messaging_works.md b/docs/src/guides/advanced/08_how_l2_messaging_works.md similarity index 100% rename from docs/guides/advanced/08_how_l2_messaging_works.md rename to docs/src/guides/advanced/08_how_l2_messaging_works.md diff --git a/docs/guides/advanced/09_pubdata.md b/docs/src/guides/advanced/09_pubdata.md similarity index 100% rename from docs/guides/advanced/09_pubdata.md rename to docs/src/guides/advanced/09_pubdata.md diff --git a/docs/guides/advanced/10_pubdata_with_blobs.md b/docs/src/guides/advanced/10_pubdata_with_blobs.md similarity index 100% rename from docs/guides/advanced/10_pubdata_with_blobs.md rename to docs/src/guides/advanced/10_pubdata_with_blobs.md diff --git a/docs/guides/advanced/11_compression.md b/docs/src/guides/advanced/11_compression.md similarity index 100% rename from docs/guides/advanced/11_compression.md rename to docs/src/guides/advanced/11_compression.md diff --git a/docs/guides/advanced/12_alternative_vm_intro.md b/docs/src/guides/advanced/12_alternative_vm_intro.md similarity index 100% rename from docs/guides/advanced/12_alternative_vm_intro.md rename to docs/src/guides/advanced/12_alternative_vm_intro.md diff --git a/docs/guides/advanced/13_zk_intuition.md b/docs/src/guides/advanced/13_zk_intuition.md similarity index 100% rename from docs/guides/advanced/13_zk_intuition.md rename to docs/src/guides/advanced/13_zk_intuition.md diff --git a/docs/guides/advanced/14_zk_deeper_overview.md b/docs/src/guides/advanced/14_zk_deeper_overview.md similarity index 100% rename from docs/guides/advanced/14_zk_deeper_overview.md rename to docs/src/guides/advanced/14_zk_deeper_overview.md diff --git a/docs/guides/advanced/15_prover_keys.md b/docs/src/guides/advanced/15_prover_keys.md similarity index 100% rename from docs/guides/advanced/15_prover_keys.md rename to docs/src/guides/advanced/15_prover_keys.md diff --git a/docs/guides/advanced/90_advanced_debugging.md b/docs/src/guides/advanced/90_advanced_debugging.md similarity index 100% rename from docs/guides/advanced/90_advanced_debugging.md rename to docs/src/guides/advanced/90_advanced_debugging.md diff --git a/docs/guides/advanced/91_docker_and_ci.md b/docs/src/guides/advanced/91_docker_and_ci.md similarity index 100% rename from docs/guides/advanced/91_docker_and_ci.md rename to docs/src/guides/advanced/91_docker_and_ci.md diff --git a/docs/guides/advanced/README.md b/docs/src/guides/advanced/README.md similarity index 98% rename from docs/guides/advanced/README.md rename to docs/src/guides/advanced/README.md index 5a3673b558ad..48555ed0d9c9 100644 --- a/docs/guides/advanced/README.md +++ b/docs/src/guides/advanced/README.md @@ -22,7 +22,7 @@ way. - [Prover keys](./15_prover_keys.md) Additionally, there are a few articles that cover specific topics that may be useful for developers actively working on -`zksync-era` repo. +`zksync-era` repo: - [Advanced debugging](./90_advanced_debugging.md) - [Docker and CI](./91_docker_and_ci.md) diff --git a/docs/guides/architecture.md b/docs/src/guides/architecture.md similarity index 100% rename from docs/guides/architecture.md rename to docs/src/guides/architecture.md diff --git a/docs/guides/build-docker.md b/docs/src/guides/build-docker.md similarity index 100% rename from docs/guides/build-docker.md rename to docs/src/guides/build-docker.md diff --git a/docs/guides/development.md b/docs/src/guides/development.md similarity index 100% rename from docs/guides/development.md rename to docs/src/guides/development.md diff --git a/docs/guides/external-node/00_quick_start.md b/docs/src/guides/external-node/00_quick_start.md similarity index 100% rename from docs/guides/external-node/00_quick_start.md rename to docs/src/guides/external-node/00_quick_start.md diff --git a/docs/guides/external-node/01_intro.md b/docs/src/guides/external-node/01_intro.md similarity index 100% rename from docs/guides/external-node/01_intro.md rename to docs/src/guides/external-node/01_intro.md diff --git a/docs/guides/external-node/02_configuration.md b/docs/src/guides/external-node/02_configuration.md similarity index 100% rename from docs/guides/external-node/02_configuration.md rename to docs/src/guides/external-node/02_configuration.md diff --git a/docs/guides/external-node/03_running.md b/docs/src/guides/external-node/03_running.md similarity index 100% rename from docs/guides/external-node/03_running.md rename to docs/src/guides/external-node/03_running.md diff --git a/docs/guides/external-node/04_observability.md b/docs/src/guides/external-node/04_observability.md similarity index 100% rename from docs/guides/external-node/04_observability.md rename to docs/src/guides/external-node/04_observability.md diff --git a/docs/guides/external-node/05_troubleshooting.md b/docs/src/guides/external-node/05_troubleshooting.md similarity index 100% rename from docs/guides/external-node/05_troubleshooting.md rename to docs/src/guides/external-node/05_troubleshooting.md diff --git a/docs/guides/external-node/06_components.md b/docs/src/guides/external-node/06_components.md similarity index 100% rename from docs/guides/external-node/06_components.md rename to docs/src/guides/external-node/06_components.md diff --git a/docs/guides/external-node/07_snapshots_recovery.md b/docs/src/guides/external-node/07_snapshots_recovery.md similarity index 100% rename from docs/guides/external-node/07_snapshots_recovery.md rename to docs/src/guides/external-node/07_snapshots_recovery.md diff --git a/docs/guides/external-node/08_pruning.md b/docs/src/guides/external-node/08_pruning.md similarity index 100% rename from docs/guides/external-node/08_pruning.md rename to docs/src/guides/external-node/08_pruning.md diff --git a/docs/guides/external-node/09_treeless_mode.md b/docs/src/guides/external-node/09_treeless_mode.md similarity index 100% rename from docs/guides/external-node/09_treeless_mode.md rename to docs/src/guides/external-node/09_treeless_mode.md diff --git a/docs/guides/external-node/10_decentralization.md b/docs/src/guides/external-node/10_decentralization.md similarity index 100% rename from docs/guides/external-node/10_decentralization.md rename to docs/src/guides/external-node/10_decentralization.md diff --git a/docs/src/guides/external-node/README.md b/docs/src/guides/external-node/README.md new file mode 100644 index 000000000000..becd9846d4f2 --- /dev/null +++ b/docs/src/guides/external-node/README.md @@ -0,0 +1 @@ +# External node diff --git a/docs/guides/external-node/docker-compose-examples/configs/generate_secrets.sh b/docs/src/guides/external-node/docker-compose-examples/configs/generate_secrets.sh similarity index 100% rename from docs/guides/external-node/docker-compose-examples/configs/generate_secrets.sh rename to docs/src/guides/external-node/docker-compose-examples/configs/generate_secrets.sh diff --git a/docs/guides/external-node/docker-compose-examples/configs/mainnet_consensus_config.yaml b/docs/src/guides/external-node/docker-compose-examples/configs/mainnet_consensus_config.yaml similarity index 100% rename from docs/guides/external-node/docker-compose-examples/configs/mainnet_consensus_config.yaml rename to docs/src/guides/external-node/docker-compose-examples/configs/mainnet_consensus_config.yaml diff --git a/docs/guides/external-node/docker-compose-examples/configs/testnet_consensus_config.yaml b/docs/src/guides/external-node/docker-compose-examples/configs/testnet_consensus_config.yaml similarity index 100% rename from docs/guides/external-node/docker-compose-examples/configs/testnet_consensus_config.yaml rename to docs/src/guides/external-node/docker-compose-examples/configs/testnet_consensus_config.yaml diff --git a/docs/guides/external-node/docker-compose-examples/grafana/provisioning/dashboards/Consensus.json b/docs/src/guides/external-node/docker-compose-examples/grafana/provisioning/dashboards/Consensus.json similarity index 100% rename from docs/guides/external-node/docker-compose-examples/grafana/provisioning/dashboards/Consensus.json rename to docs/src/guides/external-node/docker-compose-examples/grafana/provisioning/dashboards/Consensus.json diff --git a/docs/guides/external-node/docker-compose-examples/grafana/provisioning/dashboards/General.json b/docs/src/guides/external-node/docker-compose-examples/grafana/provisioning/dashboards/General.json similarity index 100% rename from docs/guides/external-node/docker-compose-examples/grafana/provisioning/dashboards/General.json rename to docs/src/guides/external-node/docker-compose-examples/grafana/provisioning/dashboards/General.json diff --git a/docs/guides/external-node/docker-compose-examples/grafana/provisioning/dashboards/default.yml b/docs/src/guides/external-node/docker-compose-examples/grafana/provisioning/dashboards/default.yml similarity index 100% rename from docs/guides/external-node/docker-compose-examples/grafana/provisioning/dashboards/default.yml rename to docs/src/guides/external-node/docker-compose-examples/grafana/provisioning/dashboards/default.yml diff --git a/docs/guides/external-node/docker-compose-examples/grafana/provisioning/datasources/prometheus.yml b/docs/src/guides/external-node/docker-compose-examples/grafana/provisioning/datasources/prometheus.yml similarity index 100% rename from docs/guides/external-node/docker-compose-examples/grafana/provisioning/datasources/prometheus.yml rename to docs/src/guides/external-node/docker-compose-examples/grafana/provisioning/datasources/prometheus.yml diff --git a/docs/guides/external-node/docker-compose-examples/mainnet-external-node-docker-compose.yml b/docs/src/guides/external-node/docker-compose-examples/mainnet-external-node-docker-compose.yml similarity index 100% rename from docs/guides/external-node/docker-compose-examples/mainnet-external-node-docker-compose.yml rename to docs/src/guides/external-node/docker-compose-examples/mainnet-external-node-docker-compose.yml diff --git a/docs/guides/external-node/docker-compose-examples/prometheus/prometheus.yml b/docs/src/guides/external-node/docker-compose-examples/prometheus/prometheus.yml similarity index 100% rename from docs/guides/external-node/docker-compose-examples/prometheus/prometheus.yml rename to docs/src/guides/external-node/docker-compose-examples/prometheus/prometheus.yml diff --git a/docs/guides/external-node/docker-compose-examples/testnet-external-node-docker-compose.yml b/docs/src/guides/external-node/docker-compose-examples/testnet-external-node-docker-compose.yml similarity index 100% rename from docs/guides/external-node/docker-compose-examples/testnet-external-node-docker-compose.yml rename to docs/src/guides/external-node/docker-compose-examples/testnet-external-node-docker-compose.yml diff --git a/docs/guides/external-node/prepared_configs/mainnet-config.env b/docs/src/guides/external-node/prepared_configs/mainnet-config.env similarity index 100% rename from docs/guides/external-node/prepared_configs/mainnet-config.env rename to docs/src/guides/external-node/prepared_configs/mainnet-config.env diff --git a/docs/guides/external-node/prepared_configs/mainnet_consensus_config.yaml b/docs/src/guides/external-node/prepared_configs/mainnet_consensus_config.yaml similarity index 100% rename from docs/guides/external-node/prepared_configs/mainnet_consensus_config.yaml rename to docs/src/guides/external-node/prepared_configs/mainnet_consensus_config.yaml diff --git a/docs/guides/external-node/prepared_configs/testnet-goerli-config-deprecated.env b/docs/src/guides/external-node/prepared_configs/testnet-goerli-config-deprecated.env similarity index 100% rename from docs/guides/external-node/prepared_configs/testnet-goerli-config-deprecated.env rename to docs/src/guides/external-node/prepared_configs/testnet-goerli-config-deprecated.env diff --git a/docs/guides/external-node/prepared_configs/testnet-sepolia-config.env b/docs/src/guides/external-node/prepared_configs/testnet-sepolia-config.env similarity index 100% rename from docs/guides/external-node/prepared_configs/testnet-sepolia-config.env rename to docs/src/guides/external-node/prepared_configs/testnet-sepolia-config.env diff --git a/docs/guides/external-node/prepared_configs/testnet_consensus_config.yaml b/docs/src/guides/external-node/prepared_configs/testnet_consensus_config.yaml similarity index 100% rename from docs/guides/external-node/prepared_configs/testnet_consensus_config.yaml rename to docs/src/guides/external-node/prepared_configs/testnet_consensus_config.yaml diff --git a/docs/guides/launch.md b/docs/src/guides/launch.md similarity index 100% rename from docs/guides/launch.md rename to docs/src/guides/launch.md diff --git a/docs/guides/repositories.md b/docs/src/guides/repositories.md similarity index 100% rename from docs/guides/repositories.md rename to docs/src/guides/repositories.md diff --git a/docs/guides/setup-dev.md b/docs/src/guides/setup-dev.md similarity index 100% rename from docs/guides/setup-dev.md rename to docs/src/guides/setup-dev.md diff --git a/docs/src/misc/contributors.md b/docs/src/misc/contributors.md new file mode 100644 index 000000000000..77e81149e465 --- /dev/null +++ b/docs/src/misc/contributors.md @@ -0,0 +1 @@ +# Contributors diff --git a/docs/specs/README.md b/docs/src/specs/README.md similarity index 100% rename from docs/specs/README.md rename to docs/src/specs/README.md diff --git a/docs/specs/blocks_batches.md b/docs/src/specs/blocks_batches.md similarity index 100% rename from docs/specs/blocks_batches.md rename to docs/src/specs/blocks_batches.md diff --git a/docs/specs/data_availability/README.md b/docs/src/specs/data_availability/README.md similarity index 100% rename from docs/specs/data_availability/README.md rename to docs/src/specs/data_availability/README.md diff --git a/docs/specs/data_availability/compression.md b/docs/src/specs/data_availability/compression.md similarity index 100% rename from docs/specs/data_availability/compression.md rename to docs/src/specs/data_availability/compression.md diff --git a/docs/specs/data_availability/overview.md b/docs/src/specs/data_availability/overview.md similarity index 100% rename from docs/specs/data_availability/overview.md rename to docs/src/specs/data_availability/overview.md diff --git a/docs/specs/data_availability/pubdata.md b/docs/src/specs/data_availability/pubdata.md similarity index 100% rename from docs/specs/data_availability/pubdata.md rename to docs/src/specs/data_availability/pubdata.md diff --git a/docs/specs/data_availability/reconstruction.md b/docs/src/specs/data_availability/reconstruction.md similarity index 100% rename from docs/specs/data_availability/reconstruction.md rename to docs/src/specs/data_availability/reconstruction.md diff --git a/docs/specs/data_availability/validium_zk_porter.md b/docs/src/specs/data_availability/validium_zk_porter.md similarity index 100% rename from docs/specs/data_availability/validium_zk_porter.md rename to docs/src/specs/data_availability/validium_zk_porter.md diff --git a/docs/specs/img/L2_Components.png b/docs/src/specs/img/L2_Components.png similarity index 100% rename from docs/specs/img/L2_Components.png rename to docs/src/specs/img/L2_Components.png diff --git a/docs/specs/img/diamondProxy.jpg b/docs/src/specs/img/diamondProxy.jpg similarity index 100% rename from docs/specs/img/diamondProxy.jpg rename to docs/src/specs/img/diamondProxy.jpg diff --git a/docs/specs/img/governance.jpg b/docs/src/specs/img/governance.jpg similarity index 100% rename from docs/specs/img/governance.jpg rename to docs/src/specs/img/governance.jpg diff --git a/docs/specs/img/zk-the-collective-action.jpeg b/docs/src/specs/img/zk-the-collective-action.jpeg similarity index 100% rename from docs/specs/img/zk-the-collective-action.jpeg rename to docs/src/specs/img/zk-the-collective-action.jpeg diff --git a/docs/specs/introduction.md b/docs/src/specs/introduction.md similarity index 100% rename from docs/specs/introduction.md rename to docs/src/specs/introduction.md diff --git a/docs/specs/l1_l2_communication/README.md b/docs/src/specs/l1_l2_communication/README.md similarity index 100% rename from docs/specs/l1_l2_communication/README.md rename to docs/src/specs/l1_l2_communication/README.md diff --git a/docs/specs/l1_l2_communication/l1_to_l2.md b/docs/src/specs/l1_l2_communication/l1_to_l2.md similarity index 100% rename from docs/specs/l1_l2_communication/l1_to_l2.md rename to docs/src/specs/l1_l2_communication/l1_to_l2.md diff --git a/docs/specs/l1_l2_communication/l2_to_l1.md b/docs/src/specs/l1_l2_communication/l2_to_l1.md similarity index 100% rename from docs/specs/l1_l2_communication/l2_to_l1.md rename to docs/src/specs/l1_l2_communication/l2_to_l1.md diff --git a/docs/specs/l1_l2_communication/overview_deposits_withdrawals.md b/docs/src/specs/l1_l2_communication/overview_deposits_withdrawals.md similarity index 100% rename from docs/specs/l1_l2_communication/overview_deposits_withdrawals.md rename to docs/src/specs/l1_l2_communication/overview_deposits_withdrawals.md diff --git a/docs/specs/l1_smart_contracts.md b/docs/src/specs/l1_smart_contracts.md similarity index 100% rename from docs/specs/l1_smart_contracts.md rename to docs/src/specs/l1_smart_contracts.md diff --git a/docs/specs/overview.md b/docs/src/specs/overview.md similarity index 100% rename from docs/specs/overview.md rename to docs/src/specs/overview.md diff --git a/docs/specs/prover/README.md b/docs/src/specs/prover/README.md similarity index 100% rename from docs/specs/prover/README.md rename to docs/src/specs/prover/README.md diff --git a/docs/specs/prover/boojum_function_check_if_satisfied.md b/docs/src/specs/prover/boojum_function_check_if_satisfied.md similarity index 100% rename from docs/specs/prover/boojum_function_check_if_satisfied.md rename to docs/src/specs/prover/boojum_function_check_if_satisfied.md diff --git a/docs/specs/prover/boojum_gadgets.md b/docs/src/specs/prover/boojum_gadgets.md similarity index 100% rename from docs/specs/prover/boojum_gadgets.md rename to docs/src/specs/prover/boojum_gadgets.md diff --git a/docs/specs/prover/circuit_testing.md b/docs/src/specs/prover/circuit_testing.md similarity index 100% rename from docs/specs/prover/circuit_testing.md rename to docs/src/specs/prover/circuit_testing.md diff --git a/docs/specs/prover/circuits/README.md b/docs/src/specs/prover/circuits/README.md similarity index 100% rename from docs/specs/prover/circuits/README.md rename to docs/src/specs/prover/circuits/README.md diff --git a/docs/specs/prover/circuits/code_decommitter.md b/docs/src/specs/prover/circuits/code_decommitter.md similarity index 100% rename from docs/specs/prover/circuits/code_decommitter.md rename to docs/src/specs/prover/circuits/code_decommitter.md diff --git a/docs/specs/prover/circuits/demux_log_queue.md b/docs/src/specs/prover/circuits/demux_log_queue.md similarity index 100% rename from docs/specs/prover/circuits/demux_log_queue.md rename to docs/src/specs/prover/circuits/demux_log_queue.md diff --git a/docs/specs/prover/circuits/ecrecover.md b/docs/src/specs/prover/circuits/ecrecover.md similarity index 100% rename from docs/specs/prover/circuits/ecrecover.md rename to docs/src/specs/prover/circuits/ecrecover.md diff --git a/docs/specs/prover/circuits/img/diagram.png b/docs/src/specs/prover/circuits/img/diagram.png similarity index 100% rename from docs/specs/prover/circuits/img/diagram.png rename to docs/src/specs/prover/circuits/img/diagram.png diff --git a/docs/specs/prover/circuits/img/flowchart.png b/docs/src/specs/prover/circuits/img/flowchart.png similarity index 100% rename from docs/specs/prover/circuits/img/flowchart.png rename to docs/src/specs/prover/circuits/img/flowchart.png diff --git a/docs/specs/prover/circuits/img/image.png b/docs/src/specs/prover/circuits/img/image.png similarity index 100% rename from docs/specs/prover/circuits/img/image.png rename to docs/src/specs/prover/circuits/img/image.png diff --git a/docs/specs/prover/circuits/keccak_round_function.md b/docs/src/specs/prover/circuits/keccak_round_function.md similarity index 100% rename from docs/specs/prover/circuits/keccak_round_function.md rename to docs/src/specs/prover/circuits/keccak_round_function.md diff --git a/docs/specs/prover/circuits/l1_messages_hasher.md b/docs/src/specs/prover/circuits/l1_messages_hasher.md similarity index 100% rename from docs/specs/prover/circuits/l1_messages_hasher.md rename to docs/src/specs/prover/circuits/l1_messages_hasher.md diff --git a/docs/specs/prover/circuits/log_sorter.md b/docs/src/specs/prover/circuits/log_sorter.md similarity index 100% rename from docs/specs/prover/circuits/log_sorter.md rename to docs/src/specs/prover/circuits/log_sorter.md diff --git a/docs/specs/prover/circuits/main_vm.md b/docs/src/specs/prover/circuits/main_vm.md similarity index 100% rename from docs/specs/prover/circuits/main_vm.md rename to docs/src/specs/prover/circuits/main_vm.md diff --git a/docs/specs/prover/circuits/overview.md b/docs/src/specs/prover/circuits/overview.md similarity index 100% rename from docs/specs/prover/circuits/overview.md rename to docs/src/specs/prover/circuits/overview.md diff --git a/docs/specs/prover/circuits/ram_permutation.md b/docs/src/specs/prover/circuits/ram_permutation.md similarity index 100% rename from docs/specs/prover/circuits/ram_permutation.md rename to docs/src/specs/prover/circuits/ram_permutation.md diff --git a/docs/specs/prover/circuits/sha256_round_function.md b/docs/src/specs/prover/circuits/sha256_round_function.md similarity index 100% rename from docs/specs/prover/circuits/sha256_round_function.md rename to docs/src/specs/prover/circuits/sha256_round_function.md diff --git a/docs/specs/prover/circuits/sort_decommitments.md b/docs/src/specs/prover/circuits/sort_decommitments.md similarity index 100% rename from docs/specs/prover/circuits/sort_decommitments.md rename to docs/src/specs/prover/circuits/sort_decommitments.md diff --git a/docs/specs/prover/circuits/sorting.md b/docs/src/specs/prover/circuits/sorting.md similarity index 100% rename from docs/specs/prover/circuits/sorting.md rename to docs/src/specs/prover/circuits/sorting.md diff --git a/docs/specs/prover/circuits/sorting_and_deduplicating.md b/docs/src/specs/prover/circuits/sorting_and_deduplicating.md similarity index 100% rename from docs/specs/prover/circuits/sorting_and_deduplicating.md rename to docs/src/specs/prover/circuits/sorting_and_deduplicating.md diff --git a/docs/specs/prover/circuits/storage_application.md b/docs/src/specs/prover/circuits/storage_application.md similarity index 100% rename from docs/specs/prover/circuits/storage_application.md rename to docs/src/specs/prover/circuits/storage_application.md diff --git a/docs/specs/prover/circuits/storage_sorter.md b/docs/src/specs/prover/circuits/storage_sorter.md similarity index 100% rename from docs/specs/prover/circuits/storage_sorter.md rename to docs/src/specs/prover/circuits/storage_sorter.md diff --git a/docs/specs/prover/getting_started.md b/docs/src/specs/prover/getting_started.md similarity index 100% rename from docs/specs/prover/getting_started.md rename to docs/src/specs/prover/getting_started.md diff --git a/docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(1).png b/docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(1).png similarity index 100% rename from docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(1).png rename to docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(1).png diff --git a/docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(11).png b/docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(11).png similarity index 100% rename from docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(11).png rename to docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(11).png diff --git a/docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(12).png b/docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(12).png similarity index 100% rename from docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(12).png rename to docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(12).png diff --git a/docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(13).png b/docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(13).png similarity index 100% rename from docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(13).png rename to docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(13).png diff --git a/docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(14).png b/docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(14).png similarity index 100% rename from docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(14).png rename to docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(14).png diff --git a/docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(16).png b/docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(16).png similarity index 100% rename from docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(16).png rename to docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(16).png diff --git a/docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(17).png b/docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(17).png similarity index 100% rename from docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(17).png rename to docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(17).png diff --git a/docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(2).png b/docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(2).png similarity index 100% rename from docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(2).png rename to docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(2).png diff --git a/docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(3).png b/docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(3).png similarity index 100% rename from docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(3).png rename to docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(3).png diff --git a/docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(4).png b/docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(4).png similarity index 100% rename from docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(4).png rename to docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(4).png diff --git a/docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(7).png b/docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(7).png similarity index 100% rename from docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(7).png rename to docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(7).png diff --git a/docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(8).png b/docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(8).png similarity index 100% rename from docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(8).png rename to docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(8).png diff --git a/docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(9).png b/docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(9).png similarity index 100% rename from docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(9).png rename to docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied(9).png diff --git a/docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied.png b/docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied.png similarity index 100% rename from docs/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied.png rename to docs/src/specs/prover/img/boojum_function_check_if_satisfied/Check_if_satisfied.png diff --git a/docs/specs/prover/img/circuit_testing/Contest(10).png b/docs/src/specs/prover/img/circuit_testing/Contest(10).png similarity index 100% rename from docs/specs/prover/img/circuit_testing/Contest(10).png rename to docs/src/specs/prover/img/circuit_testing/Contest(10).png diff --git a/docs/specs/prover/img/circuit_testing/Contest(11).png b/docs/src/specs/prover/img/circuit_testing/Contest(11).png similarity index 100% rename from docs/specs/prover/img/circuit_testing/Contest(11).png rename to docs/src/specs/prover/img/circuit_testing/Contest(11).png diff --git a/docs/specs/prover/img/circuit_testing/Contest(12).png b/docs/src/specs/prover/img/circuit_testing/Contest(12).png similarity index 100% rename from docs/specs/prover/img/circuit_testing/Contest(12).png rename to docs/src/specs/prover/img/circuit_testing/Contest(12).png diff --git a/docs/specs/prover/img/circuit_testing/Contest(4).png b/docs/src/specs/prover/img/circuit_testing/Contest(4).png similarity index 100% rename from docs/specs/prover/img/circuit_testing/Contest(4).png rename to docs/src/specs/prover/img/circuit_testing/Contest(4).png diff --git a/docs/specs/prover/img/circuit_testing/Contest(5).png b/docs/src/specs/prover/img/circuit_testing/Contest(5).png similarity index 100% rename from docs/specs/prover/img/circuit_testing/Contest(5).png rename to docs/src/specs/prover/img/circuit_testing/Contest(5).png diff --git a/docs/specs/prover/img/circuit_testing/Contest(6).png b/docs/src/specs/prover/img/circuit_testing/Contest(6).png similarity index 100% rename from docs/specs/prover/img/circuit_testing/Contest(6).png rename to docs/src/specs/prover/img/circuit_testing/Contest(6).png diff --git a/docs/specs/prover/img/circuit_testing/Contest(7).png b/docs/src/specs/prover/img/circuit_testing/Contest(7).png similarity index 100% rename from docs/specs/prover/img/circuit_testing/Contest(7).png rename to docs/src/specs/prover/img/circuit_testing/Contest(7).png diff --git a/docs/specs/prover/img/circuit_testing/Contest(8).png b/docs/src/specs/prover/img/circuit_testing/Contest(8).png similarity index 100% rename from docs/specs/prover/img/circuit_testing/Contest(8).png rename to docs/src/specs/prover/img/circuit_testing/Contest(8).png diff --git a/docs/specs/prover/img/circuit_testing/Contest(9).png b/docs/src/specs/prover/img/circuit_testing/Contest(9).png similarity index 100% rename from docs/specs/prover/img/circuit_testing/Contest(9).png rename to docs/src/specs/prover/img/circuit_testing/Contest(9).png diff --git "a/docs/specs/prover/img/intro_to_zkSync\342\200\231s_ZK/circuit.png" "b/docs/src/specs/prover/img/intro_to_zkSync\342\200\231s_ZK/circuit.png" similarity index 100% rename from "docs/specs/prover/img/intro_to_zkSync\342\200\231s_ZK/circuit.png" rename to "docs/src/specs/prover/img/intro_to_zkSync\342\200\231s_ZK/circuit.png" diff --git a/docs/specs/prover/overview.md b/docs/src/specs/prover/overview.md similarity index 100% rename from docs/specs/prover/overview.md rename to docs/src/specs/prover/overview.md diff --git a/docs/specs/prover/zk_terminology.md b/docs/src/specs/prover/zk_terminology.md similarity index 100% rename from docs/specs/prover/zk_terminology.md rename to docs/src/specs/prover/zk_terminology.md diff --git a/docs/specs/zk_chains/README.md b/docs/src/specs/zk_chains/README.md similarity index 100% rename from docs/specs/zk_chains/README.md rename to docs/src/specs/zk_chains/README.md diff --git a/docs/specs/zk_chains/gateway.md b/docs/src/specs/zk_chains/gateway.md similarity index 100% rename from docs/specs/zk_chains/gateway.md rename to docs/src/specs/zk_chains/gateway.md diff --git a/docs/specs/zk_chains/img/contractsExternal.png b/docs/src/specs/zk_chains/img/contractsExternal.png similarity index 100% rename from docs/specs/zk_chains/img/contractsExternal.png rename to docs/src/specs/zk_chains/img/contractsExternal.png diff --git a/docs/specs/zk_chains/img/deployWeth.png b/docs/src/specs/zk_chains/img/deployWeth.png similarity index 100% rename from docs/specs/zk_chains/img/deployWeth.png rename to docs/src/specs/zk_chains/img/deployWeth.png diff --git a/docs/specs/zk_chains/img/depositWeth.png b/docs/src/specs/zk_chains/img/depositWeth.png similarity index 100% rename from docs/specs/zk_chains/img/depositWeth.png rename to docs/src/specs/zk_chains/img/depositWeth.png diff --git a/docs/specs/zk_chains/img/hyperbridges.png b/docs/src/specs/zk_chains/img/hyperbridges.png similarity index 100% rename from docs/specs/zk_chains/img/hyperbridges.png rename to docs/src/specs/zk_chains/img/hyperbridges.png diff --git a/docs/specs/zk_chains/img/hyperbridging.png b/docs/src/specs/zk_chains/img/hyperbridging.png similarity index 100% rename from docs/specs/zk_chains/img/hyperbridging.png rename to docs/src/specs/zk_chains/img/hyperbridging.png diff --git a/docs/specs/zk_chains/img/newChain.png b/docs/src/specs/zk_chains/img/newChain.png similarity index 100% rename from docs/specs/zk_chains/img/newChain.png rename to docs/src/specs/zk_chains/img/newChain.png diff --git a/docs/specs/zk_chains/interop.md b/docs/src/specs/zk_chains/interop.md similarity index 100% rename from docs/specs/zk_chains/interop.md rename to docs/src/specs/zk_chains/interop.md diff --git a/docs/specs/zk_chains/overview.md b/docs/src/specs/zk_chains/overview.md similarity index 100% rename from docs/specs/zk_chains/overview.md rename to docs/src/specs/zk_chains/overview.md diff --git a/docs/specs/zk_chains/shared_bridge.md b/docs/src/specs/zk_chains/shared_bridge.md similarity index 100% rename from docs/specs/zk_chains/shared_bridge.md rename to docs/src/specs/zk_chains/shared_bridge.md diff --git a/docs/specs/zk_evm/README.md b/docs/src/specs/zk_evm/README.md similarity index 100% rename from docs/specs/zk_evm/README.md rename to docs/src/specs/zk_evm/README.md diff --git a/docs/specs/zk_evm/account_abstraction.md b/docs/src/specs/zk_evm/account_abstraction.md similarity index 100% rename from docs/specs/zk_evm/account_abstraction.md rename to docs/src/specs/zk_evm/account_abstraction.md diff --git a/docs/specs/zk_evm/bootloader.md b/docs/src/specs/zk_evm/bootloader.md similarity index 100% rename from docs/specs/zk_evm/bootloader.md rename to docs/src/specs/zk_evm/bootloader.md diff --git a/docs/specs/zk_evm/fee_model.md b/docs/src/specs/zk_evm/fee_model.md similarity index 100% rename from docs/specs/zk_evm/fee_model.md rename to docs/src/specs/zk_evm/fee_model.md diff --git a/docs/specs/zk_evm/precompiles.md b/docs/src/specs/zk_evm/precompiles.md similarity index 100% rename from docs/specs/zk_evm/precompiles.md rename to docs/src/specs/zk_evm/precompiles.md diff --git a/docs/specs/zk_evm/system_contracts.md b/docs/src/specs/zk_evm/system_contracts.md similarity index 100% rename from docs/specs/zk_evm/system_contracts.md rename to docs/src/specs/zk_evm/system_contracts.md diff --git a/docs/specs/zk_evm/vm_overview.md b/docs/src/specs/zk_evm/vm_overview.md similarity index 100% rename from docs/specs/zk_evm/vm_overview.md rename to docs/src/specs/zk_evm/vm_overview.md diff --git a/docs/specs/zk_evm/vm_specification/EraVM_formal_specification.pdf b/docs/src/specs/zk_evm/vm_specification/EraVM_formal_specification.pdf similarity index 100% rename from docs/specs/zk_evm/vm_specification/EraVM_formal_specification.pdf rename to docs/src/specs/zk_evm/vm_specification/EraVM_formal_specification.pdf diff --git a/docs/specs/zk_evm/vm_specification/README.md b/docs/src/specs/zk_evm/vm_specification/README.md similarity index 100% rename from docs/specs/zk_evm/vm_specification/README.md rename to docs/src/specs/zk_evm/vm_specification/README.md diff --git a/docs/specs/zk_evm/vm_specification/compiler/README.md b/docs/src/specs/zk_evm/vm_specification/compiler/README.md similarity index 100% rename from docs/specs/zk_evm/vm_specification/compiler/README.md rename to docs/src/specs/zk_evm/vm_specification/compiler/README.md diff --git a/docs/specs/zk_evm/vm_specification/compiler/code_separation.md b/docs/src/specs/zk_evm/vm_specification/compiler/code_separation.md similarity index 100% rename from docs/specs/zk_evm/vm_specification/compiler/code_separation.md rename to docs/src/specs/zk_evm/vm_specification/compiler/code_separation.md diff --git a/docs/specs/zk_evm/vm_specification/compiler/evmla_translator.md b/docs/src/specs/zk_evm/vm_specification/compiler/evmla_translator.md similarity index 100% rename from docs/specs/zk_evm/vm_specification/compiler/evmla_translator.md rename to docs/src/specs/zk_evm/vm_specification/compiler/evmla_translator.md diff --git a/docs/specs/zk_evm/vm_specification/compiler/exception_handling.md b/docs/src/specs/zk_evm/vm_specification/compiler/exception_handling.md similarity index 100% rename from docs/specs/zk_evm/vm_specification/compiler/exception_handling.md rename to docs/src/specs/zk_evm/vm_specification/compiler/exception_handling.md diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/README.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/README.md similarity index 100% rename from docs/specs/zk_evm/vm_specification/compiler/instructions/README.md rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/README.md diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/evm/README.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/README.md similarity index 100% rename from docs/specs/zk_evm/vm_specification/compiler/instructions/evm/README.md rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/README.md diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/evm/arithmetic.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/arithmetic.md similarity index 100% rename from docs/specs/zk_evm/vm_specification/compiler/instructions/evm/arithmetic.md rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/arithmetic.md diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/evm/bitwise.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/bitwise.md similarity index 100% rename from docs/specs/zk_evm/vm_specification/compiler/instructions/evm/bitwise.md rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/bitwise.md diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/evm/block.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/block.md similarity index 100% rename from docs/specs/zk_evm/vm_specification/compiler/instructions/evm/block.md rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/block.md diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/evm/call.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/call.md similarity index 100% rename from docs/specs/zk_evm/vm_specification/compiler/instructions/evm/call.md rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/call.md diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/evm/create.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/create.md similarity index 100% rename from docs/specs/zk_evm/vm_specification/compiler/instructions/evm/create.md rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/create.md diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/evm/environment.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/environment.md similarity index 100% rename from docs/specs/zk_evm/vm_specification/compiler/instructions/evm/environment.md rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/environment.md diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/evm/logging.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/logging.md similarity index 100% rename from docs/specs/zk_evm/vm_specification/compiler/instructions/evm/logging.md rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/logging.md diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/evm/logical.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/logical.md similarity index 100% rename from docs/specs/zk_evm/vm_specification/compiler/instructions/evm/logical.md rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/logical.md diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/evm/memory.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/memory.md similarity index 100% rename from docs/specs/zk_evm/vm_specification/compiler/instructions/evm/memory.md rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/memory.md diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/evm/overview.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/overview.md similarity index 100% rename from docs/specs/zk_evm/vm_specification/compiler/instructions/evm/overview.md rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/overview.md diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/evm/return.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/return.md similarity index 100% rename from docs/specs/zk_evm/vm_specification/compiler/instructions/evm/return.md rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/return.md diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/evm/sha3.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/sha3.md similarity index 100% rename from docs/specs/zk_evm/vm_specification/compiler/instructions/evm/sha3.md rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/sha3.md diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/evm/stack.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/stack.md similarity index 100% rename from docs/specs/zk_evm/vm_specification/compiler/instructions/evm/stack.md rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/evm/stack.md diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/evmla.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/evmla.md similarity index 100% rename from docs/specs/zk_evm/vm_specification/compiler/instructions/evmla.md rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/evmla.md diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/extensions/README.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/extensions/README.md similarity index 100% rename from docs/specs/zk_evm/vm_specification/compiler/instructions/extensions/README.md rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/extensions/README.md diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/extensions/call.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/extensions/call.md similarity index 100% rename from docs/specs/zk_evm/vm_specification/compiler/instructions/extensions/call.md rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/extensions/call.md diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/extensions/overview.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/extensions/overview.md similarity index 100% rename from docs/specs/zk_evm/vm_specification/compiler/instructions/extensions/overview.md rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/extensions/overview.md diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/extensions/verbatim.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/extensions/verbatim.md similarity index 100% rename from docs/specs/zk_evm/vm_specification/compiler/instructions/extensions/verbatim.md rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/extensions/verbatim.md diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/overview.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/overview.md similarity index 100% rename from docs/specs/zk_evm/vm_specification/compiler/instructions/overview.md rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/overview.md diff --git a/docs/specs/zk_evm/vm_specification/compiler/instructions/yul.md b/docs/src/specs/zk_evm/vm_specification/compiler/instructions/yul.md similarity index 100% rename from docs/specs/zk_evm/vm_specification/compiler/instructions/yul.md rename to docs/src/specs/zk_evm/vm_specification/compiler/instructions/yul.md diff --git a/docs/specs/zk_evm/vm_specification/compiler/overview.md b/docs/src/specs/zk_evm/vm_specification/compiler/overview.md similarity index 100% rename from docs/specs/zk_evm/vm_specification/compiler/overview.md rename to docs/src/specs/zk_evm/vm_specification/compiler/overview.md diff --git a/docs/specs/zk_evm/vm_specification/compiler/system_contracts.md b/docs/src/specs/zk_evm/vm_specification/compiler/system_contracts.md similarity index 100% rename from docs/specs/zk_evm/vm_specification/compiler/system_contracts.md rename to docs/src/specs/zk_evm/vm_specification/compiler/system_contracts.md diff --git a/docs/specs/zk_evm/vm_specification/img/arch-overview.png b/docs/src/specs/zk_evm/vm_specification/img/arch-overview.png similarity index 100% rename from docs/specs/zk_evm/vm_specification/img/arch-overview.png rename to docs/src/specs/zk_evm/vm_specification/img/arch-overview.png diff --git a/docs/specs/zk_evm/vm_specification/img/arithmetic_opcode.png b/docs/src/specs/zk_evm/vm_specification/img/arithmetic_opcode.png similarity index 100% rename from docs/specs/zk_evm/vm_specification/img/arithmetic_opcode.png rename to docs/src/specs/zk_evm/vm_specification/img/arithmetic_opcode.png diff --git a/docs/specs/zk_evm/vm_specification/zkSync_era_virtual_machine_primer.md b/docs/src/specs/zk_evm/vm_specification/zkSync_era_virtual_machine_primer.md similarity index 100% rename from docs/specs/zk_evm/vm_specification/zkSync_era_virtual_machine_primer.md rename to docs/src/specs/zk_evm/vm_specification/zkSync_era_virtual_machine_primer.md diff --git a/prover/docs/.gitignore b/prover/docs/.gitignore new file mode 100644 index 000000000000..7585238efedf --- /dev/null +++ b/prover/docs/.gitignore @@ -0,0 +1 @@ +book diff --git a/prover/docs/99_further_reading.md b/prover/docs/99_further_reading.md deleted file mode 100644 index 64487a715d57..000000000000 --- a/prover/docs/99_further_reading.md +++ /dev/null @@ -1,13 +0,0 @@ -# Further reading - -The documentation in this section aimed to provide a practical overview of the prover workspace, e.g. help people to -understand how to run provers and what they do. - -However, we have some documentation that is more focused on theory of proving in the [core workspace docs](../../docs/). - -You may find the following articles helpful for general understanding of ZK proofs: - -- [ZK intuition](../../docs/guides/advanced/13_zk_intuition.md). -- [ZK deeper overview](../../docs/guides/advanced/14_zk_deeper_overview.md). -- [Prover keys](../../docs/guides/advanced/15_prover_keys.md). -- [Overview of our ZK proving system implementation](../../docs/specs/prover/). diff --git a/prover/docs/book.toml b/prover/docs/book.toml new file mode 100644 index 000000000000..3adefff29819 --- /dev/null +++ b/prover/docs/book.toml @@ -0,0 +1,32 @@ +[book] +authors = ["ZKsync team"] +language = "en" +multilingual = false +src = "src" +title = "ZKsync Prover Documentation" + +[output.html] +smart-punctuation = true +mathjax-support = true +git-repository-url = "https://github.com/matter-labs/zksync-era/tree/main/prover/docs" +edit-url-template = "https://github.com/matter-labs/zksync-era/tree/main/prover/docs/{path}" +additional-js = ["js/version-box.js", "js/mermaid.min.js", "js/mermaid-init.js"] +additional-css = ["css/version-box.css"] + +[output.html.playground] +editable = true +line-numbers = true + +[output.html.search] +limit-results = 20 +use-boolean-and = true +boost-title = 2 +boost-hierarchy = 2 +boost-paragraph = 1 +expand = true +heading-split-level = 2 + +[preprocessor] + +[preprocessor.mermaid] +command = "mdbook-mermaid" diff --git a/prover/docs/css/version-box.css b/prover/docs/css/version-box.css new file mode 100644 index 000000000000..4006ac7804b3 --- /dev/null +++ b/prover/docs/css/version-box.css @@ -0,0 +1,46 @@ +#version-box { + display: flex; + align-items: center; + margin-right: 15px; /* Space from the right side */ + background-color: transparent; /* Make the box background transparent */ +} + +/* Base styles for the version selector */ +#version-selector { + background-color: transparent; /* Remove background color */ + border: 1px solid #4a5568; /* Subtle border */ + border-radius: 4px; /* Rounded edges */ + padding: 5px 10px; /* Padding inside dropdown */ + font-size: 0.9em; + font-weight: normal; + outline: none; /* Removes default focus outline */ + cursor: pointer; +} + +/* Text color for dark themes */ +.theme-navy #version-selector, +.theme-coal #version-selector { + color: #f7fafc; /* Light text color for dark backgrounds */ +} + +/* Text color for light theme */ +.theme-light #version-selector { + color: #333333; /* Dark text color for light background */ +} + +/* Hover effect for better user feedback */ +#version-selector:hover { + background-color: rgba(255, 255, 255, 0.1); /* Light hover effect */ +} + +/* Optional: Style for when the selector is focused */ +#version-selector:focus { + border-color: #63b3ed; /* Accent color for focused state */ +} + +.right-buttons { + display: flex; + flex-direction: row; /* Aligns items in a row, left to right */ + align-items: center; /* Centers items vertically */ + gap: 10px; /* Adds space between items */ +} diff --git a/prover/docs/js/mermaid-init.js b/prover/docs/js/mermaid-init.js new file mode 100644 index 000000000000..15a7f4e57c60 --- /dev/null +++ b/prover/docs/js/mermaid-init.js @@ -0,0 +1,35 @@ +(() => { + const darkThemes = ['ayu', 'navy', 'coal']; + const lightThemes = ['light', 'rust']; + + const classList = document.getElementsByTagName('html')[0].classList; + + let lastThemeWasLight = true; + for (const cssClass of classList) { + if (darkThemes.includes(cssClass)) { + lastThemeWasLight = false; + break; + } + } + + const theme = lastThemeWasLight ? 'default' : 'dark'; + mermaid.initialize({ startOnLoad: true, theme }); + + // Simplest way to make mermaid re-render the diagrams in the new theme is via refreshing the page + + for (const darkTheme of darkThemes) { + document.getElementById(darkTheme).addEventListener('click', () => { + if (lastThemeWasLight) { + window.location.reload(); + } + }); + } + + for (const lightTheme of lightThemes) { + document.getElementById(lightTheme).addEventListener('click', () => { + if (!lastThemeWasLight) { + window.location.reload(); + } + }); + } +})(); diff --git a/prover/docs/js/mermaid.min.js b/prover/docs/js/mermaid.min.js new file mode 100644 index 000000000000..1f2f8474b960 --- /dev/null +++ b/prover/docs/js/mermaid.min.js @@ -0,0 +1,133495 @@ +'use strict'; +var __esbuild_esm_mermaid = (() => { + var Pve = Object.create; + var G1 = Object.defineProperty; + var Bve = Object.getOwnPropertyDescriptor; + var Fve = Object.getOwnPropertyNames; + var zve = Object.getPrototypeOf, + Gve = Object.prototype.hasOwnProperty; + var o = (t, e) => G1(t, 'name', { value: e, configurable: !0 }); + var R = (t, e) => () => (t && (e = t((t = 0))), e); + var gi = (t, e) => () => (e || t((e = { exports: {} }).exports, e), e.exports), + hr = (t, e) => { + for (var r in e) G1(t, r, { get: e[r], enumerable: !0 }); + }, + Rb = (t, e, r, n) => { + if ((e && typeof e == 'object') || typeof e == 'function') + for (let i of Fve(e)) + !Gve.call(t, i) && + i !== r && + G1(t, i, { + get: () => e[i], + enumerable: !(n = Bve(e, i)) || n.enumerable + }); + return t; + }, + dr = (t, e, r) => (Rb(t, e, 'default'), r && Rb(r, e, 'default')), + Xi = (t, e, r) => ( + (r = t != null ? Pve(zve(t)) : {}), + Rb(e || !t || !t.__esModule ? G1(r, 'default', { value: t, enumerable: !0 }) : r, t) + ), + $ve = (t) => Rb(G1({}, '__esModule', { value: !0 }), t); + var Nb = gi((AC, _C) => { + 'use strict'; + (function (t, e) { + typeof AC == 'object' && typeof _C < 'u' + ? (_C.exports = e()) + : typeof define == 'function' && define.amd + ? define(e) + : ((t = typeof globalThis < 'u' ? globalThis : t || self).dayjs = e()); + })(AC, function () { + 'use strict'; + var t = 1e3, + e = 6e4, + r = 36e5, + n = 'millisecond', + i = 'second', + a = 'minute', + s = 'hour', + l = 'day', + u = 'week', + h = 'month', + f = 'quarter', + d = 'year', + p = 'date', + m = 'Invalid Date', + g = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, + y = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, + v = { + name: 'en', + weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( + '_' + ), + ordinal: o(function (k) { + var I = ['th', 'st', 'nd', 'rd'], + C = k % 100; + return '[' + k + (I[(C - 20) % 10] || I[C] || I[0]) + ']'; + }, 'ordinal') + }, + x = o(function (k, I, C) { + var O = String(k); + return !O || O.length >= I ? k : '' + Array(I + 1 - O.length).join(C) + k; + }, 'm'), + b = { + s: x, + z: o(function (k) { + var I = -k.utcOffset(), + C = Math.abs(I), + O = Math.floor(C / 60), + D = C % 60; + return (I <= 0 ? '+' : '-') + x(O, 2, '0') + ':' + x(D, 2, '0'); + }, 'z'), + m: o(function k(I, C) { + if (I.date() < C.date()) return -k(C, I); + var O = 12 * (C.year() - I.year()) + (C.month() - I.month()), + D = I.clone().add(O, h), + P = C - D < 0, + F = I.clone().add(O + (P ? -1 : 1), h); + return +(-(O + (C - D) / (P ? D - F : F - D)) || 0); + }, 't'), + a: o(function (k) { + return k < 0 ? Math.ceil(k) || 0 : Math.floor(k); + }, 'a'), + p: o(function (k) { + return ( + { M: h, y: d, w: u, d: l, D: p, h: s, m: a, s: i, ms: n, Q: f }[k] || + String(k || '') + .toLowerCase() + .replace(/s$/, '') + ); + }, 'p'), + u: o(function (k) { + return k === void 0; + }, 'u') + }, + w = 'en', + S = {}; + S[w] = v; + var T = '$isDayjsObject', + E = o(function (k) { + return k instanceof M || !(!k || !k[T]); + }, 'S'), + _ = o(function k(I, C, O) { + var D; + if (!I) return w; + if (typeof I == 'string') { + var P = I.toLowerCase(); + S[P] && (D = P), C && ((S[P] = C), (D = P)); + var F = I.split('-'); + if (!D && F.length > 1) return k(F[0]); + } else { + var B = I.name; + (S[B] = I), (D = B); + } + return !O && D && (w = D), D || (!O && w); + }, 't'), + A = o(function (k, I) { + if (E(k)) return k.clone(); + var C = typeof I == 'object' ? I : {}; + return (C.date = k), (C.args = arguments), new M(C); + }, 'O'), + L = b; + (L.l = _), + (L.i = E), + (L.w = function (k, I) { + return A(k, { locale: I.$L, utc: I.$u, x: I.$x, $offset: I.$offset }); + }); + var M = (function () { + function k(C) { + (this.$L = _(C.locale, null, !0)), + this.parse(C), + (this.$x = this.$x || C.x || {}), + (this[T] = !0); + } + o(k, 'M'); + var I = k.prototype; + return ( + (I.parse = function (C) { + (this.$d = (function (O) { + var D = O.date, + P = O.utc; + if (D === null) return new Date(NaN); + if (L.u(D)) return new Date(); + if (D instanceof Date) return new Date(D); + if (typeof D == 'string' && !/Z$/i.test(D)) { + var F = D.match(g); + if (F) { + var B = F[2] - 1 || 0, + $ = (F[7] || '0').substring(0, 3); + return P + ? new Date(Date.UTC(F[1], B, F[3] || 1, F[4] || 0, F[5] || 0, F[6] || 0, $)) + : new Date(F[1], B, F[3] || 1, F[4] || 0, F[5] || 0, F[6] || 0, $); + } + } + return new Date(D); + })(C)), + this.init(); + }), + (I.init = function () { + var C = this.$d; + (this.$y = C.getFullYear()), + (this.$M = C.getMonth()), + (this.$D = C.getDate()), + (this.$W = C.getDay()), + (this.$H = C.getHours()), + (this.$m = C.getMinutes()), + (this.$s = C.getSeconds()), + (this.$ms = C.getMilliseconds()); + }), + (I.$utils = function () { + return L; + }), + (I.isValid = function () { + return this.$d.toString() !== m; + }), + (I.isSame = function (C, O) { + var D = A(C); + return this.startOf(O) <= D && D <= this.endOf(O); + }), + (I.isAfter = function (C, O) { + return A(C) < this.startOf(O); + }), + (I.isBefore = function (C, O) { + return this.endOf(O) < A(C); + }), + (I.$g = function (C, O, D) { + return L.u(C) ? this[O] : this.set(D, C); + }), + (I.unix = function () { + return Math.floor(this.valueOf() / 1e3); + }), + (I.valueOf = function () { + return this.$d.getTime(); + }), + (I.startOf = function (C, O) { + var D = this, + P = !!L.u(O) || O, + F = L.p(C), + B = o(function (J, Z) { + var H = L.w(D.$u ? Date.UTC(D.$y, Z, J) : new Date(D.$y, Z, J), D); + return P ? H : H.endOf(l); + }, 'l'), + $ = o(function (J, Z) { + return L.w( + D.toDate()[J].apply( + D.toDate('s'), + (P ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(Z) + ), + D + ); + }, '$'), + z = this.$W, + Y = this.$M, + Q = this.$D, + X = 'set' + (this.$u ? 'UTC' : ''); + switch (F) { + case d: + return P ? B(1, 0) : B(31, 11); + case h: + return P ? B(1, Y) : B(0, Y + 1); + case u: + var ie = this.$locale().weekStart || 0, + j = (z < ie ? z + 7 : z) - ie; + return B(P ? Q - j : Q + (6 - j), Y); + case l: + case p: + return $(X + 'Hours', 0); + case s: + return $(X + 'Minutes', 1); + case a: + return $(X + 'Seconds', 2); + case i: + return $(X + 'Milliseconds', 3); + default: + return this.clone(); + } + }), + (I.endOf = function (C) { + return this.startOf(C, !1); + }), + (I.$set = function (C, O) { + var D, + P = L.p(C), + F = 'set' + (this.$u ? 'UTC' : ''), + B = ((D = {}), + (D[l] = F + 'Date'), + (D[p] = F + 'Date'), + (D[h] = F + 'Month'), + (D[d] = F + 'FullYear'), + (D[s] = F + 'Hours'), + (D[a] = F + 'Minutes'), + (D[i] = F + 'Seconds'), + (D[n] = F + 'Milliseconds'), + D)[P], + $ = P === l ? this.$D + (O - this.$W) : O; + if (P === h || P === d) { + var z = this.clone().set(p, 1); + z.$d[B]($), z.init(), (this.$d = z.set(p, Math.min(this.$D, z.daysInMonth())).$d); + } else B && this.$d[B]($); + return this.init(), this; + }), + (I.set = function (C, O) { + return this.clone().$set(C, O); + }), + (I.get = function (C) { + return this[L.p(C)](); + }), + (I.add = function (C, O) { + var D, + P = this; + C = Number(C); + var F = L.p(O), + B = o(function (Y) { + var Q = A(P); + return L.w(Q.date(Q.date() + Math.round(Y * C)), P); + }, 'y'); + if (F === h) return this.set(h, this.$M + C); + if (F === d) return this.set(d, this.$y + C); + if (F === l) return B(1); + if (F === u) return B(7); + var $ = ((D = {}), (D[a] = e), (D[s] = r), (D[i] = t), D)[F] || 1, + z = this.$d.getTime() + C * $; + return L.w(z, this); + }), + (I.subtract = function (C, O) { + return this.add(-1 * C, O); + }), + (I.format = function (C) { + var O = this, + D = this.$locale(); + if (!this.isValid()) return D.invalidDate || m; + var P = C || 'YYYY-MM-DDTHH:mm:ssZ', + F = L.z(this), + B = this.$H, + $ = this.$m, + z = this.$M, + Y = D.weekdays, + Q = D.months, + X = D.meridiem, + ie = o(function (Z, H, q, K) { + return (Z && (Z[H] || Z(O, P))) || q[H].slice(0, K); + }, 'h'), + j = o(function (Z) { + return L.s(B % 12 || 12, Z, '0'); + }, 'd'), + J = + X || + function (Z, H, q) { + var K = Z < 12 ? 'AM' : 'PM'; + return q ? K.toLowerCase() : K; + }; + return P.replace(y, function (Z, H) { + return ( + H || + (function (q) { + switch (q) { + case 'YY': + return String(O.$y).slice(-2); + case 'YYYY': + return L.s(O.$y, 4, '0'); + case 'M': + return z + 1; + case 'MM': + return L.s(z + 1, 2, '0'); + case 'MMM': + return ie(D.monthsShort, z, Q, 3); + case 'MMMM': + return ie(Q, z); + case 'D': + return O.$D; + case 'DD': + return L.s(O.$D, 2, '0'); + case 'd': + return String(O.$W); + case 'dd': + return ie(D.weekdaysMin, O.$W, Y, 2); + case 'ddd': + return ie(D.weekdaysShort, O.$W, Y, 3); + case 'dddd': + return Y[O.$W]; + case 'H': + return String(B); + case 'HH': + return L.s(B, 2, '0'); + case 'h': + return j(1); + case 'hh': + return j(2); + case 'a': + return J(B, $, !0); + case 'A': + return J(B, $, !1); + case 'm': + return String($); + case 'mm': + return L.s($, 2, '0'); + case 's': + return String(O.$s); + case 'ss': + return L.s(O.$s, 2, '0'); + case 'SSS': + return L.s(O.$ms, 3, '0'); + case 'Z': + return F; + } + return null; + })(Z) || + F.replace(':', '') + ); + }); + }), + (I.utcOffset = function () { + return 15 * -Math.round(this.$d.getTimezoneOffset() / 15); + }), + (I.diff = function (C, O, D) { + var P, + F = this, + B = L.p(O), + $ = A(C), + z = ($.utcOffset() - this.utcOffset()) * e, + Y = this - $, + Q = o(function () { + return L.m(F, $); + }, 'D'); + switch (B) { + case d: + P = Q() / 12; + break; + case h: + P = Q(); + break; + case f: + P = Q() / 3; + break; + case u: + P = (Y - z) / 6048e5; + break; + case l: + P = (Y - z) / 864e5; + break; + case s: + P = Y / r; + break; + case a: + P = Y / e; + break; + case i: + P = Y / t; + break; + default: + P = Y; + } + return D ? P : L.a(P); + }), + (I.daysInMonth = function () { + return this.endOf(h).$D; + }), + (I.$locale = function () { + return S[this.$L]; + }), + (I.locale = function (C, O) { + if (!C) return this.$L; + var D = this.clone(), + P = _(C, O, !0); + return P && (D.$L = P), D; + }), + (I.clone = function () { + return L.w(this.$d, this); + }), + (I.toDate = function () { + return new Date(this.valueOf()); + }), + (I.toJSON = function () { + return this.isValid() ? this.toISOString() : null; + }), + (I.toISOString = function () { + return this.$d.toISOString(); + }), + (I.toString = function () { + return this.$d.toUTCString(); + }), + k + ); + })(), + N = M.prototype; + return ( + (A.prototype = N), + [ + ['$ms', n], + ['$s', i], + ['$m', a], + ['$H', s], + ['$W', l], + ['$M', h], + ['$y', d], + ['$D', p] + ].forEach(function (k) { + N[k[1]] = function (I) { + return this.$g(I, k[0], k[1]); + }; + }), + (A.extend = function (k, I) { + return k.$i || (k(I, M, A), (k.$i = !0)), A; + }), + (A.locale = _), + (A.isDayjs = E), + (A.unix = function (k) { + return A(1e3 * k); + }), + (A.en = S[w]), + (A.Ls = S), + (A.p = {}), + A + ); + }); + }); + var LF, + Zc, + V, + $1, + Eo, + ut = R(() => { + 'use strict'; + (LF = Xi(Nb(), 1)), + (Zc = { trace: 0, debug: 1, info: 2, warn: 3, error: 4, fatal: 5 }), + (V = { + trace: o((...t) => {}, 'trace'), + debug: o((...t) => {}, 'debug'), + info: o((...t) => {}, 'info'), + warn: o((...t) => {}, 'warn'), + error: o((...t) => {}, 'error'), + fatal: o((...t) => {}, 'fatal') + }), + ($1 = o(function (t = 'fatal') { + let e = Zc.fatal; + typeof t == 'string' ? t.toLowerCase() in Zc && (e = Zc[t]) : typeof t == 'number' && (e = t), + (V.trace = () => {}), + (V.debug = () => {}), + (V.info = () => {}), + (V.warn = () => {}), + (V.error = () => {}), + (V.fatal = () => {}), + e <= Zc.fatal && + (V.fatal = console.error + ? console.error.bind(console, Eo('FATAL'), 'color: orange') + : console.log.bind(console, '\x1B[35m', Eo('FATAL'))), + e <= Zc.error && + (V.error = console.error + ? console.error.bind(console, Eo('ERROR'), 'color: orange') + : console.log.bind(console, '\x1B[31m', Eo('ERROR'))), + e <= Zc.warn && + (V.warn = console.warn + ? console.warn.bind(console, Eo('WARN'), 'color: orange') + : console.log.bind(console, '\x1B[33m', Eo('WARN'))), + e <= Zc.info && + (V.info = console.info + ? console.info.bind(console, Eo('INFO'), 'color: lightblue') + : console.log.bind(console, '\x1B[34m', Eo('INFO'))), + e <= Zc.debug && + (V.debug = console.debug + ? console.debug.bind(console, Eo('DEBUG'), 'color: lightgreen') + : console.log.bind(console, '\x1B[32m', Eo('DEBUG'))), + e <= Zc.trace && + (V.trace = console.debug + ? console.debug.bind(console, Eo('TRACE'), 'color: lightgreen') + : console.log.bind(console, '\x1B[32m', Eo('TRACE'))); + }, 'setLogLevel')), + (Eo = o((t) => `%c${(0, LF.default)().format('ss.SSS')} : ${t} : `, 'format')); + }); + var Vve, + np, + LC, + DF, + Mb = R(() => { + 'use strict'; + (Vve = Object.freeze({ left: 0, top: 0, width: 16, height: 16 })), + (np = Object.freeze({ rotate: 0, vFlip: !1, hFlip: !1 })), + (LC = Object.freeze({ ...Vve, ...np })), + (DF = Object.freeze({ ...LC, body: '', hidden: !1 })); + }); + var Uve, + RF, + NF = R(() => { + 'use strict'; + Mb(); + (Uve = Object.freeze({ width: null, height: null })), (RF = Object.freeze({ ...Uve, ...np })); + }); + var Ib, + DC, + Ob, + MF = R(() => { + 'use strict'; + (Ib = /^[a-z0-9]+(-[a-z0-9]+)*$/), + (DC = o((t, e, r, n = '') => { + let i = t.split(':'); + if (t.slice(0, 1) === '@') { + if (i.length < 2 || i.length > 3) return null; + n = i.shift().slice(1); + } + if (i.length > 3 || !i.length) return null; + if (i.length > 1) { + let l = i.pop(), + u = i.pop(), + h = { provider: i.length > 0 ? i[0] : n, prefix: u, name: l }; + return e && !Ob(h) ? null : h; + } + let a = i[0], + s = a.split('-'); + if (s.length > 1) { + let l = { provider: n, prefix: s.shift(), name: s.join('-') }; + return e && !Ob(l) ? null : l; + } + if (r && n === '') { + let l = { provider: n, prefix: '', name: a }; + return e && !Ob(l, r) ? null : l; + } + return null; + }, 'stringToIcon')), + (Ob = o( + (t, e) => + t + ? !!( + (t.provider === '' || t.provider.match(Ib)) && + ((e && t.prefix === '') || t.prefix.match(Ib)) && + t.name.match(Ib) + ) + : !1, + 'validateIconName' + )); + }); + function IF(t, e) { + let r = {}; + !t.hFlip != !e.hFlip && (r.hFlip = !0), !t.vFlip != !e.vFlip && (r.vFlip = !0); + let n = ((t.rotate || 0) + (e.rotate || 0)) % 4; + return n && (r.rotate = n), r; + } + var OF = R(() => { + 'use strict'; + o(IF, 'mergeIconTransformations'); + }); + function RC(t, e) { + let r = IF(t, e); + for (let n in DF) + n in np ? n in t && !(n in r) && (r[n] = np[n]) : n in e ? (r[n] = e[n]) : n in t && (r[n] = t[n]); + return r; + } + var PF = R(() => { + 'use strict'; + Mb(); + OF(); + o(RC, 'mergeIconData'); + }); + function BF(t, e) { + let r = t.icons, + n = t.aliases || Object.create(null), + i = Object.create(null); + function a(s) { + if (r[s]) return (i[s] = []); + if (!(s in i)) { + i[s] = null; + let l = n[s] && n[s].parent, + u = l && a(l); + u && (i[s] = [l].concat(u)); + } + return i[s]; + } + return o(a, 'resolve'), (e || Object.keys(r).concat(Object.keys(n))).forEach(a), i; + } + var FF = R(() => { + 'use strict'; + o(BF, 'getIconsTree'); + }); + function zF(t, e, r) { + let n = t.icons, + i = t.aliases || Object.create(null), + a = {}; + function s(l) { + a = RC(n[l] || i[l], a); + } + return o(s, 'parse'), s(e), r.forEach(s), RC(t, a); + } + function NC(t, e) { + if (t.icons[e]) return zF(t, e, []); + let r = BF(t, [e])[e]; + return r ? zF(t, e, r) : null; + } + var GF = R(() => { + 'use strict'; + PF(); + FF(); + o(zF, 'internalGetIconData'); + o(NC, 'getIconData'); + }); + function MC(t, e, r) { + if (e === 1) return t; + if (((r = r || 100), typeof t == 'number')) return Math.ceil(t * e * r) / r; + if (typeof t != 'string') return t; + let n = t.split(Hve); + if (n === null || !n.length) return t; + let i = [], + a = n.shift(), + s = Yve.test(a); + for (;;) { + if (s) { + let l = parseFloat(a); + isNaN(l) ? i.push(a) : i.push(Math.ceil(l * e * r) / r); + } else i.push(a); + if (((a = n.shift()), a === void 0)) return i.join(''); + s = !s; + } + } + var Hve, + Yve, + $F = R(() => { + 'use strict'; + (Hve = /(-?[0-9.]*[0-9]+[0-9.]*)/g), (Yve = /^-?[0-9.]*[0-9]+[0-9.]*$/g); + o(MC, 'calculateSize'); + }); + function Wve(t, e = 'defs') { + let r = '', + n = t.indexOf('<' + e); + for (; n >= 0; ) { + let i = t.indexOf('>', n), + a = t.indexOf('', a); + if (s === -1) break; + (r += t.slice(i + 1, a).trim()), (t = t.slice(0, n).trim() + t.slice(s + 1)); + } + return { defs: r, content: t }; + } + function qve(t, e) { + return t ? '' + t + '' + e : e; + } + function VF(t, e, r) { + let n = Wve(t); + return qve(n.defs, e + n.content + r); + } + var UF = R(() => { + 'use strict'; + o(Wve, 'splitSVGDefs'); + o(qve, 'mergeDefsAndContent'); + o(VF, 'wrapSVGContent'); + }); + function IC(t, e) { + let r = { ...LC, ...t }, + n = { ...RF, ...e }, + i = { left: r.left, top: r.top, width: r.width, height: r.height }, + a = r.body; + [r, n].forEach((y) => { + let v = [], + x = y.hFlip, + b = y.vFlip, + w = y.rotate; + x + ? b + ? (w += 2) + : (v.push('translate(' + (i.width + i.left).toString() + ' ' + (0 - i.top).toString() + ')'), + v.push('scale(-1 1)'), + (i.top = i.left = 0)) + : b && + (v.push('translate(' + (0 - i.left).toString() + ' ' + (i.height + i.top).toString() + ')'), + v.push('scale(1 -1)'), + (i.top = i.left = 0)); + let S; + switch ((w < 0 && (w -= Math.floor(w / 4) * 4), (w = w % 4), w)) { + case 1: + (S = i.height / 2 + i.top), v.unshift('rotate(90 ' + S.toString() + ' ' + S.toString() + ')'); + break; + case 2: + v.unshift( + 'rotate(180 ' + + (i.width / 2 + i.left).toString() + + ' ' + + (i.height / 2 + i.top).toString() + + ')' + ); + break; + case 3: + (S = i.width / 2 + i.left), v.unshift('rotate(-90 ' + S.toString() + ' ' + S.toString() + ')'); + break; + } + w % 2 === 1 && + (i.left !== i.top && ((S = i.left), (i.left = i.top), (i.top = S)), + i.width !== i.height && ((S = i.width), (i.width = i.height), (i.height = S))), + v.length && (a = VF(a, '', '')); + }); + let s = n.width, + l = n.height, + u = i.width, + h = i.height, + f, + d; + s === null + ? ((d = l === null ? '1em' : l === 'auto' ? h : l), (f = MC(d, u / h))) + : ((f = s === 'auto' ? u : s), (d = l === null ? MC(f, h / u) : l === 'auto' ? h : l)); + let p = {}, + m = o((y, v) => { + Xve(v) || (p[y] = v.toString()); + }, 'setAttr'); + m('width', f), m('height', d); + let g = [i.left, i.top, u, h]; + return (p.viewBox = g.join(' ')), { attributes: p, viewBox: g, body: a }; + } + var Xve, + HF = R(() => { + 'use strict'; + Mb(); + NF(); + $F(); + UF(); + Xve = o((t) => t === 'unset' || t === 'undefined' || t === 'none', 'isUnsetKeyword'); + o(IC, 'iconToSVG'); + }); + function OC(t, e = Kve) { + let r = [], + n; + for (; (n = jve.exec(t)); ) r.push(n[1]); + if (!r.length) return t; + let i = 'suffix' + ((Math.random() * 16777216) | Date.now()).toString(16); + return ( + r.forEach((a) => { + let s = typeof e == 'function' ? e(a) : e + (Qve++).toString(), + l = a.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); + t = t.replace(new RegExp('([#;"])(' + l + ')([")]|\\.[a-z])', 'g'), '$1' + s + i + '$3'); + }), + (t = t.replace(new RegExp(i, 'g'), '')), + t + ); + } + var jve, + Kve, + Qve, + YF = R(() => { + 'use strict'; + (jve = /\sid="(\S+)"/g), + (Kve = 'IconifyId' + Date.now().toString(16) + ((Math.random() * 16777216) | 0).toString(16)), + (Qve = 0); + o(OC, 'replaceIDs'); + }); + function PC(t, e) { + let r = t.indexOf('xlink:') === -1 ? '' : ' xmlns:xlink="http://www.w3.org/1999/xlink"'; + for (let n in e) r += ' ' + n + '="' + e[n] + '"'; + return '' + t + ''; + } + var WF = R(() => { + 'use strict'; + o(PC, 'iconToHTML'); + }); + var XF = gi((ait, qF) => { + 'use strict'; + var ip = 1e3, + ap = ip * 60, + sp = ap * 60, + $f = sp * 24, + Zve = $f * 7, + Jve = $f * 365.25; + qF.exports = function (t, e) { + e = e || {}; + var r = typeof t; + if (r === 'string' && t.length > 0) return e2e(t); + if (r === 'number' && isFinite(t)) return e.long ? r2e(t) : t2e(t); + throw new Error('val is not a non-empty string or a valid number. val=' + JSON.stringify(t)); + }; + function e2e(t) { + if (((t = String(t)), !(t.length > 100))) { + var e = + /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec( + t + ); + if (e) { + var r = parseFloat(e[1]), + n = (e[2] || 'ms').toLowerCase(); + switch (n) { + case 'years': + case 'year': + case 'yrs': + case 'yr': + case 'y': + return r * Jve; + case 'weeks': + case 'week': + case 'w': + return r * Zve; + case 'days': + case 'day': + case 'd': + return r * $f; + case 'hours': + case 'hour': + case 'hrs': + case 'hr': + case 'h': + return r * sp; + case 'minutes': + case 'minute': + case 'mins': + case 'min': + case 'm': + return r * ap; + case 'seconds': + case 'second': + case 'secs': + case 'sec': + case 's': + return r * ip; + case 'milliseconds': + case 'millisecond': + case 'msecs': + case 'msec': + case 'ms': + return r; + default: + return; + } + } + } + } + o(e2e, 'parse'); + function t2e(t) { + var e = Math.abs(t); + return e >= $f + ? Math.round(t / $f) + 'd' + : e >= sp + ? Math.round(t / sp) + 'h' + : e >= ap + ? Math.round(t / ap) + 'm' + : e >= ip + ? Math.round(t / ip) + 's' + : t + 'ms'; + } + o(t2e, 'fmtShort'); + function r2e(t) { + var e = Math.abs(t); + return e >= $f + ? Pb(t, e, $f, 'day') + : e >= sp + ? Pb(t, e, sp, 'hour') + : e >= ap + ? Pb(t, e, ap, 'minute') + : e >= ip + ? Pb(t, e, ip, 'second') + : t + ' ms'; + } + o(r2e, 'fmtLong'); + function Pb(t, e, r, n) { + var i = e >= r * 1.5; + return Math.round(t / r) + ' ' + n + (i ? 's' : ''); + } + o(Pb, 'plural'); + }); + var KF = gi((oit, jF) => { + 'use strict'; + function n2e(t) { + (r.debug = r), + (r.default = r), + (r.coerce = u), + (r.disable = a), + (r.enable = i), + (r.enabled = s), + (r.humanize = XF()), + (r.destroy = h), + Object.keys(t).forEach((f) => { + r[f] = t[f]; + }), + (r.names = []), + (r.skips = []), + (r.formatters = {}); + function e(f) { + let d = 0; + for (let p = 0; p < f.length; p++) (d = (d << 5) - d + f.charCodeAt(p)), (d |= 0); + return r.colors[Math.abs(d) % r.colors.length]; + } + o(e, 'selectColor'), (r.selectColor = e); + function r(f) { + let d, + p = null, + m, + g; + function y(...v) { + if (!y.enabled) return; + let x = y, + b = Number(new Date()), + w = b - (d || b); + (x.diff = w), + (x.prev = d), + (x.curr = b), + (d = b), + (v[0] = r.coerce(v[0])), + typeof v[0] != 'string' && v.unshift('%O'); + let S = 0; + (v[0] = v[0].replace(/%([a-zA-Z%])/g, (E, _) => { + if (E === '%%') return '%'; + S++; + let A = r.formatters[_]; + if (typeof A == 'function') { + let L = v[S]; + (E = A.call(x, L)), v.splice(S, 1), S--; + } + return E; + })), + r.formatArgs.call(x, v), + (x.log || r.log).apply(x, v); + } + return ( + o(y, 'debug'), + (y.namespace = f), + (y.useColors = r.useColors()), + (y.color = r.selectColor(f)), + (y.extend = n), + (y.destroy = r.destroy), + Object.defineProperty(y, 'enabled', { + enumerable: !0, + configurable: !1, + get: o( + () => + p !== null ? p : (m !== r.namespaces && ((m = r.namespaces), (g = r.enabled(f))), g), + 'get' + ), + set: o((v) => { + p = v; + }, 'set') + }), + typeof r.init == 'function' && r.init(y), + y + ); + } + o(r, 'createDebug'); + function n(f, d) { + let p = r(this.namespace + (typeof d > 'u' ? ':' : d) + f); + return (p.log = this.log), p; + } + o(n, 'extend'); + function i(f) { + r.save(f), (r.namespaces = f), (r.names = []), (r.skips = []); + let d, + p = (typeof f == 'string' ? f : '').split(/[\s,]+/), + m = p.length; + for (d = 0; d < m; d++) + p[d] && + ((f = p[d].replace(/\*/g, '.*?')), + f[0] === '-' + ? r.skips.push(new RegExp('^' + f.slice(1) + '$')) + : r.names.push(new RegExp('^' + f + '$'))); + } + o(i, 'enable'); + function a() { + let f = [...r.names.map(l), ...r.skips.map(l).map((d) => '-' + d)].join(','); + return r.enable(''), f; + } + o(a, 'disable'); + function s(f) { + if (f[f.length - 1] === '*') return !0; + let d, p; + for (d = 0, p = r.skips.length; d < p; d++) if (r.skips[d].test(f)) return !1; + for (d = 0, p = r.names.length; d < p; d++) if (r.names[d].test(f)) return !0; + return !1; + } + o(s, 'enabled'); + function l(f) { + return f + .toString() + .substring(2, f.toString().length - 2) + .replace(/\.\*\?$/, '*'); + } + o(l, 'toNamespace'); + function u(f) { + return f instanceof Error ? f.stack || f.message : f; + } + o(u, 'coerce'); + function h() { + console.warn( + 'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.' + ); + } + return o(h, 'destroy'), r.enable(r.load()), r; + } + o(n2e, 'setup'); + jF.exports = n2e; + }); + var QF = gi((Ys, Bb) => { + 'use strict'; + Ys.formatArgs = a2e; + Ys.save = s2e; + Ys.load = o2e; + Ys.useColors = i2e; + Ys.storage = l2e(); + Ys.destroy = (() => { + let t = !1; + return () => { + t || + ((t = !0), + console.warn( + 'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.' + )); + }; + })(); + Ys.colors = [ + '#0000CC', + '#0000FF', + '#0033CC', + '#0033FF', + '#0066CC', + '#0066FF', + '#0099CC', + '#0099FF', + '#00CC00', + '#00CC33', + '#00CC66', + '#00CC99', + '#00CCCC', + '#00CCFF', + '#3300CC', + '#3300FF', + '#3333CC', + '#3333FF', + '#3366CC', + '#3366FF', + '#3399CC', + '#3399FF', + '#33CC00', + '#33CC33', + '#33CC66', + '#33CC99', + '#33CCCC', + '#33CCFF', + '#6600CC', + '#6600FF', + '#6633CC', + '#6633FF', + '#66CC00', + '#66CC33', + '#9900CC', + '#9900FF', + '#9933CC', + '#9933FF', + '#99CC00', + '#99CC33', + '#CC0000', + '#CC0033', + '#CC0066', + '#CC0099', + '#CC00CC', + '#CC00FF', + '#CC3300', + '#CC3333', + '#CC3366', + '#CC3399', + '#CC33CC', + '#CC33FF', + '#CC6600', + '#CC6633', + '#CC9900', + '#CC9933', + '#CCCC00', + '#CCCC33', + '#FF0000', + '#FF0033', + '#FF0066', + '#FF0099', + '#FF00CC', + '#FF00FF', + '#FF3300', + '#FF3333', + '#FF3366', + '#FF3399', + '#FF33CC', + '#FF33FF', + '#FF6600', + '#FF6633', + '#FF9900', + '#FF9933', + '#FFCC00', + '#FFCC33' + ]; + function i2e() { + if (typeof window < 'u' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) + return !0; + if ( + typeof navigator < 'u' && + navigator.userAgent && + navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/) + ) + return !1; + let t; + return ( + (typeof document < 'u' && + document.documentElement && + document.documentElement.style && + document.documentElement.style.WebkitAppearance) || + (typeof window < 'u' && + window.console && + (window.console.firebug || (window.console.exception && window.console.table))) || + (typeof navigator < 'u' && + navigator.userAgent && + (t = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) && + parseInt(t[1], 10) >= 31) || + (typeof navigator < 'u' && + navigator.userAgent && + navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)) + ); + } + o(i2e, 'useColors'); + function a2e(t) { + if ( + ((t[0] = + (this.useColors ? '%c' : '') + + this.namespace + + (this.useColors ? ' %c' : ' ') + + t[0] + + (this.useColors ? '%c ' : ' ') + + '+' + + Bb.exports.humanize(this.diff)), + !this.useColors) + ) + return; + let e = 'color: ' + this.color; + t.splice(1, 0, e, 'color: inherit'); + let r = 0, + n = 0; + t[0].replace(/%[a-zA-Z%]/g, (i) => { + i !== '%%' && (r++, i === '%c' && (n = r)); + }), + t.splice(n, 0, e); + } + o(a2e, 'formatArgs'); + Ys.log = console.debug || console.log || (() => {}); + function s2e(t) { + try { + t ? Ys.storage.setItem('debug', t) : Ys.storage.removeItem('debug'); + } catch {} + } + o(s2e, 'save'); + function o2e() { + let t; + try { + t = Ys.storage.getItem('debug'); + } catch {} + return !t && typeof process < 'u' && 'env' in process && (t = process.env.DEBUG), t; + } + o(o2e, 'load'); + function l2e() { + try { + return localStorage; + } catch {} + } + o(l2e, 'localstorage'); + Bb.exports = KF()(Ys); + var { formatters: c2e } = Bb.exports; + c2e.j = function (t) { + try { + return JSON.stringify(t); + } catch (e) { + return '[UnexpectedJSONParseError]: ' + e.message; + } + }; + }); + var uit, + ZF = R(() => { + 'use strict'; + MF(); + GF(); + HF(); + YF(); + WF(); + uit = Xi(QF(), 1); + }); + var FC, + BC, + JF, + Fb, + u2e, + zb, + V1 = R(() => { + 'use strict'; + ut(); + ZF(); + (FC = { + body: '?', + height: 80, + width: 80 + }), + (BC = new Map()), + (JF = new Map()), + (Fb = o((t) => { + for (let e of t) { + if (!e.name) + throw new Error( + 'Invalid icon loader. Must have a "name" property with non-empty string value.' + ); + if ((V.debug('Registering icon pack:', e.name), 'loader' in e)) JF.set(e.name, e.loader); + else if ('icons' in e) BC.set(e.name, e.icons); + else + throw ( + (V.error('Invalid icon loader:', e), + new Error('Invalid icon loader. Must have either "icons" or "loader" property.')) + ); + } + }, 'registerIconPacks')), + (u2e = o(async (t, e) => { + let r = DC(t, !0, e !== void 0); + if (!r) throw new Error(`Invalid icon name: ${t}`); + let n = r.prefix || e; + if (!n) throw new Error(`Icon name must contain a prefix: ${t}`); + let i = BC.get(n); + if (!i) { + let s = JF.get(n); + if (!s) throw new Error(`Icon set not found: ${r.prefix}`); + try { + (i = { ...(await s()), prefix: n }), BC.set(n, i); + } catch (l) { + throw (V.error(l), new Error(`Failed to load icon set: ${r.prefix}`)); + } + } + let a = NC(i, r.name); + if (!a) throw new Error(`Icon not found: ${t}`); + return a; + }, 'getRegisteredIconData')), + (zb = o(async (t, e) => { + let r; + try { + r = await u2e(t, e?.fallbackPrefix); + } catch (a) { + V.error(a), (r = FC); + } + let n = IC(r, e); + return PC(OC(n.body), n.attributes); + }, 'getIconSVG')); + }); + function Gb(t) { + for (var e = [], r = 1; r < arguments.length; r++) e[r - 1] = arguments[r]; + var n = Array.from(typeof t == 'string' ? [t] : t); + n[n.length - 1] = n[n.length - 1].replace(/\r?\n([\t ]*)$/, ''); + var i = n.reduce(function (l, u) { + var h = u.match(/\n([\t ]+|(?!\s).)/g); + return h + ? l.concat( + h.map(function (f) { + var d, p; + return (p = (d = f.match(/[\t ]/g)) === null || d === void 0 ? void 0 : d.length) !== null && + p !== void 0 + ? p + : 0; + }) + ) + : l; + }, []); + if (i.length) { + var a = new RegExp( + ` +[ ]{` + + Math.min.apply(Math, i) + + '}', + 'g' + ); + n = n.map(function (l) { + return l.replace( + a, + ` +` + ); + }); + } + n[0] = n[0].replace(/^\r?\n/, ''); + var s = n[0]; + return ( + e.forEach(function (l, u) { + var h = s.match(/(?:^|\n)( *)$/), + f = h ? h[1] : '', + d = l; + typeof l == 'string' && + l.includes(` +`) && + (d = String(l) + .split( + ` +` + ) + .map(function (p, m) { + return m === 0 ? p : '' + f + p; + }).join(` +`)), + (s += d + n[u + 1]); + }), + s + ); + } + var zC = R(() => { + 'use strict'; + o(Gb, 'dedent'); + }); + var $b, + Vf, + ez, + Vb = R(() => { + 'use strict'; + ($b = /^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s), + (Vf = /%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi), + (ez = /\s*%%.*\n/gm); + }); + var op, + GC = R(() => { + 'use strict'; + op = class extends Error { + static { + o(this, 'UnknownDiagramError'); + } + constructor(e) { + super(e), (this.name = 'UnknownDiagramError'); + } + }; + }); + var Uf, + lp, + Ub, + $C, + tz, + Hf = R(() => { + 'use strict'; + ut(); + Vb(); + GC(); + (Uf = {}), + (lp = o(function (t, e) { + t = t + .replace($b, '') + .replace(Vf, '') + .replace( + ez, + ` +` + ); + for (let [r, { detector: n }] of Object.entries(Uf)) if (n(t, e)) return r; + throw new op(`No diagram type detected matching given configuration for text: ${t}`); + }, 'detectType')), + (Ub = o((...t) => { + for (let { id: e, detector: r, loader: n } of t) $C(e, r, n); + }, 'registerLazyLoadedDiagrams')), + ($C = o((t, e, r) => { + Uf[t] && V.warn(`Detector with key ${t} already exists. Overwriting.`), + (Uf[t] = { detector: e, loader: r }), + V.debug(`Detector with key ${t} added${r ? ' with loader' : ''}`); + }, 'addDetector')), + (tz = o((t) => Uf[t].loader, 'getDiagramLoader')); + }); + var U1, + rz, + VC = R(() => { + 'use strict'; + U1 = (function () { + var t = o(function (_e, me, W, fe) { + for (W = W || {}, fe = _e.length; fe--; W[_e[fe]] = me); + return W; + }, 'o'), + e = [1, 24], + r = [1, 25], + n = [1, 26], + i = [1, 27], + a = [1, 28], + s = [1, 63], + l = [1, 64], + u = [1, 65], + h = [1, 66], + f = [1, 67], + d = [1, 68], + p = [1, 69], + m = [1, 29], + g = [1, 30], + y = [1, 31], + v = [1, 32], + x = [1, 33], + b = [1, 34], + w = [1, 35], + S = [1, 36], + T = [1, 37], + E = [1, 38], + _ = [1, 39], + A = [1, 40], + L = [1, 41], + M = [1, 42], + N = [1, 43], + k = [1, 44], + I = [1, 45], + C = [1, 46], + O = [1, 47], + D = [1, 48], + P = [1, 50], + F = [1, 51], + B = [1, 52], + $ = [1, 53], + z = [1, 54], + Y = [1, 55], + Q = [1, 56], + X = [1, 57], + ie = [1, 58], + j = [1, 59], + J = [1, 60], + Z = [14, 42], + H = [ + 14, 34, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74 + ], + q = [ + 12, 14, 34, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74 + ], + K = [1, 82], + se = [1, 83], + ce = [1, 84], + ue = [1, 85], + te = [12, 14, 42], + De = [12, 14, 33, 42], + oe = [12, 14, 33, 42, 76, 77, 79, 80], + ke = [12, 33], + Ie = [ + 34, 36, 37, 38, 39, 40, 41, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74 + ], + Se = { + trace: o(function () {}, 'trace'), + yy: {}, + symbols_: { + error: 2, + start: 3, + mermaidDoc: 4, + direction: 5, + direction_tb: 6, + direction_bt: 7, + direction_rl: 8, + direction_lr: 9, + graphConfig: 10, + C4_CONTEXT: 11, + NEWLINE: 12, + statements: 13, + EOF: 14, + C4_CONTAINER: 15, + C4_COMPONENT: 16, + C4_DYNAMIC: 17, + C4_DEPLOYMENT: 18, + otherStatements: 19, + diagramStatements: 20, + otherStatement: 21, + title: 22, + accDescription: 23, + acc_title: 24, + acc_title_value: 25, + acc_descr: 26, + acc_descr_value: 27, + acc_descr_multiline_value: 28, + boundaryStatement: 29, + boundaryStartStatement: 30, + boundaryStopStatement: 31, + boundaryStart: 32, + LBRACE: 33, + ENTERPRISE_BOUNDARY: 34, + attributes: 35, + SYSTEM_BOUNDARY: 36, + BOUNDARY: 37, + CONTAINER_BOUNDARY: 38, + NODE: 39, + NODE_L: 40, + NODE_R: 41, + RBRACE: 42, + diagramStatement: 43, + PERSON: 44, + PERSON_EXT: 45, + SYSTEM: 46, + SYSTEM_DB: 47, + SYSTEM_QUEUE: 48, + SYSTEM_EXT: 49, + SYSTEM_EXT_DB: 50, + SYSTEM_EXT_QUEUE: 51, + CONTAINER: 52, + CONTAINER_DB: 53, + CONTAINER_QUEUE: 54, + CONTAINER_EXT: 55, + CONTAINER_EXT_DB: 56, + CONTAINER_EXT_QUEUE: 57, + COMPONENT: 58, + COMPONENT_DB: 59, + COMPONENT_QUEUE: 60, + COMPONENT_EXT: 61, + COMPONENT_EXT_DB: 62, + COMPONENT_EXT_QUEUE: 63, + REL: 64, + BIREL: 65, + REL_U: 66, + REL_D: 67, + REL_L: 68, + REL_R: 69, + REL_B: 70, + REL_INDEX: 71, + UPDATE_EL_STYLE: 72, + UPDATE_REL_STYLE: 73, + UPDATE_LAYOUT_CONFIG: 74, + attribute: 75, + STR: 76, + STR_KEY: 77, + STR_VALUE: 78, + ATTRIBUTE: 79, + ATTRIBUTE_EMPTY: 80, + $accept: 0, + $end: 1 + }, + terminals_: { + 2: 'error', + 6: 'direction_tb', + 7: 'direction_bt', + 8: 'direction_rl', + 9: 'direction_lr', + 11: 'C4_CONTEXT', + 12: 'NEWLINE', + 14: 'EOF', + 15: 'C4_CONTAINER', + 16: 'C4_COMPONENT', + 17: 'C4_DYNAMIC', + 18: 'C4_DEPLOYMENT', + 22: 'title', + 23: 'accDescription', + 24: 'acc_title', + 25: 'acc_title_value', + 26: 'acc_descr', + 27: 'acc_descr_value', + 28: 'acc_descr_multiline_value', + 33: 'LBRACE', + 34: 'ENTERPRISE_BOUNDARY', + 36: 'SYSTEM_BOUNDARY', + 37: 'BOUNDARY', + 38: 'CONTAINER_BOUNDARY', + 39: 'NODE', + 40: 'NODE_L', + 41: 'NODE_R', + 42: 'RBRACE', + 44: 'PERSON', + 45: 'PERSON_EXT', + 46: 'SYSTEM', + 47: 'SYSTEM_DB', + 48: 'SYSTEM_QUEUE', + 49: 'SYSTEM_EXT', + 50: 'SYSTEM_EXT_DB', + 51: 'SYSTEM_EXT_QUEUE', + 52: 'CONTAINER', + 53: 'CONTAINER_DB', + 54: 'CONTAINER_QUEUE', + 55: 'CONTAINER_EXT', + 56: 'CONTAINER_EXT_DB', + 57: 'CONTAINER_EXT_QUEUE', + 58: 'COMPONENT', + 59: 'COMPONENT_DB', + 60: 'COMPONENT_QUEUE', + 61: 'COMPONENT_EXT', + 62: 'COMPONENT_EXT_DB', + 63: 'COMPONENT_EXT_QUEUE', + 64: 'REL', + 65: 'BIREL', + 66: 'REL_U', + 67: 'REL_D', + 68: 'REL_L', + 69: 'REL_R', + 70: 'REL_B', + 71: 'REL_INDEX', + 72: 'UPDATE_EL_STYLE', + 73: 'UPDATE_REL_STYLE', + 74: 'UPDATE_LAYOUT_CONFIG', + 76: 'STR', + 77: 'STR_KEY', + 78: 'STR_VALUE', + 79: 'ATTRIBUTE', + 80: 'ATTRIBUTE_EMPTY' + }, + productions_: [ + 0, + [3, 1], + [3, 1], + [5, 1], + [5, 1], + [5, 1], + [5, 1], + [4, 1], + [10, 4], + [10, 4], + [10, 4], + [10, 4], + [10, 4], + [13, 1], + [13, 1], + [13, 2], + [19, 1], + [19, 2], + [19, 3], + [21, 1], + [21, 1], + [21, 2], + [21, 2], + [21, 1], + [29, 3], + [30, 3], + [30, 3], + [30, 4], + [32, 2], + [32, 2], + [32, 2], + [32, 2], + [32, 2], + [32, 2], + [32, 2], + [31, 1], + [20, 1], + [20, 2], + [20, 3], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 1], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [35, 1], + [35, 2], + [75, 1], + [75, 2], + [75, 1], + [75, 1] + ], + performAction: o(function (me, W, fe, ge, re, he, ne) { + var ae = he.length - 1; + switch (re) { + case 3: + ge.setDirection('TB'); + break; + case 4: + ge.setDirection('BT'); + break; + case 5: + ge.setDirection('RL'); + break; + case 6: + ge.setDirection('LR'); + break; + case 8: + case 9: + case 10: + case 11: + case 12: + ge.setC4Type(he[ae - 3]); + break; + case 19: + ge.setTitle(he[ae].substring(6)), (this.$ = he[ae].substring(6)); + break; + case 20: + ge.setAccDescription(he[ae].substring(15)), (this.$ = he[ae].substring(15)); + break; + case 21: + (this.$ = he[ae].trim()), ge.setTitle(this.$); + break; + case 22: + case 23: + (this.$ = he[ae].trim()), ge.setAccDescription(this.$); + break; + case 28: + he[ae].splice(2, 0, 'ENTERPRISE'), + ge.addPersonOrSystemBoundary(...he[ae]), + (this.$ = he[ae]); + break; + case 29: + he[ae].splice(2, 0, 'SYSTEM'), + ge.addPersonOrSystemBoundary(...he[ae]), + (this.$ = he[ae]); + break; + case 30: + ge.addPersonOrSystemBoundary(...he[ae]), (this.$ = he[ae]); + break; + case 31: + he[ae].splice(2, 0, 'CONTAINER'), + ge.addContainerBoundary(...he[ae]), + (this.$ = he[ae]); + break; + case 32: + ge.addDeploymentNode('node', ...he[ae]), (this.$ = he[ae]); + break; + case 33: + ge.addDeploymentNode('nodeL', ...he[ae]), (this.$ = he[ae]); + break; + case 34: + ge.addDeploymentNode('nodeR', ...he[ae]), (this.$ = he[ae]); + break; + case 35: + ge.popBoundaryParseStack(); + break; + case 39: + ge.addPersonOrSystem('person', ...he[ae]), (this.$ = he[ae]); + break; + case 40: + ge.addPersonOrSystem('external_person', ...he[ae]), (this.$ = he[ae]); + break; + case 41: + ge.addPersonOrSystem('system', ...he[ae]), (this.$ = he[ae]); + break; + case 42: + ge.addPersonOrSystem('system_db', ...he[ae]), (this.$ = he[ae]); + break; + case 43: + ge.addPersonOrSystem('system_queue', ...he[ae]), (this.$ = he[ae]); + break; + case 44: + ge.addPersonOrSystem('external_system', ...he[ae]), (this.$ = he[ae]); + break; + case 45: + ge.addPersonOrSystem('external_system_db', ...he[ae]), (this.$ = he[ae]); + break; + case 46: + ge.addPersonOrSystem('external_system_queue', ...he[ae]), (this.$ = he[ae]); + break; + case 47: + ge.addContainer('container', ...he[ae]), (this.$ = he[ae]); + break; + case 48: + ge.addContainer('container_db', ...he[ae]), (this.$ = he[ae]); + break; + case 49: + ge.addContainer('container_queue', ...he[ae]), (this.$ = he[ae]); + break; + case 50: + ge.addContainer('external_container', ...he[ae]), (this.$ = he[ae]); + break; + case 51: + ge.addContainer('external_container_db', ...he[ae]), (this.$ = he[ae]); + break; + case 52: + ge.addContainer('external_container_queue', ...he[ae]), (this.$ = he[ae]); + break; + case 53: + ge.addComponent('component', ...he[ae]), (this.$ = he[ae]); + break; + case 54: + ge.addComponent('component_db', ...he[ae]), (this.$ = he[ae]); + break; + case 55: + ge.addComponent('component_queue', ...he[ae]), (this.$ = he[ae]); + break; + case 56: + ge.addComponent('external_component', ...he[ae]), (this.$ = he[ae]); + break; + case 57: + ge.addComponent('external_component_db', ...he[ae]), (this.$ = he[ae]); + break; + case 58: + ge.addComponent('external_component_queue', ...he[ae]), (this.$ = he[ae]); + break; + case 60: + ge.addRel('rel', ...he[ae]), (this.$ = he[ae]); + break; + case 61: + ge.addRel('birel', ...he[ae]), (this.$ = he[ae]); + break; + case 62: + ge.addRel('rel_u', ...he[ae]), (this.$ = he[ae]); + break; + case 63: + ge.addRel('rel_d', ...he[ae]), (this.$ = he[ae]); + break; + case 64: + ge.addRel('rel_l', ...he[ae]), (this.$ = he[ae]); + break; + case 65: + ge.addRel('rel_r', ...he[ae]), (this.$ = he[ae]); + break; + case 66: + ge.addRel('rel_b', ...he[ae]), (this.$ = he[ae]); + break; + case 67: + he[ae].splice(0, 1), ge.addRel('rel', ...he[ae]), (this.$ = he[ae]); + break; + case 68: + ge.updateElStyle('update_el_style', ...he[ae]), (this.$ = he[ae]); + break; + case 69: + ge.updateRelStyle('update_rel_style', ...he[ae]), (this.$ = he[ae]); + break; + case 70: + ge.updateLayoutConfig('update_layout_config', ...he[ae]), (this.$ = he[ae]); + break; + case 71: + this.$ = [he[ae]]; + break; + case 72: + he[ae].unshift(he[ae - 1]), (this.$ = he[ae]); + break; + case 73: + case 75: + this.$ = he[ae].trim(); + break; + case 74: + let we = {}; + (we[he[ae - 1].trim()] = he[ae].trim()), (this.$ = we); + break; + case 76: + this.$ = ''; + break; + } + }, 'anonymous'), + table: [ + { + 3: 1, + 4: 2, + 5: 3, + 6: [1, 5], + 7: [1, 6], + 8: [1, 7], + 9: [1, 8], + 10: 4, + 11: [1, 9], + 15: [1, 10], + 16: [1, 11], + 17: [1, 12], + 18: [1, 13] + }, + { 1: [3] }, + { 1: [2, 1] }, + { 1: [2, 2] }, + { 1: [2, 7] }, + { 1: [2, 3] }, + { 1: [2, 4] }, + { 1: [2, 5] }, + { 1: [2, 6] }, + { 12: [1, 14] }, + { 12: [1, 15] }, + { 12: [1, 16] }, + { 12: [1, 17] }, + { 12: [1, 18] }, + { + 13: 19, + 19: 20, + 20: 21, + 21: 22, + 22: e, + 23: r, + 24: n, + 26: i, + 28: a, + 29: 49, + 30: 61, + 32: 62, + 34: s, + 36: l, + 37: u, + 38: h, + 39: f, + 40: d, + 41: p, + 43: 23, + 44: m, + 45: g, + 46: y, + 47: v, + 48: x, + 49: b, + 50: w, + 51: S, + 52: T, + 53: E, + 54: _, + 55: A, + 56: L, + 57: M, + 58: N, + 59: k, + 60: I, + 61: C, + 62: O, + 63: D, + 64: P, + 65: F, + 66: B, + 67: $, + 68: z, + 69: Y, + 70: Q, + 71: X, + 72: ie, + 73: j, + 74: J + }, + { + 13: 70, + 19: 20, + 20: 21, + 21: 22, + 22: e, + 23: r, + 24: n, + 26: i, + 28: a, + 29: 49, + 30: 61, + 32: 62, + 34: s, + 36: l, + 37: u, + 38: h, + 39: f, + 40: d, + 41: p, + 43: 23, + 44: m, + 45: g, + 46: y, + 47: v, + 48: x, + 49: b, + 50: w, + 51: S, + 52: T, + 53: E, + 54: _, + 55: A, + 56: L, + 57: M, + 58: N, + 59: k, + 60: I, + 61: C, + 62: O, + 63: D, + 64: P, + 65: F, + 66: B, + 67: $, + 68: z, + 69: Y, + 70: Q, + 71: X, + 72: ie, + 73: j, + 74: J + }, + { + 13: 71, + 19: 20, + 20: 21, + 21: 22, + 22: e, + 23: r, + 24: n, + 26: i, + 28: a, + 29: 49, + 30: 61, + 32: 62, + 34: s, + 36: l, + 37: u, + 38: h, + 39: f, + 40: d, + 41: p, + 43: 23, + 44: m, + 45: g, + 46: y, + 47: v, + 48: x, + 49: b, + 50: w, + 51: S, + 52: T, + 53: E, + 54: _, + 55: A, + 56: L, + 57: M, + 58: N, + 59: k, + 60: I, + 61: C, + 62: O, + 63: D, + 64: P, + 65: F, + 66: B, + 67: $, + 68: z, + 69: Y, + 70: Q, + 71: X, + 72: ie, + 73: j, + 74: J + }, + { + 13: 72, + 19: 20, + 20: 21, + 21: 22, + 22: e, + 23: r, + 24: n, + 26: i, + 28: a, + 29: 49, + 30: 61, + 32: 62, + 34: s, + 36: l, + 37: u, + 38: h, + 39: f, + 40: d, + 41: p, + 43: 23, + 44: m, + 45: g, + 46: y, + 47: v, + 48: x, + 49: b, + 50: w, + 51: S, + 52: T, + 53: E, + 54: _, + 55: A, + 56: L, + 57: M, + 58: N, + 59: k, + 60: I, + 61: C, + 62: O, + 63: D, + 64: P, + 65: F, + 66: B, + 67: $, + 68: z, + 69: Y, + 70: Q, + 71: X, + 72: ie, + 73: j, + 74: J + }, + { + 13: 73, + 19: 20, + 20: 21, + 21: 22, + 22: e, + 23: r, + 24: n, + 26: i, + 28: a, + 29: 49, + 30: 61, + 32: 62, + 34: s, + 36: l, + 37: u, + 38: h, + 39: f, + 40: d, + 41: p, + 43: 23, + 44: m, + 45: g, + 46: y, + 47: v, + 48: x, + 49: b, + 50: w, + 51: S, + 52: T, + 53: E, + 54: _, + 55: A, + 56: L, + 57: M, + 58: N, + 59: k, + 60: I, + 61: C, + 62: O, + 63: D, + 64: P, + 65: F, + 66: B, + 67: $, + 68: z, + 69: Y, + 70: Q, + 71: X, + 72: ie, + 73: j, + 74: J + }, + { 14: [1, 74] }, + t(Z, [2, 13], { + 43: 23, + 29: 49, + 30: 61, + 32: 62, + 20: 75, + 34: s, + 36: l, + 37: u, + 38: h, + 39: f, + 40: d, + 41: p, + 44: m, + 45: g, + 46: y, + 47: v, + 48: x, + 49: b, + 50: w, + 51: S, + 52: T, + 53: E, + 54: _, + 55: A, + 56: L, + 57: M, + 58: N, + 59: k, + 60: I, + 61: C, + 62: O, + 63: D, + 64: P, + 65: F, + 66: B, + 67: $, + 68: z, + 69: Y, + 70: Q, + 71: X, + 72: ie, + 73: j, + 74: J + }), + t(Z, [2, 14]), + t(H, [2, 16], { 12: [1, 76] }), + t(Z, [2, 36], { 12: [1, 77] }), + t(q, [2, 19]), + t(q, [2, 20]), + { 25: [1, 78] }, + { 27: [1, 79] }, + t(q, [2, 23]), + { 35: 80, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 86, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 87, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 88, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 89, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 90, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 91, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 92, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 93, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 94, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 95, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 96, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 97, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 98, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 99, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 100, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 101, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 102, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 103, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 104, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + t(te, [2, 59]), + { 35: 105, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 106, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 107, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 108, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 109, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 110, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 111, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 112, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 113, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 114, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 115, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { + 20: 116, + 29: 49, + 30: 61, + 32: 62, + 34: s, + 36: l, + 37: u, + 38: h, + 39: f, + 40: d, + 41: p, + 43: 23, + 44: m, + 45: g, + 46: y, + 47: v, + 48: x, + 49: b, + 50: w, + 51: S, + 52: T, + 53: E, + 54: _, + 55: A, + 56: L, + 57: M, + 58: N, + 59: k, + 60: I, + 61: C, + 62: O, + 63: D, + 64: P, + 65: F, + 66: B, + 67: $, + 68: z, + 69: Y, + 70: Q, + 71: X, + 72: ie, + 73: j, + 74: J + }, + { 12: [1, 118], 33: [1, 117] }, + { 35: 119, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 120, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 121, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 122, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 123, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 124, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 35: 125, 75: 81, 76: K, 77: se, 79: ce, 80: ue }, + { 14: [1, 126] }, + { 14: [1, 127] }, + { 14: [1, 128] }, + { 14: [1, 129] }, + { 1: [2, 8] }, + t(Z, [2, 15]), + t(H, [2, 17], { + 21: 22, + 19: 130, + 22: e, + 23: r, + 24: n, + 26: i, + 28: a + }), + t(Z, [2, 37], { + 19: 20, + 20: 21, + 21: 22, + 43: 23, + 29: 49, + 30: 61, + 32: 62, + 13: 131, + 22: e, + 23: r, + 24: n, + 26: i, + 28: a, + 34: s, + 36: l, + 37: u, + 38: h, + 39: f, + 40: d, + 41: p, + 44: m, + 45: g, + 46: y, + 47: v, + 48: x, + 49: b, + 50: w, + 51: S, + 52: T, + 53: E, + 54: _, + 55: A, + 56: L, + 57: M, + 58: N, + 59: k, + 60: I, + 61: C, + 62: O, + 63: D, + 64: P, + 65: F, + 66: B, + 67: $, + 68: z, + 69: Y, + 70: Q, + 71: X, + 72: ie, + 73: j, + 74: J + }), + t(q, [2, 21]), + t(q, [2, 22]), + t(te, [2, 39]), + t(De, [2, 71], { + 75: 81, + 35: 132, + 76: K, + 77: se, + 79: ce, + 80: ue + }), + t(oe, [2, 73]), + { 78: [1, 133] }, + t(oe, [2, 75]), + t(oe, [2, 76]), + t(te, [2, 40]), + t(te, [2, 41]), + t(te, [2, 42]), + t(te, [2, 43]), + t(te, [2, 44]), + t(te, [2, 45]), + t(te, [2, 46]), + t(te, [2, 47]), + t(te, [2, 48]), + t(te, [2, 49]), + t(te, [2, 50]), + t(te, [2, 51]), + t(te, [2, 52]), + t(te, [2, 53]), + t(te, [2, 54]), + t(te, [2, 55]), + t(te, [2, 56]), + t(te, [2, 57]), + t(te, [2, 58]), + t(te, [2, 60]), + t(te, [2, 61]), + t(te, [2, 62]), + t(te, [2, 63]), + t(te, [2, 64]), + t(te, [2, 65]), + t(te, [2, 66]), + t(te, [2, 67]), + t(te, [2, 68]), + t(te, [2, 69]), + t(te, [2, 70]), + { 31: 134, 42: [1, 135] }, + { 12: [1, 136] }, + { 33: [1, 137] }, + t(ke, [2, 28]), + t(ke, [2, 29]), + t(ke, [2, 30]), + t(ke, [2, 31]), + t(ke, [2, 32]), + t(ke, [2, 33]), + t(ke, [2, 34]), + { 1: [2, 9] }, + { 1: [2, 10] }, + { 1: [2, 11] }, + { 1: [2, 12] }, + t(H, [2, 18]), + t(Z, [2, 38]), + t(De, [2, 72]), + t(oe, [2, 74]), + t(te, [2, 24]), + t(te, [2, 35]), + t(Ie, [2, 25]), + t(Ie, [2, 26], { 12: [1, 138] }), + t(Ie, [2, 27]) + ], + defaultActions: { + 2: [2, 1], + 3: [2, 2], + 4: [2, 7], + 5: [2, 3], + 6: [2, 4], + 7: [2, 5], + 8: [2, 6], + 74: [2, 8], + 126: [2, 9], + 127: [2, 10], + 128: [2, 11], + 129: [2, 12] + }, + parseError: o(function (me, W) { + if (W.recoverable) this.trace(me); + else { + var fe = new Error(me); + throw ((fe.hash = W), fe); + } + }, 'parseError'), + parse: o(function (me) { + var W = this, + fe = [0], + ge = [], + re = [null], + he = [], + ne = this.table, + ae = '', + we = 0, + Te = 0, + Ce = 0, + Ae = 2, + Ge = 1, + Me = he.slice.call(arguments, 1), + ye = Object.create(this.lexer), + He = { yy: {} }; + for (var ze in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, ze) && (He.yy[ze] = this.yy[ze]); + ye.setInput(me, He.yy), + (He.yy.lexer = ye), + (He.yy.parser = this), + typeof ye.yylloc > 'u' && (ye.yylloc = {}); + var Ze = ye.yylloc; + he.push(Ze); + var gt = ye.options && ye.options.ranges; + typeof He.yy.parseError == 'function' + ? (this.parseError = He.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError); + function yt(St) { + (fe.length = fe.length - 2 * St), + (re.length = re.length - St), + (he.length = he.length - St); + } + o(yt, 'popStack'); + function tt() { + var St; + return ( + (St = ge.pop() || ye.lex() || Ge), + typeof St != 'number' && + (St instanceof Array && ((ge = St), (St = ge.pop())), + (St = W.symbols_[St] || St)), + St + ); + } + o(tt, 'lex'); + for (var Ye, Je, Ve, je, kt, at, xt = {}, it, dt, lt, It; ; ) { + if ( + ((Ve = fe[fe.length - 1]), + this.defaultActions[Ve] + ? (je = this.defaultActions[Ve]) + : ((Ye === null || typeof Ye > 'u') && (Ye = tt()), + (je = ne[Ve] && ne[Ve][Ye])), + typeof je > 'u' || !je.length || !je[0]) + ) { + var mt = ''; + It = []; + for (it in ne[Ve]) + this.terminals_[it] && it > Ae && It.push("'" + this.terminals_[it] + "'"); + ye.showPosition + ? (mt = + 'Parse error on line ' + + (we + 1) + + `: +` + + ye.showPosition() + + ` +Expecting ` + + It.join(', ') + + ", got '" + + (this.terminals_[Ye] || Ye) + + "'") + : (mt = + 'Parse error on line ' + + (we + 1) + + ': Unexpected ' + + (Ye == Ge ? 'end of input' : "'" + (this.terminals_[Ye] || Ye) + "'")), + this.parseError(mt, { + text: ye.match, + token: this.terminals_[Ye] || Ye, + line: ye.yylineno, + loc: Ze, + expected: It + }); + } + if (je[0] instanceof Array && je.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + Ve + ', token: ' + Ye + ); + switch (je[0]) { + case 1: + fe.push(Ye), + re.push(ye.yytext), + he.push(ye.yylloc), + fe.push(je[1]), + (Ye = null), + Je + ? ((Ye = Je), (Je = null)) + : ((Te = ye.yyleng), + (ae = ye.yytext), + (we = ye.yylineno), + (Ze = ye.yylloc), + Ce > 0 && Ce--); + break; + case 2: + if ( + ((dt = this.productions_[je[1]][1]), + (xt.$ = re[re.length - dt]), + (xt._$ = { + first_line: he[he.length - (dt || 1)].first_line, + last_line: he[he.length - 1].last_line, + first_column: he[he.length - (dt || 1)].first_column, + last_column: he[he.length - 1].last_column + }), + gt && + (xt._$.range = [ + he[he.length - (dt || 1)].range[0], + he[he.length - 1].range[1] + ]), + (at = this.performAction.apply( + xt, + [ae, Te, we, He.yy, je[1], re, he].concat(Me) + )), + typeof at < 'u') + ) + return at; + dt && + ((fe = fe.slice(0, -1 * dt * 2)), + (re = re.slice(0, -1 * dt)), + (he = he.slice(0, -1 * dt))), + fe.push(this.productions_[je[1]][0]), + re.push(xt.$), + he.push(xt._$), + (lt = ne[fe[fe.length - 2]][fe[fe.length - 1]]), + fe.push(lt); + break; + case 3: + return !0; + } + } + return !0; + }, 'parse') + }, + Ue = (function () { + var _e = { + EOF: 1, + parseError: o(function (W, fe) { + if (this.yy.parser) this.yy.parser.parseError(W, fe); + else throw new Error(W); + }, 'parseError'), + setInput: o(function (me, W) { + return ( + (this.yy = W || this.yy || {}), + (this._input = me), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, 'setInput'), + input: o(function () { + var me = this._input[0]; + (this.yytext += me), + this.yyleng++, + this.offset++, + (this.match += me), + (this.matched += me); + var W = me.match(/(?:\r\n?|\n).*/g); + return ( + W ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + me + ); + }, 'input'), + unput: o(function (me) { + var W = me.length, + fe = me.split(/(?:\r\n?|\n)/g); + (this._input = me + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - W)), + (this.offset -= W); + var ge = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + fe.length - 1 && (this.yylineno -= fe.length - 1); + var re = this.yylloc.range; + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: fe + ? (fe.length === ge.length ? this.yylloc.first_column : 0) + + ge[ge.length - fe.length].length - + fe[0].length + : this.yylloc.first_column - W + }), + this.options.ranges && (this.yylloc.range = [re[0], re[0] + this.yyleng - W]), + (this.yyleng = this.yytext.length), + this + ); + }, 'unput'), + more: o(function () { + return (this._more = !0), this; + }, 'more'), + reject: o(function () { + if (this.options.backtrack_lexer) this._backtrack = !0; + else + return this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + return this; + }, 'reject'), + less: o(function (me) { + this.unput(this.match.slice(me)); + }, 'less'), + pastInput: o(function () { + var me = this.matched.substr(0, this.matched.length - this.match.length); + return (me.length > 20 ? '...' : '') + me.substr(-20).replace(/\n/g, ''); + }, 'pastInput'), + upcomingInput: o(function () { + var me = this.match; + return ( + me.length < 20 && (me += this._input.substr(0, 20 - me.length)), + (me.substr(0, 20) + (me.length > 20 ? '...' : '')).replace(/\n/g, '') + ); + }, 'upcomingInput'), + showPosition: o(function () { + var me = this.pastInput(), + W = new Array(me.length + 1).join('-'); + return ( + me + + this.upcomingInput() + + ` +` + + W + + '^' + ); + }, 'showPosition'), + test_match: o(function (me, W) { + var fe, ge, re; + if ( + (this.options.backtrack_lexer && + ((re = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }), + this.options.ranges && (re.yylloc.range = this.yylloc.range.slice(0))), + (ge = me[0].match(/(?:\r\n?|\n).*/g)), + ge && (this.yylineno += ge.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: ge + ? ge[ge.length - 1].length - ge[ge.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + me[0].length + }), + (this.yytext += me[0]), + (this.match += me[0]), + (this.matches = me), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(me[0].length)), + (this.matched += me[0]), + (fe = this.performAction.call( + this, + this.yy, + this, + W, + this.conditionStack[this.conditionStack.length - 1] + )), + this.done && this._input && (this.done = !1), + fe) + ) + return fe; + if (this._backtrack) { + for (var he in re) this[he] = re[he]; + return !1; + } + return !1; + }, 'test_match'), + next: o(function () { + if (this.done) return this.EOF; + this._input || (this.done = !0); + var me, W, fe, ge; + this._more || ((this.yytext = ''), (this.match = '')); + for (var re = this._currentRules(), he = 0; he < re.length; he++) + if ( + ((fe = this._input.match(this.rules[re[he]])), + fe && (!W || fe[0].length > W[0].length)) + ) { + if (((W = fe), (ge = he), this.options.backtrack_lexer)) { + if (((me = this.test_match(fe, re[he])), me !== !1)) return me; + if (this._backtrack) { + W = !1; + continue; + } else return !1; + } else if (!this.options.flex) break; + } + return W + ? ((me = this.test_match(W, re[ge])), me !== !1 ? me : !1) + : this._input === '' + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, 'next'), + lex: o(function () { + var W = this.next(); + return W || this.lex(); + }, 'lex'), + begin: o(function (W) { + this.conditionStack.push(W); + }, 'begin'), + popState: o(function () { + var W = this.conditionStack.length - 1; + return W > 0 ? this.conditionStack.pop() : this.conditionStack[0]; + }, 'popState'), + _currentRules: o(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules; + }, '_currentRules'), + topState: o(function (W) { + return ( + (W = this.conditionStack.length - 1 - Math.abs(W || 0)), + W >= 0 ? this.conditionStack[W] : 'INITIAL' + ); + }, 'topState'), + pushState: o(function (W) { + this.begin(W); + }, 'pushState'), + stateStackSize: o(function () { + return this.conditionStack.length; + }, 'stateStackSize'), + options: {}, + performAction: o(function (W, fe, ge, re) { + var he = re; + switch (ge) { + case 0: + return 6; + case 1: + return 7; + case 2: + return 8; + case 3: + return 9; + case 4: + return 22; + case 5: + return 23; + case 6: + return this.begin('acc_title'), 24; + break; + case 7: + return this.popState(), 'acc_title_value'; + break; + case 8: + return this.begin('acc_descr'), 26; + break; + case 9: + return this.popState(), 'acc_descr_value'; + break; + case 10: + this.begin('acc_descr_multiline'); + break; + case 11: + this.popState(); + break; + case 12: + return 'acc_descr_multiline_value'; + case 13: + break; + case 14: + c; + break; + case 15: + return 12; + case 16: + break; + case 17: + return 11; + case 18: + return 15; + case 19: + return 16; + case 20: + return 17; + case 21: + return 18; + case 22: + return this.begin('person_ext'), 45; + break; + case 23: + return this.begin('person'), 44; + break; + case 24: + return this.begin('system_ext_queue'), 51; + break; + case 25: + return this.begin('system_ext_db'), 50; + break; + case 26: + return this.begin('system_ext'), 49; + break; + case 27: + return this.begin('system_queue'), 48; + break; + case 28: + return this.begin('system_db'), 47; + break; + case 29: + return this.begin('system'), 46; + break; + case 30: + return this.begin('boundary'), 37; + break; + case 31: + return this.begin('enterprise_boundary'), 34; + break; + case 32: + return this.begin('system_boundary'), 36; + break; + case 33: + return this.begin('container_ext_queue'), 57; + break; + case 34: + return this.begin('container_ext_db'), 56; + break; + case 35: + return this.begin('container_ext'), 55; + break; + case 36: + return this.begin('container_queue'), 54; + break; + case 37: + return this.begin('container_db'), 53; + break; + case 38: + return this.begin('container'), 52; + break; + case 39: + return this.begin('container_boundary'), 38; + break; + case 40: + return this.begin('component_ext_queue'), 63; + break; + case 41: + return this.begin('component_ext_db'), 62; + break; + case 42: + return this.begin('component_ext'), 61; + break; + case 43: + return this.begin('component_queue'), 60; + break; + case 44: + return this.begin('component_db'), 59; + break; + case 45: + return this.begin('component'), 58; + break; + case 46: + return this.begin('node'), 39; + break; + case 47: + return this.begin('node'), 39; + break; + case 48: + return this.begin('node_l'), 40; + break; + case 49: + return this.begin('node_r'), 41; + break; + case 50: + return this.begin('rel'), 64; + break; + case 51: + return this.begin('birel'), 65; + break; + case 52: + return this.begin('rel_u'), 66; + break; + case 53: + return this.begin('rel_u'), 66; + break; + case 54: + return this.begin('rel_d'), 67; + break; + case 55: + return this.begin('rel_d'), 67; + break; + case 56: + return this.begin('rel_l'), 68; + break; + case 57: + return this.begin('rel_l'), 68; + break; + case 58: + return this.begin('rel_r'), 69; + break; + case 59: + return this.begin('rel_r'), 69; + break; + case 60: + return this.begin('rel_b'), 70; + break; + case 61: + return this.begin('rel_index'), 71; + break; + case 62: + return this.begin('update_el_style'), 72; + break; + case 63: + return this.begin('update_rel_style'), 73; + break; + case 64: + return this.begin('update_layout_config'), 74; + break; + case 65: + return 'EOF_IN_STRUCT'; + case 66: + return this.begin('attribute'), 'ATTRIBUTE_EMPTY'; + break; + case 67: + this.begin('attribute'); + break; + case 68: + this.popState(), this.popState(); + break; + case 69: + return 80; + case 70: + break; + case 71: + return 80; + case 72: + this.begin('string'); + break; + case 73: + this.popState(); + break; + case 74: + return 'STR'; + case 75: + this.begin('string_kv'); + break; + case 76: + return this.begin('string_kv_key'), 'STR_KEY'; + break; + case 77: + this.popState(), this.begin('string_kv_value'); + break; + case 78: + return 'STR_VALUE'; + case 79: + this.popState(), this.popState(); + break; + case 80: + return 'STR'; + case 81: + return 'LBRACE'; + case 82: + return 'RBRACE'; + case 83: + return 'SPACE'; + case 84: + return 'EOL'; + case 85: + return 14; + } + }, 'anonymous'), + rules: [ + /^(?:.*direction\s+TB[^\n]*)/, + /^(?:.*direction\s+BT[^\n]*)/, + /^(?:.*direction\s+RL[^\n]*)/, + /^(?:.*direction\s+LR[^\n]*)/, + /^(?:title\s[^#\n;]+)/, + /^(?:accDescription\s[^#\n;]+)/, + /^(?:accTitle\s*:\s*)/, + /^(?:(?!\n||)*[^\n]*)/, + /^(?:accDescr\s*:\s*)/, + /^(?:(?!\n||)*[^\n]*)/, + /^(?:accDescr\s*\{\s*)/, + /^(?:[\}])/, + /^(?:[^\}]*)/, + /^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/, + /^(?:%%[^\n]*(\r?\n)*)/, + /^(?:\s*(\r?\n)+)/, + /^(?:\s+)/, + /^(?:C4Context\b)/, + /^(?:C4Container\b)/, + /^(?:C4Component\b)/, + /^(?:C4Dynamic\b)/, + /^(?:C4Deployment\b)/, + /^(?:Person_Ext\b)/, + /^(?:Person\b)/, + /^(?:SystemQueue_Ext\b)/, + /^(?:SystemDb_Ext\b)/, + /^(?:System_Ext\b)/, + /^(?:SystemQueue\b)/, + /^(?:SystemDb\b)/, + /^(?:System\b)/, + /^(?:Boundary\b)/, + /^(?:Enterprise_Boundary\b)/, + /^(?:System_Boundary\b)/, + /^(?:ContainerQueue_Ext\b)/, + /^(?:ContainerDb_Ext\b)/, + /^(?:Container_Ext\b)/, + /^(?:ContainerQueue\b)/, + /^(?:ContainerDb\b)/, + /^(?:Container\b)/, + /^(?:Container_Boundary\b)/, + /^(?:ComponentQueue_Ext\b)/, + /^(?:ComponentDb_Ext\b)/, + /^(?:Component_Ext\b)/, + /^(?:ComponentQueue\b)/, + /^(?:ComponentDb\b)/, + /^(?:Component\b)/, + /^(?:Deployment_Node\b)/, + /^(?:Node\b)/, + /^(?:Node_L\b)/, + /^(?:Node_R\b)/, + /^(?:Rel\b)/, + /^(?:BiRel\b)/, + /^(?:Rel_Up\b)/, + /^(?:Rel_U\b)/, + /^(?:Rel_Down\b)/, + /^(?:Rel_D\b)/, + /^(?:Rel_Left\b)/, + /^(?:Rel_L\b)/, + /^(?:Rel_Right\b)/, + /^(?:Rel_R\b)/, + /^(?:Rel_Back\b)/, + /^(?:RelIndex\b)/, + /^(?:UpdateElementStyle\b)/, + /^(?:UpdateRelStyle\b)/, + /^(?:UpdateLayoutConfig\b)/, + /^(?:$)/, + /^(?:[(][ ]*[,])/, + /^(?:[(])/, + /^(?:[)])/, + /^(?:,,)/, + /^(?:,)/, + /^(?:[ ]*["]["])/, + /^(?:[ ]*["])/, + /^(?:["])/, + /^(?:[^"]*)/, + /^(?:[ ]*[\$])/, + /^(?:[^=]*)/, + /^(?:[=][ ]*["])/, + /^(?:[^"]+)/, + /^(?:["])/, + /^(?:[^,]+)/, + /^(?:\{)/, + /^(?:\})/, + /^(?:[\s]+)/, + /^(?:[\n\r]+)/, + /^(?:$)/ + ], + conditions: { + acc_descr_multiline: { rules: [11, 12], inclusive: !1 }, + acc_descr: { rules: [9], inclusive: !1 }, + acc_title: { rules: [7], inclusive: !1 }, + string_kv_value: { rules: [78, 79], inclusive: !1 }, + string_kv_key: { rules: [77], inclusive: !1 }, + string_kv: { rules: [76], inclusive: !1 }, + string: { rules: [73, 74], inclusive: !1 }, + attribute: { + rules: [68, 69, 70, 71, 72, 75, 80], + inclusive: !1 + }, + update_layout_config: { + rules: [65, 66, 67, 68], + inclusive: !1 + }, + update_rel_style: { rules: [65, 66, 67, 68], inclusive: !1 }, + update_el_style: { rules: [65, 66, 67, 68], inclusive: !1 }, + rel_b: { rules: [65, 66, 67, 68], inclusive: !1 }, + rel_r: { rules: [65, 66, 67, 68], inclusive: !1 }, + rel_l: { rules: [65, 66, 67, 68], inclusive: !1 }, + rel_d: { rules: [65, 66, 67, 68], inclusive: !1 }, + rel_u: { rules: [65, 66, 67, 68], inclusive: !1 }, + rel_bi: { rules: [], inclusive: !1 }, + rel: { rules: [65, 66, 67, 68], inclusive: !1 }, + node_r: { rules: [65, 66, 67, 68], inclusive: !1 }, + node_l: { rules: [65, 66, 67, 68], inclusive: !1 }, + node: { rules: [65, 66, 67, 68], inclusive: !1 }, + index: { rules: [], inclusive: !1 }, + rel_index: { rules: [65, 66, 67, 68], inclusive: !1 }, + component_ext_queue: { rules: [], inclusive: !1 }, + component_ext_db: { rules: [65, 66, 67, 68], inclusive: !1 }, + component_ext: { rules: [65, 66, 67, 68], inclusive: !1 }, + component_queue: { rules: [65, 66, 67, 68], inclusive: !1 }, + component_db: { rules: [65, 66, 67, 68], inclusive: !1 }, + component: { rules: [65, 66, 67, 68], inclusive: !1 }, + container_boundary: { rules: [65, 66, 67, 68], inclusive: !1 }, + container_ext_queue: { rules: [65, 66, 67, 68], inclusive: !1 }, + container_ext_db: { rules: [65, 66, 67, 68], inclusive: !1 }, + container_ext: { rules: [65, 66, 67, 68], inclusive: !1 }, + container_queue: { rules: [65, 66, 67, 68], inclusive: !1 }, + container_db: { rules: [65, 66, 67, 68], inclusive: !1 }, + container: { rules: [65, 66, 67, 68], inclusive: !1 }, + birel: { rules: [65, 66, 67, 68], inclusive: !1 }, + system_boundary: { rules: [65, 66, 67, 68], inclusive: !1 }, + enterprise_boundary: { rules: [65, 66, 67, 68], inclusive: !1 }, + boundary: { rules: [65, 66, 67, 68], inclusive: !1 }, + system_ext_queue: { rules: [65, 66, 67, 68], inclusive: !1 }, + system_ext_db: { rules: [65, 66, 67, 68], inclusive: !1 }, + system_ext: { rules: [65, 66, 67, 68], inclusive: !1 }, + system_queue: { rules: [65, 66, 67, 68], inclusive: !1 }, + system_db: { rules: [65, 66, 67, 68], inclusive: !1 }, + system: { rules: [65, 66, 67, 68], inclusive: !1 }, + person_ext: { rules: [65, 66, 67, 68], inclusive: !1 }, + person: { rules: [65, 66, 67, 68], inclusive: !1 }, + INITIAL: { + rules: [ + 0, 1, 2, 3, 4, 5, 6, 8, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 81, + 82, 83, 84, 85 + ], + inclusive: !0 + } + } + }; + return _e; + })(); + Se.lexer = Ue; + function Pe() { + this.yy = {}; + } + return o(Pe, 'Parser'), (Pe.prototype = Se), (Se.Parser = Pe), new Pe(); + })(); + U1.parser = U1; + rz = U1; + }); + var UC, + On, + cp = R(() => { + 'use strict'; + (UC = o((t, e, { depth: r = 2, clobber: n = !1 } = {}) => { + let i = { depth: r, clobber: n }; + return Array.isArray(e) && !Array.isArray(t) + ? (e.forEach((a) => UC(t, a, i)), t) + : Array.isArray(e) && Array.isArray(t) + ? (e.forEach((a) => { + t.includes(a) || t.push(a); + }), + t) + : t === void 0 || r <= 0 + ? t != null && typeof t == 'object' && typeof e == 'object' + ? Object.assign(t, e) + : e + : (e !== void 0 && + typeof t == 'object' && + typeof e == 'object' && + Object.keys(e).forEach((a) => { + typeof e[a] == 'object' && (t[a] === void 0 || typeof t[a] == 'object') + ? (t[a] === void 0 && (t[a] = Array.isArray(e[a]) ? [] : {}), + (t[a] = UC(t[a], e[a], { depth: r - 1, clobber: n }))) + : (n || (typeof t[a] != 'object' && typeof e[a] != 'object')) && (t[a] = e[a]); + }), + t); + }, 'assignWithDepth')), + (On = UC); + }); + var Hb, + nz, + iz = R(() => { + 'use strict'; + (Hb = { + min: { r: 0, g: 0, b: 0, s: 0, l: 0, a: 0 }, + max: { r: 255, g: 255, b: 255, h: 360, s: 100, l: 100, a: 1 }, + clamp: { + r: o((t) => (t >= 255 ? 255 : t < 0 ? 0 : t), 'r'), + g: o((t) => (t >= 255 ? 255 : t < 0 ? 0 : t), 'g'), + b: o((t) => (t >= 255 ? 255 : t < 0 ? 0 : t), 'b'), + h: o((t) => t % 360, 'h'), + s: o((t) => (t >= 100 ? 100 : t < 0 ? 0 : t), 's'), + l: o((t) => (t >= 100 ? 100 : t < 0 ? 0 : t), 'l'), + a: o((t) => (t >= 1 ? 1 : t < 0 ? 0 : t), 'a') + }, + toLinear: o((t) => { + let e = t / 255; + return t > 0.03928 ? Math.pow((e + 0.055) / 1.055, 2.4) : e / 12.92; + }, 'toLinear'), + hue2rgb: o( + (t, e, r) => ( + r < 0 && (r += 1), + r > 1 && (r -= 1), + r < 0.16666666666666666 + ? t + (e - t) * 6 * r + : r < 0.5 + ? e + : r < 0.6666666666666666 + ? t + (e - t) * (0.6666666666666666 - r) * 6 + : t + ), + 'hue2rgb' + ), + hsl2rgb: o(({ h: t, s: e, l: r }, n) => { + if (!e) return r * 2.55; + (t /= 360), (e /= 100), (r /= 100); + let i = r < 0.5 ? r * (1 + e) : r + e - r * e, + a = 2 * r - i; + switch (n) { + case 'r': + return Hb.hue2rgb(a, i, t + 0.3333333333333333) * 255; + case 'g': + return Hb.hue2rgb(a, i, t) * 255; + case 'b': + return Hb.hue2rgb(a, i, t - 0.3333333333333333) * 255; + } + }, 'hsl2rgb'), + rgb2hsl: o(({ r: t, g: e, b: r }, n) => { + (t /= 255), (e /= 255), (r /= 255); + let i = Math.max(t, e, r), + a = Math.min(t, e, r), + s = (i + a) / 2; + if (n === 'l') return s * 100; + if (i === a) return 0; + let l = i - a, + u = s > 0.5 ? l / (2 - i - a) : l / (i + a); + if (n === 's') return u * 100; + switch (i) { + case t: + return ((e - r) / l + (e < r ? 6 : 0)) * 60; + case e: + return ((r - t) / l + 2) * 60; + case r: + return ((t - e) / l + 4) * 60; + default: + return -1; + } + }, 'rgb2hsl') + }), + (nz = Hb); + }); + var h2e, + az, + sz = R(() => { + 'use strict'; + (h2e = { + clamp: o((t, e, r) => (e > r ? Math.min(e, Math.max(r, t)) : Math.min(r, Math.max(e, t))), 'clamp'), + round: o((t) => Math.round(t * 1e10) / 1e10, 'round') + }), + (az = h2e); + }); + var f2e, + oz, + lz = R(() => { + 'use strict'; + (f2e = { + dec2hex: o((t) => { + let e = Math.round(t).toString(16); + return e.length > 1 ? e : `0${e}`; + }, 'dec2hex') + }), + (oz = f2e); + }); + var d2e, + Bt, + jl = R(() => { + 'use strict'; + iz(); + sz(); + lz(); + (d2e = { channel: nz, lang: az, unit: oz }), (Bt = d2e); + }); + var Jc, + Li, + H1 = R(() => { + 'use strict'; + jl(); + Jc = {}; + for (let t = 0; t <= 255; t++) Jc[t] = Bt.unit.dec2hex(t); + Li = { ALL: 0, RGB: 1, HSL: 2 }; + }); + var HC, + cz, + uz = R(() => { + 'use strict'; + H1(); + (HC = class { + static { + o(this, 'Type'); + } + constructor() { + this.type = Li.ALL; + } + get() { + return this.type; + } + set(e) { + if (this.type && this.type !== e) + throw new Error('Cannot change both RGB and HSL channels at the same time'); + this.type = e; + } + reset() { + this.type = Li.ALL; + } + is(e) { + return this.type === e; + } + }), + (cz = HC); + }); + var YC, + hz, + fz = R(() => { + 'use strict'; + jl(); + uz(); + H1(); + (YC = class { + static { + o(this, 'Channels'); + } + constructor(e, r) { + (this.color = r), (this.changed = !1), (this.data = e), (this.type = new cz()); + } + set(e, r) { + return (this.color = r), (this.changed = !1), (this.data = e), (this.type.type = Li.ALL), this; + } + _ensureHSL() { + let e = this.data, + { h: r, s: n, l: i } = e; + r === void 0 && (e.h = Bt.channel.rgb2hsl(e, 'h')), + n === void 0 && (e.s = Bt.channel.rgb2hsl(e, 's')), + i === void 0 && (e.l = Bt.channel.rgb2hsl(e, 'l')); + } + _ensureRGB() { + let e = this.data, + { r, g: n, b: i } = e; + r === void 0 && (e.r = Bt.channel.hsl2rgb(e, 'r')), + n === void 0 && (e.g = Bt.channel.hsl2rgb(e, 'g')), + i === void 0 && (e.b = Bt.channel.hsl2rgb(e, 'b')); + } + get r() { + let e = this.data, + r = e.r; + return !this.type.is(Li.HSL) && r !== void 0 ? r : (this._ensureHSL(), Bt.channel.hsl2rgb(e, 'r')); + } + get g() { + let e = this.data, + r = e.g; + return !this.type.is(Li.HSL) && r !== void 0 ? r : (this._ensureHSL(), Bt.channel.hsl2rgb(e, 'g')); + } + get b() { + let e = this.data, + r = e.b; + return !this.type.is(Li.HSL) && r !== void 0 ? r : (this._ensureHSL(), Bt.channel.hsl2rgb(e, 'b')); + } + get h() { + let e = this.data, + r = e.h; + return !this.type.is(Li.RGB) && r !== void 0 ? r : (this._ensureRGB(), Bt.channel.rgb2hsl(e, 'h')); + } + get s() { + let e = this.data, + r = e.s; + return !this.type.is(Li.RGB) && r !== void 0 ? r : (this._ensureRGB(), Bt.channel.rgb2hsl(e, 's')); + } + get l() { + let e = this.data, + r = e.l; + return !this.type.is(Li.RGB) && r !== void 0 ? r : (this._ensureRGB(), Bt.channel.rgb2hsl(e, 'l')); + } + get a() { + return this.data.a; + } + set r(e) { + this.type.set(Li.RGB), (this.changed = !0), (this.data.r = e); + } + set g(e) { + this.type.set(Li.RGB), (this.changed = !0), (this.data.g = e); + } + set b(e) { + this.type.set(Li.RGB), (this.changed = !0), (this.data.b = e); + } + set h(e) { + this.type.set(Li.HSL), (this.changed = !0), (this.data.h = e); + } + set s(e) { + this.type.set(Li.HSL), (this.changed = !0), (this.data.s = e); + } + set l(e) { + this.type.set(Li.HSL), (this.changed = !0), (this.data.l = e); + } + set a(e) { + (this.changed = !0), (this.data.a = e); + } + }), + (hz = YC); + }); + var p2e, + oh, + Y1 = R(() => { + 'use strict'; + fz(); + (p2e = new hz({ r: 0, g: 0, b: 0, a: 0 }, 'transparent')), (oh = p2e); + }); + var dz, + Yf, + WC = R(() => { + 'use strict'; + Y1(); + H1(); + (dz = { + re: /^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i, + parse: o((t) => { + if (t.charCodeAt(0) !== 35) return; + let e = t.match(dz.re); + if (!e) return; + let r = e[1], + n = parseInt(r, 16), + i = r.length, + a = i % 4 === 0, + s = i > 4, + l = s ? 1 : 17, + u = s ? 8 : 4, + h = a ? 0 : -1, + f = s ? 255 : 15; + return oh.set( + { + r: ((n >> (u * (h + 3))) & f) * l, + g: ((n >> (u * (h + 2))) & f) * l, + b: ((n >> (u * (h + 1))) & f) * l, + a: a ? ((n & f) * l) / 255 : 1 + }, + t + ); + }, 'parse'), + stringify: o((t) => { + let { r: e, g: r, b: n, a: i } = t; + return i < 1 + ? `#${Jc[Math.round(e)]}${Jc[Math.round(r)]}${Jc[Math.round(n)]}${Jc[Math.round(i * 255)]}` + : `#${Jc[Math.round(e)]}${Jc[Math.round(r)]}${Jc[Math.round(n)]}`; + }, 'stringify') + }), + (Yf = dz); + }); + var Yb, + W1, + pz = R(() => { + 'use strict'; + jl(); + Y1(); + (Yb = { + re: /^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i, + hueRe: /^(.+?)(deg|grad|rad|turn)$/i, + _hue2deg: o((t) => { + let e = t.match(Yb.hueRe); + if (e) { + let [, r, n] = e; + switch (n) { + case 'grad': + return Bt.channel.clamp.h(parseFloat(r) * 0.9); + case 'rad': + return Bt.channel.clamp.h((parseFloat(r) * 180) / Math.PI); + case 'turn': + return Bt.channel.clamp.h(parseFloat(r) * 360); + } + } + return Bt.channel.clamp.h(parseFloat(t)); + }, '_hue2deg'), + parse: o((t) => { + let e = t.charCodeAt(0); + if (e !== 104 && e !== 72) return; + let r = t.match(Yb.re); + if (!r) return; + let [, n, i, a, s, l] = r; + return oh.set( + { + h: Yb._hue2deg(n), + s: Bt.channel.clamp.s(parseFloat(i)), + l: Bt.channel.clamp.l(parseFloat(a)), + a: s ? Bt.channel.clamp.a(l ? parseFloat(s) / 100 : parseFloat(s)) : 1 + }, + t + ); + }, 'parse'), + stringify: o((t) => { + let { h: e, s: r, l: n, a: i } = t; + return i < 1 + ? `hsla(${Bt.lang.round(e)}, ${Bt.lang.round(r)}%, ${Bt.lang.round(n)}%, ${i})` + : `hsl(${Bt.lang.round(e)}, ${Bt.lang.round(r)}%, ${Bt.lang.round(n)}%)`; + }, 'stringify') + }), + (W1 = Yb); + }); + var Wb, + qC, + mz = R(() => { + 'use strict'; + WC(); + (Wb = { + colors: { + aliceblue: '#f0f8ff', + antiquewhite: '#faebd7', + aqua: '#00ffff', + aquamarine: '#7fffd4', + azure: '#f0ffff', + beige: '#f5f5dc', + bisque: '#ffe4c4', + black: '#000000', + blanchedalmond: '#ffebcd', + blue: '#0000ff', + blueviolet: '#8a2be2', + brown: '#a52a2a', + burlywood: '#deb887', + cadetblue: '#5f9ea0', + chartreuse: '#7fff00', + chocolate: '#d2691e', + coral: '#ff7f50', + cornflowerblue: '#6495ed', + cornsilk: '#fff8dc', + crimson: '#dc143c', + cyanaqua: '#00ffff', + darkblue: '#00008b', + darkcyan: '#008b8b', + darkgoldenrod: '#b8860b', + darkgray: '#a9a9a9', + darkgreen: '#006400', + darkgrey: '#a9a9a9', + darkkhaki: '#bdb76b', + darkmagenta: '#8b008b', + darkolivegreen: '#556b2f', + darkorange: '#ff8c00', + darkorchid: '#9932cc', + darkred: '#8b0000', + darksalmon: '#e9967a', + darkseagreen: '#8fbc8f', + darkslateblue: '#483d8b', + darkslategray: '#2f4f4f', + darkslategrey: '#2f4f4f', + darkturquoise: '#00ced1', + darkviolet: '#9400d3', + deeppink: '#ff1493', + deepskyblue: '#00bfff', + dimgray: '#696969', + dimgrey: '#696969', + dodgerblue: '#1e90ff', + firebrick: '#b22222', + floralwhite: '#fffaf0', + forestgreen: '#228b22', + fuchsia: '#ff00ff', + gainsboro: '#dcdcdc', + ghostwhite: '#f8f8ff', + gold: '#ffd700', + goldenrod: '#daa520', + gray: '#808080', + green: '#008000', + greenyellow: '#adff2f', + grey: '#808080', + honeydew: '#f0fff0', + hotpink: '#ff69b4', + indianred: '#cd5c5c', + indigo: '#4b0082', + ivory: '#fffff0', + khaki: '#f0e68c', + lavender: '#e6e6fa', + lavenderblush: '#fff0f5', + lawngreen: '#7cfc00', + lemonchiffon: '#fffacd', + lightblue: '#add8e6', + lightcoral: '#f08080', + lightcyan: '#e0ffff', + lightgoldenrodyellow: '#fafad2', + lightgray: '#d3d3d3', + lightgreen: '#90ee90', + lightgrey: '#d3d3d3', + lightpink: '#ffb6c1', + lightsalmon: '#ffa07a', + lightseagreen: '#20b2aa', + lightskyblue: '#87cefa', + lightslategray: '#778899', + lightslategrey: '#778899', + lightsteelblue: '#b0c4de', + lightyellow: '#ffffe0', + lime: '#00ff00', + limegreen: '#32cd32', + linen: '#faf0e6', + magenta: '#ff00ff', + maroon: '#800000', + mediumaquamarine: '#66cdaa', + mediumblue: '#0000cd', + mediumorchid: '#ba55d3', + mediumpurple: '#9370db', + mediumseagreen: '#3cb371', + mediumslateblue: '#7b68ee', + mediumspringgreen: '#00fa9a', + mediumturquoise: '#48d1cc', + mediumvioletred: '#c71585', + midnightblue: '#191970', + mintcream: '#f5fffa', + mistyrose: '#ffe4e1', + moccasin: '#ffe4b5', + navajowhite: '#ffdead', + navy: '#000080', + oldlace: '#fdf5e6', + olive: '#808000', + olivedrab: '#6b8e23', + orange: '#ffa500', + orangered: '#ff4500', + orchid: '#da70d6', + palegoldenrod: '#eee8aa', + palegreen: '#98fb98', + paleturquoise: '#afeeee', + palevioletred: '#db7093', + papayawhip: '#ffefd5', + peachpuff: '#ffdab9', + peru: '#cd853f', + pink: '#ffc0cb', + plum: '#dda0dd', + powderblue: '#b0e0e6', + purple: '#800080', + rebeccapurple: '#663399', + red: '#ff0000', + rosybrown: '#bc8f8f', + royalblue: '#4169e1', + saddlebrown: '#8b4513', + salmon: '#fa8072', + sandybrown: '#f4a460', + seagreen: '#2e8b57', + seashell: '#fff5ee', + sienna: '#a0522d', + silver: '#c0c0c0', + skyblue: '#87ceeb', + slateblue: '#6a5acd', + slategray: '#708090', + slategrey: '#708090', + snow: '#fffafa', + springgreen: '#00ff7f', + tan: '#d2b48c', + teal: '#008080', + thistle: '#d8bfd8', + transparent: '#00000000', + turquoise: '#40e0d0', + violet: '#ee82ee', + wheat: '#f5deb3', + white: '#ffffff', + whitesmoke: '#f5f5f5', + yellow: '#ffff00', + yellowgreen: '#9acd32' + }, + parse: o((t) => { + t = t.toLowerCase(); + let e = Wb.colors[t]; + if (e) return Yf.parse(e); + }, 'parse'), + stringify: o((t) => { + let e = Yf.stringify(t); + for (let r in Wb.colors) if (Wb.colors[r] === e) return r; + }, 'stringify') + }), + (qC = Wb); + }); + var gz, + q1, + yz = R(() => { + 'use strict'; + jl(); + Y1(); + (gz = { + re: /^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i, + parse: o((t) => { + let e = t.charCodeAt(0); + if (e !== 114 && e !== 82) return; + let r = t.match(gz.re); + if (!r) return; + let [, n, i, a, s, l, u, h, f] = r; + return oh.set( + { + r: Bt.channel.clamp.r(i ? parseFloat(n) * 2.55 : parseFloat(n)), + g: Bt.channel.clamp.g(s ? parseFloat(a) * 2.55 : parseFloat(a)), + b: Bt.channel.clamp.b(u ? parseFloat(l) * 2.55 : parseFloat(l)), + a: h ? Bt.channel.clamp.a(f ? parseFloat(h) / 100 : parseFloat(h)) : 1 + }, + t + ); + }, 'parse'), + stringify: o((t) => { + let { r: e, g: r, b: n, a: i } = t; + return i < 1 + ? `rgba(${Bt.lang.round(e)}, ${Bt.lang.round(r)}, ${Bt.lang.round(n)}, ${Bt.lang.round(i)})` + : `rgb(${Bt.lang.round(e)}, ${Bt.lang.round(r)}, ${Bt.lang.round(n)})`; + }, 'stringify') + }), + (q1 = gz); + }); + var m2e, + Di, + eu = R(() => { + 'use strict'; + WC(); + pz(); + mz(); + yz(); + H1(); + (m2e = { + format: { keyword: qC, hex: Yf, rgb: q1, rgba: q1, hsl: W1, hsla: W1 }, + parse: o((t) => { + if (typeof t != 'string') return t; + let e = Yf.parse(t) || q1.parse(t) || W1.parse(t) || qC.parse(t); + if (e) return e; + throw new Error(`Unsupported color format: "${t}"`); + }, 'parse'), + stringify: o( + (t) => + !t.changed && t.color + ? t.color + : t.type.is(Li.HSL) || t.data.r === void 0 + ? W1.stringify(t) + : t.a < 1 || !Number.isInteger(t.r) || !Number.isInteger(t.g) || !Number.isInteger(t.b) + ? q1.stringify(t) + : Yf.stringify(t), + 'stringify' + ) + }), + (Di = m2e); + }); + var g2e, + qb, + XC = R(() => { + 'use strict'; + jl(); + eu(); + (g2e = o((t, e) => { + let r = Di.parse(t); + for (let n in e) r[n] = Bt.channel.clamp[n](e[n]); + return Di.stringify(r); + }, 'change')), + (qb = g2e); + }); + var y2e, + Ws, + jC = R(() => { + 'use strict'; + jl(); + Y1(); + eu(); + XC(); + (y2e = o((t, e, r = 0, n = 1) => { + if (typeof t != 'number') return qb(t, { a: e }); + let i = oh.set({ + r: Bt.channel.clamp.r(t), + g: Bt.channel.clamp.g(e), + b: Bt.channel.clamp.b(r), + a: Bt.channel.clamp.a(n) + }); + return Di.stringify(i); + }, 'rgba')), + (Ws = y2e); + }); + var v2e, + X1, + vz = R(() => { + 'use strict'; + jl(); + eu(); + (v2e = o((t, e) => Bt.lang.round(Di.parse(t)[e]), 'channel')), (X1 = v2e); + }); + var x2e, + xz, + bz = R(() => { + 'use strict'; + jl(); + eu(); + (x2e = o((t) => { + let { r: e, g: r, b: n } = Di.parse(t), + i = + 0.2126 * Bt.channel.toLinear(e) + + 0.7152 * Bt.channel.toLinear(r) + + 0.0722 * Bt.channel.toLinear(n); + return Bt.lang.round(i); + }, 'luminance')), + (xz = x2e); + }); + var b2e, + wz, + Tz = R(() => { + 'use strict'; + bz(); + (b2e = o((t) => xz(t) >= 0.5, 'isLight')), (wz = b2e); + }); + var w2e, + Wa, + kz = R(() => { + 'use strict'; + Tz(); + (w2e = o((t) => !wz(t), 'isDark')), (Wa = w2e); + }); + var T2e, + Xb, + KC = R(() => { + 'use strict'; + jl(); + eu(); + (T2e = o((t, e, r) => { + let n = Di.parse(t), + i = n[e], + a = Bt.channel.clamp[e](i + r); + return i !== a && (n[e] = a), Di.stringify(n); + }, 'adjustChannel')), + (Xb = T2e); + }); + var k2e, + Et, + Ez = R(() => { + 'use strict'; + KC(); + (k2e = o((t, e) => Xb(t, 'l', e), 'lighten')), (Et = k2e); + }); + var E2e, + Dt, + Cz = R(() => { + 'use strict'; + KC(); + (E2e = o((t, e) => Xb(t, 'l', -e), 'darken')), (Dt = E2e); + }); + var C2e, + Oe, + Sz = R(() => { + 'use strict'; + eu(); + XC(); + (C2e = o((t, e) => { + let r = Di.parse(t), + n = {}; + for (let i in e) e[i] && (n[i] = r[i] + e[i]); + return qb(t, n); + }, 'adjust')), + (Oe = C2e); + }); + var S2e, + Az, + _z = R(() => { + 'use strict'; + eu(); + jC(); + (S2e = o((t, e, r = 50) => { + let { r: n, g: i, b: a, a: s } = Di.parse(t), + { r: l, g: u, b: h, a: f } = Di.parse(e), + d = r / 100, + p = d * 2 - 1, + m = s - f, + y = ((p * m === -1 ? p : (p + m) / (1 + p * m)) + 1) / 2, + v = 1 - y, + x = n * y + l * v, + b = i * y + u * v, + w = a * y + h * v, + S = s * d + f * (1 - d); + return Ws(x, b, w, S); + }, 'mix')), + (Az = S2e); + }); + var A2e, + ot, + Lz = R(() => { + 'use strict'; + eu(); + _z(); + (A2e = o((t, e = 100) => { + let r = Di.parse(t); + return (r.r = 255 - r.r), (r.g = 255 - r.g), (r.b = 255 - r.b), Az(r, t, e); + }, 'invert')), + (ot = A2e); + }); + var Dz = R(() => { + 'use strict'; + jC(); + vz(); + kz(); + Ez(); + Cz(); + Sz(); + Lz(); + }); + var al = R(() => { + 'use strict'; + Dz(); + }); + var lh, + ch, + j1 = R(() => { + 'use strict'; + (lh = '#ffffff'), (ch = '#f2f2f2'); + }); + var yi, + up = R(() => { + 'use strict'; + al(); + yi = o((t, e) => (e ? Oe(t, { s: -40, l: 10 }) : Oe(t, { s: -40, l: -10 })), 'mkBorder'); + }); + var QC, + Nz, + Mz = R(() => { + 'use strict'; + al(); + j1(); + up(); + (QC = class { + static { + o(this, 'Theme'); + } + constructor() { + (this.background = '#f4f4f4'), + (this.primaryColor = '#fff4dd'), + (this.noteBkgColor = '#fff5ad'), + (this.noteTextColor = '#333'), + (this.THEME_COLOR_LIMIT = 12), + (this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif'), + (this.fontSize = '16px'); + } + updateColors() { + if ( + ((this.primaryTextColor = this.primaryTextColor || (this.darkMode ? '#eee' : '#333')), + (this.secondaryColor = this.secondaryColor || Oe(this.primaryColor, { h: -120 })), + (this.tertiaryColor = this.tertiaryColor || Oe(this.primaryColor, { h: 180, l: 5 })), + (this.primaryBorderColor = this.primaryBorderColor || yi(this.primaryColor, this.darkMode)), + (this.secondaryBorderColor = + this.secondaryBorderColor || yi(this.secondaryColor, this.darkMode)), + (this.tertiaryBorderColor = this.tertiaryBorderColor || yi(this.tertiaryColor, this.darkMode)), + (this.noteBorderColor = this.noteBorderColor || yi(this.noteBkgColor, this.darkMode)), + (this.noteBkgColor = this.noteBkgColor || '#fff5ad'), + (this.noteTextColor = this.noteTextColor || '#333'), + (this.secondaryTextColor = this.secondaryTextColor || ot(this.secondaryColor)), + (this.tertiaryTextColor = this.tertiaryTextColor || ot(this.tertiaryColor)), + (this.lineColor = this.lineColor || ot(this.background)), + (this.arrowheadColor = this.arrowheadColor || ot(this.background)), + (this.textColor = this.textColor || this.primaryTextColor), + (this.border2 = this.border2 || this.tertiaryBorderColor), + (this.nodeBkg = this.nodeBkg || this.primaryColor), + (this.mainBkg = this.mainBkg || this.primaryColor), + (this.nodeBorder = this.nodeBorder || this.primaryBorderColor), + (this.clusterBkg = this.clusterBkg || this.tertiaryColor), + (this.clusterBorder = this.clusterBorder || this.tertiaryBorderColor), + (this.defaultLinkColor = this.defaultLinkColor || this.lineColor), + (this.titleColor = this.titleColor || this.tertiaryTextColor), + (this.edgeLabelBackground = + this.edgeLabelBackground || + (this.darkMode ? Dt(this.secondaryColor, 30) : this.secondaryColor)), + (this.nodeTextColor = this.nodeTextColor || this.primaryTextColor), + (this.actorBorder = this.actorBorder || this.primaryBorderColor), + (this.actorBkg = this.actorBkg || this.mainBkg), + (this.actorTextColor = this.actorTextColor || this.primaryTextColor), + (this.actorLineColor = this.actorLineColor || this.actorBorder), + (this.labelBoxBkgColor = this.labelBoxBkgColor || this.actorBkg), + (this.signalColor = this.signalColor || this.textColor), + (this.signalTextColor = this.signalTextColor || this.textColor), + (this.labelBoxBorderColor = this.labelBoxBorderColor || this.actorBorder), + (this.labelTextColor = this.labelTextColor || this.actorTextColor), + (this.loopTextColor = this.loopTextColor || this.actorTextColor), + (this.activationBorderColor = this.activationBorderColor || Dt(this.secondaryColor, 10)), + (this.activationBkgColor = this.activationBkgColor || this.secondaryColor), + (this.sequenceNumberColor = this.sequenceNumberColor || ot(this.lineColor)), + (this.sectionBkgColor = this.sectionBkgColor || this.tertiaryColor), + (this.altSectionBkgColor = this.altSectionBkgColor || 'white'), + (this.sectionBkgColor = this.sectionBkgColor || this.secondaryColor), + (this.sectionBkgColor2 = this.sectionBkgColor2 || this.primaryColor), + (this.excludeBkgColor = this.excludeBkgColor || '#eeeeee'), + (this.taskBorderColor = this.taskBorderColor || this.primaryBorderColor), + (this.taskBkgColor = this.taskBkgColor || this.primaryColor), + (this.activeTaskBorderColor = this.activeTaskBorderColor || this.primaryColor), + (this.activeTaskBkgColor = this.activeTaskBkgColor || Et(this.primaryColor, 23)), + (this.gridColor = this.gridColor || 'lightgrey'), + (this.doneTaskBkgColor = this.doneTaskBkgColor || 'lightgrey'), + (this.doneTaskBorderColor = this.doneTaskBorderColor || 'grey'), + (this.critBorderColor = this.critBorderColor || '#ff8888'), + (this.critBkgColor = this.critBkgColor || 'red'), + (this.todayLineColor = this.todayLineColor || 'red'), + (this.taskTextColor = this.taskTextColor || this.textColor), + (this.taskTextOutsideColor = this.taskTextOutsideColor || this.textColor), + (this.taskTextLightColor = this.taskTextLightColor || this.textColor), + (this.taskTextColor = this.taskTextColor || this.primaryTextColor), + (this.taskTextDarkColor = this.taskTextDarkColor || this.textColor), + (this.taskTextClickableColor = this.taskTextClickableColor || '#003163'), + (this.personBorder = this.personBorder || this.primaryBorderColor), + (this.personBkg = this.personBkg || this.mainBkg), + (this.transitionColor = this.transitionColor || this.lineColor), + (this.transitionLabelColor = this.transitionLabelColor || this.textColor), + (this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor), + (this.stateBkg = this.stateBkg || this.mainBkg), + (this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg), + (this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor), + (this.altBackground = this.altBackground || this.tertiaryColor), + (this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg), + (this.compositeBorder = this.compositeBorder || this.nodeBorder), + (this.innerEndBackground = this.nodeBorder), + (this.errorBkgColor = this.errorBkgColor || this.tertiaryColor), + (this.errorTextColor = this.errorTextColor || this.tertiaryTextColor), + (this.transitionColor = this.transitionColor || this.lineColor), + (this.specialStateColor = this.lineColor), + (this.cScale0 = this.cScale0 || this.primaryColor), + (this.cScale1 = this.cScale1 || this.secondaryColor), + (this.cScale2 = this.cScale2 || this.tertiaryColor), + (this.cScale3 = this.cScale3 || Oe(this.primaryColor, { h: 30 })), + (this.cScale4 = this.cScale4 || Oe(this.primaryColor, { h: 60 })), + (this.cScale5 = this.cScale5 || Oe(this.primaryColor, { h: 90 })), + (this.cScale6 = this.cScale6 || Oe(this.primaryColor, { h: 120 })), + (this.cScale7 = this.cScale7 || Oe(this.primaryColor, { h: 150 })), + (this.cScale8 = this.cScale8 || Oe(this.primaryColor, { h: 210, l: 150 })), + (this.cScale9 = this.cScale9 || Oe(this.primaryColor, { h: 270 })), + (this.cScale10 = this.cScale10 || Oe(this.primaryColor, { h: 300 })), + (this.cScale11 = this.cScale11 || Oe(this.primaryColor, { h: 330 })), + this.darkMode) + ) + for (let r = 0; r < this.THEME_COLOR_LIMIT; r++) + this['cScale' + r] = Dt(this['cScale' + r], 75); + else + for (let r = 0; r < this.THEME_COLOR_LIMIT; r++) + this['cScale' + r] = Dt(this['cScale' + r], 25); + for (let r = 0; r < this.THEME_COLOR_LIMIT; r++) + this['cScaleInv' + r] = this['cScaleInv' + r] || ot(this['cScale' + r]); + for (let r = 0; r < this.THEME_COLOR_LIMIT; r++) + this.darkMode + ? (this['cScalePeer' + r] = this['cScalePeer' + r] || Et(this['cScale' + r], 10)) + : (this['cScalePeer' + r] = this['cScalePeer' + r] || Dt(this['cScale' + r], 10)); + this.scaleLabelColor = this.scaleLabelColor || this.labelTextColor; + for (let r = 0; r < this.THEME_COLOR_LIMIT; r++) + this['cScaleLabel' + r] = this['cScaleLabel' + r] || this.scaleLabelColor; + let e = this.darkMode ? -4 : -1; + for (let r = 0; r < 5; r++) + (this['surface' + r] = + this['surface' + r] || Oe(this.mainBkg, { h: 180, s: -15, l: e * (5 + r * 3) })), + (this['surfacePeer' + r] = + this['surfacePeer' + r] || Oe(this.mainBkg, { h: 180, s: -15, l: e * (8 + r * 3) })); + (this.classText = this.classText || this.textColor), + (this.fillType0 = this.fillType0 || this.primaryColor), + (this.fillType1 = this.fillType1 || this.secondaryColor), + (this.fillType2 = this.fillType2 || Oe(this.primaryColor, { h: 64 })), + (this.fillType3 = this.fillType3 || Oe(this.secondaryColor, { h: 64 })), + (this.fillType4 = this.fillType4 || Oe(this.primaryColor, { h: -64 })), + (this.fillType5 = this.fillType5 || Oe(this.secondaryColor, { h: -64 })), + (this.fillType6 = this.fillType6 || Oe(this.primaryColor, { h: 128 })), + (this.fillType7 = this.fillType7 || Oe(this.secondaryColor, { h: 128 })), + (this.pie1 = this.pie1 || this.primaryColor), + (this.pie2 = this.pie2 || this.secondaryColor), + (this.pie3 = this.pie3 || this.tertiaryColor), + (this.pie4 = this.pie4 || Oe(this.primaryColor, { l: -10 })), + (this.pie5 = this.pie5 || Oe(this.secondaryColor, { l: -10 })), + (this.pie6 = this.pie6 || Oe(this.tertiaryColor, { l: -10 })), + (this.pie7 = this.pie7 || Oe(this.primaryColor, { h: 60, l: -10 })), + (this.pie8 = this.pie8 || Oe(this.primaryColor, { h: -60, l: -10 })), + (this.pie9 = this.pie9 || Oe(this.primaryColor, { h: 120, l: 0 })), + (this.pie10 = this.pie10 || Oe(this.primaryColor, { h: 60, l: -20 })), + (this.pie11 = this.pie11 || Oe(this.primaryColor, { h: -60, l: -20 })), + (this.pie12 = this.pie12 || Oe(this.primaryColor, { h: 120, l: -10 })), + (this.pieTitleTextSize = this.pieTitleTextSize || '25px'), + (this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor), + (this.pieSectionTextSize = this.pieSectionTextSize || '17px'), + (this.pieSectionTextColor = this.pieSectionTextColor || this.textColor), + (this.pieLegendTextSize = this.pieLegendTextSize || '17px'), + (this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor), + (this.pieStrokeColor = this.pieStrokeColor || 'black'), + (this.pieStrokeWidth = this.pieStrokeWidth || '2px'), + (this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || '2px'), + (this.pieOuterStrokeColor = this.pieOuterStrokeColor || 'black'), + (this.pieOpacity = this.pieOpacity || '0.7'), + (this.archEdgeColor = this.archEdgeColor || '#777'), + (this.archEdgeArrowColor = this.archEdgeArrowColor || '#777'), + (this.archEdgeWidth = this.archEdgeWidth || '3'), + (this.archGroupBorderColor = this.archGroupBorderColor || '#000'), + (this.archGroupBorderWidth = this.archGroupBorderWidth || '2px'), + (this.quadrant1Fill = this.quadrant1Fill || this.primaryColor), + (this.quadrant2Fill = this.quadrant2Fill || Oe(this.primaryColor, { r: 5, g: 5, b: 5 })), + (this.quadrant3Fill = this.quadrant3Fill || Oe(this.primaryColor, { r: 10, g: 10, b: 10 })), + (this.quadrant4Fill = this.quadrant4Fill || Oe(this.primaryColor, { r: 15, g: 15, b: 15 })), + (this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor), + (this.quadrant2TextFill = + this.quadrant2TextFill || Oe(this.primaryTextColor, { r: -5, g: -5, b: -5 })), + (this.quadrant3TextFill = + this.quadrant3TextFill || Oe(this.primaryTextColor, { r: -10, g: -10, b: -10 })), + (this.quadrant4TextFill = + this.quadrant4TextFill || Oe(this.primaryTextColor, { r: -15, g: -15, b: -15 })), + (this.quadrantPointFill = + this.quadrantPointFill || Wa(this.quadrant1Fill) + ? Et(this.quadrant1Fill) + : Dt(this.quadrant1Fill)), + (this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor), + (this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor), + (this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor), + (this.quadrantInternalBorderStrokeFill = + this.quadrantInternalBorderStrokeFill || this.primaryBorderColor), + (this.quadrantExternalBorderStrokeFill = + this.quadrantExternalBorderStrokeFill || this.primaryBorderColor), + (this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor), + (this.xyChart = { + backgroundColor: this.xyChart?.backgroundColor || this.background, + titleColor: this.xyChart?.titleColor || this.primaryTextColor, + xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor, + xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor, + xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor, + xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor, + yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor, + yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor, + yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor, + yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor, + plotColorPalette: + this.xyChart?.plotColorPalette || + '#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0' + }), + (this.requirementBackground = this.requirementBackground || this.primaryColor), + (this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor), + (this.requirementBorderSize = this.requirementBorderSize || '1'), + (this.requirementTextColor = this.requirementTextColor || this.primaryTextColor), + (this.relationColor = this.relationColor || this.lineColor), + (this.relationLabelBackground = + this.relationLabelBackground || + (this.darkMode ? Dt(this.secondaryColor, 30) : this.secondaryColor)), + (this.relationLabelColor = this.relationLabelColor || this.actorTextColor), + (this.git0 = this.git0 || this.primaryColor), + (this.git1 = this.git1 || this.secondaryColor), + (this.git2 = this.git2 || this.tertiaryColor), + (this.git3 = this.git3 || Oe(this.primaryColor, { h: -30 })), + (this.git4 = this.git4 || Oe(this.primaryColor, { h: -60 })), + (this.git5 = this.git5 || Oe(this.primaryColor, { h: -90 })), + (this.git6 = this.git6 || Oe(this.primaryColor, { h: 60 })), + (this.git7 = this.git7 || Oe(this.primaryColor, { h: 120 })), + this.darkMode + ? ((this.git0 = Et(this.git0, 25)), + (this.git1 = Et(this.git1, 25)), + (this.git2 = Et(this.git2, 25)), + (this.git3 = Et(this.git3, 25)), + (this.git4 = Et(this.git4, 25)), + (this.git5 = Et(this.git5, 25)), + (this.git6 = Et(this.git6, 25)), + (this.git7 = Et(this.git7, 25))) + : ((this.git0 = Dt(this.git0, 25)), + (this.git1 = Dt(this.git1, 25)), + (this.git2 = Dt(this.git2, 25)), + (this.git3 = Dt(this.git3, 25)), + (this.git4 = Dt(this.git4, 25)), + (this.git5 = Dt(this.git5, 25)), + (this.git6 = Dt(this.git6, 25)), + (this.git7 = Dt(this.git7, 25))), + (this.gitInv0 = this.gitInv0 || ot(this.git0)), + (this.gitInv1 = this.gitInv1 || ot(this.git1)), + (this.gitInv2 = this.gitInv2 || ot(this.git2)), + (this.gitInv3 = this.gitInv3 || ot(this.git3)), + (this.gitInv4 = this.gitInv4 || ot(this.git4)), + (this.gitInv5 = this.gitInv5 || ot(this.git5)), + (this.gitInv6 = this.gitInv6 || ot(this.git6)), + (this.gitInv7 = this.gitInv7 || ot(this.git7)), + (this.branchLabelColor = + this.branchLabelColor || (this.darkMode ? 'black' : this.labelTextColor)), + (this.gitBranchLabel0 = this.gitBranchLabel0 || this.branchLabelColor), + (this.gitBranchLabel1 = this.gitBranchLabel1 || this.branchLabelColor), + (this.gitBranchLabel2 = this.gitBranchLabel2 || this.branchLabelColor), + (this.gitBranchLabel3 = this.gitBranchLabel3 || this.branchLabelColor), + (this.gitBranchLabel4 = this.gitBranchLabel4 || this.branchLabelColor), + (this.gitBranchLabel5 = this.gitBranchLabel5 || this.branchLabelColor), + (this.gitBranchLabel6 = this.gitBranchLabel6 || this.branchLabelColor), + (this.gitBranchLabel7 = this.gitBranchLabel7 || this.branchLabelColor), + (this.tagLabelColor = this.tagLabelColor || this.primaryTextColor), + (this.tagLabelBackground = this.tagLabelBackground || this.primaryColor), + (this.tagLabelBorder = this.tagBorder || this.primaryBorderColor), + (this.tagLabelFontSize = this.tagLabelFontSize || '10px'), + (this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor), + (this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor), + (this.commitLabelFontSize = this.commitLabelFontSize || '10px'), + (this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || lh), + (this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || ch); + } + calculate(e) { + if (typeof e != 'object') { + this.updateColors(); + return; + } + let r = Object.keys(e); + r.forEach((n) => { + this[n] = e[n]; + }), + this.updateColors(), + r.forEach((n) => { + this[n] = e[n]; + }); + } + }), + (Nz = o((t) => { + let e = new QC(); + return e.calculate(t), e; + }, 'getThemeVariables')); + }); + var ZC, + Iz, + Oz = R(() => { + 'use strict'; + al(); + up(); + (ZC = class { + static { + o(this, 'Theme'); + } + constructor() { + (this.background = '#333'), + (this.primaryColor = '#1f2020'), + (this.secondaryColor = Et(this.primaryColor, 16)), + (this.tertiaryColor = Oe(this.primaryColor, { h: -160 })), + (this.primaryBorderColor = ot(this.background)), + (this.secondaryBorderColor = yi(this.secondaryColor, this.darkMode)), + (this.tertiaryBorderColor = yi(this.tertiaryColor, this.darkMode)), + (this.primaryTextColor = ot(this.primaryColor)), + (this.secondaryTextColor = ot(this.secondaryColor)), + (this.tertiaryTextColor = ot(this.tertiaryColor)), + (this.lineColor = ot(this.background)), + (this.textColor = ot(this.background)), + (this.mainBkg = '#1f2020'), + (this.secondBkg = 'calculated'), + (this.mainContrastColor = 'lightgrey'), + (this.darkTextColor = Et(ot('#323D47'), 10)), + (this.lineColor = 'calculated'), + (this.border1 = '#ccc'), + (this.border2 = Ws(255, 255, 255, 0.25)), + (this.arrowheadColor = 'calculated'), + (this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif'), + (this.fontSize = '16px'), + (this.labelBackground = '#181818'), + (this.textColor = '#ccc'), + (this.THEME_COLOR_LIMIT = 12), + (this.nodeBkg = 'calculated'), + (this.nodeBorder = 'calculated'), + (this.clusterBkg = 'calculated'), + (this.clusterBorder = 'calculated'), + (this.defaultLinkColor = 'calculated'), + (this.titleColor = '#F9FFFE'), + (this.edgeLabelBackground = 'calculated'), + (this.actorBorder = 'calculated'), + (this.actorBkg = 'calculated'), + (this.actorTextColor = 'calculated'), + (this.actorLineColor = 'calculated'), + (this.signalColor = 'calculated'), + (this.signalTextColor = 'calculated'), + (this.labelBoxBkgColor = 'calculated'), + (this.labelBoxBorderColor = 'calculated'), + (this.labelTextColor = 'calculated'), + (this.loopTextColor = 'calculated'), + (this.noteBorderColor = 'calculated'), + (this.noteBkgColor = '#fff5ad'), + (this.noteTextColor = 'calculated'), + (this.activationBorderColor = 'calculated'), + (this.activationBkgColor = 'calculated'), + (this.sequenceNumberColor = 'black'), + (this.sectionBkgColor = Dt('#EAE8D9', 30)), + (this.altSectionBkgColor = 'calculated'), + (this.sectionBkgColor2 = '#EAE8D9'), + (this.excludeBkgColor = Dt(this.sectionBkgColor, 10)), + (this.taskBorderColor = Ws(255, 255, 255, 70)), + (this.taskBkgColor = 'calculated'), + (this.taskTextColor = 'calculated'), + (this.taskTextLightColor = 'calculated'), + (this.taskTextOutsideColor = 'calculated'), + (this.taskTextClickableColor = '#003163'), + (this.activeTaskBorderColor = Ws(255, 255, 255, 50)), + (this.activeTaskBkgColor = '#81B1DB'), + (this.gridColor = 'calculated'), + (this.doneTaskBkgColor = 'calculated'), + (this.doneTaskBorderColor = 'grey'), + (this.critBorderColor = '#E83737'), + (this.critBkgColor = '#E83737'), + (this.taskTextDarkColor = 'calculated'), + (this.todayLineColor = '#DB5757'), + (this.personBorder = this.primaryBorderColor), + (this.personBkg = this.mainBkg), + (this.archEdgeColor = 'calculated'), + (this.archEdgeArrowColor = 'calculated'), + (this.archEdgeWidth = '3'), + (this.archGroupBorderColor = this.primaryBorderColor), + (this.archGroupBorderWidth = '2px'), + (this.labelColor = 'calculated'), + (this.errorBkgColor = '#a44141'), + (this.errorTextColor = '#ddd'); + } + updateColors() { + (this.secondBkg = Et(this.mainBkg, 16)), + (this.lineColor = this.mainContrastColor), + (this.arrowheadColor = this.mainContrastColor), + (this.nodeBkg = this.mainBkg), + (this.nodeBorder = this.border1), + (this.clusterBkg = this.secondBkg), + (this.clusterBorder = this.border2), + (this.defaultLinkColor = this.lineColor), + (this.edgeLabelBackground = Et(this.labelBackground, 25)), + (this.actorBorder = this.border1), + (this.actorBkg = this.mainBkg), + (this.actorTextColor = this.mainContrastColor), + (this.actorLineColor = this.actorBorder), + (this.signalColor = this.mainContrastColor), + (this.signalTextColor = this.mainContrastColor), + (this.labelBoxBkgColor = this.actorBkg), + (this.labelBoxBorderColor = this.actorBorder), + (this.labelTextColor = this.mainContrastColor), + (this.loopTextColor = this.mainContrastColor), + (this.noteBorderColor = this.secondaryBorderColor), + (this.noteBkgColor = this.secondBkg), + (this.noteTextColor = this.secondaryTextColor), + (this.activationBorderColor = this.border1), + (this.activationBkgColor = this.secondBkg), + (this.altSectionBkgColor = this.background), + (this.taskBkgColor = Et(this.mainBkg, 23)), + (this.taskTextColor = this.darkTextColor), + (this.taskTextLightColor = this.mainContrastColor), + (this.taskTextOutsideColor = this.taskTextLightColor), + (this.gridColor = this.mainContrastColor), + (this.doneTaskBkgColor = this.mainContrastColor), + (this.taskTextDarkColor = this.darkTextColor), + (this.archEdgeColor = this.lineColor), + (this.archEdgeArrowColor = this.lineColor), + (this.transitionColor = this.transitionColor || this.lineColor), + (this.transitionLabelColor = this.transitionLabelColor || this.textColor), + (this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor), + (this.stateBkg = this.stateBkg || this.mainBkg), + (this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg), + (this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor), + (this.altBackground = this.altBackground || '#555'), + (this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg), + (this.compositeBorder = this.compositeBorder || this.nodeBorder), + (this.innerEndBackground = this.primaryBorderColor), + (this.specialStateColor = '#f4f4f4'), + (this.errorBkgColor = this.errorBkgColor || this.tertiaryColor), + (this.errorTextColor = this.errorTextColor || this.tertiaryTextColor), + (this.fillType0 = this.primaryColor), + (this.fillType1 = this.secondaryColor), + (this.fillType2 = Oe(this.primaryColor, { h: 64 })), + (this.fillType3 = Oe(this.secondaryColor, { h: 64 })), + (this.fillType4 = Oe(this.primaryColor, { h: -64 })), + (this.fillType5 = Oe(this.secondaryColor, { h: -64 })), + (this.fillType6 = Oe(this.primaryColor, { h: 128 })), + (this.fillType7 = Oe(this.secondaryColor, { h: 128 })), + (this.cScale1 = this.cScale1 || '#0b0000'), + (this.cScale2 = this.cScale2 || '#4d1037'), + (this.cScale3 = this.cScale3 || '#3f5258'), + (this.cScale4 = this.cScale4 || '#4f2f1b'), + (this.cScale5 = this.cScale5 || '#6e0a0a'), + (this.cScale6 = this.cScale6 || '#3b0048'), + (this.cScale7 = this.cScale7 || '#995a01'), + (this.cScale8 = this.cScale8 || '#154706'), + (this.cScale9 = this.cScale9 || '#161722'), + (this.cScale10 = this.cScale10 || '#00296f'), + (this.cScale11 = this.cScale11 || '#01629c'), + (this.cScale12 = this.cScale12 || '#010029'), + (this.cScale0 = this.cScale0 || this.primaryColor), + (this.cScale1 = this.cScale1 || this.secondaryColor), + (this.cScale2 = this.cScale2 || this.tertiaryColor), + (this.cScale3 = this.cScale3 || Oe(this.primaryColor, { h: 30 })), + (this.cScale4 = this.cScale4 || Oe(this.primaryColor, { h: 60 })), + (this.cScale5 = this.cScale5 || Oe(this.primaryColor, { h: 90 })), + (this.cScale6 = this.cScale6 || Oe(this.primaryColor, { h: 120 })), + (this.cScale7 = this.cScale7 || Oe(this.primaryColor, { h: 150 })), + (this.cScale8 = this.cScale8 || Oe(this.primaryColor, { h: 210 })), + (this.cScale9 = this.cScale9 || Oe(this.primaryColor, { h: 270 })), + (this.cScale10 = this.cScale10 || Oe(this.primaryColor, { h: 300 })), + (this.cScale11 = this.cScale11 || Oe(this.primaryColor, { h: 330 })); + for (let e = 0; e < this.THEME_COLOR_LIMIT; e++) + this['cScaleInv' + e] = this['cScaleInv' + e] || ot(this['cScale' + e]); + for (let e = 0; e < this.THEME_COLOR_LIMIT; e++) + this['cScalePeer' + e] = this['cScalePeer' + e] || Et(this['cScale' + e], 10); + for (let e = 0; e < 5; e++) + (this['surface' + e] = + this['surface' + e] || Oe(this.mainBkg, { h: 30, s: -30, l: -(-10 + e * 4) })), + (this['surfacePeer' + e] = + this['surfacePeer' + e] || Oe(this.mainBkg, { h: 30, s: -30, l: -(-7 + e * 4) })); + this.scaleLabelColor = this.scaleLabelColor || (this.darkMode ? 'black' : this.labelTextColor); + for (let e = 0; e < this.THEME_COLOR_LIMIT; e++) + this['cScaleLabel' + e] = this['cScaleLabel' + e] || this.scaleLabelColor; + for (let e = 0; e < this.THEME_COLOR_LIMIT; e++) this['pie' + e] = this['cScale' + e]; + (this.pieTitleTextSize = this.pieTitleTextSize || '25px'), + (this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor), + (this.pieSectionTextSize = this.pieSectionTextSize || '17px'), + (this.pieSectionTextColor = this.pieSectionTextColor || this.textColor), + (this.pieLegendTextSize = this.pieLegendTextSize || '17px'), + (this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor), + (this.pieStrokeColor = this.pieStrokeColor || 'black'), + (this.pieStrokeWidth = this.pieStrokeWidth || '2px'), + (this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || '2px'), + (this.pieOuterStrokeColor = this.pieOuterStrokeColor || 'black'), + (this.pieOpacity = this.pieOpacity || '0.7'), + (this.quadrant1Fill = this.quadrant1Fill || this.primaryColor), + (this.quadrant2Fill = this.quadrant2Fill || Oe(this.primaryColor, { r: 5, g: 5, b: 5 })), + (this.quadrant3Fill = this.quadrant3Fill || Oe(this.primaryColor, { r: 10, g: 10, b: 10 })), + (this.quadrant4Fill = this.quadrant4Fill || Oe(this.primaryColor, { r: 15, g: 15, b: 15 })), + (this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor), + (this.quadrant2TextFill = + this.quadrant2TextFill || Oe(this.primaryTextColor, { r: -5, g: -5, b: -5 })), + (this.quadrant3TextFill = + this.quadrant3TextFill || Oe(this.primaryTextColor, { r: -10, g: -10, b: -10 })), + (this.quadrant4TextFill = + this.quadrant4TextFill || Oe(this.primaryTextColor, { r: -15, g: -15, b: -15 })), + (this.quadrantPointFill = + this.quadrantPointFill || Wa(this.quadrant1Fill) + ? Et(this.quadrant1Fill) + : Dt(this.quadrant1Fill)), + (this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor), + (this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor), + (this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor), + (this.quadrantInternalBorderStrokeFill = + this.quadrantInternalBorderStrokeFill || this.primaryBorderColor), + (this.quadrantExternalBorderStrokeFill = + this.quadrantExternalBorderStrokeFill || this.primaryBorderColor), + (this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor), + (this.xyChart = { + backgroundColor: this.xyChart?.backgroundColor || this.background, + titleColor: this.xyChart?.titleColor || this.primaryTextColor, + xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor, + xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor, + xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor, + xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor, + yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor, + yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor, + yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor, + yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor, + plotColorPalette: + this.xyChart?.plotColorPalette || + '#3498db,#2ecc71,#e74c3c,#f1c40f,#bdc3c7,#ffffff,#34495e,#9b59b6,#1abc9c,#e67e22' + }), + (this.packet = { + startByteColor: this.primaryTextColor, + endByteColor: this.primaryTextColor, + labelColor: this.primaryTextColor, + titleColor: this.primaryTextColor, + blockStrokeColor: this.primaryTextColor, + blockFillColor: this.background + }), + (this.classText = this.primaryTextColor), + (this.requirementBackground = this.requirementBackground || this.primaryColor), + (this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor), + (this.requirementBorderSize = this.requirementBorderSize || '1'), + (this.requirementTextColor = this.requirementTextColor || this.primaryTextColor), + (this.relationColor = this.relationColor || this.lineColor), + (this.relationLabelBackground = + this.relationLabelBackground || + (this.darkMode ? Dt(this.secondaryColor, 30) : this.secondaryColor)), + (this.relationLabelColor = this.relationLabelColor || this.actorTextColor), + (this.git0 = Et(this.secondaryColor, 20)), + (this.git1 = Et(this.pie2 || this.secondaryColor, 20)), + (this.git2 = Et(this.pie3 || this.tertiaryColor, 20)), + (this.git3 = Et(this.pie4 || Oe(this.primaryColor, { h: -30 }), 20)), + (this.git4 = Et(this.pie5 || Oe(this.primaryColor, { h: -60 }), 20)), + (this.git5 = Et(this.pie6 || Oe(this.primaryColor, { h: -90 }), 10)), + (this.git6 = Et(this.pie7 || Oe(this.primaryColor, { h: 60 }), 10)), + (this.git7 = Et(this.pie8 || Oe(this.primaryColor, { h: 120 }), 20)), + (this.gitInv0 = this.gitInv0 || ot(this.git0)), + (this.gitInv1 = this.gitInv1 || ot(this.git1)), + (this.gitInv2 = this.gitInv2 || ot(this.git2)), + (this.gitInv3 = this.gitInv3 || ot(this.git3)), + (this.gitInv4 = this.gitInv4 || ot(this.git4)), + (this.gitInv5 = this.gitInv5 || ot(this.git5)), + (this.gitInv6 = this.gitInv6 || ot(this.git6)), + (this.gitInv7 = this.gitInv7 || ot(this.git7)), + (this.gitBranchLabel0 = this.gitBranchLabel0 || ot(this.labelTextColor)), + (this.gitBranchLabel1 = this.gitBranchLabel1 || this.labelTextColor), + (this.gitBranchLabel2 = this.gitBranchLabel2 || this.labelTextColor), + (this.gitBranchLabel3 = this.gitBranchLabel3 || ot(this.labelTextColor)), + (this.gitBranchLabel4 = this.gitBranchLabel4 || this.labelTextColor), + (this.gitBranchLabel5 = this.gitBranchLabel5 || this.labelTextColor), + (this.gitBranchLabel6 = this.gitBranchLabel6 || this.labelTextColor), + (this.gitBranchLabel7 = this.gitBranchLabel7 || this.labelTextColor), + (this.tagLabelColor = this.tagLabelColor || this.primaryTextColor), + (this.tagLabelBackground = this.tagLabelBackground || this.primaryColor), + (this.tagLabelBorder = this.tagBorder || this.primaryBorderColor), + (this.tagLabelFontSize = this.tagLabelFontSize || '10px'), + (this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor), + (this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor), + (this.commitLabelFontSize = this.commitLabelFontSize || '10px'), + (this.attributeBackgroundColorOdd = + this.attributeBackgroundColorOdd || Et(this.background, 12)), + (this.attributeBackgroundColorEven = + this.attributeBackgroundColorEven || Et(this.background, 2)), + (this.nodeBorder = this.nodeBorder || '#999'); + } + calculate(e) { + if (typeof e != 'object') { + this.updateColors(); + return; + } + let r = Object.keys(e); + r.forEach((n) => { + this[n] = e[n]; + }), + this.updateColors(), + r.forEach((n) => { + this[n] = e[n]; + }); + } + }), + (Iz = o((t) => { + let e = new ZC(); + return e.calculate(t), e; + }, 'getThemeVariables')); + }); + var JC, + hp, + jb = R(() => { + 'use strict'; + al(); + up(); + j1(); + (JC = class { + static { + o(this, 'Theme'); + } + constructor() { + (this.background = '#f4f4f4'), + (this.primaryColor = '#ECECFF'), + (this.secondaryColor = Oe(this.primaryColor, { h: 120 })), + (this.secondaryColor = '#ffffde'), + (this.tertiaryColor = Oe(this.primaryColor, { h: -160 })), + (this.primaryBorderColor = yi(this.primaryColor, this.darkMode)), + (this.secondaryBorderColor = yi(this.secondaryColor, this.darkMode)), + (this.tertiaryBorderColor = yi(this.tertiaryColor, this.darkMode)), + (this.primaryTextColor = ot(this.primaryColor)), + (this.secondaryTextColor = ot(this.secondaryColor)), + (this.tertiaryTextColor = ot(this.tertiaryColor)), + (this.lineColor = ot(this.background)), + (this.textColor = ot(this.background)), + (this.background = 'white'), + (this.mainBkg = '#ECECFF'), + (this.secondBkg = '#ffffde'), + (this.lineColor = '#333333'), + (this.border1 = '#9370DB'), + (this.border2 = '#aaaa33'), + (this.arrowheadColor = '#333333'), + (this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif'), + (this.fontSize = '16px'), + (this.labelBackground = 'rgba(232,232,232, 0.8)'), + (this.textColor = '#333'), + (this.THEME_COLOR_LIMIT = 12), + (this.nodeBkg = 'calculated'), + (this.nodeBorder = 'calculated'), + (this.clusterBkg = 'calculated'), + (this.clusterBorder = 'calculated'), + (this.defaultLinkColor = 'calculated'), + (this.titleColor = 'calculated'), + (this.edgeLabelBackground = 'calculated'), + (this.actorBorder = 'calculated'), + (this.actorBkg = 'calculated'), + (this.actorTextColor = 'black'), + (this.actorLineColor = 'calculated'), + (this.signalColor = 'calculated'), + (this.signalTextColor = 'calculated'), + (this.labelBoxBkgColor = 'calculated'), + (this.labelBoxBorderColor = 'calculated'), + (this.labelTextColor = 'calculated'), + (this.loopTextColor = 'calculated'), + (this.noteBorderColor = 'calculated'), + (this.noteBkgColor = '#fff5ad'), + (this.noteTextColor = 'calculated'), + (this.activationBorderColor = '#666'), + (this.activationBkgColor = '#f4f4f4'), + (this.sequenceNumberColor = 'white'), + (this.sectionBkgColor = 'calculated'), + (this.altSectionBkgColor = 'calculated'), + (this.sectionBkgColor2 = 'calculated'), + (this.excludeBkgColor = '#eeeeee'), + (this.taskBorderColor = 'calculated'), + (this.taskBkgColor = 'calculated'), + (this.taskTextLightColor = 'calculated'), + (this.taskTextColor = this.taskTextLightColor), + (this.taskTextDarkColor = 'calculated'), + (this.taskTextOutsideColor = this.taskTextDarkColor), + (this.taskTextClickableColor = 'calculated'), + (this.activeTaskBorderColor = 'calculated'), + (this.activeTaskBkgColor = 'calculated'), + (this.gridColor = 'calculated'), + (this.doneTaskBkgColor = 'calculated'), + (this.doneTaskBorderColor = 'calculated'), + (this.critBorderColor = 'calculated'), + (this.critBkgColor = 'calculated'), + (this.todayLineColor = 'calculated'), + (this.sectionBkgColor = Ws(102, 102, 255, 0.49)), + (this.altSectionBkgColor = 'white'), + (this.sectionBkgColor2 = '#fff400'), + (this.taskBorderColor = '#534fbc'), + (this.taskBkgColor = '#8a90dd'), + (this.taskTextLightColor = 'white'), + (this.taskTextColor = 'calculated'), + (this.taskTextDarkColor = 'black'), + (this.taskTextOutsideColor = 'calculated'), + (this.taskTextClickableColor = '#003163'), + (this.activeTaskBorderColor = '#534fbc'), + (this.activeTaskBkgColor = '#bfc7ff'), + (this.gridColor = 'lightgrey'), + (this.doneTaskBkgColor = 'lightgrey'), + (this.doneTaskBorderColor = 'grey'), + (this.critBorderColor = '#ff8888'), + (this.critBkgColor = 'red'), + (this.todayLineColor = 'red'), + (this.personBorder = this.primaryBorderColor), + (this.personBkg = this.mainBkg), + (this.archEdgeColor = 'calculated'), + (this.archEdgeArrowColor = 'calculated'), + (this.archEdgeWidth = '3'), + (this.archGroupBorderColor = this.primaryBorderColor), + (this.archGroupBorderWidth = '2px'), + (this.labelColor = 'black'), + (this.errorBkgColor = '#552222'), + (this.errorTextColor = '#552222'), + this.updateColors(); + } + updateColors() { + (this.cScale0 = this.cScale0 || this.primaryColor), + (this.cScale1 = this.cScale1 || this.secondaryColor), + (this.cScale2 = this.cScale2 || this.tertiaryColor), + (this.cScale3 = this.cScale3 || Oe(this.primaryColor, { h: 30 })), + (this.cScale4 = this.cScale4 || Oe(this.primaryColor, { h: 60 })), + (this.cScale5 = this.cScale5 || Oe(this.primaryColor, { h: 90 })), + (this.cScale6 = this.cScale6 || Oe(this.primaryColor, { h: 120 })), + (this.cScale7 = this.cScale7 || Oe(this.primaryColor, { h: 150 })), + (this.cScale8 = this.cScale8 || Oe(this.primaryColor, { h: 210 })), + (this.cScale9 = this.cScale9 || Oe(this.primaryColor, { h: 270 })), + (this.cScale10 = this.cScale10 || Oe(this.primaryColor, { h: 300 })), + (this.cScale11 = this.cScale11 || Oe(this.primaryColor, { h: 330 })), + (this.cScalePeer1 = this.cScalePeer1 || Dt(this.secondaryColor, 45)), + (this.cScalePeer2 = this.cScalePeer2 || Dt(this.tertiaryColor, 40)); + for (let e = 0; e < this.THEME_COLOR_LIMIT; e++) + (this['cScale' + e] = Dt(this['cScale' + e], 10)), + (this['cScalePeer' + e] = this['cScalePeer' + e] || Dt(this['cScale' + e], 25)); + for (let e = 0; e < this.THEME_COLOR_LIMIT; e++) + this['cScaleInv' + e] = this['cScaleInv' + e] || Oe(this['cScale' + e], { h: 180 }); + for (let e = 0; e < 5; e++) + (this['surface' + e] = this['surface' + e] || Oe(this.mainBkg, { h: 30, l: -(5 + e * 5) })), + (this['surfacePeer' + e] = + this['surfacePeer' + e] || Oe(this.mainBkg, { h: 30, l: -(7 + e * 5) })); + if ( + ((this.scaleLabelColor = + this.scaleLabelColor !== 'calculated' && this.scaleLabelColor + ? this.scaleLabelColor + : this.labelTextColor), + this.labelTextColor !== 'calculated') + ) { + (this.cScaleLabel0 = this.cScaleLabel0 || ot(this.labelTextColor)), + (this.cScaleLabel3 = this.cScaleLabel3 || ot(this.labelTextColor)); + for (let e = 0; e < this.THEME_COLOR_LIMIT; e++) + this['cScaleLabel' + e] = this['cScaleLabel' + e] || this.labelTextColor; + } + (this.nodeBkg = this.mainBkg), + (this.nodeBorder = this.border1), + (this.clusterBkg = this.secondBkg), + (this.clusterBorder = this.border2), + (this.defaultLinkColor = this.lineColor), + (this.titleColor = this.textColor), + (this.edgeLabelBackground = this.labelBackground), + (this.actorBorder = Et(this.border1, 23)), + (this.actorBkg = this.mainBkg), + (this.labelBoxBkgColor = this.actorBkg), + (this.signalColor = this.textColor), + (this.signalTextColor = this.textColor), + (this.labelBoxBorderColor = this.actorBorder), + (this.labelTextColor = this.actorTextColor), + (this.loopTextColor = this.actorTextColor), + (this.noteBorderColor = this.border2), + (this.noteTextColor = this.actorTextColor), + (this.actorLineColor = this.actorBorder), + (this.taskTextColor = this.taskTextLightColor), + (this.taskTextOutsideColor = this.taskTextDarkColor), + (this.archEdgeColor = this.lineColor), + (this.archEdgeArrowColor = this.lineColor), + (this.transitionColor = this.transitionColor || this.lineColor), + (this.transitionLabelColor = this.transitionLabelColor || this.textColor), + (this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor), + (this.stateBkg = this.stateBkg || this.mainBkg), + (this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg), + (this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor), + (this.altBackground = this.altBackground || '#f0f0f0'), + (this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg), + (this.compositeBorder = this.compositeBorder || this.nodeBorder), + (this.innerEndBackground = this.nodeBorder), + (this.specialStateColor = this.lineColor), + (this.errorBkgColor = this.errorBkgColor || this.tertiaryColor), + (this.errorTextColor = this.errorTextColor || this.tertiaryTextColor), + (this.transitionColor = this.transitionColor || this.lineColor), + (this.classText = this.primaryTextColor), + (this.fillType0 = this.primaryColor), + (this.fillType1 = this.secondaryColor), + (this.fillType2 = Oe(this.primaryColor, { h: 64 })), + (this.fillType3 = Oe(this.secondaryColor, { h: 64 })), + (this.fillType4 = Oe(this.primaryColor, { h: -64 })), + (this.fillType5 = Oe(this.secondaryColor, { h: -64 })), + (this.fillType6 = Oe(this.primaryColor, { h: 128 })), + (this.fillType7 = Oe(this.secondaryColor, { h: 128 })), + (this.pie1 = this.pie1 || this.primaryColor), + (this.pie2 = this.pie2 || this.secondaryColor), + (this.pie3 = this.pie3 || Oe(this.tertiaryColor, { l: -40 })), + (this.pie4 = this.pie4 || Oe(this.primaryColor, { l: -10 })), + (this.pie5 = this.pie5 || Oe(this.secondaryColor, { l: -30 })), + (this.pie6 = this.pie6 || Oe(this.tertiaryColor, { l: -20 })), + (this.pie7 = this.pie7 || Oe(this.primaryColor, { h: 60, l: -20 })), + (this.pie8 = this.pie8 || Oe(this.primaryColor, { h: -60, l: -40 })), + (this.pie9 = this.pie9 || Oe(this.primaryColor, { h: 120, l: -40 })), + (this.pie10 = this.pie10 || Oe(this.primaryColor, { h: 60, l: -40 })), + (this.pie11 = this.pie11 || Oe(this.primaryColor, { h: -90, l: -40 })), + (this.pie12 = this.pie12 || Oe(this.primaryColor, { h: 120, l: -30 })), + (this.pieTitleTextSize = this.pieTitleTextSize || '25px'), + (this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor), + (this.pieSectionTextSize = this.pieSectionTextSize || '17px'), + (this.pieSectionTextColor = this.pieSectionTextColor || this.textColor), + (this.pieLegendTextSize = this.pieLegendTextSize || '17px'), + (this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor), + (this.pieStrokeColor = this.pieStrokeColor || 'black'), + (this.pieStrokeWidth = this.pieStrokeWidth || '2px'), + (this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || '2px'), + (this.pieOuterStrokeColor = this.pieOuterStrokeColor || 'black'), + (this.pieOpacity = this.pieOpacity || '0.7'), + (this.quadrant1Fill = this.quadrant1Fill || this.primaryColor), + (this.quadrant2Fill = this.quadrant2Fill || Oe(this.primaryColor, { r: 5, g: 5, b: 5 })), + (this.quadrant3Fill = this.quadrant3Fill || Oe(this.primaryColor, { r: 10, g: 10, b: 10 })), + (this.quadrant4Fill = this.quadrant4Fill || Oe(this.primaryColor, { r: 15, g: 15, b: 15 })), + (this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor), + (this.quadrant2TextFill = + this.quadrant2TextFill || Oe(this.primaryTextColor, { r: -5, g: -5, b: -5 })), + (this.quadrant3TextFill = + this.quadrant3TextFill || Oe(this.primaryTextColor, { r: -10, g: -10, b: -10 })), + (this.quadrant4TextFill = + this.quadrant4TextFill || Oe(this.primaryTextColor, { r: -15, g: -15, b: -15 })), + (this.quadrantPointFill = + this.quadrantPointFill || Wa(this.quadrant1Fill) + ? Et(this.quadrant1Fill) + : Dt(this.quadrant1Fill)), + (this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor), + (this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor), + (this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor), + (this.quadrantInternalBorderStrokeFill = + this.quadrantInternalBorderStrokeFill || this.primaryBorderColor), + (this.quadrantExternalBorderStrokeFill = + this.quadrantExternalBorderStrokeFill || this.primaryBorderColor), + (this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor), + (this.xyChart = { + backgroundColor: this.xyChart?.backgroundColor || this.background, + titleColor: this.xyChart?.titleColor || this.primaryTextColor, + xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor, + xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor, + xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor, + xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor, + yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor, + yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor, + yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor, + yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor, + plotColorPalette: + this.xyChart?.plotColorPalette || + '#ECECFF,#8493A6,#FFC3A0,#DCDDE1,#B8E994,#D1A36F,#C3CDE6,#FFB6C1,#496078,#F8F3E3' + }), + (this.requirementBackground = this.requirementBackground || this.primaryColor), + (this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor), + (this.requirementBorderSize = this.requirementBorderSize || '1'), + (this.requirementTextColor = this.requirementTextColor || this.primaryTextColor), + (this.relationColor = this.relationColor || this.lineColor), + (this.relationLabelBackground = this.relationLabelBackground || this.labelBackground), + (this.relationLabelColor = this.relationLabelColor || this.actorTextColor), + (this.git0 = this.git0 || this.primaryColor), + (this.git1 = this.git1 || this.secondaryColor), + (this.git2 = this.git2 || this.tertiaryColor), + (this.git3 = this.git3 || Oe(this.primaryColor, { h: -30 })), + (this.git4 = this.git4 || Oe(this.primaryColor, { h: -60 })), + (this.git5 = this.git5 || Oe(this.primaryColor, { h: -90 })), + (this.git6 = this.git6 || Oe(this.primaryColor, { h: 60 })), + (this.git7 = this.git7 || Oe(this.primaryColor, { h: 120 })), + this.darkMode + ? ((this.git0 = Et(this.git0, 25)), + (this.git1 = Et(this.git1, 25)), + (this.git2 = Et(this.git2, 25)), + (this.git3 = Et(this.git3, 25)), + (this.git4 = Et(this.git4, 25)), + (this.git5 = Et(this.git5, 25)), + (this.git6 = Et(this.git6, 25)), + (this.git7 = Et(this.git7, 25))) + : ((this.git0 = Dt(this.git0, 25)), + (this.git1 = Dt(this.git1, 25)), + (this.git2 = Dt(this.git2, 25)), + (this.git3 = Dt(this.git3, 25)), + (this.git4 = Dt(this.git4, 25)), + (this.git5 = Dt(this.git5, 25)), + (this.git6 = Dt(this.git6, 25)), + (this.git7 = Dt(this.git7, 25))), + (this.gitInv0 = this.gitInv0 || Dt(ot(this.git0), 25)), + (this.gitInv1 = this.gitInv1 || ot(this.git1)), + (this.gitInv2 = this.gitInv2 || ot(this.git2)), + (this.gitInv3 = this.gitInv3 || ot(this.git3)), + (this.gitInv4 = this.gitInv4 || ot(this.git4)), + (this.gitInv5 = this.gitInv5 || ot(this.git5)), + (this.gitInv6 = this.gitInv6 || ot(this.git6)), + (this.gitInv7 = this.gitInv7 || ot(this.git7)), + (this.gitBranchLabel0 = this.gitBranchLabel0 || ot(this.labelTextColor)), + (this.gitBranchLabel1 = this.gitBranchLabel1 || this.labelTextColor), + (this.gitBranchLabel2 = this.gitBranchLabel2 || this.labelTextColor), + (this.gitBranchLabel3 = this.gitBranchLabel3 || ot(this.labelTextColor)), + (this.gitBranchLabel4 = this.gitBranchLabel4 || this.labelTextColor), + (this.gitBranchLabel5 = this.gitBranchLabel5 || this.labelTextColor), + (this.gitBranchLabel6 = this.gitBranchLabel6 || this.labelTextColor), + (this.gitBranchLabel7 = this.gitBranchLabel7 || this.labelTextColor), + (this.tagLabelColor = this.tagLabelColor || this.primaryTextColor), + (this.tagLabelBackground = this.tagLabelBackground || this.primaryColor), + (this.tagLabelBorder = this.tagBorder || this.primaryBorderColor), + (this.tagLabelFontSize = this.tagLabelFontSize || '10px'), + (this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor), + (this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor), + (this.commitLabelFontSize = this.commitLabelFontSize || '10px'), + (this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || lh), + (this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || ch); + } + calculate(e) { + if (typeof e != 'object') { + this.updateColors(); + return; + } + let r = Object.keys(e); + r.forEach((n) => { + this[n] = e[n]; + }), + this.updateColors(), + r.forEach((n) => { + this[n] = e[n]; + }); + } + }), + (hp = o((t) => { + let e = new JC(); + return e.calculate(t), e; + }, 'getThemeVariables')); + }); + var e7, + Pz, + Bz = R(() => { + 'use strict'; + al(); + j1(); + up(); + (e7 = class { + static { + o(this, 'Theme'); + } + constructor() { + (this.background = '#f4f4f4'), + (this.primaryColor = '#cde498'), + (this.secondaryColor = '#cdffb2'), + (this.background = 'white'), + (this.mainBkg = '#cde498'), + (this.secondBkg = '#cdffb2'), + (this.lineColor = 'green'), + (this.border1 = '#13540c'), + (this.border2 = '#6eaa49'), + (this.arrowheadColor = 'green'), + (this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif'), + (this.fontSize = '16px'), + (this.tertiaryColor = Et('#cde498', 10)), + (this.primaryBorderColor = yi(this.primaryColor, this.darkMode)), + (this.secondaryBorderColor = yi(this.secondaryColor, this.darkMode)), + (this.tertiaryBorderColor = yi(this.tertiaryColor, this.darkMode)), + (this.primaryTextColor = ot(this.primaryColor)), + (this.secondaryTextColor = ot(this.secondaryColor)), + (this.tertiaryTextColor = ot(this.primaryColor)), + (this.lineColor = ot(this.background)), + (this.textColor = ot(this.background)), + (this.THEME_COLOR_LIMIT = 12), + (this.nodeBkg = 'calculated'), + (this.nodeBorder = 'calculated'), + (this.clusterBkg = 'calculated'), + (this.clusterBorder = 'calculated'), + (this.defaultLinkColor = 'calculated'), + (this.titleColor = '#333'), + (this.edgeLabelBackground = '#e8e8e8'), + (this.actorBorder = 'calculated'), + (this.actorBkg = 'calculated'), + (this.actorTextColor = 'black'), + (this.actorLineColor = 'calculated'), + (this.signalColor = '#333'), + (this.signalTextColor = '#333'), + (this.labelBoxBkgColor = 'calculated'), + (this.labelBoxBorderColor = '#326932'), + (this.labelTextColor = 'calculated'), + (this.loopTextColor = 'calculated'), + (this.noteBorderColor = 'calculated'), + (this.noteBkgColor = '#fff5ad'), + (this.noteTextColor = 'calculated'), + (this.activationBorderColor = '#666'), + (this.activationBkgColor = '#f4f4f4'), + (this.sequenceNumberColor = 'white'), + (this.sectionBkgColor = '#6eaa49'), + (this.altSectionBkgColor = 'white'), + (this.sectionBkgColor2 = '#6eaa49'), + (this.excludeBkgColor = '#eeeeee'), + (this.taskBorderColor = 'calculated'), + (this.taskBkgColor = '#487e3a'), + (this.taskTextLightColor = 'white'), + (this.taskTextColor = 'calculated'), + (this.taskTextDarkColor = 'black'), + (this.taskTextOutsideColor = 'calculated'), + (this.taskTextClickableColor = '#003163'), + (this.activeTaskBorderColor = 'calculated'), + (this.activeTaskBkgColor = 'calculated'), + (this.gridColor = 'lightgrey'), + (this.doneTaskBkgColor = 'lightgrey'), + (this.doneTaskBorderColor = 'grey'), + (this.critBorderColor = '#ff8888'), + (this.critBkgColor = 'red'), + (this.todayLineColor = 'red'), + (this.personBorder = this.primaryBorderColor), + (this.personBkg = this.mainBkg), + (this.archEdgeColor = 'calculated'), + (this.archEdgeArrowColor = 'calculated'), + (this.archEdgeWidth = '3'), + (this.archGroupBorderColor = this.primaryBorderColor), + (this.archGroupBorderWidth = '2px'), + (this.labelColor = 'black'), + (this.errorBkgColor = '#552222'), + (this.errorTextColor = '#552222'); + } + updateColors() { + (this.actorBorder = Dt(this.mainBkg, 20)), + (this.actorBkg = this.mainBkg), + (this.labelBoxBkgColor = this.actorBkg), + (this.labelTextColor = this.actorTextColor), + (this.loopTextColor = this.actorTextColor), + (this.noteBorderColor = this.border2), + (this.noteTextColor = this.actorTextColor), + (this.actorLineColor = this.actorBorder), + (this.cScale0 = this.cScale0 || this.primaryColor), + (this.cScale1 = this.cScale1 || this.secondaryColor), + (this.cScale2 = this.cScale2 || this.tertiaryColor), + (this.cScale3 = this.cScale3 || Oe(this.primaryColor, { h: 30 })), + (this.cScale4 = this.cScale4 || Oe(this.primaryColor, { h: 60 })), + (this.cScale5 = this.cScale5 || Oe(this.primaryColor, { h: 90 })), + (this.cScale6 = this.cScale6 || Oe(this.primaryColor, { h: 120 })), + (this.cScale7 = this.cScale7 || Oe(this.primaryColor, { h: 150 })), + (this.cScale8 = this.cScale8 || Oe(this.primaryColor, { h: 210 })), + (this.cScale9 = this.cScale9 || Oe(this.primaryColor, { h: 270 })), + (this.cScale10 = this.cScale10 || Oe(this.primaryColor, { h: 300 })), + (this.cScale11 = this.cScale11 || Oe(this.primaryColor, { h: 330 })), + (this.cScalePeer1 = this.cScalePeer1 || Dt(this.secondaryColor, 45)), + (this.cScalePeer2 = this.cScalePeer2 || Dt(this.tertiaryColor, 40)); + for (let e = 0; e < this.THEME_COLOR_LIMIT; e++) + (this['cScale' + e] = Dt(this['cScale' + e], 10)), + (this['cScalePeer' + e] = this['cScalePeer' + e] || Dt(this['cScale' + e], 25)); + for (let e = 0; e < this.THEME_COLOR_LIMIT; e++) + this['cScaleInv' + e] = this['cScaleInv' + e] || Oe(this['cScale' + e], { h: 180 }); + this.scaleLabelColor = + this.scaleLabelColor !== 'calculated' && this.scaleLabelColor + ? this.scaleLabelColor + : this.labelTextColor; + for (let e = 0; e < this.THEME_COLOR_LIMIT; e++) + this['cScaleLabel' + e] = this['cScaleLabel' + e] || this.scaleLabelColor; + for (let e = 0; e < 5; e++) + (this['surface' + e] = + this['surface' + e] || Oe(this.mainBkg, { h: 30, s: -30, l: -(5 + e * 5) })), + (this['surfacePeer' + e] = + this['surfacePeer' + e] || Oe(this.mainBkg, { h: 30, s: -30, l: -(8 + e * 5) })); + (this.nodeBkg = this.mainBkg), + (this.nodeBorder = this.border1), + (this.clusterBkg = this.secondBkg), + (this.clusterBorder = this.border2), + (this.defaultLinkColor = this.lineColor), + (this.taskBorderColor = this.border1), + (this.taskTextColor = this.taskTextLightColor), + (this.taskTextOutsideColor = this.taskTextDarkColor), + (this.activeTaskBorderColor = this.taskBorderColor), + (this.activeTaskBkgColor = this.mainBkg), + (this.archEdgeColor = this.lineColor), + (this.archEdgeArrowColor = this.lineColor), + (this.transitionColor = this.transitionColor || this.lineColor), + (this.transitionLabelColor = this.transitionLabelColor || this.textColor), + (this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor), + (this.stateBkg = this.stateBkg || this.mainBkg), + (this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg), + (this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor), + (this.altBackground = this.altBackground || '#f0f0f0'), + (this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg), + (this.compositeBorder = this.compositeBorder || this.nodeBorder), + (this.innerEndBackground = this.primaryBorderColor), + (this.specialStateColor = this.lineColor), + (this.errorBkgColor = this.errorBkgColor || this.tertiaryColor), + (this.errorTextColor = this.errorTextColor || this.tertiaryTextColor), + (this.transitionColor = this.transitionColor || this.lineColor), + (this.classText = this.primaryTextColor), + (this.fillType0 = this.primaryColor), + (this.fillType1 = this.secondaryColor), + (this.fillType2 = Oe(this.primaryColor, { h: 64 })), + (this.fillType3 = Oe(this.secondaryColor, { h: 64 })), + (this.fillType4 = Oe(this.primaryColor, { h: -64 })), + (this.fillType5 = Oe(this.secondaryColor, { h: -64 })), + (this.fillType6 = Oe(this.primaryColor, { h: 128 })), + (this.fillType7 = Oe(this.secondaryColor, { h: 128 })), + (this.pie1 = this.pie1 || this.primaryColor), + (this.pie2 = this.pie2 || this.secondaryColor), + (this.pie3 = this.pie3 || this.tertiaryColor), + (this.pie4 = this.pie4 || Oe(this.primaryColor, { l: -30 })), + (this.pie5 = this.pie5 || Oe(this.secondaryColor, { l: -30 })), + (this.pie6 = this.pie6 || Oe(this.tertiaryColor, { h: 40, l: -40 })), + (this.pie7 = this.pie7 || Oe(this.primaryColor, { h: 60, l: -10 })), + (this.pie8 = this.pie8 || Oe(this.primaryColor, { h: -60, l: -10 })), + (this.pie9 = this.pie9 || Oe(this.primaryColor, { h: 120, l: 0 })), + (this.pie10 = this.pie10 || Oe(this.primaryColor, { h: 60, l: -50 })), + (this.pie11 = this.pie11 || Oe(this.primaryColor, { h: -60, l: -50 })), + (this.pie12 = this.pie12 || Oe(this.primaryColor, { h: 120, l: -50 })), + (this.pieTitleTextSize = this.pieTitleTextSize || '25px'), + (this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor), + (this.pieSectionTextSize = this.pieSectionTextSize || '17px'), + (this.pieSectionTextColor = this.pieSectionTextColor || this.textColor), + (this.pieLegendTextSize = this.pieLegendTextSize || '17px'), + (this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor), + (this.pieStrokeColor = this.pieStrokeColor || 'black'), + (this.pieStrokeWidth = this.pieStrokeWidth || '2px'), + (this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || '2px'), + (this.pieOuterStrokeColor = this.pieOuterStrokeColor || 'black'), + (this.pieOpacity = this.pieOpacity || '0.7'), + (this.quadrant1Fill = this.quadrant1Fill || this.primaryColor), + (this.quadrant2Fill = this.quadrant2Fill || Oe(this.primaryColor, { r: 5, g: 5, b: 5 })), + (this.quadrant3Fill = this.quadrant3Fill || Oe(this.primaryColor, { r: 10, g: 10, b: 10 })), + (this.quadrant4Fill = this.quadrant4Fill || Oe(this.primaryColor, { r: 15, g: 15, b: 15 })), + (this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor), + (this.quadrant2TextFill = + this.quadrant2TextFill || Oe(this.primaryTextColor, { r: -5, g: -5, b: -5 })), + (this.quadrant3TextFill = + this.quadrant3TextFill || Oe(this.primaryTextColor, { r: -10, g: -10, b: -10 })), + (this.quadrant4TextFill = + this.quadrant4TextFill || Oe(this.primaryTextColor, { r: -15, g: -15, b: -15 })), + (this.quadrantPointFill = + this.quadrantPointFill || Wa(this.quadrant1Fill) + ? Et(this.quadrant1Fill) + : Dt(this.quadrant1Fill)), + (this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor), + (this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor), + (this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor), + (this.quadrantInternalBorderStrokeFill = + this.quadrantInternalBorderStrokeFill || this.primaryBorderColor), + (this.quadrantExternalBorderStrokeFill = + this.quadrantExternalBorderStrokeFill || this.primaryBorderColor), + (this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor), + (this.packet = { + startByteColor: this.primaryTextColor, + endByteColor: this.primaryTextColor, + labelColor: this.primaryTextColor, + titleColor: this.primaryTextColor, + blockStrokeColor: this.primaryTextColor, + blockFillColor: this.mainBkg + }), + (this.xyChart = { + backgroundColor: this.xyChart?.backgroundColor || this.background, + titleColor: this.xyChart?.titleColor || this.primaryTextColor, + xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor, + xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor, + xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor, + xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor, + yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor, + yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor, + yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor, + yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor, + plotColorPalette: + this.xyChart?.plotColorPalette || + '#CDE498,#FF6B6B,#A0D2DB,#D7BDE2,#F0F0F0,#FFC3A0,#7FD8BE,#FF9A8B,#FAF3E0,#FFF176' + }), + (this.requirementBackground = this.requirementBackground || this.primaryColor), + (this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor), + (this.requirementBorderSize = this.requirementBorderSize || '1'), + (this.requirementTextColor = this.requirementTextColor || this.primaryTextColor), + (this.relationColor = this.relationColor || this.lineColor), + (this.relationLabelBackground = this.relationLabelBackground || this.edgeLabelBackground), + (this.relationLabelColor = this.relationLabelColor || this.actorTextColor), + (this.git0 = this.git0 || this.primaryColor), + (this.git1 = this.git1 || this.secondaryColor), + (this.git2 = this.git2 || this.tertiaryColor), + (this.git3 = this.git3 || Oe(this.primaryColor, { h: -30 })), + (this.git4 = this.git4 || Oe(this.primaryColor, { h: -60 })), + (this.git5 = this.git5 || Oe(this.primaryColor, { h: -90 })), + (this.git6 = this.git6 || Oe(this.primaryColor, { h: 60 })), + (this.git7 = this.git7 || Oe(this.primaryColor, { h: 120 })), + this.darkMode + ? ((this.git0 = Et(this.git0, 25)), + (this.git1 = Et(this.git1, 25)), + (this.git2 = Et(this.git2, 25)), + (this.git3 = Et(this.git3, 25)), + (this.git4 = Et(this.git4, 25)), + (this.git5 = Et(this.git5, 25)), + (this.git6 = Et(this.git6, 25)), + (this.git7 = Et(this.git7, 25))) + : ((this.git0 = Dt(this.git0, 25)), + (this.git1 = Dt(this.git1, 25)), + (this.git2 = Dt(this.git2, 25)), + (this.git3 = Dt(this.git3, 25)), + (this.git4 = Dt(this.git4, 25)), + (this.git5 = Dt(this.git5, 25)), + (this.git6 = Dt(this.git6, 25)), + (this.git7 = Dt(this.git7, 25))), + (this.gitInv0 = this.gitInv0 || ot(this.git0)), + (this.gitInv1 = this.gitInv1 || ot(this.git1)), + (this.gitInv2 = this.gitInv2 || ot(this.git2)), + (this.gitInv3 = this.gitInv3 || ot(this.git3)), + (this.gitInv4 = this.gitInv4 || ot(this.git4)), + (this.gitInv5 = this.gitInv5 || ot(this.git5)), + (this.gitInv6 = this.gitInv6 || ot(this.git6)), + (this.gitInv7 = this.gitInv7 || ot(this.git7)), + (this.gitBranchLabel0 = this.gitBranchLabel0 || ot(this.labelTextColor)), + (this.gitBranchLabel1 = this.gitBranchLabel1 || this.labelTextColor), + (this.gitBranchLabel2 = this.gitBranchLabel2 || this.labelTextColor), + (this.gitBranchLabel3 = this.gitBranchLabel3 || ot(this.labelTextColor)), + (this.gitBranchLabel4 = this.gitBranchLabel4 || this.labelTextColor), + (this.gitBranchLabel5 = this.gitBranchLabel5 || this.labelTextColor), + (this.gitBranchLabel6 = this.gitBranchLabel6 || this.labelTextColor), + (this.gitBranchLabel7 = this.gitBranchLabel7 || this.labelTextColor), + (this.tagLabelColor = this.tagLabelColor || this.primaryTextColor), + (this.tagLabelBackground = this.tagLabelBackground || this.primaryColor), + (this.tagLabelBorder = this.tagBorder || this.primaryBorderColor), + (this.tagLabelFontSize = this.tagLabelFontSize || '10px'), + (this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor), + (this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor), + (this.commitLabelFontSize = this.commitLabelFontSize || '10px'), + (this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || lh), + (this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || ch); + } + calculate(e) { + if (typeof e != 'object') { + this.updateColors(); + return; + } + let r = Object.keys(e); + r.forEach((n) => { + this[n] = e[n]; + }), + this.updateColors(), + r.forEach((n) => { + this[n] = e[n]; + }); + } + }), + (Pz = o((t) => { + let e = new e7(); + return e.calculate(t), e; + }, 'getThemeVariables')); + }); + var t7, + Fz, + zz = R(() => { + 'use strict'; + al(); + up(); + j1(); + (t7 = class { + static { + o(this, 'Theme'); + } + constructor() { + (this.primaryColor = '#eee'), + (this.contrast = '#707070'), + (this.secondaryColor = Et(this.contrast, 55)), + (this.background = '#ffffff'), + (this.tertiaryColor = Oe(this.primaryColor, { h: -160 })), + (this.primaryBorderColor = yi(this.primaryColor, this.darkMode)), + (this.secondaryBorderColor = yi(this.secondaryColor, this.darkMode)), + (this.tertiaryBorderColor = yi(this.tertiaryColor, this.darkMode)), + (this.primaryTextColor = ot(this.primaryColor)), + (this.secondaryTextColor = ot(this.secondaryColor)), + (this.tertiaryTextColor = ot(this.tertiaryColor)), + (this.lineColor = ot(this.background)), + (this.textColor = ot(this.background)), + (this.mainBkg = '#eee'), + (this.secondBkg = 'calculated'), + (this.lineColor = '#666'), + (this.border1 = '#999'), + (this.border2 = 'calculated'), + (this.note = '#ffa'), + (this.text = '#333'), + (this.critical = '#d42'), + (this.done = '#bbb'), + (this.arrowheadColor = '#333333'), + (this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif'), + (this.fontSize = '16px'), + (this.THEME_COLOR_LIMIT = 12), + (this.nodeBkg = 'calculated'), + (this.nodeBorder = 'calculated'), + (this.clusterBkg = 'calculated'), + (this.clusterBorder = 'calculated'), + (this.defaultLinkColor = 'calculated'), + (this.titleColor = 'calculated'), + (this.edgeLabelBackground = 'white'), + (this.actorBorder = 'calculated'), + (this.actorBkg = 'calculated'), + (this.actorTextColor = 'calculated'), + (this.actorLineColor = this.actorBorder), + (this.signalColor = 'calculated'), + (this.signalTextColor = 'calculated'), + (this.labelBoxBkgColor = 'calculated'), + (this.labelBoxBorderColor = 'calculated'), + (this.labelTextColor = 'calculated'), + (this.loopTextColor = 'calculated'), + (this.noteBorderColor = 'calculated'), + (this.noteBkgColor = 'calculated'), + (this.noteTextColor = 'calculated'), + (this.activationBorderColor = '#666'), + (this.activationBkgColor = '#f4f4f4'), + (this.sequenceNumberColor = 'white'), + (this.sectionBkgColor = 'calculated'), + (this.altSectionBkgColor = 'white'), + (this.sectionBkgColor2 = 'calculated'), + (this.excludeBkgColor = '#eeeeee'), + (this.taskBorderColor = 'calculated'), + (this.taskBkgColor = 'calculated'), + (this.taskTextLightColor = 'white'), + (this.taskTextColor = 'calculated'), + (this.taskTextDarkColor = 'calculated'), + (this.taskTextOutsideColor = 'calculated'), + (this.taskTextClickableColor = '#003163'), + (this.activeTaskBorderColor = 'calculated'), + (this.activeTaskBkgColor = 'calculated'), + (this.gridColor = 'calculated'), + (this.doneTaskBkgColor = 'calculated'), + (this.doneTaskBorderColor = 'calculated'), + (this.critBkgColor = 'calculated'), + (this.critBorderColor = 'calculated'), + (this.todayLineColor = 'calculated'), + (this.personBorder = this.primaryBorderColor), + (this.personBkg = this.mainBkg), + (this.archEdgeColor = 'calculated'), + (this.archEdgeArrowColor = 'calculated'), + (this.archEdgeWidth = '3'), + (this.archGroupBorderColor = this.primaryBorderColor), + (this.archGroupBorderWidth = '2px'), + (this.labelColor = 'black'), + (this.errorBkgColor = '#552222'), + (this.errorTextColor = '#552222'); + } + updateColors() { + (this.secondBkg = Et(this.contrast, 55)), + (this.border2 = this.contrast), + (this.actorBorder = Et(this.border1, 23)), + (this.actorBkg = this.mainBkg), + (this.actorTextColor = this.text), + (this.actorLineColor = this.actorBorder), + (this.signalColor = this.text), + (this.signalTextColor = this.text), + (this.labelBoxBkgColor = this.actorBkg), + (this.labelBoxBorderColor = this.actorBorder), + (this.labelTextColor = this.text), + (this.loopTextColor = this.text), + (this.noteBorderColor = '#999'), + (this.noteBkgColor = '#666'), + (this.noteTextColor = '#fff'), + (this.cScale0 = this.cScale0 || '#555'), + (this.cScale1 = this.cScale1 || '#F4F4F4'), + (this.cScale2 = this.cScale2 || '#555'), + (this.cScale3 = this.cScale3 || '#BBB'), + (this.cScale4 = this.cScale4 || '#777'), + (this.cScale5 = this.cScale5 || '#999'), + (this.cScale6 = this.cScale6 || '#DDD'), + (this.cScale7 = this.cScale7 || '#FFF'), + (this.cScale8 = this.cScale8 || '#DDD'), + (this.cScale9 = this.cScale9 || '#BBB'), + (this.cScale10 = this.cScale10 || '#999'), + (this.cScale11 = this.cScale11 || '#777'); + for (let e = 0; e < this.THEME_COLOR_LIMIT; e++) + this['cScaleInv' + e] = this['cScaleInv' + e] || ot(this['cScale' + e]); + for (let e = 0; e < this.THEME_COLOR_LIMIT; e++) + this.darkMode + ? (this['cScalePeer' + e] = this['cScalePeer' + e] || Et(this['cScale' + e], 10)) + : (this['cScalePeer' + e] = this['cScalePeer' + e] || Dt(this['cScale' + e], 10)); + (this.scaleLabelColor = this.scaleLabelColor || (this.darkMode ? 'black' : this.labelTextColor)), + (this.cScaleLabel0 = this.cScaleLabel0 || this.cScale1), + (this.cScaleLabel2 = this.cScaleLabel2 || this.cScale1); + for (let e = 0; e < this.THEME_COLOR_LIMIT; e++) + this['cScaleLabel' + e] = this['cScaleLabel' + e] || this.scaleLabelColor; + for (let e = 0; e < 5; e++) + (this['surface' + e] = this['surface' + e] || Oe(this.mainBkg, { l: -(5 + e * 5) })), + (this['surfacePeer' + e] = + this['surfacePeer' + e] || Oe(this.mainBkg, { l: -(8 + e * 5) })); + (this.nodeBkg = this.mainBkg), + (this.nodeBorder = this.border1), + (this.clusterBkg = this.secondBkg), + (this.clusterBorder = this.border2), + (this.defaultLinkColor = this.lineColor), + (this.titleColor = this.text), + (this.sectionBkgColor = Et(this.contrast, 30)), + (this.sectionBkgColor2 = Et(this.contrast, 30)), + (this.taskBorderColor = Dt(this.contrast, 10)), + (this.taskBkgColor = this.contrast), + (this.taskTextColor = this.taskTextLightColor), + (this.taskTextDarkColor = this.text), + (this.taskTextOutsideColor = this.taskTextDarkColor), + (this.activeTaskBorderColor = this.taskBorderColor), + (this.activeTaskBkgColor = this.mainBkg), + (this.gridColor = Et(this.border1, 30)), + (this.doneTaskBkgColor = this.done), + (this.doneTaskBorderColor = this.lineColor), + (this.critBkgColor = this.critical), + (this.critBorderColor = Dt(this.critBkgColor, 10)), + (this.todayLineColor = this.critBkgColor), + (this.archEdgeColor = this.lineColor), + (this.archEdgeArrowColor = this.lineColor), + (this.transitionColor = this.transitionColor || '#000'), + (this.transitionLabelColor = this.transitionLabelColor || this.textColor), + (this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor), + (this.stateBkg = this.stateBkg || this.mainBkg), + (this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg), + (this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor), + (this.altBackground = this.altBackground || '#f4f4f4'), + (this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg), + (this.stateBorder = this.stateBorder || '#000'), + (this.innerEndBackground = this.primaryBorderColor), + (this.specialStateColor = '#222'), + (this.errorBkgColor = this.errorBkgColor || this.tertiaryColor), + (this.errorTextColor = this.errorTextColor || this.tertiaryTextColor), + (this.classText = this.primaryTextColor), + (this.fillType0 = this.primaryColor), + (this.fillType1 = this.secondaryColor), + (this.fillType2 = Oe(this.primaryColor, { h: 64 })), + (this.fillType3 = Oe(this.secondaryColor, { h: 64 })), + (this.fillType4 = Oe(this.primaryColor, { h: -64 })), + (this.fillType5 = Oe(this.secondaryColor, { h: -64 })), + (this.fillType6 = Oe(this.primaryColor, { h: 128 })), + (this.fillType7 = Oe(this.secondaryColor, { h: 128 })); + for (let e = 0; e < this.THEME_COLOR_LIMIT; e++) this['pie' + e] = this['cScale' + e]; + (this.pie12 = this.pie0), + (this.pieTitleTextSize = this.pieTitleTextSize || '25px'), + (this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor), + (this.pieSectionTextSize = this.pieSectionTextSize || '17px'), + (this.pieSectionTextColor = this.pieSectionTextColor || this.textColor), + (this.pieLegendTextSize = this.pieLegendTextSize || '17px'), + (this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor), + (this.pieStrokeColor = this.pieStrokeColor || 'black'), + (this.pieStrokeWidth = this.pieStrokeWidth || '2px'), + (this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || '2px'), + (this.pieOuterStrokeColor = this.pieOuterStrokeColor || 'black'), + (this.pieOpacity = this.pieOpacity || '0.7'), + (this.quadrant1Fill = this.quadrant1Fill || this.primaryColor), + (this.quadrant2Fill = this.quadrant2Fill || Oe(this.primaryColor, { r: 5, g: 5, b: 5 })), + (this.quadrant3Fill = this.quadrant3Fill || Oe(this.primaryColor, { r: 10, g: 10, b: 10 })), + (this.quadrant4Fill = this.quadrant4Fill || Oe(this.primaryColor, { r: 15, g: 15, b: 15 })), + (this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor), + (this.quadrant2TextFill = + this.quadrant2TextFill || Oe(this.primaryTextColor, { r: -5, g: -5, b: -5 })), + (this.quadrant3TextFill = + this.quadrant3TextFill || Oe(this.primaryTextColor, { r: -10, g: -10, b: -10 })), + (this.quadrant4TextFill = + this.quadrant4TextFill || Oe(this.primaryTextColor, { r: -15, g: -15, b: -15 })), + (this.quadrantPointFill = + this.quadrantPointFill || Wa(this.quadrant1Fill) + ? Et(this.quadrant1Fill) + : Dt(this.quadrant1Fill)), + (this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor), + (this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor), + (this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor), + (this.quadrantInternalBorderStrokeFill = + this.quadrantInternalBorderStrokeFill || this.primaryBorderColor), + (this.quadrantExternalBorderStrokeFill = + this.quadrantExternalBorderStrokeFill || this.primaryBorderColor), + (this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor), + (this.xyChart = { + backgroundColor: this.xyChart?.backgroundColor || this.background, + titleColor: this.xyChart?.titleColor || this.primaryTextColor, + xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor, + xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor, + xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor, + xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor, + yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor, + yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor, + yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor, + yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor, + plotColorPalette: + this.xyChart?.plotColorPalette || + '#EEE,#6BB8E4,#8ACB88,#C7ACD6,#E8DCC2,#FFB2A8,#FFF380,#7E8D91,#FFD8B1,#FAF3E0' + }), + (this.requirementBackground = this.requirementBackground || this.primaryColor), + (this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor), + (this.requirementBorderSize = this.requirementBorderSize || '1'), + (this.requirementTextColor = this.requirementTextColor || this.primaryTextColor), + (this.relationColor = this.relationColor || this.lineColor), + (this.relationLabelBackground = this.relationLabelBackground || this.edgeLabelBackground), + (this.relationLabelColor = this.relationLabelColor || this.actorTextColor), + (this.git0 = Dt(this.pie1, 25) || this.primaryColor), + (this.git1 = this.pie2 || this.secondaryColor), + (this.git2 = this.pie3 || this.tertiaryColor), + (this.git3 = this.pie4 || Oe(this.primaryColor, { h: -30 })), + (this.git4 = this.pie5 || Oe(this.primaryColor, { h: -60 })), + (this.git5 = this.pie6 || Oe(this.primaryColor, { h: -90 })), + (this.git6 = this.pie7 || Oe(this.primaryColor, { h: 60 })), + (this.git7 = this.pie8 || Oe(this.primaryColor, { h: 120 })), + (this.gitInv0 = this.gitInv0 || ot(this.git0)), + (this.gitInv1 = this.gitInv1 || ot(this.git1)), + (this.gitInv2 = this.gitInv2 || ot(this.git2)), + (this.gitInv3 = this.gitInv3 || ot(this.git3)), + (this.gitInv4 = this.gitInv4 || ot(this.git4)), + (this.gitInv5 = this.gitInv5 || ot(this.git5)), + (this.gitInv6 = this.gitInv6 || ot(this.git6)), + (this.gitInv7 = this.gitInv7 || ot(this.git7)), + (this.branchLabelColor = this.branchLabelColor || this.labelTextColor), + (this.gitBranchLabel0 = this.branchLabelColor), + (this.gitBranchLabel1 = 'white'), + (this.gitBranchLabel2 = this.branchLabelColor), + (this.gitBranchLabel3 = 'white'), + (this.gitBranchLabel4 = this.branchLabelColor), + (this.gitBranchLabel5 = this.branchLabelColor), + (this.gitBranchLabel6 = this.branchLabelColor), + (this.gitBranchLabel7 = this.branchLabelColor), + (this.tagLabelColor = this.tagLabelColor || this.primaryTextColor), + (this.tagLabelBackground = this.tagLabelBackground || this.primaryColor), + (this.tagLabelBorder = this.tagBorder || this.primaryBorderColor), + (this.tagLabelFontSize = this.tagLabelFontSize || '10px'), + (this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor), + (this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor), + (this.commitLabelFontSize = this.commitLabelFontSize || '10px'), + (this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || lh), + (this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || ch); + } + calculate(e) { + if (typeof e != 'object') { + this.updateColors(); + return; + } + let r = Object.keys(e); + r.forEach((n) => { + this[n] = e[n]; + }), + this.updateColors(), + r.forEach((n) => { + this[n] = e[n]; + }); + } + }), + (Fz = o((t) => { + let e = new t7(); + return e.calculate(t), e; + }, 'getThemeVariables')); + }); + var Co, + Kb = R(() => { + 'use strict'; + Mz(); + Oz(); + jb(); + Bz(); + zz(); + Co = { + base: { getThemeVariables: Nz }, + dark: { getThemeVariables: Iz }, + default: { getThemeVariables: hp }, + forest: { getThemeVariables: Pz }, + neutral: { getThemeVariables: Fz } + }; + }); + var tu, + Gz = R(() => { + 'use strict'; + tu = { + flowchart: { + useMaxWidth: !0, + titleTopMargin: 25, + subGraphTitleMargin: { top: 0, bottom: 0 }, + diagramPadding: 8, + htmlLabels: !0, + nodeSpacing: 50, + rankSpacing: 50, + curve: 'basis', + padding: 15, + defaultRenderer: 'dagre-wrapper', + wrappingWidth: 200 + }, + sequence: { + useMaxWidth: !0, + hideUnusedParticipants: !1, + activationWidth: 10, + diagramMarginX: 50, + diagramMarginY: 10, + actorMargin: 50, + width: 150, + height: 65, + boxMargin: 10, + boxTextMargin: 5, + noteMargin: 10, + messageMargin: 35, + messageAlign: 'center', + mirrorActors: !0, + forceMenus: !1, + bottomMarginAdj: 1, + rightAngles: !1, + showSequenceNumbers: !1, + actorFontSize: 14, + actorFontFamily: '"Open Sans", sans-serif', + actorFontWeight: 400, + noteFontSize: 14, + noteFontFamily: '"trebuchet ms", verdana, arial, sans-serif', + noteFontWeight: 400, + noteAlign: 'center', + messageFontSize: 16, + messageFontFamily: '"trebuchet ms", verdana, arial, sans-serif', + messageFontWeight: 400, + wrap: !1, + wrapPadding: 10, + labelBoxWidth: 50, + labelBoxHeight: 20 + }, + gantt: { + useMaxWidth: !0, + titleTopMargin: 25, + barHeight: 20, + barGap: 4, + topPadding: 50, + rightPadding: 75, + leftPadding: 75, + gridLineStartPadding: 35, + fontSize: 11, + sectionFontSize: 11, + numberSectionStyles: 4, + axisFormat: '%Y-%m-%d', + topAxis: !1, + displayMode: '', + weekday: 'sunday' + }, + journey: { + useMaxWidth: !0, + diagramMarginX: 50, + diagramMarginY: 10, + leftMargin: 150, + width: 150, + height: 50, + boxMargin: 10, + boxTextMargin: 5, + noteMargin: 10, + messageMargin: 35, + messageAlign: 'center', + bottomMarginAdj: 1, + rightAngles: !1, + taskFontSize: 14, + taskFontFamily: '"Open Sans", sans-serif', + taskMargin: 50, + activationWidth: 10, + textPlacement: 'fo', + actorColours: ['#8FBC8F', '#7CFC00', '#00FFFF', '#20B2AA', '#B0E0E6', '#FFFFE0'], + sectionFills: ['#191970', '#8B008B', '#4B0082', '#2F4F4F', '#800000', '#8B4513', '#00008B'], + sectionColours: ['#fff'] + }, + class: { + useMaxWidth: !0, + titleTopMargin: 25, + arrowMarkerAbsolute: !1, + dividerMargin: 10, + padding: 5, + textHeight: 10, + defaultRenderer: 'dagre-wrapper', + htmlLabels: !1 + }, + state: { + useMaxWidth: !0, + titleTopMargin: 25, + dividerMargin: 10, + sizeUnit: 5, + padding: 8, + textHeight: 10, + titleShift: -15, + noteMargin: 10, + forkWidth: 70, + forkHeight: 7, + miniPadding: 2, + fontSizeFactor: 5.02, + fontSize: 24, + labelHeight: 16, + edgeLengthFactor: '20', + compositTitleSize: 35, + radius: 5, + defaultRenderer: 'dagre-wrapper' + }, + er: { + useMaxWidth: !0, + titleTopMargin: 25, + diagramPadding: 20, + layoutDirection: 'TB', + minEntityWidth: 100, + minEntityHeight: 75, + entityPadding: 15, + stroke: 'gray', + fill: 'honeydew', + fontSize: 12 + }, + pie: { useMaxWidth: !0, textPosition: 0.75 }, + quadrantChart: { + useMaxWidth: !0, + chartWidth: 500, + chartHeight: 500, + titleFontSize: 20, + titlePadding: 10, + quadrantPadding: 5, + xAxisLabelPadding: 5, + yAxisLabelPadding: 5, + xAxisLabelFontSize: 16, + yAxisLabelFontSize: 16, + quadrantLabelFontSize: 16, + quadrantTextTopPadding: 5, + pointTextPadding: 5, + pointLabelFontSize: 12, + pointRadius: 5, + xAxisPosition: 'top', + yAxisPosition: 'left', + quadrantInternalBorderStrokeWidth: 1, + quadrantExternalBorderStrokeWidth: 2 + }, + xyChart: { + useMaxWidth: !0, + width: 700, + height: 500, + titleFontSize: 20, + titlePadding: 10, + showTitle: !0, + xAxis: { + $ref: '#/$defs/XYChartAxisConfig', + showLabel: !0, + labelFontSize: 14, + labelPadding: 5, + showTitle: !0, + titleFontSize: 16, + titlePadding: 5, + showTick: !0, + tickLength: 5, + tickWidth: 2, + showAxisLine: !0, + axisLineWidth: 2 + }, + yAxis: { + $ref: '#/$defs/XYChartAxisConfig', + showLabel: !0, + labelFontSize: 14, + labelPadding: 5, + showTitle: !0, + titleFontSize: 16, + titlePadding: 5, + showTick: !0, + tickLength: 5, + tickWidth: 2, + showAxisLine: !0, + axisLineWidth: 2 + }, + chartOrientation: 'vertical', + plotReservedSpacePercent: 50 + }, + requirement: { + useMaxWidth: !0, + rect_fill: '#f9f9f9', + text_color: '#333', + rect_border_size: '0.5px', + rect_border_color: '#bbb', + rect_min_width: 200, + rect_min_height: 200, + fontSize: 14, + rect_padding: 10, + line_height: 20 + }, + mindmap: { useMaxWidth: !0, padding: 10, maxNodeWidth: 200 }, + timeline: { + useMaxWidth: !0, + diagramMarginX: 50, + diagramMarginY: 10, + leftMargin: 150, + width: 150, + height: 50, + boxMargin: 10, + boxTextMargin: 5, + noteMargin: 10, + messageMargin: 35, + messageAlign: 'center', + bottomMarginAdj: 1, + rightAngles: !1, + taskFontSize: 14, + taskFontFamily: '"Open Sans", sans-serif', + taskMargin: 50, + activationWidth: 10, + textPlacement: 'fo', + actorColours: ['#8FBC8F', '#7CFC00', '#00FFFF', '#20B2AA', '#B0E0E6', '#FFFFE0'], + sectionFills: ['#191970', '#8B008B', '#4B0082', '#2F4F4F', '#800000', '#8B4513', '#00008B'], + sectionColours: ['#fff'], + disableMulticolor: !1 + }, + gitGraph: { + useMaxWidth: !0, + titleTopMargin: 25, + diagramPadding: 8, + nodeLabel: { width: 75, height: 100, x: -25, y: 0 }, + mainBranchName: 'main', + mainBranchOrder: 0, + showCommitLabel: !0, + showBranches: !0, + rotateCommitLabel: !0, + parallelCommits: !1, + arrowMarkerAbsolute: !1 + }, + c4: { + useMaxWidth: !0, + diagramMarginX: 50, + diagramMarginY: 10, + c4ShapeMargin: 50, + c4ShapePadding: 20, + width: 216, + height: 60, + boxMargin: 10, + c4ShapeInRow: 4, + nextLinePaddingX: 0, + c4BoundaryInRow: 2, + personFontSize: 14, + personFontFamily: '"Open Sans", sans-serif', + personFontWeight: 'normal', + external_personFontSize: 14, + external_personFontFamily: '"Open Sans", sans-serif', + external_personFontWeight: 'normal', + systemFontSize: 14, + systemFontFamily: '"Open Sans", sans-serif', + systemFontWeight: 'normal', + external_systemFontSize: 14, + external_systemFontFamily: '"Open Sans", sans-serif', + external_systemFontWeight: 'normal', + system_dbFontSize: 14, + system_dbFontFamily: '"Open Sans", sans-serif', + system_dbFontWeight: 'normal', + external_system_dbFontSize: 14, + external_system_dbFontFamily: '"Open Sans", sans-serif', + external_system_dbFontWeight: 'normal', + system_queueFontSize: 14, + system_queueFontFamily: '"Open Sans", sans-serif', + system_queueFontWeight: 'normal', + external_system_queueFontSize: 14, + external_system_queueFontFamily: '"Open Sans", sans-serif', + external_system_queueFontWeight: 'normal', + boundaryFontSize: 14, + boundaryFontFamily: '"Open Sans", sans-serif', + boundaryFontWeight: 'normal', + messageFontSize: 12, + messageFontFamily: '"Open Sans", sans-serif', + messageFontWeight: 'normal', + containerFontSize: 14, + containerFontFamily: '"Open Sans", sans-serif', + containerFontWeight: 'normal', + external_containerFontSize: 14, + external_containerFontFamily: '"Open Sans", sans-serif', + external_containerFontWeight: 'normal', + container_dbFontSize: 14, + container_dbFontFamily: '"Open Sans", sans-serif', + container_dbFontWeight: 'normal', + external_container_dbFontSize: 14, + external_container_dbFontFamily: '"Open Sans", sans-serif', + external_container_dbFontWeight: 'normal', + container_queueFontSize: 14, + container_queueFontFamily: '"Open Sans", sans-serif', + container_queueFontWeight: 'normal', + external_container_queueFontSize: 14, + external_container_queueFontFamily: '"Open Sans", sans-serif', + external_container_queueFontWeight: 'normal', + componentFontSize: 14, + componentFontFamily: '"Open Sans", sans-serif', + componentFontWeight: 'normal', + external_componentFontSize: 14, + external_componentFontFamily: '"Open Sans", sans-serif', + external_componentFontWeight: 'normal', + component_dbFontSize: 14, + component_dbFontFamily: '"Open Sans", sans-serif', + component_dbFontWeight: 'normal', + external_component_dbFontSize: 14, + external_component_dbFontFamily: '"Open Sans", sans-serif', + external_component_dbFontWeight: 'normal', + component_queueFontSize: 14, + component_queueFontFamily: '"Open Sans", sans-serif', + component_queueFontWeight: 'normal', + external_component_queueFontSize: 14, + external_component_queueFontFamily: '"Open Sans", sans-serif', + external_component_queueFontWeight: 'normal', + wrap: !0, + wrapPadding: 10, + person_bg_color: '#08427B', + person_border_color: '#073B6F', + external_person_bg_color: '#686868', + external_person_border_color: '#8A8A8A', + system_bg_color: '#1168BD', + system_border_color: '#3C7FC0', + system_db_bg_color: '#1168BD', + system_db_border_color: '#3C7FC0', + system_queue_bg_color: '#1168BD', + system_queue_border_color: '#3C7FC0', + external_system_bg_color: '#999999', + external_system_border_color: '#8A8A8A', + external_system_db_bg_color: '#999999', + external_system_db_border_color: '#8A8A8A', + external_system_queue_bg_color: '#999999', + external_system_queue_border_color: '#8A8A8A', + container_bg_color: '#438DD5', + container_border_color: '#3C7FC0', + container_db_bg_color: '#438DD5', + container_db_border_color: '#3C7FC0', + container_queue_bg_color: '#438DD5', + container_queue_border_color: '#3C7FC0', + external_container_bg_color: '#B3B3B3', + external_container_border_color: '#A6A6A6', + external_container_db_bg_color: '#B3B3B3', + external_container_db_border_color: '#A6A6A6', + external_container_queue_bg_color: '#B3B3B3', + external_container_queue_border_color: '#A6A6A6', + component_bg_color: '#85BBF0', + component_border_color: '#78A8D8', + component_db_bg_color: '#85BBF0', + component_db_border_color: '#78A8D8', + component_queue_bg_color: '#85BBF0', + component_queue_border_color: '#78A8D8', + external_component_bg_color: '#CCCCCC', + external_component_border_color: '#BFBFBF', + external_component_db_bg_color: '#CCCCCC', + external_component_db_border_color: '#BFBFBF', + external_component_queue_bg_color: '#CCCCCC', + external_component_queue_border_color: '#BFBFBF' + }, + sankey: { + useMaxWidth: !0, + width: 600, + height: 400, + linkColor: 'gradient', + nodeAlignment: 'justify', + showValues: !0, + prefix: '', + suffix: '' + }, + block: { useMaxWidth: !0, padding: 8 }, + packet: { + useMaxWidth: !0, + rowHeight: 32, + bitWidth: 32, + bitsPerRow: 32, + showBits: !0, + paddingX: 5, + paddingY: 5 + }, + architecture: { + useMaxWidth: !0, + padding: 40, + iconSize: 80, + fontSize: 16 + }, + theme: 'default', + look: 'classic', + handDrawnSeed: 0, + layout: 'dagre', + maxTextSize: 5e4, + maxEdges: 500, + darkMode: !1, + fontFamily: '"trebuchet ms", verdana, arial, sans-serif;', + logLevel: 5, + securityLevel: 'strict', + startOnLoad: !0, + arrowMarkerAbsolute: !1, + secure: ['secure', 'securityLevel', 'startOnLoad', 'maxTextSize', 'suppressErrorRendering', 'maxEdges'], + legacyMathML: !1, + forceLegacyMathML: !1, + deterministicIds: !1, + fontSize: 16, + markdownAutoWrap: !0, + suppressErrorRendering: !1 + }; + }); + var $z, + Vz, + Uz, + mr, + sl = R(() => { + 'use strict'; + Kb(); + Gz(); + ($z = { + ...tu, + deterministicIDSeed: void 0, + elk: { mergeEdges: !1, nodePlacementStrategy: 'SIMPLE' }, + themeCSS: void 0, + themeVariables: Co.default.getThemeVariables(), + sequence: { + ...tu.sequence, + messageFont: o(function () { + return { + fontFamily: this.messageFontFamily, + fontSize: this.messageFontSize, + fontWeight: this.messageFontWeight + }; + }, 'messageFont'), + noteFont: o(function () { + return { + fontFamily: this.noteFontFamily, + fontSize: this.noteFontSize, + fontWeight: this.noteFontWeight + }; + }, 'noteFont'), + actorFont: o(function () { + return { + fontFamily: this.actorFontFamily, + fontSize: this.actorFontSize, + fontWeight: this.actorFontWeight + }; + }, 'actorFont') + }, + gantt: { ...tu.gantt, tickInterval: void 0, useWidth: void 0 }, + c4: { + ...tu.c4, + useWidth: void 0, + personFont: o(function () { + return { + fontFamily: this.personFontFamily, + fontSize: this.personFontSize, + fontWeight: this.personFontWeight + }; + }, 'personFont'), + external_personFont: o(function () { + return { + fontFamily: this.external_personFontFamily, + fontSize: this.external_personFontSize, + fontWeight: this.external_personFontWeight + }; + }, 'external_personFont'), + systemFont: o(function () { + return { + fontFamily: this.systemFontFamily, + fontSize: this.systemFontSize, + fontWeight: this.systemFontWeight + }; + }, 'systemFont'), + external_systemFont: o(function () { + return { + fontFamily: this.external_systemFontFamily, + fontSize: this.external_systemFontSize, + fontWeight: this.external_systemFontWeight + }; + }, 'external_systemFont'), + system_dbFont: o(function () { + return { + fontFamily: this.system_dbFontFamily, + fontSize: this.system_dbFontSize, + fontWeight: this.system_dbFontWeight + }; + }, 'system_dbFont'), + external_system_dbFont: o(function () { + return { + fontFamily: this.external_system_dbFontFamily, + fontSize: this.external_system_dbFontSize, + fontWeight: this.external_system_dbFontWeight + }; + }, 'external_system_dbFont'), + system_queueFont: o(function () { + return { + fontFamily: this.system_queueFontFamily, + fontSize: this.system_queueFontSize, + fontWeight: this.system_queueFontWeight + }; + }, 'system_queueFont'), + external_system_queueFont: o(function () { + return { + fontFamily: this.external_system_queueFontFamily, + fontSize: this.external_system_queueFontSize, + fontWeight: this.external_system_queueFontWeight + }; + }, 'external_system_queueFont'), + containerFont: o(function () { + return { + fontFamily: this.containerFontFamily, + fontSize: this.containerFontSize, + fontWeight: this.containerFontWeight + }; + }, 'containerFont'), + external_containerFont: o(function () { + return { + fontFamily: this.external_containerFontFamily, + fontSize: this.external_containerFontSize, + fontWeight: this.external_containerFontWeight + }; + }, 'external_containerFont'), + container_dbFont: o(function () { + return { + fontFamily: this.container_dbFontFamily, + fontSize: this.container_dbFontSize, + fontWeight: this.container_dbFontWeight + }; + }, 'container_dbFont'), + external_container_dbFont: o(function () { + return { + fontFamily: this.external_container_dbFontFamily, + fontSize: this.external_container_dbFontSize, + fontWeight: this.external_container_dbFontWeight + }; + }, 'external_container_dbFont'), + container_queueFont: o(function () { + return { + fontFamily: this.container_queueFontFamily, + fontSize: this.container_queueFontSize, + fontWeight: this.container_queueFontWeight + }; + }, 'container_queueFont'), + external_container_queueFont: o(function () { + return { + fontFamily: this.external_container_queueFontFamily, + fontSize: this.external_container_queueFontSize, + fontWeight: this.external_container_queueFontWeight + }; + }, 'external_container_queueFont'), + componentFont: o(function () { + return { + fontFamily: this.componentFontFamily, + fontSize: this.componentFontSize, + fontWeight: this.componentFontWeight + }; + }, 'componentFont'), + external_componentFont: o(function () { + return { + fontFamily: this.external_componentFontFamily, + fontSize: this.external_componentFontSize, + fontWeight: this.external_componentFontWeight + }; + }, 'external_componentFont'), + component_dbFont: o(function () { + return { + fontFamily: this.component_dbFontFamily, + fontSize: this.component_dbFontSize, + fontWeight: this.component_dbFontWeight + }; + }, 'component_dbFont'), + external_component_dbFont: o(function () { + return { + fontFamily: this.external_component_dbFontFamily, + fontSize: this.external_component_dbFontSize, + fontWeight: this.external_component_dbFontWeight + }; + }, 'external_component_dbFont'), + component_queueFont: o(function () { + return { + fontFamily: this.component_queueFontFamily, + fontSize: this.component_queueFontSize, + fontWeight: this.component_queueFontWeight + }; + }, 'component_queueFont'), + external_component_queueFont: o(function () { + return { + fontFamily: this.external_component_queueFontFamily, + fontSize: this.external_component_queueFontSize, + fontWeight: this.external_component_queueFontWeight + }; + }, 'external_component_queueFont'), + boundaryFont: o(function () { + return { + fontFamily: this.boundaryFontFamily, + fontSize: this.boundaryFontSize, + fontWeight: this.boundaryFontWeight + }; + }, 'boundaryFont'), + messageFont: o(function () { + return { + fontFamily: this.messageFontFamily, + fontSize: this.messageFontSize, + fontWeight: this.messageFontWeight + }; + }, 'messageFont') + }, + pie: { ...tu.pie, useWidth: 984 }, + xyChart: { ...tu.xyChart, useWidth: void 0 }, + requirement: { ...tu.requirement, useWidth: void 0 }, + packet: { ...tu.packet } + }), + (Vz = o( + (t, e = '') => + Object.keys(t).reduce( + (r, n) => + Array.isArray(t[n]) + ? r + : typeof t[n] == 'object' && t[n] !== null + ? [...r, e + n, ...Vz(t[n], '')] + : [...r, e + n], + [] + ), + 'keyify' + )), + (Uz = new Set(Vz($z, ''))), + (mr = $z); + }); + var fp, + _2e, + r7 = R(() => { + 'use strict'; + sl(); + ut(); + (fp = o((t) => { + if ((V.debug('sanitizeDirective called with', t), !(typeof t != 'object' || t == null))) { + if (Array.isArray(t)) { + t.forEach((e) => fp(e)); + return; + } + for (let e of Object.keys(t)) { + if ( + (V.debug('Checking key', e), + e.startsWith('__') || + e.includes('proto') || + e.includes('constr') || + !Uz.has(e) || + t[e] == null) + ) { + V.debug('sanitize deleting key: ', e), delete t[e]; + continue; + } + if (typeof t[e] == 'object') { + V.debug('sanitizing object', e), fp(t[e]); + continue; + } + let r = ['themeCSS', 'fontFamily', 'altFontFamily']; + for (let n of r) e.includes(n) && (V.debug('sanitizing css option', e), (t[e] = _2e(t[e]))); + } + if (t.themeVariables) + for (let e of Object.keys(t.themeVariables)) { + let r = t.themeVariables[e]; + r?.match && !r.match(/^[\d "#%(),.;A-Za-z]+$/) && (t.themeVariables[e] = ''); + } + V.debug('After sanitization', t); + } + }, 'sanitizeDirective')), + (_2e = o((t) => { + let e = 0, + r = 0; + for (let n of t) { + if (e < r) return '{ /* ERROR: Unbalanced CSS */ }'; + n === '{' ? e++ : n === '}' && r++; + } + return e !== r ? '{ /* ERROR: Unbalanced CSS */ }' : t; + }, 'sanitizeCss')); + }); + var uh, + fs, + Yz, + dp, + K1, + Qb, + n7, + Wz, + qz, + i7, + Zb, + Or, + Xz, + jz, + Q1, + L2e, + Hz, + D2e, + Kz, + qs = R(() => { + 'use strict'; + cp(); + ut(); + Kb(); + sl(); + r7(); + (uh = Object.freeze(mr)), + (fs = On({}, uh)), + (dp = []), + (K1 = On({}, uh)), + (Qb = o((t, e) => { + let r = On({}, t), + n = {}; + for (let i of e) Xz(i), (n = On(n, i)); + if (((r = On(r, n)), n.theme && n.theme in Co)) { + let i = On({}, Yz), + a = On(i.themeVariables || {}, n.themeVariables); + r.theme && r.theme in Co && (r.themeVariables = Co[r.theme].getThemeVariables(a)); + } + return (K1 = r), Kz(K1), K1; + }, 'updateCurrentConfig')), + (n7 = o( + (t) => ( + (fs = On({}, uh)), + (fs = On(fs, t)), + t.theme && Co[t.theme] && (fs.themeVariables = Co[t.theme].getThemeVariables(t.themeVariables)), + Qb(fs, dp), + fs + ), + 'setSiteConfig' + )), + (Wz = o((t) => { + Yz = On({}, t); + }, 'saveConfigFromInitialize')), + (qz = o((t) => ((fs = On(fs, t)), Qb(fs, dp), fs), 'updateSiteConfig')), + (i7 = o(() => On({}, fs), 'getSiteConfig')), + (Zb = o((t) => (Kz(t), On(K1, t), Or()), 'setConfig')), + (Or = o(() => On({}, K1), 'getConfig')), + (Xz = o((t) => { + t && + (['secure', ...(fs.secure ?? [])].forEach((e) => { + Object.hasOwn(t, e) && + (V.debug(`Denied attempt to modify a secure key ${e}`, t[e]), delete t[e]); + }), + Object.keys(t).forEach((e) => { + e.startsWith('__') && delete t[e]; + }), + Object.keys(t).forEach((e) => { + typeof t[e] == 'string' && + (t[e].includes('<') || t[e].includes('>') || t[e].includes('url(data:')) && + delete t[e], + typeof t[e] == 'object' && Xz(t[e]); + })); + }, 'sanitize')), + (jz = o((t) => { + fp(t), + t.fontFamily && + !t.themeVariables?.fontFamily && + (t.themeVariables = { + ...t.themeVariables, + fontFamily: t.fontFamily + }), + dp.push(t), + Qb(fs, dp); + }, 'addDirective')), + (Q1 = o((t = fs) => { + (dp = []), Qb(t, dp); + }, 'reset')), + (L2e = { + LAZY_LOAD_DEPRECATED: + 'The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.' + }), + (Hz = {}), + (D2e = o((t) => { + Hz[t] || (V.warn(L2e[t]), (Hz[t] = !0)); + }, 'issueWarning')), + (Kz = o((t) => { + t && (t.lazyLoadedDiagrams || t.loadExternalDiagramsAtStartup) && D2e('LAZY_LOAD_DEPRECATED'); + }, 'checkConfig')); + }); + var o7 = gi((a7, s7) => { + 'use strict'; + (function (t, e) { + typeof a7 == 'object' && typeof s7 < 'u' + ? (s7.exports = e()) + : typeof define == 'function' && define.amd + ? define(e) + : ((t = typeof globalThis < 'u' ? globalThis : t || self), (t.DOMPurify = e())); + })(a7, function () { + 'use strict'; + let { entries: t, setPrototypeOf: e, isFrozen: r, getPrototypeOf: n, getOwnPropertyDescriptor: i } = Object, + { freeze: a, seal: s, create: l } = Object, + { apply: u, construct: h } = typeof Reflect < 'u' && Reflect; + a || + (a = o(function (Se) { + return Se; + }, 'freeze')), + s || + (s = o(function (Se) { + return Se; + }, 'seal')), + u || + (u = o(function (Se, Ue, Pe) { + return Se.apply(Ue, Pe); + }, 'apply')), + h || + (h = o(function (Se, Ue) { + return new Se(...Ue); + }, 'construct')); + let f = E(Array.prototype.forEach), + d = E(Array.prototype.pop), + p = E(Array.prototype.push), + m = E(String.prototype.toLowerCase), + g = E(String.prototype.toString), + y = E(String.prototype.match), + v = E(String.prototype.replace), + x = E(String.prototype.indexOf), + b = E(String.prototype.trim), + w = E(Object.prototype.hasOwnProperty), + S = E(RegExp.prototype.test), + T = _(TypeError); + function E(Ie) { + return function (Se) { + for (var Ue = arguments.length, Pe = new Array(Ue > 1 ? Ue - 1 : 0), _e = 1; _e < Ue; _e++) + Pe[_e - 1] = arguments[_e]; + return u(Ie, Se, Pe); + }; + } + o(E, 'unapply'); + function _(Ie) { + return function () { + for (var Se = arguments.length, Ue = new Array(Se), Pe = 0; Pe < Se; Pe++) Ue[Pe] = arguments[Pe]; + return h(Ie, Ue); + }; + } + o(_, 'unconstruct'); + function A(Ie, Se) { + let Ue = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : m; + e && e(Ie, null); + let Pe = Se.length; + for (; Pe--; ) { + let _e = Se[Pe]; + if (typeof _e == 'string') { + let me = Ue(_e); + me !== _e && (r(Se) || (Se[Pe] = me), (_e = me)); + } + Ie[_e] = !0; + } + return Ie; + } + o(A, 'addToSet'); + function L(Ie) { + for (let Se = 0; Se < Ie.length; Se++) w(Ie, Se) || (Ie[Se] = null); + return Ie; + } + o(L, 'cleanArray'); + function M(Ie) { + let Se = l(null); + for (let [Ue, Pe] of t(Ie)) + w(Ie, Ue) && + (Array.isArray(Pe) + ? (Se[Ue] = L(Pe)) + : Pe && typeof Pe == 'object' && Pe.constructor === Object + ? (Se[Ue] = M(Pe)) + : (Se[Ue] = Pe)); + return Se; + } + o(M, 'clone'); + function N(Ie, Se) { + for (; Ie !== null; ) { + let Pe = i(Ie, Se); + if (Pe) { + if (Pe.get) return E(Pe.get); + if (typeof Pe.value == 'function') return E(Pe.value); + } + Ie = n(Ie); + } + function Ue() { + return null; + } + return o(Ue, 'fallbackValue'), Ue; + } + o(N, 'lookupGetter'); + let k = a([ + 'a', + 'abbr', + 'acronym', + 'address', + 'area', + 'article', + 'aside', + 'audio', + 'b', + 'bdi', + 'bdo', + 'big', + 'blink', + 'blockquote', + 'body', + 'br', + 'button', + 'canvas', + 'caption', + 'center', + 'cite', + 'code', + 'col', + 'colgroup', + 'content', + 'data', + 'datalist', + 'dd', + 'decorator', + 'del', + 'details', + 'dfn', + 'dialog', + 'dir', + 'div', + 'dl', + 'dt', + 'element', + 'em', + 'fieldset', + 'figcaption', + 'figure', + 'font', + 'footer', + 'form', + 'h1', + 'h2', + 'h3', + 'h4', + 'h5', + 'h6', + 'head', + 'header', + 'hgroup', + 'hr', + 'html', + 'i', + 'img', + 'input', + 'ins', + 'kbd', + 'label', + 'legend', + 'li', + 'main', + 'map', + 'mark', + 'marquee', + 'menu', + 'menuitem', + 'meter', + 'nav', + 'nobr', + 'ol', + 'optgroup', + 'option', + 'output', + 'p', + 'picture', + 'pre', + 'progress', + 'q', + 'rp', + 'rt', + 'ruby', + 's', + 'samp', + 'section', + 'select', + 'shadow', + 'small', + 'source', + 'spacer', + 'span', + 'strike', + 'strong', + 'style', + 'sub', + 'summary', + 'sup', + 'table', + 'tbody', + 'td', + 'template', + 'textarea', + 'tfoot', + 'th', + 'thead', + 'time', + 'tr', + 'track', + 'tt', + 'u', + 'ul', + 'var', + 'video', + 'wbr' + ]), + I = a([ + 'svg', + 'a', + 'altglyph', + 'altglyphdef', + 'altglyphitem', + 'animatecolor', + 'animatemotion', + 'animatetransform', + 'circle', + 'clippath', + 'defs', + 'desc', + 'ellipse', + 'filter', + 'font', + 'g', + 'glyph', + 'glyphref', + 'hkern', + 'image', + 'line', + 'lineargradient', + 'marker', + 'mask', + 'metadata', + 'mpath', + 'path', + 'pattern', + 'polygon', + 'polyline', + 'radialgradient', + 'rect', + 'stop', + 'style', + 'switch', + 'symbol', + 'text', + 'textpath', + 'title', + 'tref', + 'tspan', + 'view', + 'vkern' + ]), + C = a([ + 'feBlend', + 'feColorMatrix', + 'feComponentTransfer', + 'feComposite', + 'feConvolveMatrix', + 'feDiffuseLighting', + 'feDisplacementMap', + 'feDistantLight', + 'feDropShadow', + 'feFlood', + 'feFuncA', + 'feFuncB', + 'feFuncG', + 'feFuncR', + 'feGaussianBlur', + 'feImage', + 'feMerge', + 'feMergeNode', + 'feMorphology', + 'feOffset', + 'fePointLight', + 'feSpecularLighting', + 'feSpotLight', + 'feTile', + 'feTurbulence' + ]), + O = a([ + 'animate', + 'color-profile', + 'cursor', + 'discard', + 'font-face', + 'font-face-format', + 'font-face-name', + 'font-face-src', + 'font-face-uri', + 'foreignobject', + 'hatch', + 'hatchpath', + 'mesh', + 'meshgradient', + 'meshpatch', + 'meshrow', + 'missing-glyph', + 'script', + 'set', + 'solidcolor', + 'unknown', + 'use' + ]), + D = a([ + 'math', + 'menclose', + 'merror', + 'mfenced', + 'mfrac', + 'mglyph', + 'mi', + 'mlabeledtr', + 'mmultiscripts', + 'mn', + 'mo', + 'mover', + 'mpadded', + 'mphantom', + 'mroot', + 'mrow', + 'ms', + 'mspace', + 'msqrt', + 'mstyle', + 'msub', + 'msup', + 'msubsup', + 'mtable', + 'mtd', + 'mtext', + 'mtr', + 'munder', + 'munderover', + 'mprescripts' + ]), + P = a([ + 'maction', + 'maligngroup', + 'malignmark', + 'mlongdiv', + 'mscarries', + 'mscarry', + 'msgroup', + 'mstack', + 'msline', + 'msrow', + 'semantics', + 'annotation', + 'annotation-xml', + 'mprescripts', + 'none' + ]), + F = a(['#text']), + B = a([ + 'accept', + 'action', + 'align', + 'alt', + 'autocapitalize', + 'autocomplete', + 'autopictureinpicture', + 'autoplay', + 'background', + 'bgcolor', + 'border', + 'capture', + 'cellpadding', + 'cellspacing', + 'checked', + 'cite', + 'class', + 'clear', + 'color', + 'cols', + 'colspan', + 'controls', + 'controlslist', + 'coords', + 'crossorigin', + 'datetime', + 'decoding', + 'default', + 'dir', + 'disabled', + 'disablepictureinpicture', + 'disableremoteplayback', + 'download', + 'draggable', + 'enctype', + 'enterkeyhint', + 'face', + 'for', + 'headers', + 'height', + 'hidden', + 'high', + 'href', + 'hreflang', + 'id', + 'inputmode', + 'integrity', + 'ismap', + 'kind', + 'label', + 'lang', + 'list', + 'loading', + 'loop', + 'low', + 'max', + 'maxlength', + 'media', + 'method', + 'min', + 'minlength', + 'multiple', + 'muted', + 'name', + 'nonce', + 'noshade', + 'novalidate', + 'nowrap', + 'open', + 'optimum', + 'pattern', + 'placeholder', + 'playsinline', + 'popover', + 'popovertarget', + 'popovertargetaction', + 'poster', + 'preload', + 'pubdate', + 'radiogroup', + 'readonly', + 'rel', + 'required', + 'rev', + 'reversed', + 'role', + 'rows', + 'rowspan', + 'spellcheck', + 'scope', + 'selected', + 'shape', + 'size', + 'sizes', + 'span', + 'srclang', + 'start', + 'src', + 'srcset', + 'step', + 'style', + 'summary', + 'tabindex', + 'title', + 'translate', + 'type', + 'usemap', + 'valign', + 'value', + 'width', + 'wrap', + 'xmlns', + 'slot' + ]), + $ = a([ + 'accent-height', + 'accumulate', + 'additive', + 'alignment-baseline', + 'ascent', + 'attributename', + 'attributetype', + 'azimuth', + 'basefrequency', + 'baseline-shift', + 'begin', + 'bias', + 'by', + 'class', + 'clip', + 'clippathunits', + 'clip-path', + 'clip-rule', + 'color', + 'color-interpolation', + 'color-interpolation-filters', + 'color-profile', + 'color-rendering', + 'cx', + 'cy', + 'd', + 'dx', + 'dy', + 'diffuseconstant', + 'direction', + 'display', + 'divisor', + 'dur', + 'edgemode', + 'elevation', + 'end', + 'fill', + 'fill-opacity', + 'fill-rule', + 'filter', + 'filterunits', + 'flood-color', + 'flood-opacity', + 'font-family', + 'font-size', + 'font-size-adjust', + 'font-stretch', + 'font-style', + 'font-variant', + 'font-weight', + 'fx', + 'fy', + 'g1', + 'g2', + 'glyph-name', + 'glyphref', + 'gradientunits', + 'gradienttransform', + 'height', + 'href', + 'id', + 'image-rendering', + 'in', + 'in2', + 'k', + 'k1', + 'k2', + 'k3', + 'k4', + 'kerning', + 'keypoints', + 'keysplines', + 'keytimes', + 'lang', + 'lengthadjust', + 'letter-spacing', + 'kernelmatrix', + 'kernelunitlength', + 'lighting-color', + 'local', + 'marker-end', + 'marker-mid', + 'marker-start', + 'markerheight', + 'markerunits', + 'markerwidth', + 'maskcontentunits', + 'maskunits', + 'max', + 'mask', + 'media', + 'method', + 'mode', + 'min', + 'name', + 'numoctaves', + 'offset', + 'operator', + 'opacity', + 'order', + 'orient', + 'orientation', + 'origin', + 'overflow', + 'paint-order', + 'path', + 'pathlength', + 'patterncontentunits', + 'patterntransform', + 'patternunits', + 'points', + 'preservealpha', + 'preserveaspectratio', + 'primitiveunits', + 'r', + 'rx', + 'ry', + 'radius', + 'refx', + 'refy', + 'repeatcount', + 'repeatdur', + 'restart', + 'result', + 'rotate', + 'scale', + 'seed', + 'shape-rendering', + 'specularconstant', + 'specularexponent', + 'spreadmethod', + 'startoffset', + 'stddeviation', + 'stitchtiles', + 'stop-color', + 'stop-opacity', + 'stroke-dasharray', + 'stroke-dashoffset', + 'stroke-linecap', + 'stroke-linejoin', + 'stroke-miterlimit', + 'stroke-opacity', + 'stroke', + 'stroke-width', + 'style', + 'surfacescale', + 'systemlanguage', + 'tabindex', + 'targetx', + 'targety', + 'transform', + 'transform-origin', + 'text-anchor', + 'text-decoration', + 'text-rendering', + 'textlength', + 'type', + 'u1', + 'u2', + 'unicode', + 'values', + 'viewbox', + 'visibility', + 'version', + 'vert-adv-y', + 'vert-origin-x', + 'vert-origin-y', + 'width', + 'word-spacing', + 'wrap', + 'writing-mode', + 'xchannelselector', + 'ychannelselector', + 'x', + 'x1', + 'x2', + 'xmlns', + 'y', + 'y1', + 'y2', + 'z', + 'zoomandpan' + ]), + z = a([ + 'accent', + 'accentunder', + 'align', + 'bevelled', + 'close', + 'columnsalign', + 'columnlines', + 'columnspan', + 'denomalign', + 'depth', + 'dir', + 'display', + 'displaystyle', + 'encoding', + 'fence', + 'frame', + 'height', + 'href', + 'id', + 'largeop', + 'length', + 'linethickness', + 'lspace', + 'lquote', + 'mathbackground', + 'mathcolor', + 'mathsize', + 'mathvariant', + 'maxsize', + 'minsize', + 'movablelimits', + 'notation', + 'numalign', + 'open', + 'rowalign', + 'rowlines', + 'rowspacing', + 'rowspan', + 'rspace', + 'rquote', + 'scriptlevel', + 'scriptminsize', + 'scriptsizemultiplier', + 'selection', + 'separator', + 'separators', + 'stretchy', + 'subscriptshift', + 'supscriptshift', + 'symmetric', + 'voffset', + 'width', + 'xmlns' + ]), + Y = a(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']), + Q = s(/\{\{[\w\W]*|[\w\W]*\}\}/gm), + X = s(/<%[\w\W]*|[\w\W]*%>/gm), + ie = s(/\${[\w\W]*}/gm), + j = s(/^data-[\-\w.\u00B7-\uFFFF]/), + J = s(/^aria-[\-\w]+$/), + Z = s(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i), + H = s(/^(?:\w+script|data):/i), + q = s(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g), + K = s(/^html$/i), + se = s(/^[a-z][.\w]*(-[.\w]+)+$/i); + var ce = Object.freeze({ + __proto__: null, + MUSTACHE_EXPR: Q, + ERB_EXPR: X, + TMPLIT_EXPR: ie, + DATA_ATTR: j, + ARIA_ATTR: J, + IS_ALLOWED_URI: Z, + IS_SCRIPT_OR_DATA: H, + ATTR_WHITESPACE: q, + DOCTYPE_NAME: K, + CUSTOM_ELEMENT: se + }); + let ue = { + element: 1, + attribute: 2, + text: 3, + cdataSection: 4, + entityReference: 5, + entityNode: 6, + progressingInstruction: 7, + comment: 8, + document: 9, + documentType: 10, + documentFragment: 11, + notation: 12 + }, + te = o(function () { + return typeof window > 'u' ? null : window; + }, 'getGlobal'), + De = o(function (Se, Ue) { + if (typeof Se != 'object' || typeof Se.createPolicy != 'function') return null; + let Pe = null, + _e = 'data-tt-policy-suffix'; + Ue && Ue.hasAttribute(_e) && (Pe = Ue.getAttribute(_e)); + let me = 'dompurify' + (Pe ? '#' + Pe : ''); + try { + return Se.createPolicy(me, { + createHTML(W) { + return W; + }, + createScriptURL(W) { + return W; + } + }); + } catch { + return console.warn('TrustedTypes policy ' + me + ' could not be created.'), null; + } + }, '_createTrustedTypesPolicy'); + function oe() { + let Ie = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : te(), + Se = o((Ft) => oe(Ft), 'DOMPurify'); + if ( + ((Se.version = '3.1.6'), + (Se.removed = []), + !Ie || !Ie.document || Ie.document.nodeType !== ue.document) + ) + return (Se.isSupported = !1), Se; + let { document: Ue } = Ie, + Pe = Ue, + _e = Pe.currentScript, + { + DocumentFragment: me, + HTMLTemplateElement: W, + Node: fe, + Element: ge, + NodeFilter: re, + NamedNodeMap: he = Ie.NamedNodeMap || Ie.MozNamedAttrMap, + HTMLFormElement: ne, + DOMParser: ae, + trustedTypes: we + } = Ie, + Te = ge.prototype, + Ce = N(Te, 'cloneNode'), + Ae = N(Te, 'remove'), + Ge = N(Te, 'nextSibling'), + Me = N(Te, 'childNodes'), + ye = N(Te, 'parentNode'); + if (typeof W == 'function') { + let Ft = Ue.createElement('template'); + Ft.content && Ft.content.ownerDocument && (Ue = Ft.content.ownerDocument); + } + let He, + ze = '', + { + implementation: Ze, + createNodeIterator: gt, + createDocumentFragment: yt, + getElementsByTagName: tt + } = Ue, + { importNode: Ye } = Pe, + Je = {}; + Se.isSupported = + typeof t == 'function' && typeof ye == 'function' && Ze && Ze.createHTMLDocument !== void 0; + let { + MUSTACHE_EXPR: Ve, + ERB_EXPR: je, + TMPLIT_EXPR: kt, + DATA_ATTR: at, + ARIA_ATTR: xt, + IS_SCRIPT_OR_DATA: it, + ATTR_WHITESPACE: dt, + CUSTOM_ELEMENT: lt + } = ce, + { IS_ALLOWED_URI: It } = ce, + mt = null, + St = A({}, [...k, ...I, ...C, ...D, ...F]), + gr = null, + xn = A({}, [...B, ...$, ...z, ...Y]), + jt = Object.seal( + l(null, { + tagNameCheck: { + writable: !0, + configurable: !1, + enumerable: !0, + value: null + }, + attributeNameCheck: { + writable: !0, + configurable: !1, + enumerable: !0, + value: null + }, + allowCustomizedBuiltInElements: { + writable: !0, + configurable: !1, + enumerable: !0, + value: !1 + } + }) + ), + rn = null, + Er = null, + Kn = !0, + hn = !0, + Qn = !1, + on = !0, + Rn = !1, + Ha = !0, + _a = !1, + To = !1, + qi = !1, + ht = !1, + At = !1, + $t = !1, + rt = !0, + Ot = !1, + pe = 'user-content-', + ur = !0, + be = !1, + Ir = {}, + Xc = null, + M1 = A({}, [ + 'annotation-xml', + 'audio', + 'colgroup', + 'desc', + 'foreignobject', + 'head', + 'iframe', + 'math', + 'mi', + 'mn', + 'mo', + 'ms', + 'mtext', + 'noembed', + 'noframes', + 'noscript', + 'plaintext', + 'script', + 'style', + 'svg', + 'template', + 'thead', + 'title', + 'video', + 'xmp' + ]), + _b = null, + I1 = A({}, ['audio', 'video', 'img', 'source', 'image', 'track']), + O1 = null, + ci = A({}, [ + 'alt', + 'class', + 'for', + 'id', + 'label', + 'name', + 'pattern', + 'placeholder', + 'role', + 'summary', + 'title', + 'value', + 'style', + 'xmlns' + ]), + ko = 'http://www.w3.org/1998/Math/MathML', + ih = 'http://www.w3.org/2000/svg', + Us = 'http://www.w3.org/1999/xhtml', + ah = Us, + Lb = !1, + P1 = null, + sa = A({}, [ko, ih, Us], g), + jc = null, + Kc = ['application/xhtml+xml', 'text/html'], + us = 'text/html', + _i = null, + Wl = null, + sh = Ue.createElement('form'), + zf = o(function (Re) { + return Re instanceof RegExp || Re instanceof Function; + }, 'isRegexOrFunction'), + Hs = o(function () { + let Re = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; + if (!(Wl && Wl === Re)) { + if ( + ((!Re || typeof Re != 'object') && (Re = {}), + (Re = M(Re)), + (jc = Kc.indexOf(Re.PARSER_MEDIA_TYPE) === -1 ? us : Re.PARSER_MEDIA_TYPE), + (_i = jc === 'application/xhtml+xml' ? g : m), + (mt = w(Re, 'ALLOWED_TAGS') ? A({}, Re.ALLOWED_TAGS, _i) : St), + (gr = w(Re, 'ALLOWED_ATTR') ? A({}, Re.ALLOWED_ATTR, _i) : xn), + (P1 = w(Re, 'ALLOWED_NAMESPACES') ? A({}, Re.ALLOWED_NAMESPACES, g) : sa), + (O1 = w(Re, 'ADD_URI_SAFE_ATTR') ? A(M(ci), Re.ADD_URI_SAFE_ATTR, _i) : ci), + (_b = w(Re, 'ADD_DATA_URI_TAGS') ? A(M(I1), Re.ADD_DATA_URI_TAGS, _i) : I1), + (Xc = w(Re, 'FORBID_CONTENTS') ? A({}, Re.FORBID_CONTENTS, _i) : M1), + (rn = w(Re, 'FORBID_TAGS') ? A({}, Re.FORBID_TAGS, _i) : {}), + (Er = w(Re, 'FORBID_ATTR') ? A({}, Re.FORBID_ATTR, _i) : {}), + (Ir = w(Re, 'USE_PROFILES') ? Re.USE_PROFILES : !1), + (Kn = Re.ALLOW_ARIA_ATTR !== !1), + (hn = Re.ALLOW_DATA_ATTR !== !1), + (Qn = Re.ALLOW_UNKNOWN_PROTOCOLS || !1), + (on = Re.ALLOW_SELF_CLOSE_IN_ATTR !== !1), + (Rn = Re.SAFE_FOR_TEMPLATES || !1), + (Ha = Re.SAFE_FOR_XML !== !1), + (_a = Re.WHOLE_DOCUMENT || !1), + (ht = Re.RETURN_DOM || !1), + (At = Re.RETURN_DOM_FRAGMENT || !1), + ($t = Re.RETURN_TRUSTED_TYPE || !1), + (qi = Re.FORCE_BODY || !1), + (rt = Re.SANITIZE_DOM !== !1), + (Ot = Re.SANITIZE_NAMED_PROPS || !1), + (ur = Re.KEEP_CONTENT !== !1), + (be = Re.IN_PLACE || !1), + (It = Re.ALLOWED_URI_REGEXP || Z), + (ah = Re.NAMESPACE || Us), + (jt = Re.CUSTOM_ELEMENT_HANDLING || {}), + Re.CUSTOM_ELEMENT_HANDLING && + zf(Re.CUSTOM_ELEMENT_HANDLING.tagNameCheck) && + (jt.tagNameCheck = Re.CUSTOM_ELEMENT_HANDLING.tagNameCheck), + Re.CUSTOM_ELEMENT_HANDLING && + zf(Re.CUSTOM_ELEMENT_HANDLING.attributeNameCheck) && + (jt.attributeNameCheck = Re.CUSTOM_ELEMENT_HANDLING.attributeNameCheck), + Re.CUSTOM_ELEMENT_HANDLING && + typeof Re.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements == 'boolean' && + (jt.allowCustomizedBuiltInElements = + Re.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements), + Rn && (hn = !1), + At && (ht = !0), + Ir && + ((mt = A({}, F)), + (gr = []), + Ir.html === !0 && (A(mt, k), A(gr, B)), + Ir.svg === !0 && (A(mt, I), A(gr, $), A(gr, Y)), + Ir.svgFilters === !0 && (A(mt, C), A(gr, $), A(gr, Y)), + Ir.mathMl === !0 && (A(mt, D), A(gr, z), A(gr, Y))), + Re.ADD_TAGS && (mt === St && (mt = M(mt)), A(mt, Re.ADD_TAGS, _i)), + Re.ADD_ATTR && (gr === xn && (gr = M(gr)), A(gr, Re.ADD_ATTR, _i)), + Re.ADD_URI_SAFE_ATTR && A(O1, Re.ADD_URI_SAFE_ATTR, _i), + Re.FORBID_CONTENTS && (Xc === M1 && (Xc = M(Xc)), A(Xc, Re.FORBID_CONTENTS, _i)), + ur && (mt['#text'] = !0), + _a && A(mt, ['html', 'head', 'body']), + mt.table && (A(mt, ['tbody']), delete rn.tbody), + Re.TRUSTED_TYPES_POLICY) + ) { + if (typeof Re.TRUSTED_TYPES_POLICY.createHTML != 'function') + throw T( + 'TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.' + ); + if (typeof Re.TRUSTED_TYPES_POLICY.createScriptURL != 'function') + throw T( + 'TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.' + ); + (He = Re.TRUSTED_TYPES_POLICY), (ze = He.createHTML('')); + } else + He === void 0 && (He = De(we, _e)), + He !== null && typeof ze == 'string' && (ze = He.createHTML('')); + a && a(Re), (Wl = Re); + } + }, '_parseConfig'), + B1 = A({}, ['mi', 'mo', 'mn', 'ms', 'mtext']), + Gf = A({}, ['foreignobject', 'annotation-xml']), + F1 = A({}, ['title', 'style', 'font', 'a', 'script']), + La = A({}, [...I, ...C, ...O]), + vF = A({}, [...D, ...P]), + Ive = o(function (Re) { + let st = ye(Re); + (!st || !st.tagName) && (st = { namespaceURI: ah, tagName: 'template' }); + let Rt = m(Re.tagName), + bn = m(st.tagName); + return P1[Re.namespaceURI] + ? Re.namespaceURI === ih + ? st.namespaceURI === Us + ? Rt === 'svg' + : st.namespaceURI === ko + ? Rt === 'svg' && (bn === 'annotation-xml' || B1[bn]) + : !!La[Rt] + : Re.namespaceURI === ko + ? st.namespaceURI === Us + ? Rt === 'math' + : st.namespaceURI === ih + ? Rt === 'math' && Gf[bn] + : !!vF[Rt] + : Re.namespaceURI === Us + ? (st.namespaceURI === ih && !Gf[bn]) || (st.namespaceURI === ko && !B1[bn]) + ? !1 + : !vF[Rt] && (F1[Rt] || !La[Rt]) + : !!(jc === 'application/xhtml+xml' && P1[Re.namespaceURI]) + : !1; + }, '_checkValidNamespace'), + ql = o(function (Re) { + p(Se.removed, { element: Re }); + try { + ye(Re).removeChild(Re); + } catch { + Ae(Re); + } + }, '_forceRemove'), + Db = o(function (Re, st) { + try { + p(Se.removed, { attribute: st.getAttributeNode(Re), from: st }); + } catch { + p(Se.removed, { attribute: null, from: st }); + } + if ((st.removeAttribute(Re), Re === 'is' && !gr[Re])) + if (ht || At) + try { + ql(st); + } catch {} + else + try { + st.setAttribute(Re, ''); + } catch {} + }, '_removeAttribute'), + xF = o(function (Re) { + let st = null, + Rt = null; + if (qi) Re = '' + Re; + else { + let oa = y(Re, /^[\r\n\t ]+/); + Rt = oa && oa[0]; + } + jc === 'application/xhtml+xml' && + ah === Us && + (Re = + '' + + Re + + ''); + let bn = He ? He.createHTML(Re) : Re; + if (ah === Us) + try { + st = new ae().parseFromString(bn, jc); + } catch {} + if (!st || !st.documentElement) { + st = Ze.createDocument(ah, 'template', null); + try { + st.documentElement.innerHTML = Lb ? ze : bn; + } catch {} + } + let Da = st.body || st.documentElement; + return ( + Re && Rt && Da.insertBefore(Ue.createTextNode(Rt), Da.childNodes[0] || null), + ah === Us ? tt.call(st, _a ? 'html' : 'body')[0] : _a ? st.documentElement : Da + ); + }, '_initDocument'), + bF = o(function (Re) { + return gt.call( + Re.ownerDocument || Re, + Re, + re.SHOW_ELEMENT | + re.SHOW_COMMENT | + re.SHOW_TEXT | + re.SHOW_PROCESSING_INSTRUCTION | + re.SHOW_CDATA_SECTION, + null + ); + }, '_createNodeIterator'), + wF = o(function (Re) { + return ( + Re instanceof ne && + (typeof Re.nodeName != 'string' || + typeof Re.textContent != 'string' || + typeof Re.removeChild != 'function' || + !(Re.attributes instanceof he) || + typeof Re.removeAttribute != 'function' || + typeof Re.setAttribute != 'function' || + typeof Re.namespaceURI != 'string' || + typeof Re.insertBefore != 'function' || + typeof Re.hasChildNodes != 'function') + ); + }, '_isClobbered'), + TF = o(function (Re) { + return typeof fe == 'function' && Re instanceof fe; + }, '_isNode'), + Qc = o(function (Re, st, Rt) { + Je[Re] && + f(Je[Re], (bn) => { + bn.call(Se, st, Rt, Wl); + }); + }, '_executeHook'), + kF = o(function (Re) { + let st = null; + if ((Qc('beforeSanitizeElements', Re, null), wF(Re))) return ql(Re), !0; + let Rt = _i(Re.nodeName); + if ( + (Qc('uponSanitizeElement', Re, { tagName: Rt, allowedTags: mt }), + (Re.hasChildNodes() && + !TF(Re.firstElementChild) && + S(/<[/\w]/g, Re.innerHTML) && + S(/<[/\w]/g, Re.textContent)) || + Re.nodeType === ue.progressingInstruction || + (Ha && Re.nodeType === ue.comment && S(/<[/\w]/g, Re.data))) + ) + return ql(Re), !0; + if (!mt[Rt] || rn[Rt]) { + if ( + !rn[Rt] && + CF(Rt) && + ((jt.tagNameCheck instanceof RegExp && S(jt.tagNameCheck, Rt)) || + (jt.tagNameCheck instanceof Function && jt.tagNameCheck(Rt))) + ) + return !1; + if (ur && !Xc[Rt]) { + let bn = ye(Re) || Re.parentNode, + Da = Me(Re) || Re.childNodes; + if (Da && bn) { + let oa = Da.length; + for (let hs = oa - 1; hs >= 0; --hs) { + let Xl = Ce(Da[hs], !0); + (Xl.__removalCount = (Re.__removalCount || 0) + 1), bn.insertBefore(Xl, Ge(Re)); + } + } + } + return ql(Re), !0; + } + return (Re instanceof ge && !Ive(Re)) || + ((Rt === 'noscript' || Rt === 'noembed' || Rt === 'noframes') && + S(/<\/no(script|embed|frames)/i, Re.innerHTML)) + ? (ql(Re), !0) + : (Rn && + Re.nodeType === ue.text && + ((st = Re.textContent), + f([Ve, je, kt], (bn) => { + st = v(st, bn, ' '); + }), + Re.textContent !== st && + (p(Se.removed, { element: Re.cloneNode() }), (Re.textContent = st))), + Qc('afterSanitizeElements', Re, null), + !1); + }, '_sanitizeElements'), + EF = o(function (Re, st, Rt) { + if (rt && (st === 'id' || st === 'name') && (Rt in Ue || Rt in sh)) return !1; + if (!(hn && !Er[st] && S(at, st))) { + if (!(Kn && S(xt, st))) { + if (!gr[st] || Er[st]) { + if ( + !( + (CF(Re) && + ((jt.tagNameCheck instanceof RegExp && S(jt.tagNameCheck, Re)) || + (jt.tagNameCheck instanceof Function && jt.tagNameCheck(Re))) && + ((jt.attributeNameCheck instanceof RegExp && + S(jt.attributeNameCheck, st)) || + (jt.attributeNameCheck instanceof Function && + jt.attributeNameCheck(st)))) || + (st === 'is' && + jt.allowCustomizedBuiltInElements && + ((jt.tagNameCheck instanceof RegExp && S(jt.tagNameCheck, Rt)) || + (jt.tagNameCheck instanceof Function && jt.tagNameCheck(Rt)))) + ) + ) + return !1; + } else if (!O1[st]) { + if (!S(It, v(Rt, dt, ''))) { + if ( + !( + (st === 'src' || st === 'xlink:href' || st === 'href') && + Re !== 'script' && + x(Rt, 'data:') === 0 && + _b[Re] + ) + ) { + if (!(Qn && !S(it, v(Rt, dt, '')))) { + if (Rt) return !1; + } + } + } + } + } + } + return !0; + }, '_isValidAttribute'), + CF = o(function (Re) { + return Re !== 'annotation-xml' && y(Re, lt); + }, '_isBasicCustomElement'), + SF = o(function (Re) { + Qc('beforeSanitizeAttributes', Re, null); + let { attributes: st } = Re; + if (!st) return; + let Rt = { + attrName: '', + attrValue: '', + keepAttr: !0, + allowedAttributes: gr + }, + bn = st.length; + for (; bn--; ) { + let Da = st[bn], + { name: oa, namespaceURI: hs, value: Xl } = Da, + z1 = _i(oa), + Ya = oa === 'value' ? Xl : b(Xl); + if ( + ((Rt.attrName = z1), + (Rt.attrValue = Ya), + (Rt.keepAttr = !0), + (Rt.forceKeepAttr = void 0), + Qc('uponSanitizeAttribute', Re, Rt), + (Ya = Rt.attrValue), + Ha && S(/((--!?|])>)|<\/(style|title)/i, Ya)) + ) { + Db(oa, Re); + continue; + } + if (Rt.forceKeepAttr || (Db(oa, Re), !Rt.keepAttr)) continue; + if (!on && S(/\/>/i, Ya)) { + Db(oa, Re); + continue; + } + Rn && + f([Ve, je, kt], (_F) => { + Ya = v(Ya, _F, ' '); + }); + let AF = _i(Re.nodeName); + if (EF(AF, z1, Ya)) { + if ( + (Ot && (z1 === 'id' || z1 === 'name') && (Db(oa, Re), (Ya = pe + Ya)), + He && typeof we == 'object' && typeof we.getAttributeType == 'function' && !hs) + ) + switch (we.getAttributeType(AF, z1)) { + case 'TrustedHTML': { + Ya = He.createHTML(Ya); + break; + } + case 'TrustedScriptURL': { + Ya = He.createScriptURL(Ya); + break; + } + } + try { + hs ? Re.setAttributeNS(hs, oa, Ya) : Re.setAttribute(oa, Ya), + wF(Re) ? ql(Re) : d(Se.removed); + } catch {} + } + } + Qc('afterSanitizeAttributes', Re, null); + }, '_sanitizeAttributes'), + Ove = o(function Ft(Re) { + let st = null, + Rt = bF(Re); + for (Qc('beforeSanitizeShadowDOM', Re, null); (st = Rt.nextNode()); ) + Qc('uponSanitizeShadowNode', st, null), + !kF(st) && (st.content instanceof me && Ft(st.content), SF(st)); + Qc('afterSanitizeShadowDOM', Re, null); + }, '_sanitizeShadowDOM'); + return ( + (Se.sanitize = function (Ft) { + let Re = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, + st = null, + Rt = null, + bn = null, + Da = null; + if (((Lb = !Ft), Lb && (Ft = ''), typeof Ft != 'string' && !TF(Ft))) + if (typeof Ft.toString == 'function') { + if (((Ft = Ft.toString()), typeof Ft != 'string')) + throw T('dirty is not a string, aborting'); + } else throw T('toString is not a function'); + if (!Se.isSupported) return Ft; + if ((To || Hs(Re), (Se.removed = []), typeof Ft == 'string' && (be = !1), be)) { + if (Ft.nodeName) { + let Xl = _i(Ft.nodeName); + if (!mt[Xl] || rn[Xl]) + throw T('root node is forbidden and cannot be sanitized in-place'); + } + } else if (Ft instanceof fe) + (st = xF('')), + (Rt = st.ownerDocument.importNode(Ft, !0)), + (Rt.nodeType === ue.element && Rt.nodeName === 'BODY') || Rt.nodeName === 'HTML' + ? (st = Rt) + : st.appendChild(Rt); + else { + if (!ht && !Rn && !_a && Ft.indexOf('<') === -1) return He && $t ? He.createHTML(Ft) : Ft; + if (((st = xF(Ft)), !st)) return ht ? null : $t ? ze : ''; + } + st && qi && ql(st.firstChild); + let oa = bF(be ? Ft : st); + for (; (bn = oa.nextNode()); ) kF(bn) || (bn.content instanceof me && Ove(bn.content), SF(bn)); + if (be) return Ft; + if (ht) { + if (At) for (Da = yt.call(st.ownerDocument); st.firstChild; ) Da.appendChild(st.firstChild); + else Da = st; + return (gr.shadowroot || gr.shadowrootmode) && (Da = Ye.call(Pe, Da, !0)), Da; + } + let hs = _a ? st.outerHTML : st.innerHTML; + return ( + _a && + mt['!doctype'] && + st.ownerDocument && + st.ownerDocument.doctype && + st.ownerDocument.doctype.name && + S(K, st.ownerDocument.doctype.name) && + (hs = + ' +` + + hs), + Rn && + f([Ve, je, kt], (Xl) => { + hs = v(hs, Xl, ' '); + }), + He && $t ? He.createHTML(hs) : hs + ); + }), + (Se.setConfig = function () { + let Ft = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; + Hs(Ft), (To = !0); + }), + (Se.clearConfig = function () { + (Wl = null), (To = !1); + }), + (Se.isValidAttribute = function (Ft, Re, st) { + Wl || Hs({}); + let Rt = _i(Ft), + bn = _i(Re); + return EF(Rt, bn, st); + }), + (Se.addHook = function (Ft, Re) { + typeof Re == 'function' && ((Je[Ft] = Je[Ft] || []), p(Je[Ft], Re)); + }), + (Se.removeHook = function (Ft) { + if (Je[Ft]) return d(Je[Ft]); + }), + (Se.removeHooks = function (Ft) { + Je[Ft] && (Je[Ft] = []); + }), + (Se.removeAllHooks = function () { + Je = {}; + }), + Se + ); + } + o(oe, 'createDOMPurify'); + var ke = oe(); + return ke; + }); + }); + var k$ = {}; + hr(k$, { default: () => Ebe }); + function B2e(t) { + return String(t).replace(P2e, (e) => O2e[e]); + } + function $2e(t) { + if (t.default) return t.default; + var e = t.type, + r = Array.isArray(e) ? e[0] : e; + if (typeof r != 'string') return r.enum[0]; + switch (r) { + case 'boolean': + return !1; + case 'string': + return ''; + case 'number': + return 0; + case 'object': + return {}; + } + } + function X2e(t) { + for (var e = 0; e < b7.length; e++) + for (var r = b7[e], n = 0; n < r.blocks.length; n++) { + var i = r.blocks[n]; + if (t >= i[0] && t <= i[1]) return r.name; + } + return null; + } + function LG(t) { + for (var e = 0; e < h4.length; e += 2) if (t >= h4[e] && t <= h4[e + 1]) return !0; + return !1; + } + function axe(t, e) { + Zl[t] = e; + } + function M7(t, e, r) { + if (!Zl[e]) throw new Error('Font metrics not found for font: ' + e + '.'); + var n = t.charCodeAt(0), + i = Zl[e][n]; + if ( + (!i && t[0] in Zz && ((n = Zz[t[0]].charCodeAt(0)), (i = Zl[e][n])), + !i && r === 'text' && LG(n) && (i = Zl[e][77]), + i) + ) + return { + depth: i[0], + height: i[1], + italic: i[2], + skew: i[3], + width: i[4] + }; + } + function sxe(t) { + var e; + if ((t >= 5 ? (e = 0) : t >= 3 ? (e = 1) : (e = 2), !l7[e])) { + var r = (l7[e] = { cssEmPerMu: Jb.quad[e] / 18 }); + for (var n in Jb) Jb.hasOwnProperty(n) && (r[n] = Jb[n][e]); + } + return l7[e]; + } + function tG(t) { + if (t instanceof ms) return t; + throw new Error('Expected symbolNode but got ' + String(t) + '.'); + } + function uxe(t) { + if (t instanceof jf) return t; + throw new Error('Expected span but got ' + String(t) + '.'); + } + function G(t, e, r, n, i, a) { + (wn[t][i] = { font: e, group: r, replace: n }), a && n && (wn[t][n] = wn[t][i]); + } + function vt(t) { + for ( + var { type: e, names: r, props: n, handler: i, htmlBuilder: a, mathmlBuilder: s } = t, + l = { + type: e, + numArgs: n.numArgs, + argTypes: n.argTypes, + allowedInArgument: !!n.allowedInArgument, + allowedInText: !!n.allowedInText, + allowedInMath: n.allowedInMath === void 0 ? !0 : n.allowedInMath, + numOptionalArgs: n.numOptionalArgs || 0, + infix: !!n.infix, + primitive: !!n.primitive, + handler: i + }, + u = 0; + u < r.length; + ++u + ) + zG[r[u]] = l; + e && (a && (m4[e] = a), s && (g4[e] = s)); + } + function Kf(t) { + var { type: e, htmlBuilder: r, mathmlBuilder: n } = t; + vt({ + type: e, + names: [], + props: { numArgs: 0 }, + handler() { + throw new Error('Should never be called.'); + }, + htmlBuilder: r, + mathmlBuilder: n + }); + } + function s4(t, e) { + var r = su(['base'], t, e), + n = su(['strut']); + return ( + (n.style.height = ct(r.height + r.depth)), + r.depth && (n.style.verticalAlign = ct(-r.depth)), + r.children.unshift(n), + r + ); + } + function C7(t, e) { + var r = null; + t.length === 1 && t[0].type === 'tag' && ((r = t[0].tag), (t = t[0].body)); + var n = Ri(t, e, 'root'), + i; + n.length === 2 && n[1].hasClass('tag') && (i = n.pop()); + for (var a = [], s = [], l = 0; l < n.length; l++) + if ((s.push(n[l]), n[l].hasClass('mbin') || n[l].hasClass('mrel') || n[l].hasClass('allowbreak'))) { + for (var u = !1; l < n.length - 1 && n[l + 1].hasClass('mspace') && !n[l + 1].hasClass('newline'); ) + l++, s.push(n[l]), n[l].hasClass('nobreak') && (u = !0); + u || (a.push(s4(s, e)), (s = [])); + } else n[l].hasClass('newline') && (s.pop(), s.length > 0 && (a.push(s4(s, e)), (s = [])), a.push(n[l])); + s.length > 0 && a.push(s4(s, e)); + var h; + r ? ((h = s4(Ri(r, e, !0))), (h.classes = ['tag']), a.push(h)) : i && a.push(i); + var f = su(['katex-html'], a); + if ((f.setAttribute('aria-hidden', 'true'), h)) { + var d = h.children[0]; + (d.style.height = ct(f.height + f.depth)), f.depth && (d.style.verticalAlign = ct(-f.depth)); + } + return f; + } + function $G(t) { + return new Xf(t); + } + function sG(t, e, r, n, i) { + var a = gs(t, r), + s; + a.length === 1 && a[0] instanceof ps && Vt.contains(['mrow', 'mtable'], a[0].type) + ? (s = a[0]) + : (s = new et.MathNode('mrow', a)); + var l = new et.MathNode('annotation', [new et.TextNode(e)]); + l.setAttribute('encoding', 'application/x-tex'); + var u = new et.MathNode('semantics', [s, l]), + h = new et.MathNode('math', [u]); + h.setAttribute('xmlns', 'http://www.w3.org/1998/Math/MathML'), n && h.setAttribute('display', 'block'); + var f = i ? 'katex' : 'katex-mathml'; + return Be.makeSpan([f], [h]); + } + function ir(t, e) { + if (!t || t.type !== e) + throw new Error('Expected node of type ' + e + ', but got ' + (t ? 'node of type ' + t.type : String(t))); + return t; + } + function B7(t) { + var e = T4(t); + if (!e) + throw new Error( + 'Expected node of symbol group type, but got ' + (t ? 'node of type ' + t.type : String(t)) + ); + return e; + } + function T4(t) { + return t && (t.type === 'atom' || fxe.hasOwnProperty(t.type)) ? t : null; + } + function YG(t, e) { + var r = Ri(t.body, e, !0); + return Vxe([t.mclass], r, e); + } + function WG(t, e) { + var r, + n = gs(t.body, e); + return ( + t.mclass === 'minner' + ? (r = new et.MathNode('mpadded', n)) + : t.mclass === 'mord' + ? t.isCharacterBox + ? ((r = n[0]), (r.type = 'mi')) + : (r = new et.MathNode('mi', n)) + : (t.isCharacterBox ? ((r = n[0]), (r.type = 'mo')) : (r = new et.MathNode('mo', n)), + t.mclass === 'mbin' + ? ((r.attributes.lspace = '0.22em'), (r.attributes.rspace = '0.22em')) + : t.mclass === 'mpunct' + ? ((r.attributes.lspace = '0em'), (r.attributes.rspace = '0.17em')) + : t.mclass === 'mopen' || t.mclass === 'mclose' + ? ((r.attributes.lspace = '0em'), (r.attributes.rspace = '0em')) + : t.mclass === 'minner' && + ((r.attributes.lspace = '0.0556em'), (r.attributes.width = '+0.1111em'))), + r + ); + } + function Yxe(t, e, r) { + var n = Uxe[t]; + switch (n) { + case '\\\\cdrightarrow': + case '\\\\cdleftarrow': + return r.callFunction(n, [e[0]], [e[1]]); + case '\\uparrow': + case '\\downarrow': { + var i = r.callFunction('\\\\cdleft', [e[0]], []), + a = { type: 'atom', text: n, mode: 'math', family: 'rel' }, + s = r.callFunction('\\Big', [a], []), + l = r.callFunction('\\\\cdright', [e[1]], []), + u = { type: 'ordgroup', mode: 'math', body: [i, s, l] }; + return r.callFunction('\\\\cdparent', [u], []); + } + case '\\\\cdlongequal': + return r.callFunction('\\\\cdlongequal', [], []); + case '\\Vert': { + var h = { type: 'textord', text: '\\Vert', mode: 'math' }; + return r.callFunction('\\Big', [h], []); + } + default: + return { type: 'textord', text: ' ', mode: 'math' }; + } + } + function Wxe(t) { + var e = []; + for (t.gullet.beginGroup(), t.gullet.macros.set('\\cr', '\\\\\\relax'), t.gullet.beginGroup(); ; ) { + e.push(t.parseExpression(!1, '\\\\')), t.gullet.endGroup(), t.gullet.beginGroup(); + var r = t.fetch().text; + if (r === '&' || r === '\\\\') t.consume(); + else if (r === '\\end') { + e[e.length - 1].length === 0 && e.pop(); + break; + } else throw new nt('Expected \\\\ or \\cr or \\end', t.nextToken); + } + for (var n = [], i = [n], a = 0; a < e.length; a++) { + for (var s = e[a], l = oG(), u = 0; u < s.length; u++) + if (!lG(s[u])) l.body.push(s[u]); + else { + n.push(l), (u += 1); + var h = B7(s[u]).text, + f = new Array(2); + if ( + ((f[0] = { type: 'ordgroup', mode: 'math', body: [] }), + (f[1] = { type: 'ordgroup', mode: 'math', body: [] }), + !('=|.'.indexOf(h) > -1)) + ) + if ('<>AV'.indexOf(h) > -1) + for (var d = 0; d < 2; d++) { + for (var p = !0, m = u + 1; m < s.length; m++) { + if (Hxe(s[m], h)) { + (p = !1), (u = m); + break; + } + if (lG(s[m])) + throw new nt('Missing a ' + h + ' character to complete a CD arrow.', s[m]); + f[d].body.push(s[m]); + } + if (p) throw new nt('Missing a ' + h + ' character to complete a CD arrow.', s[u]); + } + else throw new nt('Expected one of "<>AV=|." after @', s[u]); + var g = Yxe(h, f, t), + y = { type: 'styling', body: [g], mode: 'math', style: 'display' }; + n.push(y), (l = oG()); + } + a % 2 === 0 ? n.push(l) : n.shift(), (n = []), i.push(n); + } + t.gullet.endGroup(), t.gullet.endGroup(); + var v = new Array(i[0].length).fill({ + type: 'align', + align: 'c', + pregap: 0.25, + postgap: 0.25 + }); + return { + type: 'array', + mode: 'math', + body: i, + arraystretch: 1, + addJot: !0, + rowGaps: [null], + cols: v, + colSeparationType: 'CD', + hLinesBeforeRow: new Array(i.length + 1).fill([]) + }; + } + function E4(t, e) { + var r = T4(t); + if (r && Vt.contains(abe, r.text)) return r; + throw r + ? new nt("Invalid delimiter '" + r.text + "' after '" + e.funcName + "'", t) + : new nt("Invalid delimiter type '" + t.type + "'", t); + } + function uG(t) { + if (!t.body) throw new Error("Bug: The leftright ParseNode wasn't fully parsed."); + } + function ec(t) { + for ( + var { type: e, names: r, props: n, handler: i, htmlBuilder: a, mathmlBuilder: s } = t, + l = { + type: e, + numArgs: n.numArgs || 0, + allowedInText: !1, + numOptionalArgs: 0, + handler: i + }, + u = 0; + u < r.length; + ++u + ) + a$[r[u]] = l; + a && (m4[e] = a), s && (g4[e] = s); + } + function le(t, e) { + s$[t] = e; + } + function hG(t) { + var e = []; + t.consumeSpaces(); + var r = t.fetch().text; + for ( + r === '\\relax' && (t.consume(), t.consumeSpaces(), (r = t.fetch().text)); + r === '\\hline' || r === '\\hdashline'; + + ) + t.consume(), e.push(r === '\\hdashline'), t.consumeSpaces(), (r = t.fetch().text); + return e; + } + function V7(t) { + if (t.indexOf('ed') === -1) return t.indexOf('*') === -1; + } + function mh(t, e, r) { + var { + hskipBeforeAndAfter: n, + addJot: i, + cols: a, + arraystretch: s, + colSeparationType: l, + autoTag: u, + singleRow: h, + emptySingleRow: f, + maxNumCols: d, + leqno: p + } = e; + if ((t.gullet.beginGroup(), h || t.gullet.macros.set('\\cr', '\\\\\\relax'), !s)) { + var m = t.gullet.expandMacroAsText('\\arraystretch'); + if (m == null) s = 1; + else if (((s = parseFloat(m)), !s || s < 0)) throw new nt('Invalid \\arraystretch: ' + m); + } + t.gullet.beginGroup(); + var g = [], + y = [g], + v = [], + x = [], + b = u != null ? [] : void 0; + function w() { + u && t.gullet.macros.set('\\@eqnsw', '1', !0); + } + o(w, 'beginRow'); + function S() { + b && + (t.gullet.macros.get('\\df@tag') + ? (b.push(t.subparse([new Ao('\\df@tag')])), t.gullet.macros.set('\\df@tag', void 0, !0)) + : b.push(!!u && t.gullet.macros.get('\\@eqnsw') === '1')); + } + for (o(S, 'endRow'), w(), x.push(hG(t)); ; ) { + var T = t.parseExpression(!1, h ? '\\end' : '\\\\'); + t.gullet.endGroup(), + t.gullet.beginGroup(), + (T = { type: 'ordgroup', mode: t.mode, body: T }), + r && (T = { type: 'styling', mode: t.mode, style: r, body: [T] }), + g.push(T); + var E = t.fetch().text; + if (E === '&') { + if (d && g.length === d) { + if (h || l) throw new nt('Too many tab characters: &', t.nextToken); + t.settings.reportNonstrict('textEnv', 'Too few columns specified in the {array} column argument.'); + } + t.consume(); + } else if (E === '\\end') { + S(), + g.length === 1 && + T.type === 'styling' && + T.body[0].body.length === 0 && + (y.length > 1 || !f) && + y.pop(), + x.length < y.length + 1 && x.push([]); + break; + } else if (E === '\\\\') { + t.consume(); + var _ = void 0; + t.gullet.future().text !== ' ' && (_ = t.parseSizeGroup(!0)), + v.push(_ ? _.value : null), + S(), + x.push(hG(t)), + (g = []), + y.push(g), + w(); + } else throw new nt('Expected & or \\\\ or \\cr or \\end', t.nextToken); + } + return ( + t.gullet.endGroup(), + t.gullet.endGroup(), + { + type: 'array', + mode: t.mode, + addJot: i, + arraystretch: s, + body: y, + cols: a, + rowGaps: v, + hskipBeforeAndAfter: n, + hLinesBeforeRow: x, + colSeparationType: l, + tags: b, + leqno: p + } + ); + } + function U7(t) { + return t.slice(0, 1) === 'd' ? 'display' : 'text'; + } + function m$(t, e, r) { + for (var n = Ri(t, e, !1), i = e.sizeMultiplier / r.sizeMultiplier, a = 0; a < n.length; a++) { + var s = n[a].classes.indexOf('sizing'); + s < 0 + ? Array.prototype.push.apply(n[a].classes, e.sizingClasses(r)) + : n[a].classes[s + 1] === 'reset-size' + e.size && (n[a].classes[s + 1] = 'reset-size' + r.size), + (n[a].height *= i), + (n[a].depth *= i); + } + return Be.makeFragment(n); + } + var Xs, + Ao, + nt, + R2e, + N2e, + M2e, + I2e, + O2e, + P2e, + _G, + F2e, + z2e, + G2e, + Vt, + u4, + ry, + Kl, + N7, + f4, + gp, + iu, + ny, + So, + yp, + qa, + Ql, + V2e, + U2e, + H2e, + Y2e, + W2e, + q2e, + Ht, + b7, + h4, + mp, + j2e, + K2e, + Q2e, + Z2e, + J2e, + exe, + txe, + rxe, + nxe, + Qz, + ixe, + Xf, + Zl, + Jb, + Zz, + l7, + oxe, + Jz, + eG, + d4, + w7, + lxe, + DG, + Hn, + ct, + dh, + RG, + NG, + MG, + jf, + iy, + T7, + cxe, + ms, + ll, + Jl, + ay, + hxe, + fxe, + wn, + U, + Qe, + ee, + ve, + Pn, + bt, + Xa, + vp, + Ut, + xi, + js, + b4, + xe, + lu, + Le, + IG, + rG, + c7, + e4, + nG, + u7, + t4, + p4, + Z1, + r4, + Xt, + Vn, + Ra, + ru, + hh, + k7, + J1, + n4, + i4, + iG, + dxe, + w4, + ol, + pxe, + mxe, + gxe, + yxe, + vxe, + I7, + ds, + OG, + xxe, + bxe, + PG, + wxe, + Txe, + kxe, + Exe, + a4, + BG, + FG, + Cxe, + Be, + Un, + Wf, + nu, + Sxe, + Axe, + zG, + m4, + g4, + y4, + ui, + su, + _xe, + Lxe, + Dxe, + Rxe, + Ri, + aG, + GG, + Nxe, + E7, + sy, + Cr, + ps, + qf, + S7, + et, + _o, + O7, + P7, + gs, + ph, + fn, + VG, + UG, + Mxe, + Ixe, + Oxe, + Pxe, + Bxe, + Fxe, + zxe, + Gxe, + ou, + F7, + HG, + $xe, + o4, + Vxe, + k4, + Uxe, + oG, + lG, + Hxe, + qG, + XG, + A7, + jG, + qxe, + KG, + ey, + z7, + QG, + Xxe, + jxe, + ZG, + h7, + f7, + _7, + l4, + Kxe, + Qxe, + JG, + d7, + p7, + m7, + Zxe, + e$, + Jxe, + t$, + ty, + ebe, + tbe, + rbe, + r$, + nbe, + n$, + i$, + ibe, + au, + cG, + abe, + G7, + $7, + a$, + s$, + C4, + tc, + sbe, + rc, + o$, + fG, + l$, + c$, + dG, + u$, + H7, + Y7, + pG, + mG, + h$, + obe, + g7, + gG, + f$, + d$, + xp, + oy, + lbe, + cbe, + p$, + ube, + yG, + hbe, + vG, + fbe, + g$, + y7, + v7, + xG, + bG, + wG, + dbe, + TG, + kG, + fh, + y$, + pbe, + mbe, + gbe, + ybe, + L7, + vbe, + xbe, + v4, + D7, + bbe, + EG, + W7, + CG, + q7, + v$, + x$, + b$, + R7, + SG, + c4, + x7, + AG, + x4, + X7, + w$, + wbe, + Tbe, + T$, + j7, + kbe, + Ebe, + E$ = R(() => { + 'use strict'; + (Xs = class t { + static { + o(this, 'SourceLocation'); + } + constructor(e, r, n) { + (this.lexer = void 0), + (this.start = void 0), + (this.end = void 0), + (this.lexer = e), + (this.start = r), + (this.end = n); + } + static range(e, r) { + return r + ? !e || !e.loc || !r.loc || e.loc.lexer !== r.loc.lexer + ? null + : new t(e.loc.lexer, e.loc.start, r.loc.end) + : e && e.loc; + } + }), + (Ao = class t { + static { + o(this, 'Token'); + } + constructor(e, r) { + (this.text = void 0), + (this.loc = void 0), + (this.noexpand = void 0), + (this.treatAsRelax = void 0), + (this.text = e), + (this.loc = r); + } + range(e, r) { + return new t(r, Xs.range(this, e)); + } + }), + (nt = class t { + static { + o(this, 'ParseError'); + } + constructor(e, r) { + (this.name = void 0), + (this.position = void 0), + (this.length = void 0), + (this.rawMessage = void 0); + var n = 'KaTeX parse error: ' + e, + i, + a, + s = r && r.loc; + if (s && s.start <= s.end) { + var l = s.lexer.input; + (i = s.start), + (a = s.end), + i === l.length ? (n += ' at end of input: ') : (n += ' at position ' + (i + 1) + ': '); + var u = l.slice(i, a).replace(/[^]/g, '$&\u0332'), + h; + i > 15 ? (h = '\u2026' + l.slice(i - 15, i)) : (h = l.slice(0, i)); + var f; + a + 15 < l.length ? (f = l.slice(a, a + 15) + '\u2026') : (f = l.slice(a)), + (n += h + u + f); + } + var d = new Error(n); + return ( + (d.name = 'ParseError'), + (d.__proto__ = t.prototype), + (d.position = i), + i != null && a != null && (d.length = a - i), + (d.rawMessage = e), + d + ); + } + }); + nt.prototype.__proto__ = Error.prototype; + (R2e = o(function (e, r) { + return e.indexOf(r) !== -1; + }, 'contains')), + (N2e = o(function (e, r) { + return e === void 0 ? r : e; + }, 'deflt')), + (M2e = /([A-Z])/g), + (I2e = o(function (e) { + return e.replace(M2e, '-$1').toLowerCase(); + }, 'hyphenate')), + (O2e = { + '&': '&', + '>': '>', + '<': '<', + '"': '"', + "'": ''' + }), + (P2e = /[&><"']/g); + o(B2e, 'escape'); + (_G = o(function t(e) { + return e.type === 'ordgroup' || e.type === 'color' + ? e.body.length === 1 + ? t(e.body[0]) + : e + : e.type === 'font' + ? t(e.body) + : e; + }, 'getBaseElem')), + (F2e = o(function (e) { + var r = _G(e); + return r.type === 'mathord' || r.type === 'textord' || r.type === 'atom'; + }, 'isCharacterBox')), + (z2e = o(function (e) { + if (!e) throw new Error('Expected non-null, but got ' + String(e)); + return e; + }, 'assert')), + (G2e = o(function (e) { + var r = /^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e); + return r + ? r[2] !== ':' || !/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(r[1]) + ? null + : r[1].toLowerCase() + : '_relative'; + }, 'protocolFromUrl')), + (Vt = { + contains: R2e, + deflt: N2e, + escape: B2e, + hyphenate: I2e, + getBaseElem: _G, + isCharacterBox: F2e, + protocolFromUrl: G2e + }), + (u4 = { + displayMode: { + type: 'boolean', + description: + 'Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.', + cli: '-d, --display-mode' + }, + output: { + type: { enum: ['htmlAndMathml', 'html', 'mathml'] }, + description: 'Determines the markup language of the output.', + cli: '-F, --format ' + }, + leqno: { + type: 'boolean', + description: 'Render display math in leqno style (left-justified tags).' + }, + fleqn: { + type: 'boolean', + description: 'Render display math flush left.' + }, + throwOnError: { + type: 'boolean', + default: !0, + cli: '-t, --no-throw-on-error', + cliDescription: + 'Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error.' + }, + errorColor: { + type: 'string', + default: '#cc0000', + cli: '-c, --error-color ', + cliDescription: + "A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.", + cliProcessor: o((t) => '#' + t, 'cliProcessor') + }, + macros: { + type: 'object', + cli: '-m, --macro ', + cliDescription: + "Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).", + cliDefault: [], + cliProcessor: o((t, e) => (e.push(t), e), 'cliProcessor') + }, + minRuleThickness: { + type: 'number', + description: + 'Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.', + processor: o((t) => Math.max(0, t), 'processor'), + cli: '--min-rule-thickness ', + cliProcessor: parseFloat + }, + colorIsTextColor: { + type: 'boolean', + description: + "Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.", + cli: '-b, --color-is-text-color' + }, + strict: { + type: [{ enum: ['warn', 'ignore', 'error'] }, 'boolean', 'function'], + description: + 'Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.', + cli: '-S, --strict', + cliDefault: !1 + }, + trust: { + type: ['boolean', 'function'], + description: 'Trust the input, enabling all HTML features such as \\url.', + cli: '-T, --trust' + }, + maxSize: { + type: 'number', + default: 1 / 0, + description: + 'If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large', + processor: o((t) => Math.max(0, t), 'processor'), + cli: '-s, --max-size ', + cliProcessor: parseInt + }, + maxExpand: { + type: 'number', + default: 1e3, + description: + 'Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.', + processor: o((t) => Math.max(0, t), 'processor'), + cli: '-e, --max-expand ', + cliProcessor: o((t) => (t === 'Infinity' ? 1 / 0 : parseInt(t)), 'cliProcessor') + }, + globalGroup: { type: 'boolean', cli: !1 } + }); + o($2e, 'getDefaultValue'); + (ry = class { + static { + o(this, 'Settings'); + } + constructor(e) { + (this.displayMode = void 0), + (this.output = void 0), + (this.leqno = void 0), + (this.fleqn = void 0), + (this.throwOnError = void 0), + (this.errorColor = void 0), + (this.macros = void 0), + (this.minRuleThickness = void 0), + (this.colorIsTextColor = void 0), + (this.strict = void 0), + (this.trust = void 0), + (this.maxSize = void 0), + (this.maxExpand = void 0), + (this.globalGroup = void 0), + (e = e || {}); + for (var r in u4) + if (u4.hasOwnProperty(r)) { + var n = u4[r]; + this[r] = e[r] !== void 0 ? (n.processor ? n.processor(e[r]) : e[r]) : $2e(n); + } + } + reportNonstrict(e, r, n) { + var i = this.strict; + if ((typeof i == 'function' && (i = i(e, r, n)), !(!i || i === 'ignore'))) { + if (i === !0 || i === 'error') + throw new nt( + "LaTeX-incompatible input and strict mode is set to 'error': " + (r + ' [' + e + ']'), + n + ); + i === 'warn' + ? typeof console < 'u' && + console.warn( + "LaTeX-incompatible input and strict mode is set to 'warn': " + (r + ' [' + e + ']') + ) + : typeof console < 'u' && + console.warn( + 'LaTeX-incompatible input and strict mode is set to ' + + ("unrecognized '" + i + "': " + r + ' [' + e + ']') + ); + } + } + useStrictBehavior(e, r, n) { + var i = this.strict; + if (typeof i == 'function') + try { + i = i(e, r, n); + } catch { + i = 'error'; + } + return !i || i === 'ignore' + ? !1 + : i === !0 || i === 'error' + ? !0 + : i === 'warn' + ? (typeof console < 'u' && + console.warn( + "LaTeX-incompatible input and strict mode is set to 'warn': " + (r + ' [' + e + ']') + ), + !1) + : (typeof console < 'u' && + console.warn( + 'LaTeX-incompatible input and strict mode is set to ' + + ("unrecognized '" + i + "': " + r + ' [' + e + ']') + ), + !1); + } + isTrusted(e) { + if (e.url && !e.protocol) { + var r = Vt.protocolFromUrl(e.url); + if (r == null) return !1; + e.protocol = r; + } + var n = typeof this.trust == 'function' ? this.trust(e) : this.trust; + return !!n; + } + }), + (Kl = class { + static { + o(this, 'Style'); + } + constructor(e, r, n) { + (this.id = void 0), + (this.size = void 0), + (this.cramped = void 0), + (this.id = e), + (this.size = r), + (this.cramped = n); + } + sup() { + return Ql[V2e[this.id]]; + } + sub() { + return Ql[U2e[this.id]]; + } + fracNum() { + return Ql[H2e[this.id]]; + } + fracDen() { + return Ql[Y2e[this.id]]; + } + cramp() { + return Ql[W2e[this.id]]; + } + text() { + return Ql[q2e[this.id]]; + } + isTight() { + return this.size >= 2; + } + }), + (N7 = 0), + (f4 = 1), + (gp = 2), + (iu = 3), + (ny = 4), + (So = 5), + (yp = 6), + (qa = 7), + (Ql = [ + new Kl(N7, 0, !1), + new Kl(f4, 0, !0), + new Kl(gp, 1, !1), + new Kl(iu, 1, !0), + new Kl(ny, 2, !1), + new Kl(So, 2, !0), + new Kl(yp, 3, !1), + new Kl(qa, 3, !0) + ]), + (V2e = [ny, So, ny, So, yp, qa, yp, qa]), + (U2e = [So, So, So, So, qa, qa, qa, qa]), + (H2e = [gp, iu, ny, So, yp, qa, yp, qa]), + (Y2e = [iu, iu, So, So, qa, qa, qa, qa]), + (W2e = [f4, f4, iu, iu, So, So, qa, qa]), + (q2e = [N7, f4, gp, iu, gp, iu, gp, iu]), + (Ht = { + DISPLAY: Ql[N7], + TEXT: Ql[gp], + SCRIPT: Ql[ny], + SCRIPTSCRIPT: Ql[yp] + }), + (b7 = [ + { + name: 'latin', + blocks: [ + [256, 591], + [768, 879] + ] + }, + { name: 'cyrillic', blocks: [[1024, 1279]] }, + { name: 'armenian', blocks: [[1328, 1423]] }, + { name: 'brahmic', blocks: [[2304, 4255]] }, + { name: 'georgian', blocks: [[4256, 4351]] }, + { + name: 'cjk', + blocks: [ + [12288, 12543], + [19968, 40879], + [65280, 65376] + ] + }, + { name: 'hangul', blocks: [[44032, 55215]] } + ]); + o(X2e, 'scriptFromCodepoint'); + h4 = []; + b7.forEach((t) => t.blocks.forEach((e) => h4.push(...e))); + o(LG, 'supportedCodepoint'); + (mp = 80), + (j2e = o(function (e, r) { + return ( + 'M95,' + + (622 + e + r) + + ` +c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14 +c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54 +c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10 +s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429 +c69,-144,104.5,-217.7,106.5,-221 +l` + + e / 2.075 + + ' -' + + e + + ` +c5.3,-9.3,12,-14,20,-14 +H400000v` + + (40 + e) + + `H845.2724 +s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7 +c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z +M` + + (834 + e) + + ' ' + + r + + 'h400000v' + + (40 + e) + + 'h-400000z' + ); + }, 'sqrtMain')), + (K2e = o(function (e, r) { + return ( + 'M263,' + + (601 + e + r) + + `c0.7,0,18,39.7,52,119 +c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120 +c340,-704.7,510.7,-1060.3,512,-1067 +l` + + e / 2.084 + + ' -' + + e + + ` +c4.7,-7.3,11,-11,19,-11 +H40000v` + + (40 + e) + + `H1012.3 +s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232 +c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1 +s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26 +c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z +M` + + (1001 + e) + + ' ' + + r + + 'h400000v' + + (40 + e) + + 'h-400000z' + ); + }, 'sqrtSize1')), + (Q2e = o(function (e, r) { + return ( + 'M983 ' + + (10 + e + r) + + ` +l` + + e / 3.13 + + ' -' + + e + + ` +c4,-6.7,10,-10,18,-10 H400000v` + + (40 + e) + + ` +H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7 +s-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744 +c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30 +c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722 +c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5 +c53.7,-170.3,84.5,-266.8,92.5,-289.5z +M` + + (1001 + e) + + ' ' + + r + + 'h400000v' + + (40 + e) + + 'h-400000z' + ); + }, 'sqrtSize2')), + (Z2e = o(function (e, r) { + return ( + 'M424,' + + (2398 + e + r) + + ` +c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514 +c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20 +s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121 +s209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081 +l` + + e / 4.223 + + ' -' + + e + + `c4,-6.7,10,-10,18,-10 H400000 +v` + + (40 + e) + + `H1014.6 +s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185 +c-2,6,-10,9,-24,9 +c-8,0,-12,-0.7,-12,-2z M` + + (1001 + e) + + ' ' + + r + + ` +h400000v` + + (40 + e) + + 'h-400000z' + ); + }, 'sqrtSize3')), + (J2e = o(function (e, r) { + return ( + 'M473,' + + (2713 + e + r) + + ` +c339.3,-1799.3,509.3,-2700,510,-2702 l` + + e / 5.298 + + ' -' + + e + + ` +c3.3,-7.3,9.3,-11,18,-11 H400000v` + + (40 + e) + + `H1017.7 +s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9 +c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200 +c0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26 +s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104, +606zM` + + (1001 + e) + + ' ' + + r + + 'h400000v' + + (40 + e) + + 'H1017.7z' + ); + }, 'sqrtSize4')), + (exe = o(function (e) { + var r = e / 2; + return 'M400000 ' + e + ' H0 L' + r + ' 0 l65 45 L145 ' + (e - 80) + ' H400000z'; + }, 'phasePath')), + (txe = o(function (e, r, n) { + var i = n - 54 - r - e; + return ( + 'M702 ' + + (e + r) + + 'H400000' + + (40 + e) + + ` +H742v` + + i + + `l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1 +h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170 +c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667 +219 661 l218 661zM702 ` + + r + + 'H400000v' + + (40 + e) + + 'H742z' + ); + }, 'sqrtTall')), + (rxe = o(function (e, r, n) { + r = 1e3 * r; + var i = ''; + switch (e) { + case 'sqrtMain': + i = j2e(r, mp); + break; + case 'sqrtSize1': + i = K2e(r, mp); + break; + case 'sqrtSize2': + i = Q2e(r, mp); + break; + case 'sqrtSize3': + i = Z2e(r, mp); + break; + case 'sqrtSize4': + i = J2e(r, mp); + break; + case 'sqrtTall': + i = txe(r, mp, n); + } + return i; + }, 'sqrtPath')), + (nxe = o(function (e, r) { + switch (e) { + case '\u239C': + return 'M291 0 H417 V' + r + ' H291z M291 0 H417 V' + r + ' H291z'; + case '\u2223': + return 'M145 0 H188 V' + r + ' H145z M145 0 H188 V' + r + ' H145z'; + case '\u2225': + return ( + 'M145 0 H188 V' + + r + + ' H145z M145 0 H188 V' + + r + + ' H145z' + + ('M367 0 H410 V' + r + ' H367z M367 0 H410 V' + r + ' H367z') + ); + case '\u239F': + return 'M457 0 H583 V' + r + ' H457z M457 0 H583 V' + r + ' H457z'; + case '\u23A2': + return 'M319 0 H403 V' + r + ' H319z M319 0 H403 V' + r + ' H319z'; + case '\u23A5': + return 'M263 0 H347 V' + r + ' H263z M263 0 H347 V' + r + ' H263z'; + case '\u23AA': + return 'M384 0 H504 V' + r + ' H384z M384 0 H504 V' + r + ' H384z'; + case '\u23D0': + return 'M312 0 H355 V' + r + ' H312z M312 0 H355 V' + r + ' H312z'; + case '\u2016': + return ( + 'M257 0 H300 V' + + r + + ' H257z M257 0 H300 V' + + r + + ' H257z' + + ('M478 0 H521 V' + r + ' H478z M478 0 H521 V' + r + ' H478z') + ); + default: + return ''; + } + }, 'innerPath')), + (Qz = { + doubleleftarrow: `M262 157 +l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3 + 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28 + 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5 +c2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5 + 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87 +-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7 +-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z +m8 0v40h399730v-40zm0 194v40h399730v-40z`, + doublerightarrow: `M399738 392l +-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5 + 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88 +-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68 +-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18 +-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782 +c-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3 +-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z`, + leftarrow: `M400000 241H110l3-3c68.7-52.7 113.7-120 + 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8 +-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247 +c-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208 + 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3 + 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202 + l-3-3h399890zM100 241v40h399900v-40z`, + leftbrace: `M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117 +-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7 + 5-6 9-10 13-.7 1-7.3 1-20 1H6z`, + leftbraceunder: `M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13 + 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688 + 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7 +-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`, + leftgroup: `M400000 80 +H435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0 + 435 0h399565z`, + leftgroupunder: `M400000 262 +H435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219 + 435 219h399565z`, + leftharpoon: `M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3 +-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5 +-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7 +-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z`, + leftharpoonplus: `M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5 + 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3 +-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7 +-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z +m0 0v40h400000v-40z`, + leftharpoondown: `M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333 + 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5 + 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667 +-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z`, + leftharpoondownplus: `M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12 + 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7 +-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0 +v40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z`, + lefthook: `M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5 +-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3 +-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21 + 71.5 23h399859zM103 281v-40h399897v40z`, + leftlinesegment: `M40 281 V428 H0 V94 H40 V241 H400000 v40z +M40 281 V428 H0 V94 H40 V241 H400000 v40z`, + leftmapsto: `M40 281 V448H0V74H40V241H400000v40z +M40 281 V448H0V74H40V241H400000v40z`, + leftToFrom: `M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23 +-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8 +c28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3 + 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`, + longequal: `M0 50 h400000 v40H0z m0 194h40000v40H0z +M0 50 h400000 v40H0z m0 194h40000v40H0z`, + midbrace: `M200428 334 +c-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14 +-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7 + 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11 + 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z`, + midbraceunder: `M199572 214 +c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14 + 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3 + 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0 +-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`, + oiintSize1: `M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6 +-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z +m368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8 +60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z`, + oiintSize2: `M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8 +-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z +m502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2 +c0 110 84 276 504 276s502.4-166 502.4-276z`, + oiiintSize1: `M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6 +-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z +m525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0 +85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z`, + oiiintSize2: `M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8 +-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z +m770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1 +c0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z`, + rightarrow: `M0 241v40h399891c-47.3 35.3-84 78-110 128 +-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 + 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 + 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85 +-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 +-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 + 151.7 139 205zm0 0v40h399900v-40z`, + rightbrace: `M400000 542l +-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5 +s-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1 +c124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z`, + rightbraceunder: `M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3 + 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237 +-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`, + rightgroup: `M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0 + 3-1 3-3v-38c-76-158-257-219-435-219H0z`, + rightgroupunder: `M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18 + 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z`, + rightharpoon: `M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3 +-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2 +-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 + 69.2 92 94.5zm0 0v40h399900v-40z`, + rightharpoonplus: `M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11 +-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7 + 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z +m0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z`, + rightharpoondown: `M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8 + 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5 +-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95 +-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z`, + rightharpoondownplus: `M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8 + 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 + 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3 +-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z +m0-194v40h400000v-40zm0 0v40h400000v-40z`, + righthook: `M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3 + 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0 +-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21 + 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`, + rightlinesegment: `M399960 241 V94 h40 V428 h-40 V281 H0 v-40z +M399960 241 V94 h40 V428 h-40 V281 H0 v-40z`, + rightToFrom: `M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23 + 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32 +-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142 +-167z M100 147v40h399900v-40zM0 341v40h399900v-40z`, + twoheadleftarrow: `M0 167c68 40 + 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69 +-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3 +-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19 +-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101 + 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z`, + twoheadrightarrow: `M400000 167 +c-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3 + 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42 + 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333 +-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70 + 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z`, + tilde1: `M200 55.538c-77 0-168 73.953-177 73.953-3 0-7 +-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0 + 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0 + 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128 +-68.267.847-113-73.952-191-73.952z`, + tilde2: `M344 55.266c-142 0-300.638 81.316-311.5 86.418 +-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9 + 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114 +c1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751 + 181.476 676 181.476c-149 0-189-126.21-332-126.21z`, + tilde3: `M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457 +-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0 + 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697 + 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696 + -338 0-409-156.573-744-156.573z`, + tilde4: `M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345 +-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409 + 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9 + 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409 + -175.236-744-175.236z`, + vec: `M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5 +3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11 +10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63 +-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1 +-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59 +H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359 +c-16-25.333-24-45-24-59z`, + widehat1: `M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22 +c-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z`, + widehat2: `M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`, + widehat3: `M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`, + widehat4: `M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`, + widecheck1: `M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1, +-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z`, + widecheck2: `M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`, + widecheck3: `M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`, + widecheck4: `M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`, + baraboveleftarrow: `M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202 +c4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5 +c-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130 +s-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47 +121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6 +s2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11 +c0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z +M100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z`, + rightarrowabovebar: `M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32 +-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0 +13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39 +-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5 +-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 +-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 +151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z`, + baraboveshortleftharpoon: `M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 +c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17 +c2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21 +c-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40 +c-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z +M0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z`, + rightharpoonaboveshortbar: `M0,241 l0,40c399126,0,399993,0,399993,0 +c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, +-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 +c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z +M0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z`, + shortbaraboveleftharpoon: `M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 +c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9, +1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7, +-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z +M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z`, + shortrightharpoonabovebar: `M53,241l0,40c398570,0,399437,0,399437,0 +c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, +-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 +c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z +M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z` + }), + (ixe = o(function (e, r) { + switch (e) { + case 'lbrack': + return ( + 'M403 1759 V84 H666 V0 H319 V1759 v' + + r + + ` v1759 h347 v-84 +H403z M403 1759 V0 H319 V1759 v` + + r + + ' v1759 h84z' + ); + case 'rbrack': + return ( + 'M347 1759 V0 H0 V84 H263 V1759 v' + + r + + ` v1759 H0 v84 H347z +M347 1759 V0 H263 V1759 v` + + r + + ' v1759 h84z' + ); + case 'vert': + return ( + 'M145 15 v585 v' + + r + + ` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v` + + -r + + ` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v` + + r + + ' v585 h43z' + ); + case 'doublevert': + return ( + 'M145 15 v585 v' + + r + + ` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v` + + -r + + ` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v` + + r + + ` v585 h43z +M367 15 v585 v` + + r + + ` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v` + + -r + + ` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M410 15 H367 v585 v` + + r + + ' v585 h43z' + ); + case 'lfloor': + return ( + 'M319 602 V0 H403 V602 v' + + r + + ` v1715 h263 v84 H319z +MM319 602 V0 H403 V602 v` + + r + + ' v1715 H319z' + ); + case 'rfloor': + return ( + 'M319 602 V0 H403 V602 v' + + r + + ` v1799 H0 v-84 H319z +MM319 602 V0 H403 V602 v` + + r + + ' v1715 H319z' + ); + case 'lceil': + return ( + 'M403 1759 V84 H666 V0 H319 V1759 v' + + r + + ` v602 h84z +M403 1759 V0 H319 V1759 v` + + r + + ' v602 h84z' + ); + case 'rceil': + return ( + 'M347 1759 V0 H0 V84 H263 V1759 v' + + r + + ` v602 h84z +M347 1759 V0 h-84 V1759 v` + + r + + ' v602 h84z' + ); + case 'lparen': + return ( + `M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1 +c-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349, +-36,557 l0,` + + (r + 84) + + `c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210, +949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9 +c0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5, +-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189 +l0,-` + + (r + 92) + + `c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3, +-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z` + ); + case 'rparen': + return ( + `M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3, +63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5 +c11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,` + + (r + 9) + + ` +c-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664 +c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11 +c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17 +c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558 +l0,-` + + (r + 144) + + `c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7, +-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z` + ); + default: + throw new Error('Unknown stretchy delimiter.'); + } + }, 'tallDelim')), + (Xf = class { + static { + o(this, 'DocumentFragment'); + } + constructor(e) { + (this.children = void 0), + (this.classes = void 0), + (this.height = void 0), + (this.depth = void 0), + (this.maxFontSize = void 0), + (this.style = void 0), + (this.children = e), + (this.classes = []), + (this.height = 0), + (this.depth = 0), + (this.maxFontSize = 0), + (this.style = {}); + } + hasClass(e) { + return Vt.contains(this.classes, e); + } + toNode() { + for (var e = document.createDocumentFragment(), r = 0; r < this.children.length; r++) + e.appendChild(this.children[r].toNode()); + return e; + } + toMarkup() { + for (var e = '', r = 0; r < this.children.length; r++) e += this.children[r].toMarkup(); + return e; + } + toText() { + var e = o((r) => r.toText(), 'toText'); + return this.children.map(e).join(''); + } + }), + (Zl = { + 'AMS-Regular': { + 32: [0, 0, 0, 0, 0.25], + 65: [0, 0.68889, 0, 0, 0.72222], + 66: [0, 0.68889, 0, 0, 0.66667], + 67: [0, 0.68889, 0, 0, 0.72222], + 68: [0, 0.68889, 0, 0, 0.72222], + 69: [0, 0.68889, 0, 0, 0.66667], + 70: [0, 0.68889, 0, 0, 0.61111], + 71: [0, 0.68889, 0, 0, 0.77778], + 72: [0, 0.68889, 0, 0, 0.77778], + 73: [0, 0.68889, 0, 0, 0.38889], + 74: [0.16667, 0.68889, 0, 0, 0.5], + 75: [0, 0.68889, 0, 0, 0.77778], + 76: [0, 0.68889, 0, 0, 0.66667], + 77: [0, 0.68889, 0, 0, 0.94445], + 78: [0, 0.68889, 0, 0, 0.72222], + 79: [0.16667, 0.68889, 0, 0, 0.77778], + 80: [0, 0.68889, 0, 0, 0.61111], + 81: [0.16667, 0.68889, 0, 0, 0.77778], + 82: [0, 0.68889, 0, 0, 0.72222], + 83: [0, 0.68889, 0, 0, 0.55556], + 84: [0, 0.68889, 0, 0, 0.66667], + 85: [0, 0.68889, 0, 0, 0.72222], + 86: [0, 0.68889, 0, 0, 0.72222], + 87: [0, 0.68889, 0, 0, 1], + 88: [0, 0.68889, 0, 0, 0.72222], + 89: [0, 0.68889, 0, 0, 0.72222], + 90: [0, 0.68889, 0, 0, 0.66667], + 107: [0, 0.68889, 0, 0, 0.55556], + 160: [0, 0, 0, 0, 0.25], + 165: [0, 0.675, 0.025, 0, 0.75], + 174: [0.15559, 0.69224, 0, 0, 0.94666], + 240: [0, 0.68889, 0, 0, 0.55556], + 295: [0, 0.68889, 0, 0, 0.54028], + 710: [0, 0.825, 0, 0, 2.33334], + 732: [0, 0.9, 0, 0, 2.33334], + 770: [0, 0.825, 0, 0, 2.33334], + 771: [0, 0.9, 0, 0, 2.33334], + 989: [0.08167, 0.58167, 0, 0, 0.77778], + 1008: [0, 0.43056, 0.04028, 0, 0.66667], + 8245: [0, 0.54986, 0, 0, 0.275], + 8463: [0, 0.68889, 0, 0, 0.54028], + 8487: [0, 0.68889, 0, 0, 0.72222], + 8498: [0, 0.68889, 0, 0, 0.55556], + 8502: [0, 0.68889, 0, 0, 0.66667], + 8503: [0, 0.68889, 0, 0, 0.44445], + 8504: [0, 0.68889, 0, 0, 0.66667], + 8513: [0, 0.68889, 0, 0, 0.63889], + 8592: [-0.03598, 0.46402, 0, 0, 0.5], + 8594: [-0.03598, 0.46402, 0, 0, 0.5], + 8602: [-0.13313, 0.36687, 0, 0, 1], + 8603: [-0.13313, 0.36687, 0, 0, 1], + 8606: [0.01354, 0.52239, 0, 0, 1], + 8608: [0.01354, 0.52239, 0, 0, 1], + 8610: [0.01354, 0.52239, 0, 0, 1.11111], + 8611: [0.01354, 0.52239, 0, 0, 1.11111], + 8619: [0, 0.54986, 0, 0, 1], + 8620: [0, 0.54986, 0, 0, 1], + 8621: [-0.13313, 0.37788, 0, 0, 1.38889], + 8622: [-0.13313, 0.36687, 0, 0, 1], + 8624: [0, 0.69224, 0, 0, 0.5], + 8625: [0, 0.69224, 0, 0, 0.5], + 8630: [0, 0.43056, 0, 0, 1], + 8631: [0, 0.43056, 0, 0, 1], + 8634: [0.08198, 0.58198, 0, 0, 0.77778], + 8635: [0.08198, 0.58198, 0, 0, 0.77778], + 8638: [0.19444, 0.69224, 0, 0, 0.41667], + 8639: [0.19444, 0.69224, 0, 0, 0.41667], + 8642: [0.19444, 0.69224, 0, 0, 0.41667], + 8643: [0.19444, 0.69224, 0, 0, 0.41667], + 8644: [0.1808, 0.675, 0, 0, 1], + 8646: [0.1808, 0.675, 0, 0, 1], + 8647: [0.1808, 0.675, 0, 0, 1], + 8648: [0.19444, 0.69224, 0, 0, 0.83334], + 8649: [0.1808, 0.675, 0, 0, 1], + 8650: [0.19444, 0.69224, 0, 0, 0.83334], + 8651: [0.01354, 0.52239, 0, 0, 1], + 8652: [0.01354, 0.52239, 0, 0, 1], + 8653: [-0.13313, 0.36687, 0, 0, 1], + 8654: [-0.13313, 0.36687, 0, 0, 1], + 8655: [-0.13313, 0.36687, 0, 0, 1], + 8666: [0.13667, 0.63667, 0, 0, 1], + 8667: [0.13667, 0.63667, 0, 0, 1], + 8669: [-0.13313, 0.37788, 0, 0, 1], + 8672: [-0.064, 0.437, 0, 0, 1.334], + 8674: [-0.064, 0.437, 0, 0, 1.334], + 8705: [0, 0.825, 0, 0, 0.5], + 8708: [0, 0.68889, 0, 0, 0.55556], + 8709: [0.08167, 0.58167, 0, 0, 0.77778], + 8717: [0, 0.43056, 0, 0, 0.42917], + 8722: [-0.03598, 0.46402, 0, 0, 0.5], + 8724: [0.08198, 0.69224, 0, 0, 0.77778], + 8726: [0.08167, 0.58167, 0, 0, 0.77778], + 8733: [0, 0.69224, 0, 0, 0.77778], + 8736: [0, 0.69224, 0, 0, 0.72222], + 8737: [0, 0.69224, 0, 0, 0.72222], + 8738: [0.03517, 0.52239, 0, 0, 0.72222], + 8739: [0.08167, 0.58167, 0, 0, 0.22222], + 8740: [0.25142, 0.74111, 0, 0, 0.27778], + 8741: [0.08167, 0.58167, 0, 0, 0.38889], + 8742: [0.25142, 0.74111, 0, 0, 0.5], + 8756: [0, 0.69224, 0, 0, 0.66667], + 8757: [0, 0.69224, 0, 0, 0.66667], + 8764: [-0.13313, 0.36687, 0, 0, 0.77778], + 8765: [-0.13313, 0.37788, 0, 0, 0.77778], + 8769: [-0.13313, 0.36687, 0, 0, 0.77778], + 8770: [-0.03625, 0.46375, 0, 0, 0.77778], + 8774: [0.30274, 0.79383, 0, 0, 0.77778], + 8776: [-0.01688, 0.48312, 0, 0, 0.77778], + 8778: [0.08167, 0.58167, 0, 0, 0.77778], + 8782: [0.06062, 0.54986, 0, 0, 0.77778], + 8783: [0.06062, 0.54986, 0, 0, 0.77778], + 8785: [0.08198, 0.58198, 0, 0, 0.77778], + 8786: [0.08198, 0.58198, 0, 0, 0.77778], + 8787: [0.08198, 0.58198, 0, 0, 0.77778], + 8790: [0, 0.69224, 0, 0, 0.77778], + 8791: [0.22958, 0.72958, 0, 0, 0.77778], + 8796: [0.08198, 0.91667, 0, 0, 0.77778], + 8806: [0.25583, 0.75583, 0, 0, 0.77778], + 8807: [0.25583, 0.75583, 0, 0, 0.77778], + 8808: [0.25142, 0.75726, 0, 0, 0.77778], + 8809: [0.25142, 0.75726, 0, 0, 0.77778], + 8812: [0.25583, 0.75583, 0, 0, 0.5], + 8814: [0.20576, 0.70576, 0, 0, 0.77778], + 8815: [0.20576, 0.70576, 0, 0, 0.77778], + 8816: [0.30274, 0.79383, 0, 0, 0.77778], + 8817: [0.30274, 0.79383, 0, 0, 0.77778], + 8818: [0.22958, 0.72958, 0, 0, 0.77778], + 8819: [0.22958, 0.72958, 0, 0, 0.77778], + 8822: [0.1808, 0.675, 0, 0, 0.77778], + 8823: [0.1808, 0.675, 0, 0, 0.77778], + 8828: [0.13667, 0.63667, 0, 0, 0.77778], + 8829: [0.13667, 0.63667, 0, 0, 0.77778], + 8830: [0.22958, 0.72958, 0, 0, 0.77778], + 8831: [0.22958, 0.72958, 0, 0, 0.77778], + 8832: [0.20576, 0.70576, 0, 0, 0.77778], + 8833: [0.20576, 0.70576, 0, 0, 0.77778], + 8840: [0.30274, 0.79383, 0, 0, 0.77778], + 8841: [0.30274, 0.79383, 0, 0, 0.77778], + 8842: [0.13597, 0.63597, 0, 0, 0.77778], + 8843: [0.13597, 0.63597, 0, 0, 0.77778], + 8847: [0.03517, 0.54986, 0, 0, 0.77778], + 8848: [0.03517, 0.54986, 0, 0, 0.77778], + 8858: [0.08198, 0.58198, 0, 0, 0.77778], + 8859: [0.08198, 0.58198, 0, 0, 0.77778], + 8861: [0.08198, 0.58198, 0, 0, 0.77778], + 8862: [0, 0.675, 0, 0, 0.77778], + 8863: [0, 0.675, 0, 0, 0.77778], + 8864: [0, 0.675, 0, 0, 0.77778], + 8865: [0, 0.675, 0, 0, 0.77778], + 8872: [0, 0.69224, 0, 0, 0.61111], + 8873: [0, 0.69224, 0, 0, 0.72222], + 8874: [0, 0.69224, 0, 0, 0.88889], + 8876: [0, 0.68889, 0, 0, 0.61111], + 8877: [0, 0.68889, 0, 0, 0.61111], + 8878: [0, 0.68889, 0, 0, 0.72222], + 8879: [0, 0.68889, 0, 0, 0.72222], + 8882: [0.03517, 0.54986, 0, 0, 0.77778], + 8883: [0.03517, 0.54986, 0, 0, 0.77778], + 8884: [0.13667, 0.63667, 0, 0, 0.77778], + 8885: [0.13667, 0.63667, 0, 0, 0.77778], + 8888: [0, 0.54986, 0, 0, 1.11111], + 8890: [0.19444, 0.43056, 0, 0, 0.55556], + 8891: [0.19444, 0.69224, 0, 0, 0.61111], + 8892: [0.19444, 0.69224, 0, 0, 0.61111], + 8901: [0, 0.54986, 0, 0, 0.27778], + 8903: [0.08167, 0.58167, 0, 0, 0.77778], + 8905: [0.08167, 0.58167, 0, 0, 0.77778], + 8906: [0.08167, 0.58167, 0, 0, 0.77778], + 8907: [0, 0.69224, 0, 0, 0.77778], + 8908: [0, 0.69224, 0, 0, 0.77778], + 8909: [-0.03598, 0.46402, 0, 0, 0.77778], + 8910: [0, 0.54986, 0, 0, 0.76042], + 8911: [0, 0.54986, 0, 0, 0.76042], + 8912: [0.03517, 0.54986, 0, 0, 0.77778], + 8913: [0.03517, 0.54986, 0, 0, 0.77778], + 8914: [0, 0.54986, 0, 0, 0.66667], + 8915: [0, 0.54986, 0, 0, 0.66667], + 8916: [0, 0.69224, 0, 0, 0.66667], + 8918: [0.0391, 0.5391, 0, 0, 0.77778], + 8919: [0.0391, 0.5391, 0, 0, 0.77778], + 8920: [0.03517, 0.54986, 0, 0, 1.33334], + 8921: [0.03517, 0.54986, 0, 0, 1.33334], + 8922: [0.38569, 0.88569, 0, 0, 0.77778], + 8923: [0.38569, 0.88569, 0, 0, 0.77778], + 8926: [0.13667, 0.63667, 0, 0, 0.77778], + 8927: [0.13667, 0.63667, 0, 0, 0.77778], + 8928: [0.30274, 0.79383, 0, 0, 0.77778], + 8929: [0.30274, 0.79383, 0, 0, 0.77778], + 8934: [0.23222, 0.74111, 0, 0, 0.77778], + 8935: [0.23222, 0.74111, 0, 0, 0.77778], + 8936: [0.23222, 0.74111, 0, 0, 0.77778], + 8937: [0.23222, 0.74111, 0, 0, 0.77778], + 8938: [0.20576, 0.70576, 0, 0, 0.77778], + 8939: [0.20576, 0.70576, 0, 0, 0.77778], + 8940: [0.30274, 0.79383, 0, 0, 0.77778], + 8941: [0.30274, 0.79383, 0, 0, 0.77778], + 8994: [0.19444, 0.69224, 0, 0, 0.77778], + 8995: [0.19444, 0.69224, 0, 0, 0.77778], + 9416: [0.15559, 0.69224, 0, 0, 0.90222], + 9484: [0, 0.69224, 0, 0, 0.5], + 9488: [0, 0.69224, 0, 0, 0.5], + 9492: [0, 0.37788, 0, 0, 0.5], + 9496: [0, 0.37788, 0, 0, 0.5], + 9585: [0.19444, 0.68889, 0, 0, 0.88889], + 9586: [0.19444, 0.74111, 0, 0, 0.88889], + 9632: [0, 0.675, 0, 0, 0.77778], + 9633: [0, 0.675, 0, 0, 0.77778], + 9650: [0, 0.54986, 0, 0, 0.72222], + 9651: [0, 0.54986, 0, 0, 0.72222], + 9654: [0.03517, 0.54986, 0, 0, 0.77778], + 9660: [0, 0.54986, 0, 0, 0.72222], + 9661: [0, 0.54986, 0, 0, 0.72222], + 9664: [0.03517, 0.54986, 0, 0, 0.77778], + 9674: [0.11111, 0.69224, 0, 0, 0.66667], + 9733: [0.19444, 0.69224, 0, 0, 0.94445], + 10003: [0, 0.69224, 0, 0, 0.83334], + 10016: [0, 0.69224, 0, 0, 0.83334], + 10731: [0.11111, 0.69224, 0, 0, 0.66667], + 10846: [0.19444, 0.75583, 0, 0, 0.61111], + 10877: [0.13667, 0.63667, 0, 0, 0.77778], + 10878: [0.13667, 0.63667, 0, 0, 0.77778], + 10885: [0.25583, 0.75583, 0, 0, 0.77778], + 10886: [0.25583, 0.75583, 0, 0, 0.77778], + 10887: [0.13597, 0.63597, 0, 0, 0.77778], + 10888: [0.13597, 0.63597, 0, 0, 0.77778], + 10889: [0.26167, 0.75726, 0, 0, 0.77778], + 10890: [0.26167, 0.75726, 0, 0, 0.77778], + 10891: [0.48256, 0.98256, 0, 0, 0.77778], + 10892: [0.48256, 0.98256, 0, 0, 0.77778], + 10901: [0.13667, 0.63667, 0, 0, 0.77778], + 10902: [0.13667, 0.63667, 0, 0, 0.77778], + 10933: [0.25142, 0.75726, 0, 0, 0.77778], + 10934: [0.25142, 0.75726, 0, 0, 0.77778], + 10935: [0.26167, 0.75726, 0, 0, 0.77778], + 10936: [0.26167, 0.75726, 0, 0, 0.77778], + 10937: [0.26167, 0.75726, 0, 0, 0.77778], + 10938: [0.26167, 0.75726, 0, 0, 0.77778], + 10949: [0.25583, 0.75583, 0, 0, 0.77778], + 10950: [0.25583, 0.75583, 0, 0, 0.77778], + 10955: [0.28481, 0.79383, 0, 0, 0.77778], + 10956: [0.28481, 0.79383, 0, 0, 0.77778], + 57350: [0.08167, 0.58167, 0, 0, 0.22222], + 57351: [0.08167, 0.58167, 0, 0, 0.38889], + 57352: [0.08167, 0.58167, 0, 0, 0.77778], + 57353: [0, 0.43056, 0.04028, 0, 0.66667], + 57356: [0.25142, 0.75726, 0, 0, 0.77778], + 57357: [0.25142, 0.75726, 0, 0, 0.77778], + 57358: [0.41951, 0.91951, 0, 0, 0.77778], + 57359: [0.30274, 0.79383, 0, 0, 0.77778], + 57360: [0.30274, 0.79383, 0, 0, 0.77778], + 57361: [0.41951, 0.91951, 0, 0, 0.77778], + 57366: [0.25142, 0.75726, 0, 0, 0.77778], + 57367: [0.25142, 0.75726, 0, 0, 0.77778], + 57368: [0.25142, 0.75726, 0, 0, 0.77778], + 57369: [0.25142, 0.75726, 0, 0, 0.77778], + 57370: [0.13597, 0.63597, 0, 0, 0.77778], + 57371: [0.13597, 0.63597, 0, 0, 0.77778] + }, + 'Caligraphic-Regular': { + 32: [0, 0, 0, 0, 0.25], + 65: [0, 0.68333, 0, 0.19445, 0.79847], + 66: [0, 0.68333, 0.03041, 0.13889, 0.65681], + 67: [0, 0.68333, 0.05834, 0.13889, 0.52653], + 68: [0, 0.68333, 0.02778, 0.08334, 0.77139], + 69: [0, 0.68333, 0.08944, 0.11111, 0.52778], + 70: [0, 0.68333, 0.09931, 0.11111, 0.71875], + 71: [0.09722, 0.68333, 0.0593, 0.11111, 0.59487], + 72: [0, 0.68333, 0.00965, 0.11111, 0.84452], + 73: [0, 0.68333, 0.07382, 0, 0.54452], + 74: [0.09722, 0.68333, 0.18472, 0.16667, 0.67778], + 75: [0, 0.68333, 0.01445, 0.05556, 0.76195], + 76: [0, 0.68333, 0, 0.13889, 0.68972], + 77: [0, 0.68333, 0, 0.13889, 1.2009], + 78: [0, 0.68333, 0.14736, 0.08334, 0.82049], + 79: [0, 0.68333, 0.02778, 0.11111, 0.79611], + 80: [0, 0.68333, 0.08222, 0.08334, 0.69556], + 81: [0.09722, 0.68333, 0, 0.11111, 0.81667], + 82: [0, 0.68333, 0, 0.08334, 0.8475], + 83: [0, 0.68333, 0.075, 0.13889, 0.60556], + 84: [0, 0.68333, 0.25417, 0, 0.54464], + 85: [0, 0.68333, 0.09931, 0.08334, 0.62583], + 86: [0, 0.68333, 0.08222, 0, 0.61278], + 87: [0, 0.68333, 0.08222, 0.08334, 0.98778], + 88: [0, 0.68333, 0.14643, 0.13889, 0.7133], + 89: [0.09722, 0.68333, 0.08222, 0.08334, 0.66834], + 90: [0, 0.68333, 0.07944, 0.13889, 0.72473], + 160: [0, 0, 0, 0, 0.25] + }, + 'Fraktur-Regular': { + 32: [0, 0, 0, 0, 0.25], + 33: [0, 0.69141, 0, 0, 0.29574], + 34: [0, 0.69141, 0, 0, 0.21471], + 38: [0, 0.69141, 0, 0, 0.73786], + 39: [0, 0.69141, 0, 0, 0.21201], + 40: [0.24982, 0.74947, 0, 0, 0.38865], + 41: [0.24982, 0.74947, 0, 0, 0.38865], + 42: [0, 0.62119, 0, 0, 0.27764], + 43: [0.08319, 0.58283, 0, 0, 0.75623], + 44: [0, 0.10803, 0, 0, 0.27764], + 45: [0.08319, 0.58283, 0, 0, 0.75623], + 46: [0, 0.10803, 0, 0, 0.27764], + 47: [0.24982, 0.74947, 0, 0, 0.50181], + 48: [0, 0.47534, 0, 0, 0.50181], + 49: [0, 0.47534, 0, 0, 0.50181], + 50: [0, 0.47534, 0, 0, 0.50181], + 51: [0.18906, 0.47534, 0, 0, 0.50181], + 52: [0.18906, 0.47534, 0, 0, 0.50181], + 53: [0.18906, 0.47534, 0, 0, 0.50181], + 54: [0, 0.69141, 0, 0, 0.50181], + 55: [0.18906, 0.47534, 0, 0, 0.50181], + 56: [0, 0.69141, 0, 0, 0.50181], + 57: [0.18906, 0.47534, 0, 0, 0.50181], + 58: [0, 0.47534, 0, 0, 0.21606], + 59: [0.12604, 0.47534, 0, 0, 0.21606], + 61: [-0.13099, 0.36866, 0, 0, 0.75623], + 63: [0, 0.69141, 0, 0, 0.36245], + 65: [0, 0.69141, 0, 0, 0.7176], + 66: [0, 0.69141, 0, 0, 0.88397], + 67: [0, 0.69141, 0, 0, 0.61254], + 68: [0, 0.69141, 0, 0, 0.83158], + 69: [0, 0.69141, 0, 0, 0.66278], + 70: [0.12604, 0.69141, 0, 0, 0.61119], + 71: [0, 0.69141, 0, 0, 0.78539], + 72: [0.06302, 0.69141, 0, 0, 0.7203], + 73: [0, 0.69141, 0, 0, 0.55448], + 74: [0.12604, 0.69141, 0, 0, 0.55231], + 75: [0, 0.69141, 0, 0, 0.66845], + 76: [0, 0.69141, 0, 0, 0.66602], + 77: [0, 0.69141, 0, 0, 1.04953], + 78: [0, 0.69141, 0, 0, 0.83212], + 79: [0, 0.69141, 0, 0, 0.82699], + 80: [0.18906, 0.69141, 0, 0, 0.82753], + 81: [0.03781, 0.69141, 0, 0, 0.82699], + 82: [0, 0.69141, 0, 0, 0.82807], + 83: [0, 0.69141, 0, 0, 0.82861], + 84: [0, 0.69141, 0, 0, 0.66899], + 85: [0, 0.69141, 0, 0, 0.64576], + 86: [0, 0.69141, 0, 0, 0.83131], + 87: [0, 0.69141, 0, 0, 1.04602], + 88: [0, 0.69141, 0, 0, 0.71922], + 89: [0.18906, 0.69141, 0, 0, 0.83293], + 90: [0.12604, 0.69141, 0, 0, 0.60201], + 91: [0.24982, 0.74947, 0, 0, 0.27764], + 93: [0.24982, 0.74947, 0, 0, 0.27764], + 94: [0, 0.69141, 0, 0, 0.49965], + 97: [0, 0.47534, 0, 0, 0.50046], + 98: [0, 0.69141, 0, 0, 0.51315], + 99: [0, 0.47534, 0, 0, 0.38946], + 100: [0, 0.62119, 0, 0, 0.49857], + 101: [0, 0.47534, 0, 0, 0.40053], + 102: [0.18906, 0.69141, 0, 0, 0.32626], + 103: [0.18906, 0.47534, 0, 0, 0.5037], + 104: [0.18906, 0.69141, 0, 0, 0.52126], + 105: [0, 0.69141, 0, 0, 0.27899], + 106: [0, 0.69141, 0, 0, 0.28088], + 107: [0, 0.69141, 0, 0, 0.38946], + 108: [0, 0.69141, 0, 0, 0.27953], + 109: [0, 0.47534, 0, 0, 0.76676], + 110: [0, 0.47534, 0, 0, 0.52666], + 111: [0, 0.47534, 0, 0, 0.48885], + 112: [0.18906, 0.52396, 0, 0, 0.50046], + 113: [0.18906, 0.47534, 0, 0, 0.48912], + 114: [0, 0.47534, 0, 0, 0.38919], + 115: [0, 0.47534, 0, 0, 0.44266], + 116: [0, 0.62119, 0, 0, 0.33301], + 117: [0, 0.47534, 0, 0, 0.5172], + 118: [0, 0.52396, 0, 0, 0.5118], + 119: [0, 0.52396, 0, 0, 0.77351], + 120: [0.18906, 0.47534, 0, 0, 0.38865], + 121: [0.18906, 0.47534, 0, 0, 0.49884], + 122: [0.18906, 0.47534, 0, 0, 0.39054], + 160: [0, 0, 0, 0, 0.25], + 8216: [0, 0.69141, 0, 0, 0.21471], + 8217: [0, 0.69141, 0, 0, 0.21471], + 58112: [0, 0.62119, 0, 0, 0.49749], + 58113: [0, 0.62119, 0, 0, 0.4983], + 58114: [0.18906, 0.69141, 0, 0, 0.33328], + 58115: [0.18906, 0.69141, 0, 0, 0.32923], + 58116: [0.18906, 0.47534, 0, 0, 0.50343], + 58117: [0, 0.69141, 0, 0, 0.33301], + 58118: [0, 0.62119, 0, 0, 0.33409], + 58119: [0, 0.47534, 0, 0, 0.50073] + }, + 'Main-Bold': { + 32: [0, 0, 0, 0, 0.25], + 33: [0, 0.69444, 0, 0, 0.35], + 34: [0, 0.69444, 0, 0, 0.60278], + 35: [0.19444, 0.69444, 0, 0, 0.95833], + 36: [0.05556, 0.75, 0, 0, 0.575], + 37: [0.05556, 0.75, 0, 0, 0.95833], + 38: [0, 0.69444, 0, 0, 0.89444], + 39: [0, 0.69444, 0, 0, 0.31944], + 40: [0.25, 0.75, 0, 0, 0.44722], + 41: [0.25, 0.75, 0, 0, 0.44722], + 42: [0, 0.75, 0, 0, 0.575], + 43: [0.13333, 0.63333, 0, 0, 0.89444], + 44: [0.19444, 0.15556, 0, 0, 0.31944], + 45: [0, 0.44444, 0, 0, 0.38333], + 46: [0, 0.15556, 0, 0, 0.31944], + 47: [0.25, 0.75, 0, 0, 0.575], + 48: [0, 0.64444, 0, 0, 0.575], + 49: [0, 0.64444, 0, 0, 0.575], + 50: [0, 0.64444, 0, 0, 0.575], + 51: [0, 0.64444, 0, 0, 0.575], + 52: [0, 0.64444, 0, 0, 0.575], + 53: [0, 0.64444, 0, 0, 0.575], + 54: [0, 0.64444, 0, 0, 0.575], + 55: [0, 0.64444, 0, 0, 0.575], + 56: [0, 0.64444, 0, 0, 0.575], + 57: [0, 0.64444, 0, 0, 0.575], + 58: [0, 0.44444, 0, 0, 0.31944], + 59: [0.19444, 0.44444, 0, 0, 0.31944], + 60: [0.08556, 0.58556, 0, 0, 0.89444], + 61: [-0.10889, 0.39111, 0, 0, 0.89444], + 62: [0.08556, 0.58556, 0, 0, 0.89444], + 63: [0, 0.69444, 0, 0, 0.54305], + 64: [0, 0.69444, 0, 0, 0.89444], + 65: [0, 0.68611, 0, 0, 0.86944], + 66: [0, 0.68611, 0, 0, 0.81805], + 67: [0, 0.68611, 0, 0, 0.83055], + 68: [0, 0.68611, 0, 0, 0.88194], + 69: [0, 0.68611, 0, 0, 0.75555], + 70: [0, 0.68611, 0, 0, 0.72361], + 71: [0, 0.68611, 0, 0, 0.90416], + 72: [0, 0.68611, 0, 0, 0.9], + 73: [0, 0.68611, 0, 0, 0.43611], + 74: [0, 0.68611, 0, 0, 0.59444], + 75: [0, 0.68611, 0, 0, 0.90138], + 76: [0, 0.68611, 0, 0, 0.69166], + 77: [0, 0.68611, 0, 0, 1.09166], + 78: [0, 0.68611, 0, 0, 0.9], + 79: [0, 0.68611, 0, 0, 0.86388], + 80: [0, 0.68611, 0, 0, 0.78611], + 81: [0.19444, 0.68611, 0, 0, 0.86388], + 82: [0, 0.68611, 0, 0, 0.8625], + 83: [0, 0.68611, 0, 0, 0.63889], + 84: [0, 0.68611, 0, 0, 0.8], + 85: [0, 0.68611, 0, 0, 0.88472], + 86: [0, 0.68611, 0.01597, 0, 0.86944], + 87: [0, 0.68611, 0.01597, 0, 1.18888], + 88: [0, 0.68611, 0, 0, 0.86944], + 89: [0, 0.68611, 0.02875, 0, 0.86944], + 90: [0, 0.68611, 0, 0, 0.70277], + 91: [0.25, 0.75, 0, 0, 0.31944], + 92: [0.25, 0.75, 0, 0, 0.575], + 93: [0.25, 0.75, 0, 0, 0.31944], + 94: [0, 0.69444, 0, 0, 0.575], + 95: [0.31, 0.13444, 0.03194, 0, 0.575], + 97: [0, 0.44444, 0, 0, 0.55902], + 98: [0, 0.69444, 0, 0, 0.63889], + 99: [0, 0.44444, 0, 0, 0.51111], + 100: [0, 0.69444, 0, 0, 0.63889], + 101: [0, 0.44444, 0, 0, 0.52708], + 102: [0, 0.69444, 0.10903, 0, 0.35139], + 103: [0.19444, 0.44444, 0.01597, 0, 0.575], + 104: [0, 0.69444, 0, 0, 0.63889], + 105: [0, 0.69444, 0, 0, 0.31944], + 106: [0.19444, 0.69444, 0, 0, 0.35139], + 107: [0, 0.69444, 0, 0, 0.60694], + 108: [0, 0.69444, 0, 0, 0.31944], + 109: [0, 0.44444, 0, 0, 0.95833], + 110: [0, 0.44444, 0, 0, 0.63889], + 111: [0, 0.44444, 0, 0, 0.575], + 112: [0.19444, 0.44444, 0, 0, 0.63889], + 113: [0.19444, 0.44444, 0, 0, 0.60694], + 114: [0, 0.44444, 0, 0, 0.47361], + 115: [0, 0.44444, 0, 0, 0.45361], + 116: [0, 0.63492, 0, 0, 0.44722], + 117: [0, 0.44444, 0, 0, 0.63889], + 118: [0, 0.44444, 0.01597, 0, 0.60694], + 119: [0, 0.44444, 0.01597, 0, 0.83055], + 120: [0, 0.44444, 0, 0, 0.60694], + 121: [0.19444, 0.44444, 0.01597, 0, 0.60694], + 122: [0, 0.44444, 0, 0, 0.51111], + 123: [0.25, 0.75, 0, 0, 0.575], + 124: [0.25, 0.75, 0, 0, 0.31944], + 125: [0.25, 0.75, 0, 0, 0.575], + 126: [0.35, 0.34444, 0, 0, 0.575], + 160: [0, 0, 0, 0, 0.25], + 163: [0, 0.69444, 0, 0, 0.86853], + 168: [0, 0.69444, 0, 0, 0.575], + 172: [0, 0.44444, 0, 0, 0.76666], + 176: [0, 0.69444, 0, 0, 0.86944], + 177: [0.13333, 0.63333, 0, 0, 0.89444], + 184: [0.17014, 0, 0, 0, 0.51111], + 198: [0, 0.68611, 0, 0, 1.04166], + 215: [0.13333, 0.63333, 0, 0, 0.89444], + 216: [0.04861, 0.73472, 0, 0, 0.89444], + 223: [0, 0.69444, 0, 0, 0.59722], + 230: [0, 0.44444, 0, 0, 0.83055], + 247: [0.13333, 0.63333, 0, 0, 0.89444], + 248: [0.09722, 0.54167, 0, 0, 0.575], + 305: [0, 0.44444, 0, 0, 0.31944], + 338: [0, 0.68611, 0, 0, 1.16944], + 339: [0, 0.44444, 0, 0, 0.89444], + 567: [0.19444, 0.44444, 0, 0, 0.35139], + 710: [0, 0.69444, 0, 0, 0.575], + 711: [0, 0.63194, 0, 0, 0.575], + 713: [0, 0.59611, 0, 0, 0.575], + 714: [0, 0.69444, 0, 0, 0.575], + 715: [0, 0.69444, 0, 0, 0.575], + 728: [0, 0.69444, 0, 0, 0.575], + 729: [0, 0.69444, 0, 0, 0.31944], + 730: [0, 0.69444, 0, 0, 0.86944], + 732: [0, 0.69444, 0, 0, 0.575], + 733: [0, 0.69444, 0, 0, 0.575], + 915: [0, 0.68611, 0, 0, 0.69166], + 916: [0, 0.68611, 0, 0, 0.95833], + 920: [0, 0.68611, 0, 0, 0.89444], + 923: [0, 0.68611, 0, 0, 0.80555], + 926: [0, 0.68611, 0, 0, 0.76666], + 928: [0, 0.68611, 0, 0, 0.9], + 931: [0, 0.68611, 0, 0, 0.83055], + 933: [0, 0.68611, 0, 0, 0.89444], + 934: [0, 0.68611, 0, 0, 0.83055], + 936: [0, 0.68611, 0, 0, 0.89444], + 937: [0, 0.68611, 0, 0, 0.83055], + 8211: [0, 0.44444, 0.03194, 0, 0.575], + 8212: [0, 0.44444, 0.03194, 0, 1.14999], + 8216: [0, 0.69444, 0, 0, 0.31944], + 8217: [0, 0.69444, 0, 0, 0.31944], + 8220: [0, 0.69444, 0, 0, 0.60278], + 8221: [0, 0.69444, 0, 0, 0.60278], + 8224: [0.19444, 0.69444, 0, 0, 0.51111], + 8225: [0.19444, 0.69444, 0, 0, 0.51111], + 8242: [0, 0.55556, 0, 0, 0.34444], + 8407: [0, 0.72444, 0.15486, 0, 0.575], + 8463: [0, 0.69444, 0, 0, 0.66759], + 8465: [0, 0.69444, 0, 0, 0.83055], + 8467: [0, 0.69444, 0, 0, 0.47361], + 8472: [0.19444, 0.44444, 0, 0, 0.74027], + 8476: [0, 0.69444, 0, 0, 0.83055], + 8501: [0, 0.69444, 0, 0, 0.70277], + 8592: [-0.10889, 0.39111, 0, 0, 1.14999], + 8593: [0.19444, 0.69444, 0, 0, 0.575], + 8594: [-0.10889, 0.39111, 0, 0, 1.14999], + 8595: [0.19444, 0.69444, 0, 0, 0.575], + 8596: [-0.10889, 0.39111, 0, 0, 1.14999], + 8597: [0.25, 0.75, 0, 0, 0.575], + 8598: [0.19444, 0.69444, 0, 0, 1.14999], + 8599: [0.19444, 0.69444, 0, 0, 1.14999], + 8600: [0.19444, 0.69444, 0, 0, 1.14999], + 8601: [0.19444, 0.69444, 0, 0, 1.14999], + 8636: [-0.10889, 0.39111, 0, 0, 1.14999], + 8637: [-0.10889, 0.39111, 0, 0, 1.14999], + 8640: [-0.10889, 0.39111, 0, 0, 1.14999], + 8641: [-0.10889, 0.39111, 0, 0, 1.14999], + 8656: [-0.10889, 0.39111, 0, 0, 1.14999], + 8657: [0.19444, 0.69444, 0, 0, 0.70277], + 8658: [-0.10889, 0.39111, 0, 0, 1.14999], + 8659: [0.19444, 0.69444, 0, 0, 0.70277], + 8660: [-0.10889, 0.39111, 0, 0, 1.14999], + 8661: [0.25, 0.75, 0, 0, 0.70277], + 8704: [0, 0.69444, 0, 0, 0.63889], + 8706: [0, 0.69444, 0.06389, 0, 0.62847], + 8707: [0, 0.69444, 0, 0, 0.63889], + 8709: [0.05556, 0.75, 0, 0, 0.575], + 8711: [0, 0.68611, 0, 0, 0.95833], + 8712: [0.08556, 0.58556, 0, 0, 0.76666], + 8715: [0.08556, 0.58556, 0, 0, 0.76666], + 8722: [0.13333, 0.63333, 0, 0, 0.89444], + 8723: [0.13333, 0.63333, 0, 0, 0.89444], + 8725: [0.25, 0.75, 0, 0, 0.575], + 8726: [0.25, 0.75, 0, 0, 0.575], + 8727: [-0.02778, 0.47222, 0, 0, 0.575], + 8728: [-0.02639, 0.47361, 0, 0, 0.575], + 8729: [-0.02639, 0.47361, 0, 0, 0.575], + 8730: [0.18, 0.82, 0, 0, 0.95833], + 8733: [0, 0.44444, 0, 0, 0.89444], + 8734: [0, 0.44444, 0, 0, 1.14999], + 8736: [0, 0.69224, 0, 0, 0.72222], + 8739: [0.25, 0.75, 0, 0, 0.31944], + 8741: [0.25, 0.75, 0, 0, 0.575], + 8743: [0, 0.55556, 0, 0, 0.76666], + 8744: [0, 0.55556, 0, 0, 0.76666], + 8745: [0, 0.55556, 0, 0, 0.76666], + 8746: [0, 0.55556, 0, 0, 0.76666], + 8747: [0.19444, 0.69444, 0.12778, 0, 0.56875], + 8764: [-0.10889, 0.39111, 0, 0, 0.89444], + 8768: [0.19444, 0.69444, 0, 0, 0.31944], + 8771: [0.00222, 0.50222, 0, 0, 0.89444], + 8773: [0.027, 0.638, 0, 0, 0.894], + 8776: [0.02444, 0.52444, 0, 0, 0.89444], + 8781: [0.00222, 0.50222, 0, 0, 0.89444], + 8801: [0.00222, 0.50222, 0, 0, 0.89444], + 8804: [0.19667, 0.69667, 0, 0, 0.89444], + 8805: [0.19667, 0.69667, 0, 0, 0.89444], + 8810: [0.08556, 0.58556, 0, 0, 1.14999], + 8811: [0.08556, 0.58556, 0, 0, 1.14999], + 8826: [0.08556, 0.58556, 0, 0, 0.89444], + 8827: [0.08556, 0.58556, 0, 0, 0.89444], + 8834: [0.08556, 0.58556, 0, 0, 0.89444], + 8835: [0.08556, 0.58556, 0, 0, 0.89444], + 8838: [0.19667, 0.69667, 0, 0, 0.89444], + 8839: [0.19667, 0.69667, 0, 0, 0.89444], + 8846: [0, 0.55556, 0, 0, 0.76666], + 8849: [0.19667, 0.69667, 0, 0, 0.89444], + 8850: [0.19667, 0.69667, 0, 0, 0.89444], + 8851: [0, 0.55556, 0, 0, 0.76666], + 8852: [0, 0.55556, 0, 0, 0.76666], + 8853: [0.13333, 0.63333, 0, 0, 0.89444], + 8854: [0.13333, 0.63333, 0, 0, 0.89444], + 8855: [0.13333, 0.63333, 0, 0, 0.89444], + 8856: [0.13333, 0.63333, 0, 0, 0.89444], + 8857: [0.13333, 0.63333, 0, 0, 0.89444], + 8866: [0, 0.69444, 0, 0, 0.70277], + 8867: [0, 0.69444, 0, 0, 0.70277], + 8868: [0, 0.69444, 0, 0, 0.89444], + 8869: [0, 0.69444, 0, 0, 0.89444], + 8900: [-0.02639, 0.47361, 0, 0, 0.575], + 8901: [-0.02639, 0.47361, 0, 0, 0.31944], + 8902: [-0.02778, 0.47222, 0, 0, 0.575], + 8968: [0.25, 0.75, 0, 0, 0.51111], + 8969: [0.25, 0.75, 0, 0, 0.51111], + 8970: [0.25, 0.75, 0, 0, 0.51111], + 8971: [0.25, 0.75, 0, 0, 0.51111], + 8994: [-0.13889, 0.36111, 0, 0, 1.14999], + 8995: [-0.13889, 0.36111, 0, 0, 1.14999], + 9651: [0.19444, 0.69444, 0, 0, 1.02222], + 9657: [-0.02778, 0.47222, 0, 0, 0.575], + 9661: [0.19444, 0.69444, 0, 0, 1.02222], + 9667: [-0.02778, 0.47222, 0, 0, 0.575], + 9711: [0.19444, 0.69444, 0, 0, 1.14999], + 9824: [0.12963, 0.69444, 0, 0, 0.89444], + 9825: [0.12963, 0.69444, 0, 0, 0.89444], + 9826: [0.12963, 0.69444, 0, 0, 0.89444], + 9827: [0.12963, 0.69444, 0, 0, 0.89444], + 9837: [0, 0.75, 0, 0, 0.44722], + 9838: [0.19444, 0.69444, 0, 0, 0.44722], + 9839: [0.19444, 0.69444, 0, 0, 0.44722], + 10216: [0.25, 0.75, 0, 0, 0.44722], + 10217: [0.25, 0.75, 0, 0, 0.44722], + 10815: [0, 0.68611, 0, 0, 0.9], + 10927: [0.19667, 0.69667, 0, 0, 0.89444], + 10928: [0.19667, 0.69667, 0, 0, 0.89444], + 57376: [0.19444, 0.69444, 0, 0, 0] + }, + 'Main-BoldItalic': { + 32: [0, 0, 0, 0, 0.25], + 33: [0, 0.69444, 0.11417, 0, 0.38611], + 34: [0, 0.69444, 0.07939, 0, 0.62055], + 35: [0.19444, 0.69444, 0.06833, 0, 0.94444], + 37: [0.05556, 0.75, 0.12861, 0, 0.94444], + 38: [0, 0.69444, 0.08528, 0, 0.88555], + 39: [0, 0.69444, 0.12945, 0, 0.35555], + 40: [0.25, 0.75, 0.15806, 0, 0.47333], + 41: [0.25, 0.75, 0.03306, 0, 0.47333], + 42: [0, 0.75, 0.14333, 0, 0.59111], + 43: [0.10333, 0.60333, 0.03306, 0, 0.88555], + 44: [0.19444, 0.14722, 0, 0, 0.35555], + 45: [0, 0.44444, 0.02611, 0, 0.41444], + 46: [0, 0.14722, 0, 0, 0.35555], + 47: [0.25, 0.75, 0.15806, 0, 0.59111], + 48: [0, 0.64444, 0.13167, 0, 0.59111], + 49: [0, 0.64444, 0.13167, 0, 0.59111], + 50: [0, 0.64444, 0.13167, 0, 0.59111], + 51: [0, 0.64444, 0.13167, 0, 0.59111], + 52: [0.19444, 0.64444, 0.13167, 0, 0.59111], + 53: [0, 0.64444, 0.13167, 0, 0.59111], + 54: [0, 0.64444, 0.13167, 0, 0.59111], + 55: [0.19444, 0.64444, 0.13167, 0, 0.59111], + 56: [0, 0.64444, 0.13167, 0, 0.59111], + 57: [0, 0.64444, 0.13167, 0, 0.59111], + 58: [0, 0.44444, 0.06695, 0, 0.35555], + 59: [0.19444, 0.44444, 0.06695, 0, 0.35555], + 61: [-0.10889, 0.39111, 0.06833, 0, 0.88555], + 63: [0, 0.69444, 0.11472, 0, 0.59111], + 64: [0, 0.69444, 0.09208, 0, 0.88555], + 65: [0, 0.68611, 0, 0, 0.86555], + 66: [0, 0.68611, 0.0992, 0, 0.81666], + 67: [0, 0.68611, 0.14208, 0, 0.82666], + 68: [0, 0.68611, 0.09062, 0, 0.87555], + 69: [0, 0.68611, 0.11431, 0, 0.75666], + 70: [0, 0.68611, 0.12903, 0, 0.72722], + 71: [0, 0.68611, 0.07347, 0, 0.89527], + 72: [0, 0.68611, 0.17208, 0, 0.8961], + 73: [0, 0.68611, 0.15681, 0, 0.47166], + 74: [0, 0.68611, 0.145, 0, 0.61055], + 75: [0, 0.68611, 0.14208, 0, 0.89499], + 76: [0, 0.68611, 0, 0, 0.69777], + 77: [0, 0.68611, 0.17208, 0, 1.07277], + 78: [0, 0.68611, 0.17208, 0, 0.8961], + 79: [0, 0.68611, 0.09062, 0, 0.85499], + 80: [0, 0.68611, 0.0992, 0, 0.78721], + 81: [0.19444, 0.68611, 0.09062, 0, 0.85499], + 82: [0, 0.68611, 0.02559, 0, 0.85944], + 83: [0, 0.68611, 0.11264, 0, 0.64999], + 84: [0, 0.68611, 0.12903, 0, 0.7961], + 85: [0, 0.68611, 0.17208, 0, 0.88083], + 86: [0, 0.68611, 0.18625, 0, 0.86555], + 87: [0, 0.68611, 0.18625, 0, 1.15999], + 88: [0, 0.68611, 0.15681, 0, 0.86555], + 89: [0, 0.68611, 0.19803, 0, 0.86555], + 90: [0, 0.68611, 0.14208, 0, 0.70888], + 91: [0.25, 0.75, 0.1875, 0, 0.35611], + 93: [0.25, 0.75, 0.09972, 0, 0.35611], + 94: [0, 0.69444, 0.06709, 0, 0.59111], + 95: [0.31, 0.13444, 0.09811, 0, 0.59111], + 97: [0, 0.44444, 0.09426, 0, 0.59111], + 98: [0, 0.69444, 0.07861, 0, 0.53222], + 99: [0, 0.44444, 0.05222, 0, 0.53222], + 100: [0, 0.69444, 0.10861, 0, 0.59111], + 101: [0, 0.44444, 0.085, 0, 0.53222], + 102: [0.19444, 0.69444, 0.21778, 0, 0.4], + 103: [0.19444, 0.44444, 0.105, 0, 0.53222], + 104: [0, 0.69444, 0.09426, 0, 0.59111], + 105: [0, 0.69326, 0.11387, 0, 0.35555], + 106: [0.19444, 0.69326, 0.1672, 0, 0.35555], + 107: [0, 0.69444, 0.11111, 0, 0.53222], + 108: [0, 0.69444, 0.10861, 0, 0.29666], + 109: [0, 0.44444, 0.09426, 0, 0.94444], + 110: [0, 0.44444, 0.09426, 0, 0.64999], + 111: [0, 0.44444, 0.07861, 0, 0.59111], + 112: [0.19444, 0.44444, 0.07861, 0, 0.59111], + 113: [0.19444, 0.44444, 0.105, 0, 0.53222], + 114: [0, 0.44444, 0.11111, 0, 0.50167], + 115: [0, 0.44444, 0.08167, 0, 0.48694], + 116: [0, 0.63492, 0.09639, 0, 0.385], + 117: [0, 0.44444, 0.09426, 0, 0.62055], + 118: [0, 0.44444, 0.11111, 0, 0.53222], + 119: [0, 0.44444, 0.11111, 0, 0.76777], + 120: [0, 0.44444, 0.12583, 0, 0.56055], + 121: [0.19444, 0.44444, 0.105, 0, 0.56166], + 122: [0, 0.44444, 0.13889, 0, 0.49055], + 126: [0.35, 0.34444, 0.11472, 0, 0.59111], + 160: [0, 0, 0, 0, 0.25], + 168: [0, 0.69444, 0.11473, 0, 0.59111], + 176: [0, 0.69444, 0, 0, 0.94888], + 184: [0.17014, 0, 0, 0, 0.53222], + 198: [0, 0.68611, 0.11431, 0, 1.02277], + 216: [0.04861, 0.73472, 0.09062, 0, 0.88555], + 223: [0.19444, 0.69444, 0.09736, 0, 0.665], + 230: [0, 0.44444, 0.085, 0, 0.82666], + 248: [0.09722, 0.54167, 0.09458, 0, 0.59111], + 305: [0, 0.44444, 0.09426, 0, 0.35555], + 338: [0, 0.68611, 0.11431, 0, 1.14054], + 339: [0, 0.44444, 0.085, 0, 0.82666], + 567: [0.19444, 0.44444, 0.04611, 0, 0.385], + 710: [0, 0.69444, 0.06709, 0, 0.59111], + 711: [0, 0.63194, 0.08271, 0, 0.59111], + 713: [0, 0.59444, 0.10444, 0, 0.59111], + 714: [0, 0.69444, 0.08528, 0, 0.59111], + 715: [0, 0.69444, 0, 0, 0.59111], + 728: [0, 0.69444, 0.10333, 0, 0.59111], + 729: [0, 0.69444, 0.12945, 0, 0.35555], + 730: [0, 0.69444, 0, 0, 0.94888], + 732: [0, 0.69444, 0.11472, 0, 0.59111], + 733: [0, 0.69444, 0.11472, 0, 0.59111], + 915: [0, 0.68611, 0.12903, 0, 0.69777], + 916: [0, 0.68611, 0, 0, 0.94444], + 920: [0, 0.68611, 0.09062, 0, 0.88555], + 923: [0, 0.68611, 0, 0, 0.80666], + 926: [0, 0.68611, 0.15092, 0, 0.76777], + 928: [0, 0.68611, 0.17208, 0, 0.8961], + 931: [0, 0.68611, 0.11431, 0, 0.82666], + 933: [0, 0.68611, 0.10778, 0, 0.88555], + 934: [0, 0.68611, 0.05632, 0, 0.82666], + 936: [0, 0.68611, 0.10778, 0, 0.88555], + 937: [0, 0.68611, 0.0992, 0, 0.82666], + 8211: [0, 0.44444, 0.09811, 0, 0.59111], + 8212: [0, 0.44444, 0.09811, 0, 1.18221], + 8216: [0, 0.69444, 0.12945, 0, 0.35555], + 8217: [0, 0.69444, 0.12945, 0, 0.35555], + 8220: [0, 0.69444, 0.16772, 0, 0.62055], + 8221: [0, 0.69444, 0.07939, 0, 0.62055] + }, + 'Main-Italic': { + 32: [0, 0, 0, 0, 0.25], + 33: [0, 0.69444, 0.12417, 0, 0.30667], + 34: [0, 0.69444, 0.06961, 0, 0.51444], + 35: [0.19444, 0.69444, 0.06616, 0, 0.81777], + 37: [0.05556, 0.75, 0.13639, 0, 0.81777], + 38: [0, 0.69444, 0.09694, 0, 0.76666], + 39: [0, 0.69444, 0.12417, 0, 0.30667], + 40: [0.25, 0.75, 0.16194, 0, 0.40889], + 41: [0.25, 0.75, 0.03694, 0, 0.40889], + 42: [0, 0.75, 0.14917, 0, 0.51111], + 43: [0.05667, 0.56167, 0.03694, 0, 0.76666], + 44: [0.19444, 0.10556, 0, 0, 0.30667], + 45: [0, 0.43056, 0.02826, 0, 0.35778], + 46: [0, 0.10556, 0, 0, 0.30667], + 47: [0.25, 0.75, 0.16194, 0, 0.51111], + 48: [0, 0.64444, 0.13556, 0, 0.51111], + 49: [0, 0.64444, 0.13556, 0, 0.51111], + 50: [0, 0.64444, 0.13556, 0, 0.51111], + 51: [0, 0.64444, 0.13556, 0, 0.51111], + 52: [0.19444, 0.64444, 0.13556, 0, 0.51111], + 53: [0, 0.64444, 0.13556, 0, 0.51111], + 54: [0, 0.64444, 0.13556, 0, 0.51111], + 55: [0.19444, 0.64444, 0.13556, 0, 0.51111], + 56: [0, 0.64444, 0.13556, 0, 0.51111], + 57: [0, 0.64444, 0.13556, 0, 0.51111], + 58: [0, 0.43056, 0.0582, 0, 0.30667], + 59: [0.19444, 0.43056, 0.0582, 0, 0.30667], + 61: [-0.13313, 0.36687, 0.06616, 0, 0.76666], + 63: [0, 0.69444, 0.1225, 0, 0.51111], + 64: [0, 0.69444, 0.09597, 0, 0.76666], + 65: [0, 0.68333, 0, 0, 0.74333], + 66: [0, 0.68333, 0.10257, 0, 0.70389], + 67: [0, 0.68333, 0.14528, 0, 0.71555], + 68: [0, 0.68333, 0.09403, 0, 0.755], + 69: [0, 0.68333, 0.12028, 0, 0.67833], + 70: [0, 0.68333, 0.13305, 0, 0.65277], + 71: [0, 0.68333, 0.08722, 0, 0.77361], + 72: [0, 0.68333, 0.16389, 0, 0.74333], + 73: [0, 0.68333, 0.15806, 0, 0.38555], + 74: [0, 0.68333, 0.14028, 0, 0.525], + 75: [0, 0.68333, 0.14528, 0, 0.76888], + 76: [0, 0.68333, 0, 0, 0.62722], + 77: [0, 0.68333, 0.16389, 0, 0.89666], + 78: [0, 0.68333, 0.16389, 0, 0.74333], + 79: [0, 0.68333, 0.09403, 0, 0.76666], + 80: [0, 0.68333, 0.10257, 0, 0.67833], + 81: [0.19444, 0.68333, 0.09403, 0, 0.76666], + 82: [0, 0.68333, 0.03868, 0, 0.72944], + 83: [0, 0.68333, 0.11972, 0, 0.56222], + 84: [0, 0.68333, 0.13305, 0, 0.71555], + 85: [0, 0.68333, 0.16389, 0, 0.74333], + 86: [0, 0.68333, 0.18361, 0, 0.74333], + 87: [0, 0.68333, 0.18361, 0, 0.99888], + 88: [0, 0.68333, 0.15806, 0, 0.74333], + 89: [0, 0.68333, 0.19383, 0, 0.74333], + 90: [0, 0.68333, 0.14528, 0, 0.61333], + 91: [0.25, 0.75, 0.1875, 0, 0.30667], + 93: [0.25, 0.75, 0.10528, 0, 0.30667], + 94: [0, 0.69444, 0.06646, 0, 0.51111], + 95: [0.31, 0.12056, 0.09208, 0, 0.51111], + 97: [0, 0.43056, 0.07671, 0, 0.51111], + 98: [0, 0.69444, 0.06312, 0, 0.46], + 99: [0, 0.43056, 0.05653, 0, 0.46], + 100: [0, 0.69444, 0.10333, 0, 0.51111], + 101: [0, 0.43056, 0.07514, 0, 0.46], + 102: [0.19444, 0.69444, 0.21194, 0, 0.30667], + 103: [0.19444, 0.43056, 0.08847, 0, 0.46], + 104: [0, 0.69444, 0.07671, 0, 0.51111], + 105: [0, 0.65536, 0.1019, 0, 0.30667], + 106: [0.19444, 0.65536, 0.14467, 0, 0.30667], + 107: [0, 0.69444, 0.10764, 0, 0.46], + 108: [0, 0.69444, 0.10333, 0, 0.25555], + 109: [0, 0.43056, 0.07671, 0, 0.81777], + 110: [0, 0.43056, 0.07671, 0, 0.56222], + 111: [0, 0.43056, 0.06312, 0, 0.51111], + 112: [0.19444, 0.43056, 0.06312, 0, 0.51111], + 113: [0.19444, 0.43056, 0.08847, 0, 0.46], + 114: [0, 0.43056, 0.10764, 0, 0.42166], + 115: [0, 0.43056, 0.08208, 0, 0.40889], + 116: [0, 0.61508, 0.09486, 0, 0.33222], + 117: [0, 0.43056, 0.07671, 0, 0.53666], + 118: [0, 0.43056, 0.10764, 0, 0.46], + 119: [0, 0.43056, 0.10764, 0, 0.66444], + 120: [0, 0.43056, 0.12042, 0, 0.46389], + 121: [0.19444, 0.43056, 0.08847, 0, 0.48555], + 122: [0, 0.43056, 0.12292, 0, 0.40889], + 126: [0.35, 0.31786, 0.11585, 0, 0.51111], + 160: [0, 0, 0, 0, 0.25], + 168: [0, 0.66786, 0.10474, 0, 0.51111], + 176: [0, 0.69444, 0, 0, 0.83129], + 184: [0.17014, 0, 0, 0, 0.46], + 198: [0, 0.68333, 0.12028, 0, 0.88277], + 216: [0.04861, 0.73194, 0.09403, 0, 0.76666], + 223: [0.19444, 0.69444, 0.10514, 0, 0.53666], + 230: [0, 0.43056, 0.07514, 0, 0.71555], + 248: [0.09722, 0.52778, 0.09194, 0, 0.51111], + 338: [0, 0.68333, 0.12028, 0, 0.98499], + 339: [0, 0.43056, 0.07514, 0, 0.71555], + 710: [0, 0.69444, 0.06646, 0, 0.51111], + 711: [0, 0.62847, 0.08295, 0, 0.51111], + 713: [0, 0.56167, 0.10333, 0, 0.51111], + 714: [0, 0.69444, 0.09694, 0, 0.51111], + 715: [0, 0.69444, 0, 0, 0.51111], + 728: [0, 0.69444, 0.10806, 0, 0.51111], + 729: [0, 0.66786, 0.11752, 0, 0.30667], + 730: [0, 0.69444, 0, 0, 0.83129], + 732: [0, 0.66786, 0.11585, 0, 0.51111], + 733: [0, 0.69444, 0.1225, 0, 0.51111], + 915: [0, 0.68333, 0.13305, 0, 0.62722], + 916: [0, 0.68333, 0, 0, 0.81777], + 920: [0, 0.68333, 0.09403, 0, 0.76666], + 923: [0, 0.68333, 0, 0, 0.69222], + 926: [0, 0.68333, 0.15294, 0, 0.66444], + 928: [0, 0.68333, 0.16389, 0, 0.74333], + 931: [0, 0.68333, 0.12028, 0, 0.71555], + 933: [0, 0.68333, 0.11111, 0, 0.76666], + 934: [0, 0.68333, 0.05986, 0, 0.71555], + 936: [0, 0.68333, 0.11111, 0, 0.76666], + 937: [0, 0.68333, 0.10257, 0, 0.71555], + 8211: [0, 0.43056, 0.09208, 0, 0.51111], + 8212: [0, 0.43056, 0.09208, 0, 1.02222], + 8216: [0, 0.69444, 0.12417, 0, 0.30667], + 8217: [0, 0.69444, 0.12417, 0, 0.30667], + 8220: [0, 0.69444, 0.1685, 0, 0.51444], + 8221: [0, 0.69444, 0.06961, 0, 0.51444], + 8463: [0, 0.68889, 0, 0, 0.54028] + }, + 'Main-Regular': { + 32: [0, 0, 0, 0, 0.25], + 33: [0, 0.69444, 0, 0, 0.27778], + 34: [0, 0.69444, 0, 0, 0.5], + 35: [0.19444, 0.69444, 0, 0, 0.83334], + 36: [0.05556, 0.75, 0, 0, 0.5], + 37: [0.05556, 0.75, 0, 0, 0.83334], + 38: [0, 0.69444, 0, 0, 0.77778], + 39: [0, 0.69444, 0, 0, 0.27778], + 40: [0.25, 0.75, 0, 0, 0.38889], + 41: [0.25, 0.75, 0, 0, 0.38889], + 42: [0, 0.75, 0, 0, 0.5], + 43: [0.08333, 0.58333, 0, 0, 0.77778], + 44: [0.19444, 0.10556, 0, 0, 0.27778], + 45: [0, 0.43056, 0, 0, 0.33333], + 46: [0, 0.10556, 0, 0, 0.27778], + 47: [0.25, 0.75, 0, 0, 0.5], + 48: [0, 0.64444, 0, 0, 0.5], + 49: [0, 0.64444, 0, 0, 0.5], + 50: [0, 0.64444, 0, 0, 0.5], + 51: [0, 0.64444, 0, 0, 0.5], + 52: [0, 0.64444, 0, 0, 0.5], + 53: [0, 0.64444, 0, 0, 0.5], + 54: [0, 0.64444, 0, 0, 0.5], + 55: [0, 0.64444, 0, 0, 0.5], + 56: [0, 0.64444, 0, 0, 0.5], + 57: [0, 0.64444, 0, 0, 0.5], + 58: [0, 0.43056, 0, 0, 0.27778], + 59: [0.19444, 0.43056, 0, 0, 0.27778], + 60: [0.0391, 0.5391, 0, 0, 0.77778], + 61: [-0.13313, 0.36687, 0, 0, 0.77778], + 62: [0.0391, 0.5391, 0, 0, 0.77778], + 63: [0, 0.69444, 0, 0, 0.47222], + 64: [0, 0.69444, 0, 0, 0.77778], + 65: [0, 0.68333, 0, 0, 0.75], + 66: [0, 0.68333, 0, 0, 0.70834], + 67: [0, 0.68333, 0, 0, 0.72222], + 68: [0, 0.68333, 0, 0, 0.76389], + 69: [0, 0.68333, 0, 0, 0.68056], + 70: [0, 0.68333, 0, 0, 0.65278], + 71: [0, 0.68333, 0, 0, 0.78472], + 72: [0, 0.68333, 0, 0, 0.75], + 73: [0, 0.68333, 0, 0, 0.36111], + 74: [0, 0.68333, 0, 0, 0.51389], + 75: [0, 0.68333, 0, 0, 0.77778], + 76: [0, 0.68333, 0, 0, 0.625], + 77: [0, 0.68333, 0, 0, 0.91667], + 78: [0, 0.68333, 0, 0, 0.75], + 79: [0, 0.68333, 0, 0, 0.77778], + 80: [0, 0.68333, 0, 0, 0.68056], + 81: [0.19444, 0.68333, 0, 0, 0.77778], + 82: [0, 0.68333, 0, 0, 0.73611], + 83: [0, 0.68333, 0, 0, 0.55556], + 84: [0, 0.68333, 0, 0, 0.72222], + 85: [0, 0.68333, 0, 0, 0.75], + 86: [0, 0.68333, 0.01389, 0, 0.75], + 87: [0, 0.68333, 0.01389, 0, 1.02778], + 88: [0, 0.68333, 0, 0, 0.75], + 89: [0, 0.68333, 0.025, 0, 0.75], + 90: [0, 0.68333, 0, 0, 0.61111], + 91: [0.25, 0.75, 0, 0, 0.27778], + 92: [0.25, 0.75, 0, 0, 0.5], + 93: [0.25, 0.75, 0, 0, 0.27778], + 94: [0, 0.69444, 0, 0, 0.5], + 95: [0.31, 0.12056, 0.02778, 0, 0.5], + 97: [0, 0.43056, 0, 0, 0.5], + 98: [0, 0.69444, 0, 0, 0.55556], + 99: [0, 0.43056, 0, 0, 0.44445], + 100: [0, 0.69444, 0, 0, 0.55556], + 101: [0, 0.43056, 0, 0, 0.44445], + 102: [0, 0.69444, 0.07778, 0, 0.30556], + 103: [0.19444, 0.43056, 0.01389, 0, 0.5], + 104: [0, 0.69444, 0, 0, 0.55556], + 105: [0, 0.66786, 0, 0, 0.27778], + 106: [0.19444, 0.66786, 0, 0, 0.30556], + 107: [0, 0.69444, 0, 0, 0.52778], + 108: [0, 0.69444, 0, 0, 0.27778], + 109: [0, 0.43056, 0, 0, 0.83334], + 110: [0, 0.43056, 0, 0, 0.55556], + 111: [0, 0.43056, 0, 0, 0.5], + 112: [0.19444, 0.43056, 0, 0, 0.55556], + 113: [0.19444, 0.43056, 0, 0, 0.52778], + 114: [0, 0.43056, 0, 0, 0.39167], + 115: [0, 0.43056, 0, 0, 0.39445], + 116: [0, 0.61508, 0, 0, 0.38889], + 117: [0, 0.43056, 0, 0, 0.55556], + 118: [0, 0.43056, 0.01389, 0, 0.52778], + 119: [0, 0.43056, 0.01389, 0, 0.72222], + 120: [0, 0.43056, 0, 0, 0.52778], + 121: [0.19444, 0.43056, 0.01389, 0, 0.52778], + 122: [0, 0.43056, 0, 0, 0.44445], + 123: [0.25, 0.75, 0, 0, 0.5], + 124: [0.25, 0.75, 0, 0, 0.27778], + 125: [0.25, 0.75, 0, 0, 0.5], + 126: [0.35, 0.31786, 0, 0, 0.5], + 160: [0, 0, 0, 0, 0.25], + 163: [0, 0.69444, 0, 0, 0.76909], + 167: [0.19444, 0.69444, 0, 0, 0.44445], + 168: [0, 0.66786, 0, 0, 0.5], + 172: [0, 0.43056, 0, 0, 0.66667], + 176: [0, 0.69444, 0, 0, 0.75], + 177: [0.08333, 0.58333, 0, 0, 0.77778], + 182: [0.19444, 0.69444, 0, 0, 0.61111], + 184: [0.17014, 0, 0, 0, 0.44445], + 198: [0, 0.68333, 0, 0, 0.90278], + 215: [0.08333, 0.58333, 0, 0, 0.77778], + 216: [0.04861, 0.73194, 0, 0, 0.77778], + 223: [0, 0.69444, 0, 0, 0.5], + 230: [0, 0.43056, 0, 0, 0.72222], + 247: [0.08333, 0.58333, 0, 0, 0.77778], + 248: [0.09722, 0.52778, 0, 0, 0.5], + 305: [0, 0.43056, 0, 0, 0.27778], + 338: [0, 0.68333, 0, 0, 1.01389], + 339: [0, 0.43056, 0, 0, 0.77778], + 567: [0.19444, 0.43056, 0, 0, 0.30556], + 710: [0, 0.69444, 0, 0, 0.5], + 711: [0, 0.62847, 0, 0, 0.5], + 713: [0, 0.56778, 0, 0, 0.5], + 714: [0, 0.69444, 0, 0, 0.5], + 715: [0, 0.69444, 0, 0, 0.5], + 728: [0, 0.69444, 0, 0, 0.5], + 729: [0, 0.66786, 0, 0, 0.27778], + 730: [0, 0.69444, 0, 0, 0.75], + 732: [0, 0.66786, 0, 0, 0.5], + 733: [0, 0.69444, 0, 0, 0.5], + 915: [0, 0.68333, 0, 0, 0.625], + 916: [0, 0.68333, 0, 0, 0.83334], + 920: [0, 0.68333, 0, 0, 0.77778], + 923: [0, 0.68333, 0, 0, 0.69445], + 926: [0, 0.68333, 0, 0, 0.66667], + 928: [0, 0.68333, 0, 0, 0.75], + 931: [0, 0.68333, 0, 0, 0.72222], + 933: [0, 0.68333, 0, 0, 0.77778], + 934: [0, 0.68333, 0, 0, 0.72222], + 936: [0, 0.68333, 0, 0, 0.77778], + 937: [0, 0.68333, 0, 0, 0.72222], + 8211: [0, 0.43056, 0.02778, 0, 0.5], + 8212: [0, 0.43056, 0.02778, 0, 1], + 8216: [0, 0.69444, 0, 0, 0.27778], + 8217: [0, 0.69444, 0, 0, 0.27778], + 8220: [0, 0.69444, 0, 0, 0.5], + 8221: [0, 0.69444, 0, 0, 0.5], + 8224: [0.19444, 0.69444, 0, 0, 0.44445], + 8225: [0.19444, 0.69444, 0, 0, 0.44445], + 8230: [0, 0.123, 0, 0, 1.172], + 8242: [0, 0.55556, 0, 0, 0.275], + 8407: [0, 0.71444, 0.15382, 0, 0.5], + 8463: [0, 0.68889, 0, 0, 0.54028], + 8465: [0, 0.69444, 0, 0, 0.72222], + 8467: [0, 0.69444, 0, 0.11111, 0.41667], + 8472: [0.19444, 0.43056, 0, 0.11111, 0.63646], + 8476: [0, 0.69444, 0, 0, 0.72222], + 8501: [0, 0.69444, 0, 0, 0.61111], + 8592: [-0.13313, 0.36687, 0, 0, 1], + 8593: [0.19444, 0.69444, 0, 0, 0.5], + 8594: [-0.13313, 0.36687, 0, 0, 1], + 8595: [0.19444, 0.69444, 0, 0, 0.5], + 8596: [-0.13313, 0.36687, 0, 0, 1], + 8597: [0.25, 0.75, 0, 0, 0.5], + 8598: [0.19444, 0.69444, 0, 0, 1], + 8599: [0.19444, 0.69444, 0, 0, 1], + 8600: [0.19444, 0.69444, 0, 0, 1], + 8601: [0.19444, 0.69444, 0, 0, 1], + 8614: [0.011, 0.511, 0, 0, 1], + 8617: [0.011, 0.511, 0, 0, 1.126], + 8618: [0.011, 0.511, 0, 0, 1.126], + 8636: [-0.13313, 0.36687, 0, 0, 1], + 8637: [-0.13313, 0.36687, 0, 0, 1], + 8640: [-0.13313, 0.36687, 0, 0, 1], + 8641: [-0.13313, 0.36687, 0, 0, 1], + 8652: [0.011, 0.671, 0, 0, 1], + 8656: [-0.13313, 0.36687, 0, 0, 1], + 8657: [0.19444, 0.69444, 0, 0, 0.61111], + 8658: [-0.13313, 0.36687, 0, 0, 1], + 8659: [0.19444, 0.69444, 0, 0, 0.61111], + 8660: [-0.13313, 0.36687, 0, 0, 1], + 8661: [0.25, 0.75, 0, 0, 0.61111], + 8704: [0, 0.69444, 0, 0, 0.55556], + 8706: [0, 0.69444, 0.05556, 0.08334, 0.5309], + 8707: [0, 0.69444, 0, 0, 0.55556], + 8709: [0.05556, 0.75, 0, 0, 0.5], + 8711: [0, 0.68333, 0, 0, 0.83334], + 8712: [0.0391, 0.5391, 0, 0, 0.66667], + 8715: [0.0391, 0.5391, 0, 0, 0.66667], + 8722: [0.08333, 0.58333, 0, 0, 0.77778], + 8723: [0.08333, 0.58333, 0, 0, 0.77778], + 8725: [0.25, 0.75, 0, 0, 0.5], + 8726: [0.25, 0.75, 0, 0, 0.5], + 8727: [-0.03472, 0.46528, 0, 0, 0.5], + 8728: [-0.05555, 0.44445, 0, 0, 0.5], + 8729: [-0.05555, 0.44445, 0, 0, 0.5], + 8730: [0.2, 0.8, 0, 0, 0.83334], + 8733: [0, 0.43056, 0, 0, 0.77778], + 8734: [0, 0.43056, 0, 0, 1], + 8736: [0, 0.69224, 0, 0, 0.72222], + 8739: [0.25, 0.75, 0, 0, 0.27778], + 8741: [0.25, 0.75, 0, 0, 0.5], + 8743: [0, 0.55556, 0, 0, 0.66667], + 8744: [0, 0.55556, 0, 0, 0.66667], + 8745: [0, 0.55556, 0, 0, 0.66667], + 8746: [0, 0.55556, 0, 0, 0.66667], + 8747: [0.19444, 0.69444, 0.11111, 0, 0.41667], + 8764: [-0.13313, 0.36687, 0, 0, 0.77778], + 8768: [0.19444, 0.69444, 0, 0, 0.27778], + 8771: [-0.03625, 0.46375, 0, 0, 0.77778], + 8773: [-0.022, 0.589, 0, 0, 0.778], + 8776: [-0.01688, 0.48312, 0, 0, 0.77778], + 8781: [-0.03625, 0.46375, 0, 0, 0.77778], + 8784: [-0.133, 0.673, 0, 0, 0.778], + 8801: [-0.03625, 0.46375, 0, 0, 0.77778], + 8804: [0.13597, 0.63597, 0, 0, 0.77778], + 8805: [0.13597, 0.63597, 0, 0, 0.77778], + 8810: [0.0391, 0.5391, 0, 0, 1], + 8811: [0.0391, 0.5391, 0, 0, 1], + 8826: [0.0391, 0.5391, 0, 0, 0.77778], + 8827: [0.0391, 0.5391, 0, 0, 0.77778], + 8834: [0.0391, 0.5391, 0, 0, 0.77778], + 8835: [0.0391, 0.5391, 0, 0, 0.77778], + 8838: [0.13597, 0.63597, 0, 0, 0.77778], + 8839: [0.13597, 0.63597, 0, 0, 0.77778], + 8846: [0, 0.55556, 0, 0, 0.66667], + 8849: [0.13597, 0.63597, 0, 0, 0.77778], + 8850: [0.13597, 0.63597, 0, 0, 0.77778], + 8851: [0, 0.55556, 0, 0, 0.66667], + 8852: [0, 0.55556, 0, 0, 0.66667], + 8853: [0.08333, 0.58333, 0, 0, 0.77778], + 8854: [0.08333, 0.58333, 0, 0, 0.77778], + 8855: [0.08333, 0.58333, 0, 0, 0.77778], + 8856: [0.08333, 0.58333, 0, 0, 0.77778], + 8857: [0.08333, 0.58333, 0, 0, 0.77778], + 8866: [0, 0.69444, 0, 0, 0.61111], + 8867: [0, 0.69444, 0, 0, 0.61111], + 8868: [0, 0.69444, 0, 0, 0.77778], + 8869: [0, 0.69444, 0, 0, 0.77778], + 8872: [0.249, 0.75, 0, 0, 0.867], + 8900: [-0.05555, 0.44445, 0, 0, 0.5], + 8901: [-0.05555, 0.44445, 0, 0, 0.27778], + 8902: [-0.03472, 0.46528, 0, 0, 0.5], + 8904: [0.005, 0.505, 0, 0, 0.9], + 8942: [0.03, 0.903, 0, 0, 0.278], + 8943: [-0.19, 0.313, 0, 0, 1.172], + 8945: [-0.1, 0.823, 0, 0, 1.282], + 8968: [0.25, 0.75, 0, 0, 0.44445], + 8969: [0.25, 0.75, 0, 0, 0.44445], + 8970: [0.25, 0.75, 0, 0, 0.44445], + 8971: [0.25, 0.75, 0, 0, 0.44445], + 8994: [-0.14236, 0.35764, 0, 0, 1], + 8995: [-0.14236, 0.35764, 0, 0, 1], + 9136: [0.244, 0.744, 0, 0, 0.412], + 9137: [0.244, 0.745, 0, 0, 0.412], + 9651: [0.19444, 0.69444, 0, 0, 0.88889], + 9657: [-0.03472, 0.46528, 0, 0, 0.5], + 9661: [0.19444, 0.69444, 0, 0, 0.88889], + 9667: [-0.03472, 0.46528, 0, 0, 0.5], + 9711: [0.19444, 0.69444, 0, 0, 1], + 9824: [0.12963, 0.69444, 0, 0, 0.77778], + 9825: [0.12963, 0.69444, 0, 0, 0.77778], + 9826: [0.12963, 0.69444, 0, 0, 0.77778], + 9827: [0.12963, 0.69444, 0, 0, 0.77778], + 9837: [0, 0.75, 0, 0, 0.38889], + 9838: [0.19444, 0.69444, 0, 0, 0.38889], + 9839: [0.19444, 0.69444, 0, 0, 0.38889], + 10216: [0.25, 0.75, 0, 0, 0.38889], + 10217: [0.25, 0.75, 0, 0, 0.38889], + 10222: [0.244, 0.744, 0, 0, 0.412], + 10223: [0.244, 0.745, 0, 0, 0.412], + 10229: [0.011, 0.511, 0, 0, 1.609], + 10230: [0.011, 0.511, 0, 0, 1.638], + 10231: [0.011, 0.511, 0, 0, 1.859], + 10232: [0.024, 0.525, 0, 0, 1.609], + 10233: [0.024, 0.525, 0, 0, 1.638], + 10234: [0.024, 0.525, 0, 0, 1.858], + 10236: [0.011, 0.511, 0, 0, 1.638], + 10815: [0, 0.68333, 0, 0, 0.75], + 10927: [0.13597, 0.63597, 0, 0, 0.77778], + 10928: [0.13597, 0.63597, 0, 0, 0.77778], + 57376: [0.19444, 0.69444, 0, 0, 0] + }, + 'Math-BoldItalic': { + 32: [0, 0, 0, 0, 0.25], + 48: [0, 0.44444, 0, 0, 0.575], + 49: [0, 0.44444, 0, 0, 0.575], + 50: [0, 0.44444, 0, 0, 0.575], + 51: [0.19444, 0.44444, 0, 0, 0.575], + 52: [0.19444, 0.44444, 0, 0, 0.575], + 53: [0.19444, 0.44444, 0, 0, 0.575], + 54: [0, 0.64444, 0, 0, 0.575], + 55: [0.19444, 0.44444, 0, 0, 0.575], + 56: [0, 0.64444, 0, 0, 0.575], + 57: [0.19444, 0.44444, 0, 0, 0.575], + 65: [0, 0.68611, 0, 0, 0.86944], + 66: [0, 0.68611, 0.04835, 0, 0.8664], + 67: [0, 0.68611, 0.06979, 0, 0.81694], + 68: [0, 0.68611, 0.03194, 0, 0.93812], + 69: [0, 0.68611, 0.05451, 0, 0.81007], + 70: [0, 0.68611, 0.15972, 0, 0.68889], + 71: [0, 0.68611, 0, 0, 0.88673], + 72: [0, 0.68611, 0.08229, 0, 0.98229], + 73: [0, 0.68611, 0.07778, 0, 0.51111], + 74: [0, 0.68611, 0.10069, 0, 0.63125], + 75: [0, 0.68611, 0.06979, 0, 0.97118], + 76: [0, 0.68611, 0, 0, 0.75555], + 77: [0, 0.68611, 0.11424, 0, 1.14201], + 78: [0, 0.68611, 0.11424, 0, 0.95034], + 79: [0, 0.68611, 0.03194, 0, 0.83666], + 80: [0, 0.68611, 0.15972, 0, 0.72309], + 81: [0.19444, 0.68611, 0, 0, 0.86861], + 82: [0, 0.68611, 0.00421, 0, 0.87235], + 83: [0, 0.68611, 0.05382, 0, 0.69271], + 84: [0, 0.68611, 0.15972, 0, 0.63663], + 85: [0, 0.68611, 0.11424, 0, 0.80027], + 86: [0, 0.68611, 0.25555, 0, 0.67778], + 87: [0, 0.68611, 0.15972, 0, 1.09305], + 88: [0, 0.68611, 0.07778, 0, 0.94722], + 89: [0, 0.68611, 0.25555, 0, 0.67458], + 90: [0, 0.68611, 0.06979, 0, 0.77257], + 97: [0, 0.44444, 0, 0, 0.63287], + 98: [0, 0.69444, 0, 0, 0.52083], + 99: [0, 0.44444, 0, 0, 0.51342], + 100: [0, 0.69444, 0, 0, 0.60972], + 101: [0, 0.44444, 0, 0, 0.55361], + 102: [0.19444, 0.69444, 0.11042, 0, 0.56806], + 103: [0.19444, 0.44444, 0.03704, 0, 0.5449], + 104: [0, 0.69444, 0, 0, 0.66759], + 105: [0, 0.69326, 0, 0, 0.4048], + 106: [0.19444, 0.69326, 0.0622, 0, 0.47083], + 107: [0, 0.69444, 0.01852, 0, 0.6037], + 108: [0, 0.69444, 0.0088, 0, 0.34815], + 109: [0, 0.44444, 0, 0, 1.0324], + 110: [0, 0.44444, 0, 0, 0.71296], + 111: [0, 0.44444, 0, 0, 0.58472], + 112: [0.19444, 0.44444, 0, 0, 0.60092], + 113: [0.19444, 0.44444, 0.03704, 0, 0.54213], + 114: [0, 0.44444, 0.03194, 0, 0.5287], + 115: [0, 0.44444, 0, 0, 0.53125], + 116: [0, 0.63492, 0, 0, 0.41528], + 117: [0, 0.44444, 0, 0, 0.68102], + 118: [0, 0.44444, 0.03704, 0, 0.56666], + 119: [0, 0.44444, 0.02778, 0, 0.83148], + 120: [0, 0.44444, 0, 0, 0.65903], + 121: [0.19444, 0.44444, 0.03704, 0, 0.59028], + 122: [0, 0.44444, 0.04213, 0, 0.55509], + 160: [0, 0, 0, 0, 0.25], + 915: [0, 0.68611, 0.15972, 0, 0.65694], + 916: [0, 0.68611, 0, 0, 0.95833], + 920: [0, 0.68611, 0.03194, 0, 0.86722], + 923: [0, 0.68611, 0, 0, 0.80555], + 926: [0, 0.68611, 0.07458, 0, 0.84125], + 928: [0, 0.68611, 0.08229, 0, 0.98229], + 931: [0, 0.68611, 0.05451, 0, 0.88507], + 933: [0, 0.68611, 0.15972, 0, 0.67083], + 934: [0, 0.68611, 0, 0, 0.76666], + 936: [0, 0.68611, 0.11653, 0, 0.71402], + 937: [0, 0.68611, 0.04835, 0, 0.8789], + 945: [0, 0.44444, 0, 0, 0.76064], + 946: [0.19444, 0.69444, 0.03403, 0, 0.65972], + 947: [0.19444, 0.44444, 0.06389, 0, 0.59003], + 948: [0, 0.69444, 0.03819, 0, 0.52222], + 949: [0, 0.44444, 0, 0, 0.52882], + 950: [0.19444, 0.69444, 0.06215, 0, 0.50833], + 951: [0.19444, 0.44444, 0.03704, 0, 0.6], + 952: [0, 0.69444, 0.03194, 0, 0.5618], + 953: [0, 0.44444, 0, 0, 0.41204], + 954: [0, 0.44444, 0, 0, 0.66759], + 955: [0, 0.69444, 0, 0, 0.67083], + 956: [0.19444, 0.44444, 0, 0, 0.70787], + 957: [0, 0.44444, 0.06898, 0, 0.57685], + 958: [0.19444, 0.69444, 0.03021, 0, 0.50833], + 959: [0, 0.44444, 0, 0, 0.58472], + 960: [0, 0.44444, 0.03704, 0, 0.68241], + 961: [0.19444, 0.44444, 0, 0, 0.6118], + 962: [0.09722, 0.44444, 0.07917, 0, 0.42361], + 963: [0, 0.44444, 0.03704, 0, 0.68588], + 964: [0, 0.44444, 0.13472, 0, 0.52083], + 965: [0, 0.44444, 0.03704, 0, 0.63055], + 966: [0.19444, 0.44444, 0, 0, 0.74722], + 967: [0.19444, 0.44444, 0, 0, 0.71805], + 968: [0.19444, 0.69444, 0.03704, 0, 0.75833], + 969: [0, 0.44444, 0.03704, 0, 0.71782], + 977: [0, 0.69444, 0, 0, 0.69155], + 981: [0.19444, 0.69444, 0, 0, 0.7125], + 982: [0, 0.44444, 0.03194, 0, 0.975], + 1009: [0.19444, 0.44444, 0, 0, 0.6118], + 1013: [0, 0.44444, 0, 0, 0.48333], + 57649: [0, 0.44444, 0, 0, 0.39352], + 57911: [0.19444, 0.44444, 0, 0, 0.43889] + }, + 'Math-Italic': { + 32: [0, 0, 0, 0, 0.25], + 48: [0, 0.43056, 0, 0, 0.5], + 49: [0, 0.43056, 0, 0, 0.5], + 50: [0, 0.43056, 0, 0, 0.5], + 51: [0.19444, 0.43056, 0, 0, 0.5], + 52: [0.19444, 0.43056, 0, 0, 0.5], + 53: [0.19444, 0.43056, 0, 0, 0.5], + 54: [0, 0.64444, 0, 0, 0.5], + 55: [0.19444, 0.43056, 0, 0, 0.5], + 56: [0, 0.64444, 0, 0, 0.5], + 57: [0.19444, 0.43056, 0, 0, 0.5], + 65: [0, 0.68333, 0, 0.13889, 0.75], + 66: [0, 0.68333, 0.05017, 0.08334, 0.75851], + 67: [0, 0.68333, 0.07153, 0.08334, 0.71472], + 68: [0, 0.68333, 0.02778, 0.05556, 0.82792], + 69: [0, 0.68333, 0.05764, 0.08334, 0.7382], + 70: [0, 0.68333, 0.13889, 0.08334, 0.64306], + 71: [0, 0.68333, 0, 0.08334, 0.78625], + 72: [0, 0.68333, 0.08125, 0.05556, 0.83125], + 73: [0, 0.68333, 0.07847, 0.11111, 0.43958], + 74: [0, 0.68333, 0.09618, 0.16667, 0.55451], + 75: [0, 0.68333, 0.07153, 0.05556, 0.84931], + 76: [0, 0.68333, 0, 0.02778, 0.68056], + 77: [0, 0.68333, 0.10903, 0.08334, 0.97014], + 78: [0, 0.68333, 0.10903, 0.08334, 0.80347], + 79: [0, 0.68333, 0.02778, 0.08334, 0.76278], + 80: [0, 0.68333, 0.13889, 0.08334, 0.64201], + 81: [0.19444, 0.68333, 0, 0.08334, 0.79056], + 82: [0, 0.68333, 0.00773, 0.08334, 0.75929], + 83: [0, 0.68333, 0.05764, 0.08334, 0.6132], + 84: [0, 0.68333, 0.13889, 0.08334, 0.58438], + 85: [0, 0.68333, 0.10903, 0.02778, 0.68278], + 86: [0, 0.68333, 0.22222, 0, 0.58333], + 87: [0, 0.68333, 0.13889, 0, 0.94445], + 88: [0, 0.68333, 0.07847, 0.08334, 0.82847], + 89: [0, 0.68333, 0.22222, 0, 0.58056], + 90: [0, 0.68333, 0.07153, 0.08334, 0.68264], + 97: [0, 0.43056, 0, 0, 0.52859], + 98: [0, 0.69444, 0, 0, 0.42917], + 99: [0, 0.43056, 0, 0.05556, 0.43276], + 100: [0, 0.69444, 0, 0.16667, 0.52049], + 101: [0, 0.43056, 0, 0.05556, 0.46563], + 102: [0.19444, 0.69444, 0.10764, 0.16667, 0.48959], + 103: [0.19444, 0.43056, 0.03588, 0.02778, 0.47697], + 104: [0, 0.69444, 0, 0, 0.57616], + 105: [0, 0.65952, 0, 0, 0.34451], + 106: [0.19444, 0.65952, 0.05724, 0, 0.41181], + 107: [0, 0.69444, 0.03148, 0, 0.5206], + 108: [0, 0.69444, 0.01968, 0.08334, 0.29838], + 109: [0, 0.43056, 0, 0, 0.87801], + 110: [0, 0.43056, 0, 0, 0.60023], + 111: [0, 0.43056, 0, 0.05556, 0.48472], + 112: [0.19444, 0.43056, 0, 0.08334, 0.50313], + 113: [0.19444, 0.43056, 0.03588, 0.08334, 0.44641], + 114: [0, 0.43056, 0.02778, 0.05556, 0.45116], + 115: [0, 0.43056, 0, 0.05556, 0.46875], + 116: [0, 0.61508, 0, 0.08334, 0.36111], + 117: [0, 0.43056, 0, 0.02778, 0.57246], + 118: [0, 0.43056, 0.03588, 0.02778, 0.48472], + 119: [0, 0.43056, 0.02691, 0.08334, 0.71592], + 120: [0, 0.43056, 0, 0.02778, 0.57153], + 121: [0.19444, 0.43056, 0.03588, 0.05556, 0.49028], + 122: [0, 0.43056, 0.04398, 0.05556, 0.46505], + 160: [0, 0, 0, 0, 0.25], + 915: [0, 0.68333, 0.13889, 0.08334, 0.61528], + 916: [0, 0.68333, 0, 0.16667, 0.83334], + 920: [0, 0.68333, 0.02778, 0.08334, 0.76278], + 923: [0, 0.68333, 0, 0.16667, 0.69445], + 926: [0, 0.68333, 0.07569, 0.08334, 0.74236], + 928: [0, 0.68333, 0.08125, 0.05556, 0.83125], + 931: [0, 0.68333, 0.05764, 0.08334, 0.77986], + 933: [0, 0.68333, 0.13889, 0.05556, 0.58333], + 934: [0, 0.68333, 0, 0.08334, 0.66667], + 936: [0, 0.68333, 0.11, 0.05556, 0.61222], + 937: [0, 0.68333, 0.05017, 0.08334, 0.7724], + 945: [0, 0.43056, 0.0037, 0.02778, 0.6397], + 946: [0.19444, 0.69444, 0.05278, 0.08334, 0.56563], + 947: [0.19444, 0.43056, 0.05556, 0, 0.51773], + 948: [0, 0.69444, 0.03785, 0.05556, 0.44444], + 949: [0, 0.43056, 0, 0.08334, 0.46632], + 950: [0.19444, 0.69444, 0.07378, 0.08334, 0.4375], + 951: [0.19444, 0.43056, 0.03588, 0.05556, 0.49653], + 952: [0, 0.69444, 0.02778, 0.08334, 0.46944], + 953: [0, 0.43056, 0, 0.05556, 0.35394], + 954: [0, 0.43056, 0, 0, 0.57616], + 955: [0, 0.69444, 0, 0, 0.58334], + 956: [0.19444, 0.43056, 0, 0.02778, 0.60255], + 957: [0, 0.43056, 0.06366, 0.02778, 0.49398], + 958: [0.19444, 0.69444, 0.04601, 0.11111, 0.4375], + 959: [0, 0.43056, 0, 0.05556, 0.48472], + 960: [0, 0.43056, 0.03588, 0, 0.57003], + 961: [0.19444, 0.43056, 0, 0.08334, 0.51702], + 962: [0.09722, 0.43056, 0.07986, 0.08334, 0.36285], + 963: [0, 0.43056, 0.03588, 0, 0.57141], + 964: [0, 0.43056, 0.1132, 0.02778, 0.43715], + 965: [0, 0.43056, 0.03588, 0.02778, 0.54028], + 966: [0.19444, 0.43056, 0, 0.08334, 0.65417], + 967: [0.19444, 0.43056, 0, 0.05556, 0.62569], + 968: [0.19444, 0.69444, 0.03588, 0.11111, 0.65139], + 969: [0, 0.43056, 0.03588, 0, 0.62245], + 977: [0, 0.69444, 0, 0.08334, 0.59144], + 981: [0.19444, 0.69444, 0, 0.08334, 0.59583], + 982: [0, 0.43056, 0.02778, 0, 0.82813], + 1009: [0.19444, 0.43056, 0, 0.08334, 0.51702], + 1013: [0, 0.43056, 0, 0.05556, 0.4059], + 57649: [0, 0.43056, 0, 0.02778, 0.32246], + 57911: [0.19444, 0.43056, 0, 0.08334, 0.38403] + }, + 'SansSerif-Bold': { + 32: [0, 0, 0, 0, 0.25], + 33: [0, 0.69444, 0, 0, 0.36667], + 34: [0, 0.69444, 0, 0, 0.55834], + 35: [0.19444, 0.69444, 0, 0, 0.91667], + 36: [0.05556, 0.75, 0, 0, 0.55], + 37: [0.05556, 0.75, 0, 0, 1.02912], + 38: [0, 0.69444, 0, 0, 0.83056], + 39: [0, 0.69444, 0, 0, 0.30556], + 40: [0.25, 0.75, 0, 0, 0.42778], + 41: [0.25, 0.75, 0, 0, 0.42778], + 42: [0, 0.75, 0, 0, 0.55], + 43: [0.11667, 0.61667, 0, 0, 0.85556], + 44: [0.10556, 0.13056, 0, 0, 0.30556], + 45: [0, 0.45833, 0, 0, 0.36667], + 46: [0, 0.13056, 0, 0, 0.30556], + 47: [0.25, 0.75, 0, 0, 0.55], + 48: [0, 0.69444, 0, 0, 0.55], + 49: [0, 0.69444, 0, 0, 0.55], + 50: [0, 0.69444, 0, 0, 0.55], + 51: [0, 0.69444, 0, 0, 0.55], + 52: [0, 0.69444, 0, 0, 0.55], + 53: [0, 0.69444, 0, 0, 0.55], + 54: [0, 0.69444, 0, 0, 0.55], + 55: [0, 0.69444, 0, 0, 0.55], + 56: [0, 0.69444, 0, 0, 0.55], + 57: [0, 0.69444, 0, 0, 0.55], + 58: [0, 0.45833, 0, 0, 0.30556], + 59: [0.10556, 0.45833, 0, 0, 0.30556], + 61: [-0.09375, 0.40625, 0, 0, 0.85556], + 63: [0, 0.69444, 0, 0, 0.51945], + 64: [0, 0.69444, 0, 0, 0.73334], + 65: [0, 0.69444, 0, 0, 0.73334], + 66: [0, 0.69444, 0, 0, 0.73334], + 67: [0, 0.69444, 0, 0, 0.70278], + 68: [0, 0.69444, 0, 0, 0.79445], + 69: [0, 0.69444, 0, 0, 0.64167], + 70: [0, 0.69444, 0, 0, 0.61111], + 71: [0, 0.69444, 0, 0, 0.73334], + 72: [0, 0.69444, 0, 0, 0.79445], + 73: [0, 0.69444, 0, 0, 0.33056], + 74: [0, 0.69444, 0, 0, 0.51945], + 75: [0, 0.69444, 0, 0, 0.76389], + 76: [0, 0.69444, 0, 0, 0.58056], + 77: [0, 0.69444, 0, 0, 0.97778], + 78: [0, 0.69444, 0, 0, 0.79445], + 79: [0, 0.69444, 0, 0, 0.79445], + 80: [0, 0.69444, 0, 0, 0.70278], + 81: [0.10556, 0.69444, 0, 0, 0.79445], + 82: [0, 0.69444, 0, 0, 0.70278], + 83: [0, 0.69444, 0, 0, 0.61111], + 84: [0, 0.69444, 0, 0, 0.73334], + 85: [0, 0.69444, 0, 0, 0.76389], + 86: [0, 0.69444, 0.01528, 0, 0.73334], + 87: [0, 0.69444, 0.01528, 0, 1.03889], + 88: [0, 0.69444, 0, 0, 0.73334], + 89: [0, 0.69444, 0.0275, 0, 0.73334], + 90: [0, 0.69444, 0, 0, 0.67223], + 91: [0.25, 0.75, 0, 0, 0.34306], + 93: [0.25, 0.75, 0, 0, 0.34306], + 94: [0, 0.69444, 0, 0, 0.55], + 95: [0.35, 0.10833, 0.03056, 0, 0.55], + 97: [0, 0.45833, 0, 0, 0.525], + 98: [0, 0.69444, 0, 0, 0.56111], + 99: [0, 0.45833, 0, 0, 0.48889], + 100: [0, 0.69444, 0, 0, 0.56111], + 101: [0, 0.45833, 0, 0, 0.51111], + 102: [0, 0.69444, 0.07639, 0, 0.33611], + 103: [0.19444, 0.45833, 0.01528, 0, 0.55], + 104: [0, 0.69444, 0, 0, 0.56111], + 105: [0, 0.69444, 0, 0, 0.25556], + 106: [0.19444, 0.69444, 0, 0, 0.28611], + 107: [0, 0.69444, 0, 0, 0.53056], + 108: [0, 0.69444, 0, 0, 0.25556], + 109: [0, 0.45833, 0, 0, 0.86667], + 110: [0, 0.45833, 0, 0, 0.56111], + 111: [0, 0.45833, 0, 0, 0.55], + 112: [0.19444, 0.45833, 0, 0, 0.56111], + 113: [0.19444, 0.45833, 0, 0, 0.56111], + 114: [0, 0.45833, 0.01528, 0, 0.37222], + 115: [0, 0.45833, 0, 0, 0.42167], + 116: [0, 0.58929, 0, 0, 0.40417], + 117: [0, 0.45833, 0, 0, 0.56111], + 118: [0, 0.45833, 0.01528, 0, 0.5], + 119: [0, 0.45833, 0.01528, 0, 0.74445], + 120: [0, 0.45833, 0, 0, 0.5], + 121: [0.19444, 0.45833, 0.01528, 0, 0.5], + 122: [0, 0.45833, 0, 0, 0.47639], + 126: [0.35, 0.34444, 0, 0, 0.55], + 160: [0, 0, 0, 0, 0.25], + 168: [0, 0.69444, 0, 0, 0.55], + 176: [0, 0.69444, 0, 0, 0.73334], + 180: [0, 0.69444, 0, 0, 0.55], + 184: [0.17014, 0, 0, 0, 0.48889], + 305: [0, 0.45833, 0, 0, 0.25556], + 567: [0.19444, 0.45833, 0, 0, 0.28611], + 710: [0, 0.69444, 0, 0, 0.55], + 711: [0, 0.63542, 0, 0, 0.55], + 713: [0, 0.63778, 0, 0, 0.55], + 728: [0, 0.69444, 0, 0, 0.55], + 729: [0, 0.69444, 0, 0, 0.30556], + 730: [0, 0.69444, 0, 0, 0.73334], + 732: [0, 0.69444, 0, 0, 0.55], + 733: [0, 0.69444, 0, 0, 0.55], + 915: [0, 0.69444, 0, 0, 0.58056], + 916: [0, 0.69444, 0, 0, 0.91667], + 920: [0, 0.69444, 0, 0, 0.85556], + 923: [0, 0.69444, 0, 0, 0.67223], + 926: [0, 0.69444, 0, 0, 0.73334], + 928: [0, 0.69444, 0, 0, 0.79445], + 931: [0, 0.69444, 0, 0, 0.79445], + 933: [0, 0.69444, 0, 0, 0.85556], + 934: [0, 0.69444, 0, 0, 0.79445], + 936: [0, 0.69444, 0, 0, 0.85556], + 937: [0, 0.69444, 0, 0, 0.79445], + 8211: [0, 0.45833, 0.03056, 0, 0.55], + 8212: [0, 0.45833, 0.03056, 0, 1.10001], + 8216: [0, 0.69444, 0, 0, 0.30556], + 8217: [0, 0.69444, 0, 0, 0.30556], + 8220: [0, 0.69444, 0, 0, 0.55834], + 8221: [0, 0.69444, 0, 0, 0.55834] + }, + 'SansSerif-Italic': { + 32: [0, 0, 0, 0, 0.25], + 33: [0, 0.69444, 0.05733, 0, 0.31945], + 34: [0, 0.69444, 0.00316, 0, 0.5], + 35: [0.19444, 0.69444, 0.05087, 0, 0.83334], + 36: [0.05556, 0.75, 0.11156, 0, 0.5], + 37: [0.05556, 0.75, 0.03126, 0, 0.83334], + 38: [0, 0.69444, 0.03058, 0, 0.75834], + 39: [0, 0.69444, 0.07816, 0, 0.27778], + 40: [0.25, 0.75, 0.13164, 0, 0.38889], + 41: [0.25, 0.75, 0.02536, 0, 0.38889], + 42: [0, 0.75, 0.11775, 0, 0.5], + 43: [0.08333, 0.58333, 0.02536, 0, 0.77778], + 44: [0.125, 0.08333, 0, 0, 0.27778], + 45: [0, 0.44444, 0.01946, 0, 0.33333], + 46: [0, 0.08333, 0, 0, 0.27778], + 47: [0.25, 0.75, 0.13164, 0, 0.5], + 48: [0, 0.65556, 0.11156, 0, 0.5], + 49: [0, 0.65556, 0.11156, 0, 0.5], + 50: [0, 0.65556, 0.11156, 0, 0.5], + 51: [0, 0.65556, 0.11156, 0, 0.5], + 52: [0, 0.65556, 0.11156, 0, 0.5], + 53: [0, 0.65556, 0.11156, 0, 0.5], + 54: [0, 0.65556, 0.11156, 0, 0.5], + 55: [0, 0.65556, 0.11156, 0, 0.5], + 56: [0, 0.65556, 0.11156, 0, 0.5], + 57: [0, 0.65556, 0.11156, 0, 0.5], + 58: [0, 0.44444, 0.02502, 0, 0.27778], + 59: [0.125, 0.44444, 0.02502, 0, 0.27778], + 61: [-0.13, 0.37, 0.05087, 0, 0.77778], + 63: [0, 0.69444, 0.11809, 0, 0.47222], + 64: [0, 0.69444, 0.07555, 0, 0.66667], + 65: [0, 0.69444, 0, 0, 0.66667], + 66: [0, 0.69444, 0.08293, 0, 0.66667], + 67: [0, 0.69444, 0.11983, 0, 0.63889], + 68: [0, 0.69444, 0.07555, 0, 0.72223], + 69: [0, 0.69444, 0.11983, 0, 0.59722], + 70: [0, 0.69444, 0.13372, 0, 0.56945], + 71: [0, 0.69444, 0.11983, 0, 0.66667], + 72: [0, 0.69444, 0.08094, 0, 0.70834], + 73: [0, 0.69444, 0.13372, 0, 0.27778], + 74: [0, 0.69444, 0.08094, 0, 0.47222], + 75: [0, 0.69444, 0.11983, 0, 0.69445], + 76: [0, 0.69444, 0, 0, 0.54167], + 77: [0, 0.69444, 0.08094, 0, 0.875], + 78: [0, 0.69444, 0.08094, 0, 0.70834], + 79: [0, 0.69444, 0.07555, 0, 0.73611], + 80: [0, 0.69444, 0.08293, 0, 0.63889], + 81: [0.125, 0.69444, 0.07555, 0, 0.73611], + 82: [0, 0.69444, 0.08293, 0, 0.64584], + 83: [0, 0.69444, 0.09205, 0, 0.55556], + 84: [0, 0.69444, 0.13372, 0, 0.68056], + 85: [0, 0.69444, 0.08094, 0, 0.6875], + 86: [0, 0.69444, 0.1615, 0, 0.66667], + 87: [0, 0.69444, 0.1615, 0, 0.94445], + 88: [0, 0.69444, 0.13372, 0, 0.66667], + 89: [0, 0.69444, 0.17261, 0, 0.66667], + 90: [0, 0.69444, 0.11983, 0, 0.61111], + 91: [0.25, 0.75, 0.15942, 0, 0.28889], + 93: [0.25, 0.75, 0.08719, 0, 0.28889], + 94: [0, 0.69444, 0.0799, 0, 0.5], + 95: [0.35, 0.09444, 0.08616, 0, 0.5], + 97: [0, 0.44444, 0.00981, 0, 0.48056], + 98: [0, 0.69444, 0.03057, 0, 0.51667], + 99: [0, 0.44444, 0.08336, 0, 0.44445], + 100: [0, 0.69444, 0.09483, 0, 0.51667], + 101: [0, 0.44444, 0.06778, 0, 0.44445], + 102: [0, 0.69444, 0.21705, 0, 0.30556], + 103: [0.19444, 0.44444, 0.10836, 0, 0.5], + 104: [0, 0.69444, 0.01778, 0, 0.51667], + 105: [0, 0.67937, 0.09718, 0, 0.23889], + 106: [0.19444, 0.67937, 0.09162, 0, 0.26667], + 107: [0, 0.69444, 0.08336, 0, 0.48889], + 108: [0, 0.69444, 0.09483, 0, 0.23889], + 109: [0, 0.44444, 0.01778, 0, 0.79445], + 110: [0, 0.44444, 0.01778, 0, 0.51667], + 111: [0, 0.44444, 0.06613, 0, 0.5], + 112: [0.19444, 0.44444, 0.0389, 0, 0.51667], + 113: [0.19444, 0.44444, 0.04169, 0, 0.51667], + 114: [0, 0.44444, 0.10836, 0, 0.34167], + 115: [0, 0.44444, 0.0778, 0, 0.38333], + 116: [0, 0.57143, 0.07225, 0, 0.36111], + 117: [0, 0.44444, 0.04169, 0, 0.51667], + 118: [0, 0.44444, 0.10836, 0, 0.46111], + 119: [0, 0.44444, 0.10836, 0, 0.68334], + 120: [0, 0.44444, 0.09169, 0, 0.46111], + 121: [0.19444, 0.44444, 0.10836, 0, 0.46111], + 122: [0, 0.44444, 0.08752, 0, 0.43472], + 126: [0.35, 0.32659, 0.08826, 0, 0.5], + 160: [0, 0, 0, 0, 0.25], + 168: [0, 0.67937, 0.06385, 0, 0.5], + 176: [0, 0.69444, 0, 0, 0.73752], + 184: [0.17014, 0, 0, 0, 0.44445], + 305: [0, 0.44444, 0.04169, 0, 0.23889], + 567: [0.19444, 0.44444, 0.04169, 0, 0.26667], + 710: [0, 0.69444, 0.0799, 0, 0.5], + 711: [0, 0.63194, 0.08432, 0, 0.5], + 713: [0, 0.60889, 0.08776, 0, 0.5], + 714: [0, 0.69444, 0.09205, 0, 0.5], + 715: [0, 0.69444, 0, 0, 0.5], + 728: [0, 0.69444, 0.09483, 0, 0.5], + 729: [0, 0.67937, 0.07774, 0, 0.27778], + 730: [0, 0.69444, 0, 0, 0.73752], + 732: [0, 0.67659, 0.08826, 0, 0.5], + 733: [0, 0.69444, 0.09205, 0, 0.5], + 915: [0, 0.69444, 0.13372, 0, 0.54167], + 916: [0, 0.69444, 0, 0, 0.83334], + 920: [0, 0.69444, 0.07555, 0, 0.77778], + 923: [0, 0.69444, 0, 0, 0.61111], + 926: [0, 0.69444, 0.12816, 0, 0.66667], + 928: [0, 0.69444, 0.08094, 0, 0.70834], + 931: [0, 0.69444, 0.11983, 0, 0.72222], + 933: [0, 0.69444, 0.09031, 0, 0.77778], + 934: [0, 0.69444, 0.04603, 0, 0.72222], + 936: [0, 0.69444, 0.09031, 0, 0.77778], + 937: [0, 0.69444, 0.08293, 0, 0.72222], + 8211: [0, 0.44444, 0.08616, 0, 0.5], + 8212: [0, 0.44444, 0.08616, 0, 1], + 8216: [0, 0.69444, 0.07816, 0, 0.27778], + 8217: [0, 0.69444, 0.07816, 0, 0.27778], + 8220: [0, 0.69444, 0.14205, 0, 0.5], + 8221: [0, 0.69444, 0.00316, 0, 0.5] + }, + 'SansSerif-Regular': { + 32: [0, 0, 0, 0, 0.25], + 33: [0, 0.69444, 0, 0, 0.31945], + 34: [0, 0.69444, 0, 0, 0.5], + 35: [0.19444, 0.69444, 0, 0, 0.83334], + 36: [0.05556, 0.75, 0, 0, 0.5], + 37: [0.05556, 0.75, 0, 0, 0.83334], + 38: [0, 0.69444, 0, 0, 0.75834], + 39: [0, 0.69444, 0, 0, 0.27778], + 40: [0.25, 0.75, 0, 0, 0.38889], + 41: [0.25, 0.75, 0, 0, 0.38889], + 42: [0, 0.75, 0, 0, 0.5], + 43: [0.08333, 0.58333, 0, 0, 0.77778], + 44: [0.125, 0.08333, 0, 0, 0.27778], + 45: [0, 0.44444, 0, 0, 0.33333], + 46: [0, 0.08333, 0, 0, 0.27778], + 47: [0.25, 0.75, 0, 0, 0.5], + 48: [0, 0.65556, 0, 0, 0.5], + 49: [0, 0.65556, 0, 0, 0.5], + 50: [0, 0.65556, 0, 0, 0.5], + 51: [0, 0.65556, 0, 0, 0.5], + 52: [0, 0.65556, 0, 0, 0.5], + 53: [0, 0.65556, 0, 0, 0.5], + 54: [0, 0.65556, 0, 0, 0.5], + 55: [0, 0.65556, 0, 0, 0.5], + 56: [0, 0.65556, 0, 0, 0.5], + 57: [0, 0.65556, 0, 0, 0.5], + 58: [0, 0.44444, 0, 0, 0.27778], + 59: [0.125, 0.44444, 0, 0, 0.27778], + 61: [-0.13, 0.37, 0, 0, 0.77778], + 63: [0, 0.69444, 0, 0, 0.47222], + 64: [0, 0.69444, 0, 0, 0.66667], + 65: [0, 0.69444, 0, 0, 0.66667], + 66: [0, 0.69444, 0, 0, 0.66667], + 67: [0, 0.69444, 0, 0, 0.63889], + 68: [0, 0.69444, 0, 0, 0.72223], + 69: [0, 0.69444, 0, 0, 0.59722], + 70: [0, 0.69444, 0, 0, 0.56945], + 71: [0, 0.69444, 0, 0, 0.66667], + 72: [0, 0.69444, 0, 0, 0.70834], + 73: [0, 0.69444, 0, 0, 0.27778], + 74: [0, 0.69444, 0, 0, 0.47222], + 75: [0, 0.69444, 0, 0, 0.69445], + 76: [0, 0.69444, 0, 0, 0.54167], + 77: [0, 0.69444, 0, 0, 0.875], + 78: [0, 0.69444, 0, 0, 0.70834], + 79: [0, 0.69444, 0, 0, 0.73611], + 80: [0, 0.69444, 0, 0, 0.63889], + 81: [0.125, 0.69444, 0, 0, 0.73611], + 82: [0, 0.69444, 0, 0, 0.64584], + 83: [0, 0.69444, 0, 0, 0.55556], + 84: [0, 0.69444, 0, 0, 0.68056], + 85: [0, 0.69444, 0, 0, 0.6875], + 86: [0, 0.69444, 0.01389, 0, 0.66667], + 87: [0, 0.69444, 0.01389, 0, 0.94445], + 88: [0, 0.69444, 0, 0, 0.66667], + 89: [0, 0.69444, 0.025, 0, 0.66667], + 90: [0, 0.69444, 0, 0, 0.61111], + 91: [0.25, 0.75, 0, 0, 0.28889], + 93: [0.25, 0.75, 0, 0, 0.28889], + 94: [0, 0.69444, 0, 0, 0.5], + 95: [0.35, 0.09444, 0.02778, 0, 0.5], + 97: [0, 0.44444, 0, 0, 0.48056], + 98: [0, 0.69444, 0, 0, 0.51667], + 99: [0, 0.44444, 0, 0, 0.44445], + 100: [0, 0.69444, 0, 0, 0.51667], + 101: [0, 0.44444, 0, 0, 0.44445], + 102: [0, 0.69444, 0.06944, 0, 0.30556], + 103: [0.19444, 0.44444, 0.01389, 0, 0.5], + 104: [0, 0.69444, 0, 0, 0.51667], + 105: [0, 0.67937, 0, 0, 0.23889], + 106: [0.19444, 0.67937, 0, 0, 0.26667], + 107: [0, 0.69444, 0, 0, 0.48889], + 108: [0, 0.69444, 0, 0, 0.23889], + 109: [0, 0.44444, 0, 0, 0.79445], + 110: [0, 0.44444, 0, 0, 0.51667], + 111: [0, 0.44444, 0, 0, 0.5], + 112: [0.19444, 0.44444, 0, 0, 0.51667], + 113: [0.19444, 0.44444, 0, 0, 0.51667], + 114: [0, 0.44444, 0.01389, 0, 0.34167], + 115: [0, 0.44444, 0, 0, 0.38333], + 116: [0, 0.57143, 0, 0, 0.36111], + 117: [0, 0.44444, 0, 0, 0.51667], + 118: [0, 0.44444, 0.01389, 0, 0.46111], + 119: [0, 0.44444, 0.01389, 0, 0.68334], + 120: [0, 0.44444, 0, 0, 0.46111], + 121: [0.19444, 0.44444, 0.01389, 0, 0.46111], + 122: [0, 0.44444, 0, 0, 0.43472], + 126: [0.35, 0.32659, 0, 0, 0.5], + 160: [0, 0, 0, 0, 0.25], + 168: [0, 0.67937, 0, 0, 0.5], + 176: [0, 0.69444, 0, 0, 0.66667], + 184: [0.17014, 0, 0, 0, 0.44445], + 305: [0, 0.44444, 0, 0, 0.23889], + 567: [0.19444, 0.44444, 0, 0, 0.26667], + 710: [0, 0.69444, 0, 0, 0.5], + 711: [0, 0.63194, 0, 0, 0.5], + 713: [0, 0.60889, 0, 0, 0.5], + 714: [0, 0.69444, 0, 0, 0.5], + 715: [0, 0.69444, 0, 0, 0.5], + 728: [0, 0.69444, 0, 0, 0.5], + 729: [0, 0.67937, 0, 0, 0.27778], + 730: [0, 0.69444, 0, 0, 0.66667], + 732: [0, 0.67659, 0, 0, 0.5], + 733: [0, 0.69444, 0, 0, 0.5], + 915: [0, 0.69444, 0, 0, 0.54167], + 916: [0, 0.69444, 0, 0, 0.83334], + 920: [0, 0.69444, 0, 0, 0.77778], + 923: [0, 0.69444, 0, 0, 0.61111], + 926: [0, 0.69444, 0, 0, 0.66667], + 928: [0, 0.69444, 0, 0, 0.70834], + 931: [0, 0.69444, 0, 0, 0.72222], + 933: [0, 0.69444, 0, 0, 0.77778], + 934: [0, 0.69444, 0, 0, 0.72222], + 936: [0, 0.69444, 0, 0, 0.77778], + 937: [0, 0.69444, 0, 0, 0.72222], + 8211: [0, 0.44444, 0.02778, 0, 0.5], + 8212: [0, 0.44444, 0.02778, 0, 1], + 8216: [0, 0.69444, 0, 0, 0.27778], + 8217: [0, 0.69444, 0, 0, 0.27778], + 8220: [0, 0.69444, 0, 0, 0.5], + 8221: [0, 0.69444, 0, 0, 0.5] + }, + 'Script-Regular': { + 32: [0, 0, 0, 0, 0.25], + 65: [0, 0.7, 0.22925, 0, 0.80253], + 66: [0, 0.7, 0.04087, 0, 0.90757], + 67: [0, 0.7, 0.1689, 0, 0.66619], + 68: [0, 0.7, 0.09371, 0, 0.77443], + 69: [0, 0.7, 0.18583, 0, 0.56162], + 70: [0, 0.7, 0.13634, 0, 0.89544], + 71: [0, 0.7, 0.17322, 0, 0.60961], + 72: [0, 0.7, 0.29694, 0, 0.96919], + 73: [0, 0.7, 0.19189, 0, 0.80907], + 74: [0.27778, 0.7, 0.19189, 0, 1.05159], + 75: [0, 0.7, 0.31259, 0, 0.91364], + 76: [0, 0.7, 0.19189, 0, 0.87373], + 77: [0, 0.7, 0.15981, 0, 1.08031], + 78: [0, 0.7, 0.3525, 0, 0.9015], + 79: [0, 0.7, 0.08078, 0, 0.73787], + 80: [0, 0.7, 0.08078, 0, 1.01262], + 81: [0, 0.7, 0.03305, 0, 0.88282], + 82: [0, 0.7, 0.06259, 0, 0.85], + 83: [0, 0.7, 0.19189, 0, 0.86767], + 84: [0, 0.7, 0.29087, 0, 0.74697], + 85: [0, 0.7, 0.25815, 0, 0.79996], + 86: [0, 0.7, 0.27523, 0, 0.62204], + 87: [0, 0.7, 0.27523, 0, 0.80532], + 88: [0, 0.7, 0.26006, 0, 0.94445], + 89: [0, 0.7, 0.2939, 0, 0.70961], + 90: [0, 0.7, 0.24037, 0, 0.8212], + 160: [0, 0, 0, 0, 0.25] + }, + 'Size1-Regular': { + 32: [0, 0, 0, 0, 0.25], + 40: [0.35001, 0.85, 0, 0, 0.45834], + 41: [0.35001, 0.85, 0, 0, 0.45834], + 47: [0.35001, 0.85, 0, 0, 0.57778], + 91: [0.35001, 0.85, 0, 0, 0.41667], + 92: [0.35001, 0.85, 0, 0, 0.57778], + 93: [0.35001, 0.85, 0, 0, 0.41667], + 123: [0.35001, 0.85, 0, 0, 0.58334], + 125: [0.35001, 0.85, 0, 0, 0.58334], + 160: [0, 0, 0, 0, 0.25], + 710: [0, 0.72222, 0, 0, 0.55556], + 732: [0, 0.72222, 0, 0, 0.55556], + 770: [0, 0.72222, 0, 0, 0.55556], + 771: [0, 0.72222, 0, 0, 0.55556], + 8214: [-99e-5, 0.601, 0, 0, 0.77778], + 8593: [1e-5, 0.6, 0, 0, 0.66667], + 8595: [1e-5, 0.6, 0, 0, 0.66667], + 8657: [1e-5, 0.6, 0, 0, 0.77778], + 8659: [1e-5, 0.6, 0, 0, 0.77778], + 8719: [0.25001, 0.75, 0, 0, 0.94445], + 8720: [0.25001, 0.75, 0, 0, 0.94445], + 8721: [0.25001, 0.75, 0, 0, 1.05556], + 8730: [0.35001, 0.85, 0, 0, 1], + 8739: [-0.00599, 0.606, 0, 0, 0.33333], + 8741: [-0.00599, 0.606, 0, 0, 0.55556], + 8747: [0.30612, 0.805, 0.19445, 0, 0.47222], + 8748: [0.306, 0.805, 0.19445, 0, 0.47222], + 8749: [0.306, 0.805, 0.19445, 0, 0.47222], + 8750: [0.30612, 0.805, 0.19445, 0, 0.47222], + 8896: [0.25001, 0.75, 0, 0, 0.83334], + 8897: [0.25001, 0.75, 0, 0, 0.83334], + 8898: [0.25001, 0.75, 0, 0, 0.83334], + 8899: [0.25001, 0.75, 0, 0, 0.83334], + 8968: [0.35001, 0.85, 0, 0, 0.47222], + 8969: [0.35001, 0.85, 0, 0, 0.47222], + 8970: [0.35001, 0.85, 0, 0, 0.47222], + 8971: [0.35001, 0.85, 0, 0, 0.47222], + 9168: [-99e-5, 0.601, 0, 0, 0.66667], + 10216: [0.35001, 0.85, 0, 0, 0.47222], + 10217: [0.35001, 0.85, 0, 0, 0.47222], + 10752: [0.25001, 0.75, 0, 0, 1.11111], + 10753: [0.25001, 0.75, 0, 0, 1.11111], + 10754: [0.25001, 0.75, 0, 0, 1.11111], + 10756: [0.25001, 0.75, 0, 0, 0.83334], + 10758: [0.25001, 0.75, 0, 0, 0.83334] + }, + 'Size2-Regular': { + 32: [0, 0, 0, 0, 0.25], + 40: [0.65002, 1.15, 0, 0, 0.59722], + 41: [0.65002, 1.15, 0, 0, 0.59722], + 47: [0.65002, 1.15, 0, 0, 0.81111], + 91: [0.65002, 1.15, 0, 0, 0.47222], + 92: [0.65002, 1.15, 0, 0, 0.81111], + 93: [0.65002, 1.15, 0, 0, 0.47222], + 123: [0.65002, 1.15, 0, 0, 0.66667], + 125: [0.65002, 1.15, 0, 0, 0.66667], + 160: [0, 0, 0, 0, 0.25], + 710: [0, 0.75, 0, 0, 1], + 732: [0, 0.75, 0, 0, 1], + 770: [0, 0.75, 0, 0, 1], + 771: [0, 0.75, 0, 0, 1], + 8719: [0.55001, 1.05, 0, 0, 1.27778], + 8720: [0.55001, 1.05, 0, 0, 1.27778], + 8721: [0.55001, 1.05, 0, 0, 1.44445], + 8730: [0.65002, 1.15, 0, 0, 1], + 8747: [0.86225, 1.36, 0.44445, 0, 0.55556], + 8748: [0.862, 1.36, 0.44445, 0, 0.55556], + 8749: [0.862, 1.36, 0.44445, 0, 0.55556], + 8750: [0.86225, 1.36, 0.44445, 0, 0.55556], + 8896: [0.55001, 1.05, 0, 0, 1.11111], + 8897: [0.55001, 1.05, 0, 0, 1.11111], + 8898: [0.55001, 1.05, 0, 0, 1.11111], + 8899: [0.55001, 1.05, 0, 0, 1.11111], + 8968: [0.65002, 1.15, 0, 0, 0.52778], + 8969: [0.65002, 1.15, 0, 0, 0.52778], + 8970: [0.65002, 1.15, 0, 0, 0.52778], + 8971: [0.65002, 1.15, 0, 0, 0.52778], + 10216: [0.65002, 1.15, 0, 0, 0.61111], + 10217: [0.65002, 1.15, 0, 0, 0.61111], + 10752: [0.55001, 1.05, 0, 0, 1.51112], + 10753: [0.55001, 1.05, 0, 0, 1.51112], + 10754: [0.55001, 1.05, 0, 0, 1.51112], + 10756: [0.55001, 1.05, 0, 0, 1.11111], + 10758: [0.55001, 1.05, 0, 0, 1.11111] + }, + 'Size3-Regular': { + 32: [0, 0, 0, 0, 0.25], + 40: [0.95003, 1.45, 0, 0, 0.73611], + 41: [0.95003, 1.45, 0, 0, 0.73611], + 47: [0.95003, 1.45, 0, 0, 1.04445], + 91: [0.95003, 1.45, 0, 0, 0.52778], + 92: [0.95003, 1.45, 0, 0, 1.04445], + 93: [0.95003, 1.45, 0, 0, 0.52778], + 123: [0.95003, 1.45, 0, 0, 0.75], + 125: [0.95003, 1.45, 0, 0, 0.75], + 160: [0, 0, 0, 0, 0.25], + 710: [0, 0.75, 0, 0, 1.44445], + 732: [0, 0.75, 0, 0, 1.44445], + 770: [0, 0.75, 0, 0, 1.44445], + 771: [0, 0.75, 0, 0, 1.44445], + 8730: [0.95003, 1.45, 0, 0, 1], + 8968: [0.95003, 1.45, 0, 0, 0.58334], + 8969: [0.95003, 1.45, 0, 0, 0.58334], + 8970: [0.95003, 1.45, 0, 0, 0.58334], + 8971: [0.95003, 1.45, 0, 0, 0.58334], + 10216: [0.95003, 1.45, 0, 0, 0.75], + 10217: [0.95003, 1.45, 0, 0, 0.75] + }, + 'Size4-Regular': { + 32: [0, 0, 0, 0, 0.25], + 40: [1.25003, 1.75, 0, 0, 0.79167], + 41: [1.25003, 1.75, 0, 0, 0.79167], + 47: [1.25003, 1.75, 0, 0, 1.27778], + 91: [1.25003, 1.75, 0, 0, 0.58334], + 92: [1.25003, 1.75, 0, 0, 1.27778], + 93: [1.25003, 1.75, 0, 0, 0.58334], + 123: [1.25003, 1.75, 0, 0, 0.80556], + 125: [1.25003, 1.75, 0, 0, 0.80556], + 160: [0, 0, 0, 0, 0.25], + 710: [0, 0.825, 0, 0, 1.8889], + 732: [0, 0.825, 0, 0, 1.8889], + 770: [0, 0.825, 0, 0, 1.8889], + 771: [0, 0.825, 0, 0, 1.8889], + 8730: [1.25003, 1.75, 0, 0, 1], + 8968: [1.25003, 1.75, 0, 0, 0.63889], + 8969: [1.25003, 1.75, 0, 0, 0.63889], + 8970: [1.25003, 1.75, 0, 0, 0.63889], + 8971: [1.25003, 1.75, 0, 0, 0.63889], + 9115: [0.64502, 1.155, 0, 0, 0.875], + 9116: [1e-5, 0.6, 0, 0, 0.875], + 9117: [0.64502, 1.155, 0, 0, 0.875], + 9118: [0.64502, 1.155, 0, 0, 0.875], + 9119: [1e-5, 0.6, 0, 0, 0.875], + 9120: [0.64502, 1.155, 0, 0, 0.875], + 9121: [0.64502, 1.155, 0, 0, 0.66667], + 9122: [-99e-5, 0.601, 0, 0, 0.66667], + 9123: [0.64502, 1.155, 0, 0, 0.66667], + 9124: [0.64502, 1.155, 0, 0, 0.66667], + 9125: [-99e-5, 0.601, 0, 0, 0.66667], + 9126: [0.64502, 1.155, 0, 0, 0.66667], + 9127: [1e-5, 0.9, 0, 0, 0.88889], + 9128: [0.65002, 1.15, 0, 0, 0.88889], + 9129: [0.90001, 0, 0, 0, 0.88889], + 9130: [0, 0.3, 0, 0, 0.88889], + 9131: [1e-5, 0.9, 0, 0, 0.88889], + 9132: [0.65002, 1.15, 0, 0, 0.88889], + 9133: [0.90001, 0, 0, 0, 0.88889], + 9143: [0.88502, 0.915, 0, 0, 1.05556], + 10216: [1.25003, 1.75, 0, 0, 0.80556], + 10217: [1.25003, 1.75, 0, 0, 0.80556], + 57344: [-0.00499, 0.605, 0, 0, 1.05556], + 57345: [-0.00499, 0.605, 0, 0, 1.05556], + 57680: [0, 0.12, 0, 0, 0.45], + 57681: [0, 0.12, 0, 0, 0.45], + 57682: [0, 0.12, 0, 0, 0.45], + 57683: [0, 0.12, 0, 0, 0.45] + }, + 'Typewriter-Regular': { + 32: [0, 0, 0, 0, 0.525], + 33: [0, 0.61111, 0, 0, 0.525], + 34: [0, 0.61111, 0, 0, 0.525], + 35: [0, 0.61111, 0, 0, 0.525], + 36: [0.08333, 0.69444, 0, 0, 0.525], + 37: [0.08333, 0.69444, 0, 0, 0.525], + 38: [0, 0.61111, 0, 0, 0.525], + 39: [0, 0.61111, 0, 0, 0.525], + 40: [0.08333, 0.69444, 0, 0, 0.525], + 41: [0.08333, 0.69444, 0, 0, 0.525], + 42: [0, 0.52083, 0, 0, 0.525], + 43: [-0.08056, 0.53055, 0, 0, 0.525], + 44: [0.13889, 0.125, 0, 0, 0.525], + 45: [-0.08056, 0.53055, 0, 0, 0.525], + 46: [0, 0.125, 0, 0, 0.525], + 47: [0.08333, 0.69444, 0, 0, 0.525], + 48: [0, 0.61111, 0, 0, 0.525], + 49: [0, 0.61111, 0, 0, 0.525], + 50: [0, 0.61111, 0, 0, 0.525], + 51: [0, 0.61111, 0, 0, 0.525], + 52: [0, 0.61111, 0, 0, 0.525], + 53: [0, 0.61111, 0, 0, 0.525], + 54: [0, 0.61111, 0, 0, 0.525], + 55: [0, 0.61111, 0, 0, 0.525], + 56: [0, 0.61111, 0, 0, 0.525], + 57: [0, 0.61111, 0, 0, 0.525], + 58: [0, 0.43056, 0, 0, 0.525], + 59: [0.13889, 0.43056, 0, 0, 0.525], + 60: [-0.05556, 0.55556, 0, 0, 0.525], + 61: [-0.19549, 0.41562, 0, 0, 0.525], + 62: [-0.05556, 0.55556, 0, 0, 0.525], + 63: [0, 0.61111, 0, 0, 0.525], + 64: [0, 0.61111, 0, 0, 0.525], + 65: [0, 0.61111, 0, 0, 0.525], + 66: [0, 0.61111, 0, 0, 0.525], + 67: [0, 0.61111, 0, 0, 0.525], + 68: [0, 0.61111, 0, 0, 0.525], + 69: [0, 0.61111, 0, 0, 0.525], + 70: [0, 0.61111, 0, 0, 0.525], + 71: [0, 0.61111, 0, 0, 0.525], + 72: [0, 0.61111, 0, 0, 0.525], + 73: [0, 0.61111, 0, 0, 0.525], + 74: [0, 0.61111, 0, 0, 0.525], + 75: [0, 0.61111, 0, 0, 0.525], + 76: [0, 0.61111, 0, 0, 0.525], + 77: [0, 0.61111, 0, 0, 0.525], + 78: [0, 0.61111, 0, 0, 0.525], + 79: [0, 0.61111, 0, 0, 0.525], + 80: [0, 0.61111, 0, 0, 0.525], + 81: [0.13889, 0.61111, 0, 0, 0.525], + 82: [0, 0.61111, 0, 0, 0.525], + 83: [0, 0.61111, 0, 0, 0.525], + 84: [0, 0.61111, 0, 0, 0.525], + 85: [0, 0.61111, 0, 0, 0.525], + 86: [0, 0.61111, 0, 0, 0.525], + 87: [0, 0.61111, 0, 0, 0.525], + 88: [0, 0.61111, 0, 0, 0.525], + 89: [0, 0.61111, 0, 0, 0.525], + 90: [0, 0.61111, 0, 0, 0.525], + 91: [0.08333, 0.69444, 0, 0, 0.525], + 92: [0.08333, 0.69444, 0, 0, 0.525], + 93: [0.08333, 0.69444, 0, 0, 0.525], + 94: [0, 0.61111, 0, 0, 0.525], + 95: [0.09514, 0, 0, 0, 0.525], + 96: [0, 0.61111, 0, 0, 0.525], + 97: [0, 0.43056, 0, 0, 0.525], + 98: [0, 0.61111, 0, 0, 0.525], + 99: [0, 0.43056, 0, 0, 0.525], + 100: [0, 0.61111, 0, 0, 0.525], + 101: [0, 0.43056, 0, 0, 0.525], + 102: [0, 0.61111, 0, 0, 0.525], + 103: [0.22222, 0.43056, 0, 0, 0.525], + 104: [0, 0.61111, 0, 0, 0.525], + 105: [0, 0.61111, 0, 0, 0.525], + 106: [0.22222, 0.61111, 0, 0, 0.525], + 107: [0, 0.61111, 0, 0, 0.525], + 108: [0, 0.61111, 0, 0, 0.525], + 109: [0, 0.43056, 0, 0, 0.525], + 110: [0, 0.43056, 0, 0, 0.525], + 111: [0, 0.43056, 0, 0, 0.525], + 112: [0.22222, 0.43056, 0, 0, 0.525], + 113: [0.22222, 0.43056, 0, 0, 0.525], + 114: [0, 0.43056, 0, 0, 0.525], + 115: [0, 0.43056, 0, 0, 0.525], + 116: [0, 0.55358, 0, 0, 0.525], + 117: [0, 0.43056, 0, 0, 0.525], + 118: [0, 0.43056, 0, 0, 0.525], + 119: [0, 0.43056, 0, 0, 0.525], + 120: [0, 0.43056, 0, 0, 0.525], + 121: [0.22222, 0.43056, 0, 0, 0.525], + 122: [0, 0.43056, 0, 0, 0.525], + 123: [0.08333, 0.69444, 0, 0, 0.525], + 124: [0.08333, 0.69444, 0, 0, 0.525], + 125: [0.08333, 0.69444, 0, 0, 0.525], + 126: [0, 0.61111, 0, 0, 0.525], + 127: [0, 0.61111, 0, 0, 0.525], + 160: [0, 0, 0, 0, 0.525], + 176: [0, 0.61111, 0, 0, 0.525], + 184: [0.19445, 0, 0, 0, 0.525], + 305: [0, 0.43056, 0, 0, 0.525], + 567: [0.22222, 0.43056, 0, 0, 0.525], + 711: [0, 0.56597, 0, 0, 0.525], + 713: [0, 0.56555, 0, 0, 0.525], + 714: [0, 0.61111, 0, 0, 0.525], + 715: [0, 0.61111, 0, 0, 0.525], + 728: [0, 0.61111, 0, 0, 0.525], + 730: [0, 0.61111, 0, 0, 0.525], + 770: [0, 0.61111, 0, 0, 0.525], + 771: [0, 0.61111, 0, 0, 0.525], + 776: [0, 0.61111, 0, 0, 0.525], + 915: [0, 0.61111, 0, 0, 0.525], + 916: [0, 0.61111, 0, 0, 0.525], + 920: [0, 0.61111, 0, 0, 0.525], + 923: [0, 0.61111, 0, 0, 0.525], + 926: [0, 0.61111, 0, 0, 0.525], + 928: [0, 0.61111, 0, 0, 0.525], + 931: [0, 0.61111, 0, 0, 0.525], + 933: [0, 0.61111, 0, 0, 0.525], + 934: [0, 0.61111, 0, 0, 0.525], + 936: [0, 0.61111, 0, 0, 0.525], + 937: [0, 0.61111, 0, 0, 0.525], + 8216: [0, 0.61111, 0, 0, 0.525], + 8217: [0, 0.61111, 0, 0, 0.525], + 8242: [0, 0.61111, 0, 0, 0.525], + 9251: [0.11111, 0.21944, 0, 0, 0.525] + } + }), + (Jb = { + slant: [0.25, 0.25, 0.25], + space: [0, 0, 0], + stretch: [0, 0, 0], + shrink: [0, 0, 0], + xHeight: [0.431, 0.431, 0.431], + quad: [1, 1.171, 1.472], + extraSpace: [0, 0, 0], + num1: [0.677, 0.732, 0.925], + num2: [0.394, 0.384, 0.387], + num3: [0.444, 0.471, 0.504], + denom1: [0.686, 0.752, 1.025], + denom2: [0.345, 0.344, 0.532], + sup1: [0.413, 0.503, 0.504], + sup2: [0.363, 0.431, 0.404], + sup3: [0.289, 0.286, 0.294], + sub1: [0.15, 0.143, 0.2], + sub2: [0.247, 0.286, 0.4], + supDrop: [0.386, 0.353, 0.494], + subDrop: [0.05, 0.071, 0.1], + delim1: [2.39, 1.7, 1.98], + delim2: [1.01, 1.157, 1.42], + axisHeight: [0.25, 0.25, 0.25], + defaultRuleThickness: [0.04, 0.049, 0.049], + bigOpSpacing1: [0.111, 0.111, 0.111], + bigOpSpacing2: [0.166, 0.166, 0.166], + bigOpSpacing3: [0.2, 0.2, 0.2], + bigOpSpacing4: [0.6, 0.611, 0.611], + bigOpSpacing5: [0.1, 0.143, 0.143], + sqrtRuleThickness: [0.04, 0.04, 0.04], + ptPerEm: [10, 10, 10], + doubleRuleSep: [0.2, 0.2, 0.2], + arrayRuleWidth: [0.04, 0.04, 0.04], + fboxsep: [0.3, 0.3, 0.3], + fboxrule: [0.04, 0.04, 0.04] + }), + (Zz = { + Å: 'A', + Ð: 'D', + Þ: 'o', + å: 'a', + ð: 'd', + þ: 'o', + А: 'A', + Б: 'B', + В: 'B', + Г: 'F', + Д: 'A', + Е: 'E', + Ж: 'K', + З: '3', + И: 'N', + Й: 'N', + К: 'K', + Л: 'N', + М: 'M', + Н: 'H', + О: 'O', + П: 'N', + Р: 'P', + С: 'C', + Т: 'T', + У: 'y', + Ф: 'O', + Х: 'X', + Ц: 'U', + Ч: 'h', + Ш: 'W', + Щ: 'W', + Ъ: 'B', + Ы: 'X', + Ь: 'B', + Э: '3', + Ю: 'X', + Я: 'R', + а: 'a', + б: 'b', + в: 'a', + г: 'r', + д: 'y', + е: 'e', + ж: 'm', + з: 'e', + и: 'n', + й: 'n', + к: 'n', + л: 'n', + м: 'm', + н: 'n', + о: 'o', + п: 'n', + р: 'p', + с: 'c', + т: 'o', + у: 'y', + ф: 'b', + х: 'x', + ц: 'n', + ч: 'n', + ш: 'w', + щ: 'w', + ъ: 'a', + ы: 'm', + ь: 'a', + э: 'e', + ю: 'm', + я: 'r' + }); + o(axe, 'setFontMetrics'); + o(M7, 'getCharacterMetrics'); + l7 = {}; + o(sxe, 'getGlobalMetrics'); + (oxe = [ + [1, 1, 1], + [2, 1, 1], + [3, 1, 1], + [4, 2, 1], + [5, 2, 1], + [6, 3, 1], + [7, 4, 2], + [8, 6, 3], + [9, 7, 6], + [10, 8, 7], + [11, 10, 9] + ]), + (Jz = [0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.2, 1.44, 1.728, 2.074, 2.488]), + (eG = o(function (e, r) { + return r.size < 2 ? e : oxe[e - 1][r.size - 1]; + }, 'sizeAtStyle')), + (d4 = class t { + static { + o(this, 'Options'); + } + constructor(e) { + (this.style = void 0), + (this.color = void 0), + (this.size = void 0), + (this.textSize = void 0), + (this.phantom = void 0), + (this.font = void 0), + (this.fontFamily = void 0), + (this.fontWeight = void 0), + (this.fontShape = void 0), + (this.sizeMultiplier = void 0), + (this.maxSize = void 0), + (this.minRuleThickness = void 0), + (this._fontMetrics = void 0), + (this.style = e.style), + (this.color = e.color), + (this.size = e.size || t.BASESIZE), + (this.textSize = e.textSize || this.size), + (this.phantom = !!e.phantom), + (this.font = e.font || ''), + (this.fontFamily = e.fontFamily || ''), + (this.fontWeight = e.fontWeight || ''), + (this.fontShape = e.fontShape || ''), + (this.sizeMultiplier = Jz[this.size - 1]), + (this.maxSize = e.maxSize), + (this.minRuleThickness = e.minRuleThickness), + (this._fontMetrics = void 0); + } + extend(e) { + var r = { + style: this.style, + size: this.size, + textSize: this.textSize, + color: this.color, + phantom: this.phantom, + font: this.font, + fontFamily: this.fontFamily, + fontWeight: this.fontWeight, + fontShape: this.fontShape, + maxSize: this.maxSize, + minRuleThickness: this.minRuleThickness + }; + for (var n in e) e.hasOwnProperty(n) && (r[n] = e[n]); + return new t(r); + } + havingStyle(e) { + return this.style === e ? this : this.extend({ style: e, size: eG(this.textSize, e) }); + } + havingCrampedStyle() { + return this.havingStyle(this.style.cramp()); + } + havingSize(e) { + return this.size === e && this.textSize === e + ? this + : this.extend({ + style: this.style.text(), + size: e, + textSize: e, + sizeMultiplier: Jz[e - 1] + }); + } + havingBaseStyle(e) { + e = e || this.style.text(); + var r = eG(t.BASESIZE, e); + return this.size === r && this.textSize === t.BASESIZE && this.style === e + ? this + : this.extend({ style: e, size: r }); + } + havingBaseSizing() { + var e; + switch (this.style.id) { + case 4: + case 5: + e = 3; + break; + case 6: + case 7: + e = 1; + break; + default: + e = 6; + } + return this.extend({ style: this.style.text(), size: e }); + } + withColor(e) { + return this.extend({ color: e }); + } + withPhantom() { + return this.extend({ phantom: !0 }); + } + withFont(e) { + return this.extend({ font: e }); + } + withTextFontFamily(e) { + return this.extend({ fontFamily: e, font: '' }); + } + withTextFontWeight(e) { + return this.extend({ fontWeight: e, font: '' }); + } + withTextFontShape(e) { + return this.extend({ fontShape: e, font: '' }); + } + sizingClasses(e) { + return e.size !== this.size ? ['sizing', 'reset-size' + e.size, 'size' + this.size] : []; + } + baseSizingClasses() { + return this.size !== t.BASESIZE + ? ['sizing', 'reset-size' + this.size, 'size' + t.BASESIZE] + : []; + } + fontMetrics() { + return this._fontMetrics || (this._fontMetrics = sxe(this.size)), this._fontMetrics; + } + getColor() { + return this.phantom ? 'transparent' : this.color; + } + }); + d4.BASESIZE = 6; + (w7 = { + pt: 1, + mm: 7227 / 2540, + cm: 7227 / 254, + in: 72.27, + bp: 803 / 800, + pc: 12, + dd: 1238 / 1157, + cc: 14856 / 1157, + nd: 685 / 642, + nc: 1370 / 107, + sp: 1 / 65536, + px: 803 / 800 + }), + (lxe = { ex: !0, em: !0, mu: !0 }), + (DG = o(function (e) { + return typeof e != 'string' && (e = e.unit), e in w7 || e in lxe || e === 'ex'; + }, 'validUnit')), + (Hn = o(function (e, r) { + var n; + if (e.unit in w7) n = w7[e.unit] / r.fontMetrics().ptPerEm / r.sizeMultiplier; + else if (e.unit === 'mu') n = r.fontMetrics().cssEmPerMu; + else { + var i; + if ((r.style.isTight() ? (i = r.havingStyle(r.style.text())) : (i = r), e.unit === 'ex')) + n = i.fontMetrics().xHeight; + else if (e.unit === 'em') n = i.fontMetrics().quad; + else throw new nt("Invalid unit: '" + e.unit + "'"); + i !== r && (n *= i.sizeMultiplier / r.sizeMultiplier); + } + return Math.min(e.number * n, r.maxSize); + }, 'calculateSize')), + (ct = o(function (e) { + return +e.toFixed(4) + 'em'; + }, 'makeEm')), + (dh = o(function (e) { + return e.filter((r) => r).join(' '); + }, 'createClass')), + (RG = o(function (e, r, n) { + if ( + ((this.classes = e || []), + (this.attributes = {}), + (this.height = 0), + (this.depth = 0), + (this.maxFontSize = 0), + (this.style = n || {}), + r) + ) { + r.style.isTight() && this.classes.push('mtight'); + var i = r.getColor(); + i && (this.style.color = i); + } + }, 'initNode')), + (NG = o(function (e) { + var r = document.createElement(e); + r.className = dh(this.classes); + for (var n in this.style) this.style.hasOwnProperty(n) && (r.style[n] = this.style[n]); + for (var i in this.attributes) + this.attributes.hasOwnProperty(i) && r.setAttribute(i, this.attributes[i]); + for (var a = 0; a < this.children.length; a++) r.appendChild(this.children[a].toNode()); + return r; + }, 'toNode')), + (MG = o(function (e) { + var r = '<' + e; + this.classes.length && (r += ' class="' + Vt.escape(dh(this.classes)) + '"'); + var n = ''; + for (var i in this.style) + this.style.hasOwnProperty(i) && (n += Vt.hyphenate(i) + ':' + this.style[i] + ';'); + n && (r += ' style="' + Vt.escape(n) + '"'); + for (var a in this.attributes) + this.attributes.hasOwnProperty(a) && + (r += ' ' + a + '="' + Vt.escape(this.attributes[a]) + '"'); + r += '>'; + for (var s = 0; s < this.children.length; s++) r += this.children[s].toMarkup(); + return (r += ''), r; + }, 'toMarkup')), + (jf = class { + static { + o(this, 'Span'); + } + constructor(e, r, n, i) { + (this.children = void 0), + (this.attributes = void 0), + (this.classes = void 0), + (this.height = void 0), + (this.depth = void 0), + (this.width = void 0), + (this.maxFontSize = void 0), + (this.style = void 0), + RG.call(this, e, n, i), + (this.children = r || []); + } + setAttribute(e, r) { + this.attributes[e] = r; + } + hasClass(e) { + return Vt.contains(this.classes, e); + } + toNode() { + return NG.call(this, 'span'); + } + toMarkup() { + return MG.call(this, 'span'); + } + }), + (iy = class { + static { + o(this, 'Anchor'); + } + constructor(e, r, n, i) { + (this.children = void 0), + (this.attributes = void 0), + (this.classes = void 0), + (this.height = void 0), + (this.depth = void 0), + (this.maxFontSize = void 0), + (this.style = void 0), + RG.call(this, r, i), + (this.children = n || []), + this.setAttribute('href', e); + } + setAttribute(e, r) { + this.attributes[e] = r; + } + hasClass(e) { + return Vt.contains(this.classes, e); + } + toNode() { + return NG.call(this, 'a'); + } + toMarkup() { + return MG.call(this, 'a'); + } + }), + (T7 = class { + static { + o(this, 'Img'); + } + constructor(e, r, n) { + (this.src = void 0), + (this.alt = void 0), + (this.classes = void 0), + (this.height = void 0), + (this.depth = void 0), + (this.maxFontSize = void 0), + (this.style = void 0), + (this.alt = r), + (this.src = e), + (this.classes = ['mord']), + (this.style = n); + } + hasClass(e) { + return Vt.contains(this.classes, e); + } + toNode() { + var e = document.createElement('img'); + (e.src = this.src), (e.alt = this.alt), (e.className = 'mord'); + for (var r in this.style) this.style.hasOwnProperty(r) && (e.style[r] = this.style[r]); + return e; + } + toMarkup() { + var e = '' + Vt.escape(this.alt) + ' 0 && + ((r = document.createElement('span')), (r.style.marginRight = ct(this.italic))), + this.classes.length > 0 && + ((r = r || document.createElement('span')), (r.className = dh(this.classes))); + for (var n in this.style) + this.style.hasOwnProperty(n) && + ((r = r || document.createElement('span')), (r.style[n] = this.style[n])); + return r ? (r.appendChild(e), r) : e; + } + toMarkup() { + var e = !1, + r = ' 0 && (n += 'margin-right:' + this.italic + 'em;'); + for (var i in this.style) + this.style.hasOwnProperty(i) && (n += Vt.hyphenate(i) + ':' + this.style[i] + ';'); + n && ((e = !0), (r += ' style="' + Vt.escape(n) + '"')); + var a = Vt.escape(this.text); + return e ? ((r += '>'), (r += a), (r += ''), r) : a; + } + }), + (ll = class { + static { + o(this, 'SvgNode'); + } + constructor(e, r) { + (this.children = void 0), + (this.attributes = void 0), + (this.children = e || []), + (this.attributes = r || {}); + } + toNode() { + var e = 'http://www.w3.org/2000/svg', + r = document.createElementNS(e, 'svg'); + for (var n in this.attributes) + Object.prototype.hasOwnProperty.call(this.attributes, n) && + r.setAttribute(n, this.attributes[n]); + for (var i = 0; i < this.children.length; i++) r.appendChild(this.children[i].toNode()); + return r; + } + toMarkup() { + var e = '' + : ''; + } + }), + (ay = class { + static { + o(this, 'LineNode'); + } + constructor(e) { + (this.attributes = void 0), (this.attributes = e || {}); + } + toNode() { + var e = 'http://www.w3.org/2000/svg', + r = document.createElementNS(e, 'line'); + for (var n in this.attributes) + Object.prototype.hasOwnProperty.call(this.attributes, n) && + r.setAttribute(n, this.attributes[n]); + return r; + } + toMarkup() { + var e = '', '\\gt', !0); + G(U, ee, xe, '\u2208', '\\in', !0); + G(U, ee, xe, '\uE020', '\\@not'); + G(U, ee, xe, '\u2282', '\\subset', !0); + G(U, ee, xe, '\u2283', '\\supset', !0); + G(U, ee, xe, '\u2286', '\\subseteq', !0); + G(U, ee, xe, '\u2287', '\\supseteq', !0); + G(U, ve, xe, '\u2288', '\\nsubseteq', !0); + G(U, ve, xe, '\u2289', '\\nsupseteq', !0); + G(U, ee, xe, '\u22A8', '\\models'); + G(U, ee, xe, '\u2190', '\\leftarrow', !0); + G(U, ee, xe, '\u2264', '\\le'); + G(U, ee, xe, '\u2264', '\\leq', !0); + G(U, ee, xe, '<', '\\lt', !0); + G(U, ee, xe, '\u2192', '\\rightarrow', !0); + G(U, ee, xe, '\u2192', '\\to'); + G(U, ve, xe, '\u2271', '\\ngeq', !0); + G(U, ve, xe, '\u2270', '\\nleq', !0); + G(U, ee, lu, '\xA0', '\\ '); + G(U, ee, lu, '\xA0', '\\space'); + G(U, ee, lu, '\xA0', '\\nobreakspace'); + G(Qe, ee, lu, '\xA0', '\\ '); + G(Qe, ee, lu, '\xA0', ' '); + G(Qe, ee, lu, '\xA0', '\\space'); + G(Qe, ee, lu, '\xA0', '\\nobreakspace'); + G(U, ee, lu, null, '\\nobreak'); + G(U, ee, lu, null, '\\allowbreak'); + G(U, ee, b4, ',', ','); + G(U, ee, b4, ';', ';'); + G(U, ve, bt, '\u22BC', '\\barwedge', !0); + G(U, ve, bt, '\u22BB', '\\veebar', !0); + G(U, ee, bt, '\u2299', '\\odot', !0); + G(U, ee, bt, '\u2295', '\\oplus', !0); + G(U, ee, bt, '\u2297', '\\otimes', !0); + G(U, ee, Le, '\u2202', '\\partial', !0); + G(U, ee, bt, '\u2298', '\\oslash', !0); + G(U, ve, bt, '\u229A', '\\circledcirc', !0); + G(U, ve, bt, '\u22A1', '\\boxdot', !0); + G(U, ee, bt, '\u25B3', '\\bigtriangleup'); + G(U, ee, bt, '\u25BD', '\\bigtriangledown'); + G(U, ee, bt, '\u2020', '\\dagger'); + G(U, ee, bt, '\u22C4', '\\diamond'); + G(U, ee, bt, '\u22C6', '\\star'); + G(U, ee, bt, '\u25C3', '\\triangleleft'); + G(U, ee, bt, '\u25B9', '\\triangleright'); + G(U, ee, js, '{', '\\{'); + G(Qe, ee, Le, '{', '\\{'); + G(Qe, ee, Le, '{', '\\textbraceleft'); + G(U, ee, Xa, '}', '\\}'); + G(Qe, ee, Le, '}', '\\}'); + G(Qe, ee, Le, '}', '\\textbraceright'); + G(U, ee, js, '{', '\\lbrace'); + G(U, ee, Xa, '}', '\\rbrace'); + G(U, ee, js, '[', '\\lbrack', !0); + G(Qe, ee, Le, '[', '\\lbrack', !0); + G(U, ee, Xa, ']', '\\rbrack', !0); + G(Qe, ee, Le, ']', '\\rbrack', !0); + G(U, ee, js, '(', '\\lparen', !0); + G(U, ee, Xa, ')', '\\rparen', !0); + G(Qe, ee, Le, '<', '\\textless', !0); + G(Qe, ee, Le, '>', '\\textgreater', !0); + G(U, ee, js, '\u230A', '\\lfloor', !0); + G(U, ee, Xa, '\u230B', '\\rfloor', !0); + G(U, ee, js, '\u2308', '\\lceil', !0); + G(U, ee, Xa, '\u2309', '\\rceil', !0); + G(U, ee, Le, '\\', '\\backslash'); + G(U, ee, Le, '\u2223', '|'); + G(U, ee, Le, '\u2223', '\\vert'); + G(Qe, ee, Le, '|', '\\textbar', !0); + G(U, ee, Le, '\u2225', '\\|'); + G(U, ee, Le, '\u2225', '\\Vert'); + G(Qe, ee, Le, '\u2225', '\\textbardbl'); + G(Qe, ee, Le, '~', '\\textasciitilde'); + G(Qe, ee, Le, '\\', '\\textbackslash'); + G(Qe, ee, Le, '^', '\\textasciicircum'); + G(U, ee, xe, '\u2191', '\\uparrow', !0); + G(U, ee, xe, '\u21D1', '\\Uparrow', !0); + G(U, ee, xe, '\u2193', '\\downarrow', !0); + G(U, ee, xe, '\u21D3', '\\Downarrow', !0); + G(U, ee, xe, '\u2195', '\\updownarrow', !0); + G(U, ee, xe, '\u21D5', '\\Updownarrow', !0); + G(U, ee, xi, '\u2210', '\\coprod'); + G(U, ee, xi, '\u22C1', '\\bigvee'); + G(U, ee, xi, '\u22C0', '\\bigwedge'); + G(U, ee, xi, '\u2A04', '\\biguplus'); + G(U, ee, xi, '\u22C2', '\\bigcap'); + G(U, ee, xi, '\u22C3', '\\bigcup'); + G(U, ee, xi, '\u222B', '\\int'); + G(U, ee, xi, '\u222B', '\\intop'); + G(U, ee, xi, '\u222C', '\\iint'); + G(U, ee, xi, '\u222D', '\\iiint'); + G(U, ee, xi, '\u220F', '\\prod'); + G(U, ee, xi, '\u2211', '\\sum'); + G(U, ee, xi, '\u2A02', '\\bigotimes'); + G(U, ee, xi, '\u2A01', '\\bigoplus'); + G(U, ee, xi, '\u2A00', '\\bigodot'); + G(U, ee, xi, '\u222E', '\\oint'); + G(U, ee, xi, '\u222F', '\\oiint'); + G(U, ee, xi, '\u2230', '\\oiiint'); + G(U, ee, xi, '\u2A06', '\\bigsqcup'); + G(U, ee, xi, '\u222B', '\\smallint'); + G(Qe, ee, vp, '\u2026', '\\textellipsis'); + G(U, ee, vp, '\u2026', '\\mathellipsis'); + G(Qe, ee, vp, '\u2026', '\\ldots', !0); + G(U, ee, vp, '\u2026', '\\ldots', !0); + G(U, ee, vp, '\u22EF', '\\@cdots', !0); + G(U, ee, vp, '\u22F1', '\\ddots', !0); + G(U, ee, Le, '\u22EE', '\\varvdots'); + G(U, ee, Pn, '\u02CA', '\\acute'); + G(U, ee, Pn, '\u02CB', '\\grave'); + G(U, ee, Pn, '\xA8', '\\ddot'); + G(U, ee, Pn, '~', '\\tilde'); + G(U, ee, Pn, '\u02C9', '\\bar'); + G(U, ee, Pn, '\u02D8', '\\breve'); + G(U, ee, Pn, '\u02C7', '\\check'); + G(U, ee, Pn, '^', '\\hat'); + G(U, ee, Pn, '\u20D7', '\\vec'); + G(U, ee, Pn, '\u02D9', '\\dot'); + G(U, ee, Pn, '\u02DA', '\\mathring'); + G(U, ee, Ut, '\uE131', '\\@imath'); + G(U, ee, Ut, '\uE237', '\\@jmath'); + G(U, ee, Le, '\u0131', '\u0131'); + G(U, ee, Le, '\u0237', '\u0237'); + G(Qe, ee, Le, '\u0131', '\\i', !0); + G(Qe, ee, Le, '\u0237', '\\j', !0); + G(Qe, ee, Le, '\xDF', '\\ss', !0); + G(Qe, ee, Le, '\xE6', '\\ae', !0); + G(Qe, ee, Le, '\u0153', '\\oe', !0); + G(Qe, ee, Le, '\xF8', '\\o', !0); + G(Qe, ee, Le, '\xC6', '\\AE', !0); + G(Qe, ee, Le, '\u0152', '\\OE', !0); + G(Qe, ee, Le, '\xD8', '\\O', !0); + G(Qe, ee, Pn, '\u02CA', "\\'"); + G(Qe, ee, Pn, '\u02CB', '\\`'); + G(Qe, ee, Pn, '\u02C6', '\\^'); + G(Qe, ee, Pn, '\u02DC', '\\~'); + G(Qe, ee, Pn, '\u02C9', '\\='); + G(Qe, ee, Pn, '\u02D8', '\\u'); + G(Qe, ee, Pn, '\u02D9', '\\.'); + G(Qe, ee, Pn, '\xB8', '\\c'); + G(Qe, ee, Pn, '\u02DA', '\\r'); + G(Qe, ee, Pn, '\u02C7', '\\v'); + G(Qe, ee, Pn, '\xA8', '\\"'); + G(Qe, ee, Pn, '\u02DD', '\\H'); + G(Qe, ee, Pn, '\u25EF', '\\textcircled'); + IG = { '--': !0, '---': !0, '``': !0, "''": !0 }; + G(Qe, ee, Le, '\u2013', '--', !0); + G(Qe, ee, Le, '\u2013', '\\textendash'); + G(Qe, ee, Le, '\u2014', '---', !0); + G(Qe, ee, Le, '\u2014', '\\textemdash'); + G(Qe, ee, Le, '\u2018', '`', !0); + G(Qe, ee, Le, '\u2018', '\\textquoteleft'); + G(Qe, ee, Le, '\u2019', "'", !0); + G(Qe, ee, Le, '\u2019', '\\textquoteright'); + G(Qe, ee, Le, '\u201C', '``', !0); + G(Qe, ee, Le, '\u201C', '\\textquotedblleft'); + G(Qe, ee, Le, '\u201D', "''", !0); + G(Qe, ee, Le, '\u201D', '\\textquotedblright'); + G(U, ee, Le, '\xB0', '\\degree', !0); + G(Qe, ee, Le, '\xB0', '\\degree'); + G(Qe, ee, Le, '\xB0', '\\textdegree', !0); + G(U, ee, Le, '\xA3', '\\pounds'); + G(U, ee, Le, '\xA3', '\\mathsterling', !0); + G(Qe, ee, Le, '\xA3', '\\pounds'); + G(Qe, ee, Le, '\xA3', '\\textsterling', !0); + G(U, ve, Le, '\u2720', '\\maltese'); + G(Qe, ve, Le, '\u2720', '\\maltese'); + rG = '0123456789/@."'; + for (e4 = 0; e4 < rG.length; e4++) (c7 = rG.charAt(e4)), G(U, ee, Le, c7, c7); + nG = '0123456789!@*()-=+";:?/.,'; + for (t4 = 0; t4 < nG.length; t4++) (u7 = nG.charAt(t4)), G(Qe, ee, Le, u7, u7); + p4 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; + for (r4 = 0; r4 < p4.length; r4++) (Z1 = p4.charAt(r4)), G(U, ee, Ut, Z1, Z1), G(Qe, ee, Le, Z1, Z1); + G(U, ve, Le, 'C', '\u2102'); + G(Qe, ve, Le, 'C', '\u2102'); + G(U, ve, Le, 'H', '\u210D'); + G(Qe, ve, Le, 'H', '\u210D'); + G(U, ve, Le, 'N', '\u2115'); + G(Qe, ve, Le, 'N', '\u2115'); + G(U, ve, Le, 'P', '\u2119'); + G(Qe, ve, Le, 'P', '\u2119'); + G(U, ve, Le, 'Q', '\u211A'); + G(Qe, ve, Le, 'Q', '\u211A'); + G(U, ve, Le, 'R', '\u211D'); + G(Qe, ve, Le, 'R', '\u211D'); + G(U, ve, Le, 'Z', '\u2124'); + G(Qe, ve, Le, 'Z', '\u2124'); + G(U, ee, Ut, 'h', '\u210E'); + G(Qe, ee, Ut, 'h', '\u210E'); + Xt = ''; + for (Ra = 0; Ra < p4.length; Ra++) + (Vn = p4.charAt(Ra)), + (Xt = String.fromCharCode(55349, 56320 + Ra)), + G(U, ee, Ut, Vn, Xt), + G(Qe, ee, Le, Vn, Xt), + (Xt = String.fromCharCode(55349, 56372 + Ra)), + G(U, ee, Ut, Vn, Xt), + G(Qe, ee, Le, Vn, Xt), + (Xt = String.fromCharCode(55349, 56424 + Ra)), + G(U, ee, Ut, Vn, Xt), + G(Qe, ee, Le, Vn, Xt), + (Xt = String.fromCharCode(55349, 56580 + Ra)), + G(U, ee, Ut, Vn, Xt), + G(Qe, ee, Le, Vn, Xt), + (Xt = String.fromCharCode(55349, 56684 + Ra)), + G(U, ee, Ut, Vn, Xt), + G(Qe, ee, Le, Vn, Xt), + (Xt = String.fromCharCode(55349, 56736 + Ra)), + G(U, ee, Ut, Vn, Xt), + G(Qe, ee, Le, Vn, Xt), + (Xt = String.fromCharCode(55349, 56788 + Ra)), + G(U, ee, Ut, Vn, Xt), + G(Qe, ee, Le, Vn, Xt), + (Xt = String.fromCharCode(55349, 56840 + Ra)), + G(U, ee, Ut, Vn, Xt), + G(Qe, ee, Le, Vn, Xt), + (Xt = String.fromCharCode(55349, 56944 + Ra)), + G(U, ee, Ut, Vn, Xt), + G(Qe, ee, Le, Vn, Xt), + Ra < 26 && + ((Xt = String.fromCharCode(55349, 56632 + Ra)), + G(U, ee, Ut, Vn, Xt), + G(Qe, ee, Le, Vn, Xt), + (Xt = String.fromCharCode(55349, 56476 + Ra)), + G(U, ee, Ut, Vn, Xt), + G(Qe, ee, Le, Vn, Xt)); + Xt = '\u{1D55C}'; + G(U, ee, Ut, 'k', Xt); + G(Qe, ee, Le, 'k', Xt); + for (hh = 0; hh < 10; hh++) + (ru = hh.toString()), + (Xt = String.fromCharCode(55349, 57294 + hh)), + G(U, ee, Ut, ru, Xt), + G(Qe, ee, Le, ru, Xt), + (Xt = String.fromCharCode(55349, 57314 + hh)), + G(U, ee, Ut, ru, Xt), + G(Qe, ee, Le, ru, Xt), + (Xt = String.fromCharCode(55349, 57324 + hh)), + G(U, ee, Ut, ru, Xt), + G(Qe, ee, Le, ru, Xt), + (Xt = String.fromCharCode(55349, 57334 + hh)), + G(U, ee, Ut, ru, Xt), + G(Qe, ee, Le, ru, Xt); + k7 = '\xD0\xDE\xFE'; + for (n4 = 0; n4 < k7.length; n4++) (J1 = k7.charAt(n4)), G(U, ee, Ut, J1, J1), G(Qe, ee, Le, J1, J1); + (i4 = [ + ['mathbf', 'textbf', 'Main-Bold'], + ['mathbf', 'textbf', 'Main-Bold'], + ['mathnormal', 'textit', 'Math-Italic'], + ['mathnormal', 'textit', 'Math-Italic'], + ['boldsymbol', 'boldsymbol', 'Main-BoldItalic'], + ['boldsymbol', 'boldsymbol', 'Main-BoldItalic'], + ['mathscr', 'textscr', 'Script-Regular'], + ['', '', ''], + ['', '', ''], + ['', '', ''], + ['mathfrak', 'textfrak', 'Fraktur-Regular'], + ['mathfrak', 'textfrak', 'Fraktur-Regular'], + ['mathbb', 'textbb', 'AMS-Regular'], + ['mathbb', 'textbb', 'AMS-Regular'], + ['mathboldfrak', 'textboldfrak', 'Fraktur-Regular'], + ['mathboldfrak', 'textboldfrak', 'Fraktur-Regular'], + ['mathsf', 'textsf', 'SansSerif-Regular'], + ['mathsf', 'textsf', 'SansSerif-Regular'], + ['mathboldsf', 'textboldsf', 'SansSerif-Bold'], + ['mathboldsf', 'textboldsf', 'SansSerif-Bold'], + ['mathitsf', 'textitsf', 'SansSerif-Italic'], + ['mathitsf', 'textitsf', 'SansSerif-Italic'], + ['', '', ''], + ['', '', ''], + ['mathtt', 'texttt', 'Typewriter-Regular'], + ['mathtt', 'texttt', 'Typewriter-Regular'] + ]), + (iG = [ + ['mathbf', 'textbf', 'Main-Bold'], + ['', '', ''], + ['mathsf', 'textsf', 'SansSerif-Regular'], + ['mathboldsf', 'textboldsf', 'SansSerif-Bold'], + ['mathtt', 'texttt', 'Typewriter-Regular'] + ]), + (dxe = o(function (e, r) { + var n = e.charCodeAt(0), + i = e.charCodeAt(1), + a = (n - 55296) * 1024 + (i - 56320) + 65536, + s = r === 'math' ? 0 : 1; + if (119808 <= a && a < 120484) { + var l = Math.floor((a - 119808) / 26); + return [i4[l][2], i4[l][s]]; + } else if (120782 <= a && a <= 120831) { + var u = Math.floor((a - 120782) / 10); + return [iG[u][2], iG[u][s]]; + } else { + if (a === 120485 || a === 120486) return [i4[0][2], i4[0][s]]; + if (120486 < a && a < 120782) return ['', '']; + throw new nt('Unsupported character: ' + e); + } + }, 'wideCharacterFont')), + (w4 = o(function (e, r, n) { + return wn[n][e] && wn[n][e].replace && (e = wn[n][e].replace), { value: e, metrics: M7(e, r, n) }; + }, 'lookupSymbol')), + (ol = o(function (e, r, n, i, a) { + var s = w4(e, r, n), + l = s.metrics; + e = s.value; + var u; + if (l) { + var h = l.italic; + (n === 'text' || (i && i.font === 'mathit')) && (h = 0), + (u = new ms(e, l.height, l.depth, h, l.skew, l.width, a)); + } else typeof console < 'u' && console.warn('No character metrics ' + ("for '" + e + "' in style '" + r + "' and mode '" + n + "'")), (u = new ms(e, 0, 0, 0, 0, 0, a)); + if (i) { + (u.maxFontSize = i.sizeMultiplier), i.style.isTight() && u.classes.push('mtight'); + var f = i.getColor(); + f && (u.style.color = f); + } + return u; + }, 'makeSymbol')), + (pxe = o(function (e, r, n, i) { + return ( + i === void 0 && (i = []), + n.font === 'boldsymbol' && w4(e, 'Main-Bold', r).metrics + ? ol(e, 'Main-Bold', r, n, i.concat(['mathbf'])) + : e === '\\' || wn[r][e].font === 'main' + ? ol(e, 'Main-Regular', r, n, i) + : ol(e, 'AMS-Regular', r, n, i.concat(['amsrm'])) + ); + }, 'mathsym')), + (mxe = o(function (e, r, n, i, a) { + return a !== 'textord' && w4(e, 'Math-BoldItalic', r).metrics + ? { fontName: 'Math-BoldItalic', fontClass: 'boldsymbol' } + : { fontName: 'Main-Bold', fontClass: 'mathbf' }; + }, 'boldsymbol')), + (gxe = o(function (e, r, n) { + var i = e.mode, + a = e.text, + s = ['mord'], + l = i === 'math' || (i === 'text' && r.font), + u = l ? r.font : r.fontFamily, + h = '', + f = ''; + if ((a.charCodeAt(0) === 55349 && ([h, f] = dxe(a, i)), h.length > 0)) + return ol(a, h, i, r, s.concat(f)); + if (u) { + var d, p; + if (u === 'boldsymbol') { + var m = mxe(a, i, r, s, n); + (d = m.fontName), (p = [m.fontClass]); + } else + l + ? ((d = BG[u].fontName), (p = [u])) + : ((d = a4(u, r.fontWeight, r.fontShape)), (p = [u, r.fontWeight, r.fontShape])); + if (w4(a, d, i).metrics) return ol(a, d, i, r, s.concat(p)); + if (IG.hasOwnProperty(a) && d.slice(0, 10) === 'Typewriter') { + for (var g = [], y = 0; y < a.length; y++) g.push(ol(a[y], d, i, r, s.concat(p))); + return PG(g); + } + } + if (n === 'mathord') return ol(a, 'Math-Italic', i, r, s.concat(['mathnormal'])); + if (n === 'textord') { + var v = wn[i][a] && wn[i][a].font; + if (v === 'ams') { + var x = a4('amsrm', r.fontWeight, r.fontShape); + return ol(a, x, i, r, s.concat('amsrm', r.fontWeight, r.fontShape)); + } else if (v === 'main' || !v) { + var b = a4('textrm', r.fontWeight, r.fontShape); + return ol(a, b, i, r, s.concat(r.fontWeight, r.fontShape)); + } else { + var w = a4(v, r.fontWeight, r.fontShape); + return ol(a, w, i, r, s.concat(w, r.fontWeight, r.fontShape)); + } + } else throw new Error('unexpected type: ' + n + ' in makeOrd'); + }, 'makeOrd')), + (yxe = o((t, e) => { + if (dh(t.classes) !== dh(e.classes) || t.skew !== e.skew || t.maxFontSize !== e.maxFontSize) + return !1; + if (t.classes.length === 1) { + var r = t.classes[0]; + if (r === 'mbin' || r === 'mord') return !1; + } + for (var n in t.style) if (t.style.hasOwnProperty(n) && t.style[n] !== e.style[n]) return !1; + for (var i in e.style) if (e.style.hasOwnProperty(i) && t.style[i] !== e.style[i]) return !1; + return !0; + }, 'canCombine')), + (vxe = o((t) => { + for (var e = 0; e < t.length - 1; e++) { + var r = t[e], + n = t[e + 1]; + r instanceof ms && + n instanceof ms && + yxe(r, n) && + ((r.text += n.text), + (r.height = Math.max(r.height, n.height)), + (r.depth = Math.max(r.depth, n.depth)), + (r.italic = n.italic), + t.splice(e + 1, 1), + e--); + } + return t; + }, 'tryCombineChars')), + (I7 = o(function (e) { + for (var r = 0, n = 0, i = 0, a = 0; a < e.children.length; a++) { + var s = e.children[a]; + s.height > r && (r = s.height), + s.depth > n && (n = s.depth), + s.maxFontSize > i && (i = s.maxFontSize); + } + (e.height = r), (e.depth = n), (e.maxFontSize = i); + }, 'sizeElementFromChildren')), + (ds = o(function (e, r, n, i) { + var a = new jf(e, r, n, i); + return I7(a), a; + }, 'makeSpan')), + (OG = o((t, e, r, n) => new jf(t, e, r, n), 'makeSvgSpan')), + (xxe = o(function (e, r, n) { + var i = ds([e], [], r); + return ( + (i.height = Math.max(n || r.fontMetrics().defaultRuleThickness, r.minRuleThickness)), + (i.style.borderBottomWidth = ct(i.height)), + (i.maxFontSize = 1), + i + ); + }, 'makeLineSpan')), + (bxe = o(function (e, r, n, i) { + var a = new iy(e, r, n, i); + return I7(a), a; + }, 'makeAnchor')), + (PG = o(function (e) { + var r = new Xf(e); + return I7(r), r; + }, 'makeFragment')), + (wxe = o(function (e, r) { + return e instanceof Xf ? ds([], [e], r) : e; + }, 'wrapFragment')), + (Txe = o(function (e) { + if (e.positionType === 'individualShift') { + for ( + var r = e.children, n = [r[0]], i = -r[0].shift - r[0].elem.depth, a = i, s = 1; + s < r.length; + s++ + ) { + var l = -r[s].shift - a - r[s].elem.depth, + u = l - (r[s - 1].elem.height + r[s - 1].elem.depth); + (a = a + l), n.push({ type: 'kern', size: u }), n.push(r[s]); + } + return { children: n, depth: i }; + } + var h; + if (e.positionType === 'top') { + for (var f = e.positionData, d = 0; d < e.children.length; d++) { + var p = e.children[d]; + f -= p.type === 'kern' ? p.size : p.elem.height + p.elem.depth; + } + h = f; + } else if (e.positionType === 'bottom') h = -e.positionData; + else { + var m = e.children[0]; + if (m.type !== 'elem') throw new Error('First child must have type "elem".'); + if (e.positionType === 'shift') h = -m.elem.depth - e.positionData; + else if (e.positionType === 'firstBaseline') h = -m.elem.depth; + else throw new Error('Invalid positionType ' + e.positionType + '.'); + } + return { children: e.children, depth: h }; + }, 'getVListChildrenAndDepth')), + (kxe = o(function (e, r) { + for (var { children: n, depth: i } = Txe(e), a = 0, s = 0; s < n.length; s++) { + var l = n[s]; + if (l.type === 'elem') { + var u = l.elem; + a = Math.max(a, u.maxFontSize, u.height); + } + } + a += 2; + var h = ds(['pstrut'], []); + h.style.height = ct(a); + for (var f = [], d = i, p = i, m = i, g = 0; g < n.length; g++) { + var y = n[g]; + if (y.type === 'kern') m += y.size; + else { + var v = y.elem, + x = y.wrapperClasses || [], + b = y.wrapperStyle || {}, + w = ds(x, [h, v], void 0, b); + (w.style.top = ct(-a - m - v.depth)), + y.marginLeft && (w.style.marginLeft = y.marginLeft), + y.marginRight && (w.style.marginRight = y.marginRight), + f.push(w), + (m += v.height + v.depth); + } + (d = Math.min(d, m)), (p = Math.max(p, m)); + } + var S = ds(['vlist'], f); + S.style.height = ct(p); + var T; + if (d < 0) { + var E = ds([], []), + _ = ds(['vlist'], [E]); + _.style.height = ct(-d); + var A = ds(['vlist-s'], [new ms('\u200B')]); + T = [ds(['vlist-r'], [S, A]), ds(['vlist-r'], [_])]; + } else T = [ds(['vlist-r'], [S])]; + var L = ds(['vlist-t'], T); + return T.length === 2 && L.classes.push('vlist-t2'), (L.height = p), (L.depth = -d), L; + }, 'makeVList')), + (Exe = o((t, e) => { + var r = ds(['mspace'], [], e), + n = Hn(t, e); + return (r.style.marginRight = ct(n)), r; + }, 'makeGlue')), + (a4 = o(function (e, r, n) { + var i = ''; + switch (e) { + case 'amsrm': + i = 'AMS'; + break; + case 'textrm': + i = 'Main'; + break; + case 'textsf': + i = 'SansSerif'; + break; + case 'texttt': + i = 'Typewriter'; + break; + default: + i = e; + } + var a; + return ( + r === 'textbf' && n === 'textit' + ? (a = 'BoldItalic') + : r === 'textbf' + ? (a = 'Bold') + : r === 'textit' + ? (a = 'Italic') + : (a = 'Regular'), + i + '-' + a + ); + }, 'retrieveTextFontName')), + (BG = { + mathbf: { variant: 'bold', fontName: 'Main-Bold' }, + mathrm: { variant: 'normal', fontName: 'Main-Regular' }, + textit: { variant: 'italic', fontName: 'Main-Italic' }, + mathit: { variant: 'italic', fontName: 'Main-Italic' }, + mathnormal: { variant: 'italic', fontName: 'Math-Italic' }, + mathbb: { variant: 'double-struck', fontName: 'AMS-Regular' }, + mathcal: { variant: 'script', fontName: 'Caligraphic-Regular' }, + mathfrak: { variant: 'fraktur', fontName: 'Fraktur-Regular' }, + mathscr: { variant: 'script', fontName: 'Script-Regular' }, + mathsf: { variant: 'sans-serif', fontName: 'SansSerif-Regular' }, + mathtt: { variant: 'monospace', fontName: 'Typewriter-Regular' } + }), + (FG = { + vec: ['vec', 0.471, 0.714], + oiintSize1: ['oiintSize1', 0.957, 0.499], + oiintSize2: ['oiintSize2', 1.472, 0.659], + oiiintSize1: ['oiiintSize1', 1.304, 0.499], + oiiintSize2: ['oiiintSize2', 1.98, 0.659] + }), + (Cxe = o(function (e, r) { + var [n, i, a] = FG[e], + s = new Jl(n), + l = new ll([s], { + width: ct(i), + height: ct(a), + style: 'width:' + ct(i), + viewBox: '0 0 ' + 1e3 * i + ' ' + 1e3 * a, + preserveAspectRatio: 'xMinYMin' + }), + u = OG(['overlay'], [l], r); + return (u.height = a), (u.style.height = ct(a)), (u.style.width = ct(i)), u; + }, 'staticSvg')), + (Be = { + fontMap: BG, + makeSymbol: ol, + mathsym: pxe, + makeSpan: ds, + makeSvgSpan: OG, + makeLineSpan: xxe, + makeAnchor: bxe, + makeFragment: PG, + wrapFragment: wxe, + makeVList: kxe, + makeOrd: gxe, + makeGlue: Exe, + staticSvg: Cxe, + svgData: FG, + tryCombineChars: vxe + }), + (Un = { number: 3, unit: 'mu' }), + (Wf = { number: 4, unit: 'mu' }), + (nu = { number: 5, unit: 'mu' }), + (Sxe = { + mord: { mop: Un, mbin: Wf, mrel: nu, minner: Un }, + mop: { mord: Un, mop: Un, mrel: nu, minner: Un }, + mbin: { mord: Wf, mop: Wf, mopen: Wf, minner: Wf }, + mrel: { mord: nu, mop: nu, mopen: nu, minner: nu }, + mopen: {}, + mclose: { mop: Un, mbin: Wf, mrel: nu, minner: Un }, + mpunct: { + mord: Un, + mop: Un, + mrel: nu, + mopen: Un, + mclose: Un, + mpunct: Un, + minner: Un + }, + minner: { + mord: Un, + mop: Un, + mbin: Wf, + mrel: nu, + mopen: Un, + mpunct: Un, + minner: Un + } + }), + (Axe = { + mord: { mop: Un }, + mop: { mord: Un, mop: Un }, + mbin: {}, + mrel: {}, + mopen: {}, + mclose: { mop: Un }, + mpunct: {}, + minner: { mop: Un } + }), + (zG = {}), + (m4 = {}), + (g4 = {}); + o(vt, 'defineFunction'); + o(Kf, 'defineFunctionBuilders'); + (y4 = o(function (e) { + return e.type === 'ordgroup' && e.body.length === 1 ? e.body[0] : e; + }, 'normalizeArgument')), + (ui = o(function (e) { + return e.type === 'ordgroup' ? e.body : [e]; + }, 'ordargument')), + (su = Be.makeSpan), + (_xe = ['leftmost', 'mbin', 'mopen', 'mrel', 'mop', 'mpunct']), + (Lxe = ['rightmost', 'mrel', 'mclose', 'mpunct']), + (Dxe = { + display: Ht.DISPLAY, + text: Ht.TEXT, + script: Ht.SCRIPT, + scriptscript: Ht.SCRIPTSCRIPT + }), + (Rxe = { + mord: 'mord', + mop: 'mop', + mbin: 'mbin', + mrel: 'mrel', + mopen: 'mopen', + mclose: 'mclose', + mpunct: 'mpunct', + minner: 'minner' + }), + (Ri = o(function (e, r, n, i) { + i === void 0 && (i = [null, null]); + for (var a = [], s = 0; s < e.length; s++) { + var l = Cr(e[s], r); + if (l instanceof Xf) { + var u = l.children; + a.push(...u); + } else a.push(l); + } + if ((Be.tryCombineChars(a), !n)) return a; + var h = r; + if (e.length === 1) { + var f = e[0]; + f.type === 'sizing' + ? (h = r.havingSize(f.size)) + : f.type === 'styling' && (h = r.havingStyle(Dxe[f.style])); + } + var d = su([i[0] || 'leftmost'], [], r), + p = su([i[1] || 'rightmost'], [], r), + m = n === 'root'; + return ( + aG( + a, + (g, y) => { + var v = y.classes[0], + x = g.classes[0]; + v === 'mbin' && Vt.contains(Lxe, x) + ? (y.classes[0] = 'mord') + : x === 'mbin' && Vt.contains(_xe, v) && (g.classes[0] = 'mord'); + }, + { node: d }, + p, + m + ), + aG( + a, + (g, y) => { + var v = E7(y), + x = E7(g), + b = v && x ? (g.hasClass('mtight') ? Axe[v][x] : Sxe[v][x]) : null; + if (b) return Be.makeGlue(b, h); + }, + { node: d }, + p, + m + ), + a + ); + }, 'buildExpression')), + (aG = o(function t(e, r, n, i, a) { + i && e.push(i); + for (var s = 0; s < e.length; s++) { + var l = e[s], + u = GG(l); + if (u) { + t(u.children, r, n, null, a); + continue; + } + var h = !l.hasClass('mspace'); + if (h) { + var f = r(l, n.node); + f && (n.insertAfter ? n.insertAfter(f) : (e.unshift(f), s++)); + } + h ? (n.node = l) : a && l.hasClass('newline') && (n.node = su(['leftmost'])), + (n.insertAfter = ((d) => (p) => { + e.splice(d + 1, 0, p), s++; + })(s)); + } + i && e.pop(); + }, 'traverseNonSpaceNodes')), + (GG = o(function (e) { + return e instanceof Xf || e instanceof iy || (e instanceof jf && e.hasClass('enclosing')) + ? e + : null; + }, 'checkPartialGroup')), + (Nxe = o(function t(e, r) { + var n = GG(e); + if (n) { + var i = n.children; + if (i.length) { + if (r === 'right') return t(i[i.length - 1], 'right'); + if (r === 'left') return t(i[0], 'left'); + } + } + return e; + }, 'getOutermostNode')), + (E7 = o(function (e, r) { + return e ? (r && (e = Nxe(e, r)), Rxe[e.classes[0]] || null) : null; + }, 'getTypeOfDomTree')), + (sy = o(function (e, r) { + var n = ['nulldelimiter'].concat(e.baseSizingClasses()); + return su(r.concat(n)); + }, 'makeNullDelimiter')), + (Cr = o(function (e, r, n) { + if (!e) return su(); + if (m4[e.type]) { + var i = m4[e.type](e, r); + if (n && r.size !== n.size) { + i = su(r.sizingClasses(n), [i], r); + var a = r.sizeMultiplier / n.sizeMultiplier; + (i.height *= a), (i.depth *= a); + } + return i; + } else throw new nt("Got group of unknown type: '" + e.type + "'"); + }, 'buildGroup')); + o(s4, 'buildHTMLUnbreakable'); + o(C7, 'buildHTML'); + o($G, 'newDocumentFragment'); + (ps = class { + static { + o(this, 'MathNode'); + } + constructor(e, r, n) { + (this.type = void 0), + (this.attributes = void 0), + (this.children = void 0), + (this.classes = void 0), + (this.type = e), + (this.attributes = {}), + (this.children = r || []), + (this.classes = n || []); + } + setAttribute(e, r) { + this.attributes[e] = r; + } + getAttribute(e) { + return this.attributes[e]; + } + toNode() { + var e = document.createElementNS('http://www.w3.org/1998/Math/MathML', this.type); + for (var r in this.attributes) + Object.prototype.hasOwnProperty.call(this.attributes, r) && + e.setAttribute(r, this.attributes[r]); + this.classes.length > 0 && (e.className = dh(this.classes)); + for (var n = 0; n < this.children.length; n++) e.appendChild(this.children[n].toNode()); + return e; + } + toMarkup() { + var e = '<' + this.type; + for (var r in this.attributes) + Object.prototype.hasOwnProperty.call(this.attributes, r) && + ((e += ' ' + r + '="'), (e += Vt.escape(this.attributes[r])), (e += '"')); + this.classes.length > 0 && (e += ' class ="' + Vt.escape(dh(this.classes)) + '"'), (e += '>'); + for (var n = 0; n < this.children.length; n++) e += this.children[n].toMarkup(); + return (e += ''), e; + } + toText() { + return this.children.map((e) => e.toText()).join(''); + } + }), + (qf = class { + static { + o(this, 'TextNode'); + } + constructor(e) { + (this.text = void 0), (this.text = e); + } + toNode() { + return document.createTextNode(this.text); + } + toMarkup() { + return Vt.escape(this.toText()); + } + toText() { + return this.text; + } + }), + (S7 = class { + static { + o(this, 'SpaceNode'); + } + constructor(e) { + (this.width = void 0), + (this.character = void 0), + (this.width = e), + e >= 0.05555 && e <= 0.05556 + ? (this.character = '\u200A') + : e >= 0.1666 && e <= 0.1667 + ? (this.character = '\u2009') + : e >= 0.2222 && e <= 0.2223 + ? (this.character = '\u2005') + : e >= 0.2777 && e <= 0.2778 + ? (this.character = '\u2005\u200A') + : e >= -0.05556 && e <= -0.05555 + ? (this.character = '\u200A\u2063') + : e >= -0.1667 && e <= -0.1666 + ? (this.character = '\u2009\u2063') + : e >= -0.2223 && e <= -0.2222 + ? (this.character = '\u205F\u2063') + : e >= -0.2778 && e <= -0.2777 + ? (this.character = '\u2005\u2063') + : (this.character = null); + } + toNode() { + if (this.character) return document.createTextNode(this.character); + var e = document.createElementNS('http://www.w3.org/1998/Math/MathML', 'mspace'); + return e.setAttribute('width', ct(this.width)), e; + } + toMarkup() { + return this.character + ? '' + this.character + '' + : ''; + } + toText() { + return this.character ? this.character : ' '; + } + }), + (et = { + MathNode: ps, + TextNode: qf, + SpaceNode: S7, + newDocumentFragment: $G + }), + (_o = o(function (e, r, n) { + return ( + wn[r][e] && + wn[r][e].replace && + e.charCodeAt(0) !== 55349 && + !( + IG.hasOwnProperty(e) && + n && + ((n.fontFamily && n.fontFamily.slice(4, 6) === 'tt') || + (n.font && n.font.slice(4, 6) === 'tt')) + ) && + (e = wn[r][e].replace), + new et.TextNode(e) + ); + }, 'makeText')), + (O7 = o(function (e) { + return e.length === 1 ? e[0] : new et.MathNode('mrow', e); + }, 'makeRow')), + (P7 = o(function (e, r) { + if (r.fontFamily === 'texttt') return 'monospace'; + if (r.fontFamily === 'textsf') + return r.fontShape === 'textit' && r.fontWeight === 'textbf' + ? 'sans-serif-bold-italic' + : r.fontShape === 'textit' + ? 'sans-serif-italic' + : r.fontWeight === 'textbf' + ? 'bold-sans-serif' + : 'sans-serif'; + if (r.fontShape === 'textit' && r.fontWeight === 'textbf') return 'bold-italic'; + if (r.fontShape === 'textit') return 'italic'; + if (r.fontWeight === 'textbf') return 'bold'; + var n = r.font; + if (!n || n === 'mathnormal') return null; + var i = e.mode; + if (n === 'mathit') return 'italic'; + if (n === 'boldsymbol') return e.type === 'textord' ? 'bold' : 'bold-italic'; + if (n === 'mathbf') return 'bold'; + if (n === 'mathbb') return 'double-struck'; + if (n === 'mathfrak') return 'fraktur'; + if (n === 'mathscr' || n === 'mathcal') return 'script'; + if (n === 'mathsf') return 'sans-serif'; + if (n === 'mathtt') return 'monospace'; + var a = e.text; + if (Vt.contains(['\\imath', '\\jmath'], a)) return null; + wn[i][a] && wn[i][a].replace && (a = wn[i][a].replace); + var s = Be.fontMap[n].fontName; + return M7(a, s, i) ? Be.fontMap[n].variant : null; + }, 'getVariant')), + (gs = o(function (e, r, n) { + if (e.length === 1) { + var i = fn(e[0], r); + return ( + n && + i instanceof ps && + i.type === 'mo' && + (i.setAttribute('lspace', '0em'), i.setAttribute('rspace', '0em')), + [i] + ); + } + for (var a = [], s, l = 0; l < e.length; l++) { + var u = fn(e[l], r); + if (u instanceof ps && s instanceof ps) { + if ( + u.type === 'mtext' && + s.type === 'mtext' && + u.getAttribute('mathvariant') === s.getAttribute('mathvariant') + ) { + s.children.push(...u.children); + continue; + } else if (u.type === 'mn' && s.type === 'mn') { + s.children.push(...u.children); + continue; + } else if (u.type === 'mi' && u.children.length === 1 && s.type === 'mn') { + var h = u.children[0]; + if (h instanceof qf && h.text === '.') { + s.children.push(...u.children); + continue; + } + } else if (s.type === 'mi' && s.children.length === 1) { + var f = s.children[0]; + if ( + f instanceof qf && + f.text === '\u0338' && + (u.type === 'mo' || u.type === 'mi' || u.type === 'mn') + ) { + var d = u.children[0]; + d instanceof qf && + d.text.length > 0 && + ((d.text = d.text.slice(0, 1) + '\u0338' + d.text.slice(1)), a.pop()); + } + } + } + a.push(u), (s = u); + } + return a; + }, 'buildExpression')), + (ph = o(function (e, r, n) { + return O7(gs(e, r, n)); + }, 'buildExpressionRow')), + (fn = o(function (e, r) { + if (!e) return new et.MathNode('mrow'); + if (g4[e.type]) { + var n = g4[e.type](e, r); + return n; + } else throw new nt("Got group of unknown type: '" + e.type + "'"); + }, 'buildGroup')); + o(sG, 'buildMathML'); + (VG = o(function (e) { + return new d4({ + style: e.displayMode ? Ht.DISPLAY : Ht.TEXT, + maxSize: e.maxSize, + minRuleThickness: e.minRuleThickness + }); + }, 'optionsFromSettings')), + (UG = o(function (e, r) { + if (r.displayMode) { + var n = ['katex-display']; + r.leqno && n.push('leqno'), r.fleqn && n.push('fleqn'), (e = Be.makeSpan(n, [e])); + } + return e; + }, 'displayWrap')), + (Mxe = o(function (e, r, n) { + var i = VG(n), + a; + if (n.output === 'mathml') return sG(e, r, i, n.displayMode, !0); + if (n.output === 'html') { + var s = C7(e, i); + a = Be.makeSpan(['katex'], [s]); + } else { + var l = sG(e, r, i, n.displayMode, !1), + u = C7(e, i); + a = Be.makeSpan(['katex'], [l, u]); + } + return UG(a, n); + }, 'buildTree')), + (Ixe = o(function (e, r, n) { + var i = VG(n), + a = C7(e, i), + s = Be.makeSpan(['katex'], [a]); + return UG(s, n); + }, 'buildHTMLTree')), + (Oxe = { + widehat: '^', + widecheck: '\u02C7', + widetilde: '~', + utilde: '~', + overleftarrow: '\u2190', + underleftarrow: '\u2190', + xleftarrow: '\u2190', + overrightarrow: '\u2192', + underrightarrow: '\u2192', + xrightarrow: '\u2192', + underbrace: '\u23DF', + overbrace: '\u23DE', + overgroup: '\u23E0', + undergroup: '\u23E1', + overleftrightarrow: '\u2194', + underleftrightarrow: '\u2194', + xleftrightarrow: '\u2194', + Overrightarrow: '\u21D2', + xRightarrow: '\u21D2', + overleftharpoon: '\u21BC', + xleftharpoonup: '\u21BC', + overrightharpoon: '\u21C0', + xrightharpoonup: '\u21C0', + xLeftarrow: '\u21D0', + xLeftrightarrow: '\u21D4', + xhookleftarrow: '\u21A9', + xhookrightarrow: '\u21AA', + xmapsto: '\u21A6', + xrightharpoondown: '\u21C1', + xleftharpoondown: '\u21BD', + xrightleftharpoons: '\u21CC', + xleftrightharpoons: '\u21CB', + xtwoheadleftarrow: '\u219E', + xtwoheadrightarrow: '\u21A0', + xlongequal: '=', + xtofrom: '\u21C4', + xrightleftarrows: '\u21C4', + xrightequilibrium: '\u21CC', + xleftequilibrium: '\u21CB', + '\\cdrightarrow': '\u2192', + '\\cdleftarrow': '\u2190', + '\\cdlongequal': '=' + }), + (Pxe = o(function (e) { + var r = new et.MathNode('mo', [new et.TextNode(Oxe[e.replace(/^\\/, '')])]); + return r.setAttribute('stretchy', 'true'), r; + }, 'mathMLnode')), + (Bxe = { + overrightarrow: [['rightarrow'], 0.888, 522, 'xMaxYMin'], + overleftarrow: [['leftarrow'], 0.888, 522, 'xMinYMin'], + underrightarrow: [['rightarrow'], 0.888, 522, 'xMaxYMin'], + underleftarrow: [['leftarrow'], 0.888, 522, 'xMinYMin'], + xrightarrow: [['rightarrow'], 1.469, 522, 'xMaxYMin'], + '\\cdrightarrow': [['rightarrow'], 3, 522, 'xMaxYMin'], + xleftarrow: [['leftarrow'], 1.469, 522, 'xMinYMin'], + '\\cdleftarrow': [['leftarrow'], 3, 522, 'xMinYMin'], + Overrightarrow: [['doublerightarrow'], 0.888, 560, 'xMaxYMin'], + xRightarrow: [['doublerightarrow'], 1.526, 560, 'xMaxYMin'], + xLeftarrow: [['doubleleftarrow'], 1.526, 560, 'xMinYMin'], + overleftharpoon: [['leftharpoon'], 0.888, 522, 'xMinYMin'], + xleftharpoonup: [['leftharpoon'], 0.888, 522, 'xMinYMin'], + xleftharpoondown: [['leftharpoondown'], 0.888, 522, 'xMinYMin'], + overrightharpoon: [['rightharpoon'], 0.888, 522, 'xMaxYMin'], + xrightharpoonup: [['rightharpoon'], 0.888, 522, 'xMaxYMin'], + xrightharpoondown: [['rightharpoondown'], 0.888, 522, 'xMaxYMin'], + xlongequal: [['longequal'], 0.888, 334, 'xMinYMin'], + '\\cdlongequal': [['longequal'], 3, 334, 'xMinYMin'], + xtwoheadleftarrow: [['twoheadleftarrow'], 0.888, 334, 'xMinYMin'], + xtwoheadrightarrow: [['twoheadrightarrow'], 0.888, 334, 'xMaxYMin'], + overleftrightarrow: [['leftarrow', 'rightarrow'], 0.888, 522], + overbrace: [['leftbrace', 'midbrace', 'rightbrace'], 1.6, 548], + underbrace: [['leftbraceunder', 'midbraceunder', 'rightbraceunder'], 1.6, 548], + underleftrightarrow: [['leftarrow', 'rightarrow'], 0.888, 522], + xleftrightarrow: [['leftarrow', 'rightarrow'], 1.75, 522], + xLeftrightarrow: [['doubleleftarrow', 'doublerightarrow'], 1.75, 560], + xrightleftharpoons: [['leftharpoondownplus', 'rightharpoonplus'], 1.75, 716], + xleftrightharpoons: [['leftharpoonplus', 'rightharpoondownplus'], 1.75, 716], + xhookleftarrow: [['leftarrow', 'righthook'], 1.08, 522], + xhookrightarrow: [['lefthook', 'rightarrow'], 1.08, 522], + overlinesegment: [['leftlinesegment', 'rightlinesegment'], 0.888, 522], + underlinesegment: [['leftlinesegment', 'rightlinesegment'], 0.888, 522], + overgroup: [['leftgroup', 'rightgroup'], 0.888, 342], + undergroup: [['leftgroupunder', 'rightgroupunder'], 0.888, 342], + xmapsto: [['leftmapsto', 'rightarrow'], 1.5, 522], + xtofrom: [['leftToFrom', 'rightToFrom'], 1.75, 528], + xrightleftarrows: [['baraboveleftarrow', 'rightarrowabovebar'], 1.75, 901], + xrightequilibrium: [['baraboveshortleftharpoon', 'rightharpoonaboveshortbar'], 1.75, 716], + xleftequilibrium: [['shortbaraboveleftharpoon', 'shortrightharpoonabovebar'], 1.75, 716] + }), + (Fxe = o(function (e) { + return e.type === 'ordgroup' ? e.body.length : 1; + }, 'groupLength')), + (zxe = o(function (e, r) { + function n() { + var l = 4e5, + u = e.label.slice(1); + if (Vt.contains(['widehat', 'widecheck', 'widetilde', 'utilde'], u)) { + var h = e, + f = Fxe(h.base), + d, + p, + m; + if (f > 5) + u === 'widehat' || u === 'widecheck' + ? ((d = 420), (l = 2364), (m = 0.42), (p = u + '4')) + : ((d = 312), (l = 2340), (m = 0.34), (p = 'tilde4')); + else { + var g = [1, 1, 2, 2, 3, 3][f]; + u === 'widehat' || u === 'widecheck' + ? ((l = [0, 1062, 2364, 2364, 2364][g]), + (d = [0, 239, 300, 360, 420][g]), + (m = [0, 0.24, 0.3, 0.3, 0.36, 0.42][g]), + (p = u + g)) + : ((l = [0, 600, 1033, 2339, 2340][g]), + (d = [0, 260, 286, 306, 312][g]), + (m = [0, 0.26, 0.286, 0.3, 0.306, 0.34][g]), + (p = 'tilde' + g)); + } + var y = new Jl(p), + v = new ll([y], { + width: '100%', + height: ct(m), + viewBox: '0 0 ' + l + ' ' + d, + preserveAspectRatio: 'none' + }); + return { + span: Be.makeSvgSpan([], [v], r), + minWidth: 0, + height: m + }; + } else { + var x = [], + b = Bxe[u], + [w, S, T] = b, + E = T / 1e3, + _ = w.length, + A, + L; + if (_ === 1) { + var M = b[3]; + (A = ['hide-tail']), (L = [M]); + } else if (_ === 2) + (A = ['halfarrow-left', 'halfarrow-right']), (L = ['xMinYMin', 'xMaxYMin']); + else if (_ === 3) + (A = ['brace-left', 'brace-center', 'brace-right']), + (L = ['xMinYMin', 'xMidYMin', 'xMaxYMin']); + else + throw new Error( + `Correct katexImagesData or update code here to support + ` + + _ + + ' children.' + ); + for (var N = 0; N < _; N++) { + var k = new Jl(w[N]), + I = new ll([k], { + width: '400em', + height: ct(E), + viewBox: '0 0 ' + l + ' ' + T, + preserveAspectRatio: L[N] + ' slice' + }), + C = Be.makeSvgSpan([A[N]], [I], r); + if (_ === 1) return { span: C, minWidth: S, height: E }; + (C.style.height = ct(E)), x.push(C); + } + return { + span: Be.makeSpan(['stretchy'], x, r), + minWidth: S, + height: E + }; + } + } + o(n, 'buildSvgSpan_'); + var { span: i, minWidth: a, height: s } = n(); + return (i.height = s), (i.style.height = ct(s)), a > 0 && (i.style.minWidth = ct(a)), i; + }, 'svgSpan')), + (Gxe = o(function (e, r, n, i, a) { + var s, + l = e.height + e.depth + n + i; + if (/fbox|color|angl/.test(r)) { + if (((s = Be.makeSpan(['stretchy', r], [], a)), r === 'fbox')) { + var u = a.color && a.getColor(); + u && (s.style.borderColor = u); + } + } else { + var h = []; + /^[bx]cancel$/.test(r) && + h.push( + new ay({ + x1: '0', + y1: '0', + x2: '100%', + y2: '100%', + 'stroke-width': '0.046em' + }) + ), + /^x?cancel$/.test(r) && + h.push( + new ay({ + x1: '0', + y1: '100%', + x2: '100%', + y2: '0', + 'stroke-width': '0.046em' + }) + ); + var f = new ll(h, { width: '100%', height: ct(l) }); + s = Be.makeSvgSpan([], [f], a); + } + return (s.height = l), (s.style.height = ct(l)), s; + }, 'encloseSpan')), + (ou = { encloseSpan: Gxe, mathMLnode: Pxe, svgSpan: zxe }); + o(ir, 'assertNodeType'); + o(B7, 'assertSymbolNodeType'); + o(T4, 'checkSymbolNodeType'); + (F7 = o((t, e) => { + var r, n, i; + t && t.type === 'supsub' + ? ((n = ir(t.base, 'accent')), (r = n.base), (t.base = r), (i = uxe(Cr(t, e))), (t.base = n)) + : ((n = ir(t, 'accent')), (r = n.base)); + var a = Cr(r, e.havingCrampedStyle()), + s = n.isShifty && Vt.isCharacterBox(r), + l = 0; + if (s) { + var u = Vt.getBaseElem(r), + h = Cr(u, e.havingCrampedStyle()); + l = tG(h).skew; + } + var f = n.label === '\\c', + d = f ? a.height + a.depth : Math.min(a.height, e.fontMetrics().xHeight), + p; + if (n.isStretchy) + (p = ou.svgSpan(n, e)), + (p = Be.makeVList( + { + positionType: 'firstBaseline', + children: [ + { type: 'elem', elem: a }, + { + type: 'elem', + elem: p, + wrapperClasses: ['svg-align'], + wrapperStyle: + l > 0 + ? { + width: 'calc(100% - ' + ct(2 * l) + ')', + marginLeft: ct(2 * l) + } + : void 0 + } + ] + }, + e + )); + else { + var m, g; + n.label === '\\vec' + ? ((m = Be.staticSvg('vec', e)), (g = Be.svgData.vec[1])) + : ((m = Be.makeOrd({ mode: n.mode, text: n.label }, e, 'textord')), + (m = tG(m)), + (m.italic = 0), + (g = m.width), + f && (d += m.depth)), + (p = Be.makeSpan(['accent-body'], [m])); + var y = n.label === '\\textcircled'; + y && (p.classes.push('accent-full'), (d = a.height)); + var v = l; + y || (v -= g / 2), + (p.style.left = ct(v)), + n.label === '\\textcircled' && (p.style.top = '.2em'), + (p = Be.makeVList( + { + positionType: 'firstBaseline', + children: [ + { type: 'elem', elem: a }, + { type: 'kern', size: -d }, + { type: 'elem', elem: p } + ] + }, + e + )); + } + var x = Be.makeSpan(['mord', 'accent'], [p], e); + return i + ? ((i.children[0] = x), (i.height = Math.max(x.height, i.height)), (i.classes[0] = 'mord'), i) + : x; + }, 'htmlBuilder$a')), + (HG = o((t, e) => { + var r = t.isStretchy ? ou.mathMLnode(t.label) : new et.MathNode('mo', [_o(t.label, t.mode)]), + n = new et.MathNode('mover', [fn(t.base, e), r]); + return n.setAttribute('accent', 'true'), n; + }, 'mathmlBuilder$9')), + ($xe = new RegExp( + [ + '\\acute', + '\\grave', + '\\ddot', + '\\tilde', + '\\bar', + '\\breve', + '\\check', + '\\hat', + '\\vec', + '\\dot', + '\\mathring' + ] + .map((t) => '\\' + t) + .join('|') + )); + vt({ + type: 'accent', + names: [ + '\\acute', + '\\grave', + '\\ddot', + '\\tilde', + '\\bar', + '\\breve', + '\\check', + '\\hat', + '\\vec', + '\\dot', + '\\mathring', + '\\widecheck', + '\\widehat', + '\\widetilde', + '\\overrightarrow', + '\\overleftarrow', + '\\Overrightarrow', + '\\overleftrightarrow', + '\\overgroup', + '\\overlinesegment', + '\\overleftharpoon', + '\\overrightharpoon' + ], + props: { numArgs: 1 }, + handler: o((t, e) => { + var r = y4(e[0]), + n = !$xe.test(t.funcName), + i = + !n || + t.funcName === '\\widehat' || + t.funcName === '\\widetilde' || + t.funcName === '\\widecheck'; + return { + type: 'accent', + mode: t.parser.mode, + label: t.funcName, + isStretchy: n, + isShifty: i, + base: r + }; + }, 'handler'), + htmlBuilder: F7, + mathmlBuilder: HG + }); + vt({ + type: 'accent', + names: [ + "\\'", + '\\`', + '\\^', + '\\~', + '\\=', + '\\u', + '\\.', + '\\"', + '\\c', + '\\r', + '\\H', + '\\v', + '\\textcircled' + ], + props: { + numArgs: 1, + allowedInText: !0, + allowedInMath: !0, + argTypes: ['primitive'] + }, + handler: o((t, e) => { + var r = e[0], + n = t.parser.mode; + return ( + n === 'math' && + (t.parser.settings.reportNonstrict( + 'mathVsTextAccents', + "LaTeX's accent " + t.funcName + ' works only in text mode' + ), + (n = 'text')), + { + type: 'accent', + mode: n, + label: t.funcName, + isStretchy: !1, + isShifty: !0, + base: r + } + ); + }, 'handler'), + htmlBuilder: F7, + mathmlBuilder: HG + }); + vt({ + type: 'accentUnder', + names: [ + '\\underleftarrow', + '\\underrightarrow', + '\\underleftrightarrow', + '\\undergroup', + '\\underlinesegment', + '\\utilde' + ], + props: { numArgs: 1 }, + handler: o((t, e) => { + var { parser: r, funcName: n } = t, + i = e[0]; + return { type: 'accentUnder', mode: r.mode, label: n, base: i }; + }, 'handler'), + htmlBuilder: o((t, e) => { + var r = Cr(t.base, e), + n = ou.svgSpan(t, e), + i = t.label === '\\utilde' ? 0.12 : 0, + a = Be.makeVList( + { + positionType: 'top', + positionData: r.height, + children: [ + { type: 'elem', elem: n, wrapperClasses: ['svg-align'] }, + { type: 'kern', size: i }, + { type: 'elem', elem: r } + ] + }, + e + ); + return Be.makeSpan(['mord', 'accentunder'], [a], e); + }, 'htmlBuilder'), + mathmlBuilder: o((t, e) => { + var r = ou.mathMLnode(t.label), + n = new et.MathNode('munder', [fn(t.base, e), r]); + return n.setAttribute('accentunder', 'true'), n; + }, 'mathmlBuilder') + }); + o4 = o((t) => { + var e = new et.MathNode('mpadded', t ? [t] : []); + return e.setAttribute('width', '+0.6em'), e.setAttribute('lspace', '0.3em'), e; + }, 'paddedNode'); + vt({ + type: 'xArrow', + names: [ + '\\xleftarrow', + '\\xrightarrow', + '\\xLeftarrow', + '\\xRightarrow', + '\\xleftrightarrow', + '\\xLeftrightarrow', + '\\xhookleftarrow', + '\\xhookrightarrow', + '\\xmapsto', + '\\xrightharpoondown', + '\\xrightharpoonup', + '\\xleftharpoondown', + '\\xleftharpoonup', + '\\xrightleftharpoons', + '\\xleftrightharpoons', + '\\xlongequal', + '\\xtwoheadrightarrow', + '\\xtwoheadleftarrow', + '\\xtofrom', + '\\xrightleftarrows', + '\\xrightequilibrium', + '\\xleftequilibrium', + '\\\\cdrightarrow', + '\\\\cdleftarrow', + '\\\\cdlongequal' + ], + props: { numArgs: 1, numOptionalArgs: 1 }, + handler(t, e, r) { + var { parser: n, funcName: i } = t; + return { + type: 'xArrow', + mode: n.mode, + label: i, + body: e[0], + below: r[0] + }; + }, + htmlBuilder(t, e) { + var r = e.style, + n = e.havingStyle(r.sup()), + i = Be.wrapFragment(Cr(t.body, n, e), e), + a = t.label.slice(0, 2) === '\\x' ? 'x' : 'cd'; + i.classes.push(a + '-arrow-pad'); + var s; + t.below && + ((n = e.havingStyle(r.sub())), + (s = Be.wrapFragment(Cr(t.below, n, e), e)), + s.classes.push(a + '-arrow-pad')); + var l = ou.svgSpan(t, e), + u = -e.fontMetrics().axisHeight + 0.5 * l.height, + h = -e.fontMetrics().axisHeight - 0.5 * l.height - 0.111; + (i.depth > 0.25 || t.label === '\\xleftequilibrium') && (h -= i.depth); + var f; + if (s) { + var d = -e.fontMetrics().axisHeight + s.height + 0.5 * l.height + 0.111; + f = Be.makeVList( + { + positionType: 'individualShift', + children: [ + { type: 'elem', elem: i, shift: h }, + { type: 'elem', elem: l, shift: u }, + { type: 'elem', elem: s, shift: d } + ] + }, + e + ); + } else + f = Be.makeVList( + { + positionType: 'individualShift', + children: [ + { type: 'elem', elem: i, shift: h }, + { type: 'elem', elem: l, shift: u } + ] + }, + e + ); + return ( + f.children[0].children[0].children[1].classes.push('svg-align'), + Be.makeSpan(['mrel', 'x-arrow'], [f], e) + ); + }, + mathmlBuilder(t, e) { + var r = ou.mathMLnode(t.label); + r.setAttribute('minsize', t.label.charAt(0) === 'x' ? '1.75em' : '3.0em'); + var n; + if (t.body) { + var i = o4(fn(t.body, e)); + if (t.below) { + var a = o4(fn(t.below, e)); + n = new et.MathNode('munderover', [r, a, i]); + } else n = new et.MathNode('mover', [r, i]); + } else if (t.below) { + var s = o4(fn(t.below, e)); + n = new et.MathNode('munder', [r, s]); + } else (n = o4()), (n = new et.MathNode('mover', [r, n])); + return n; + } + }); + Vxe = Be.makeSpan; + o(YG, 'htmlBuilder$9'); + o(WG, 'mathmlBuilder$8'); + vt({ + type: 'mclass', + names: [ + '\\mathord', + '\\mathbin', + '\\mathrel', + '\\mathopen', + '\\mathclose', + '\\mathpunct', + '\\mathinner' + ], + props: { numArgs: 1, primitive: !0 }, + handler(t, e) { + var { parser: r, funcName: n } = t, + i = e[0]; + return { + type: 'mclass', + mode: r.mode, + mclass: 'm' + n.slice(5), + body: ui(i), + isCharacterBox: Vt.isCharacterBox(i) + }; + }, + htmlBuilder: YG, + mathmlBuilder: WG + }); + k4 = o((t) => { + var e = t.type === 'ordgroup' && t.body.length ? t.body[0] : t; + return e.type === 'atom' && (e.family === 'bin' || e.family === 'rel') ? 'm' + e.family : 'mord'; + }, 'binrelClass'); + vt({ + type: 'mclass', + names: ['\\@binrel'], + props: { numArgs: 2 }, + handler(t, e) { + var { parser: r } = t; + return { + type: 'mclass', + mode: r.mode, + mclass: k4(e[0]), + body: ui(e[1]), + isCharacterBox: Vt.isCharacterBox(e[1]) + }; + } + }); + vt({ + type: 'mclass', + names: ['\\stackrel', '\\overset', '\\underset'], + props: { numArgs: 2 }, + handler(t, e) { + var { parser: r, funcName: n } = t, + i = e[1], + a = e[0], + s; + n !== '\\stackrel' ? (s = k4(i)) : (s = 'mrel'); + var l = { + type: 'op', + mode: i.mode, + limits: !0, + alwaysHandleSupSub: !0, + parentIsSupSub: !1, + symbol: !1, + suppressBaseShift: n !== '\\stackrel', + body: ui(i) + }, + u = { + type: 'supsub', + mode: a.mode, + base: l, + sup: n === '\\underset' ? null : a, + sub: n === '\\underset' ? a : null + }; + return { + type: 'mclass', + mode: r.mode, + mclass: s, + body: [u], + isCharacterBox: Vt.isCharacterBox(u) + }; + }, + htmlBuilder: YG, + mathmlBuilder: WG + }); + vt({ + type: 'pmb', + names: ['\\pmb'], + props: { numArgs: 1, allowedInText: !0 }, + handler(t, e) { + var { parser: r } = t; + return { + type: 'pmb', + mode: r.mode, + mclass: k4(e[0]), + body: ui(e[0]) + }; + }, + htmlBuilder(t, e) { + var r = Ri(t.body, e, !0), + n = Be.makeSpan([t.mclass], r, e); + return (n.style.textShadow = '0.02em 0.01em 0.04px'), n; + }, + mathmlBuilder(t, e) { + var r = gs(t.body, e), + n = new et.MathNode('mstyle', r); + return n.setAttribute('style', 'text-shadow: 0.02em 0.01em 0.04px'), n; + } + }); + (Uxe = { + '>': '\\\\cdrightarrow', + '<': '\\\\cdleftarrow', + '=': '\\\\cdlongequal', + A: '\\uparrow', + V: '\\downarrow', + '|': '\\Vert', + '.': 'no arrow' + }), + (oG = o(() => ({ type: 'styling', body: [], mode: 'math', style: 'display' }), 'newCell')), + (lG = o((t) => t.type === 'textord' && t.text === '@', 'isStartOfArrow')), + (Hxe = o((t, e) => (t.type === 'mathord' || t.type === 'atom') && t.text === e, 'isLabelEnd')); + o(Yxe, 'cdArrow'); + o(Wxe, 'parseCD'); + vt({ + type: 'cdlabel', + names: ['\\\\cdleft', '\\\\cdright'], + props: { numArgs: 1 }, + handler(t, e) { + var { parser: r, funcName: n } = t; + return { + type: 'cdlabel', + mode: r.mode, + side: n.slice(4), + label: e[0] + }; + }, + htmlBuilder(t, e) { + var r = e.havingStyle(e.style.sup()), + n = Be.wrapFragment(Cr(t.label, r, e), e); + return ( + n.classes.push('cd-label-' + t.side), + (n.style.bottom = ct(0.8 - n.depth)), + (n.height = 0), + (n.depth = 0), + n + ); + }, + mathmlBuilder(t, e) { + var r = new et.MathNode('mrow', [fn(t.label, e)]); + return ( + (r = new et.MathNode('mpadded', [r])), + r.setAttribute('width', '0'), + t.side === 'left' && r.setAttribute('lspace', '-1width'), + r.setAttribute('voffset', '0.7em'), + (r = new et.MathNode('mstyle', [r])), + r.setAttribute('displaystyle', 'false'), + r.setAttribute('scriptlevel', '1'), + r + ); + } + }); + vt({ + type: 'cdlabelparent', + names: ['\\\\cdparent'], + props: { numArgs: 1 }, + handler(t, e) { + var { parser: r } = t; + return { type: 'cdlabelparent', mode: r.mode, fragment: e[0] }; + }, + htmlBuilder(t, e) { + var r = Be.wrapFragment(Cr(t.fragment, e), e); + return r.classes.push('cd-vert-arrow'), r; + }, + mathmlBuilder(t, e) { + return new et.MathNode('mrow', [fn(t.fragment, e)]); + } + }); + vt({ + type: 'textord', + names: ['\\@char'], + props: { numArgs: 1, allowedInText: !0 }, + handler(t, e) { + for ( + var { parser: r } = t, n = ir(e[0], 'ordgroup'), i = n.body, a = '', s = 0; + s < i.length; + s++ + ) { + var l = ir(i[s], 'textord'); + a += l.text; + } + var u = parseInt(a), + h; + if (isNaN(u)) throw new nt('\\@char has non-numeric argument ' + a); + if (u < 0 || u >= 1114111) throw new nt('\\@char with invalid code point ' + a); + return ( + u <= 65535 + ? (h = String.fromCharCode(u)) + : ((u -= 65536), (h = String.fromCharCode((u >> 10) + 55296, (u & 1023) + 56320))), + { type: 'textord', mode: r.mode, text: h } + ); + } + }); + (qG = o((t, e) => { + var r = Ri(t.body, e.withColor(t.color), !1); + return Be.makeFragment(r); + }, 'htmlBuilder$8')), + (XG = o((t, e) => { + var r = gs(t.body, e.withColor(t.color)), + n = new et.MathNode('mstyle', r); + return n.setAttribute('mathcolor', t.color), n; + }, 'mathmlBuilder$7')); + vt({ + type: 'color', + names: ['\\textcolor'], + props: { + numArgs: 2, + allowedInText: !0, + argTypes: ['color', 'original'] + }, + handler(t, e) { + var { parser: r } = t, + n = ir(e[0], 'color-token').color, + i = e[1]; + return { type: 'color', mode: r.mode, color: n, body: ui(i) }; + }, + htmlBuilder: qG, + mathmlBuilder: XG + }); + vt({ + type: 'color', + names: ['\\color'], + props: { numArgs: 1, allowedInText: !0, argTypes: ['color'] }, + handler(t, e) { + var { parser: r, breakOnTokenText: n } = t, + i = ir(e[0], 'color-token').color; + r.gullet.macros.set('\\current@color', i); + var a = r.parseExpression(!0, n); + return { type: 'color', mode: r.mode, color: i, body: a }; + }, + htmlBuilder: qG, + mathmlBuilder: XG + }); + vt({ + type: 'cr', + names: ['\\\\'], + props: { numArgs: 0, numOptionalArgs: 0, allowedInText: !0 }, + handler(t, e, r) { + var { parser: n } = t, + i = n.gullet.future().text === '[' ? n.parseSizeGroup(!0) : null, + a = + !n.settings.displayMode || + !n.settings.useStrictBehavior( + 'newLineInDisplayMode', + 'In LaTeX, \\\\ or \\newline does nothing in display mode' + ); + return { + type: 'cr', + mode: n.mode, + newLine: a, + size: i && ir(i, 'size').value + }; + }, + htmlBuilder(t, e) { + var r = Be.makeSpan(['mspace'], [], e); + return ( + t.newLine && (r.classes.push('newline'), t.size && (r.style.marginTop = ct(Hn(t.size, e)))), r + ); + }, + mathmlBuilder(t, e) { + var r = new et.MathNode('mspace'); + return ( + t.newLine && + (r.setAttribute('linebreak', 'newline'), + t.size && r.setAttribute('height', ct(Hn(t.size, e)))), + r + ); + } + }); + (A7 = { + '\\global': '\\global', + '\\long': '\\\\globallong', + '\\\\globallong': '\\\\globallong', + '\\def': '\\gdef', + '\\gdef': '\\gdef', + '\\edef': '\\xdef', + '\\xdef': '\\xdef', + '\\let': '\\\\globallet', + '\\futurelet': '\\\\globalfuture' + }), + (jG = o((t) => { + var e = t.text; + if (/^(?:[\\{}$&#^_]|EOF)$/.test(e)) throw new nt('Expected a control sequence', t); + return e; + }, 'checkControlSequence')), + (qxe = o((t) => { + var e = t.gullet.popToken(); + return ( + e.text === '=' && ((e = t.gullet.popToken()), e.text === ' ' && (e = t.gullet.popToken())), e + ); + }, 'getRHS')), + (KG = o((t, e, r, n) => { + var i = t.gullet.macros.get(r.text); + i == null && + ((r.noexpand = !0), + (i = { + tokens: [r], + numArgs: 0, + unexpandable: !t.gullet.isExpandable(r.text) + })), + t.gullet.macros.set(e, i, n); + }, 'letCommand')); + vt({ + type: 'internal', + names: ['\\global', '\\long', '\\\\globallong'], + props: { numArgs: 0, allowedInText: !0 }, + handler(t) { + var { parser: e, funcName: r } = t; + e.consumeSpaces(); + var n = e.fetch(); + if (A7[n.text]) + return ( + (r === '\\global' || r === '\\\\globallong') && (n.text = A7[n.text]), + ir(e.parseFunction(), 'internal') + ); + throw new nt('Invalid token after macro prefix', n); + } + }); + vt({ + type: 'internal', + names: ['\\def', '\\gdef', '\\edef', '\\xdef'], + props: { numArgs: 0, allowedInText: !0, primitive: !0 }, + handler(t) { + var { parser: e, funcName: r } = t, + n = e.gullet.popToken(), + i = n.text; + if (/^(?:[\\{}$&#^_]|EOF)$/.test(i)) throw new nt('Expected a control sequence', n); + for (var a = 0, s, l = [[]]; e.gullet.future().text !== '{'; ) + if (((n = e.gullet.popToken()), n.text === '#')) { + if (e.gullet.future().text === '{') { + (s = e.gullet.future()), l[a].push('{'); + break; + } + if (((n = e.gullet.popToken()), !/^[1-9]$/.test(n.text))) + throw new nt('Invalid argument number "' + n.text + '"'); + if (parseInt(n.text) !== a + 1) + throw new nt('Argument number "' + n.text + '" out of order'); + a++, l.push([]); + } else { + if (n.text === 'EOF') throw new nt('Expected a macro definition'); + l[a].push(n.text); + } + var { tokens: u } = e.gullet.consumeArg(); + return ( + s && u.unshift(s), + (r === '\\edef' || r === '\\xdef') && ((u = e.gullet.expandTokens(u)), u.reverse()), + e.gullet.macros.set(i, { tokens: u, numArgs: a, delimiters: l }, r === A7[r]), + { type: 'internal', mode: e.mode } + ); + } + }); + vt({ + type: 'internal', + names: ['\\let', '\\\\globallet'], + props: { numArgs: 0, allowedInText: !0, primitive: !0 }, + handler(t) { + var { parser: e, funcName: r } = t, + n = jG(e.gullet.popToken()); + e.gullet.consumeSpaces(); + var i = qxe(e); + return KG(e, n, i, r === '\\\\globallet'), { type: 'internal', mode: e.mode }; + } + }); + vt({ + type: 'internal', + names: ['\\futurelet', '\\\\globalfuture'], + props: { numArgs: 0, allowedInText: !0, primitive: !0 }, + handler(t) { + var { parser: e, funcName: r } = t, + n = jG(e.gullet.popToken()), + i = e.gullet.popToken(), + a = e.gullet.popToken(); + return ( + KG(e, n, a, r === '\\\\globalfuture'), + e.gullet.pushToken(a), + e.gullet.pushToken(i), + { type: 'internal', mode: e.mode } + ); + } + }); + (ey = o(function (e, r, n) { + var i = wn.math[e] && wn.math[e].replace, + a = M7(i || e, r, n); + if (!a) throw new Error('Unsupported symbol ' + e + ' and font size ' + r + '.'); + return a; + }, 'getMetrics')), + (z7 = o(function (e, r, n, i) { + var a = n.havingBaseStyle(r), + s = Be.makeSpan(i.concat(a.sizingClasses(n)), [e], n), + l = a.sizeMultiplier / n.sizeMultiplier; + return (s.height *= l), (s.depth *= l), (s.maxFontSize = a.sizeMultiplier), s; + }, 'styleWrap')), + (QG = o(function (e, r, n) { + var i = r.havingBaseStyle(n), + a = (1 - r.sizeMultiplier / i.sizeMultiplier) * r.fontMetrics().axisHeight; + e.classes.push('delimcenter'), (e.style.top = ct(a)), (e.height -= a), (e.depth += a); + }, 'centerSpan')), + (Xxe = o(function (e, r, n, i, a, s) { + var l = Be.makeSymbol(e, 'Main-Regular', a, i), + u = z7(l, r, i, s); + return n && QG(u, i, r), u; + }, 'makeSmallDelim')), + (jxe = o(function (e, r, n, i) { + return Be.makeSymbol(e, 'Size' + r + '-Regular', n, i); + }, 'mathrmSize')), + (ZG = o(function (e, r, n, i, a, s) { + var l = jxe(e, r, a, i), + u = z7(Be.makeSpan(['delimsizing', 'size' + r], [l], i), Ht.TEXT, i, s); + return n && QG(u, i, Ht.TEXT), u; + }, 'makeLargeDelim')), + (h7 = o(function (e, r, n) { + var i; + r === 'Size1-Regular' ? (i = 'delim-size1') : (i = 'delim-size4'); + var a = Be.makeSpan(['delimsizinginner', i], [Be.makeSpan([], [Be.makeSymbol(e, r, n)])]); + return { type: 'elem', elem: a }; + }, 'makeGlyphSpan')), + (f7 = o(function (e, r, n) { + var i = Zl['Size4-Regular'][e.charCodeAt(0)] + ? Zl['Size4-Regular'][e.charCodeAt(0)][4] + : Zl['Size1-Regular'][e.charCodeAt(0)][4], + a = new Jl('inner', nxe(e, Math.round(1e3 * r))), + s = new ll([a], { + width: ct(i), + height: ct(r), + style: 'width:' + ct(i), + viewBox: '0 0 ' + 1e3 * i + ' ' + Math.round(1e3 * r), + preserveAspectRatio: 'xMinYMin' + }), + l = Be.makeSvgSpan([], [s], n); + return (l.height = r), (l.style.height = ct(r)), (l.style.width = ct(i)), { type: 'elem', elem: l }; + }, 'makeInner')), + (_7 = 0.008), + (l4 = { type: 'kern', size: -1 * _7 }), + (Kxe = ['|', '\\lvert', '\\rvert', '\\vert']), + (Qxe = ['\\|', '\\lVert', '\\rVert', '\\Vert']), + (JG = o(function (e, r, n, i, a, s) { + var l, + u, + h, + f, + d = '', + p = 0; + (l = h = f = e), (u = null); + var m = 'Size1-Regular'; + e === '\\uparrow' + ? (h = f = '\u23D0') + : e === '\\Uparrow' + ? (h = f = '\u2016') + : e === '\\downarrow' + ? (l = h = '\u23D0') + : e === '\\Downarrow' + ? (l = h = '\u2016') + : e === '\\updownarrow' + ? ((l = '\\uparrow'), (h = '\u23D0'), (f = '\\downarrow')) + : e === '\\Updownarrow' + ? ((l = '\\Uparrow'), (h = '\u2016'), (f = '\\Downarrow')) + : Vt.contains(Kxe, e) + ? ((h = '\u2223'), (d = 'vert'), (p = 333)) + : Vt.contains(Qxe, e) + ? ((h = '\u2225'), (d = 'doublevert'), (p = 556)) + : e === '[' || e === '\\lbrack' + ? ((l = '\u23A1'), + (h = '\u23A2'), + (f = '\u23A3'), + (m = 'Size4-Regular'), + (d = 'lbrack'), + (p = 667)) + : e === ']' || e === '\\rbrack' + ? ((l = '\u23A4'), + (h = '\u23A5'), + (f = '\u23A6'), + (m = 'Size4-Regular'), + (d = 'rbrack'), + (p = 667)) + : e === '\\lfloor' || e === '\u230A' + ? ((h = l = '\u23A2'), (f = '\u23A3'), (m = 'Size4-Regular'), (d = 'lfloor'), (p = 667)) + : e === '\\lceil' || e === '\u2308' + ? ((l = '\u23A1'), (h = f = '\u23A2'), (m = 'Size4-Regular'), (d = 'lceil'), (p = 667)) + : e === '\\rfloor' || e === '\u230B' + ? ((h = l = '\u23A5'), (f = '\u23A6'), (m = 'Size4-Regular'), (d = 'rfloor'), (p = 667)) + : e === '\\rceil' || e === '\u2309' + ? ((l = '\u23A4'), (h = f = '\u23A5'), (m = 'Size4-Regular'), (d = 'rceil'), (p = 667)) + : e === '(' || e === '\\lparen' + ? ((l = '\u239B'), + (h = '\u239C'), + (f = '\u239D'), + (m = 'Size4-Regular'), + (d = 'lparen'), + (p = 875)) + : e === ')' || e === '\\rparen' + ? ((l = '\u239E'), + (h = '\u239F'), + (f = '\u23A0'), + (m = 'Size4-Regular'), + (d = 'rparen'), + (p = 875)) + : e === '\\{' || e === '\\lbrace' + ? ((l = '\u23A7'), (u = '\u23A8'), (f = '\u23A9'), (h = '\u23AA'), (m = 'Size4-Regular')) + : e === '\\}' || e === '\\rbrace' + ? ((l = '\u23AB'), (u = '\u23AC'), (f = '\u23AD'), (h = '\u23AA'), (m = 'Size4-Regular')) + : e === '\\lgroup' || e === '\u27EE' + ? ((l = '\u23A7'), (f = '\u23A9'), (h = '\u23AA'), (m = 'Size4-Regular')) + : e === '\\rgroup' || e === '\u27EF' + ? ((l = '\u23AB'), (f = '\u23AD'), (h = '\u23AA'), (m = 'Size4-Regular')) + : e === '\\lmoustache' || e === '\u23B0' + ? ((l = '\u23A7'), (f = '\u23AD'), (h = '\u23AA'), (m = 'Size4-Regular')) + : (e === '\\rmoustache' || e === '\u23B1') && + ((l = '\u23AB'), (f = '\u23A9'), (h = '\u23AA'), (m = 'Size4-Regular')); + var g = ey(l, m, a), + y = g.height + g.depth, + v = ey(h, m, a), + x = v.height + v.depth, + b = ey(f, m, a), + w = b.height + b.depth, + S = 0, + T = 1; + if (u !== null) { + var E = ey(u, m, a); + (S = E.height + E.depth), (T = 2); + } + var _ = y + w + S, + A = Math.max(0, Math.ceil((r - _) / (T * x))), + L = _ + A * T * x, + M = i.fontMetrics().axisHeight; + n && (M *= i.sizeMultiplier); + var N = L / 2 - M, + k = []; + if (d.length > 0) { + var I = L - y - w, + C = Math.round(L * 1e3), + O = ixe(d, Math.round(I * 1e3)), + D = new Jl(d, O), + P = (p / 1e3).toFixed(3) + 'em', + F = (C / 1e3).toFixed(3) + 'em', + B = new ll([D], { + width: P, + height: F, + viewBox: '0 0 ' + p + ' ' + C + }), + $ = Be.makeSvgSpan([], [B], i); + ($.height = C / 1e3), + ($.style.width = P), + ($.style.height = F), + k.push({ type: 'elem', elem: $ }); + } else { + if ((k.push(h7(f, m, a)), k.push(l4), u === null)) { + var z = L - y - w + 2 * _7; + k.push(f7(h, z, i)); + } else { + var Y = (L - y - w - S) / 2 + 2 * _7; + k.push(f7(h, Y, i)), k.push(l4), k.push(h7(u, m, a)), k.push(l4), k.push(f7(h, Y, i)); + } + k.push(l4), k.push(h7(l, m, a)); + } + var Q = i.havingBaseStyle(Ht.TEXT), + X = Be.makeVList({ positionType: 'bottom', positionData: N, children: k }, Q); + return z7(Be.makeSpan(['delimsizing', 'mult'], [X], Q), Ht.TEXT, i, s); + }, 'makeStackedDelim')), + (d7 = 80), + (p7 = 0.08), + (m7 = o(function (e, r, n, i, a) { + var s = rxe(e, i, n), + l = new Jl(e, s), + u = new ll([l], { + width: '400em', + height: ct(r), + viewBox: '0 0 400000 ' + n, + preserveAspectRatio: 'xMinYMin slice' + }); + return Be.makeSvgSpan(['hide-tail'], [u], a); + }, 'sqrtSvg')), + (Zxe = o(function (e, r) { + var n = r.havingBaseSizing(), + i = n$('\\surd', e * n.sizeMultiplier, r$, n), + a = n.sizeMultiplier, + s = Math.max(0, r.minRuleThickness - r.fontMetrics().sqrtRuleThickness), + l, + u = 0, + h = 0, + f = 0, + d; + return ( + i.type === 'small' + ? ((f = 1e3 + 1e3 * s + d7), + e < 1 ? (a = 1) : e < 1.4 && (a = 0.7), + (u = (1 + s + p7) / a), + (h = (1 + s) / a), + (l = m7('sqrtMain', u, f, s, r)), + (l.style.minWidth = '0.853em'), + (d = 0.833 / a)) + : i.type === 'large' + ? ((f = (1e3 + d7) * ty[i.size]), + (h = (ty[i.size] + s) / a), + (u = (ty[i.size] + s + p7) / a), + (l = m7('sqrtSize' + i.size, u, f, s, r)), + (l.style.minWidth = '1.02em'), + (d = 1 / a)) + : ((u = e + s + p7), + (h = e + s), + (f = Math.floor(1e3 * e + s) + d7), + (l = m7('sqrtTall', u, f, s, r)), + (l.style.minWidth = '0.742em'), + (d = 1.056)), + (l.height = h), + (l.style.height = ct(u)), + { + span: l, + advanceWidth: d, + ruleWidth: (r.fontMetrics().sqrtRuleThickness + s) * a + } + ); + }, 'makeSqrtImage')), + (e$ = [ + '(', + '\\lparen', + ')', + '\\rparen', + '[', + '\\lbrack', + ']', + '\\rbrack', + '\\{', + '\\lbrace', + '\\}', + '\\rbrace', + '\\lfloor', + '\\rfloor', + '\u230A', + '\u230B', + '\\lceil', + '\\rceil', + '\u2308', + '\u2309', + '\\surd' + ]), + (Jxe = [ + '\\uparrow', + '\\downarrow', + '\\updownarrow', + '\\Uparrow', + '\\Downarrow', + '\\Updownarrow', + '|', + '\\|', + '\\vert', + '\\Vert', + '\\lvert', + '\\rvert', + '\\lVert', + '\\rVert', + '\\lgroup', + '\\rgroup', + '\u27EE', + '\u27EF', + '\\lmoustache', + '\\rmoustache', + '\u23B0', + '\u23B1' + ]), + (t$ = ['<', '>', '\\langle', '\\rangle', '/', '\\backslash', '\\lt', '\\gt']), + (ty = [0, 1.2, 1.8, 2.4, 3]), + (ebe = o(function (e, r, n, i, a) { + if ( + (e === '<' || e === '\\lt' || e === '\u27E8' + ? (e = '\\langle') + : (e === '>' || e === '\\gt' || e === '\u27E9') && (e = '\\rangle'), + Vt.contains(e$, e) || Vt.contains(t$, e)) + ) + return ZG(e, r, !1, n, i, a); + if (Vt.contains(Jxe, e)) return JG(e, ty[r], !1, n, i, a); + throw new nt("Illegal delimiter: '" + e + "'"); + }, 'makeSizedDelim')), + (tbe = [ + { type: 'small', style: Ht.SCRIPTSCRIPT }, + { type: 'small', style: Ht.SCRIPT }, + { type: 'small', style: Ht.TEXT }, + { type: 'large', size: 1 }, + { type: 'large', size: 2 }, + { type: 'large', size: 3 }, + { type: 'large', size: 4 } + ]), + (rbe = [ + { type: 'small', style: Ht.SCRIPTSCRIPT }, + { type: 'small', style: Ht.SCRIPT }, + { type: 'small', style: Ht.TEXT }, + { type: 'stack' } + ]), + (r$ = [ + { type: 'small', style: Ht.SCRIPTSCRIPT }, + { type: 'small', style: Ht.SCRIPT }, + { type: 'small', style: Ht.TEXT }, + { type: 'large', size: 1 }, + { type: 'large', size: 2 }, + { type: 'large', size: 3 }, + { type: 'large', size: 4 }, + { type: 'stack' } + ]), + (nbe = o(function (e) { + if (e.type === 'small') return 'Main-Regular'; + if (e.type === 'large') return 'Size' + e.size + '-Regular'; + if (e.type === 'stack') return 'Size4-Regular'; + throw new Error("Add support for delim type '" + e.type + "' here."); + }, 'delimTypeToFont')), + (n$ = o(function (e, r, n, i) { + for (var a = Math.min(2, 3 - i.style.size), s = a; s < n.length && n[s].type !== 'stack'; s++) { + var l = ey(e, nbe(n[s]), 'math'), + u = l.height + l.depth; + if (n[s].type === 'small') { + var h = i.havingBaseStyle(n[s].style); + u *= h.sizeMultiplier; + } + if (u > r) return n[s]; + } + return n[n.length - 1]; + }, 'traverseSequence')), + (i$ = o(function (e, r, n, i, a, s) { + e === '<' || e === '\\lt' || e === '\u27E8' + ? (e = '\\langle') + : (e === '>' || e === '\\gt' || e === '\u27E9') && (e = '\\rangle'); + var l; + Vt.contains(t$, e) ? (l = tbe) : Vt.contains(e$, e) ? (l = r$) : (l = rbe); + var u = n$(e, r, l, i); + return u.type === 'small' + ? Xxe(e, u.style, n, i, a, s) + : u.type === 'large' + ? ZG(e, u.size, n, i, a, s) + : JG(e, r, n, i, a, s); + }, 'makeCustomSizedDelim')), + (ibe = o(function (e, r, n, i, a, s) { + var l = i.fontMetrics().axisHeight * i.sizeMultiplier, + u = 901, + h = 5 / i.fontMetrics().ptPerEm, + f = Math.max(r - l, n + l), + d = Math.max((f / 500) * u, 2 * f - h); + return i$(e, d, !0, i, a, s); + }, 'makeLeftRightDelim')), + (au = { + sqrtImage: Zxe, + sizedDelim: ebe, + sizeToMaxHeight: ty, + customSizedDelim: i$, + leftRightDelim: ibe + }), + (cG = { + '\\bigl': { mclass: 'mopen', size: 1 }, + '\\Bigl': { mclass: 'mopen', size: 2 }, + '\\biggl': { mclass: 'mopen', size: 3 }, + '\\Biggl': { mclass: 'mopen', size: 4 }, + '\\bigr': { mclass: 'mclose', size: 1 }, + '\\Bigr': { mclass: 'mclose', size: 2 }, + '\\biggr': { mclass: 'mclose', size: 3 }, + '\\Biggr': { mclass: 'mclose', size: 4 }, + '\\bigm': { mclass: 'mrel', size: 1 }, + '\\Bigm': { mclass: 'mrel', size: 2 }, + '\\biggm': { mclass: 'mrel', size: 3 }, + '\\Biggm': { mclass: 'mrel', size: 4 }, + '\\big': { mclass: 'mord', size: 1 }, + '\\Big': { mclass: 'mord', size: 2 }, + '\\bigg': { mclass: 'mord', size: 3 }, + '\\Bigg': { mclass: 'mord', size: 4 } + }), + (abe = [ + '(', + '\\lparen', + ')', + '\\rparen', + '[', + '\\lbrack', + ']', + '\\rbrack', + '\\{', + '\\lbrace', + '\\}', + '\\rbrace', + '\\lfloor', + '\\rfloor', + '\u230A', + '\u230B', + '\\lceil', + '\\rceil', + '\u2308', + '\u2309', + '<', + '>', + '\\langle', + '\u27E8', + '\\rangle', + '\u27E9', + '\\lt', + '\\gt', + '\\lvert', + '\\rvert', + '\\lVert', + '\\rVert', + '\\lgroup', + '\\rgroup', + '\u27EE', + '\u27EF', + '\\lmoustache', + '\\rmoustache', + '\u23B0', + '\u23B1', + '/', + '\\backslash', + '|', + '\\vert', + '\\|', + '\\Vert', + '\\uparrow', + '\\Uparrow', + '\\downarrow', + '\\Downarrow', + '\\updownarrow', + '\\Updownarrow', + '.' + ]); + o(E4, 'checkDelimiter'); + vt({ + type: 'delimsizing', + names: [ + '\\bigl', + '\\Bigl', + '\\biggl', + '\\Biggl', + '\\bigr', + '\\Bigr', + '\\biggr', + '\\Biggr', + '\\bigm', + '\\Bigm', + '\\biggm', + '\\Biggm', + '\\big', + '\\Big', + '\\bigg', + '\\Bigg' + ], + props: { numArgs: 1, argTypes: ['primitive'] }, + handler: o((t, e) => { + var r = E4(e[0], t); + return { + type: 'delimsizing', + mode: t.parser.mode, + size: cG[t.funcName].size, + mclass: cG[t.funcName].mclass, + delim: r.text + }; + }, 'handler'), + htmlBuilder: o( + (t, e) => + t.delim === '.' + ? Be.makeSpan([t.mclass]) + : au.sizedDelim(t.delim, t.size, e, t.mode, [t.mclass]), + 'htmlBuilder' + ), + mathmlBuilder: o((t) => { + var e = []; + t.delim !== '.' && e.push(_o(t.delim, t.mode)); + var r = new et.MathNode('mo', e); + t.mclass === 'mopen' || t.mclass === 'mclose' + ? r.setAttribute('fence', 'true') + : r.setAttribute('fence', 'false'), + r.setAttribute('stretchy', 'true'); + var n = ct(au.sizeToMaxHeight[t.size]); + return r.setAttribute('minsize', n), r.setAttribute('maxsize', n), r; + }, 'mathmlBuilder') + }); + o(uG, 'assertParsed'); + vt({ + type: 'leftright-right', + names: ['\\right'], + props: { numArgs: 1, primitive: !0 }, + handler: o((t, e) => { + var r = t.parser.gullet.macros.get('\\current@color'); + if (r && typeof r != 'string') throw new nt('\\current@color set to non-string in \\right'); + return { + type: 'leftright-right', + mode: t.parser.mode, + delim: E4(e[0], t).text, + color: r + }; + }, 'handler') + }); + vt({ + type: 'leftright', + names: ['\\left'], + props: { numArgs: 1, primitive: !0 }, + handler: o((t, e) => { + var r = E4(e[0], t), + n = t.parser; + ++n.leftrightDepth; + var i = n.parseExpression(!1); + --n.leftrightDepth, n.expect('\\right', !1); + var a = ir(n.parseFunction(), 'leftright-right'); + return { + type: 'leftright', + mode: n.mode, + body: i, + left: r.text, + right: a.delim, + rightColor: a.color + }; + }, 'handler'), + htmlBuilder: o((t, e) => { + uG(t); + for (var r = Ri(t.body, e, !0, ['mopen', 'mclose']), n = 0, i = 0, a = !1, s = 0; s < r.length; s++) + r[s].isMiddle ? (a = !0) : ((n = Math.max(r[s].height, n)), (i = Math.max(r[s].depth, i))); + (n *= e.sizeMultiplier), (i *= e.sizeMultiplier); + var l; + if ( + (t.left === '.' + ? (l = sy(e, ['mopen'])) + : (l = au.leftRightDelim(t.left, n, i, e, t.mode, ['mopen'])), + r.unshift(l), + a) + ) + for (var u = 1; u < r.length; u++) { + var h = r[u], + f = h.isMiddle; + f && (r[u] = au.leftRightDelim(f.delim, n, i, f.options, t.mode, [])); + } + var d; + if (t.right === '.') d = sy(e, ['mclose']); + else { + var p = t.rightColor ? e.withColor(t.rightColor) : e; + d = au.leftRightDelim(t.right, n, i, p, t.mode, ['mclose']); + } + return r.push(d), Be.makeSpan(['minner'], r, e); + }, 'htmlBuilder'), + mathmlBuilder: o((t, e) => { + uG(t); + var r = gs(t.body, e); + if (t.left !== '.') { + var n = new et.MathNode('mo', [_o(t.left, t.mode)]); + n.setAttribute('fence', 'true'), r.unshift(n); + } + if (t.right !== '.') { + var i = new et.MathNode('mo', [_o(t.right, t.mode)]); + i.setAttribute('fence', 'true'), + t.rightColor && i.setAttribute('mathcolor', t.rightColor), + r.push(i); + } + return O7(r); + }, 'mathmlBuilder') + }); + vt({ + type: 'middle', + names: ['\\middle'], + props: { numArgs: 1, primitive: !0 }, + handler: o((t, e) => { + var r = E4(e[0], t); + if (!t.parser.leftrightDepth) throw new nt('\\middle without preceding \\left', r); + return { type: 'middle', mode: t.parser.mode, delim: r.text }; + }, 'handler'), + htmlBuilder: o((t, e) => { + var r; + if (t.delim === '.') r = sy(e, []); + else { + r = au.sizedDelim(t.delim, 1, e, t.mode, []); + var n = { delim: t.delim, options: e }; + r.isMiddle = n; + } + return r; + }, 'htmlBuilder'), + mathmlBuilder: o((t, e) => { + var r = t.delim === '\\vert' || t.delim === '|' ? _o('|', 'text') : _o(t.delim, t.mode), + n = new et.MathNode('mo', [r]); + return ( + n.setAttribute('fence', 'true'), + n.setAttribute('lspace', '0.05em'), + n.setAttribute('rspace', '0.05em'), + n + ); + }, 'mathmlBuilder') + }); + (G7 = o((t, e) => { + var r = Be.wrapFragment(Cr(t.body, e), e), + n = t.label.slice(1), + i = e.sizeMultiplier, + a, + s = 0, + l = Vt.isCharacterBox(t.body); + if (n === 'sout') + (a = Be.makeSpan(['stretchy', 'sout'])), + (a.height = e.fontMetrics().defaultRuleThickness / i), + (s = -0.5 * e.fontMetrics().xHeight); + else if (n === 'phase') { + var u = Hn({ number: 0.6, unit: 'pt' }, e), + h = Hn({ number: 0.35, unit: 'ex' }, e), + f = e.havingBaseSizing(); + i = i / f.sizeMultiplier; + var d = r.height + r.depth + u + h; + r.style.paddingLeft = ct(d / 2 + u); + var p = Math.floor(1e3 * d * i), + m = exe(p), + g = new ll([new Jl('phase', m)], { + width: '400em', + height: ct(p / 1e3), + viewBox: '0 0 400000 ' + p, + preserveAspectRatio: 'xMinYMin slice' + }); + (a = Be.makeSvgSpan(['hide-tail'], [g], e)), (a.style.height = ct(d)), (s = r.depth + u + h); + } else { + /cancel/.test(n) + ? l || r.classes.push('cancel-pad') + : n === 'angl' + ? r.classes.push('anglpad') + : r.classes.push('boxpad'); + var y = 0, + v = 0, + x = 0; + /box/.test(n) + ? ((x = Math.max(e.fontMetrics().fboxrule, e.minRuleThickness)), + (y = e.fontMetrics().fboxsep + (n === 'colorbox' ? 0 : x)), + (v = y)) + : n === 'angl' + ? ((x = Math.max(e.fontMetrics().defaultRuleThickness, e.minRuleThickness)), + (y = 4 * x), + (v = Math.max(0, 0.25 - r.depth))) + : ((y = l ? 0.2 : 0), (v = y)), + (a = ou.encloseSpan(r, n, y, v, e)), + /fbox|boxed|fcolorbox/.test(n) + ? ((a.style.borderStyle = 'solid'), (a.style.borderWidth = ct(x))) + : n === 'angl' && + x !== 0.049 && + ((a.style.borderTopWidth = ct(x)), (a.style.borderRightWidth = ct(x))), + (s = r.depth + v), + t.backgroundColor && + ((a.style.backgroundColor = t.backgroundColor), + t.borderColor && (a.style.borderColor = t.borderColor)); + } + var b; + if (t.backgroundColor) + b = Be.makeVList( + { + positionType: 'individualShift', + children: [ + { type: 'elem', elem: a, shift: s }, + { type: 'elem', elem: r, shift: 0 } + ] + }, + e + ); + else { + var w = /cancel|phase/.test(n) ? ['svg-align'] : []; + b = Be.makeVList( + { + positionType: 'individualShift', + children: [ + { type: 'elem', elem: r, shift: 0 }, + { type: 'elem', elem: a, shift: s, wrapperClasses: w } + ] + }, + e + ); + } + return ( + /cancel/.test(n) && ((b.height = r.height), (b.depth = r.depth)), + /cancel/.test(n) && !l ? Be.makeSpan(['mord', 'cancel-lap'], [b], e) : Be.makeSpan(['mord'], [b], e) + ); + }, 'htmlBuilder$7')), + ($7 = o((t, e) => { + var r = 0, + n = new et.MathNode(t.label.indexOf('colorbox') > -1 ? 'mpadded' : 'menclose', [fn(t.body, e)]); + switch (t.label) { + case '\\cancel': + n.setAttribute('notation', 'updiagonalstrike'); + break; + case '\\bcancel': + n.setAttribute('notation', 'downdiagonalstrike'); + break; + case '\\phase': + n.setAttribute('notation', 'phasorangle'); + break; + case '\\sout': + n.setAttribute('notation', 'horizontalstrike'); + break; + case '\\fbox': + n.setAttribute('notation', 'box'); + break; + case '\\angl': + n.setAttribute('notation', 'actuarial'); + break; + case '\\fcolorbox': + case '\\colorbox': + if ( + ((r = e.fontMetrics().fboxsep * e.fontMetrics().ptPerEm), + n.setAttribute('width', '+' + 2 * r + 'pt'), + n.setAttribute('height', '+' + 2 * r + 'pt'), + n.setAttribute('lspace', r + 'pt'), + n.setAttribute('voffset', r + 'pt'), + t.label === '\\fcolorbox') + ) { + var i = Math.max(e.fontMetrics().fboxrule, e.minRuleThickness); + n.setAttribute('style', 'border: ' + i + 'em solid ' + String(t.borderColor)); + } + break; + case '\\xcancel': + n.setAttribute('notation', 'updiagonalstrike downdiagonalstrike'); + break; + } + return t.backgroundColor && n.setAttribute('mathbackground', t.backgroundColor), n; + }, 'mathmlBuilder$6')); + vt({ + type: 'enclose', + names: ['\\colorbox'], + props: { numArgs: 2, allowedInText: !0, argTypes: ['color', 'text'] }, + handler(t, e, r) { + var { parser: n, funcName: i } = t, + a = ir(e[0], 'color-token').color, + s = e[1]; + return { + type: 'enclose', + mode: n.mode, + label: i, + backgroundColor: a, + body: s + }; + }, + htmlBuilder: G7, + mathmlBuilder: $7 + }); + vt({ + type: 'enclose', + names: ['\\fcolorbox'], + props: { + numArgs: 3, + allowedInText: !0, + argTypes: ['color', 'color', 'text'] + }, + handler(t, e, r) { + var { parser: n, funcName: i } = t, + a = ir(e[0], 'color-token').color, + s = ir(e[1], 'color-token').color, + l = e[2]; + return { + type: 'enclose', + mode: n.mode, + label: i, + backgroundColor: s, + borderColor: a, + body: l + }; + }, + htmlBuilder: G7, + mathmlBuilder: $7 + }); + vt({ + type: 'enclose', + names: ['\\fbox'], + props: { numArgs: 1, argTypes: ['hbox'], allowedInText: !0 }, + handler(t, e) { + var { parser: r } = t; + return { type: 'enclose', mode: r.mode, label: '\\fbox', body: e[0] }; + } + }); + vt({ + type: 'enclose', + names: ['\\cancel', '\\bcancel', '\\xcancel', '\\sout', '\\phase'], + props: { numArgs: 1 }, + handler(t, e) { + var { parser: r, funcName: n } = t, + i = e[0]; + return { type: 'enclose', mode: r.mode, label: n, body: i }; + }, + htmlBuilder: G7, + mathmlBuilder: $7 + }); + vt({ + type: 'enclose', + names: ['\\angl'], + props: { numArgs: 1, argTypes: ['hbox'], allowedInText: !1 }, + handler(t, e) { + var { parser: r } = t; + return { type: 'enclose', mode: r.mode, label: '\\angl', body: e[0] }; + } + }); + a$ = {}; + o(ec, 'defineEnvironment'); + s$ = {}; + o(le, 'defineMacro'); + o(hG, 'getHLines'); + C4 = o((t) => { + var e = t.parser.settings; + if (!e.displayMode) throw new nt('{' + t.envName + '} can be used only in display mode.'); + }, 'validateAmsEnvironmentContext'); + o(V7, 'getAutoTag'); + o(mh, 'parseArray'); + o(U7, 'dCellStyle'); + (tc = o(function (e, r) { + var n, + i, + a = e.body.length, + s = e.hLinesBeforeRow, + l = 0, + u = new Array(a), + h = [], + f = Math.max(r.fontMetrics().arrayRuleWidth, r.minRuleThickness), + d = 1 / r.fontMetrics().ptPerEm, + p = 5 * d; + if (e.colSeparationType && e.colSeparationType === 'small') { + var m = r.havingStyle(Ht.SCRIPT).sizeMultiplier; + p = 0.2778 * (m / r.sizeMultiplier); + } + var g = e.colSeparationType === 'CD' ? Hn({ number: 3, unit: 'ex' }, r) : 12 * d, + y = 3 * d, + v = e.arraystretch * g, + x = 0.7 * v, + b = 0.3 * v, + w = 0; + function S(ke) { + for (var Ie = 0; Ie < ke.length; ++Ie) Ie > 0 && (w += 0.25), h.push({ pos: w, isDashed: ke[Ie] }); + } + for (o(S, 'setHLinePos'), S(s[0]), n = 0; n < e.body.length; ++n) { + var T = e.body[n], + E = x, + _ = b; + l < T.length && (l = T.length); + var A = new Array(T.length); + for (i = 0; i < T.length; ++i) { + var L = Cr(T[i], r); + _ < L.depth && (_ = L.depth), E < L.height && (E = L.height), (A[i] = L); + } + var M = e.rowGaps[n], + N = 0; + M && ((N = Hn(M, r)), N > 0 && ((N += b), _ < N && (_ = N), (N = 0))), + e.addJot && (_ += y), + (A.height = E), + (A.depth = _), + (w += E), + (A.pos = w), + (w += _ + N), + (u[n] = A), + S(s[n + 1]); + } + var k = w / 2 + r.fontMetrics().axisHeight, + I = e.cols || [], + C = [], + O, + D, + P = []; + if (e.tags && e.tags.some((ke) => ke)) + for (n = 0; n < a; ++n) { + var F = u[n], + B = F.pos - k, + $ = e.tags[n], + z = void 0; + $ === !0 + ? (z = Be.makeSpan(['eqn-num'], [], r)) + : $ === !1 + ? (z = Be.makeSpan([], [], r)) + : (z = Be.makeSpan([], Ri($, r, !0), r)), + (z.depth = F.depth), + (z.height = F.height), + P.push({ type: 'elem', elem: z, shift: B }); + } + for (i = 0, D = 0; i < l || D < I.length; ++i, ++D) { + for (var Y = I[D] || {}, Q = !0; Y.type === 'separator'; ) { + if ( + (Q || + ((O = Be.makeSpan(['arraycolsep'], [])), + (O.style.width = ct(r.fontMetrics().doubleRuleSep)), + C.push(O)), + Y.separator === '|' || Y.separator === ':') + ) { + var X = Y.separator === '|' ? 'solid' : 'dashed', + ie = Be.makeSpan(['vertical-separator'], [], r); + (ie.style.height = ct(w)), + (ie.style.borderRightWidth = ct(f)), + (ie.style.borderRightStyle = X), + (ie.style.margin = '0 ' + ct(-f / 2)); + var j = w - k; + j && (ie.style.verticalAlign = ct(-j)), C.push(ie); + } else throw new nt('Invalid separator type: ' + Y.separator); + D++, (Y = I[D] || {}), (Q = !1); + } + if (!(i >= l)) { + var J = void 0; + (i > 0 || e.hskipBeforeAndAfter) && + ((J = Vt.deflt(Y.pregap, p)), + J !== 0 && ((O = Be.makeSpan(['arraycolsep'], [])), (O.style.width = ct(J)), C.push(O))); + var Z = []; + for (n = 0; n < a; ++n) { + var H = u[n], + q = H[i]; + if (q) { + var K = H.pos - k; + (q.depth = H.depth), (q.height = H.height), Z.push({ type: 'elem', elem: q, shift: K }); + } + } + (Z = Be.makeVList({ positionType: 'individualShift', children: Z }, r)), + (Z = Be.makeSpan(['col-align-' + (Y.align || 'c')], [Z])), + C.push(Z), + (i < l - 1 || e.hskipBeforeAndAfter) && + ((J = Vt.deflt(Y.postgap, p)), + J !== 0 && + ((O = Be.makeSpan(['arraycolsep'], [])), (O.style.width = ct(J)), C.push(O))); + } + } + if (((u = Be.makeSpan(['mtable'], C)), h.length > 0)) { + for ( + var se = Be.makeLineSpan('hline', r, f), + ce = Be.makeLineSpan('hdashline', r, f), + ue = [{ type: 'elem', elem: u, shift: 0 }]; + h.length > 0; + + ) { + var te = h.pop(), + De = te.pos - k; + te.isDashed + ? ue.push({ type: 'elem', elem: ce, shift: De }) + : ue.push({ type: 'elem', elem: se, shift: De }); + } + u = Be.makeVList({ positionType: 'individualShift', children: ue }, r); + } + if (P.length === 0) return Be.makeSpan(['mord'], [u], r); + var oe = Be.makeVList({ positionType: 'individualShift', children: P }, r); + return (oe = Be.makeSpan(['tag'], [oe], r)), Be.makeFragment([u, oe]); + }, 'htmlBuilder')), + (sbe = { c: 'center ', l: 'left ', r: 'right ' }), + (rc = o(function (e, r) { + for ( + var n = [], + i = new et.MathNode('mtd', [], ['mtr-glue']), + a = new et.MathNode('mtd', [], ['mml-eqn-num']), + s = 0; + s < e.body.length; + s++ + ) { + for (var l = e.body[s], u = [], h = 0; h < l.length; h++) + u.push(new et.MathNode('mtd', [fn(l[h], r)])); + e.tags && e.tags[s] && (u.unshift(i), u.push(i), e.leqno ? u.unshift(a) : u.push(a)), + n.push(new et.MathNode('mtr', u)); + } + var f = new et.MathNode('mtable', n), + d = e.arraystretch === 0.5 ? 0.1 : 0.16 + e.arraystretch - 1 + (e.addJot ? 0.09 : 0); + f.setAttribute('rowspacing', ct(d)); + var p = '', + m = ''; + if (e.cols && e.cols.length > 0) { + var g = e.cols, + y = '', + v = !1, + x = 0, + b = g.length; + g[0].type === 'separator' && ((p += 'top '), (x = 1)), + g[g.length - 1].type === 'separator' && ((p += 'bottom '), (b -= 1)); + for (var w = x; w < b; w++) + g[w].type === 'align' + ? ((m += sbe[g[w].align]), v && (y += 'none '), (v = !0)) + : g[w].type === 'separator' && + v && + ((y += g[w].separator === '|' ? 'solid ' : 'dashed '), (v = !1)); + f.setAttribute('columnalign', m.trim()), + /[sd]/.test(y) && f.setAttribute('columnlines', y.trim()); + } + if (e.colSeparationType === 'align') { + for (var S = e.cols || [], T = '', E = 1; E < S.length; E++) T += E % 2 ? '0em ' : '1em '; + f.setAttribute('columnspacing', T.trim()); + } else e.colSeparationType === 'alignat' || e.colSeparationType === 'gather' ? f.setAttribute('columnspacing', '0em') : e.colSeparationType === 'small' ? f.setAttribute('columnspacing', '0.2778em') : e.colSeparationType === 'CD' ? f.setAttribute('columnspacing', '0.5em') : f.setAttribute('columnspacing', '1em'); + var _ = '', + A = e.hLinesBeforeRow; + (p += A[0].length > 0 ? 'left ' : ''), (p += A[A.length - 1].length > 0 ? 'right ' : ''); + for (var L = 1; L < A.length - 1; L++) + _ += A[L].length === 0 ? 'none ' : A[L][0] ? 'dashed ' : 'solid '; + return ( + /[sd]/.test(_) && f.setAttribute('rowlines', _.trim()), + p !== '' && ((f = new et.MathNode('menclose', [f])), f.setAttribute('notation', p.trim())), + e.arraystretch && + e.arraystretch < 1 && + ((f = new et.MathNode('mstyle', [f])), f.setAttribute('scriptlevel', '1')), + f + ); + }, 'mathmlBuilder')), + (o$ = o(function (e, r) { + e.envName.indexOf('ed') === -1 && C4(e); + var n = [], + i = e.envName.indexOf('at') > -1 ? 'alignat' : 'align', + a = e.envName === 'split', + s = mh( + e.parser, + { + cols: n, + addJot: !0, + autoTag: a ? void 0 : V7(e.envName), + emptySingleRow: !0, + colSeparationType: i, + maxNumCols: a ? 2 : void 0, + leqno: e.parser.settings.leqno + }, + 'display' + ), + l, + u = 0, + h = { type: 'ordgroup', mode: e.mode, body: [] }; + if (r[0] && r[0].type === 'ordgroup') { + for (var f = '', d = 0; d < r[0].body.length; d++) { + var p = ir(r[0].body[d], 'textord'); + f += p.text; + } + (l = Number(f)), (u = l * 2); + } + var m = !u; + s.body.forEach(function (x) { + for (var b = 1; b < x.length; b += 2) { + var w = ir(x[b], 'styling'), + S = ir(w.body[0], 'ordgroup'); + S.body.unshift(h); + } + if (m) u < x.length && (u = x.length); + else { + var T = x.length / 2; + if (l < T) + throw new nt('Too many math in a row: ' + ('expected ' + l + ', but got ' + T), x[0]); + } + }); + for (var g = 0; g < u; ++g) { + var y = 'r', + v = 0; + g % 2 === 1 ? (y = 'l') : g > 0 && m && (v = 1), + (n[g] = { type: 'align', align: y, pregap: v, postgap: 0 }); + } + return (s.colSeparationType = m ? 'align' : 'alignat'), s; + }, 'alignedHandler')); + ec({ + type: 'array', + names: ['array', 'darray'], + props: { numArgs: 1 }, + handler(t, e) { + var r = T4(e[0]), + n = r ? [e[0]] : ir(e[0], 'ordgroup').body, + i = n.map(function (s) { + var l = B7(s), + u = l.text; + if ('lcr'.indexOf(u) !== -1) return { type: 'align', align: u }; + if (u === '|') return { type: 'separator', separator: '|' }; + if (u === ':') return { type: 'separator', separator: ':' }; + throw new nt('Unknown column alignment: ' + u, s); + }), + a = { cols: i, hskipBeforeAndAfter: !0, maxNumCols: i.length }; + return mh(t.parser, a, U7(t.envName)); + }, + htmlBuilder: tc, + mathmlBuilder: rc + }); + ec({ + type: 'array', + names: [ + 'matrix', + 'pmatrix', + 'bmatrix', + 'Bmatrix', + 'vmatrix', + 'Vmatrix', + 'matrix*', + 'pmatrix*', + 'bmatrix*', + 'Bmatrix*', + 'vmatrix*', + 'Vmatrix*' + ], + props: { numArgs: 0 }, + handler(t) { + var e = { + matrix: null, + pmatrix: ['(', ')'], + bmatrix: ['[', ']'], + Bmatrix: ['\\{', '\\}'], + vmatrix: ['|', '|'], + Vmatrix: ['\\Vert', '\\Vert'] + }[t.envName.replace('*', '')], + r = 'c', + n = { + hskipBeforeAndAfter: !1, + cols: [{ type: 'align', align: r }] + }; + if (t.envName.charAt(t.envName.length - 1) === '*') { + var i = t.parser; + if ((i.consumeSpaces(), i.fetch().text === '[')) { + if ((i.consume(), i.consumeSpaces(), (r = i.fetch().text), 'lcr'.indexOf(r) === -1)) + throw new nt('Expected l or c or r', i.nextToken); + i.consume(), + i.consumeSpaces(), + i.expect(']'), + i.consume(), + (n.cols = [{ type: 'align', align: r }]); + } + } + var a = mh(t.parser, n, U7(t.envName)), + s = Math.max(0, ...a.body.map((l) => l.length)); + return ( + (a.cols = new Array(s).fill({ type: 'align', align: r })), + e + ? { + type: 'leftright', + mode: t.mode, + body: [a], + left: e[0], + right: e[1], + rightColor: void 0 + } + : a + ); + }, + htmlBuilder: tc, + mathmlBuilder: rc + }); + ec({ + type: 'array', + names: ['smallmatrix'], + props: { numArgs: 0 }, + handler(t) { + var e = { arraystretch: 0.5 }, + r = mh(t.parser, e, 'script'); + return (r.colSeparationType = 'small'), r; + }, + htmlBuilder: tc, + mathmlBuilder: rc + }); + ec({ + type: 'array', + names: ['subarray'], + props: { numArgs: 1 }, + handler(t, e) { + var r = T4(e[0]), + n = r ? [e[0]] : ir(e[0], 'ordgroup').body, + i = n.map(function (s) { + var l = B7(s), + u = l.text; + if ('lc'.indexOf(u) !== -1) return { type: 'align', align: u }; + throw new nt('Unknown column alignment: ' + u, s); + }); + if (i.length > 1) throw new nt('{subarray} can contain only one column'); + var a = { cols: i, hskipBeforeAndAfter: !1, arraystretch: 0.5 }; + if (((a = mh(t.parser, a, 'script')), a.body.length > 0 && a.body[0].length > 1)) + throw new nt('{subarray} can contain only one column'); + return a; + }, + htmlBuilder: tc, + mathmlBuilder: rc + }); + ec({ + type: 'array', + names: ['cases', 'dcases', 'rcases', 'drcases'], + props: { numArgs: 0 }, + handler(t) { + var e = { + arraystretch: 1.2, + cols: [ + { type: 'align', align: 'l', pregap: 0, postgap: 1 }, + { type: 'align', align: 'l', pregap: 0, postgap: 0 } + ] + }, + r = mh(t.parser, e, U7(t.envName)); + return { + type: 'leftright', + mode: t.mode, + body: [r], + left: t.envName.indexOf('r') > -1 ? '.' : '\\{', + right: t.envName.indexOf('r') > -1 ? '\\}' : '.', + rightColor: void 0 + }; + }, + htmlBuilder: tc, + mathmlBuilder: rc + }); + ec({ + type: 'array', + names: ['align', 'align*', 'aligned', 'split'], + props: { numArgs: 0 }, + handler: o$, + htmlBuilder: tc, + mathmlBuilder: rc + }); + ec({ + type: 'array', + names: ['gathered', 'gather', 'gather*'], + props: { numArgs: 0 }, + handler(t) { + Vt.contains(['gather', 'gather*'], t.envName) && C4(t); + var e = { + cols: [{ type: 'align', align: 'c' }], + addJot: !0, + colSeparationType: 'gather', + autoTag: V7(t.envName), + emptySingleRow: !0, + leqno: t.parser.settings.leqno + }; + return mh(t.parser, e, 'display'); + }, + htmlBuilder: tc, + mathmlBuilder: rc + }); + ec({ + type: 'array', + names: ['alignat', 'alignat*', 'alignedat'], + props: { numArgs: 1 }, + handler: o$, + htmlBuilder: tc, + mathmlBuilder: rc + }); + ec({ + type: 'array', + names: ['equation', 'equation*'], + props: { numArgs: 0 }, + handler(t) { + C4(t); + var e = { + autoTag: V7(t.envName), + emptySingleRow: !0, + singleRow: !0, + maxNumCols: 1, + leqno: t.parser.settings.leqno + }; + return mh(t.parser, e, 'display'); + }, + htmlBuilder: tc, + mathmlBuilder: rc + }); + ec({ + type: 'array', + names: ['CD'], + props: { numArgs: 0 }, + handler(t) { + return C4(t), Wxe(t.parser); + }, + htmlBuilder: tc, + mathmlBuilder: rc + }); + le('\\nonumber', '\\gdef\\@eqnsw{0}'); + le('\\notag', '\\nonumber'); + vt({ + type: 'text', + names: ['\\hline', '\\hdashline'], + props: { numArgs: 0, allowedInText: !0, allowedInMath: !0 }, + handler(t, e) { + throw new nt(t.funcName + ' valid only within array environment'); + } + }); + fG = a$; + vt({ + type: 'environment', + names: ['\\begin', '\\end'], + props: { numArgs: 1, argTypes: ['text'] }, + handler(t, e) { + var { parser: r, funcName: n } = t, + i = e[0]; + if (i.type !== 'ordgroup') throw new nt('Invalid environment name', i); + for (var a = '', s = 0; s < i.body.length; ++s) a += ir(i.body[s], 'textord').text; + if (n === '\\begin') { + if (!fG.hasOwnProperty(a)) throw new nt('No such environment: ' + a, i); + var l = fG[a], + { args: u, optArgs: h } = r.parseArguments('\\begin{' + a + '}', l), + f = { mode: r.mode, envName: a, parser: r }, + d = l.handler(f, u, h); + r.expect('\\end', !1); + var p = r.nextToken, + m = ir(r.parseFunction(), 'environment'); + if (m.name !== a) + throw new nt('Mismatch: \\begin{' + a + '} matched by \\end{' + m.name + '}', p); + return d; + } + return { type: 'environment', mode: r.mode, name: a, nameGroup: i }; + } + }); + (l$ = o((t, e) => { + var r = t.font, + n = e.withFont(r); + return Cr(t.body, n); + }, 'htmlBuilder$5')), + (c$ = o((t, e) => { + var r = t.font, + n = e.withFont(r); + return fn(t.body, n); + }, 'mathmlBuilder$4')), + (dG = { + '\\Bbb': '\\mathbb', + '\\bold': '\\mathbf', + '\\frak': '\\mathfrak', + '\\bm': '\\boldsymbol' + }); + vt({ + type: 'font', + names: [ + '\\mathrm', + '\\mathit', + '\\mathbf', + '\\mathnormal', + '\\mathbb', + '\\mathcal', + '\\mathfrak', + '\\mathscr', + '\\mathsf', + '\\mathtt', + '\\Bbb', + '\\bold', + '\\frak' + ], + props: { numArgs: 1, allowedInArgument: !0 }, + handler: o((t, e) => { + var { parser: r, funcName: n } = t, + i = y4(e[0]), + a = n; + return a in dG && (a = dG[a]), { type: 'font', mode: r.mode, font: a.slice(1), body: i }; + }, 'handler'), + htmlBuilder: l$, + mathmlBuilder: c$ + }); + vt({ + type: 'mclass', + names: ['\\boldsymbol', '\\bm'], + props: { numArgs: 1 }, + handler: o((t, e) => { + var { parser: r } = t, + n = e[0], + i = Vt.isCharacterBox(n); + return { + type: 'mclass', + mode: r.mode, + mclass: k4(n), + body: [{ type: 'font', mode: r.mode, font: 'boldsymbol', body: n }], + isCharacterBox: i + }; + }, 'handler') + }); + vt({ + type: 'font', + names: ['\\rm', '\\sf', '\\tt', '\\bf', '\\it', '\\cal'], + props: { numArgs: 0, allowedInText: !0 }, + handler: o((t, e) => { + var { parser: r, funcName: n, breakOnTokenText: i } = t, + { mode: a } = r, + s = r.parseExpression(!0, i), + l = 'math' + n.slice(1); + return { + type: 'font', + mode: a, + font: l, + body: { type: 'ordgroup', mode: r.mode, body: s } + }; + }, 'handler'), + htmlBuilder: l$, + mathmlBuilder: c$ + }); + (u$ = o((t, e) => { + var r = e; + return ( + t === 'display' + ? (r = r.id >= Ht.SCRIPT.id ? r.text() : Ht.DISPLAY) + : t === 'text' && r.size === Ht.DISPLAY.size + ? (r = Ht.TEXT) + : t === 'script' + ? (r = Ht.SCRIPT) + : t === 'scriptscript' && (r = Ht.SCRIPTSCRIPT), + r + ); + }, 'adjustStyle')), + (H7 = o((t, e) => { + var r = u$(t.size, e.style), + n = r.fracNum(), + i = r.fracDen(), + a; + a = e.havingStyle(n); + var s = Cr(t.numer, a, e); + if (t.continued) { + var l = 8.5 / e.fontMetrics().ptPerEm, + u = 3.5 / e.fontMetrics().ptPerEm; + (s.height = s.height < l ? l : s.height), (s.depth = s.depth < u ? u : s.depth); + } + a = e.havingStyle(i); + var h = Cr(t.denom, a, e), + f, + d, + p; + t.hasBarLine + ? (t.barSize + ? ((d = Hn(t.barSize, e)), (f = Be.makeLineSpan('frac-line', e, d))) + : (f = Be.makeLineSpan('frac-line', e)), + (d = f.height), + (p = f.height)) + : ((f = null), (d = 0), (p = e.fontMetrics().defaultRuleThickness)); + var m, g, y; + r.size === Ht.DISPLAY.size || t.size === 'display' + ? ((m = e.fontMetrics().num1), d > 0 ? (g = 3 * p) : (g = 7 * p), (y = e.fontMetrics().denom1)) + : (d > 0 ? ((m = e.fontMetrics().num2), (g = p)) : ((m = e.fontMetrics().num3), (g = 3 * p)), + (y = e.fontMetrics().denom2)); + var v; + if (f) { + var b = e.fontMetrics().axisHeight; + m - s.depth - (b + 0.5 * d) < g && (m += g - (m - s.depth - (b + 0.5 * d))), + b - 0.5 * d - (h.height - y) < g && (y += g - (b - 0.5 * d - (h.height - y))); + var w = -(b - 0.5 * d); + v = Be.makeVList( + { + positionType: 'individualShift', + children: [ + { type: 'elem', elem: h, shift: y }, + { type: 'elem', elem: f, shift: w }, + { type: 'elem', elem: s, shift: -m } + ] + }, + e + ); + } else { + var x = m - s.depth - (h.height - y); + x < g && ((m += 0.5 * (g - x)), (y += 0.5 * (g - x))), + (v = Be.makeVList( + { + positionType: 'individualShift', + children: [ + { type: 'elem', elem: h, shift: y }, + { type: 'elem', elem: s, shift: -m } + ] + }, + e + )); + } + (a = e.havingStyle(r)), + (v.height *= a.sizeMultiplier / e.sizeMultiplier), + (v.depth *= a.sizeMultiplier / e.sizeMultiplier); + var S; + r.size === Ht.DISPLAY.size + ? (S = e.fontMetrics().delim1) + : r.size === Ht.SCRIPTSCRIPT.size + ? (S = e.havingStyle(Ht.SCRIPT).fontMetrics().delim2) + : (S = e.fontMetrics().delim2); + var T, E; + return ( + t.leftDelim == null + ? (T = sy(e, ['mopen'])) + : (T = au.customSizedDelim(t.leftDelim, S, !0, e.havingStyle(r), t.mode, ['mopen'])), + t.continued + ? (E = Be.makeSpan([])) + : t.rightDelim == null + ? (E = sy(e, ['mclose'])) + : (E = au.customSizedDelim(t.rightDelim, S, !0, e.havingStyle(r), t.mode, ['mclose'])), + Be.makeSpan(['mord'].concat(a.sizingClasses(e)), [T, Be.makeSpan(['mfrac'], [v]), E], e) + ); + }, 'htmlBuilder$4')), + (Y7 = o((t, e) => { + var r = new et.MathNode('mfrac', [fn(t.numer, e), fn(t.denom, e)]); + if (!t.hasBarLine) r.setAttribute('linethickness', '0px'); + else if (t.barSize) { + var n = Hn(t.barSize, e); + r.setAttribute('linethickness', ct(n)); + } + var i = u$(t.size, e.style); + if (i.size !== e.style.size) { + r = new et.MathNode('mstyle', [r]); + var a = i.size === Ht.DISPLAY.size ? 'true' : 'false'; + r.setAttribute('displaystyle', a), r.setAttribute('scriptlevel', '0'); + } + if (t.leftDelim != null || t.rightDelim != null) { + var s = []; + if (t.leftDelim != null) { + var l = new et.MathNode('mo', [new et.TextNode(t.leftDelim.replace('\\', ''))]); + l.setAttribute('fence', 'true'), s.push(l); + } + if ((s.push(r), t.rightDelim != null)) { + var u = new et.MathNode('mo', [new et.TextNode(t.rightDelim.replace('\\', ''))]); + u.setAttribute('fence', 'true'), s.push(u); + } + return O7(s); + } + return r; + }, 'mathmlBuilder$3')); + vt({ + type: 'genfrac', + names: [ + '\\dfrac', + '\\frac', + '\\tfrac', + '\\dbinom', + '\\binom', + '\\tbinom', + '\\\\atopfrac', + '\\\\bracefrac', + '\\\\brackfrac' + ], + props: { numArgs: 2, allowedInArgument: !0 }, + handler: o((t, e) => { + var { parser: r, funcName: n } = t, + i = e[0], + a = e[1], + s, + l = null, + u = null, + h = 'auto'; + switch (n) { + case '\\dfrac': + case '\\frac': + case '\\tfrac': + s = !0; + break; + case '\\\\atopfrac': + s = !1; + break; + case '\\dbinom': + case '\\binom': + case '\\tbinom': + (s = !1), (l = '('), (u = ')'); + break; + case '\\\\bracefrac': + (s = !1), (l = '\\{'), (u = '\\}'); + break; + case '\\\\brackfrac': + (s = !1), (l = '['), (u = ']'); + break; + default: + throw new Error('Unrecognized genfrac command'); + } + switch (n) { + case '\\dfrac': + case '\\dbinom': + h = 'display'; + break; + case '\\tfrac': + case '\\tbinom': + h = 'text'; + break; + } + return { + type: 'genfrac', + mode: r.mode, + continued: !1, + numer: i, + denom: a, + hasBarLine: s, + leftDelim: l, + rightDelim: u, + size: h, + barSize: null + }; + }, 'handler'), + htmlBuilder: H7, + mathmlBuilder: Y7 + }); + vt({ + type: 'genfrac', + names: ['\\cfrac'], + props: { numArgs: 2 }, + handler: o((t, e) => { + var { parser: r, funcName: n } = t, + i = e[0], + a = e[1]; + return { + type: 'genfrac', + mode: r.mode, + continued: !0, + numer: i, + denom: a, + hasBarLine: !0, + leftDelim: null, + rightDelim: null, + size: 'display', + barSize: null + }; + }, 'handler') + }); + vt({ + type: 'infix', + names: ['\\over', '\\choose', '\\atop', '\\brace', '\\brack'], + props: { numArgs: 0, infix: !0 }, + handler(t) { + var { parser: e, funcName: r, token: n } = t, + i; + switch (r) { + case '\\over': + i = '\\frac'; + break; + case '\\choose': + i = '\\binom'; + break; + case '\\atop': + i = '\\\\atopfrac'; + break; + case '\\brace': + i = '\\\\bracefrac'; + break; + case '\\brack': + i = '\\\\brackfrac'; + break; + default: + throw new Error('Unrecognized infix genfrac command'); + } + return { type: 'infix', mode: e.mode, replaceWith: i, token: n }; + } + }); + (pG = ['display', 'text', 'script', 'scriptscript']), + (mG = o(function (e) { + var r = null; + return e.length > 0 && ((r = e), (r = r === '.' ? null : r)), r; + }, 'delimFromValue')); + vt({ + type: 'genfrac', + names: ['\\genfrac'], + props: { + numArgs: 6, + allowedInArgument: !0, + argTypes: ['math', 'math', 'size', 'text', 'math', 'math'] + }, + handler(t, e) { + var { parser: r } = t, + n = e[4], + i = e[5], + a = y4(e[0]), + s = a.type === 'atom' && a.family === 'open' ? mG(a.text) : null, + l = y4(e[1]), + u = l.type === 'atom' && l.family === 'close' ? mG(l.text) : null, + h = ir(e[2], 'size'), + f, + d = null; + h.isBlank ? (f = !0) : ((d = h.value), (f = d.number > 0)); + var p = 'auto', + m = e[3]; + if (m.type === 'ordgroup') { + if (m.body.length > 0) { + var g = ir(m.body[0], 'textord'); + p = pG[Number(g.text)]; + } + } else (m = ir(m, 'textord')), (p = pG[Number(m.text)]); + return { + type: 'genfrac', + mode: r.mode, + numer: n, + denom: i, + continued: !1, + hasBarLine: f, + barSize: d, + leftDelim: s, + rightDelim: u, + size: p + }; + }, + htmlBuilder: H7, + mathmlBuilder: Y7 + }); + vt({ + type: 'infix', + names: ['\\above'], + props: { numArgs: 1, argTypes: ['size'], infix: !0 }, + handler(t, e) { + var { parser: r, funcName: n, token: i } = t; + return { + type: 'infix', + mode: r.mode, + replaceWith: '\\\\abovefrac', + size: ir(e[0], 'size').value, + token: i + }; + } + }); + vt({ + type: 'genfrac', + names: ['\\\\abovefrac'], + props: { numArgs: 3, argTypes: ['math', 'size', 'math'] }, + handler: o((t, e) => { + var { parser: r, funcName: n } = t, + i = e[0], + a = z2e(ir(e[1], 'infix').size), + s = e[2], + l = a.number > 0; + return { + type: 'genfrac', + mode: r.mode, + numer: i, + denom: s, + continued: !1, + hasBarLine: l, + barSize: a, + leftDelim: null, + rightDelim: null, + size: 'auto' + }; + }, 'handler'), + htmlBuilder: H7, + mathmlBuilder: Y7 + }); + (h$ = o((t, e) => { + var r = e.style, + n, + i; + t.type === 'supsub' + ? ((n = t.sup ? Cr(t.sup, e.havingStyle(r.sup()), e) : Cr(t.sub, e.havingStyle(r.sub()), e)), + (i = ir(t.base, 'horizBrace'))) + : (i = ir(t, 'horizBrace')); + var a = Cr(i.base, e.havingBaseStyle(Ht.DISPLAY)), + s = ou.svgSpan(i, e), + l; + if ( + (i.isOver + ? ((l = Be.makeVList( + { + positionType: 'firstBaseline', + children: [ + { type: 'elem', elem: a }, + { type: 'kern', size: 0.1 }, + { type: 'elem', elem: s } + ] + }, + e + )), + l.children[0].children[0].children[1].classes.push('svg-align')) + : ((l = Be.makeVList( + { + positionType: 'bottom', + positionData: a.depth + 0.1 + s.height, + children: [ + { type: 'elem', elem: s }, + { type: 'kern', size: 0.1 }, + { type: 'elem', elem: a } + ] + }, + e + )), + l.children[0].children[0].children[0].classes.push('svg-align')), + n) + ) { + var u = Be.makeSpan(['mord', i.isOver ? 'mover' : 'munder'], [l], e); + i.isOver + ? (l = Be.makeVList( + { + positionType: 'firstBaseline', + children: [ + { type: 'elem', elem: u }, + { type: 'kern', size: 0.2 }, + { type: 'elem', elem: n } + ] + }, + e + )) + : (l = Be.makeVList( + { + positionType: 'bottom', + positionData: u.depth + 0.2 + n.height + n.depth, + children: [ + { type: 'elem', elem: n }, + { type: 'kern', size: 0.2 }, + { type: 'elem', elem: u } + ] + }, + e + )); + } + return Be.makeSpan(['mord', i.isOver ? 'mover' : 'munder'], [l], e); + }, 'htmlBuilder$3')), + (obe = o((t, e) => { + var r = ou.mathMLnode(t.label); + return new et.MathNode(t.isOver ? 'mover' : 'munder', [fn(t.base, e), r]); + }, 'mathmlBuilder$2')); + vt({ + type: 'horizBrace', + names: ['\\overbrace', '\\underbrace'], + props: { numArgs: 1 }, + handler(t, e) { + var { parser: r, funcName: n } = t; + return { + type: 'horizBrace', + mode: r.mode, + label: n, + isOver: /^\\over/.test(n), + base: e[0] + }; + }, + htmlBuilder: h$, + mathmlBuilder: obe + }); + vt({ + type: 'href', + names: ['\\href'], + props: { numArgs: 2, argTypes: ['url', 'original'], allowedInText: !0 }, + handler: o((t, e) => { + var { parser: r } = t, + n = e[1], + i = ir(e[0], 'url').url; + return r.settings.isTrusted({ command: '\\href', url: i }) + ? { type: 'href', mode: r.mode, href: i, body: ui(n) } + : r.formatUnsupportedCmd('\\href'); + }, 'handler'), + htmlBuilder: o((t, e) => { + var r = Ri(t.body, e, !1); + return Be.makeAnchor(t.href, [], r, e); + }, 'htmlBuilder'), + mathmlBuilder: o((t, e) => { + var r = ph(t.body, e); + return r instanceof ps || (r = new ps('mrow', [r])), r.setAttribute('href', t.href), r; + }, 'mathmlBuilder') + }); + vt({ + type: 'href', + names: ['\\url'], + props: { numArgs: 1, argTypes: ['url'], allowedInText: !0 }, + handler: o((t, e) => { + var { parser: r } = t, + n = ir(e[0], 'url').url; + if (!r.settings.isTrusted({ command: '\\url', url: n })) return r.formatUnsupportedCmd('\\url'); + for (var i = [], a = 0; a < n.length; a++) { + var s = n[a]; + s === '~' && (s = '\\textasciitilde'), i.push({ type: 'textord', mode: 'text', text: s }); + } + var l = { type: 'text', mode: r.mode, font: '\\texttt', body: i }; + return { type: 'href', mode: r.mode, href: n, body: ui(l) }; + }, 'handler') + }); + vt({ + type: 'hbox', + names: ['\\hbox'], + props: { + numArgs: 1, + argTypes: ['text'], + allowedInText: !0, + primitive: !0 + }, + handler(t, e) { + var { parser: r } = t; + return { type: 'hbox', mode: r.mode, body: ui(e[0]) }; + }, + htmlBuilder(t, e) { + var r = Ri(t.body, e, !1); + return Be.makeFragment(r); + }, + mathmlBuilder(t, e) { + return new et.MathNode('mrow', gs(t.body, e)); + } + }); + vt({ + type: 'html', + names: ['\\htmlClass', '\\htmlId', '\\htmlStyle', '\\htmlData'], + props: { numArgs: 2, argTypes: ['raw', 'original'], allowedInText: !0 }, + handler: o((t, e) => { + var { parser: r, funcName: n, token: i } = t, + a = ir(e[0], 'raw').string, + s = e[1]; + r.settings.strict && + r.settings.reportNonstrict('htmlExtension', 'HTML extension is disabled on strict mode'); + var l, + u = {}; + switch (n) { + case '\\htmlClass': + (u.class = a), (l = { command: '\\htmlClass', class: a }); + break; + case '\\htmlId': + (u.id = a), (l = { command: '\\htmlId', id: a }); + break; + case '\\htmlStyle': + (u.style = a), (l = { command: '\\htmlStyle', style: a }); + break; + case '\\htmlData': { + for (var h = a.split(','), f = 0; f < h.length; f++) { + var d = h[f].split('='); + if (d.length !== 2) throw new nt('Error parsing key-value for \\htmlData'); + u['data-' + d[0].trim()] = d[1].trim(); + } + l = { command: '\\htmlData', attributes: u }; + break; + } + default: + throw new Error('Unrecognized html command'); + } + return r.settings.isTrusted(l) + ? { type: 'html', mode: r.mode, attributes: u, body: ui(s) } + : r.formatUnsupportedCmd(n); + }, 'handler'), + htmlBuilder: o((t, e) => { + var r = Ri(t.body, e, !1), + n = ['enclosing']; + t.attributes.class && n.push(...t.attributes.class.trim().split(/\s+/)); + var i = Be.makeSpan(n, r, e); + for (var a in t.attributes) + a !== 'class' && t.attributes.hasOwnProperty(a) && i.setAttribute(a, t.attributes[a]); + return i; + }, 'htmlBuilder'), + mathmlBuilder: o((t, e) => ph(t.body, e), 'mathmlBuilder') + }); + vt({ + type: 'htmlmathml', + names: ['\\html@mathml'], + props: { numArgs: 2, allowedInText: !0 }, + handler: o((t, e) => { + var { parser: r } = t; + return { + type: 'htmlmathml', + mode: r.mode, + html: ui(e[0]), + mathml: ui(e[1]) + }; + }, 'handler'), + htmlBuilder: o((t, e) => { + var r = Ri(t.html, e, !1); + return Be.makeFragment(r); + }, 'htmlBuilder'), + mathmlBuilder: o((t, e) => ph(t.mathml, e), 'mathmlBuilder') + }); + g7 = o(function (e) { + if (/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e)) return { number: +e, unit: 'bp' }; + var r = /([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e); + if (!r) throw new nt("Invalid size: '" + e + "' in \\includegraphics"); + var n = { number: +(r[1] + r[2]), unit: r[3] }; + if (!DG(n)) throw new nt("Invalid unit: '" + n.unit + "' in \\includegraphics."); + return n; + }, 'sizeData'); + vt({ + type: 'includegraphics', + names: ['\\includegraphics'], + props: { + numArgs: 1, + numOptionalArgs: 1, + argTypes: ['raw', 'url'], + allowedInText: !1 + }, + handler: o((t, e, r) => { + var { parser: n } = t, + i = { number: 0, unit: 'em' }, + a = { number: 0.9, unit: 'em' }, + s = { number: 0, unit: 'em' }, + l = ''; + if (r[0]) + for (var u = ir(r[0], 'raw').string, h = u.split(','), f = 0; f < h.length; f++) { + var d = h[f].split('='); + if (d.length === 2) { + var p = d[1].trim(); + switch (d[0].trim()) { + case 'alt': + l = p; + break; + case 'width': + i = g7(p); + break; + case 'height': + a = g7(p); + break; + case 'totalheight': + s = g7(p); + break; + default: + throw new nt("Invalid key: '" + d[0] + "' in \\includegraphics."); + } + } + } + var m = ir(e[0], 'url').url; + return ( + l === '' && + ((l = m), (l = l.replace(/^.*[\\/]/, '')), (l = l.substring(0, l.lastIndexOf('.')))), + n.settings.isTrusted({ command: '\\includegraphics', url: m }) + ? { + type: 'includegraphics', + mode: n.mode, + alt: l, + width: i, + height: a, + totalheight: s, + src: m + } + : n.formatUnsupportedCmd('\\includegraphics') + ); + }, 'handler'), + htmlBuilder: o((t, e) => { + var r = Hn(t.height, e), + n = 0; + t.totalheight.number > 0 && (n = Hn(t.totalheight, e) - r); + var i = 0; + t.width.number > 0 && (i = Hn(t.width, e)); + var a = { height: ct(r + n) }; + i > 0 && (a.width = ct(i)), n > 0 && (a.verticalAlign = ct(-n)); + var s = new T7(t.src, t.alt, a); + return (s.height = r), (s.depth = n), s; + }, 'htmlBuilder'), + mathmlBuilder: o((t, e) => { + var r = new et.MathNode('mglyph', []); + r.setAttribute('alt', t.alt); + var n = Hn(t.height, e), + i = 0; + if ( + (t.totalheight.number > 0 && ((i = Hn(t.totalheight, e) - n), r.setAttribute('valign', ct(-i))), + r.setAttribute('height', ct(n + i)), + t.width.number > 0) + ) { + var a = Hn(t.width, e); + r.setAttribute('width', ct(a)); + } + return r.setAttribute('src', t.src), r; + }, 'mathmlBuilder') + }); + vt({ + type: 'kern', + names: ['\\kern', '\\mkern', '\\hskip', '\\mskip'], + props: { + numArgs: 1, + argTypes: ['size'], + primitive: !0, + allowedInText: !0 + }, + handler(t, e) { + var { parser: r, funcName: n } = t, + i = ir(e[0], 'size'); + if (r.settings.strict) { + var a = n[1] === 'm', + s = i.value.unit === 'mu'; + a + ? (s || + r.settings.reportNonstrict( + 'mathVsTextUnits', + "LaTeX's " + n + ' supports only mu units, ' + ('not ' + i.value.unit + ' units') + ), + r.mode !== 'math' && + r.settings.reportNonstrict( + 'mathVsTextUnits', + "LaTeX's " + n + ' works only in math mode' + )) + : s && + r.settings.reportNonstrict( + 'mathVsTextUnits', + "LaTeX's " + n + " doesn't support mu units" + ); + } + return { type: 'kern', mode: r.mode, dimension: i.value }; + }, + htmlBuilder(t, e) { + return Be.makeGlue(t.dimension, e); + }, + mathmlBuilder(t, e) { + var r = Hn(t.dimension, e); + return new et.SpaceNode(r); + } + }); + vt({ + type: 'lap', + names: ['\\mathllap', '\\mathrlap', '\\mathclap'], + props: { numArgs: 1, allowedInText: !0 }, + handler: o((t, e) => { + var { parser: r, funcName: n } = t, + i = e[0]; + return { type: 'lap', mode: r.mode, alignment: n.slice(5), body: i }; + }, 'handler'), + htmlBuilder: o((t, e) => { + var r; + t.alignment === 'clap' + ? ((r = Be.makeSpan([], [Cr(t.body, e)])), (r = Be.makeSpan(['inner'], [r], e))) + : (r = Be.makeSpan(['inner'], [Cr(t.body, e)])); + var n = Be.makeSpan(['fix'], []), + i = Be.makeSpan([t.alignment], [r, n], e), + a = Be.makeSpan(['strut']); + return ( + (a.style.height = ct(i.height + i.depth)), + i.depth && (a.style.verticalAlign = ct(-i.depth)), + i.children.unshift(a), + (i = Be.makeSpan(['thinbox'], [i], e)), + Be.makeSpan(['mord', 'vbox'], [i], e) + ); + }, 'htmlBuilder'), + mathmlBuilder: o((t, e) => { + var r = new et.MathNode('mpadded', [fn(t.body, e)]); + if (t.alignment !== 'rlap') { + var n = t.alignment === 'llap' ? '-1' : '-0.5'; + r.setAttribute('lspace', n + 'width'); + } + return r.setAttribute('width', '0px'), r; + }, 'mathmlBuilder') + }); + vt({ + type: 'styling', + names: ['\\(', '$'], + props: { numArgs: 0, allowedInText: !0, allowedInMath: !1 }, + handler(t, e) { + var { funcName: r, parser: n } = t, + i = n.mode; + n.switchMode('math'); + var a = r === '\\(' ? '\\)' : '$', + s = n.parseExpression(!1, a); + return n.expect(a), n.switchMode(i), { type: 'styling', mode: n.mode, style: 'text', body: s }; + } + }); + vt({ + type: 'text', + names: ['\\)', '\\]'], + props: { numArgs: 0, allowedInText: !0, allowedInMath: !1 }, + handler(t, e) { + throw new nt('Mismatched ' + t.funcName); + } + }); + gG = o((t, e) => { + switch (e.style.size) { + case Ht.DISPLAY.size: + return t.display; + case Ht.TEXT.size: + return t.text; + case Ht.SCRIPT.size: + return t.script; + case Ht.SCRIPTSCRIPT.size: + return t.scriptscript; + default: + return t.text; + } + }, 'chooseMathStyle'); + vt({ + type: 'mathchoice', + names: ['\\mathchoice'], + props: { numArgs: 4, primitive: !0 }, + handler: o((t, e) => { + var { parser: r } = t; + return { + type: 'mathchoice', + mode: r.mode, + display: ui(e[0]), + text: ui(e[1]), + script: ui(e[2]), + scriptscript: ui(e[3]) + }; + }, 'handler'), + htmlBuilder: o((t, e) => { + var r = gG(t, e), + n = Ri(r, e, !1); + return Be.makeFragment(n); + }, 'htmlBuilder'), + mathmlBuilder: o((t, e) => { + var r = gG(t, e); + return ph(r, e); + }, 'mathmlBuilder') + }); + (f$ = o((t, e, r, n, i, a, s) => { + t = Be.makeSpan([], [t]); + var l = r && Vt.isCharacterBox(r), + u, + h; + if (e) { + var f = Cr(e, n.havingStyle(i.sup()), n); + h = { + elem: f, + kern: Math.max(n.fontMetrics().bigOpSpacing1, n.fontMetrics().bigOpSpacing3 - f.depth) + }; + } + if (r) { + var d = Cr(r, n.havingStyle(i.sub()), n); + u = { + elem: d, + kern: Math.max(n.fontMetrics().bigOpSpacing2, n.fontMetrics().bigOpSpacing4 - d.height) + }; + } + var p; + if (h && u) { + var m = n.fontMetrics().bigOpSpacing5 + u.elem.height + u.elem.depth + u.kern + t.depth + s; + p = Be.makeVList( + { + positionType: 'bottom', + positionData: m, + children: [ + { type: 'kern', size: n.fontMetrics().bigOpSpacing5 }, + { type: 'elem', elem: u.elem, marginLeft: ct(-a) }, + { type: 'kern', size: u.kern }, + { type: 'elem', elem: t }, + { type: 'kern', size: h.kern }, + { type: 'elem', elem: h.elem, marginLeft: ct(a) }, + { type: 'kern', size: n.fontMetrics().bigOpSpacing5 } + ] + }, + n + ); + } else if (u) { + var g = t.height - s; + p = Be.makeVList( + { + positionType: 'top', + positionData: g, + children: [ + { type: 'kern', size: n.fontMetrics().bigOpSpacing5 }, + { type: 'elem', elem: u.elem, marginLeft: ct(-a) }, + { type: 'kern', size: u.kern }, + { type: 'elem', elem: t } + ] + }, + n + ); + } else if (h) { + var y = t.depth + s; + p = Be.makeVList( + { + positionType: 'bottom', + positionData: y, + children: [ + { type: 'elem', elem: t }, + { type: 'kern', size: h.kern }, + { type: 'elem', elem: h.elem, marginLeft: ct(a) }, + { type: 'kern', size: n.fontMetrics().bigOpSpacing5 } + ] + }, + n + ); + } else return t; + var v = [p]; + if (u && a !== 0 && !l) { + var x = Be.makeSpan(['mspace'], [], n); + (x.style.marginRight = ct(a)), v.unshift(x); + } + return Be.makeSpan(['mop', 'op-limits'], v, n); + }, 'assembleSupSub')), + (d$ = ['\\smallint']), + (xp = o((t, e) => { + var r, + n, + i = !1, + a; + t.type === 'supsub' + ? ((r = t.sup), (n = t.sub), (a = ir(t.base, 'op')), (i = !0)) + : (a = ir(t, 'op')); + var s = e.style, + l = !1; + s.size === Ht.DISPLAY.size && a.symbol && !Vt.contains(d$, a.name) && (l = !0); + var u; + if (a.symbol) { + var h = l ? 'Size2-Regular' : 'Size1-Regular', + f = ''; + if ( + ((a.name === '\\oiint' || a.name === '\\oiiint') && + ((f = a.name.slice(1)), (a.name = f === 'oiint' ? '\\iint' : '\\iiint')), + (u = Be.makeSymbol(a.name, h, 'math', e, [ + 'mop', + 'op-symbol', + l ? 'large-op' : 'small-op' + ])), + f.length > 0) + ) { + var d = u.italic, + p = Be.staticSvg(f + 'Size' + (l ? '2' : '1'), e); + (u = Be.makeVList( + { + positionType: 'individualShift', + children: [ + { type: 'elem', elem: u, shift: 0 }, + { type: 'elem', elem: p, shift: l ? 0.08 : 0 } + ] + }, + e + )), + (a.name = '\\' + f), + u.classes.unshift('mop'), + (u.italic = d); + } + } else if (a.body) { + var m = Ri(a.body, e, !0); + m.length === 1 && m[0] instanceof ms + ? ((u = m[0]), (u.classes[0] = 'mop')) + : (u = Be.makeSpan(['mop'], m, e)); + } else { + for (var g = [], y = 1; y < a.name.length; y++) g.push(Be.mathsym(a.name[y], a.mode, e)); + u = Be.makeSpan(['mop'], g, e); + } + var v = 0, + x = 0; + return ( + (u instanceof ms || a.name === '\\oiint' || a.name === '\\oiiint') && + !a.suppressBaseShift && + ((v = (u.height - u.depth) / 2 - e.fontMetrics().axisHeight), (x = u.italic)), + i ? f$(u, r, n, e, s, x, v) : (v && ((u.style.position = 'relative'), (u.style.top = ct(v))), u) + ); + }, 'htmlBuilder$2')), + (oy = o((t, e) => { + var r; + if (t.symbol) + (r = new ps('mo', [_o(t.name, t.mode)])), + Vt.contains(d$, t.name) && r.setAttribute('largeop', 'false'); + else if (t.body) r = new ps('mo', gs(t.body, e)); + else { + r = new ps('mi', [new qf(t.name.slice(1))]); + var n = new ps('mo', [_o('\u2061', 'text')]); + t.parentIsSupSub ? (r = new ps('mrow', [r, n])) : (r = $G([r, n])); + } + return r; + }, 'mathmlBuilder$1')), + (lbe = { + '\u220F': '\\prod', + '\u2210': '\\coprod', + '\u2211': '\\sum', + '\u22C0': '\\bigwedge', + '\u22C1': '\\bigvee', + '\u22C2': '\\bigcap', + '\u22C3': '\\bigcup', + '\u2A00': '\\bigodot', + '\u2A01': '\\bigoplus', + '\u2A02': '\\bigotimes', + '\u2A04': '\\biguplus', + '\u2A06': '\\bigsqcup' + }); + vt({ + type: 'op', + names: [ + '\\coprod', + '\\bigvee', + '\\bigwedge', + '\\biguplus', + '\\bigcap', + '\\bigcup', + '\\intop', + '\\prod', + '\\sum', + '\\bigotimes', + '\\bigoplus', + '\\bigodot', + '\\bigsqcup', + '\\smallint', + '\u220F', + '\u2210', + '\u2211', + '\u22C0', + '\u22C1', + '\u22C2', + '\u22C3', + '\u2A00', + '\u2A01', + '\u2A02', + '\u2A04', + '\u2A06' + ], + props: { numArgs: 0 }, + handler: o((t, e) => { + var { parser: r, funcName: n } = t, + i = n; + return ( + i.length === 1 && (i = lbe[i]), + { + type: 'op', + mode: r.mode, + limits: !0, + parentIsSupSub: !1, + symbol: !0, + name: i + } + ); + }, 'handler'), + htmlBuilder: xp, + mathmlBuilder: oy + }); + vt({ + type: 'op', + names: ['\\mathop'], + props: { numArgs: 1, primitive: !0 }, + handler: o((t, e) => { + var { parser: r } = t, + n = e[0]; + return { + type: 'op', + mode: r.mode, + limits: !1, + parentIsSupSub: !1, + symbol: !1, + body: ui(n) + }; + }, 'handler'), + htmlBuilder: xp, + mathmlBuilder: oy + }); + cbe = { + '\u222B': '\\int', + '\u222C': '\\iint', + '\u222D': '\\iiint', + '\u222E': '\\oint', + '\u222F': '\\oiint', + '\u2230': '\\oiiint' + }; + vt({ + type: 'op', + names: [ + '\\arcsin', + '\\arccos', + '\\arctan', + '\\arctg', + '\\arcctg', + '\\arg', + '\\ch', + '\\cos', + '\\cosec', + '\\cosh', + '\\cot', + '\\cotg', + '\\coth', + '\\csc', + '\\ctg', + '\\cth', + '\\deg', + '\\dim', + '\\exp', + '\\hom', + '\\ker', + '\\lg', + '\\ln', + '\\log', + '\\sec', + '\\sin', + '\\sinh', + '\\sh', + '\\tan', + '\\tanh', + '\\tg', + '\\th' + ], + props: { numArgs: 0 }, + handler(t) { + var { parser: e, funcName: r } = t; + return { + type: 'op', + mode: e.mode, + limits: !1, + parentIsSupSub: !1, + symbol: !1, + name: r + }; + }, + htmlBuilder: xp, + mathmlBuilder: oy + }); + vt({ + type: 'op', + names: ['\\det', '\\gcd', '\\inf', '\\lim', '\\max', '\\min', '\\Pr', '\\sup'], + props: { numArgs: 0 }, + handler(t) { + var { parser: e, funcName: r } = t; + return { + type: 'op', + mode: e.mode, + limits: !0, + parentIsSupSub: !1, + symbol: !1, + name: r + }; + }, + htmlBuilder: xp, + mathmlBuilder: oy + }); + vt({ + type: 'op', + names: [ + '\\int', + '\\iint', + '\\iiint', + '\\oint', + '\\oiint', + '\\oiiint', + '\u222B', + '\u222C', + '\u222D', + '\u222E', + '\u222F', + '\u2230' + ], + props: { numArgs: 0 }, + handler(t) { + var { parser: e, funcName: r } = t, + n = r; + return ( + n.length === 1 && (n = cbe[n]), + { + type: 'op', + mode: e.mode, + limits: !1, + parentIsSupSub: !1, + symbol: !0, + name: n + } + ); + }, + htmlBuilder: xp, + mathmlBuilder: oy + }); + (p$ = o((t, e) => { + var r, + n, + i = !1, + a; + t.type === 'supsub' + ? ((r = t.sup), (n = t.sub), (a = ir(t.base, 'operatorname')), (i = !0)) + : (a = ir(t, 'operatorname')); + var s; + if (a.body.length > 0) { + for ( + var l = a.body.map((d) => { + var p = d.text; + return typeof p == 'string' ? { type: 'textord', mode: d.mode, text: p } : d; + }), + u = Ri(l, e.withFont('mathrm'), !0), + h = 0; + h < u.length; + h++ + ) { + var f = u[h]; + f instanceof ms && (f.text = f.text.replace(/\u2212/, '-').replace(/\u2217/, '*')); + } + s = Be.makeSpan(['mop'], u, e); + } else s = Be.makeSpan(['mop'], [], e); + return i ? f$(s, r, n, e, e.style, 0, 0) : s; + }, 'htmlBuilder$1')), + (ube = o((t, e) => { + for (var r = gs(t.body, e.withFont('mathrm')), n = !0, i = 0; i < r.length; i++) { + var a = r[i]; + if (!(a instanceof et.SpaceNode)) + if (a instanceof et.MathNode) + switch (a.type) { + case 'mi': + case 'mn': + case 'ms': + case 'mspace': + case 'mtext': + break; + case 'mo': { + var s = a.children[0]; + a.children.length === 1 && s instanceof et.TextNode + ? (s.text = s.text.replace(/\u2212/, '-').replace(/\u2217/, '*')) + : (n = !1); + break; + } + default: + n = !1; + } + else n = !1; + } + if (n) { + var l = r.map((f) => f.toText()).join(''); + r = [new et.TextNode(l)]; + } + var u = new et.MathNode('mi', r); + u.setAttribute('mathvariant', 'normal'); + var h = new et.MathNode('mo', [_o('\u2061', 'text')]); + return t.parentIsSupSub ? new et.MathNode('mrow', [u, h]) : et.newDocumentFragment([u, h]); + }, 'mathmlBuilder')); + vt({ + type: 'operatorname', + names: ['\\operatorname@', '\\operatornamewithlimits'], + props: { numArgs: 1 }, + handler: o((t, e) => { + var { parser: r, funcName: n } = t, + i = e[0]; + return { + type: 'operatorname', + mode: r.mode, + body: ui(i), + alwaysHandleSupSub: n === '\\operatornamewithlimits', + limits: !1, + parentIsSupSub: !1 + }; + }, 'handler'), + htmlBuilder: p$, + mathmlBuilder: ube + }); + le('\\operatorname', '\\@ifstar\\operatornamewithlimits\\operatorname@'); + Kf({ + type: 'ordgroup', + htmlBuilder(t, e) { + return t.semisimple + ? Be.makeFragment(Ri(t.body, e, !1)) + : Be.makeSpan(['mord'], Ri(t.body, e, !0), e); + }, + mathmlBuilder(t, e) { + return ph(t.body, e, !0); + } + }); + vt({ + type: 'overline', + names: ['\\overline'], + props: { numArgs: 1 }, + handler(t, e) { + var { parser: r } = t, + n = e[0]; + return { type: 'overline', mode: r.mode, body: n }; + }, + htmlBuilder(t, e) { + var r = Cr(t.body, e.havingCrampedStyle()), + n = Be.makeLineSpan('overline-line', e), + i = e.fontMetrics().defaultRuleThickness, + a = Be.makeVList( + { + positionType: 'firstBaseline', + children: [ + { type: 'elem', elem: r }, + { type: 'kern', size: 3 * i }, + { type: 'elem', elem: n }, + { type: 'kern', size: i } + ] + }, + e + ); + return Be.makeSpan(['mord', 'overline'], [a], e); + }, + mathmlBuilder(t, e) { + var r = new et.MathNode('mo', [new et.TextNode('\u203E')]); + r.setAttribute('stretchy', 'true'); + var n = new et.MathNode('mover', [fn(t.body, e), r]); + return n.setAttribute('accent', 'true'), n; + } + }); + vt({ + type: 'phantom', + names: ['\\phantom'], + props: { numArgs: 1, allowedInText: !0 }, + handler: o((t, e) => { + var { parser: r } = t, + n = e[0]; + return { type: 'phantom', mode: r.mode, body: ui(n) }; + }, 'handler'), + htmlBuilder: o((t, e) => { + var r = Ri(t.body, e.withPhantom(), !1); + return Be.makeFragment(r); + }, 'htmlBuilder'), + mathmlBuilder: o((t, e) => { + var r = gs(t.body, e); + return new et.MathNode('mphantom', r); + }, 'mathmlBuilder') + }); + vt({ + type: 'hphantom', + names: ['\\hphantom'], + props: { numArgs: 1, allowedInText: !0 }, + handler: o((t, e) => { + var { parser: r } = t, + n = e[0]; + return { type: 'hphantom', mode: r.mode, body: n }; + }, 'handler'), + htmlBuilder: o((t, e) => { + var r = Be.makeSpan([], [Cr(t.body, e.withPhantom())]); + if (((r.height = 0), (r.depth = 0), r.children)) + for (var n = 0; n < r.children.length; n++) + (r.children[n].height = 0), (r.children[n].depth = 0); + return ( + (r = Be.makeVList( + { + positionType: 'firstBaseline', + children: [{ type: 'elem', elem: r }] + }, + e + )), + Be.makeSpan(['mord'], [r], e) + ); + }, 'htmlBuilder'), + mathmlBuilder: o((t, e) => { + var r = gs(ui(t.body), e), + n = new et.MathNode('mphantom', r), + i = new et.MathNode('mpadded', [n]); + return i.setAttribute('height', '0px'), i.setAttribute('depth', '0px'), i; + }, 'mathmlBuilder') + }); + vt({ + type: 'vphantom', + names: ['\\vphantom'], + props: { numArgs: 1, allowedInText: !0 }, + handler: o((t, e) => { + var { parser: r } = t, + n = e[0]; + return { type: 'vphantom', mode: r.mode, body: n }; + }, 'handler'), + htmlBuilder: o((t, e) => { + var r = Be.makeSpan(['inner'], [Cr(t.body, e.withPhantom())]), + n = Be.makeSpan(['fix'], []); + return Be.makeSpan(['mord', 'rlap'], [r, n], e); + }, 'htmlBuilder'), + mathmlBuilder: o((t, e) => { + var r = gs(ui(t.body), e), + n = new et.MathNode('mphantom', r), + i = new et.MathNode('mpadded', [n]); + return i.setAttribute('width', '0px'), i; + }, 'mathmlBuilder') + }); + vt({ + type: 'raisebox', + names: ['\\raisebox'], + props: { numArgs: 2, argTypes: ['size', 'hbox'], allowedInText: !0 }, + handler(t, e) { + var { parser: r } = t, + n = ir(e[0], 'size').value, + i = e[1]; + return { type: 'raisebox', mode: r.mode, dy: n, body: i }; + }, + htmlBuilder(t, e) { + var r = Cr(t.body, e), + n = Hn(t.dy, e); + return Be.makeVList( + { + positionType: 'shift', + positionData: -n, + children: [{ type: 'elem', elem: r }] + }, + e + ); + }, + mathmlBuilder(t, e) { + var r = new et.MathNode('mpadded', [fn(t.body, e)]), + n = t.dy.number + t.dy.unit; + return r.setAttribute('voffset', n), r; + } + }); + vt({ + type: 'internal', + names: ['\\relax'], + props: { numArgs: 0, allowedInText: !0 }, + handler(t) { + var { parser: e } = t; + return { type: 'internal', mode: e.mode }; + } + }); + vt({ + type: 'rule', + names: ['\\rule'], + props: { + numArgs: 2, + numOptionalArgs: 1, + argTypes: ['size', 'size', 'size'] + }, + handler(t, e, r) { + var { parser: n } = t, + i = r[0], + a = ir(e[0], 'size'), + s = ir(e[1], 'size'); + return { + type: 'rule', + mode: n.mode, + shift: i && ir(i, 'size').value, + width: a.value, + height: s.value + }; + }, + htmlBuilder(t, e) { + var r = Be.makeSpan(['mord', 'rule'], [], e), + n = Hn(t.width, e), + i = Hn(t.height, e), + a = t.shift ? Hn(t.shift, e) : 0; + return ( + (r.style.borderRightWidth = ct(n)), + (r.style.borderTopWidth = ct(i)), + (r.style.bottom = ct(a)), + (r.width = n), + (r.height = i + a), + (r.depth = -a), + (r.maxFontSize = i * 1.125 * e.sizeMultiplier), + r + ); + }, + mathmlBuilder(t, e) { + var r = Hn(t.width, e), + n = Hn(t.height, e), + i = t.shift ? Hn(t.shift, e) : 0, + a = (e.color && e.getColor()) || 'black', + s = new et.MathNode('mspace'); + s.setAttribute('mathbackground', a), + s.setAttribute('width', ct(r)), + s.setAttribute('height', ct(n)); + var l = new et.MathNode('mpadded', [s]); + return ( + i >= 0 + ? l.setAttribute('height', ct(i)) + : (l.setAttribute('height', ct(i)), l.setAttribute('depth', ct(-i))), + l.setAttribute('voffset', ct(i)), + l + ); + } + }); + o(m$, 'sizingGroup'); + (yG = [ + '\\tiny', + '\\sixptsize', + '\\scriptsize', + '\\footnotesize', + '\\small', + '\\normalsize', + '\\large', + '\\Large', + '\\LARGE', + '\\huge', + '\\Huge' + ]), + (hbe = o((t, e) => { + var r = e.havingSize(t.size); + return m$(t.body, r, e); + }, 'htmlBuilder')); + vt({ + type: 'sizing', + names: yG, + props: { numArgs: 0, allowedInText: !0 }, + handler: o((t, e) => { + var { breakOnTokenText: r, funcName: n, parser: i } = t, + a = i.parseExpression(!1, r); + return { + type: 'sizing', + mode: i.mode, + size: yG.indexOf(n) + 1, + body: a + }; + }, 'handler'), + htmlBuilder: hbe, + mathmlBuilder: o((t, e) => { + var r = e.havingSize(t.size), + n = gs(t.body, r), + i = new et.MathNode('mstyle', n); + return i.setAttribute('mathsize', ct(r.sizeMultiplier)), i; + }, 'mathmlBuilder') + }); + vt({ + type: 'smash', + names: ['\\smash'], + props: { numArgs: 1, numOptionalArgs: 1, allowedInText: !0 }, + handler: o((t, e, r) => { + var { parser: n } = t, + i = !1, + a = !1, + s = r[0] && ir(r[0], 'ordgroup'); + if (s) + for (var l = '', u = 0; u < s.body.length; ++u) { + var h = s.body[u]; + if (((l = h.text), l === 't')) i = !0; + else if (l === 'b') a = !0; + else { + (i = !1), (a = !1); + break; + } + } + else (i = !0), (a = !0); + var f = e[0]; + return { + type: 'smash', + mode: n.mode, + body: f, + smashHeight: i, + smashDepth: a + }; + }, 'handler'), + htmlBuilder: o((t, e) => { + var r = Be.makeSpan([], [Cr(t.body, e)]); + if (!t.smashHeight && !t.smashDepth) return r; + if (t.smashHeight && ((r.height = 0), r.children)) + for (var n = 0; n < r.children.length; n++) r.children[n].height = 0; + if (t.smashDepth && ((r.depth = 0), r.children)) + for (var i = 0; i < r.children.length; i++) r.children[i].depth = 0; + var a = Be.makeVList( + { + positionType: 'firstBaseline', + children: [{ type: 'elem', elem: r }] + }, + e + ); + return Be.makeSpan(['mord'], [a], e); + }, 'htmlBuilder'), + mathmlBuilder: o((t, e) => { + var r = new et.MathNode('mpadded', [fn(t.body, e)]); + return ( + t.smashHeight && r.setAttribute('height', '0px'), + t.smashDepth && r.setAttribute('depth', '0px'), + r + ); + }, 'mathmlBuilder') + }); + vt({ + type: 'sqrt', + names: ['\\sqrt'], + props: { numArgs: 1, numOptionalArgs: 1 }, + handler(t, e, r) { + var { parser: n } = t, + i = r[0], + a = e[0]; + return { type: 'sqrt', mode: n.mode, body: a, index: i }; + }, + htmlBuilder(t, e) { + var r = Cr(t.body, e.havingCrampedStyle()); + r.height === 0 && (r.height = e.fontMetrics().xHeight), (r = Be.wrapFragment(r, e)); + var n = e.fontMetrics(), + i = n.defaultRuleThickness, + a = i; + e.style.id < Ht.TEXT.id && (a = e.fontMetrics().xHeight); + var s = i + a / 4, + l = r.height + r.depth + s + i, + { span: u, ruleWidth: h, advanceWidth: f } = au.sqrtImage(l, e), + d = u.height - h; + d > r.height + r.depth + s && (s = (s + d - r.height - r.depth) / 2); + var p = u.height - r.height - s - h; + r.style.paddingLeft = ct(f); + var m = Be.makeVList( + { + positionType: 'firstBaseline', + children: [ + { type: 'elem', elem: r, wrapperClasses: ['svg-align'] }, + { type: 'kern', size: -(r.height + p) }, + { type: 'elem', elem: u }, + { type: 'kern', size: h } + ] + }, + e + ); + if (t.index) { + var g = e.havingStyle(Ht.SCRIPTSCRIPT), + y = Cr(t.index, g, e), + v = 0.6 * (m.height - m.depth), + x = Be.makeVList( + { + positionType: 'shift', + positionData: -v, + children: [{ type: 'elem', elem: y }] + }, + e + ), + b = Be.makeSpan(['root'], [x]); + return Be.makeSpan(['mord', 'sqrt'], [b, m], e); + } else return Be.makeSpan(['mord', 'sqrt'], [m], e); + }, + mathmlBuilder(t, e) { + var { body: r, index: n } = t; + return n ? new et.MathNode('mroot', [fn(r, e), fn(n, e)]) : new et.MathNode('msqrt', [fn(r, e)]); + } + }); + vG = { + display: Ht.DISPLAY, + text: Ht.TEXT, + script: Ht.SCRIPT, + scriptscript: Ht.SCRIPTSCRIPT + }; + vt({ + type: 'styling', + names: ['\\displaystyle', '\\textstyle', '\\scriptstyle', '\\scriptscriptstyle'], + props: { numArgs: 0, allowedInText: !0, primitive: !0 }, + handler(t, e) { + var { breakOnTokenText: r, funcName: n, parser: i } = t, + a = i.parseExpression(!0, r), + s = n.slice(1, n.length - 5); + return { type: 'styling', mode: i.mode, style: s, body: a }; + }, + htmlBuilder(t, e) { + var r = vG[t.style], + n = e.havingStyle(r).withFont(''); + return m$(t.body, n, e); + }, + mathmlBuilder(t, e) { + var r = vG[t.style], + n = e.havingStyle(r), + i = gs(t.body, n), + a = new et.MathNode('mstyle', i), + s = { + display: ['0', 'true'], + text: ['0', 'false'], + script: ['1', 'false'], + scriptscript: ['2', 'false'] + }, + l = s[t.style]; + return a.setAttribute('scriptlevel', l[0]), a.setAttribute('displaystyle', l[1]), a; + } + }); + fbe = o(function (e, r) { + var n = e.base; + if (n) + if (n.type === 'op') { + var i = n.limits && (r.style.size === Ht.DISPLAY.size || n.alwaysHandleSupSub); + return i ? xp : null; + } else if (n.type === 'operatorname') { + var a = n.alwaysHandleSupSub && (r.style.size === Ht.DISPLAY.size || n.limits); + return a ? p$ : null; + } else { + if (n.type === 'accent') return Vt.isCharacterBox(n.base) ? F7 : null; + if (n.type === 'horizBrace') { + var s = !e.sub; + return s === n.isOver ? h$ : null; + } else return null; + } + else return null; + }, 'htmlBuilderDelegate'); + Kf({ + type: 'supsub', + htmlBuilder(t, e) { + var r = fbe(t, e); + if (r) return r(t, e); + var { base: n, sup: i, sub: a } = t, + s = Cr(n, e), + l, + u, + h = e.fontMetrics(), + f = 0, + d = 0, + p = n && Vt.isCharacterBox(n); + if (i) { + var m = e.havingStyle(e.style.sup()); + (l = Cr(i, m, e)), + p || (f = s.height - (m.fontMetrics().supDrop * m.sizeMultiplier) / e.sizeMultiplier); + } + if (a) { + var g = e.havingStyle(e.style.sub()); + (u = Cr(a, g, e)), + p || (d = s.depth + (g.fontMetrics().subDrop * g.sizeMultiplier) / e.sizeMultiplier); + } + var y; + e.style === Ht.DISPLAY ? (y = h.sup1) : e.style.cramped ? (y = h.sup3) : (y = h.sup2); + var v = e.sizeMultiplier, + x = ct(0.5 / h.ptPerEm / v), + b = null; + if (u) { + var w = + t.base && + t.base.type === 'op' && + t.base.name && + (t.base.name === '\\oiint' || t.base.name === '\\oiiint'); + (s instanceof ms || w) && (b = ct(-s.italic)); + } + var S; + if (l && u) { + (f = Math.max(f, y, l.depth + 0.25 * h.xHeight)), (d = Math.max(d, h.sub2)); + var T = h.defaultRuleThickness, + E = 4 * T; + if (f - l.depth - (u.height - d) < E) { + d = E - (f - l.depth) + u.height; + var _ = 0.8 * h.xHeight - (f - l.depth); + _ > 0 && ((f += _), (d -= _)); + } + var A = [ + { + type: 'elem', + elem: u, + shift: d, + marginRight: x, + marginLeft: b + }, + { type: 'elem', elem: l, shift: -f, marginRight: x } + ]; + S = Be.makeVList({ positionType: 'individualShift', children: A }, e); + } else if (u) { + d = Math.max(d, h.sub1, u.height - 0.8 * h.xHeight); + var L = [{ type: 'elem', elem: u, marginLeft: b, marginRight: x }]; + S = Be.makeVList({ positionType: 'shift', positionData: d, children: L }, e); + } else if (l) + (f = Math.max(f, y, l.depth + 0.25 * h.xHeight)), + (S = Be.makeVList( + { + positionType: 'shift', + positionData: -f, + children: [{ type: 'elem', elem: l, marginRight: x }] + }, + e + )); + else throw new Error('supsub must have either sup or sub.'); + var M = E7(s, 'right') || 'mord'; + return Be.makeSpan([M], [s, Be.makeSpan(['msupsub'], [S])], e); + }, + mathmlBuilder(t, e) { + var r = !1, + n, + i; + t.base && + t.base.type === 'horizBrace' && + ((i = !!t.sup), i === t.base.isOver && ((r = !0), (n = t.base.isOver))), + t.base && + (t.base.type === 'op' || t.base.type === 'operatorname') && + (t.base.parentIsSupSub = !0); + var a = [fn(t.base, e)]; + t.sub && a.push(fn(t.sub, e)), t.sup && a.push(fn(t.sup, e)); + var s; + if (r) s = n ? 'mover' : 'munder'; + else if (t.sub) + if (t.sup) { + var h = t.base; + (h && h.type === 'op' && h.limits && e.style === Ht.DISPLAY) || + (h && + h.type === 'operatorname' && + h.alwaysHandleSupSub && + (e.style === Ht.DISPLAY || h.limits)) + ? (s = 'munderover') + : (s = 'msubsup'); + } else { + var u = t.base; + (u && u.type === 'op' && u.limits && (e.style === Ht.DISPLAY || u.alwaysHandleSupSub)) || + (u && + u.type === 'operatorname' && + u.alwaysHandleSupSub && + (u.limits || e.style === Ht.DISPLAY)) + ? (s = 'munder') + : (s = 'msub'); + } + else { + var l = t.base; + (l && l.type === 'op' && l.limits && (e.style === Ht.DISPLAY || l.alwaysHandleSupSub)) || + (l && l.type === 'operatorname' && l.alwaysHandleSupSub && (l.limits || e.style === Ht.DISPLAY)) + ? (s = 'mover') + : (s = 'msup'); + } + return new et.MathNode(s, a); + } + }); + Kf({ + type: 'atom', + htmlBuilder(t, e) { + return Be.mathsym(t.text, t.mode, e, ['m' + t.family]); + }, + mathmlBuilder(t, e) { + var r = new et.MathNode('mo', [_o(t.text, t.mode)]); + if (t.family === 'bin') { + var n = P7(t, e); + n === 'bold-italic' && r.setAttribute('mathvariant', n); + } else + t.family === 'punct' + ? r.setAttribute('separator', 'true') + : (t.family === 'open' || t.family === 'close') && r.setAttribute('stretchy', 'false'); + return r; + } + }); + g$ = { mi: 'italic', mn: 'normal', mtext: 'normal' }; + Kf({ + type: 'mathord', + htmlBuilder(t, e) { + return Be.makeOrd(t, e, 'mathord'); + }, + mathmlBuilder(t, e) { + var r = new et.MathNode('mi', [_o(t.text, t.mode, e)]), + n = P7(t, e) || 'italic'; + return n !== g$[r.type] && r.setAttribute('mathvariant', n), r; + } + }); + Kf({ + type: 'textord', + htmlBuilder(t, e) { + return Be.makeOrd(t, e, 'textord'); + }, + mathmlBuilder(t, e) { + var r = _o(t.text, t.mode, e), + n = P7(t, e) || 'normal', + i; + return ( + t.mode === 'text' + ? (i = new et.MathNode('mtext', [r])) + : /[0-9]/.test(t.text) + ? (i = new et.MathNode('mn', [r])) + : t.text === '\\prime' + ? (i = new et.MathNode('mo', [r])) + : (i = new et.MathNode('mi', [r])), + n !== g$[i.type] && i.setAttribute('mathvariant', n), + i + ); + } + }); + (y7 = { '\\nobreak': 'nobreak', '\\allowbreak': 'allowbreak' }), + (v7 = { + ' ': {}, + '\\ ': {}, + '~': { className: 'nobreak' }, + '\\space': {}, + '\\nobreakspace': { className: 'nobreak' } + }); + Kf({ + type: 'spacing', + htmlBuilder(t, e) { + if (v7.hasOwnProperty(t.text)) { + var r = v7[t.text].className || ''; + if (t.mode === 'text') { + var n = Be.makeOrd(t, e, 'textord'); + return n.classes.push(r), n; + } else return Be.makeSpan(['mspace', r], [Be.mathsym(t.text, t.mode, e)], e); + } else { + if (y7.hasOwnProperty(t.text)) return Be.makeSpan(['mspace', y7[t.text]], [], e); + throw new nt('Unknown type of space "' + t.text + '"'); + } + }, + mathmlBuilder(t, e) { + var r; + if (v7.hasOwnProperty(t.text)) r = new et.MathNode('mtext', [new et.TextNode('\xA0')]); + else { + if (y7.hasOwnProperty(t.text)) return new et.MathNode('mspace'); + throw new nt('Unknown type of space "' + t.text + '"'); + } + return r; + } + }); + xG = o(() => { + var t = new et.MathNode('mtd', []); + return t.setAttribute('width', '50%'), t; + }, 'pad'); + Kf({ + type: 'tag', + mathmlBuilder(t, e) { + var r = new et.MathNode('mtable', [ + new et.MathNode('mtr', [ + xG(), + new et.MathNode('mtd', [ph(t.body, e)]), + xG(), + new et.MathNode('mtd', [ph(t.tag, e)]) + ]) + ]); + return r.setAttribute('width', '100%'), r; + } + }); + (bG = { + '\\text': void 0, + '\\textrm': 'textrm', + '\\textsf': 'textsf', + '\\texttt': 'texttt', + '\\textnormal': 'textrm' + }), + (wG = { '\\textbf': 'textbf', '\\textmd': 'textmd' }), + (dbe = { '\\textit': 'textit', '\\textup': 'textup' }), + (TG = o((t, e) => { + var r = t.font; + if (r) { + if (bG[r]) return e.withTextFontFamily(bG[r]); + if (wG[r]) return e.withTextFontWeight(wG[r]); + if (r === '\\emph') + return e.fontShape === 'textit' + ? e.withTextFontShape('textup') + : e.withTextFontShape('textit'); + } else return e; + return e.withTextFontShape(dbe[r]); + }, 'optionsWithFont')); + vt({ + type: 'text', + names: [ + '\\text', + '\\textrm', + '\\textsf', + '\\texttt', + '\\textnormal', + '\\textbf', + '\\textmd', + '\\textit', + '\\textup', + '\\emph' + ], + props: { + numArgs: 1, + argTypes: ['text'], + allowedInArgument: !0, + allowedInText: !0 + }, + handler(t, e) { + var { parser: r, funcName: n } = t, + i = e[0]; + return { type: 'text', mode: r.mode, body: ui(i), font: n }; + }, + htmlBuilder(t, e) { + var r = TG(t, e), + n = Ri(t.body, r, !0); + return Be.makeSpan(['mord', 'text'], n, r); + }, + mathmlBuilder(t, e) { + var r = TG(t, e); + return ph(t.body, r); + } + }); + vt({ + type: 'underline', + names: ['\\underline'], + props: { numArgs: 1, allowedInText: !0 }, + handler(t, e) { + var { parser: r } = t; + return { type: 'underline', mode: r.mode, body: e[0] }; + }, + htmlBuilder(t, e) { + var r = Cr(t.body, e), + n = Be.makeLineSpan('underline-line', e), + i = e.fontMetrics().defaultRuleThickness, + a = Be.makeVList( + { + positionType: 'top', + positionData: r.height, + children: [ + { type: 'kern', size: i }, + { type: 'elem', elem: n }, + { type: 'kern', size: 3 * i }, + { type: 'elem', elem: r } + ] + }, + e + ); + return Be.makeSpan(['mord', 'underline'], [a], e); + }, + mathmlBuilder(t, e) { + var r = new et.MathNode('mo', [new et.TextNode('\u203E')]); + r.setAttribute('stretchy', 'true'); + var n = new et.MathNode('munder', [fn(t.body, e), r]); + return n.setAttribute('accentunder', 'true'), n; + } + }); + vt({ + type: 'vcenter', + names: ['\\vcenter'], + props: { numArgs: 1, argTypes: ['original'], allowedInText: !1 }, + handler(t, e) { + var { parser: r } = t; + return { type: 'vcenter', mode: r.mode, body: e[0] }; + }, + htmlBuilder(t, e) { + var r = Cr(t.body, e), + n = e.fontMetrics().axisHeight, + i = 0.5 * (r.height - n - (r.depth + n)); + return Be.makeVList( + { + positionType: 'shift', + positionData: i, + children: [{ type: 'elem', elem: r }] + }, + e + ); + }, + mathmlBuilder(t, e) { + return new et.MathNode('mpadded', [fn(t.body, e)], ['vcenter']); + } + }); + vt({ + type: 'verb', + names: ['\\verb'], + props: { numArgs: 0, allowedInText: !0 }, + handler(t, e, r) { + throw new nt('\\verb ended by end of line instead of matching delimiter'); + }, + htmlBuilder(t, e) { + for (var r = kG(t), n = [], i = e.havingStyle(e.style.text()), a = 0; a < r.length; a++) { + var s = r[a]; + s === '~' && (s = '\\textasciitilde'), + n.push(Be.makeSymbol(s, 'Typewriter-Regular', t.mode, i, ['mord', 'texttt'])); + } + return Be.makeSpan(['mord', 'text'].concat(i.sizingClasses(e)), Be.tryCombineChars(n), i); + }, + mathmlBuilder(t, e) { + var r = new et.TextNode(kG(t)), + n = new et.MathNode('mtext', [r]); + return n.setAttribute('mathvariant', 'monospace'), n; + } + }); + (kG = o((t) => t.body.replace(/ /g, t.star ? '\u2423' : '\xA0'), 'makeVerb')), + (fh = zG), + (y$ = `[ \r + ]`), + (pbe = '\\\\[a-zA-Z@]+'), + (mbe = '\\\\[^\uD800-\uDFFF]'), + (gbe = '(' + pbe + ')' + y$ + '*'), + (ybe = `\\\\( +|[ \r ]+ +?)[ \r ]*`), + (L7 = '[\u0300-\u036F]'), + (vbe = new RegExp(L7 + '+$')), + (xbe = + '(' + + y$ + + '+)|' + + (ybe + '|') + + '([!-\\[\\]-\u2027\u202A-\uD7FF\uF900-\uFFFF]' + + (L7 + '*') + + '|[\uD800-\uDBFF][\uDC00-\uDFFF]' + + (L7 + '*') + + '|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5' + + ('|' + gbe) + + ('|' + mbe + ')')), + (v4 = class { + static { + o(this, 'Lexer'); + } + constructor(e, r) { + (this.input = void 0), + (this.settings = void 0), + (this.tokenRegex = void 0), + (this.catcodes = void 0), + (this.input = e), + (this.settings = r), + (this.tokenRegex = new RegExp(xbe, 'g')), + (this.catcodes = { '%': 14, '~': 13 }); + } + setCatcode(e, r) { + this.catcodes[e] = r; + } + lex() { + var e = this.input, + r = this.tokenRegex.lastIndex; + if (r === e.length) return new Ao('EOF', new Xs(this, r, r)); + var n = this.tokenRegex.exec(e); + if (n === null || n.index !== r) + throw new nt("Unexpected character: '" + e[r] + "'", new Ao(e[r], new Xs(this, r, r + 1))); + var i = n[6] || n[3] || (n[2] ? '\\ ' : ' '); + if (this.catcodes[i] === 14) { + var a = e.indexOf( + ` +`, + this.tokenRegex.lastIndex + ); + return ( + a === -1 + ? ((this.tokenRegex.lastIndex = e.length), + this.settings.reportNonstrict( + 'commentAtEnd', + '% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)' + )) + : (this.tokenRegex.lastIndex = a + 1), + this.lex() + ); + } + return new Ao(i, new Xs(this, r, this.tokenRegex.lastIndex)); + } + }), + (D7 = class { + static { + o(this, 'Namespace'); + } + constructor(e, r) { + e === void 0 && (e = {}), + r === void 0 && (r = {}), + (this.current = void 0), + (this.builtins = void 0), + (this.undefStack = void 0), + (this.current = r), + (this.builtins = e), + (this.undefStack = []); + } + beginGroup() { + this.undefStack.push({}); + } + endGroup() { + if (this.undefStack.length === 0) + throw new nt( + 'Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug' + ); + var e = this.undefStack.pop(); + for (var r in e) + e.hasOwnProperty(r) && (e[r] == null ? delete this.current[r] : (this.current[r] = e[r])); + } + endGroups() { + for (; this.undefStack.length > 0; ) this.endGroup(); + } + has(e) { + return this.current.hasOwnProperty(e) || this.builtins.hasOwnProperty(e); + } + get(e) { + return this.current.hasOwnProperty(e) ? this.current[e] : this.builtins[e]; + } + set(e, r, n) { + if ((n === void 0 && (n = !1), n)) { + for (var i = 0; i < this.undefStack.length; i++) delete this.undefStack[i][e]; + this.undefStack.length > 0 && (this.undefStack[this.undefStack.length - 1][e] = r); + } else { + var a = this.undefStack[this.undefStack.length - 1]; + a && !a.hasOwnProperty(e) && (a[e] = this.current[e]); + } + r == null ? delete this.current[e] : (this.current[e] = r); + } + }), + (bbe = s$); + le('\\noexpand', function (t) { + var e = t.popToken(); + return ( + t.isExpandable(e.text) && ((e.noexpand = !0), (e.treatAsRelax = !0)), { tokens: [e], numArgs: 0 } + ); + }); + le('\\expandafter', function (t) { + var e = t.popToken(); + return t.expandOnce(!0), { tokens: [e], numArgs: 0 }; + }); + le('\\@firstoftwo', function (t) { + var e = t.consumeArgs(2); + return { tokens: e[0], numArgs: 0 }; + }); + le('\\@secondoftwo', function (t) { + var e = t.consumeArgs(2); + return { tokens: e[1], numArgs: 0 }; + }); + le('\\@ifnextchar', function (t) { + var e = t.consumeArgs(3); + t.consumeSpaces(); + var r = t.future(); + return e[0].length === 1 && e[0][0].text === r.text + ? { tokens: e[1], numArgs: 0 } + : { tokens: e[2], numArgs: 0 }; + }); + le('\\@ifstar', '\\@ifnextchar *{\\@firstoftwo{#1}}'); + le('\\TextOrMath', function (t) { + var e = t.consumeArgs(2); + return t.mode === 'text' ? { tokens: e[0], numArgs: 0 } : { tokens: e[1], numArgs: 0 }; + }); + EG = { + 0: 0, + 1: 1, + 2: 2, + 3: 3, + 4: 4, + 5: 5, + 6: 6, + 7: 7, + 8: 8, + 9: 9, + a: 10, + A: 10, + b: 11, + B: 11, + c: 12, + C: 12, + d: 13, + D: 13, + e: 14, + E: 14, + f: 15, + F: 15 + }; + le('\\char', function (t) { + var e = t.popToken(), + r, + n = ''; + if (e.text === "'") (r = 8), (e = t.popToken()); + else if (e.text === '"') (r = 16), (e = t.popToken()); + else if (e.text === '`') + if (((e = t.popToken()), e.text[0] === '\\')) n = e.text.charCodeAt(1); + else { + if (e.text === 'EOF') throw new nt('\\char` missing argument'); + n = e.text.charCodeAt(0); + } + else r = 10; + if (r) { + if (((n = EG[e.text]), n == null || n >= r)) throw new nt('Invalid base-' + r + ' digit ' + e.text); + for (var i; (i = EG[t.future().text]) != null && i < r; ) (n *= r), (n += i), t.popToken(); + } + return '\\@char{' + n + '}'; + }); + W7 = o((t, e, r) => { + var n = t.consumeArg().tokens; + if (n.length !== 1) throw new nt("\\newcommand's first argument must be a macro name"); + var i = n[0].text, + a = t.isDefined(i); + if (a && !e) + throw new nt('\\newcommand{' + i + '} attempting to redefine ' + (i + '; use \\renewcommand')); + if (!a && !r) + throw new nt( + '\\renewcommand{' + i + '} when command ' + i + ' does not yet exist; use \\newcommand' + ); + var s = 0; + if (((n = t.consumeArg().tokens), n.length === 1 && n[0].text === '[')) { + for (var l = '', u = t.expandNextToken(); u.text !== ']' && u.text !== 'EOF'; ) + (l += u.text), (u = t.expandNextToken()); + if (!l.match(/^\s*[0-9]+\s*$/)) throw new nt('Invalid number of arguments: ' + l); + (s = parseInt(l)), (n = t.consumeArg().tokens); + } + return t.macros.set(i, { tokens: n, numArgs: s }), ''; + }, 'newcommand'); + le('\\newcommand', (t) => W7(t, !1, !0)); + le('\\renewcommand', (t) => W7(t, !0, !1)); + le('\\providecommand', (t) => W7(t, !0, !0)); + le('\\message', (t) => { + var e = t.consumeArgs(1)[0]; + return ( + console.log( + e + .reverse() + .map((r) => r.text) + .join('') + ), + '' + ); + }); + le('\\errmessage', (t) => { + var e = t.consumeArgs(1)[0]; + return ( + console.error( + e + .reverse() + .map((r) => r.text) + .join('') + ), + '' + ); + }); + le('\\show', (t) => { + var e = t.popToken(), + r = e.text; + return console.log(e, t.macros.get(r), fh[r], wn.math[r], wn.text[r]), ''; + }); + le('\\bgroup', '{'); + le('\\egroup', '}'); + le('~', '\\nobreakspace'); + le('\\lq', '`'); + le('\\rq', "'"); + le('\\aa', '\\r a'); + le('\\AA', '\\r A'); + le('\\textcopyright', '\\html@mathml{\\textcircled{c}}{\\char`\xA9}'); + le('\\copyright', '\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}'); + le('\\textregistered', '\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`\xAE}'); + le('\u212C', '\\mathscr{B}'); + le('\u2130', '\\mathscr{E}'); + le('\u2131', '\\mathscr{F}'); + le('\u210B', '\\mathscr{H}'); + le('\u2110', '\\mathscr{I}'); + le('\u2112', '\\mathscr{L}'); + le('\u2133', '\\mathscr{M}'); + le('\u211B', '\\mathscr{R}'); + le('\u212D', '\\mathfrak{C}'); + le('\u210C', '\\mathfrak{H}'); + le('\u2128', '\\mathfrak{Z}'); + le('\\Bbbk', '\\Bbb{k}'); + le('\xB7', '\\cdotp'); + le('\\llap', '\\mathllap{\\textrm{#1}}'); + le('\\rlap', '\\mathrlap{\\textrm{#1}}'); + le('\\clap', '\\mathclap{\\textrm{#1}}'); + le('\\mathstrut', '\\vphantom{(}'); + le('\\underbar', '\\underline{\\text{#1}}'); + le('\\not', '\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}'); + le('\\neq', '\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`\u2260}}'); + le('\\ne', '\\neq'); + le('\u2260', '\\neq'); + le('\\notin', '\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`\u2209}}'); + le('\u2209', '\\notin'); + le( + '\u2258', + '\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`\u2258}}' + ); + le('\u2259', '\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}'); + le('\u225A', '\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225A}}'); + le('\u225B', '\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`\u225B}}'); + le('\u225D', '\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`\u225D}}'); + le('\u225E', '\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`\u225E}}'); + le('\u225F', '\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225F}}'); + le('\u27C2', '\\perp'); + le('\u203C', '\\mathclose{!\\mkern-0.8mu!}'); + le('\u220C', '\\notni'); + le('\u231C', '\\ulcorner'); + le('\u231D', '\\urcorner'); + le('\u231E', '\\llcorner'); + le('\u231F', '\\lrcorner'); + le('\xA9', '\\copyright'); + le('\xAE', '\\textregistered'); + le('\uFE0F', '\\textregistered'); + le('\\ulcorner', '\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}'); + le('\\urcorner', '\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}'); + le('\\llcorner', '\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}'); + le('\\lrcorner', '\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}'); + le('\\vdots', '\\mathord{\\varvdots\\rule{0pt}{15pt}}'); + le('\u22EE', '\\vdots'); + le('\\varGamma', '\\mathit{\\Gamma}'); + le('\\varDelta', '\\mathit{\\Delta}'); + le('\\varTheta', '\\mathit{\\Theta}'); + le('\\varLambda', '\\mathit{\\Lambda}'); + le('\\varXi', '\\mathit{\\Xi}'); + le('\\varPi', '\\mathit{\\Pi}'); + le('\\varSigma', '\\mathit{\\Sigma}'); + le('\\varUpsilon', '\\mathit{\\Upsilon}'); + le('\\varPhi', '\\mathit{\\Phi}'); + le('\\varPsi', '\\mathit{\\Psi}'); + le('\\varOmega', '\\mathit{\\Omega}'); + le('\\substack', '\\begin{subarray}{c}#1\\end{subarray}'); + le( + '\\colon', + '\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax' + ); + le('\\boxed', '\\fbox{$\\displaystyle{#1}$}'); + le('\\iff', '\\DOTSB\\;\\Longleftrightarrow\\;'); + le('\\implies', '\\DOTSB\\;\\Longrightarrow\\;'); + le('\\impliedby', '\\DOTSB\\;\\Longleftarrow\\;'); + CG = { + ',': '\\dotsc', + '\\not': '\\dotsb', + '+': '\\dotsb', + '=': '\\dotsb', + '<': '\\dotsb', + '>': '\\dotsb', + '-': '\\dotsb', + '*': '\\dotsb', + ':': '\\dotsb', + '\\DOTSB': '\\dotsb', + '\\coprod': '\\dotsb', + '\\bigvee': '\\dotsb', + '\\bigwedge': '\\dotsb', + '\\biguplus': '\\dotsb', + '\\bigcap': '\\dotsb', + '\\bigcup': '\\dotsb', + '\\prod': '\\dotsb', + '\\sum': '\\dotsb', + '\\bigotimes': '\\dotsb', + '\\bigoplus': '\\dotsb', + '\\bigodot': '\\dotsb', + '\\bigsqcup': '\\dotsb', + '\\And': '\\dotsb', + '\\longrightarrow': '\\dotsb', + '\\Longrightarrow': '\\dotsb', + '\\longleftarrow': '\\dotsb', + '\\Longleftarrow': '\\dotsb', + '\\longleftrightarrow': '\\dotsb', + '\\Longleftrightarrow': '\\dotsb', + '\\mapsto': '\\dotsb', + '\\longmapsto': '\\dotsb', + '\\hookrightarrow': '\\dotsb', + '\\doteq': '\\dotsb', + '\\mathbin': '\\dotsb', + '\\mathrel': '\\dotsb', + '\\relbar': '\\dotsb', + '\\Relbar': '\\dotsb', + '\\xrightarrow': '\\dotsb', + '\\xleftarrow': '\\dotsb', + '\\DOTSI': '\\dotsi', + '\\int': '\\dotsi', + '\\oint': '\\dotsi', + '\\iint': '\\dotsi', + '\\iiint': '\\dotsi', + '\\iiiint': '\\dotsi', + '\\idotsint': '\\dotsi', + '\\DOTSX': '\\dotsx' + }; + le('\\dots', function (t) { + var e = '\\dotso', + r = t.expandAfterFuture().text; + return ( + r in CG + ? (e = CG[r]) + : (r.slice(0, 4) === '\\not' || + (r in wn.math && Vt.contains(['bin', 'rel'], wn.math[r].group))) && + (e = '\\dotsb'), + e + ); + }); + q7 = { + ')': !0, + ']': !0, + '\\rbrack': !0, + '\\}': !0, + '\\rbrace': !0, + '\\rangle': !0, + '\\rceil': !0, + '\\rfloor': !0, + '\\rgroup': !0, + '\\rmoustache': !0, + '\\right': !0, + '\\bigr': !0, + '\\biggr': !0, + '\\Bigr': !0, + '\\Biggr': !0, + $: !0, + ';': !0, + '.': !0, + ',': !0 + }; + le('\\dotso', function (t) { + var e = t.future().text; + return e in q7 ? '\\ldots\\,' : '\\ldots'; + }); + le('\\dotsc', function (t) { + var e = t.future().text; + return e in q7 && e !== ',' ? '\\ldots\\,' : '\\ldots'; + }); + le('\\cdots', function (t) { + var e = t.future().text; + return e in q7 ? '\\@cdots\\,' : '\\@cdots'; + }); + le('\\dotsb', '\\cdots'); + le('\\dotsm', '\\cdots'); + le('\\dotsi', '\\!\\cdots'); + le('\\dotsx', '\\ldots\\,'); + le('\\DOTSI', '\\relax'); + le('\\DOTSB', '\\relax'); + le('\\DOTSX', '\\relax'); + le('\\tmspace', '\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax'); + le('\\,', '\\tmspace+{3mu}{.1667em}'); + le('\\thinspace', '\\,'); + le('\\>', '\\mskip{4mu}'); + le('\\:', '\\tmspace+{4mu}{.2222em}'); + le('\\medspace', '\\:'); + le('\\;', '\\tmspace+{5mu}{.2777em}'); + le('\\thickspace', '\\;'); + le('\\!', '\\tmspace-{3mu}{.1667em}'); + le('\\negthinspace', '\\!'); + le('\\negmedspace', '\\tmspace-{4mu}{.2222em}'); + le('\\negthickspace', '\\tmspace-{5mu}{.277em}'); + le('\\enspace', '\\kern.5em '); + le('\\enskip', '\\hskip.5em\\relax'); + le('\\quad', '\\hskip1em\\relax'); + le('\\qquad', '\\hskip2em\\relax'); + le('\\tag', '\\@ifstar\\tag@literal\\tag@paren'); + le('\\tag@paren', '\\tag@literal{({#1})}'); + le('\\tag@literal', (t) => { + if (t.macros.get('\\df@tag')) throw new nt('Multiple \\tag'); + return '\\gdef\\df@tag{\\text{#1}}'; + }); + le( + '\\bmod', + '\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}' + ); + le('\\pod', '\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)'); + le('\\pmod', '\\pod{{\\rm mod}\\mkern6mu#1}'); + le( + '\\mod', + '\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1' + ); + le('\\newline', '\\\\\\relax'); + le('\\TeX', '\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}'); + v$ = ct(Zl['Main-Regular'][84][1] - 0.7 * Zl['Main-Regular'][65][1]); + le( + '\\LaTeX', + '\\textrm{\\html@mathml{' + + ('L\\kern-.36em\\raisebox{' + v$ + '}{\\scriptstyle A}') + + '\\kern-.15em\\TeX}{LaTeX}}' + ); + le( + '\\KaTeX', + '\\textrm{\\html@mathml{' + + ('K\\kern-.17em\\raisebox{' + v$ + '}{\\scriptstyle A}') + + '\\kern-.15em\\TeX}{KaTeX}}' + ); + le('\\hspace', '\\@ifstar\\@hspacer\\@hspace'); + le('\\@hspace', '\\hskip #1\\relax'); + le('\\@hspacer', '\\rule{0pt}{0pt}\\hskip #1\\relax'); + le('\\ordinarycolon', ':'); + le('\\vcentcolon', '\\mathrel{\\mathop\\ordinarycolon}'); + le( + '\\dblcolon', + '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}' + ); + le('\\coloneqq', '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}'); + le( + '\\Coloneqq', + '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}' + ); + le( + '\\coloneq', + '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}' + ); + le( + '\\Coloneq', + '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}' + ); + le('\\eqqcolon', '\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}'); + le( + '\\Eqqcolon', + '\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}' + ); + le( + '\\eqcolon', + '\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}' + ); + le( + '\\Eqcolon', + '\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}' + ); + le( + '\\colonapprox', + '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}' + ); + le( + '\\Colonapprox', + '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}' + ); + le( + '\\colonsim', + '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}' + ); + le( + '\\Colonsim', + '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}' + ); + le('\u2237', '\\dblcolon'); + le('\u2239', '\\eqcolon'); + le('\u2254', '\\coloneqq'); + le('\u2255', '\\eqqcolon'); + le('\u2A74', '\\Coloneqq'); + le('\\ratio', '\\vcentcolon'); + le('\\coloncolon', '\\dblcolon'); + le('\\colonequals', '\\coloneqq'); + le('\\coloncolonequals', '\\Coloneqq'); + le('\\equalscolon', '\\eqqcolon'); + le('\\equalscoloncolon', '\\Eqqcolon'); + le('\\colonminus', '\\coloneq'); + le('\\coloncolonminus', '\\Coloneq'); + le('\\minuscolon', '\\eqcolon'); + le('\\minuscoloncolon', '\\Eqcolon'); + le('\\coloncolonapprox', '\\Colonapprox'); + le('\\coloncolonsim', '\\Colonsim'); + le('\\simcolon', '\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}'); + le('\\simcoloncolon', '\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}'); + le('\\approxcolon', '\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}'); + le('\\approxcoloncolon', '\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}'); + le('\\notni', '\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220C}}'); + le('\\limsup', '\\DOTSB\\operatorname*{lim\\,sup}'); + le('\\liminf', '\\DOTSB\\operatorname*{lim\\,inf}'); + le('\\injlim', '\\DOTSB\\operatorname*{inj\\,lim}'); + le('\\projlim', '\\DOTSB\\operatorname*{proj\\,lim}'); + le('\\varlimsup', '\\DOTSB\\operatorname*{\\overline{lim}}'); + le('\\varliminf', '\\DOTSB\\operatorname*{\\underline{lim}}'); + le('\\varinjlim', '\\DOTSB\\operatorname*{\\underrightarrow{lim}}'); + le('\\varprojlim', '\\DOTSB\\operatorname*{\\underleftarrow{lim}}'); + le('\\gvertneqq', '\\html@mathml{\\@gvertneqq}{\u2269}'); + le('\\lvertneqq', '\\html@mathml{\\@lvertneqq}{\u2268}'); + le('\\ngeqq', '\\html@mathml{\\@ngeqq}{\u2271}'); + le('\\ngeqslant', '\\html@mathml{\\@ngeqslant}{\u2271}'); + le('\\nleqq', '\\html@mathml{\\@nleqq}{\u2270}'); + le('\\nleqslant', '\\html@mathml{\\@nleqslant}{\u2270}'); + le('\\nshortmid', '\\html@mathml{\\@nshortmid}{\u2224}'); + le('\\nshortparallel', '\\html@mathml{\\@nshortparallel}{\u2226}'); + le('\\nsubseteqq', '\\html@mathml{\\@nsubseteqq}{\u2288}'); + le('\\nsupseteqq', '\\html@mathml{\\@nsupseteqq}{\u2289}'); + le('\\varsubsetneq', '\\html@mathml{\\@varsubsetneq}{\u228A}'); + le('\\varsubsetneqq', '\\html@mathml{\\@varsubsetneqq}{\u2ACB}'); + le('\\varsupsetneq', '\\html@mathml{\\@varsupsetneq}{\u228B}'); + le('\\varsupsetneqq', '\\html@mathml{\\@varsupsetneqq}{\u2ACC}'); + le('\\imath', '\\html@mathml{\\@imath}{\u0131}'); + le('\\jmath', '\\html@mathml{\\@jmath}{\u0237}'); + le('\\llbracket', '\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27E6}}'); + le('\\rrbracket', '\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27E7}}'); + le('\u27E6', '\\llbracket'); + le('\u27E7', '\\rrbracket'); + le('\\lBrace', '\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}'); + le('\\rBrace', '\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}'); + le('\u2983', '\\lBrace'); + le('\u2984', '\\rBrace'); + le( + '\\minuso', + '\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29B5}}' + ); + le('\u29B5', '\\minuso'); + le('\\darr', '\\downarrow'); + le('\\dArr', '\\Downarrow'); + le('\\Darr', '\\Downarrow'); + le('\\lang', '\\langle'); + le('\\rang', '\\rangle'); + le('\\uarr', '\\uparrow'); + le('\\uArr', '\\Uparrow'); + le('\\Uarr', '\\Uparrow'); + le('\\N', '\\mathbb{N}'); + le('\\R', '\\mathbb{R}'); + le('\\Z', '\\mathbb{Z}'); + le('\\alef', '\\aleph'); + le('\\alefsym', '\\aleph'); + le('\\Alpha', '\\mathrm{A}'); + le('\\Beta', '\\mathrm{B}'); + le('\\bull', '\\bullet'); + le('\\Chi', '\\mathrm{X}'); + le('\\clubs', '\\clubsuit'); + le('\\cnums', '\\mathbb{C}'); + le('\\Complex', '\\mathbb{C}'); + le('\\Dagger', '\\ddagger'); + le('\\diamonds', '\\diamondsuit'); + le('\\empty', '\\emptyset'); + le('\\Epsilon', '\\mathrm{E}'); + le('\\Eta', '\\mathrm{H}'); + le('\\exist', '\\exists'); + le('\\harr', '\\leftrightarrow'); + le('\\hArr', '\\Leftrightarrow'); + le('\\Harr', '\\Leftrightarrow'); + le('\\hearts', '\\heartsuit'); + le('\\image', '\\Im'); + le('\\infin', '\\infty'); + le('\\Iota', '\\mathrm{I}'); + le('\\isin', '\\in'); + le('\\Kappa', '\\mathrm{K}'); + le('\\larr', '\\leftarrow'); + le('\\lArr', '\\Leftarrow'); + le('\\Larr', '\\Leftarrow'); + le('\\lrarr', '\\leftrightarrow'); + le('\\lrArr', '\\Leftrightarrow'); + le('\\Lrarr', '\\Leftrightarrow'); + le('\\Mu', '\\mathrm{M}'); + le('\\natnums', '\\mathbb{N}'); + le('\\Nu', '\\mathrm{N}'); + le('\\Omicron', '\\mathrm{O}'); + le('\\plusmn', '\\pm'); + le('\\rarr', '\\rightarrow'); + le('\\rArr', '\\Rightarrow'); + le('\\Rarr', '\\Rightarrow'); + le('\\real', '\\Re'); + le('\\reals', '\\mathbb{R}'); + le('\\Reals', '\\mathbb{R}'); + le('\\Rho', '\\mathrm{P}'); + le('\\sdot', '\\cdot'); + le('\\sect', '\\S'); + le('\\spades', '\\spadesuit'); + le('\\sub', '\\subset'); + le('\\sube', '\\subseteq'); + le('\\supe', '\\supseteq'); + le('\\Tau', '\\mathrm{T}'); + le('\\thetasym', '\\vartheta'); + le('\\weierp', '\\wp'); + le('\\Zeta', '\\mathrm{Z}'); + le('\\argmin', '\\DOTSB\\operatorname*{arg\\,min}'); + le('\\argmax', '\\DOTSB\\operatorname*{arg\\,max}'); + le('\\plim', '\\DOTSB\\mathop{\\operatorname{plim}}\\limits'); + le('\\bra', '\\mathinner{\\langle{#1}|}'); + le('\\ket', '\\mathinner{|{#1}\\rangle}'); + le('\\braket', '\\mathinner{\\langle{#1}\\rangle}'); + le('\\Bra', '\\left\\langle#1\\right|'); + le('\\Ket', '\\left|#1\\right\\rangle'); + x$ = o( + (t) => (e) => { + var r = e.consumeArg().tokens, + n = e.consumeArg().tokens, + i = e.consumeArg().tokens, + a = e.consumeArg().tokens, + s = e.macros.get('|'), + l = e.macros.get('\\|'); + e.macros.beginGroup(); + var u = o( + (d) => (p) => { + t && (p.macros.set('|', s), i.length && p.macros.set('\\|', l)); + var m = d; + if (!d && i.length) { + var g = p.future(); + g.text === '|' && (p.popToken(), (m = !0)); + } + return { tokens: m ? i : n, numArgs: 0 }; + }, + 'midMacro' + ); + e.macros.set('|', u(!1)), i.length && e.macros.set('\\|', u(!0)); + var h = e.consumeArg().tokens, + f = e.expandTokens([...a, ...h, ...r]); + return e.macros.endGroup(), { tokens: f.reverse(), numArgs: 0 }; + }, + 'braketHelper' + ); + le('\\bra@ket', x$(!1)); + le('\\bra@set', x$(!0)); + le('\\Braket', '\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}'); + le('\\Set', '\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}'); + le('\\set', '\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}'); + le('\\angln', '{\\angl n}'); + le('\\blue', '\\textcolor{##6495ed}{#1}'); + le('\\orange', '\\textcolor{##ffa500}{#1}'); + le('\\pink', '\\textcolor{##ff00af}{#1}'); + le('\\red', '\\textcolor{##df0030}{#1}'); + le('\\green', '\\textcolor{##28ae7b}{#1}'); + le('\\gray', '\\textcolor{gray}{#1}'); + le('\\purple', '\\textcolor{##9d38bd}{#1}'); + le('\\blueA', '\\textcolor{##ccfaff}{#1}'); + le('\\blueB', '\\textcolor{##80f6ff}{#1}'); + le('\\blueC', '\\textcolor{##63d9ea}{#1}'); + le('\\blueD', '\\textcolor{##11accd}{#1}'); + le('\\blueE', '\\textcolor{##0c7f99}{#1}'); + le('\\tealA', '\\textcolor{##94fff5}{#1}'); + le('\\tealB', '\\textcolor{##26edd5}{#1}'); + le('\\tealC', '\\textcolor{##01d1c1}{#1}'); + le('\\tealD', '\\textcolor{##01a995}{#1}'); + le('\\tealE', '\\textcolor{##208170}{#1}'); + le('\\greenA', '\\textcolor{##b6ffb0}{#1}'); + le('\\greenB', '\\textcolor{##8af281}{#1}'); + le('\\greenC', '\\textcolor{##74cf70}{#1}'); + le('\\greenD', '\\textcolor{##1fab54}{#1}'); + le('\\greenE', '\\textcolor{##0d923f}{#1}'); + le('\\goldA', '\\textcolor{##ffd0a9}{#1}'); + le('\\goldB', '\\textcolor{##ffbb71}{#1}'); + le('\\goldC', '\\textcolor{##ff9c39}{#1}'); + le('\\goldD', '\\textcolor{##e07d10}{#1}'); + le('\\goldE', '\\textcolor{##a75a05}{#1}'); + le('\\redA', '\\textcolor{##fca9a9}{#1}'); + le('\\redB', '\\textcolor{##ff8482}{#1}'); + le('\\redC', '\\textcolor{##f9685d}{#1}'); + le('\\redD', '\\textcolor{##e84d39}{#1}'); + le('\\redE', '\\textcolor{##bc2612}{#1}'); + le('\\maroonA', '\\textcolor{##ffbde0}{#1}'); + le('\\maroonB', '\\textcolor{##ff92c6}{#1}'); + le('\\maroonC', '\\textcolor{##ed5fa6}{#1}'); + le('\\maroonD', '\\textcolor{##ca337c}{#1}'); + le('\\maroonE', '\\textcolor{##9e034e}{#1}'); + le('\\purpleA', '\\textcolor{##ddd7ff}{#1}'); + le('\\purpleB', '\\textcolor{##c6b9fc}{#1}'); + le('\\purpleC', '\\textcolor{##aa87ff}{#1}'); + le('\\purpleD', '\\textcolor{##7854ab}{#1}'); + le('\\purpleE', '\\textcolor{##543b78}{#1}'); + le('\\mintA', '\\textcolor{##f5f9e8}{#1}'); + le('\\mintB', '\\textcolor{##edf2df}{#1}'); + le('\\mintC', '\\textcolor{##e0e5cc}{#1}'); + le('\\grayA', '\\textcolor{##f6f7f7}{#1}'); + le('\\grayB', '\\textcolor{##f0f1f2}{#1}'); + le('\\grayC', '\\textcolor{##e3e5e6}{#1}'); + le('\\grayD', '\\textcolor{##d6d8da}{#1}'); + le('\\grayE', '\\textcolor{##babec2}{#1}'); + le('\\grayF', '\\textcolor{##888d93}{#1}'); + le('\\grayG', '\\textcolor{##626569}{#1}'); + le('\\grayH', '\\textcolor{##3b3e40}{#1}'); + le('\\grayI', '\\textcolor{##21242c}{#1}'); + le('\\kaBlue', '\\textcolor{##314453}{#1}'); + le('\\kaGreen', '\\textcolor{##71B307}{#1}'); + (b$ = { '^': !0, _: !0, '\\limits': !0, '\\nolimits': !0 }), + (R7 = class { + static { + o(this, 'MacroExpander'); + } + constructor(e, r, n) { + (this.settings = void 0), + (this.expansionCount = void 0), + (this.lexer = void 0), + (this.macros = void 0), + (this.stack = void 0), + (this.mode = void 0), + (this.settings = r), + (this.expansionCount = 0), + this.feed(e), + (this.macros = new D7(bbe, r.macros)), + (this.mode = n), + (this.stack = []); + } + feed(e) { + this.lexer = new v4(e, this.settings); + } + switchMode(e) { + this.mode = e; + } + beginGroup() { + this.macros.beginGroup(); + } + endGroup() { + this.macros.endGroup(); + } + endGroups() { + this.macros.endGroups(); + } + future() { + return ( + this.stack.length === 0 && this.pushToken(this.lexer.lex()), + this.stack[this.stack.length - 1] + ); + } + popToken() { + return this.future(), this.stack.pop(); + } + pushToken(e) { + this.stack.push(e); + } + pushTokens(e) { + this.stack.push(...e); + } + scanArgument(e) { + var r, n, i; + if (e) { + if ((this.consumeSpaces(), this.future().text !== '[')) return null; + (r = this.popToken()), ({ tokens: i, end: n } = this.consumeArg([']'])); + } else ({ tokens: i, start: r, end: n } = this.consumeArg()); + return this.pushToken(new Ao('EOF', n.loc)), this.pushTokens(i), r.range(n, ''); + } + consumeSpaces() { + for (;;) { + var e = this.future(); + if (e.text === ' ') this.stack.pop(); + else break; + } + } + consumeArg(e) { + var r = [], + n = e && e.length > 0; + n || this.consumeSpaces(); + var i = this.future(), + a, + s = 0, + l = 0; + do { + if (((a = this.popToken()), r.push(a), a.text === '{')) ++s; + else if (a.text === '}') { + if ((--s, s === -1)) throw new nt('Extra }', a); + } else if (a.text === 'EOF') + throw new nt( + "Unexpected end of input in a macro argument, expected '" + + (e && n ? e[l] : '}') + + "'", + a + ); + if (e && n) + if ((s === 0 || (s === 1 && e[l] === '{')) && a.text === e[l]) { + if ((++l, l === e.length)) { + r.splice(-l, l); + break; + } + } else l = 0; + } while (s !== 0 || n); + return ( + i.text === '{' && r[r.length - 1].text === '}' && (r.pop(), r.shift()), + r.reverse(), + { tokens: r, start: i, end: a } + ); + } + consumeArgs(e, r) { + if (r) { + if (r.length !== e + 1) + throw new nt("The length of delimiters doesn't match the number of args!"); + for (var n = r[0], i = 0; i < n.length; i++) { + var a = this.popToken(); + if (n[i] !== a.text) throw new nt("Use of the macro doesn't match its definition", a); + } + } + for (var s = [], l = 0; l < e; l++) s.push(this.consumeArg(r && r[l + 1]).tokens); + return s; + } + countExpansion(e) { + if (((this.expansionCount += e), this.expansionCount > this.settings.maxExpand)) + throw new nt('Too many expansions: infinite loop or need to increase maxExpand setting'); + } + expandOnce(e) { + var r = this.popToken(), + n = r.text, + i = r.noexpand ? null : this._getExpansion(n); + if (i == null || (e && i.unexpandable)) { + if (e && i == null && n[0] === '\\' && !this.isDefined(n)) + throw new nt('Undefined control sequence: ' + n); + return this.pushToken(r), !1; + } + this.countExpansion(1); + var a = i.tokens, + s = this.consumeArgs(i.numArgs, i.delimiters); + if (i.numArgs) { + a = a.slice(); + for (var l = a.length - 1; l >= 0; --l) { + var u = a[l]; + if (u.text === '#') { + if (l === 0) throw new nt('Incomplete placeholder at end of macro body', u); + if (((u = a[--l]), u.text === '#')) a.splice(l + 1, 1); + else if (/^[1-9]$/.test(u.text)) a.splice(l, 2, ...s[+u.text - 1]); + else throw new nt('Not a valid argument number', u); + } + } + } + return this.pushTokens(a), a.length; + } + expandAfterFuture() { + return this.expandOnce(), this.future(); + } + expandNextToken() { + for (;;) + if (this.expandOnce() === !1) { + var e = this.stack.pop(); + return e.treatAsRelax && (e.text = '\\relax'), e; + } + throw new Error(); + } + expandMacro(e) { + return this.macros.has(e) ? this.expandTokens([new Ao(e)]) : void 0; + } + expandTokens(e) { + var r = [], + n = this.stack.length; + for (this.pushTokens(e); this.stack.length > n; ) + if (this.expandOnce(!0) === !1) { + var i = this.stack.pop(); + i.treatAsRelax && ((i.noexpand = !1), (i.treatAsRelax = !1)), r.push(i); + } + return this.countExpansion(r.length), r; + } + expandMacroAsText(e) { + var r = this.expandMacro(e); + return r && r.map((n) => n.text).join(''); + } + _getExpansion(e) { + var r = this.macros.get(e); + if (r == null) return r; + if (e.length === 1) { + var n = this.lexer.catcodes[e]; + if (n != null && n !== 13) return; + } + var i = typeof r == 'function' ? r(this) : r; + if (typeof i == 'string') { + var a = 0; + if (i.indexOf('#') !== -1) + for (var s = i.replace(/##/g, ''); s.indexOf('#' + (a + 1)) !== -1; ) ++a; + for (var l = new v4(i, this.settings), u = [], h = l.lex(); h.text !== 'EOF'; ) + u.push(h), (h = l.lex()); + u.reverse(); + var f = { tokens: u, numArgs: a }; + return f; + } + return i; + } + isDefined(e) { + return ( + this.macros.has(e) || + fh.hasOwnProperty(e) || + wn.math.hasOwnProperty(e) || + wn.text.hasOwnProperty(e) || + b$.hasOwnProperty(e) + ); + } + isExpandable(e) { + var r = this.macros.get(e); + return r != null + ? typeof r == 'string' || typeof r == 'function' || !r.unexpandable + : fh.hasOwnProperty(e) && !fh[e].primitive; + } + }), + (SG = /^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/), + (c4 = Object.freeze({ + '\u208A': '+', + '\u208B': '-', + '\u208C': '=', + '\u208D': '(', + '\u208E': ')', + '\u2080': '0', + '\u2081': '1', + '\u2082': '2', + '\u2083': '3', + '\u2084': '4', + '\u2085': '5', + '\u2086': '6', + '\u2087': '7', + '\u2088': '8', + '\u2089': '9', + '\u2090': 'a', + '\u2091': 'e', + '\u2095': 'h', + '\u1D62': 'i', + '\u2C7C': 'j', + '\u2096': 'k', + '\u2097': 'l', + '\u2098': 'm', + '\u2099': 'n', + '\u2092': 'o', + '\u209A': 'p', + '\u1D63': 'r', + '\u209B': 's', + '\u209C': 't', + '\u1D64': 'u', + '\u1D65': 'v', + '\u2093': 'x', + '\u1D66': '\u03B2', + '\u1D67': '\u03B3', + '\u1D68': '\u03C1', + '\u1D69': '\u03D5', + '\u1D6A': '\u03C7', + '\u207A': '+', + '\u207B': '-', + '\u207C': '=', + '\u207D': '(', + '\u207E': ')', + '\u2070': '0', + '\xB9': '1', + '\xB2': '2', + '\xB3': '3', + '\u2074': '4', + '\u2075': '5', + '\u2076': '6', + '\u2077': '7', + '\u2078': '8', + '\u2079': '9', + '\u1D2C': 'A', + '\u1D2E': 'B', + '\u1D30': 'D', + '\u1D31': 'E', + '\u1D33': 'G', + '\u1D34': 'H', + '\u1D35': 'I', + '\u1D36': 'J', + '\u1D37': 'K', + '\u1D38': 'L', + '\u1D39': 'M', + '\u1D3A': 'N', + '\u1D3C': 'O', + '\u1D3E': 'P', + '\u1D3F': 'R', + '\u1D40': 'T', + '\u1D41': 'U', + '\u2C7D': 'V', + '\u1D42': 'W', + '\u1D43': 'a', + '\u1D47': 'b', + '\u1D9C': 'c', + '\u1D48': 'd', + '\u1D49': 'e', + '\u1DA0': 'f', + '\u1D4D': 'g', + ʰ: 'h', + '\u2071': 'i', + ʲ: 'j', + '\u1D4F': 'k', + ˡ: 'l', + '\u1D50': 'm', + ⁿ: 'n', + '\u1D52': 'o', + '\u1D56': 'p', + ʳ: 'r', + ˢ: 's', + '\u1D57': 't', + '\u1D58': 'u', + '\u1D5B': 'v', + ʷ: 'w', + ˣ: 'x', + ʸ: 'y', + '\u1DBB': 'z', + '\u1D5D': '\u03B2', + '\u1D5E': '\u03B3', + '\u1D5F': '\u03B4', + '\u1D60': '\u03D5', + '\u1D61': '\u03C7', + '\u1DBF': '\u03B8' + })), + (x7 = { + '\u0301': { text: "\\'", math: '\\acute' }, + '\u0300': { text: '\\`', math: '\\grave' }, + '\u0308': { text: '\\"', math: '\\ddot' }, + '\u0303': { text: '\\~', math: '\\tilde' }, + '\u0304': { text: '\\=', math: '\\bar' }, + '\u0306': { text: '\\u', math: '\\breve' }, + '\u030C': { text: '\\v', math: '\\check' }, + '\u0302': { text: '\\^', math: '\\hat' }, + '\u0307': { text: '\\.', math: '\\dot' }, + '\u030A': { text: '\\r', math: '\\mathring' }, + '\u030B': { text: '\\H' }, + '\u0327': { text: '\\c' } + }), + (AG = { + á: 'a\u0301', + à: 'a\u0300', + ä: 'a\u0308', + ǟ: 'a\u0308\u0304', + ã: 'a\u0303', + ā: 'a\u0304', + ă: 'a\u0306', + ắ: 'a\u0306\u0301', + ằ: 'a\u0306\u0300', + ẵ: 'a\u0306\u0303', + ǎ: 'a\u030C', + â: 'a\u0302', + ấ: 'a\u0302\u0301', + ầ: 'a\u0302\u0300', + ẫ: 'a\u0302\u0303', + ȧ: 'a\u0307', + ǡ: 'a\u0307\u0304', + å: 'a\u030A', + ǻ: 'a\u030A\u0301', + ḃ: 'b\u0307', + ć: 'c\u0301', + ḉ: 'c\u0327\u0301', + č: 'c\u030C', + ĉ: 'c\u0302', + ċ: 'c\u0307', + ç: 'c\u0327', + ď: 'd\u030C', + ḋ: 'd\u0307', + ḑ: 'd\u0327', + é: 'e\u0301', + è: 'e\u0300', + ë: 'e\u0308', + ẽ: 'e\u0303', + ē: 'e\u0304', + ḗ: 'e\u0304\u0301', + ḕ: 'e\u0304\u0300', + ĕ: 'e\u0306', + ḝ: 'e\u0327\u0306', + ě: 'e\u030C', + ê: 'e\u0302', + ế: 'e\u0302\u0301', + ề: 'e\u0302\u0300', + ễ: 'e\u0302\u0303', + ė: 'e\u0307', + ȩ: 'e\u0327', + ḟ: 'f\u0307', + ǵ: 'g\u0301', + ḡ: 'g\u0304', + ğ: 'g\u0306', + ǧ: 'g\u030C', + ĝ: 'g\u0302', + ġ: 'g\u0307', + ģ: 'g\u0327', + ḧ: 'h\u0308', + ȟ: 'h\u030C', + ĥ: 'h\u0302', + ḣ: 'h\u0307', + ḩ: 'h\u0327', + í: 'i\u0301', + ì: 'i\u0300', + ï: 'i\u0308', + ḯ: 'i\u0308\u0301', + ĩ: 'i\u0303', + ī: 'i\u0304', + ĭ: 'i\u0306', + ǐ: 'i\u030C', + î: 'i\u0302', + ǰ: 'j\u030C', + ĵ: 'j\u0302', + ḱ: 'k\u0301', + ǩ: 'k\u030C', + ķ: 'k\u0327', + ĺ: 'l\u0301', + ľ: 'l\u030C', + ļ: 'l\u0327', + ḿ: 'm\u0301', + ṁ: 'm\u0307', + ń: 'n\u0301', + ǹ: 'n\u0300', + ñ: 'n\u0303', + ň: 'n\u030C', + ṅ: 'n\u0307', + ņ: 'n\u0327', + ó: 'o\u0301', + ò: 'o\u0300', + ö: 'o\u0308', + ȫ: 'o\u0308\u0304', + õ: 'o\u0303', + ṍ: 'o\u0303\u0301', + ṏ: 'o\u0303\u0308', + ȭ: 'o\u0303\u0304', + ō: 'o\u0304', + ṓ: 'o\u0304\u0301', + ṑ: 'o\u0304\u0300', + ŏ: 'o\u0306', + ǒ: 'o\u030C', + ô: 'o\u0302', + ố: 'o\u0302\u0301', + ồ: 'o\u0302\u0300', + ỗ: 'o\u0302\u0303', + ȯ: 'o\u0307', + ȱ: 'o\u0307\u0304', + ő: 'o\u030B', + ṕ: 'p\u0301', + ṗ: 'p\u0307', + ŕ: 'r\u0301', + ř: 'r\u030C', + ṙ: 'r\u0307', + ŗ: 'r\u0327', + ś: 's\u0301', + ṥ: 's\u0301\u0307', + š: 's\u030C', + ṧ: 's\u030C\u0307', + ŝ: 's\u0302', + ṡ: 's\u0307', + ş: 's\u0327', + ẗ: 't\u0308', + ť: 't\u030C', + ṫ: 't\u0307', + ţ: 't\u0327', + ú: 'u\u0301', + ù: 'u\u0300', + ü: 'u\u0308', + ǘ: 'u\u0308\u0301', + ǜ: 'u\u0308\u0300', + ǖ: 'u\u0308\u0304', + ǚ: 'u\u0308\u030C', + ũ: 'u\u0303', + ṹ: 'u\u0303\u0301', + ū: 'u\u0304', + ṻ: 'u\u0304\u0308', + ŭ: 'u\u0306', + ǔ: 'u\u030C', + û: 'u\u0302', + ů: 'u\u030A', + ű: 'u\u030B', + ṽ: 'v\u0303', + ẃ: 'w\u0301', + ẁ: 'w\u0300', + ẅ: 'w\u0308', + ŵ: 'w\u0302', + ẇ: 'w\u0307', + ẘ: 'w\u030A', + ẍ: 'x\u0308', + ẋ: 'x\u0307', + ý: 'y\u0301', + ỳ: 'y\u0300', + ÿ: 'y\u0308', + ỹ: 'y\u0303', + ȳ: 'y\u0304', + ŷ: 'y\u0302', + ẏ: 'y\u0307', + ẙ: 'y\u030A', + ź: 'z\u0301', + ž: 'z\u030C', + ẑ: 'z\u0302', + ż: 'z\u0307', + Á: 'A\u0301', + À: 'A\u0300', + Ä: 'A\u0308', + Ǟ: 'A\u0308\u0304', + Ã: 'A\u0303', + Ā: 'A\u0304', + Ă: 'A\u0306', + Ắ: 'A\u0306\u0301', + Ằ: 'A\u0306\u0300', + Ẵ: 'A\u0306\u0303', + Ǎ: 'A\u030C', + Â: 'A\u0302', + Ấ: 'A\u0302\u0301', + Ầ: 'A\u0302\u0300', + Ẫ: 'A\u0302\u0303', + Ȧ: 'A\u0307', + Ǡ: 'A\u0307\u0304', + Å: 'A\u030A', + Ǻ: 'A\u030A\u0301', + Ḃ: 'B\u0307', + Ć: 'C\u0301', + Ḉ: 'C\u0327\u0301', + Č: 'C\u030C', + Ĉ: 'C\u0302', + Ċ: 'C\u0307', + Ç: 'C\u0327', + Ď: 'D\u030C', + Ḋ: 'D\u0307', + Ḑ: 'D\u0327', + É: 'E\u0301', + È: 'E\u0300', + Ë: 'E\u0308', + Ẽ: 'E\u0303', + Ē: 'E\u0304', + Ḗ: 'E\u0304\u0301', + Ḕ: 'E\u0304\u0300', + Ĕ: 'E\u0306', + Ḝ: 'E\u0327\u0306', + Ě: 'E\u030C', + Ê: 'E\u0302', + Ế: 'E\u0302\u0301', + Ề: 'E\u0302\u0300', + Ễ: 'E\u0302\u0303', + Ė: 'E\u0307', + Ȩ: 'E\u0327', + Ḟ: 'F\u0307', + Ǵ: 'G\u0301', + Ḡ: 'G\u0304', + Ğ: 'G\u0306', + Ǧ: 'G\u030C', + Ĝ: 'G\u0302', + Ġ: 'G\u0307', + Ģ: 'G\u0327', + Ḧ: 'H\u0308', + Ȟ: 'H\u030C', + Ĥ: 'H\u0302', + Ḣ: 'H\u0307', + Ḩ: 'H\u0327', + Í: 'I\u0301', + Ì: 'I\u0300', + Ï: 'I\u0308', + Ḯ: 'I\u0308\u0301', + Ĩ: 'I\u0303', + Ī: 'I\u0304', + Ĭ: 'I\u0306', + Ǐ: 'I\u030C', + Î: 'I\u0302', + İ: 'I\u0307', + Ĵ: 'J\u0302', + Ḱ: 'K\u0301', + Ǩ: 'K\u030C', + Ķ: 'K\u0327', + Ĺ: 'L\u0301', + Ľ: 'L\u030C', + Ļ: 'L\u0327', + Ḿ: 'M\u0301', + Ṁ: 'M\u0307', + Ń: 'N\u0301', + Ǹ: 'N\u0300', + Ñ: 'N\u0303', + Ň: 'N\u030C', + Ṅ: 'N\u0307', + Ņ: 'N\u0327', + Ó: 'O\u0301', + Ò: 'O\u0300', + Ö: 'O\u0308', + Ȫ: 'O\u0308\u0304', + Õ: 'O\u0303', + Ṍ: 'O\u0303\u0301', + Ṏ: 'O\u0303\u0308', + Ȭ: 'O\u0303\u0304', + Ō: 'O\u0304', + Ṓ: 'O\u0304\u0301', + Ṑ: 'O\u0304\u0300', + Ŏ: 'O\u0306', + Ǒ: 'O\u030C', + Ô: 'O\u0302', + Ố: 'O\u0302\u0301', + Ồ: 'O\u0302\u0300', + Ỗ: 'O\u0302\u0303', + Ȯ: 'O\u0307', + Ȱ: 'O\u0307\u0304', + Ő: 'O\u030B', + Ṕ: 'P\u0301', + Ṗ: 'P\u0307', + Ŕ: 'R\u0301', + Ř: 'R\u030C', + Ṙ: 'R\u0307', + Ŗ: 'R\u0327', + Ś: 'S\u0301', + Ṥ: 'S\u0301\u0307', + Š: 'S\u030C', + Ṧ: 'S\u030C\u0307', + Ŝ: 'S\u0302', + Ṡ: 'S\u0307', + Ş: 'S\u0327', + Ť: 'T\u030C', + Ṫ: 'T\u0307', + Ţ: 'T\u0327', + Ú: 'U\u0301', + Ù: 'U\u0300', + Ü: 'U\u0308', + Ǘ: 'U\u0308\u0301', + Ǜ: 'U\u0308\u0300', + Ǖ: 'U\u0308\u0304', + Ǚ: 'U\u0308\u030C', + Ũ: 'U\u0303', + Ṹ: 'U\u0303\u0301', + Ū: 'U\u0304', + Ṻ: 'U\u0304\u0308', + Ŭ: 'U\u0306', + Ǔ: 'U\u030C', + Û: 'U\u0302', + Ů: 'U\u030A', + Ű: 'U\u030B', + Ṽ: 'V\u0303', + Ẃ: 'W\u0301', + Ẁ: 'W\u0300', + Ẅ: 'W\u0308', + Ŵ: 'W\u0302', + Ẇ: 'W\u0307', + Ẍ: 'X\u0308', + Ẋ: 'X\u0307', + Ý: 'Y\u0301', + Ỳ: 'Y\u0300', + Ÿ: 'Y\u0308', + Ỹ: 'Y\u0303', + Ȳ: 'Y\u0304', + Ŷ: 'Y\u0302', + Ẏ: 'Y\u0307', + Ź: 'Z\u0301', + Ž: 'Z\u030C', + Ẑ: 'Z\u0302', + Ż: 'Z\u0307', + ά: '\u03B1\u0301', + ὰ: '\u03B1\u0300', + ᾱ: '\u03B1\u0304', + ᾰ: '\u03B1\u0306', + έ: '\u03B5\u0301', + ὲ: '\u03B5\u0300', + ή: '\u03B7\u0301', + ὴ: '\u03B7\u0300', + ί: '\u03B9\u0301', + ὶ: '\u03B9\u0300', + ϊ: '\u03B9\u0308', + ΐ: '\u03B9\u0308\u0301', + ῒ: '\u03B9\u0308\u0300', + ῑ: '\u03B9\u0304', + ῐ: '\u03B9\u0306', + ό: '\u03BF\u0301', + ὸ: '\u03BF\u0300', + ύ: '\u03C5\u0301', + ὺ: '\u03C5\u0300', + ϋ: '\u03C5\u0308', + ΰ: '\u03C5\u0308\u0301', + ῢ: '\u03C5\u0308\u0300', + ῡ: '\u03C5\u0304', + ῠ: '\u03C5\u0306', + ώ: '\u03C9\u0301', + ὼ: '\u03C9\u0300', + Ύ: '\u03A5\u0301', + Ὺ: '\u03A5\u0300', + Ϋ: '\u03A5\u0308', + Ῡ: '\u03A5\u0304', + Ῠ: '\u03A5\u0306', + Ώ: '\u03A9\u0301', + Ὼ: '\u03A9\u0300' + }), + (x4 = class t { + static { + o(this, 'Parser'); + } + constructor(e, r) { + (this.mode = void 0), + (this.gullet = void 0), + (this.settings = void 0), + (this.leftrightDepth = void 0), + (this.nextToken = void 0), + (this.mode = 'math'), + (this.gullet = new R7(e, r, this.mode)), + (this.settings = r), + (this.leftrightDepth = 0); + } + expect(e, r) { + if ((r === void 0 && (r = !0), this.fetch().text !== e)) + throw new nt("Expected '" + e + "', got '" + this.fetch().text + "'", this.fetch()); + r && this.consume(); + } + consume() { + this.nextToken = null; + } + fetch() { + return ( + this.nextToken == null && (this.nextToken = this.gullet.expandNextToken()), this.nextToken + ); + } + switchMode(e) { + (this.mode = e), this.gullet.switchMode(e); + } + parse() { + this.settings.globalGroup || this.gullet.beginGroup(), + this.settings.colorIsTextColor && this.gullet.macros.set('\\color', '\\textcolor'); + try { + var e = this.parseExpression(!1); + return this.expect('EOF'), this.settings.globalGroup || this.gullet.endGroup(), e; + } finally { + this.gullet.endGroups(); + } + } + subparse(e) { + var r = this.nextToken; + this.consume(), this.gullet.pushToken(new Ao('}')), this.gullet.pushTokens(e); + var n = this.parseExpression(!1); + return this.expect('}'), (this.nextToken = r), n; + } + parseExpression(e, r) { + for (var n = []; ; ) { + this.mode === 'math' && this.consumeSpaces(); + var i = this.fetch(); + if ( + t.endOfExpression.indexOf(i.text) !== -1 || + (r && i.text === r) || + (e && fh[i.text] && fh[i.text].infix) + ) + break; + var a = this.parseAtom(r); + if (a) { + if (a.type === 'internal') continue; + } else break; + n.push(a); + } + return this.mode === 'text' && this.formLigatures(n), this.handleInfixNodes(n); + } + handleInfixNodes(e) { + for (var r = -1, n, i = 0; i < e.length; i++) + if (e[i].type === 'infix') { + if (r !== -1) throw new nt('only one infix operator per group', e[i].token); + (r = i), (n = e[i].replaceWith); + } + if (r !== -1 && n) { + var a, + s, + l = e.slice(0, r), + u = e.slice(r + 1); + l.length === 1 && l[0].type === 'ordgroup' + ? (a = l[0]) + : (a = { type: 'ordgroup', mode: this.mode, body: l }), + u.length === 1 && u[0].type === 'ordgroup' + ? (s = u[0]) + : (s = { type: 'ordgroup', mode: this.mode, body: u }); + var h; + return ( + n === '\\\\abovefrac' + ? (h = this.callFunction(n, [a, e[r], s], [])) + : (h = this.callFunction(n, [a, s], [])), + [h] + ); + } else return e; + } + handleSupSubscript(e) { + var r = this.fetch(), + n = r.text; + this.consume(), this.consumeSpaces(); + var i = this.parseGroup(e); + if (!i) throw new nt("Expected group after '" + n + "'", r); + return i; + } + formatUnsupportedCmd(e) { + for (var r = [], n = 0; n < e.length; n++) + r.push({ type: 'textord', mode: 'text', text: e[n] }); + var i = { type: 'text', mode: this.mode, body: r }, + a = { + type: 'color', + mode: this.mode, + color: this.settings.errorColor, + body: [i] + }; + return a; + } + parseAtom(e) { + var r = this.parseGroup('atom', e); + if (this.mode === 'text') return r; + for (var n, i; ; ) { + this.consumeSpaces(); + var a = this.fetch(); + if (a.text === '\\limits' || a.text === '\\nolimits') { + if (r && r.type === 'op') { + var s = a.text === '\\limits'; + (r.limits = s), (r.alwaysHandleSupSub = !0); + } else if (r && r.type === 'operatorname') + r.alwaysHandleSupSub && (r.limits = a.text === '\\limits'); + else throw new nt('Limit controls must follow a math operator', a); + this.consume(); + } else if (a.text === '^') { + if (n) throw new nt('Double superscript', a); + n = this.handleSupSubscript('superscript'); + } else if (a.text === '_') { + if (i) throw new nt('Double subscript', a); + i = this.handleSupSubscript('subscript'); + } else if (a.text === "'") { + if (n) throw new nt('Double superscript', a); + var l = { type: 'textord', mode: this.mode, text: '\\prime' }, + u = [l]; + for (this.consume(); this.fetch().text === "'"; ) u.push(l), this.consume(); + this.fetch().text === '^' && u.push(this.handleSupSubscript('superscript')), + (n = { type: 'ordgroup', mode: this.mode, body: u }); + } else if (c4[a.text]) { + var h = SG.test(a.text), + f = []; + for (f.push(new Ao(c4[a.text])), this.consume(); ; ) { + var d = this.fetch().text; + if (!c4[d] || SG.test(d) !== h) break; + f.unshift(new Ao(c4[d])), this.consume(); + } + var p = this.subparse(f); + h + ? (i = { type: 'ordgroup', mode: 'math', body: p }) + : (n = { type: 'ordgroup', mode: 'math', body: p }); + } else break; + } + return n || i ? { type: 'supsub', mode: this.mode, base: r, sup: n, sub: i } : r; + } + parseFunction(e, r) { + var n = this.fetch(), + i = n.text, + a = fh[i]; + if (!a) return null; + if ((this.consume(), r && r !== 'atom' && !a.allowedInArgument)) + throw new nt("Got function '" + i + "' with no arguments" + (r ? ' as ' + r : ''), n); + if (this.mode === 'text' && !a.allowedInText) + throw new nt("Can't use function '" + i + "' in text mode", n); + if (this.mode === 'math' && a.allowedInMath === !1) + throw new nt("Can't use function '" + i + "' in math mode", n); + var { args: s, optArgs: l } = this.parseArguments(i, a); + return this.callFunction(i, s, l, n, e); + } + callFunction(e, r, n, i, a) { + var s = { + funcName: e, + parser: this, + token: i, + breakOnTokenText: a + }, + l = fh[e]; + if (l && l.handler) return l.handler(s, r, n); + throw new nt('No function handler for ' + e); + } + parseArguments(e, r) { + var n = r.numArgs + r.numOptionalArgs; + if (n === 0) return { args: [], optArgs: [] }; + for (var i = [], a = [], s = 0; s < n; s++) { + var l = r.argTypes && r.argTypes[s], + u = s < r.numOptionalArgs; + ((r.primitive && l == null) || (r.type === 'sqrt' && s === 1 && a[0] == null)) && + (l = 'primitive'); + var h = this.parseGroupOfType("argument to '" + e + "'", l, u); + if (u) a.push(h); + else if (h != null) i.push(h); + else throw new nt('Null argument, please report this as a bug'); + } + return { args: i, optArgs: a }; + } + parseGroupOfType(e, r, n) { + switch (r) { + case 'color': + return this.parseColorGroup(n); + case 'size': + return this.parseSizeGroup(n); + case 'url': + return this.parseUrlGroup(n); + case 'math': + case 'text': + return this.parseArgumentGroup(n, r); + case 'hbox': { + var i = this.parseArgumentGroup(n, 'text'); + return i != null ? { type: 'styling', mode: i.mode, body: [i], style: 'text' } : null; + } + case 'raw': { + var a = this.parseStringGroup('raw', n); + return a != null ? { type: 'raw', mode: 'text', string: a.text } : null; + } + case 'primitive': { + if (n) throw new nt('A primitive argument cannot be optional'); + var s = this.parseGroup(e); + if (s == null) throw new nt('Expected group as ' + e, this.fetch()); + return s; + } + case 'original': + case null: + case void 0: + return this.parseArgumentGroup(n); + default: + throw new nt('Unknown group type as ' + e, this.fetch()); + } + } + consumeSpaces() { + for (; this.fetch().text === ' '; ) this.consume(); + } + parseStringGroup(e, r) { + var n = this.gullet.scanArgument(r); + if (n == null) return null; + for (var i = '', a; (a = this.fetch()).text !== 'EOF'; ) (i += a.text), this.consume(); + return this.consume(), (n.text = i), n; + } + parseRegexGroup(e, r) { + for ( + var n = this.fetch(), i = n, a = '', s; + (s = this.fetch()).text !== 'EOF' && e.test(a + s.text); + + ) + (i = s), (a += i.text), this.consume(); + if (a === '') throw new nt('Invalid ' + r + ": '" + n.text + "'", n); + return n.range(i, a); + } + parseColorGroup(e) { + var r = this.parseStringGroup('color', e); + if (r == null) return null; + var n = /^(#[a-f0-9]{3}|#?[a-f0-9]{6}|[a-z]+)$/i.exec(r.text); + if (!n) throw new nt("Invalid color: '" + r.text + "'", r); + var i = n[0]; + return ( + /^[0-9a-f]{6}$/i.test(i) && (i = '#' + i), + { type: 'color-token', mode: this.mode, color: i } + ); + } + parseSizeGroup(e) { + var r, + n = !1; + if ( + (this.gullet.consumeSpaces(), + !e && this.gullet.future().text !== '{' + ? (r = this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/, 'size')) + : (r = this.parseStringGroup('size', e)), + !r) + ) + return null; + !e && r.text.length === 0 && ((r.text = '0pt'), (n = !0)); + var i = /([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(r.text); + if (!i) throw new nt("Invalid size: '" + r.text + "'", r); + var a = { number: +(i[1] + i[2]), unit: i[3] }; + if (!DG(a)) throw new nt("Invalid unit: '" + a.unit + "'", r); + return { type: 'size', mode: this.mode, value: a, isBlank: n }; + } + parseUrlGroup(e) { + this.gullet.lexer.setCatcode('%', 13), this.gullet.lexer.setCatcode('~', 12); + var r = this.parseStringGroup('url', e); + if ((this.gullet.lexer.setCatcode('%', 14), this.gullet.lexer.setCatcode('~', 13), r == null)) + return null; + var n = r.text.replace(/\\([#$%&~_^{}])/g, '$1'); + return { type: 'url', mode: this.mode, url: n }; + } + parseArgumentGroup(e, r) { + var n = this.gullet.scanArgument(e); + if (n == null) return null; + var i = this.mode; + r && this.switchMode(r), this.gullet.beginGroup(); + var a = this.parseExpression(!1, 'EOF'); + this.expect('EOF'), this.gullet.endGroup(); + var s = { type: 'ordgroup', mode: this.mode, loc: n.loc, body: a }; + return r && this.switchMode(i), s; + } + parseGroup(e, r) { + var n = this.fetch(), + i = n.text, + a; + if (i === '{' || i === '\\begingroup') { + this.consume(); + var s = i === '{' ? '}' : '\\endgroup'; + this.gullet.beginGroup(); + var l = this.parseExpression(!1, s), + u = this.fetch(); + this.expect(s), + this.gullet.endGroup(), + (a = { + type: 'ordgroup', + mode: this.mode, + loc: Xs.range(n, u), + body: l, + semisimple: i === '\\begingroup' || void 0 + }); + } else if ( + ((a = this.parseFunction(r, e) || this.parseSymbol()), + a == null && i[0] === '\\' && !b$.hasOwnProperty(i)) + ) { + if (this.settings.throwOnError) throw new nt('Undefined control sequence: ' + i, n); + (a = this.formatUnsupportedCmd(i)), this.consume(); + } + return a; + } + formLigatures(e) { + for (var r = e.length - 1, n = 0; n < r; ++n) { + var i = e[n], + a = i.text; + a === '-' && + e[n + 1].text === '-' && + (n + 1 < r && e[n + 2].text === '-' + ? (e.splice(n, 3, { + type: 'textord', + mode: 'text', + loc: Xs.range(i, e[n + 2]), + text: '---' + }), + (r -= 2)) + : (e.splice(n, 2, { + type: 'textord', + mode: 'text', + loc: Xs.range(i, e[n + 1]), + text: '--' + }), + (r -= 1))), + (a === "'" || a === '`') && + e[n + 1].text === a && + (e.splice(n, 2, { + type: 'textord', + mode: 'text', + loc: Xs.range(i, e[n + 1]), + text: a + a + }), + (r -= 1)); + } + } + parseSymbol() { + var e = this.fetch(), + r = e.text; + if (/^\\verb[^a-zA-Z]/.test(r)) { + this.consume(); + var n = r.slice(5), + i = n.charAt(0) === '*'; + if ((i && (n = n.slice(1)), n.length < 2 || n.charAt(0) !== n.slice(-1))) + throw new nt(`\\verb assertion failed -- + please report what input caused this bug`); + return (n = n.slice(1, -1)), { type: 'verb', mode: 'text', body: n, star: i }; + } + AG.hasOwnProperty(r[0]) && + !wn[this.mode][r[0]] && + (this.settings.strict && + this.mode === 'math' && + this.settings.reportNonstrict( + 'unicodeTextInMathMode', + 'Accented Unicode text character "' + r[0] + '" used in math mode', + e + ), + (r = AG[r[0]] + r.slice(1))); + var a = vbe.exec(r); + a && ((r = r.substring(0, a.index)), r === 'i' ? (r = '\u0131') : r === 'j' && (r = '\u0237')); + var s; + if (wn[this.mode][r]) { + this.settings.strict && + this.mode === 'math' && + k7.indexOf(r) >= 0 && + this.settings.reportNonstrict( + 'unicodeTextInMathMode', + 'Latin-1/Unicode text character "' + r[0] + '" used in math mode', + e + ); + var l = wn[this.mode][r].group, + u = Xs.range(e), + h; + if (hxe.hasOwnProperty(l)) { + var f = l; + h = { + type: 'atom', + mode: this.mode, + family: f, + loc: u, + text: r + }; + } else h = { type: l, mode: this.mode, loc: u, text: r }; + s = h; + } else if (r.charCodeAt(0) >= 128) + this.settings.strict && + (LG(r.charCodeAt(0)) + ? this.mode === 'math' && + this.settings.reportNonstrict( + 'unicodeTextInMathMode', + 'Unicode text character "' + r[0] + '" used in math mode', + e + ) + : this.settings.reportNonstrict( + 'unknownSymbol', + 'Unrecognized Unicode character "' + + r[0] + + '"' + + (' (' + r.charCodeAt(0) + ')'), + e + )), + (s = { + type: 'textord', + mode: 'text', + loc: Xs.range(e), + text: r + }); + else return null; + if ((this.consume(), a)) + for (var d = 0; d < a[0].length; d++) { + var p = a[0][d]; + if (!x7[p]) throw new nt("Unknown accent ' " + p + "'", e); + var m = x7[p][this.mode] || x7[p].text; + if (!m) throw new nt('Accent ' + p + ' unsupported in ' + this.mode + ' mode', e); + s = { + type: 'accent', + mode: this.mode, + loc: Xs.range(e), + label: m, + isStretchy: !1, + isShifty: !0, + base: s + }; + } + return s; + } + }); + x4.endOfExpression = ['}', '\\endgroup', '\\end', '\\right', '&']; + (X7 = o(function (e, r) { + if (!(typeof e == 'string' || e instanceof String)) + throw new TypeError('KaTeX can only parse string typed expression'); + var n = new x4(e, r); + delete n.gullet.macros.current['\\df@tag']; + var i = n.parse(); + if ( + (delete n.gullet.macros.current['\\current@color'], + delete n.gullet.macros.current['\\color'], + n.gullet.macros.get('\\df@tag')) + ) { + if (!r.displayMode) throw new nt('\\tag works only in display equations'); + i = [ + { + type: 'tag', + mode: 'text', + body: i, + tag: n.subparse([new Ao('\\df@tag')]) + } + ]; + } + return i; + }, 'parseTree')), + (w$ = o(function (e, r, n) { + r.textContent = ''; + var i = j7(e, n).toNode(); + r.appendChild(i); + }, 'render')); + typeof document < 'u' && + document.compatMode !== 'CSS1Compat' && + (typeof console < 'u' && + console.warn( + "Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype." + ), + (w$ = o(function () { + throw new nt("KaTeX doesn't work in quirks mode."); + }, 'render'))); + (wbe = o(function (e, r) { + var n = j7(e, r).toMarkup(); + return n; + }, 'renderToString')), + (Tbe = o(function (e, r) { + var n = new ry(r); + return X7(e, n); + }, 'generateParseTree')), + (T$ = o(function (e, r, n) { + if (n.throwOnError || !(e instanceof nt)) throw e; + var i = Be.makeSpan(['katex-error'], [new ms(r)]); + return i.setAttribute('title', e.toString()), i.setAttribute('style', 'color:' + n.errorColor), i; + }, 'renderError')), + (j7 = o(function (e, r) { + var n = new ry(r); + try { + var i = X7(e, n); + return Mxe(i, e, n); + } catch (a) { + return T$(a, e, n); + } + }, 'renderToDomTree')), + (kbe = o(function (e, r) { + var n = new ry(r); + try { + var i = X7(e, n); + return Ixe(i, e, n); + } catch (a) { + return T$(a, e, n); + } + }, 'renderToHTMLTree')), + (Ebe = { + version: '0.16.11', + render: w$, + renderToString: wbe, + ParseError: nt, + SETTINGS_SCHEMA: u4, + __parse: Tbe, + __renderToDomTree: j7, + __renderToHTMLTree: kbe, + __setFontMetrics: axe, + __defineSymbol: G, + __defineFunction: vt, + __defineMacro: le, + __domTree: { + Span: jf, + Anchor: iy, + SymbolNode: ms, + SvgNode: ll, + PathNode: Jl, + LineNode: ay + } + }); + }); + function Abe() { + let t = 'data-temp-href-target'; + bp.default.addHook('beforeSanitizeAttributes', (e) => { + e.tagName === 'A' && e.hasAttribute('target') && e.setAttribute(t, e.getAttribute('target') ?? ''); + }), + bp.default.addHook('afterSanitizeAttributes', (e) => { + e.tagName === 'A' && + e.hasAttribute(t) && + (e.setAttribute('target', e.getAttribute(t) ?? ''), + e.removeAttribute(t), + e.getAttribute('target') === '_blank' && e.setAttribute('rel', 'noopener')); + }); + } + var bp, + Qf, + Cbe, + Sbe, + A$, + C$, + qr, + _be, + Lbe, + Dbe, + Rbe, + _$, + Nbe, + yr, + Mbe, + Ibe, + gh, + K7, + Obe, + Pbe, + S$, + Q7, + Ni, + Zf, + yh, + We, + rr = R(() => { + 'use strict'; + (bp = Xi(o7(), 1)), + (Qf = //gi), + (Cbe = o((t) => (t ? _$(t).replace(/\\n/g, '#br#').split('#br#') : ['']), 'getRows')), + (Sbe = (() => { + let t = !1; + return () => { + t || (Abe(), (t = !0)); + }; + })()); + o(Abe, 'setupDompurifyHooks'); + (A$ = o((t) => (Sbe(), bp.default.sanitize(t)), 'removeScript')), + (C$ = o((t, e) => { + if (e.flowchart?.htmlLabels !== !1) { + let r = e.securityLevel; + r === 'antiscript' || r === 'strict' + ? (t = A$(t)) + : r !== 'loose' && + ((t = _$(t)), + (t = t.replace(//g, '>')), + (t = t.replace(/=/g, '=')), + (t = Rbe(t))); + } + return t; + }, 'sanitizeMore')), + (qr = o( + (t, e) => + t && + (e.dompurifyConfig + ? (t = bp.default.sanitize(C$(t, e), e.dompurifyConfig).toString()) + : (t = bp.default.sanitize(C$(t, e), { FORBID_TAGS: ['style'] }).toString()), + t), + 'sanitizeText' + )), + (_be = o( + (t, e) => (typeof t == 'string' ? qr(t, e) : t.flat().map((r) => qr(r, e))), + 'sanitizeTextOrArray' + )), + (Lbe = o((t) => Qf.test(t), 'hasBreaks')), + (Dbe = o((t) => t.split(Qf), 'splitBreaks')), + (Rbe = o((t) => t.replace(/#br#/g, '
    '), 'placeholderToBreak')), + (_$ = o((t) => t.replace(Qf, '#br#'), 'breakToPlaceholder')), + (Nbe = o((t) => { + let e = ''; + return ( + t && + ((e = + window.location.protocol + + '//' + + window.location.host + + window.location.pathname + + window.location.search), + (e = e.replaceAll(/\(/g, '\\(')), + (e = e.replaceAll(/\)/g, '\\)'))), + e + ); + }, 'getUrl')), + (yr = o( + (t) => !(t === !1 || ['false', 'null', '0'].includes(String(t).trim().toLowerCase())), + 'evaluate' + )), + (Mbe = o(function (...t) { + let e = t.filter((r) => !isNaN(r)); + return Math.max(...e); + }, 'getMax')), + (Ibe = o(function (...t) { + let e = t.filter((r) => !isNaN(r)); + return Math.min(...e); + }, 'getMin')), + (gh = o(function (t) { + let e = t.split(/(,)/), + r = []; + for (let n = 0; n < e.length; n++) { + let i = e[n]; + if (i === ',' && n > 0 && n + 1 < e.length) { + let a = e[n - 1], + s = e[n + 1]; + Obe(a, s) && ((i = a + ',' + s), n++, r.pop()); + } + r.push(Pbe(i)); + } + return r.join(''); + }, 'parseGenericTypes')), + (K7 = o((t, e) => Math.max(0, t.split(e).length - 1), 'countOccurrence')), + (Obe = o((t, e) => { + let r = K7(t, '~'), + n = K7(e, '~'); + return r === 1 && n === 1; + }, 'shouldCombineSets')), + (Pbe = o((t) => { + let e = K7(t, '~'), + r = !1; + if (e <= 1) return t; + e % 2 !== 0 && t.startsWith('~') && ((t = t.substring(1)), (r = !0)); + let n = [...t], + i = n.indexOf('~'), + a = n.lastIndexOf('~'); + for (; i !== -1 && a !== -1 && i !== a; ) + (n[i] = '<'), (n[a] = '>'), (i = n.indexOf('~')), (a = n.lastIndexOf('~')); + return r && n.unshift('~'), n.join(''); + }, 'processSet')), + (S$ = o(() => window.MathMLElement !== void 0, 'isMathMLSupported')), + (Q7 = /\$\$(.*)\$\$/g), + (Ni = o((t) => (t.match(Q7)?.length ?? 0) > 0, 'hasKatex')), + (Zf = o(async (t, e) => { + t = await yh(t, e); + let r = document.createElement('div'); + (r.innerHTML = t), + (r.id = 'katex-temp'), + (r.style.visibility = 'hidden'), + (r.style.position = 'absolute'), + (r.style.top = '0'), + document.querySelector('body')?.insertAdjacentElement('beforeend', r); + let i = { width: r.clientWidth, height: r.clientHeight }; + return r.remove(), i; + }, 'calculateMathMLDimensions')), + (yh = o(async (t, e) => { + if (!Ni(t)) return t; + if (!(S$() || e.legacyMathML || e.forceLegacyMathML)) + return t.replace(Q7, 'MathML is unsupported in this environment.'); + let { default: r } = await Promise.resolve().then(() => (E$(), k$)), + n = e.forceLegacyMathML || (!S$() && e.legacyMathML) ? 'htmlAndMathml' : 'mathml'; + return t + .split(Qf) + .map((i) => + Ni(i) + ? `
    ${i}
    ` + : `
    ${i}
    ` + ) + .join('') + .replace(Q7, (i, a) => + r + .renderToString(a, { + throwOnError: !0, + displayMode: !0, + output: n + }) + .replace(/\n/g, ' ') + .replace(//g, '') + ); + }, 'renderKatex')), + (We = { + getRows: Cbe, + sanitizeText: qr, + sanitizeTextOrArray: _be, + hasBreaks: Lbe, + splitBreaks: Dbe, + lineBreakRegex: Qf, + removeScript: A$, + getUrl: Nbe, + evaluate: yr, + getMax: Mbe, + getMin: Ibe + }); + }); + var Bbe, + Fbe, + Sr, + Lo, + Yn = R(() => { + 'use strict'; + ut(); + (Bbe = o(function (t, e) { + for (let r of e) t.attr(r[0], r[1]); + }, 'd3Attrs')), + (Fbe = o(function (t, e, r) { + let n = new Map(); + return ( + r + ? (n.set('width', '100%'), n.set('style', `max-width: ${e}px;`)) + : (n.set('height', t), n.set('width', e)), + n + ); + }, 'calculateSvgSizeAttrs')), + (Sr = o(function (t, e, r, n) { + let i = Fbe(e, r, n); + Bbe(t, i); + }, 'configureSvgSize')), + (Lo = o(function (t, e, r, n) { + let i = e.node().getBBox(), + a = i.width, + s = i.height; + V.info(`SVG bounds: ${a}x${s}`, i); + let l = 0, + u = 0; + V.info(`Graph bounds: ${l}x${u}`, t), + (l = a + r * 2), + (u = s + r * 2), + V.info(`Calculated bounds: ${l}x${u}`), + Sr(e, u, l, n); + let h = `${i.x - r} ${i.y - r} ${i.width + 2 * r} ${i.height + 2 * r}`; + e.attr('viewBox', h); + }, 'setupGraphViewbox')); + }); + var S4, + zbe, + L$, + D$, + Z7 = R(() => { + 'use strict'; + ut(); + (S4 = {}), + (zbe = o((t, e, r) => { + let n = ''; + return ( + t in S4 && S4[t] ? (n = S4[t](r)) : V.warn(`No theme found for ${t}`), + ` & { + font-family: ${r.fontFamily}; + font-size: ${r.fontSize}; + fill: ${r.textColor} + } + + /* Classes common for multiple diagrams */ + + & .error-icon { + fill: ${r.errorBkgColor}; + } + & .error-text { + fill: ${r.errorTextColor}; + stroke: ${r.errorTextColor}; + } + + & .edge-thickness-normal { + stroke-width: 1px; + } + & .edge-thickness-thick { + stroke-width: 3.5px + } + & .edge-pattern-solid { + stroke-dasharray: 0; + } + & .edge-thickness-invisible { + stroke-width: 0; + fill: none; + } + & .edge-pattern-dashed{ + stroke-dasharray: 3; + } + .edge-pattern-dotted { + stroke-dasharray: 2; + } + + & .marker { + fill: ${r.lineColor}; + stroke: ${r.lineColor}; + } + & .marker.cross { + stroke: ${r.lineColor}; + } + + & svg { + font-family: ${r.fontFamily}; + font-size: ${r.fontSize}; + } + & p { + margin: 0 + } + + ${n} + + ${e} +` + ); + }, 'getStyles')), + (L$ = o((t, e) => { + e !== void 0 && (S4[t] = e); + }, 'addStylesForDiagram')), + (D$ = zbe); + }); + var ly = {}; + hr(ly, { + clear: () => vr, + getAccDescription: () => Lr, + getAccTitle: () => Ar, + getDiagramTitle: () => Xr, + setAccDescription: () => _r, + setAccTitle: () => kr, + setDiagramTitle: () => nn + }); + var J7, + eS, + tS, + rS, + vr, + kr, + Ar, + _r, + Lr, + nn, + Xr, + bi = R(() => { + 'use strict'; + rr(); + qs(); + (J7 = ''), + (eS = ''), + (tS = ''), + (rS = o((t) => qr(t, Or()), 'sanitizeText')), + (vr = o(() => { + (J7 = ''), (tS = ''), (eS = ''); + }, 'clear')), + (kr = o((t) => { + J7 = rS(t).replace(/^\s+/g, ''); + }, 'setAccTitle')), + (Ar = o(() => J7, 'getAccTitle')), + (_r = o((t) => { + tS = rS(t).replace( + /\n\s+/g, + ` +` + ); + }, 'setAccDescription')), + (Lr = o(() => tS, 'getAccDescription')), + (nn = o((t) => { + eS = rS(t); + }, 'setDiagramTitle')), + (Xr = o(() => eS, 'getDiagramTitle')); + }); + var R$, + Gbe, + de, + iS, + _4, + $be, + aS, + Vbe, + A4, + Jf, + cy, + nS, + _t = R(() => { + 'use strict'; + Hf(); + ut(); + qs(); + rr(); + Yn(); + Z7(); + bi(); + (R$ = V), + (Gbe = $1), + (de = Or), + (iS = Zb), + (_4 = uh), + ($be = o((t) => qr(t, de()), 'sanitizeText')), + (aS = Lo), + (Vbe = o(() => ly, 'getCommonDb')), + (A4 = {}), + (Jf = o((t, e, r) => { + A4[t] && R$.warn(`Diagram with id ${t} already registered. Overwriting.`), + (A4[t] = e), + r && $C(t, r), + L$(t, e.styles), + e.injectUtils?.(R$, Gbe, de, $be, aS, Vbe(), () => {}); + }, 'registerDiagram')), + (cy = o((t) => { + if (t in A4) return A4[t]; + throw new nS(t); + }, 'getDiagram')), + (nS = class extends Error { + static { + o(this, 'DiagramNotFoundError'); + } + constructor(e) { + super(`Diagram ${e} not found.`); + } + }); + }); + var ul, + vh, + ja, + cl, + nc, + uy, + sS, + oS, + L4, + D4, + N$, + Ube, + Hbe, + Ybe, + Wbe, + qbe, + Xbe, + jbe, + Kbe, + Qbe, + Zbe, + Jbe, + e4e, + t4e, + r4e, + n4e, + i4e, + a4e, + M$, + s4e, + o4e, + I$, + l4e, + c4e, + u4e, + h4e, + xh, + f4e, + d4e, + p4e, + m4e, + g4e, + hy, + lS = R(() => { + 'use strict'; + _t(); + rr(); + bi(); + (ul = []), + (vh = ['']), + (ja = 'global'), + (cl = ''), + (nc = [ + { + alias: 'global', + label: { text: 'global' }, + type: { text: 'global' }, + tags: null, + link: null, + parentBoundary: '' + } + ]), + (uy = []), + (sS = ''), + (oS = !1), + (L4 = 4), + (D4 = 2), + (Ube = o(function () { + return N$; + }, 'getC4Type')), + (Hbe = o(function (t) { + N$ = qr(t, de()); + }, 'setC4Type')), + (Ybe = o(function (t, e, r, n, i, a, s, l, u) { + if ( + t == null || + e === void 0 || + e === null || + r === void 0 || + r === null || + n === void 0 || + n === null + ) + return; + let h = {}, + f = uy.find((d) => d.from === e && d.to === r); + if ( + (f ? (h = f) : uy.push(h), + (h.type = t), + (h.from = e), + (h.to = r), + (h.label = { text: n }), + i == null) + ) + h.techn = { text: '' }; + else if (typeof i == 'object') { + let [d, p] = Object.entries(i)[0]; + h[d] = { text: p }; + } else h.techn = { text: i }; + if (a == null) h.descr = { text: '' }; + else if (typeof a == 'object') { + let [d, p] = Object.entries(a)[0]; + h[d] = { text: p }; + } else h.descr = { text: a }; + if (typeof s == 'object') { + let [d, p] = Object.entries(s)[0]; + h[d] = p; + } else h.sprite = s; + if (typeof l == 'object') { + let [d, p] = Object.entries(l)[0]; + h[d] = p; + } else h.tags = l; + if (typeof u == 'object') { + let [d, p] = Object.entries(u)[0]; + h[d] = p; + } else h.link = u; + h.wrap = xh(); + }, 'addRel')), + (Wbe = o(function (t, e, r, n, i, a, s) { + if (e === null || r === null) return; + let l = {}, + u = ul.find((h) => h.alias === e); + if ( + (u && e === u.alias ? (l = u) : ((l.alias = e), ul.push(l)), + r == null ? (l.label = { text: '' }) : (l.label = { text: r }), + n == null) + ) + l.descr = { text: '' }; + else if (typeof n == 'object') { + let [h, f] = Object.entries(n)[0]; + l[h] = { text: f }; + } else l.descr = { text: n }; + if (typeof i == 'object') { + let [h, f] = Object.entries(i)[0]; + l[h] = f; + } else l.sprite = i; + if (typeof a == 'object') { + let [h, f] = Object.entries(a)[0]; + l[h] = f; + } else l.tags = a; + if (typeof s == 'object') { + let [h, f] = Object.entries(s)[0]; + l[h] = f; + } else l.link = s; + (l.typeC4Shape = { text: t }), (l.parentBoundary = ja), (l.wrap = xh()); + }, 'addPersonOrSystem')), + (qbe = o(function (t, e, r, n, i, a, s, l) { + if (e === null || r === null) return; + let u = {}, + h = ul.find((f) => f.alias === e); + if ( + (h && e === h.alias ? (u = h) : ((u.alias = e), ul.push(u)), + r == null ? (u.label = { text: '' }) : (u.label = { text: r }), + n == null) + ) + u.techn = { text: '' }; + else if (typeof n == 'object') { + let [f, d] = Object.entries(n)[0]; + u[f] = { text: d }; + } else u.techn = { text: n }; + if (i == null) u.descr = { text: '' }; + else if (typeof i == 'object') { + let [f, d] = Object.entries(i)[0]; + u[f] = { text: d }; + } else u.descr = { text: i }; + if (typeof a == 'object') { + let [f, d] = Object.entries(a)[0]; + u[f] = d; + } else u.sprite = a; + if (typeof s == 'object') { + let [f, d] = Object.entries(s)[0]; + u[f] = d; + } else u.tags = s; + if (typeof l == 'object') { + let [f, d] = Object.entries(l)[0]; + u[f] = d; + } else u.link = l; + (u.wrap = xh()), (u.typeC4Shape = { text: t }), (u.parentBoundary = ja); + }, 'addContainer')), + (Xbe = o(function (t, e, r, n, i, a, s, l) { + if (e === null || r === null) return; + let u = {}, + h = ul.find((f) => f.alias === e); + if ( + (h && e === h.alias ? (u = h) : ((u.alias = e), ul.push(u)), + r == null ? (u.label = { text: '' }) : (u.label = { text: r }), + n == null) + ) + u.techn = { text: '' }; + else if (typeof n == 'object') { + let [f, d] = Object.entries(n)[0]; + u[f] = { text: d }; + } else u.techn = { text: n }; + if (i == null) u.descr = { text: '' }; + else if (typeof i == 'object') { + let [f, d] = Object.entries(i)[0]; + u[f] = { text: d }; + } else u.descr = { text: i }; + if (typeof a == 'object') { + let [f, d] = Object.entries(a)[0]; + u[f] = d; + } else u.sprite = a; + if (typeof s == 'object') { + let [f, d] = Object.entries(s)[0]; + u[f] = d; + } else u.tags = s; + if (typeof l == 'object') { + let [f, d] = Object.entries(l)[0]; + u[f] = d; + } else u.link = l; + (u.wrap = xh()), (u.typeC4Shape = { text: t }), (u.parentBoundary = ja); + }, 'addComponent')), + (jbe = o(function (t, e, r, n, i) { + if (t === null || e === null) return; + let a = {}, + s = nc.find((l) => l.alias === t); + if ( + (s && t === s.alias ? (a = s) : ((a.alias = t), nc.push(a)), + e == null ? (a.label = { text: '' }) : (a.label = { text: e }), + r == null) + ) + a.type = { text: 'system' }; + else if (typeof r == 'object') { + let [l, u] = Object.entries(r)[0]; + a[l] = { text: u }; + } else a.type = { text: r }; + if (typeof n == 'object') { + let [l, u] = Object.entries(n)[0]; + a[l] = u; + } else a.tags = n; + if (typeof i == 'object') { + let [l, u] = Object.entries(i)[0]; + a[l] = u; + } else a.link = i; + (a.parentBoundary = ja), (a.wrap = xh()), (cl = ja), (ja = t), vh.push(cl); + }, 'addPersonOrSystemBoundary')), + (Kbe = o(function (t, e, r, n, i) { + if (t === null || e === null) return; + let a = {}, + s = nc.find((l) => l.alias === t); + if ( + (s && t === s.alias ? (a = s) : ((a.alias = t), nc.push(a)), + e == null ? (a.label = { text: '' }) : (a.label = { text: e }), + r == null) + ) + a.type = { text: 'container' }; + else if (typeof r == 'object') { + let [l, u] = Object.entries(r)[0]; + a[l] = { text: u }; + } else a.type = { text: r }; + if (typeof n == 'object') { + let [l, u] = Object.entries(n)[0]; + a[l] = u; + } else a.tags = n; + if (typeof i == 'object') { + let [l, u] = Object.entries(i)[0]; + a[l] = u; + } else a.link = i; + (a.parentBoundary = ja), (a.wrap = xh()), (cl = ja), (ja = t), vh.push(cl); + }, 'addContainerBoundary')), + (Qbe = o(function (t, e, r, n, i, a, s, l) { + if (e === null || r === null) return; + let u = {}, + h = nc.find((f) => f.alias === e); + if ( + (h && e === h.alias ? (u = h) : ((u.alias = e), nc.push(u)), + r == null ? (u.label = { text: '' }) : (u.label = { text: r }), + n == null) + ) + u.type = { text: 'node' }; + else if (typeof n == 'object') { + let [f, d] = Object.entries(n)[0]; + u[f] = { text: d }; + } else u.type = { text: n }; + if (i == null) u.descr = { text: '' }; + else if (typeof i == 'object') { + let [f, d] = Object.entries(i)[0]; + u[f] = { text: d }; + } else u.descr = { text: i }; + if (typeof s == 'object') { + let [f, d] = Object.entries(s)[0]; + u[f] = d; + } else u.tags = s; + if (typeof l == 'object') { + let [f, d] = Object.entries(l)[0]; + u[f] = d; + } else u.link = l; + (u.nodeType = t), (u.parentBoundary = ja), (u.wrap = xh()), (cl = ja), (ja = e), vh.push(cl); + }, 'addDeploymentNode')), + (Zbe = o(function () { + (ja = cl), vh.pop(), (cl = vh.pop()), vh.push(cl); + }, 'popBoundaryParseStack')), + (Jbe = o(function (t, e, r, n, i, a, s, l, u, h, f) { + let d = ul.find((p) => p.alias === e); + if (!(d === void 0 && ((d = nc.find((p) => p.alias === e)), d === void 0))) { + if (r != null) + if (typeof r == 'object') { + let [p, m] = Object.entries(r)[0]; + d[p] = m; + } else d.bgColor = r; + if (n != null) + if (typeof n == 'object') { + let [p, m] = Object.entries(n)[0]; + d[p] = m; + } else d.fontColor = n; + if (i != null) + if (typeof i == 'object') { + let [p, m] = Object.entries(i)[0]; + d[p] = m; + } else d.borderColor = i; + if (a != null) + if (typeof a == 'object') { + let [p, m] = Object.entries(a)[0]; + d[p] = m; + } else d.shadowing = a; + if (s != null) + if (typeof s == 'object') { + let [p, m] = Object.entries(s)[0]; + d[p] = m; + } else d.shape = s; + if (l != null) + if (typeof l == 'object') { + let [p, m] = Object.entries(l)[0]; + d[p] = m; + } else d.sprite = l; + if (u != null) + if (typeof u == 'object') { + let [p, m] = Object.entries(u)[0]; + d[p] = m; + } else d.techn = u; + if (h != null) + if (typeof h == 'object') { + let [p, m] = Object.entries(h)[0]; + d[p] = m; + } else d.legendText = h; + if (f != null) + if (typeof f == 'object') { + let [p, m] = Object.entries(f)[0]; + d[p] = m; + } else d.legendSprite = f; + } + }, 'updateElStyle')), + (e4e = o(function (t, e, r, n, i, a, s) { + let l = uy.find((u) => u.from === e && u.to === r); + if (l !== void 0) { + if (n != null) + if (typeof n == 'object') { + let [u, h] = Object.entries(n)[0]; + l[u] = h; + } else l.textColor = n; + if (i != null) + if (typeof i == 'object') { + let [u, h] = Object.entries(i)[0]; + l[u] = h; + } else l.lineColor = i; + if (a != null) + if (typeof a == 'object') { + let [u, h] = Object.entries(a)[0]; + l[u] = parseInt(h); + } else l.offsetX = parseInt(a); + if (s != null) + if (typeof s == 'object') { + let [u, h] = Object.entries(s)[0]; + l[u] = parseInt(h); + } else l.offsetY = parseInt(s); + } + }, 'updateRelStyle')), + (t4e = o(function (t, e, r) { + let n = L4, + i = D4; + if (typeof e == 'object') { + let a = Object.values(e)[0]; + n = parseInt(a); + } else n = parseInt(e); + if (typeof r == 'object') { + let a = Object.values(r)[0]; + i = parseInt(a); + } else i = parseInt(r); + n >= 1 && (L4 = n), i >= 1 && (D4 = i); + }, 'updateLayoutConfig')), + (r4e = o(function () { + return L4; + }, 'getC4ShapeInRow')), + (n4e = o(function () { + return D4; + }, 'getC4BoundaryInRow')), + (i4e = o(function () { + return ja; + }, 'getCurrentBoundaryParse')), + (a4e = o(function () { + return cl; + }, 'getParentBoundaryParse')), + (M$ = o(function (t) { + return t == null ? ul : ul.filter((e) => e.parentBoundary === t); + }, 'getC4ShapeArray')), + (s4e = o(function (t) { + return ul.find((e) => e.alias === t); + }, 'getC4Shape')), + (o4e = o(function (t) { + return Object.keys(M$(t)); + }, 'getC4ShapeKeys')), + (I$ = o(function (t) { + return t == null ? nc : nc.filter((e) => e.parentBoundary === t); + }, 'getBoundaries')), + (l4e = I$), + (c4e = o(function () { + return uy; + }, 'getRels')), + (u4e = o(function () { + return sS; + }, 'getTitle')), + (h4e = o(function (t) { + oS = t; + }, 'setWrap')), + (xh = o(function () { + return oS; + }, 'autoWrap')), + (f4e = o(function () { + (ul = []), + (nc = [ + { + alias: 'global', + label: { text: 'global' }, + type: { text: 'global' }, + tags: null, + link: null, + parentBoundary: '' + } + ]), + (cl = ''), + (ja = 'global'), + (vh = ['']), + (uy = []), + (vh = ['']), + (sS = ''), + (oS = !1), + (L4 = 4), + (D4 = 2); + }, 'clear')), + (d4e = { + SOLID: 0, + DOTTED: 1, + NOTE: 2, + SOLID_CROSS: 3, + DOTTED_CROSS: 4, + SOLID_OPEN: 5, + DOTTED_OPEN: 6, + LOOP_START: 10, + LOOP_END: 11, + ALT_START: 12, + ALT_ELSE: 13, + ALT_END: 14, + OPT_START: 15, + OPT_END: 16, + ACTIVE_START: 17, + ACTIVE_END: 18, + PAR_START: 19, + PAR_AND: 20, + PAR_END: 21, + RECT_START: 22, + RECT_END: 23, + SOLID_POINT: 24, + DOTTED_POINT: 25 + }), + (p4e = { FILLED: 0, OPEN: 1 }), + (m4e = { LEFTOF: 0, RIGHTOF: 1, OVER: 2 }), + (g4e = o(function (t) { + sS = qr(t, de()); + }, 'setTitle')), + (hy = { + addPersonOrSystem: Wbe, + addPersonOrSystemBoundary: jbe, + addContainer: qbe, + addContainerBoundary: Kbe, + addComponent: Xbe, + addDeploymentNode: Qbe, + popBoundaryParseStack: Zbe, + addRel: Ybe, + updateElStyle: Jbe, + updateRelStyle: e4e, + updateLayoutConfig: t4e, + autoWrap: xh, + setWrap: h4e, + getC4ShapeArray: M$, + getC4Shape: s4e, + getC4ShapeKeys: o4e, + getBoundaries: I$, + getBoundarys: l4e, + getCurrentBoundaryParse: i4e, + getParentBoundaryParse: a4e, + getRels: c4e, + getTitle: u4e, + getC4Type: Ube, + getC4ShapeInRow: r4e, + getC4BoundaryInRow: n4e, + setAccTitle: kr, + getAccTitle: Ar, + getAccDescription: Lr, + setAccDescription: _r, + getConfig: o(() => de().c4, 'getConfig'), + clear: f4e, + LINETYPE: d4e, + ARROWTYPE: p4e, + PLACEMENT: m4e, + setTitle: g4e, + setC4Type: Hbe + }); + }); + function ed(t, e) { + return t == null || e == null ? NaN : t < e ? -1 : t > e ? 1 : t >= e ? 0 : NaN; + } + var cS = R(() => { + 'use strict'; + o(ed, 'ascending'); + }); + function uS(t, e) { + return t == null || e == null ? NaN : e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN; + } + var O$ = R(() => { + 'use strict'; + o(uS, 'descending'); + }); + function td(t) { + let e, r, n; + t.length !== 2 + ? ((e = ed), (r = o((l, u) => ed(t(l), u), 'compare2')), (n = o((l, u) => t(l) - u, 'delta'))) + : ((e = t === ed || t === uS ? t : y4e), (r = t), (n = t)); + function i(l, u, h = 0, f = l.length) { + if (h < f) { + if (e(u, u) !== 0) return f; + do { + let d = (h + f) >>> 1; + r(l[d], u) < 0 ? (h = d + 1) : (f = d); + } while (h < f); + } + return h; + } + o(i, 'left'); + function a(l, u, h = 0, f = l.length) { + if (h < f) { + if (e(u, u) !== 0) return f; + do { + let d = (h + f) >>> 1; + r(l[d], u) <= 0 ? (h = d + 1) : (f = d); + } while (h < f); + } + return h; + } + o(a, 'right'); + function s(l, u, h = 0, f = l.length) { + let d = i(l, u, h, f - 1); + return d > h && n(l[d - 1], u) > -n(l[d], u) ? d - 1 : d; + } + return o(s, 'center'), { left: i, center: s, right: a }; + } + function y4e() { + return 0; + } + var hS = R(() => { + 'use strict'; + cS(); + O$(); + o(td, 'bisector'); + o(y4e, 'zero'); + }); + function fS(t) { + return t === null ? NaN : +t; + } + var P$ = R(() => { + 'use strict'; + o(fS, 'number'); + }); + var B$, + F$, + v4e, + x4e, + dS, + z$ = R(() => { + 'use strict'; + cS(); + hS(); + P$(); + (B$ = td(ed)), (F$ = B$.right), (v4e = B$.left), (x4e = td(fS).center), (dS = F$); + }); + function G$({ _intern: t, _key: e }, r) { + let n = e(r); + return t.has(n) ? t.get(n) : r; + } + function b4e({ _intern: t, _key: e }, r) { + let n = e(r); + return t.has(n) ? t.get(n) : (t.set(n, r), r); + } + function w4e({ _intern: t, _key: e }, r) { + let n = e(r); + return t.has(n) && ((r = t.get(n)), t.delete(n)), r; + } + function T4e(t) { + return t !== null && typeof t == 'object' ? t.valueOf() : t; + } + var wp, + $$ = R(() => { + 'use strict'; + wp = class extends Map { + static { + o(this, 'InternMap'); + } + constructor(e, r = T4e) { + if ( + (super(), + Object.defineProperties(this, { + _intern: { value: new Map() }, + _key: { value: r } + }), + e != null) + ) + for (let [n, i] of e) this.set(n, i); + } + get(e) { + return super.get(G$(this, e)); + } + has(e) { + return super.has(G$(this, e)); + } + set(e, r) { + return super.set(b4e(this, e), r); + } + delete(e) { + return super.delete(w4e(this, e)); + } + }; + o(G$, 'intern_get'); + o(b4e, 'intern_set'); + o(w4e, 'intern_delete'); + o(T4e, 'keyof'); + }); + function R4(t, e, r) { + let n = (e - t) / Math.max(0, r), + i = Math.floor(Math.log10(n)), + a = n / Math.pow(10, i), + s = a >= k4e ? 10 : a >= E4e ? 5 : a >= C4e ? 2 : 1, + l, + u, + h; + return ( + i < 0 + ? ((h = Math.pow(10, -i) / s), + (l = Math.round(t * h)), + (u = Math.round(e * h)), + l / h < t && ++l, + u / h > e && --u, + (h = -h)) + : ((h = Math.pow(10, i) * s), + (l = Math.round(t / h)), + (u = Math.round(e / h)), + l * h < t && ++l, + u * h > e && --u), + u < l && 0.5 <= r && r < 2 ? R4(t, e, r * 2) : [l, u, h] + ); + } + function N4(t, e, r) { + if (((e = +e), (t = +t), (r = +r), !(r > 0))) return []; + if (t === e) return [t]; + let n = e < t, + [i, a, s] = n ? R4(e, t, r) : R4(t, e, r); + if (!(a >= i)) return []; + let l = a - i + 1, + u = new Array(l); + if (n) + if (s < 0) for (let h = 0; h < l; ++h) u[h] = (a - h) / -s; + else for (let h = 0; h < l; ++h) u[h] = (a - h) * s; + else if (s < 0) for (let h = 0; h < l; ++h) u[h] = (i + h) / -s; + else for (let h = 0; h < l; ++h) u[h] = (i + h) * s; + return u; + } + function fy(t, e, r) { + return (e = +e), (t = +t), (r = +r), R4(t, e, r)[2]; + } + function Tp(t, e, r) { + (e = +e), (t = +t), (r = +r); + let n = e < t, + i = n ? fy(e, t, r) : fy(t, e, r); + return (n ? -1 : 1) * (i < 0 ? 1 / -i : i); + } + var k4e, + E4e, + C4e, + V$ = R(() => { + 'use strict'; + (k4e = Math.sqrt(50)), (E4e = Math.sqrt(10)), (C4e = Math.sqrt(2)); + o(R4, 'tickSpec'); + o(N4, 'ticks'); + o(fy, 'tickIncrement'); + o(Tp, 'tickStep'); + }); + function M4(t, e) { + let r; + if (e === void 0) for (let n of t) n != null && (r < n || (r === void 0 && n >= n)) && (r = n); + else { + let n = -1; + for (let i of t) (i = e(i, ++n, t)) != null && (r < i || (r === void 0 && i >= i)) && (r = i); + } + return r; + } + var U$ = R(() => { + 'use strict'; + o(M4, 'max'); + }); + function I4(t, e) { + let r; + if (e === void 0) for (let n of t) n != null && (r > n || (r === void 0 && n >= n)) && (r = n); + else { + let n = -1; + for (let i of t) (i = e(i, ++n, t)) != null && (r > i || (r === void 0 && i >= i)) && (r = i); + } + return r; + } + var H$ = R(() => { + 'use strict'; + o(I4, 'min'); + }); + function O4(t, e, r) { + (t = +t), (e = +e), (r = (i = arguments.length) < 2 ? ((e = t), (t = 0), 1) : i < 3 ? 1 : +r); + for (var n = -1, i = Math.max(0, Math.ceil((e - t) / r)) | 0, a = new Array(i); ++n < i; ) a[n] = t + n * r; + return a; + } + var Y$ = R(() => { + 'use strict'; + o(O4, 'range'); + }); + var bh = R(() => { + 'use strict'; + z$(); + hS(); + U$(); + H$(); + Y$(); + V$(); + $$(); + }); + function pS(t) { + return t; + } + var W$ = R(() => { + 'use strict'; + o(pS, 'default'); + }); + function S4e(t) { + return 'translate(' + t + ',0)'; + } + function A4e(t) { + return 'translate(0,' + t + ')'; + } + function _4e(t) { + return (e) => +t(e); + } + function L4e(t, e) { + return (e = Math.max(0, t.bandwidth() - e * 2) / 2), t.round() && (e = Math.round(e)), (r) => +t(r) + e; + } + function D4e() { + return !this.__axis; + } + function X$(t, e) { + var r = [], + n = null, + i = null, + a = 6, + s = 6, + l = 3, + u = typeof window < 'u' && window.devicePixelRatio > 1 ? 0 : 0.5, + h = t === B4 || t === P4 ? -1 : 1, + f = t === P4 || t === mS ? 'x' : 'y', + d = t === B4 || t === gS ? S4e : A4e; + function p(m) { + var g = n ?? (e.ticks ? e.ticks.apply(e, r) : e.domain()), + y = i ?? (e.tickFormat ? e.tickFormat.apply(e, r) : pS), + v = Math.max(a, 0) + l, + x = e.range(), + b = +x[0] + u, + w = +x[x.length - 1] + u, + S = (e.bandwidth ? L4e : _4e)(e.copy(), u), + T = m.selection ? m.selection() : m, + E = T.selectAll('.domain').data([null]), + _ = T.selectAll('.tick').data(g, e).order(), + A = _.exit(), + L = _.enter().append('g').attr('class', 'tick'), + M = _.select('line'), + N = _.select('text'); + (E = E.merge(E.enter().insert('path', '.tick').attr('class', 'domain').attr('stroke', 'currentColor'))), + (_ = _.merge(L)), + (M = M.merge( + L.append('line') + .attr('stroke', 'currentColor') + .attr(f + '2', h * a) + )), + (N = N.merge( + L.append('text') + .attr('fill', 'currentColor') + .attr(f, h * v) + .attr('dy', t === B4 ? '0em' : t === gS ? '0.71em' : '0.32em') + )), + m !== T && + ((E = E.transition(m)), + (_ = _.transition(m)), + (M = M.transition(m)), + (N = N.transition(m)), + (A = A.transition(m) + .attr('opacity', q$) + .attr('transform', function (k) { + return isFinite((k = S(k))) ? d(k + u) : this.getAttribute('transform'); + })), + L.attr('opacity', q$).attr('transform', function (k) { + var I = this.parentNode.__axis; + return d((I && isFinite((I = I(k))) ? I : S(k)) + u); + })), + A.remove(), + E.attr( + 'd', + t === P4 || t === mS + ? s + ? 'M' + h * s + ',' + b + 'H' + u + 'V' + w + 'H' + h * s + : 'M' + u + ',' + b + 'V' + w + : s + ? 'M' + b + ',' + h * s + 'V' + u + 'H' + w + 'V' + h * s + : 'M' + b + ',' + u + 'H' + w + ), + _.attr('opacity', 1).attr('transform', function (k) { + return d(S(k) + u); + }), + M.attr(f + '2', h * a), + N.attr(f, h * v).text(y), + T.filter(D4e) + .attr('fill', 'none') + .attr('font-size', 10) + .attr('font-family', 'sans-serif') + .attr('text-anchor', t === mS ? 'start' : t === P4 ? 'end' : 'middle'), + T.each(function () { + this.__axis = S; + }); + } + return ( + o(p, 'axis'), + (p.scale = function (m) { + return arguments.length ? ((e = m), p) : e; + }), + (p.ticks = function () { + return (r = Array.from(arguments)), p; + }), + (p.tickArguments = function (m) { + return arguments.length ? ((r = m == null ? [] : Array.from(m)), p) : r.slice(); + }), + (p.tickValues = function (m) { + return arguments.length ? ((n = m == null ? null : Array.from(m)), p) : n && n.slice(); + }), + (p.tickFormat = function (m) { + return arguments.length ? ((i = m), p) : i; + }), + (p.tickSize = function (m) { + return arguments.length ? ((a = s = +m), p) : a; + }), + (p.tickSizeInner = function (m) { + return arguments.length ? ((a = +m), p) : a; + }), + (p.tickSizeOuter = function (m) { + return arguments.length ? ((s = +m), p) : s; + }), + (p.tickPadding = function (m) { + return arguments.length ? ((l = +m), p) : l; + }), + (p.offset = function (m) { + return arguments.length ? ((u = +m), p) : u; + }), + p + ); + } + function yS(t) { + return X$(B4, t); + } + function vS(t) { + return X$(gS, t); + } + var B4, + mS, + gS, + P4, + q$, + j$ = R(() => { + 'use strict'; + W$(); + (B4 = 1), (mS = 2), (gS = 3), (P4 = 4), (q$ = 1e-6); + o(S4e, 'translateX'); + o(A4e, 'translateY'); + o(_4e, 'number'); + o(L4e, 'center'); + o(D4e, 'entering'); + o(X$, 'axis'); + o(yS, 'axisTop'); + o(vS, 'axisBottom'); + }); + var K$ = R(() => { + 'use strict'; + j$(); + }); + function Z$() { + for (var t = 0, e = arguments.length, r = {}, n; t < e; ++t) { + if (!(n = arguments[t] + '') || n in r || /[\s.]/.test(n)) throw new Error('illegal type: ' + n); + r[n] = []; + } + return new F4(r); + } + function F4(t) { + this._ = t; + } + function N4e(t, e) { + return t + .trim() + .split(/^|\s+/) + .map(function (r) { + var n = '', + i = r.indexOf('.'); + if ((i >= 0 && ((n = r.slice(i + 1)), (r = r.slice(0, i))), r && !e.hasOwnProperty(r))) + throw new Error('unknown type: ' + r); + return { type: r, name: n }; + }); + } + function M4e(t, e) { + for (var r = 0, n = t.length, i; r < n; ++r) if ((i = t[r]).name === e) return i.value; + } + function Q$(t, e, r) { + for (var n = 0, i = t.length; n < i; ++n) + if (t[n].name === e) { + (t[n] = R4e), (t = t.slice(0, n).concat(t.slice(n + 1))); + break; + } + return r != null && t.push({ name: e, value: r }), t; + } + var R4e, + xS, + J$ = R(() => { + 'use strict'; + R4e = { value: o(() => {}, 'value') }; + o(Z$, 'dispatch'); + o(F4, 'Dispatch'); + o(N4e, 'parseTypenames'); + F4.prototype = Z$.prototype = { + constructor: F4, + on: o(function (t, e) { + var r = this._, + n = N4e(t + '', r), + i, + a = -1, + s = n.length; + if (arguments.length < 2) { + for (; ++a < s; ) if ((i = (t = n[a]).type) && (i = M4e(r[i], t.name))) return i; + return; + } + if (e != null && typeof e != 'function') throw new Error('invalid callback: ' + e); + for (; ++a < s; ) + if ((i = (t = n[a]).type)) r[i] = Q$(r[i], t.name, e); + else if (e == null) for (i in r) r[i] = Q$(r[i], t.name, null); + return this; + }, 'on'), + copy: o(function () { + var t = {}, + e = this._; + for (var r in e) t[r] = e[r].slice(); + return new F4(t); + }, 'copy'), + call: o(function (t, e) { + if ((i = arguments.length - 2) > 0) + for (var r = new Array(i), n = 0, i, a; n < i; ++n) r[n] = arguments[n + 2]; + if (!this._.hasOwnProperty(t)) throw new Error('unknown type: ' + t); + for (a = this._[t], n = 0, i = a.length; n < i; ++n) a[n].value.apply(e, r); + }, 'call'), + apply: o(function (t, e, r) { + if (!this._.hasOwnProperty(t)) throw new Error('unknown type: ' + t); + for (var n = this._[t], i = 0, a = n.length; i < a; ++i) n[i].value.apply(e, r); + }, 'apply') + }; + o(M4e, 'get'); + o(Q$, 'set'); + xS = Z$; + }); + var bS = R(() => { + 'use strict'; + J$(); + }); + var z4, + wS, + TS = R(() => { + 'use strict'; + (z4 = 'http://www.w3.org/1999/xhtml'), + (wS = { + svg: 'http://www.w3.org/2000/svg', + xhtml: z4, + xlink: 'http://www.w3.org/1999/xlink', + xml: 'http://www.w3.org/XML/1998/namespace', + xmlns: 'http://www.w3.org/2000/xmlns/' + }); + }); + function ic(t) { + var e = (t += ''), + r = e.indexOf(':'); + return ( + r >= 0 && (e = t.slice(0, r)) !== 'xmlns' && (t = t.slice(r + 1)), + wS.hasOwnProperty(e) ? { space: wS[e], local: t } : t + ); + } + var G4 = R(() => { + 'use strict'; + TS(); + o(ic, 'default'); + }); + function I4e(t) { + return function () { + var e = this.ownerDocument, + r = this.namespaceURI; + return r === z4 && e.documentElement.namespaceURI === z4 ? e.createElement(t) : e.createElementNS(r, t); + }; + } + function O4e(t) { + return function () { + return this.ownerDocument.createElementNS(t.space, t.local); + }; + } + function dy(t) { + var e = ic(t); + return (e.local ? O4e : I4e)(e); + } + var kS = R(() => { + 'use strict'; + G4(); + TS(); + o(I4e, 'creatorInherit'); + o(O4e, 'creatorFixed'); + o(dy, 'default'); + }); + function P4e() {} + function wh(t) { + return t == null + ? P4e + : function () { + return this.querySelector(t); + }; + } + var $4 = R(() => { + 'use strict'; + o(P4e, 'none'); + o(wh, 'default'); + }); + function ES(t) { + typeof t != 'function' && (t = wh(t)); + for (var e = this._groups, r = e.length, n = new Array(r), i = 0; i < r; ++i) + for (var a = e[i], s = a.length, l = (n[i] = new Array(s)), u, h, f = 0; f < s; ++f) + (u = a[f]) && + (h = t.call(u, u.__data__, f, a)) && + ('__data__' in u && (h.__data__ = u.__data__), (l[f] = h)); + return new Zn(n, this._parents); + } + var eV = R(() => { + 'use strict'; + hl(); + $4(); + o(ES, 'default'); + }); + function CS(t) { + return t == null ? [] : Array.isArray(t) ? t : Array.from(t); + } + var tV = R(() => { + 'use strict'; + o(CS, 'array'); + }); + function B4e() { + return []; + } + function kp(t) { + return t == null + ? B4e + : function () { + return this.querySelectorAll(t); + }; + } + var SS = R(() => { + 'use strict'; + o(B4e, 'empty'); + o(kp, 'default'); + }); + function F4e(t) { + return function () { + return CS(t.apply(this, arguments)); + }; + } + function AS(t) { + typeof t == 'function' ? (t = F4e(t)) : (t = kp(t)); + for (var e = this._groups, r = e.length, n = [], i = [], a = 0; a < r; ++a) + for (var s = e[a], l = s.length, u, h = 0; h < l; ++h) + (u = s[h]) && (n.push(t.call(u, u.__data__, h, s)), i.push(u)); + return new Zn(n, i); + } + var rV = R(() => { + 'use strict'; + hl(); + tV(); + SS(); + o(F4e, 'arrayAll'); + o(AS, 'default'); + }); + function Ep(t) { + return function () { + return this.matches(t); + }; + } + function V4(t) { + return function (e) { + return e.matches(t); + }; + } + var py = R(() => { + 'use strict'; + o(Ep, 'default'); + o(V4, 'childMatcher'); + }); + function G4e(t) { + return function () { + return z4e.call(this.children, t); + }; + } + function $4e() { + return this.firstElementChild; + } + function _S(t) { + return this.select(t == null ? $4e : G4e(typeof t == 'function' ? t : V4(t))); + } + var z4e, + nV = R(() => { + 'use strict'; + py(); + z4e = Array.prototype.find; + o(G4e, 'childFind'); + o($4e, 'childFirst'); + o(_S, 'default'); + }); + function U4e() { + return Array.from(this.children); + } + function H4e(t) { + return function () { + return V4e.call(this.children, t); + }; + } + function LS(t) { + return this.selectAll(t == null ? U4e : H4e(typeof t == 'function' ? t : V4(t))); + } + var V4e, + iV = R(() => { + 'use strict'; + py(); + V4e = Array.prototype.filter; + o(U4e, 'children'); + o(H4e, 'childrenFilter'); + o(LS, 'default'); + }); + function DS(t) { + typeof t != 'function' && (t = Ep(t)); + for (var e = this._groups, r = e.length, n = new Array(r), i = 0; i < r; ++i) + for (var a = e[i], s = a.length, l = (n[i] = []), u, h = 0; h < s; ++h) + (u = a[h]) && t.call(u, u.__data__, h, a) && l.push(u); + return new Zn(n, this._parents); + } + var aV = R(() => { + 'use strict'; + hl(); + py(); + o(DS, 'default'); + }); + function my(t) { + return new Array(t.length); + } + var RS = R(() => { + 'use strict'; + o(my, 'default'); + }); + function NS() { + return new Zn(this._enter || this._groups.map(my), this._parents); + } + function gy(t, e) { + (this.ownerDocument = t.ownerDocument), + (this.namespaceURI = t.namespaceURI), + (this._next = null), + (this._parent = t), + (this.__data__ = e); + } + var MS = R(() => { + 'use strict'; + RS(); + hl(); + o(NS, 'default'); + o(gy, 'EnterNode'); + gy.prototype = { + constructor: gy, + appendChild: o(function (t) { + return this._parent.insertBefore(t, this._next); + }, 'appendChild'), + insertBefore: o(function (t, e) { + return this._parent.insertBefore(t, e); + }, 'insertBefore'), + querySelector: o(function (t) { + return this._parent.querySelector(t); + }, 'querySelector'), + querySelectorAll: o(function (t) { + return this._parent.querySelectorAll(t); + }, 'querySelectorAll') + }; + }); + function IS(t) { + return function () { + return t; + }; + } + var sV = R(() => { + 'use strict'; + o(IS, 'default'); + }); + function Y4e(t, e, r, n, i, a) { + for (var s = 0, l, u = e.length, h = a.length; s < h; ++s) + (l = e[s]) ? ((l.__data__ = a[s]), (n[s] = l)) : (r[s] = new gy(t, a[s])); + for (; s < u; ++s) (l = e[s]) && (i[s] = l); + } + function W4e(t, e, r, n, i, a, s) { + var l, + u, + h = new Map(), + f = e.length, + d = a.length, + p = new Array(f), + m; + for (l = 0; l < f; ++l) + (u = e[l]) && ((p[l] = m = s.call(u, u.__data__, l, e) + ''), h.has(m) ? (i[l] = u) : h.set(m, u)); + for (l = 0; l < d; ++l) + (m = s.call(t, a[l], l, a) + ''), + (u = h.get(m)) ? ((n[l] = u), (u.__data__ = a[l]), h.delete(m)) : (r[l] = new gy(t, a[l])); + for (l = 0; l < f; ++l) (u = e[l]) && h.get(p[l]) === u && (i[l] = u); + } + function q4e(t) { + return t.__data__; + } + function OS(t, e) { + if (!arguments.length) return Array.from(this, q4e); + var r = e ? W4e : Y4e, + n = this._parents, + i = this._groups; + typeof t != 'function' && (t = IS(t)); + for (var a = i.length, s = new Array(a), l = new Array(a), u = new Array(a), h = 0; h < a; ++h) { + var f = n[h], + d = i[h], + p = d.length, + m = X4e(t.call(f, f && f.__data__, h, n)), + g = m.length, + y = (l[h] = new Array(g)), + v = (s[h] = new Array(g)), + x = (u[h] = new Array(p)); + r(f, d, y, v, x, m, e); + for (var b = 0, w = 0, S, T; b < g; ++b) + if ((S = y[b])) { + for (b >= w && (w = b + 1); !(T = v[w]) && ++w < g; ); + S._next = T || null; + } + } + return (s = new Zn(s, n)), (s._enter = l), (s._exit = u), s; + } + function X4e(t) { + return typeof t == 'object' && 'length' in t ? t : Array.from(t); + } + var oV = R(() => { + 'use strict'; + hl(); + MS(); + sV(); + o(Y4e, 'bindIndex'); + o(W4e, 'bindKey'); + o(q4e, 'datum'); + o(OS, 'default'); + o(X4e, 'arraylike'); + }); + function PS() { + return new Zn(this._exit || this._groups.map(my), this._parents); + } + var lV = R(() => { + 'use strict'; + RS(); + hl(); + o(PS, 'default'); + }); + function BS(t, e, r) { + var n = this.enter(), + i = this, + a = this.exit(); + return ( + typeof t == 'function' ? ((n = t(n)), n && (n = n.selection())) : (n = n.append(t + '')), + e != null && ((i = e(i)), i && (i = i.selection())), + r == null ? a.remove() : r(a), + n && i ? n.merge(i).order() : i + ); + } + var cV = R(() => { + 'use strict'; + o(BS, 'default'); + }); + function FS(t) { + for ( + var e = t.selection ? t.selection() : t, + r = this._groups, + n = e._groups, + i = r.length, + a = n.length, + s = Math.min(i, a), + l = new Array(i), + u = 0; + u < s; + ++u + ) + for (var h = r[u], f = n[u], d = h.length, p = (l[u] = new Array(d)), m, g = 0; g < d; ++g) + (m = h[g] || f[g]) && (p[g] = m); + for (; u < i; ++u) l[u] = r[u]; + return new Zn(l, this._parents); + } + var uV = R(() => { + 'use strict'; + hl(); + o(FS, 'default'); + }); + function zS() { + for (var t = this._groups, e = -1, r = t.length; ++e < r; ) + for (var n = t[e], i = n.length - 1, a = n[i], s; --i >= 0; ) + (s = n[i]) && (a && s.compareDocumentPosition(a) ^ 4 && a.parentNode.insertBefore(s, a), (a = s)); + return this; + } + var hV = R(() => { + 'use strict'; + o(zS, 'default'); + }); + function GS(t) { + t || (t = j4e); + function e(d, p) { + return d && p ? t(d.__data__, p.__data__) : !d - !p; + } + o(e, 'compareNode'); + for (var r = this._groups, n = r.length, i = new Array(n), a = 0; a < n; ++a) { + for (var s = r[a], l = s.length, u = (i[a] = new Array(l)), h, f = 0; f < l; ++f) (h = s[f]) && (u[f] = h); + u.sort(e); + } + return new Zn(i, this._parents).order(); + } + function j4e(t, e) { + return t < e ? -1 : t > e ? 1 : t >= e ? 0 : NaN; + } + var fV = R(() => { + 'use strict'; + hl(); + o(GS, 'default'); + o(j4e, 'ascending'); + }); + function $S() { + var t = arguments[0]; + return (arguments[0] = this), t.apply(null, arguments), this; + } + var dV = R(() => { + 'use strict'; + o($S, 'default'); + }); + function VS() { + return Array.from(this); + } + var pV = R(() => { + 'use strict'; + o(VS, 'default'); + }); + function US() { + for (var t = this._groups, e = 0, r = t.length; e < r; ++e) + for (var n = t[e], i = 0, a = n.length; i < a; ++i) { + var s = n[i]; + if (s) return s; + } + return null; + } + var mV = R(() => { + 'use strict'; + o(US, 'default'); + }); + function HS() { + let t = 0; + for (let e of this) ++t; + return t; + } + var gV = R(() => { + 'use strict'; + o(HS, 'default'); + }); + function YS() { + return !this.node(); + } + var yV = R(() => { + 'use strict'; + o(YS, 'default'); + }); + function WS(t) { + for (var e = this._groups, r = 0, n = e.length; r < n; ++r) + for (var i = e[r], a = 0, s = i.length, l; a < s; ++a) (l = i[a]) && t.call(l, l.__data__, a, i); + return this; + } + var vV = R(() => { + 'use strict'; + o(WS, 'default'); + }); + function K4e(t) { + return function () { + this.removeAttribute(t); + }; + } + function Q4e(t) { + return function () { + this.removeAttributeNS(t.space, t.local); + }; + } + function Z4e(t, e) { + return function () { + this.setAttribute(t, e); + }; + } + function J4e(t, e) { + return function () { + this.setAttributeNS(t.space, t.local, e); + }; + } + function e3e(t, e) { + return function () { + var r = e.apply(this, arguments); + r == null ? this.removeAttribute(t) : this.setAttribute(t, r); + }; + } + function t3e(t, e) { + return function () { + var r = e.apply(this, arguments); + r == null ? this.removeAttributeNS(t.space, t.local) : this.setAttributeNS(t.space, t.local, r); + }; + } + function qS(t, e) { + var r = ic(t); + if (arguments.length < 2) { + var n = this.node(); + return r.local ? n.getAttributeNS(r.space, r.local) : n.getAttribute(r); + } + return this.each( + (e == null ? (r.local ? Q4e : K4e) : typeof e == 'function' ? (r.local ? t3e : e3e) : r.local ? J4e : Z4e)( + r, + e + ) + ); + } + var xV = R(() => { + 'use strict'; + G4(); + o(K4e, 'attrRemove'); + o(Q4e, 'attrRemoveNS'); + o(Z4e, 'attrConstant'); + o(J4e, 'attrConstantNS'); + o(e3e, 'attrFunction'); + o(t3e, 'attrFunctionNS'); + o(qS, 'default'); + }); + function yy(t) { + return (t.ownerDocument && t.ownerDocument.defaultView) || (t.document && t) || t.defaultView; + } + var XS = R(() => { + 'use strict'; + o(yy, 'default'); + }); + function r3e(t) { + return function () { + this.style.removeProperty(t); + }; + } + function n3e(t, e, r) { + return function () { + this.style.setProperty(t, e, r); + }; + } + function i3e(t, e, r) { + return function () { + var n = e.apply(this, arguments); + n == null ? this.style.removeProperty(t) : this.style.setProperty(t, n, r); + }; + } + function jS(t, e, r) { + return arguments.length > 1 + ? this.each((e == null ? r3e : typeof e == 'function' ? i3e : n3e)(t, e, r ?? '')) + : Th(this.node(), t); + } + function Th(t, e) { + return t.style.getPropertyValue(e) || yy(t).getComputedStyle(t, null).getPropertyValue(e); + } + var KS = R(() => { + 'use strict'; + XS(); + o(r3e, 'styleRemove'); + o(n3e, 'styleConstant'); + o(i3e, 'styleFunction'); + o(jS, 'default'); + o(Th, 'styleValue'); + }); + function a3e(t) { + return function () { + delete this[t]; + }; + } + function s3e(t, e) { + return function () { + this[t] = e; + }; + } + function o3e(t, e) { + return function () { + var r = e.apply(this, arguments); + r == null ? delete this[t] : (this[t] = r); + }; + } + function QS(t, e) { + return arguments.length > 1 + ? this.each((e == null ? a3e : typeof e == 'function' ? o3e : s3e)(t, e)) + : this.node()[t]; + } + var bV = R(() => { + 'use strict'; + o(a3e, 'propertyRemove'); + o(s3e, 'propertyConstant'); + o(o3e, 'propertyFunction'); + o(QS, 'default'); + }); + function wV(t) { + return t.trim().split(/^|\s+/); + } + function ZS(t) { + return t.classList || new TV(t); + } + function TV(t) { + (this._node = t), (this._names = wV(t.getAttribute('class') || '')); + } + function kV(t, e) { + for (var r = ZS(t), n = -1, i = e.length; ++n < i; ) r.add(e[n]); + } + function EV(t, e) { + for (var r = ZS(t), n = -1, i = e.length; ++n < i; ) r.remove(e[n]); + } + function l3e(t) { + return function () { + kV(this, t); + }; + } + function c3e(t) { + return function () { + EV(this, t); + }; + } + function u3e(t, e) { + return function () { + (e.apply(this, arguments) ? kV : EV)(this, t); + }; + } + function JS(t, e) { + var r = wV(t + ''); + if (arguments.length < 2) { + for (var n = ZS(this.node()), i = -1, a = r.length; ++i < a; ) if (!n.contains(r[i])) return !1; + return !0; + } + return this.each((typeof e == 'function' ? u3e : e ? l3e : c3e)(r, e)); + } + var CV = R(() => { + 'use strict'; + o(wV, 'classArray'); + o(ZS, 'classList'); + o(TV, 'ClassList'); + TV.prototype = { + add: o(function (t) { + var e = this._names.indexOf(t); + e < 0 && (this._names.push(t), this._node.setAttribute('class', this._names.join(' '))); + }, 'add'), + remove: o(function (t) { + var e = this._names.indexOf(t); + e >= 0 && (this._names.splice(e, 1), this._node.setAttribute('class', this._names.join(' '))); + }, 'remove'), + contains: o(function (t) { + return this._names.indexOf(t) >= 0; + }, 'contains') + }; + o(kV, 'classedAdd'); + o(EV, 'classedRemove'); + o(l3e, 'classedTrue'); + o(c3e, 'classedFalse'); + o(u3e, 'classedFunction'); + o(JS, 'default'); + }); + function h3e() { + this.textContent = ''; + } + function f3e(t) { + return function () { + this.textContent = t; + }; + } + function d3e(t) { + return function () { + var e = t.apply(this, arguments); + this.textContent = e ?? ''; + }; + } + function eA(t) { + return arguments.length + ? this.each(t == null ? h3e : (typeof t == 'function' ? d3e : f3e)(t)) + : this.node().textContent; + } + var SV = R(() => { + 'use strict'; + o(h3e, 'textRemove'); + o(f3e, 'textConstant'); + o(d3e, 'textFunction'); + o(eA, 'default'); + }); + function p3e() { + this.innerHTML = ''; + } + function m3e(t) { + return function () { + this.innerHTML = t; + }; + } + function g3e(t) { + return function () { + var e = t.apply(this, arguments); + this.innerHTML = e ?? ''; + }; + } + function tA(t) { + return arguments.length + ? this.each(t == null ? p3e : (typeof t == 'function' ? g3e : m3e)(t)) + : this.node().innerHTML; + } + var AV = R(() => { + 'use strict'; + o(p3e, 'htmlRemove'); + o(m3e, 'htmlConstant'); + o(g3e, 'htmlFunction'); + o(tA, 'default'); + }); + function y3e() { + this.nextSibling && this.parentNode.appendChild(this); + } + function rA() { + return this.each(y3e); + } + var _V = R(() => { + 'use strict'; + o(y3e, 'raise'); + o(rA, 'default'); + }); + function v3e() { + this.previousSibling && this.parentNode.insertBefore(this, this.parentNode.firstChild); + } + function nA() { + return this.each(v3e); + } + var LV = R(() => { + 'use strict'; + o(v3e, 'lower'); + o(nA, 'default'); + }); + function iA(t) { + var e = typeof t == 'function' ? t : dy(t); + return this.select(function () { + return this.appendChild(e.apply(this, arguments)); + }); + } + var DV = R(() => { + 'use strict'; + kS(); + o(iA, 'default'); + }); + function x3e() { + return null; + } + function aA(t, e) { + var r = typeof t == 'function' ? t : dy(t), + n = e == null ? x3e : typeof e == 'function' ? e : wh(e); + return this.select(function () { + return this.insertBefore(r.apply(this, arguments), n.apply(this, arguments) || null); + }); + } + var RV = R(() => { + 'use strict'; + kS(); + $4(); + o(x3e, 'constantNull'); + o(aA, 'default'); + }); + function b3e() { + var t = this.parentNode; + t && t.removeChild(this); + } + function sA() { + return this.each(b3e); + } + var NV = R(() => { + 'use strict'; + o(b3e, 'remove'); + o(sA, 'default'); + }); + function w3e() { + var t = this.cloneNode(!1), + e = this.parentNode; + return e ? e.insertBefore(t, this.nextSibling) : t; + } + function T3e() { + var t = this.cloneNode(!0), + e = this.parentNode; + return e ? e.insertBefore(t, this.nextSibling) : t; + } + function oA(t) { + return this.select(t ? T3e : w3e); + } + var MV = R(() => { + 'use strict'; + o(w3e, 'selection_cloneShallow'); + o(T3e, 'selection_cloneDeep'); + o(oA, 'default'); + }); + function lA(t) { + return arguments.length ? this.property('__data__', t) : this.node().__data__; + } + var IV = R(() => { + 'use strict'; + o(lA, 'default'); + }); + function k3e(t) { + return function (e) { + t.call(this, e, this.__data__); + }; + } + function E3e(t) { + return t + .trim() + .split(/^|\s+/) + .map(function (e) { + var r = '', + n = e.indexOf('.'); + return n >= 0 && ((r = e.slice(n + 1)), (e = e.slice(0, n))), { type: e, name: r }; + }); + } + function C3e(t) { + return function () { + var e = this.__on; + if (e) { + for (var r = 0, n = -1, i = e.length, a; r < i; ++r) + (a = e[r]), + (!t.type || a.type === t.type) && a.name === t.name + ? this.removeEventListener(a.type, a.listener, a.options) + : (e[++n] = a); + ++n ? (e.length = n) : delete this.__on; + } + }; + } + function S3e(t, e, r) { + return function () { + var n = this.__on, + i, + a = k3e(e); + if (n) { + for (var s = 0, l = n.length; s < l; ++s) + if ((i = n[s]).type === t.type && i.name === t.name) { + this.removeEventListener(i.type, i.listener, i.options), + this.addEventListener(i.type, (i.listener = a), (i.options = r)), + (i.value = e); + return; + } + } + this.addEventListener(t.type, a, r), + (i = { type: t.type, name: t.name, value: e, listener: a, options: r }), + n ? n.push(i) : (this.__on = [i]); + }; + } + function cA(t, e, r) { + var n = E3e(t + ''), + i, + a = n.length, + s; + if (arguments.length < 2) { + var l = this.node().__on; + if (l) { + for (var u = 0, h = l.length, f; u < h; ++u) + for (i = 0, f = l[u]; i < a; ++i) + if ((s = n[i]).type === f.type && s.name === f.name) return f.value; + } + return; + } + for (l = e ? S3e : C3e, i = 0; i < a; ++i) this.each(l(n[i], e, r)); + return this; + } + var OV = R(() => { + 'use strict'; + o(k3e, 'contextListener'); + o(E3e, 'parseTypenames'); + o(C3e, 'onRemove'); + o(S3e, 'onAdd'); + o(cA, 'default'); + }); + function PV(t, e, r) { + var n = yy(t), + i = n.CustomEvent; + typeof i == 'function' + ? (i = new i(e, r)) + : ((i = n.document.createEvent('Event')), + r ? (i.initEvent(e, r.bubbles, r.cancelable), (i.detail = r.detail)) : i.initEvent(e, !1, !1)), + t.dispatchEvent(i); + } + function A3e(t, e) { + return function () { + return PV(this, t, e); + }; + } + function _3e(t, e) { + return function () { + return PV(this, t, e.apply(this, arguments)); + }; + } + function uA(t, e) { + return this.each((typeof e == 'function' ? _3e : A3e)(t, e)); + } + var BV = R(() => { + 'use strict'; + XS(); + o(PV, 'dispatchEvent'); + o(A3e, 'dispatchConstant'); + o(_3e, 'dispatchFunction'); + o(uA, 'default'); + }); + function* hA() { + for (var t = this._groups, e = 0, r = t.length; e < r; ++e) + for (var n = t[e], i = 0, a = n.length, s; i < a; ++i) (s = n[i]) && (yield s); + } + var FV = R(() => { + 'use strict'; + o(hA, 'default'); + }); + function Zn(t, e) { + (this._groups = t), (this._parents = e); + } + function zV() { + return new Zn([[document.documentElement]], fA); + } + function L3e() { + return this; + } + var fA, + cu, + hl = R(() => { + 'use strict'; + eV(); + rV(); + nV(); + iV(); + aV(); + oV(); + MS(); + lV(); + cV(); + uV(); + hV(); + fV(); + dV(); + pV(); + mV(); + gV(); + yV(); + vV(); + xV(); + KS(); + bV(); + CV(); + SV(); + AV(); + _V(); + LV(); + DV(); + RV(); + NV(); + MV(); + IV(); + OV(); + BV(); + FV(); + fA = [null]; + o(Zn, 'Selection'); + o(zV, 'selection'); + o(L3e, 'selection_selection'); + Zn.prototype = zV.prototype = { + constructor: Zn, + select: ES, + selectAll: AS, + selectChild: _S, + selectChildren: LS, + filter: DS, + data: OS, + enter: NS, + exit: PS, + join: BS, + merge: FS, + selection: L3e, + order: zS, + sort: GS, + call: $S, + nodes: VS, + node: US, + size: HS, + empty: YS, + each: WS, + attr: qS, + style: jS, + property: QS, + classed: JS, + text: eA, + html: tA, + raise: rA, + lower: nA, + append: iA, + insert: aA, + remove: sA, + clone: oA, + datum: lA, + on: cA, + dispatch: uA, + [Symbol.iterator]: hA + }; + cu = zV; + }); + function $e(t) { + return typeof t == 'string' + ? new Zn([[document.querySelector(t)]], [document.documentElement]) + : new Zn([[t]], fA); + } + var GV = R(() => { + 'use strict'; + hl(); + o($e, 'default'); + }); + var fl = R(() => { + 'use strict'; + py(); + G4(); + GV(); + hl(); + $4(); + SS(); + KS(); + }); + var $V = R(() => { + 'use strict'; + }); + function kh(t, e, r) { + (t.prototype = e.prototype = r), (r.constructor = t); + } + function Cp(t, e) { + var r = Object.create(t.prototype); + for (var n in e) r[n] = e[n]; + return r; + } + var dA = R(() => { + 'use strict'; + o(kh, 'default'); + o(Cp, 'extend'); + }); + function Eh() {} + function UV() { + return this.rgb().formatHex(); + } + function B3e() { + return this.rgb().formatHex8(); + } + function F3e() { + return KV(this).formatHsl(); + } + function HV() { + return this.rgb().formatRgb(); + } + function pl(t) { + var e, r; + return ( + (t = (t + '').trim().toLowerCase()), + (e = D3e.exec(t)) + ? ((r = e[1].length), + (e = parseInt(e[1], 16)), + r === 6 + ? YV(e) + : r === 3 + ? new la( + ((e >> 8) & 15) | ((e >> 4) & 240), + ((e >> 4) & 15) | (e & 240), + ((e & 15) << 4) | (e & 15), + 1 + ) + : r === 8 + ? U4((e >> 24) & 255, (e >> 16) & 255, (e >> 8) & 255, (e & 255) / 255) + : r === 4 + ? U4( + ((e >> 12) & 15) | ((e >> 8) & 240), + ((e >> 8) & 15) | ((e >> 4) & 240), + ((e >> 4) & 15) | (e & 240), + (((e & 15) << 4) | (e & 15)) / 255 + ) + : null) + : (e = R3e.exec(t)) + ? new la(e[1], e[2], e[3], 1) + : (e = N3e.exec(t)) + ? new la((e[1] * 255) / 100, (e[2] * 255) / 100, (e[3] * 255) / 100, 1) + : (e = M3e.exec(t)) + ? U4(e[1], e[2], e[3], e[4]) + : (e = I3e.exec(t)) + ? U4((e[1] * 255) / 100, (e[2] * 255) / 100, (e[3] * 255) / 100, e[4]) + : (e = O3e.exec(t)) + ? XV(e[1], e[2] / 100, e[3] / 100, 1) + : (e = P3e.exec(t)) + ? XV(e[1], e[2] / 100, e[3] / 100, e[4]) + : VV.hasOwnProperty(t) + ? YV(VV[t]) + : t === 'transparent' + ? new la(NaN, NaN, NaN, 0) + : null + ); + } + function YV(t) { + return new la((t >> 16) & 255, (t >> 8) & 255, t & 255, 1); + } + function U4(t, e, r, n) { + return n <= 0 && (t = e = r = NaN), new la(t, e, r, n); + } + function mA(t) { + return t instanceof Eh || (t = pl(t)), t ? ((t = t.rgb()), new la(t.r, t.g, t.b, t.opacity)) : new la(); + } + function Ap(t, e, r, n) { + return arguments.length === 1 ? mA(t) : new la(t, e, r, n ?? 1); + } + function la(t, e, r, n) { + (this.r = +t), (this.g = +e), (this.b = +r), (this.opacity = +n); + } + function WV() { + return `#${rd(this.r)}${rd(this.g)}${rd(this.b)}`; + } + function z3e() { + return `#${rd(this.r)}${rd(this.g)}${rd(this.b)}${rd((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`; + } + function qV() { + let t = W4(this.opacity); + return `${t === 1 ? 'rgb(' : 'rgba('}${nd(this.r)}, ${nd(this.g)}, ${nd(this.b)}${t === 1 ? ')' : `, ${t})`}`; + } + function W4(t) { + return isNaN(t) ? 1 : Math.max(0, Math.min(1, t)); + } + function nd(t) { + return Math.max(0, Math.min(255, Math.round(t) || 0)); + } + function rd(t) { + return (t = nd(t)), (t < 16 ? '0' : '') + t.toString(16); + } + function XV(t, e, r, n) { + return n <= 0 ? (t = e = r = NaN) : r <= 0 || r >= 1 ? (t = e = NaN) : e <= 0 && (t = NaN), new dl(t, e, r, n); + } + function KV(t) { + if (t instanceof dl) return new dl(t.h, t.s, t.l, t.opacity); + if ((t instanceof Eh || (t = pl(t)), !t)) return new dl(); + if (t instanceof dl) return t; + t = t.rgb(); + var e = t.r / 255, + r = t.g / 255, + n = t.b / 255, + i = Math.min(e, r, n), + a = Math.max(e, r, n), + s = NaN, + l = a - i, + u = (a + i) / 2; + return ( + l + ? (e === a ? (s = (r - n) / l + (r < n) * 6) : r === a ? (s = (n - e) / l + 2) : (s = (e - r) / l + 4), + (l /= u < 0.5 ? a + i : 2 - a - i), + (s *= 60)) + : (l = u > 0 && u < 1 ? 0 : s), + new dl(s, l, u, t.opacity) + ); + } + function QV(t, e, r, n) { + return arguments.length === 1 ? KV(t) : new dl(t, e, r, n ?? 1); + } + function dl(t, e, r, n) { + (this.h = +t), (this.s = +e), (this.l = +r), (this.opacity = +n); + } + function jV(t) { + return (t = (t || 0) % 360), t < 0 ? t + 360 : t; + } + function H4(t) { + return Math.max(0, Math.min(1, t || 0)); + } + function pA(t, e, r) { + return (t < 60 ? e + ((r - e) * t) / 60 : t < 180 ? r : t < 240 ? e + ((r - e) * (240 - t)) / 60 : e) * 255; + } + var vy, + Y4, + Sp, + xy, + ac, + D3e, + R3e, + N3e, + M3e, + I3e, + O3e, + P3e, + VV, + gA = R(() => { + 'use strict'; + dA(); + o(Eh, 'Color'); + (vy = 0.7), + (Y4 = 1 / vy), + (Sp = '\\s*([+-]?\\d+)\\s*'), + (xy = '\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*'), + (ac = '\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*'), + (D3e = /^#([0-9a-f]{3,8})$/), + (R3e = new RegExp(`^rgb\\(${Sp},${Sp},${Sp}\\)$`)), + (N3e = new RegExp(`^rgb\\(${ac},${ac},${ac}\\)$`)), + (M3e = new RegExp(`^rgba\\(${Sp},${Sp},${Sp},${xy}\\)$`)), + (I3e = new RegExp(`^rgba\\(${ac},${ac},${ac},${xy}\\)$`)), + (O3e = new RegExp(`^hsl\\(${xy},${ac},${ac}\\)$`)), + (P3e = new RegExp(`^hsla\\(${xy},${ac},${ac},${xy}\\)$`)), + (VV = { + aliceblue: 15792383, + antiquewhite: 16444375, + aqua: 65535, + aquamarine: 8388564, + azure: 15794175, + beige: 16119260, + bisque: 16770244, + black: 0, + blanchedalmond: 16772045, + blue: 255, + blueviolet: 9055202, + brown: 10824234, + burlywood: 14596231, + cadetblue: 6266528, + chartreuse: 8388352, + chocolate: 13789470, + coral: 16744272, + cornflowerblue: 6591981, + cornsilk: 16775388, + crimson: 14423100, + cyan: 65535, + darkblue: 139, + darkcyan: 35723, + darkgoldenrod: 12092939, + darkgray: 11119017, + darkgreen: 25600, + darkgrey: 11119017, + darkkhaki: 12433259, + darkmagenta: 9109643, + darkolivegreen: 5597999, + darkorange: 16747520, + darkorchid: 10040012, + darkred: 9109504, + darksalmon: 15308410, + darkseagreen: 9419919, + darkslateblue: 4734347, + darkslategray: 3100495, + darkslategrey: 3100495, + darkturquoise: 52945, + darkviolet: 9699539, + deeppink: 16716947, + deepskyblue: 49151, + dimgray: 6908265, + dimgrey: 6908265, + dodgerblue: 2003199, + firebrick: 11674146, + floralwhite: 16775920, + forestgreen: 2263842, + fuchsia: 16711935, + gainsboro: 14474460, + ghostwhite: 16316671, + gold: 16766720, + goldenrod: 14329120, + gray: 8421504, + green: 32768, + greenyellow: 11403055, + grey: 8421504, + honeydew: 15794160, + hotpink: 16738740, + indianred: 13458524, + indigo: 4915330, + ivory: 16777200, + khaki: 15787660, + lavender: 15132410, + lavenderblush: 16773365, + lawngreen: 8190976, + lemonchiffon: 16775885, + lightblue: 11393254, + lightcoral: 15761536, + lightcyan: 14745599, + lightgoldenrodyellow: 16448210, + lightgray: 13882323, + lightgreen: 9498256, + lightgrey: 13882323, + lightpink: 16758465, + lightsalmon: 16752762, + lightseagreen: 2142890, + lightskyblue: 8900346, + lightslategray: 7833753, + lightslategrey: 7833753, + lightsteelblue: 11584734, + lightyellow: 16777184, + lime: 65280, + limegreen: 3329330, + linen: 16445670, + magenta: 16711935, + maroon: 8388608, + mediumaquamarine: 6737322, + mediumblue: 205, + mediumorchid: 12211667, + mediumpurple: 9662683, + mediumseagreen: 3978097, + mediumslateblue: 8087790, + mediumspringgreen: 64154, + mediumturquoise: 4772300, + mediumvioletred: 13047173, + midnightblue: 1644912, + mintcream: 16121850, + mistyrose: 16770273, + moccasin: 16770229, + navajowhite: 16768685, + navy: 128, + oldlace: 16643558, + olive: 8421376, + olivedrab: 7048739, + orange: 16753920, + orangered: 16729344, + orchid: 14315734, + palegoldenrod: 15657130, + palegreen: 10025880, + paleturquoise: 11529966, + palevioletred: 14381203, + papayawhip: 16773077, + peachpuff: 16767673, + peru: 13468991, + pink: 16761035, + plum: 14524637, + powderblue: 11591910, + purple: 8388736, + rebeccapurple: 6697881, + red: 16711680, + rosybrown: 12357519, + royalblue: 4286945, + saddlebrown: 9127187, + salmon: 16416882, + sandybrown: 16032864, + seagreen: 3050327, + seashell: 16774638, + sienna: 10506797, + silver: 12632256, + skyblue: 8900331, + slateblue: 6970061, + slategray: 7372944, + slategrey: 7372944, + snow: 16775930, + springgreen: 65407, + steelblue: 4620980, + tan: 13808780, + teal: 32896, + thistle: 14204888, + tomato: 16737095, + turquoise: 4251856, + violet: 15631086, + wheat: 16113331, + white: 16777215, + whitesmoke: 16119285, + yellow: 16776960, + yellowgreen: 10145074 + }); + kh(Eh, pl, { + copy(t) { + return Object.assign(new this.constructor(), this, t); + }, + displayable() { + return this.rgb().displayable(); + }, + hex: UV, + formatHex: UV, + formatHex8: B3e, + formatHsl: F3e, + formatRgb: HV, + toString: HV + }); + o(UV, 'color_formatHex'); + o(B3e, 'color_formatHex8'); + o(F3e, 'color_formatHsl'); + o(HV, 'color_formatRgb'); + o(pl, 'color'); + o(YV, 'rgbn'); + o(U4, 'rgba'); + o(mA, 'rgbConvert'); + o(Ap, 'rgb'); + o(la, 'Rgb'); + kh( + la, + Ap, + Cp(Eh, { + brighter(t) { + return ( + (t = t == null ? Y4 : Math.pow(Y4, t)), + new la(this.r * t, this.g * t, this.b * t, this.opacity) + ); + }, + darker(t) { + return ( + (t = t == null ? vy : Math.pow(vy, t)), + new la(this.r * t, this.g * t, this.b * t, this.opacity) + ); + }, + rgb() { + return this; + }, + clamp() { + return new la(nd(this.r), nd(this.g), nd(this.b), W4(this.opacity)); + }, + displayable() { + return ( + -0.5 <= this.r && + this.r < 255.5 && + -0.5 <= this.g && + this.g < 255.5 && + -0.5 <= this.b && + this.b < 255.5 && + 0 <= this.opacity && + this.opacity <= 1 + ); + }, + hex: WV, + formatHex: WV, + formatHex8: z3e, + formatRgb: qV, + toString: qV + }) + ); + o(WV, 'rgb_formatHex'); + o(z3e, 'rgb_formatHex8'); + o(qV, 'rgb_formatRgb'); + o(W4, 'clampa'); + o(nd, 'clampi'); + o(rd, 'hex'); + o(XV, 'hsla'); + o(KV, 'hslConvert'); + o(QV, 'hsl'); + o(dl, 'Hsl'); + kh( + dl, + QV, + Cp(Eh, { + brighter(t) { + return (t = t == null ? Y4 : Math.pow(Y4, t)), new dl(this.h, this.s, this.l * t, this.opacity); + }, + darker(t) { + return (t = t == null ? vy : Math.pow(vy, t)), new dl(this.h, this.s, this.l * t, this.opacity); + }, + rgb() { + var t = (this.h % 360) + (this.h < 0) * 360, + e = isNaN(t) || isNaN(this.s) ? 0 : this.s, + r = this.l, + n = r + (r < 0.5 ? r : 1 - r) * e, + i = 2 * r - n; + return new la( + pA(t >= 240 ? t - 240 : t + 120, i, n), + pA(t, i, n), + pA(t < 120 ? t + 240 : t - 120, i, n), + this.opacity + ); + }, + clamp() { + return new dl(jV(this.h), H4(this.s), H4(this.l), W4(this.opacity)); + }, + displayable() { + return ( + ((0 <= this.s && this.s <= 1) || isNaN(this.s)) && + 0 <= this.l && + this.l <= 1 && + 0 <= this.opacity && + this.opacity <= 1 + ); + }, + formatHsl() { + let t = W4(this.opacity); + return `${t === 1 ? 'hsl(' : 'hsla('}${jV(this.h)}, ${H4(this.s) * 100}%, ${H4(this.l) * 100}%${ + t === 1 ? ')' : `, ${t})` + }`; + } + }) + ); + o(jV, 'clamph'); + o(H4, 'clampt'); + o(pA, 'hsl2rgb'); + }); + var ZV, + JV, + eU = R(() => { + 'use strict'; + (ZV = Math.PI / 180), (JV = 180 / Math.PI); + }); + function sU(t) { + if (t instanceof sc) return new sc(t.l, t.a, t.b, t.opacity); + if (t instanceof uu) return oU(t); + t instanceof la || (t = mA(t)); + var e = bA(t.r), + r = bA(t.g), + n = bA(t.b), + i = yA((0.2225045 * e + 0.7168786 * r + 0.0606169 * n) / rU), + a, + s; + return ( + e === r && r === n + ? (a = s = i) + : ((a = yA((0.4360747 * e + 0.3850649 * r + 0.1430804 * n) / tU)), + (s = yA((0.0139322 * e + 0.0971045 * r + 0.7141733 * n) / nU))), + new sc(116 * i - 16, 500 * (a - i), 200 * (i - s), t.opacity) + ); + } + function wA(t, e, r, n) { + return arguments.length === 1 ? sU(t) : new sc(t, e, r, n ?? 1); + } + function sc(t, e, r, n) { + (this.l = +t), (this.a = +e), (this.b = +r), (this.opacity = +n); + } + function yA(t) { + return t > G3e ? Math.pow(t, 1 / 3) : t / aU + iU; + } + function vA(t) { + return t > _p ? t * t * t : aU * (t - iU); + } + function xA(t) { + return 255 * (t <= 0.0031308 ? 12.92 * t : 1.055 * Math.pow(t, 1 / 2.4) - 0.055); + } + function bA(t) { + return (t /= 255) <= 0.04045 ? t / 12.92 : Math.pow((t + 0.055) / 1.055, 2.4); + } + function $3e(t) { + if (t instanceof uu) return new uu(t.h, t.c, t.l, t.opacity); + if ((t instanceof sc || (t = sU(t)), t.a === 0 && t.b === 0)) + return new uu(NaN, 0 < t.l && t.l < 100 ? 0 : NaN, t.l, t.opacity); + var e = Math.atan2(t.b, t.a) * JV; + return new uu(e < 0 ? e + 360 : e, Math.sqrt(t.a * t.a + t.b * t.b), t.l, t.opacity); + } + function by(t, e, r, n) { + return arguments.length === 1 ? $3e(t) : new uu(t, e, r, n ?? 1); + } + function uu(t, e, r, n) { + (this.h = +t), (this.c = +e), (this.l = +r), (this.opacity = +n); + } + function oU(t) { + if (isNaN(t.h)) return new sc(t.l, 0, 0, t.opacity); + var e = t.h * ZV; + return new sc(t.l, Math.cos(e) * t.c, Math.sin(e) * t.c, t.opacity); + } + var q4, + tU, + rU, + nU, + iU, + _p, + aU, + G3e, + lU = R(() => { + 'use strict'; + dA(); + gA(); + eU(); + (q4 = 18), + (tU = 0.96422), + (rU = 1), + (nU = 0.82521), + (iU = 4 / 29), + (_p = 6 / 29), + (aU = 3 * _p * _p), + (G3e = _p * _p * _p); + o(sU, 'labConvert'); + o(wA, 'lab'); + o(sc, 'Lab'); + kh( + sc, + wA, + Cp(Eh, { + brighter(t) { + return new sc(this.l + q4 * (t ?? 1), this.a, this.b, this.opacity); + }, + darker(t) { + return new sc(this.l - q4 * (t ?? 1), this.a, this.b, this.opacity); + }, + rgb() { + var t = (this.l + 16) / 116, + e = isNaN(this.a) ? t : t + this.a / 500, + r = isNaN(this.b) ? t : t - this.b / 200; + return ( + (e = tU * vA(e)), + (t = rU * vA(t)), + (r = nU * vA(r)), + new la( + xA(3.1338561 * e - 1.6168667 * t - 0.4906146 * r), + xA(-0.9787684 * e + 1.9161415 * t + 0.033454 * r), + xA(0.0719453 * e - 0.2289914 * t + 1.4052427 * r), + this.opacity + ) + ); + } + }) + ); + o(yA, 'xyz2lab'); + o(vA, 'lab2xyz'); + o(xA, 'lrgb2rgb'); + o(bA, 'rgb2lrgb'); + o($3e, 'hclConvert'); + o(by, 'hcl'); + o(uu, 'Hcl'); + o(oU, 'hcl2lab'); + kh( + uu, + by, + Cp(Eh, { + brighter(t) { + return new uu(this.h, this.c, this.l + q4 * (t ?? 1), this.opacity); + }, + darker(t) { + return new uu(this.h, this.c, this.l - q4 * (t ?? 1), this.opacity); + }, + rgb() { + return oU(this).rgb(); + } + }) + ); + }); + var Lp = R(() => { + 'use strict'; + gA(); + lU(); + }); + function TA(t, e, r, n, i) { + var a = t * t, + s = a * t; + return ((1 - 3 * t + 3 * a - s) * e + (4 - 6 * a + 3 * s) * r + (1 + 3 * t + 3 * a - 3 * s) * n + s * i) / 6; + } + function kA(t) { + var e = t.length - 1; + return function (r) { + var n = r <= 0 ? (r = 0) : r >= 1 ? ((r = 1), e - 1) : Math.floor(r * e), + i = t[n], + a = t[n + 1], + s = n > 0 ? t[n - 1] : 2 * i - a, + l = n < e - 1 ? t[n + 2] : 2 * a - i; + return TA((r - n / e) * e, s, i, a, l); + }; + } + var EA = R(() => { + 'use strict'; + o(TA, 'basis'); + o(kA, 'default'); + }); + function CA(t) { + var e = t.length; + return function (r) { + var n = Math.floor(((r %= 1) < 0 ? ++r : r) * e), + i = t[(n + e - 1) % e], + a = t[n % e], + s = t[(n + 1) % e], + l = t[(n + 2) % e]; + return TA((r - n / e) * e, i, a, s, l); + }; + } + var cU = R(() => { + 'use strict'; + EA(); + o(CA, 'default'); + }); + var Dp, + SA = R(() => { + 'use strict'; + Dp = o((t) => () => t, 'default'); + }); + function uU(t, e) { + return function (r) { + return t + r * e; + }; + } + function V3e(t, e, r) { + return ( + (t = Math.pow(t, r)), + (e = Math.pow(e, r) - t), + (r = 1 / r), + function (n) { + return Math.pow(t + n * e, r); + } + ); + } + function hU(t, e) { + var r = e - t; + return r ? uU(t, r > 180 || r < -180 ? r - 360 * Math.round(r / 360) : r) : Dp(isNaN(t) ? e : t); + } + function fU(t) { + return (t = +t) == 1 + ? hu + : function (e, r) { + return r - e ? V3e(e, r, t) : Dp(isNaN(e) ? r : e); + }; + } + function hu(t, e) { + var r = e - t; + return r ? uU(t, r) : Dp(isNaN(t) ? e : t); + } + var AA = R(() => { + 'use strict'; + SA(); + o(uU, 'linear'); + o(V3e, 'exponential'); + o(hU, 'hue'); + o(fU, 'gamma'); + o(hu, 'nogamma'); + }); + function dU(t) { + return function (e) { + var r = e.length, + n = new Array(r), + i = new Array(r), + a = new Array(r), + s, + l; + for (s = 0; s < r; ++s) (l = Ap(e[s])), (n[s] = l.r || 0), (i[s] = l.g || 0), (a[s] = l.b || 0); + return ( + (n = t(n)), + (i = t(i)), + (a = t(a)), + (l.opacity = 1), + function (u) { + return (l.r = n(u)), (l.g = i(u)), (l.b = a(u)), l + ''; + } + ); + }; + } + var id, + U3e, + H3e, + _A = R(() => { + 'use strict'; + Lp(); + EA(); + cU(); + AA(); + id = o(function t(e) { + var r = fU(e); + function n(i, a) { + var s = r((i = Ap(i)).r, (a = Ap(a)).r), + l = r(i.g, a.g), + u = r(i.b, a.b), + h = hu(i.opacity, a.opacity); + return function (f) { + return (i.r = s(f)), (i.g = l(f)), (i.b = u(f)), (i.opacity = h(f)), i + ''; + }; + } + return o(n, 'rgb'), (n.gamma = t), n; + }, 'rgbGamma')(1); + o(dU, 'rgbSpline'); + (U3e = dU(kA)), (H3e = dU(CA)); + }); + function LA(t, e) { + e || (e = []); + var r = t ? Math.min(e.length, t.length) : 0, + n = e.slice(), + i; + return function (a) { + for (i = 0; i < r; ++i) n[i] = t[i] * (1 - a) + e[i] * a; + return n; + }; + } + function pU(t) { + return ArrayBuffer.isView(t) && !(t instanceof DataView); + } + var mU = R(() => { + 'use strict'; + o(LA, 'default'); + o(pU, 'isNumberArray'); + }); + function gU(t, e) { + var r = e ? e.length : 0, + n = t ? Math.min(r, t.length) : 0, + i = new Array(n), + a = new Array(r), + s; + for (s = 0; s < n; ++s) i[s] = Ch(t[s], e[s]); + for (; s < r; ++s) a[s] = e[s]; + return function (l) { + for (s = 0; s < n; ++s) a[s] = i[s](l); + return a; + }; + } + var yU = R(() => { + 'use strict'; + X4(); + o(gU, 'genericArray'); + }); + function DA(t, e) { + var r = new Date(); + return ( + (t = +t), + (e = +e), + function (n) { + return r.setTime(t * (1 - n) + e * n), r; + } + ); + } + var vU = R(() => { + 'use strict'; + o(DA, 'default'); + }); + function ji(t, e) { + return ( + (t = +t), + (e = +e), + function (r) { + return t * (1 - r) + e * r; + } + ); + } + var wy = R(() => { + 'use strict'; + o(ji, 'default'); + }); + function RA(t, e) { + var r = {}, + n = {}, + i; + (t === null || typeof t != 'object') && (t = {}), (e === null || typeof e != 'object') && (e = {}); + for (i in e) i in t ? (r[i] = Ch(t[i], e[i])) : (n[i] = e[i]); + return function (a) { + for (i in r) n[i] = r[i](a); + return n; + }; + } + var xU = R(() => { + 'use strict'; + X4(); + o(RA, 'default'); + }); + function Y3e(t) { + return function () { + return t; + }; + } + function W3e(t) { + return function (e) { + return t(e) + ''; + }; + } + function Rp(t, e) { + var r = (MA.lastIndex = NA.lastIndex = 0), + n, + i, + a, + s = -1, + l = [], + u = []; + for (t = t + '', e = e + ''; (n = MA.exec(t)) && (i = NA.exec(e)); ) + (a = i.index) > r && ((a = e.slice(r, a)), l[s] ? (l[s] += a) : (l[++s] = a)), + (n = n[0]) === (i = i[0]) + ? l[s] + ? (l[s] += i) + : (l[++s] = i) + : ((l[++s] = null), u.push({ i: s, x: ji(n, i) })), + (r = NA.lastIndex); + return ( + r < e.length && ((a = e.slice(r)), l[s] ? (l[s] += a) : (l[++s] = a)), + l.length < 2 + ? u[0] + ? W3e(u[0].x) + : Y3e(e) + : ((e = u.length), + function (h) { + for (var f = 0, d; f < e; ++f) l[(d = u[f]).i] = d.x(h); + return l.join(''); + }) + ); + } + var MA, + NA, + IA = R(() => { + 'use strict'; + wy(); + (MA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g), (NA = new RegExp(MA.source, 'g')); + o(Y3e, 'zero'); + o(W3e, 'one'); + o(Rp, 'default'); + }); + function Ch(t, e) { + var r = typeof e, + n; + return e == null || r === 'boolean' + ? Dp(e) + : (r === 'number' + ? ji + : r === 'string' + ? (n = pl(e)) + ? ((e = n), id) + : Rp + : e instanceof pl + ? id + : e instanceof Date + ? DA + : pU(e) + ? LA + : Array.isArray(e) + ? gU + : (typeof e.valueOf != 'function' && typeof e.toString != 'function') || isNaN(e) + ? RA + : ji)(t, e); + } + var X4 = R(() => { + 'use strict'; + Lp(); + _A(); + yU(); + vU(); + wy(); + xU(); + IA(); + SA(); + mU(); + o(Ch, 'default'); + }); + function j4(t, e) { + return ( + (t = +t), + (e = +e), + function (r) { + return Math.round(t * (1 - r) + e * r); + } + ); + } + var bU = R(() => { + 'use strict'; + o(j4, 'default'); + }); + function Q4(t, e, r, n, i, a) { + var s, l, u; + return ( + (s = Math.sqrt(t * t + e * e)) && ((t /= s), (e /= s)), + (u = t * r + e * n) && ((r -= t * u), (n -= e * u)), + (l = Math.sqrt(r * r + n * n)) && ((r /= l), (n /= l), (u /= l)), + t * n < e * r && ((t = -t), (e = -e), (u = -u), (s = -s)), + { + translateX: i, + translateY: a, + rotate: Math.atan2(e, t) * wU, + skewX: Math.atan(u) * wU, + scaleX: s, + scaleY: l + } + ); + } + var wU, + K4, + TU = R(() => { + 'use strict'; + (wU = 180 / Math.PI), + (K4 = { + translateX: 0, + translateY: 0, + rotate: 0, + skewX: 0, + scaleX: 1, + scaleY: 1 + }); + o(Q4, 'default'); + }); + function kU(t) { + let e = new (typeof DOMMatrix == 'function' ? DOMMatrix : WebKitCSSMatrix)(t + ''); + return e.isIdentity ? K4 : Q4(e.a, e.b, e.c, e.d, e.e, e.f); + } + function EU(t) { + return t == null + ? K4 + : (Z4 || (Z4 = document.createElementNS('http://www.w3.org/2000/svg', 'g')), + Z4.setAttribute('transform', t), + (t = Z4.transform.baseVal.consolidate()) ? ((t = t.matrix), Q4(t.a, t.b, t.c, t.d, t.e, t.f)) : K4); + } + var Z4, + CU = R(() => { + 'use strict'; + TU(); + o(kU, 'parseCss'); + o(EU, 'parseSvg'); + }); + function SU(t, e, r, n) { + function i(h) { + return h.length ? h.pop() + ' ' : ''; + } + o(i, 'pop'); + function a(h, f, d, p, m, g) { + if (h !== d || f !== p) { + var y = m.push('translate(', null, e, null, r); + g.push({ i: y - 4, x: ji(h, d) }, { i: y - 2, x: ji(f, p) }); + } else (d || p) && m.push('translate(' + d + e + p + r); + } + o(a, 'translate'); + function s(h, f, d, p) { + h !== f + ? (h - f > 180 ? (f += 360) : f - h > 180 && (h += 360), + p.push({ i: d.push(i(d) + 'rotate(', null, n) - 2, x: ji(h, f) })) + : f && d.push(i(d) + 'rotate(' + f + n); + } + o(s, 'rotate'); + function l(h, f, d, p) { + h !== f + ? p.push({ i: d.push(i(d) + 'skewX(', null, n) - 2, x: ji(h, f) }) + : f && d.push(i(d) + 'skewX(' + f + n); + } + o(l, 'skewX'); + function u(h, f, d, p, m, g) { + if (h !== d || f !== p) { + var y = m.push(i(m) + 'scale(', null, ',', null, ')'); + g.push({ i: y - 4, x: ji(h, d) }, { i: y - 2, x: ji(f, p) }); + } else (d !== 1 || p !== 1) && m.push(i(m) + 'scale(' + d + ',' + p + ')'); + } + return ( + o(u, 'scale'), + function (h, f) { + var d = [], + p = []; + return ( + (h = t(h)), + (f = t(f)), + a(h.translateX, h.translateY, f.translateX, f.translateY, d, p), + s(h.rotate, f.rotate, d, p), + l(h.skewX, f.skewX, d, p), + u(h.scaleX, h.scaleY, f.scaleX, f.scaleY, d, p), + (h = f = null), + function (m) { + for (var g = -1, y = p.length, v; ++g < y; ) d[(v = p[g]).i] = v.x(m); + return d.join(''); + } + ); + } + ); + } + var OA, + PA, + AU = R(() => { + 'use strict'; + wy(); + CU(); + o(SU, 'interpolateTransform'); + (OA = SU(kU, 'px, ', 'px)', 'deg)')), (PA = SU(EU, ', ', ')', ')')); + }); + function _U(t) { + return function (e, r) { + var n = t((e = by(e)).h, (r = by(r)).h), + i = hu(e.c, r.c), + a = hu(e.l, r.l), + s = hu(e.opacity, r.opacity); + return function (l) { + return (e.h = n(l)), (e.c = i(l)), (e.l = a(l)), (e.opacity = s(l)), e + ''; + }; + }; + } + var BA, + q3e, + LU = R(() => { + 'use strict'; + Lp(); + AA(); + o(_U, 'hcl'); + (BA = _U(hU)), (q3e = _U(hu)); + }); + var Np = R(() => { + 'use strict'; + X4(); + wy(); + bU(); + IA(); + AU(); + _A(); + LU(); + }); + function Ay() { + return ad || (NU(X3e), (ad = Cy.now() + t3)); + } + function X3e() { + ad = 0; + } + function Sy() { + this._call = this._time = this._next = null; + } + function r3(t, e, r) { + var n = new Sy(); + return n.restart(t, e, r), n; + } + function MU() { + Ay(), ++Mp; + for (var t = J4, e; t; ) (e = ad - t._time) >= 0 && t._call.call(void 0, e), (t = t._next); + --Mp; + } + function DU() { + (ad = (e3 = Cy.now()) + t3), (Mp = ky = 0); + try { + MU(); + } finally { + (Mp = 0), K3e(), (ad = 0); + } + } + function j3e() { + var t = Cy.now(), + e = t - e3; + e > RU && ((t3 -= e), (e3 = t)); + } + function K3e() { + for (var t, e = J4, r, n = 1 / 0; e; ) + e._call + ? (n > e._time && (n = e._time), (t = e), (e = e._next)) + : ((r = e._next), (e._next = null), (e = t ? (t._next = r) : (J4 = r))); + (Ey = t), FA(n); + } + function FA(t) { + if (!Mp) { + ky && (ky = clearTimeout(ky)); + var e = t - ad; + e > 24 + ? (t < 1 / 0 && (ky = setTimeout(DU, t - Cy.now() - t3)), Ty && (Ty = clearInterval(Ty))) + : (Ty || ((e3 = Cy.now()), (Ty = setInterval(j3e, RU))), (Mp = 1), NU(DU)); + } + } + var Mp, + ky, + Ty, + RU, + J4, + Ey, + e3, + ad, + t3, + Cy, + NU, + zA = R(() => { + 'use strict'; + (Mp = 0), + (ky = 0), + (Ty = 0), + (RU = 1e3), + (e3 = 0), + (ad = 0), + (t3 = 0), + (Cy = typeof performance == 'object' && performance.now ? performance : Date), + (NU = + typeof window == 'object' && window.requestAnimationFrame + ? window.requestAnimationFrame.bind(window) + : function (t) { + setTimeout(t, 17); + }); + o(Ay, 'now'); + o(X3e, 'clearNow'); + o(Sy, 'Timer'); + Sy.prototype = r3.prototype = { + constructor: Sy, + restart: o(function (t, e, r) { + if (typeof t != 'function') throw new TypeError('callback is not a function'); + (r = (r == null ? Ay() : +r) + (e == null ? 0 : +e)), + !this._next && Ey !== this && (Ey ? (Ey._next = this) : (J4 = this), (Ey = this)), + (this._call = t), + (this._time = r), + FA(); + }, 'restart'), + stop: o(function () { + this._call && ((this._call = null), (this._time = 1 / 0), FA()); + }, 'stop') + }; + o(r3, 'timer'); + o(MU, 'timerFlush'); + o(DU, 'wake'); + o(j3e, 'poke'); + o(K3e, 'nap'); + o(FA, 'sleep'); + }); + function _y(t, e, r) { + var n = new Sy(); + return ( + (e = e == null ? 0 : +e), + n.restart( + (i) => { + n.stop(), t(i + e); + }, + e, + r + ), + n + ); + } + var IU = R(() => { + 'use strict'; + zA(); + o(_y, 'default'); + }); + var n3 = R(() => { + 'use strict'; + zA(); + IU(); + }); + function fu(t, e, r, n, i, a) { + var s = t.__transition; + if (!s) t.__transition = {}; + else if (r in s) return; + J3e(t, r, { + name: e, + index: n, + group: i, + on: Q3e, + tween: Z3e, + time: a.time, + delay: a.delay, + duration: a.duration, + ease: a.ease, + timer: null, + state: BU + }); + } + function Dy(t, e) { + var r = Mi(t, e); + if (r.state > BU) throw new Error('too late; already scheduled'); + return r; + } + function ca(t, e) { + var r = Mi(t, e); + if (r.state > i3) throw new Error('too late; already running'); + return r; + } + function Mi(t, e) { + var r = t.__transition; + if (!r || !(r = r[e])) throw new Error('transition not found'); + return r; + } + function J3e(t, e, r) { + var n = t.__transition, + i; + (n[e] = r), (r.timer = r3(a, 0, r.time)); + function a(h) { + (r.state = OU), r.timer.restart(s, r.delay, r.time), r.delay <= h && s(h - r.delay); + } + o(a, 'schedule'); + function s(h) { + var f, d, p, m; + if (r.state !== OU) return u(); + for (f in n) + if (((m = n[f]), m.name === r.name)) { + if (m.state === i3) return _y(s); + m.state === PU + ? ((m.state = Ly), + m.timer.stop(), + m.on.call('interrupt', t, t.__data__, m.index, m.group), + delete n[f]) + : +f < e && + ((m.state = Ly), + m.timer.stop(), + m.on.call('cancel', t, t.__data__, m.index, m.group), + delete n[f]); + } + if ( + (_y(function () { + r.state === i3 && ((r.state = PU), r.timer.restart(l, r.delay, r.time), l(h)); + }), + (r.state = a3), + r.on.call('start', t, t.__data__, r.index, r.group), + r.state === a3) + ) { + for (r.state = i3, i = new Array((p = r.tween.length)), f = 0, d = -1; f < p; ++f) + (m = r.tween[f].value.call(t, t.__data__, r.index, r.group)) && (i[++d] = m); + i.length = d + 1; + } + } + o(s, 'start'); + function l(h) { + for ( + var f = h < r.duration ? r.ease.call(null, h / r.duration) : (r.timer.restart(u), (r.state = s3), 1), + d = -1, + p = i.length; + ++d < p; + + ) + i[d].call(t, f); + r.state === s3 && (r.on.call('end', t, t.__data__, r.index, r.group), u()); + } + o(l, 'tick'); + function u() { + (r.state = Ly), r.timer.stop(), delete n[e]; + for (var h in n) return; + delete t.__transition; + } + o(u, 'stop'); + } + var Q3e, + Z3e, + BU, + OU, + a3, + i3, + PU, + s3, + Ly, + ys = R(() => { + 'use strict'; + bS(); + n3(); + (Q3e = xS('start', 'end', 'cancel', 'interrupt')), + (Z3e = []), + (BU = 0), + (OU = 1), + (a3 = 2), + (i3 = 3), + (PU = 4), + (s3 = 5), + (Ly = 6); + o(fu, 'default'); + o(Dy, 'init'); + o(ca, 'set'); + o(Mi, 'get'); + o(J3e, 'create'); + }); + function Ry(t, e) { + var r = t.__transition, + n, + i, + a = !0, + s; + if (r) { + e = e == null ? null : e + ''; + for (s in r) { + if ((n = r[s]).name !== e) { + a = !1; + continue; + } + (i = n.state > a3 && n.state < s3), + (n.state = Ly), + n.timer.stop(), + n.on.call(i ? 'interrupt' : 'cancel', t, t.__data__, n.index, n.group), + delete r[s]; + } + a && delete t.__transition; + } + } + var FU = R(() => { + 'use strict'; + ys(); + o(Ry, 'default'); + }); + function GA(t) { + return this.each(function () { + Ry(this, t); + }); + } + var zU = R(() => { + 'use strict'; + FU(); + o(GA, 'default'); + }); + function e5e(t, e) { + var r, n; + return function () { + var i = ca(this, t), + a = i.tween; + if (a !== r) { + n = r = a; + for (var s = 0, l = n.length; s < l; ++s) + if (n[s].name === e) { + (n = n.slice()), n.splice(s, 1); + break; + } + } + i.tween = n; + }; + } + function t5e(t, e, r) { + var n, i; + if (typeof r != 'function') throw new Error(); + return function () { + var a = ca(this, t), + s = a.tween; + if (s !== n) { + i = (n = s).slice(); + for (var l = { name: e, value: r }, u = 0, h = i.length; u < h; ++u) + if (i[u].name === e) { + i[u] = l; + break; + } + u === h && i.push(l); + } + a.tween = i; + }; + } + function $A(t, e) { + var r = this._id; + if (((t += ''), arguments.length < 2)) { + for (var n = Mi(this.node(), r).tween, i = 0, a = n.length, s; i < a; ++i) + if ((s = n[i]).name === t) return s.value; + return null; + } + return this.each((e == null ? e5e : t5e)(r, t, e)); + } + function Ip(t, e, r) { + var n = t._id; + return ( + t.each(function () { + var i = ca(this, n); + (i.value || (i.value = {}))[e] = r.apply(this, arguments); + }), + function (i) { + return Mi(i, n).value[e]; + } + ); + } + var Ny = R(() => { + 'use strict'; + ys(); + o(e5e, 'tweenRemove'); + o(t5e, 'tweenFunction'); + o($A, 'default'); + o(Ip, 'tweenValue'); + }); + function My(t, e) { + var r; + return (typeof e == 'number' ? ji : e instanceof pl ? id : (r = pl(e)) ? ((e = r), id) : Rp)(t, e); + } + var VA = R(() => { + 'use strict'; + Lp(); + Np(); + o(My, 'default'); + }); + function r5e(t) { + return function () { + this.removeAttribute(t); + }; + } + function n5e(t) { + return function () { + this.removeAttributeNS(t.space, t.local); + }; + } + function i5e(t, e, r) { + var n, + i = r + '', + a; + return function () { + var s = this.getAttribute(t); + return s === i ? null : s === n ? a : (a = e((n = s), r)); + }; + } + function a5e(t, e, r) { + var n, + i = r + '', + a; + return function () { + var s = this.getAttributeNS(t.space, t.local); + return s === i ? null : s === n ? a : (a = e((n = s), r)); + }; + } + function s5e(t, e, r) { + var n, i, a; + return function () { + var s, + l = r(this), + u; + return l == null + ? void this.removeAttribute(t) + : ((s = this.getAttribute(t)), + (u = l + ''), + s === u ? null : s === n && u === i ? a : ((i = u), (a = e((n = s), l)))); + }; + } + function o5e(t, e, r) { + var n, i, a; + return function () { + var s, + l = r(this), + u; + return l == null + ? void this.removeAttributeNS(t.space, t.local) + : ((s = this.getAttributeNS(t.space, t.local)), + (u = l + ''), + s === u ? null : s === n && u === i ? a : ((i = u), (a = e((n = s), l)))); + }; + } + function UA(t, e) { + var r = ic(t), + n = r === 'transform' ? PA : My; + return this.attrTween( + t, + typeof e == 'function' + ? (r.local ? o5e : s5e)(r, n, Ip(this, 'attr.' + t, e)) + : e == null + ? (r.local ? n5e : r5e)(r) + : (r.local ? a5e : i5e)(r, n, e) + ); + } + var GU = R(() => { + 'use strict'; + Np(); + fl(); + Ny(); + VA(); + o(r5e, 'attrRemove'); + o(n5e, 'attrRemoveNS'); + o(i5e, 'attrConstant'); + o(a5e, 'attrConstantNS'); + o(s5e, 'attrFunction'); + o(o5e, 'attrFunctionNS'); + o(UA, 'default'); + }); + function l5e(t, e) { + return function (r) { + this.setAttribute(t, e.call(this, r)); + }; + } + function c5e(t, e) { + return function (r) { + this.setAttributeNS(t.space, t.local, e.call(this, r)); + }; + } + function u5e(t, e) { + var r, n; + function i() { + var a = e.apply(this, arguments); + return a !== n && (r = (n = a) && c5e(t, a)), r; + } + return o(i, 'tween'), (i._value = e), i; + } + function h5e(t, e) { + var r, n; + function i() { + var a = e.apply(this, arguments); + return a !== n && (r = (n = a) && l5e(t, a)), r; + } + return o(i, 'tween'), (i._value = e), i; + } + function HA(t, e) { + var r = 'attr.' + t; + if (arguments.length < 2) return (r = this.tween(r)) && r._value; + if (e == null) return this.tween(r, null); + if (typeof e != 'function') throw new Error(); + var n = ic(t); + return this.tween(r, (n.local ? u5e : h5e)(n, e)); + } + var $U = R(() => { + 'use strict'; + fl(); + o(l5e, 'attrInterpolate'); + o(c5e, 'attrInterpolateNS'); + o(u5e, 'attrTweenNS'); + o(h5e, 'attrTween'); + o(HA, 'default'); + }); + function f5e(t, e) { + return function () { + Dy(this, t).delay = +e.apply(this, arguments); + }; + } + function d5e(t, e) { + return ( + (e = +e), + function () { + Dy(this, t).delay = e; + } + ); + } + function YA(t) { + var e = this._id; + return arguments.length ? this.each((typeof t == 'function' ? f5e : d5e)(e, t)) : Mi(this.node(), e).delay; + } + var VU = R(() => { + 'use strict'; + ys(); + o(f5e, 'delayFunction'); + o(d5e, 'delayConstant'); + o(YA, 'default'); + }); + function p5e(t, e) { + return function () { + ca(this, t).duration = +e.apply(this, arguments); + }; + } + function m5e(t, e) { + return ( + (e = +e), + function () { + ca(this, t).duration = e; + } + ); + } + function WA(t) { + var e = this._id; + return arguments.length ? this.each((typeof t == 'function' ? p5e : m5e)(e, t)) : Mi(this.node(), e).duration; + } + var UU = R(() => { + 'use strict'; + ys(); + o(p5e, 'durationFunction'); + o(m5e, 'durationConstant'); + o(WA, 'default'); + }); + function g5e(t, e) { + if (typeof e != 'function') throw new Error(); + return function () { + ca(this, t).ease = e; + }; + } + function qA(t) { + var e = this._id; + return arguments.length ? this.each(g5e(e, t)) : Mi(this.node(), e).ease; + } + var HU = R(() => { + 'use strict'; + ys(); + o(g5e, 'easeConstant'); + o(qA, 'default'); + }); + function y5e(t, e) { + return function () { + var r = e.apply(this, arguments); + if (typeof r != 'function') throw new Error(); + ca(this, t).ease = r; + }; + } + function XA(t) { + if (typeof t != 'function') throw new Error(); + return this.each(y5e(this._id, t)); + } + var YU = R(() => { + 'use strict'; + ys(); + o(y5e, 'easeVarying'); + o(XA, 'default'); + }); + function jA(t) { + typeof t != 'function' && (t = Ep(t)); + for (var e = this._groups, r = e.length, n = new Array(r), i = 0; i < r; ++i) + for (var a = e[i], s = a.length, l = (n[i] = []), u, h = 0; h < s; ++h) + (u = a[h]) && t.call(u, u.__data__, h, a) && l.push(u); + return new Ka(n, this._parents, this._name, this._id); + } + var WU = R(() => { + 'use strict'; + fl(); + sd(); + o(jA, 'default'); + }); + function KA(t) { + if (t._id !== this._id) throw new Error(); + for ( + var e = this._groups, + r = t._groups, + n = e.length, + i = r.length, + a = Math.min(n, i), + s = new Array(n), + l = 0; + l < a; + ++l + ) + for (var u = e[l], h = r[l], f = u.length, d = (s[l] = new Array(f)), p, m = 0; m < f; ++m) + (p = u[m] || h[m]) && (d[m] = p); + for (; l < n; ++l) s[l] = e[l]; + return new Ka(s, this._parents, this._name, this._id); + } + var qU = R(() => { + 'use strict'; + sd(); + o(KA, 'default'); + }); + function v5e(t) { + return (t + '') + .trim() + .split(/^|\s+/) + .every(function (e) { + var r = e.indexOf('.'); + return r >= 0 && (e = e.slice(0, r)), !e || e === 'start'; + }); + } + function x5e(t, e, r) { + var n, + i, + a = v5e(e) ? Dy : ca; + return function () { + var s = a(this, t), + l = s.on; + l !== n && (i = (n = l).copy()).on(e, r), (s.on = i); + }; + } + function QA(t, e) { + var r = this._id; + return arguments.length < 2 ? Mi(this.node(), r).on.on(t) : this.each(x5e(r, t, e)); + } + var XU = R(() => { + 'use strict'; + ys(); + o(v5e, 'start'); + o(x5e, 'onFunction'); + o(QA, 'default'); + }); + function b5e(t) { + return function () { + var e = this.parentNode; + for (var r in this.__transition) if (+r !== t) return; + e && e.removeChild(this); + }; + } + function ZA() { + return this.on('end.remove', b5e(this._id)); + } + var jU = R(() => { + 'use strict'; + o(b5e, 'removeFunction'); + o(ZA, 'default'); + }); + function JA(t) { + var e = this._name, + r = this._id; + typeof t != 'function' && (t = wh(t)); + for (var n = this._groups, i = n.length, a = new Array(i), s = 0; s < i; ++s) + for (var l = n[s], u = l.length, h = (a[s] = new Array(u)), f, d, p = 0; p < u; ++p) + (f = l[p]) && + (d = t.call(f, f.__data__, p, l)) && + ('__data__' in f && (d.__data__ = f.__data__), (h[p] = d), fu(h[p], e, r, p, h, Mi(f, r))); + return new Ka(a, this._parents, e, r); + } + var KU = R(() => { + 'use strict'; + fl(); + sd(); + ys(); + o(JA, 'default'); + }); + function e8(t) { + var e = this._name, + r = this._id; + typeof t != 'function' && (t = kp(t)); + for (var n = this._groups, i = n.length, a = [], s = [], l = 0; l < i; ++l) + for (var u = n[l], h = u.length, f, d = 0; d < h; ++d) + if ((f = u[d])) { + for (var p = t.call(f, f.__data__, d, u), m, g = Mi(f, r), y = 0, v = p.length; y < v; ++y) + (m = p[y]) && fu(m, e, r, y, p, g); + a.push(p), s.push(f); + } + return new Ka(a, s, e, r); + } + var QU = R(() => { + 'use strict'; + fl(); + sd(); + ys(); + o(e8, 'default'); + }); + function t8() { + return new w5e(this._groups, this._parents); + } + var w5e, + ZU = R(() => { + 'use strict'; + fl(); + w5e = cu.prototype.constructor; + o(t8, 'default'); + }); + function T5e(t, e) { + var r, n, i; + return function () { + var a = Th(this, t), + s = (this.style.removeProperty(t), Th(this, t)); + return a === s ? null : a === r && s === n ? i : (i = e((r = a), (n = s))); + }; + } + function JU(t) { + return function () { + this.style.removeProperty(t); + }; + } + function k5e(t, e, r) { + var n, + i = r + '', + a; + return function () { + var s = Th(this, t); + return s === i ? null : s === n ? a : (a = e((n = s), r)); + }; + } + function E5e(t, e, r) { + var n, i, a; + return function () { + var s = Th(this, t), + l = r(this), + u = l + ''; + return ( + l == null && (u = l = (this.style.removeProperty(t), Th(this, t))), + s === u ? null : s === n && u === i ? a : ((i = u), (a = e((n = s), l))) + ); + }; + } + function C5e(t, e) { + var r, + n, + i, + a = 'style.' + e, + s = 'end.' + a, + l; + return function () { + var u = ca(this, t), + h = u.on, + f = u.value[a] == null ? l || (l = JU(e)) : void 0; + (h !== r || i !== f) && (n = (r = h).copy()).on(s, (i = f)), (u.on = n); + }; + } + function r8(t, e, r) { + var n = (t += '') == 'transform' ? OA : My; + return e == null + ? this.styleTween(t, T5e(t, n)).on('end.style.' + t, JU(t)) + : typeof e == 'function' + ? this.styleTween(t, E5e(t, n, Ip(this, 'style.' + t, e))).each(C5e(this._id, t)) + : this.styleTween(t, k5e(t, n, e), r).on('end.style.' + t, null); + } + var eH = R(() => { + 'use strict'; + Np(); + fl(); + ys(); + Ny(); + VA(); + o(T5e, 'styleNull'); + o(JU, 'styleRemove'); + o(k5e, 'styleConstant'); + o(E5e, 'styleFunction'); + o(C5e, 'styleMaybeRemove'); + o(r8, 'default'); + }); + function S5e(t, e, r) { + return function (n) { + this.style.setProperty(t, e.call(this, n), r); + }; + } + function A5e(t, e, r) { + var n, i; + function a() { + var s = e.apply(this, arguments); + return s !== i && (n = (i = s) && S5e(t, s, r)), n; + } + return o(a, 'tween'), (a._value = e), a; + } + function n8(t, e, r) { + var n = 'style.' + (t += ''); + if (arguments.length < 2) return (n = this.tween(n)) && n._value; + if (e == null) return this.tween(n, null); + if (typeof e != 'function') throw new Error(); + return this.tween(n, A5e(t, e, r ?? '')); + } + var tH = R(() => { + 'use strict'; + o(S5e, 'styleInterpolate'); + o(A5e, 'styleTween'); + o(n8, 'default'); + }); + function _5e(t) { + return function () { + this.textContent = t; + }; + } + function L5e(t) { + return function () { + var e = t(this); + this.textContent = e ?? ''; + }; + } + function i8(t) { + return this.tween('text', typeof t == 'function' ? L5e(Ip(this, 'text', t)) : _5e(t == null ? '' : t + '')); + } + var rH = R(() => { + 'use strict'; + Ny(); + o(_5e, 'textConstant'); + o(L5e, 'textFunction'); + o(i8, 'default'); + }); + function D5e(t) { + return function (e) { + this.textContent = t.call(this, e); + }; + } + function R5e(t) { + var e, r; + function n() { + var i = t.apply(this, arguments); + return i !== r && (e = (r = i) && D5e(i)), e; + } + return o(n, 'tween'), (n._value = t), n; + } + function a8(t) { + var e = 'text'; + if (arguments.length < 1) return (e = this.tween(e)) && e._value; + if (t == null) return this.tween(e, null); + if (typeof t != 'function') throw new Error(); + return this.tween(e, R5e(t)); + } + var nH = R(() => { + 'use strict'; + o(D5e, 'textInterpolate'); + o(R5e, 'textTween'); + o(a8, 'default'); + }); + function s8() { + for (var t = this._name, e = this._id, r = o3(), n = this._groups, i = n.length, a = 0; a < i; ++a) + for (var s = n[a], l = s.length, u, h = 0; h < l; ++h) + if ((u = s[h])) { + var f = Mi(u, e); + fu(u, t, r, h, s, { + time: f.time + f.delay + f.duration, + delay: 0, + duration: f.duration, + ease: f.ease + }); + } + return new Ka(n, this._parents, t, r); + } + var iH = R(() => { + 'use strict'; + sd(); + ys(); + o(s8, 'default'); + }); + function o8() { + var t, + e, + r = this, + n = r._id, + i = r.size(); + return new Promise(function (a, s) { + var l = { value: s }, + u = { + value: o(function () { + --i === 0 && a(); + }, 'value') + }; + r.each(function () { + var h = ca(this, n), + f = h.on; + f !== t && ((e = (t = f).copy()), e._.cancel.push(l), e._.interrupt.push(l), e._.end.push(u)), + (h.on = e); + }), + i === 0 && a(); + }); + } + var aH = R(() => { + 'use strict'; + ys(); + o(o8, 'default'); + }); + function Ka(t, e, r, n) { + (this._groups = t), (this._parents = e), (this._name = r), (this._id = n); + } + function sH(t) { + return cu().transition(t); + } + function o3() { + return ++N5e; + } + var N5e, + du, + sd = R(() => { + 'use strict'; + fl(); + GU(); + $U(); + VU(); + UU(); + HU(); + YU(); + WU(); + qU(); + XU(); + jU(); + KU(); + QU(); + ZU(); + eH(); + tH(); + rH(); + nH(); + iH(); + Ny(); + aH(); + N5e = 0; + o(Ka, 'Transition'); + o(sH, 'transition'); + o(o3, 'newId'); + du = cu.prototype; + Ka.prototype = sH.prototype = { + constructor: Ka, + select: JA, + selectAll: e8, + selectChild: du.selectChild, + selectChildren: du.selectChildren, + filter: jA, + merge: KA, + selection: t8, + transition: s8, + call: du.call, + nodes: du.nodes, + node: du.node, + size: du.size, + empty: du.empty, + each: du.each, + on: QA, + attr: UA, + attrTween: HA, + style: r8, + styleTween: n8, + text: i8, + textTween: a8, + remove: ZA, + tween: $A, + delay: YA, + duration: WA, + ease: qA, + easeVarying: XA, + end: o8, + [Symbol.iterator]: du[Symbol.iterator] + }; + }); + function l3(t) { + return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2; + } + var oH = R(() => { + 'use strict'; + o(l3, 'cubicInOut'); + }); + var l8 = R(() => { + 'use strict'; + oH(); + }); + function I5e(t, e) { + for (var r; !(r = t.__transition) || !(r = r[e]); ) + if (!(t = t.parentNode)) throw new Error(`transition ${e} not found`); + return r; + } + function c8(t) { + var e, r; + t instanceof Ka + ? ((e = t._id), (t = t._name)) + : ((e = o3()), ((r = M5e).time = Ay()), (t = t == null ? null : t + '')); + for (var n = this._groups, i = n.length, a = 0; a < i; ++a) + for (var s = n[a], l = s.length, u, h = 0; h < l; ++h) (u = s[h]) && fu(u, t, e, h, s, r || I5e(u, e)); + return new Ka(n, this._parents, t, e); + } + var M5e, + lH = R(() => { + 'use strict'; + sd(); + ys(); + l8(); + n3(); + M5e = { time: null, delay: 0, duration: 250, ease: l3 }; + o(I5e, 'inherit'); + o(c8, 'default'); + }); + var cH = R(() => { + 'use strict'; + fl(); + zU(); + lH(); + cu.prototype.interrupt = GA; + cu.prototype.transition = c8; + }); + var c3 = R(() => { + 'use strict'; + cH(); + }); + var uH = R(() => { + 'use strict'; + }); + var hH = R(() => { + 'use strict'; + }); + var fH = R(() => { + 'use strict'; + }); + function dH(t) { + return [+t[0], +t[1]]; + } + function O5e(t) { + return [dH(t[0]), dH(t[1])]; + } + function u8(t) { + return { type: t }; + } + var Kpt, + Qpt, + Zpt, + Jpt, + emt, + tmt, + pH = R(() => { + 'use strict'; + c3(); + uH(); + hH(); + fH(); + ({ abs: Kpt, max: Qpt, min: Zpt } = Math); + o(dH, 'number1'); + o(O5e, 'number2'); + (Jpt = { + name: 'x', + handles: ['w', 'e'].map(u8), + input: o(function (t, e) { + return t == null + ? null + : [ + [+t[0], e[0][1]], + [+t[1], e[1][1]] + ]; + }, 'input'), + output: o(function (t) { + return t && [t[0][0], t[1][0]]; + }, 'output') + }), + (emt = { + name: 'y', + handles: ['n', 's'].map(u8), + input: o(function (t, e) { + return t == null + ? null + : [ + [e[0][0], +t[0]], + [e[1][0], +t[1]] + ]; + }, 'input'), + output: o(function (t) { + return t && [t[0][1], t[1][1]]; + }, 'output') + }), + (tmt = { + name: 'xy', + handles: ['n', 'w', 'e', 's', 'nw', 'ne', 'sw', 'se'].map(u8), + input: o(function (t) { + return t == null ? null : O5e(t); + }, 'input'), + output: o(function (t) { + return t; + }, 'output') + }); + o(u8, 'type'); + }); + var mH = R(() => { + 'use strict'; + pH(); + }); + function gH(t) { + this._ += t[0]; + for (let e = 1, r = t.length; e < r; ++e) this._ += arguments[e] + t[e]; + } + function B5e(t) { + let e = Math.floor(t); + if (!(e >= 0)) throw new Error(`invalid digits: ${t}`); + if (e > 15) return gH; + let r = 10 ** e; + return function (n) { + this._ += n[0]; + for (let i = 1, a = n.length; i < a; ++i) this._ += Math.round(arguments[i] * r) / r + n[i]; + }; + } + function yH() { + return new ld(); + } + var h8, + f8, + od, + P5e, + ld, + vH = R(() => { + 'use strict'; + (h8 = Math.PI), (f8 = 2 * h8), (od = 1e-6), (P5e = f8 - od); + o(gH, 'append'); + o(B5e, 'appendRound'); + ld = class { + static { + o(this, 'Path'); + } + constructor(e) { + (this._x0 = this._y0 = this._x1 = this._y1 = null), + (this._ = ''), + (this._append = e == null ? gH : B5e(e)); + } + moveTo(e, r) { + this._append`M${(this._x0 = this._x1 = +e)},${(this._y0 = this._y1 = +r)}`; + } + closePath() { + this._x1 !== null && ((this._x1 = this._x0), (this._y1 = this._y0), this._append`Z`); + } + lineTo(e, r) { + this._append`L${(this._x1 = +e)},${(this._y1 = +r)}`; + } + quadraticCurveTo(e, r, n, i) { + this._append`Q${+e},${+r},${(this._x1 = +n)},${(this._y1 = +i)}`; + } + bezierCurveTo(e, r, n, i, a, s) { + this._append`C${+e},${+r},${+n},${+i},${(this._x1 = +a)},${(this._y1 = +s)}`; + } + arcTo(e, r, n, i, a) { + if (((e = +e), (r = +r), (n = +n), (i = +i), (a = +a), a < 0)) + throw new Error(`negative radius: ${a}`); + let s = this._x1, + l = this._y1, + u = n - e, + h = i - r, + f = s - e, + d = l - r, + p = f * f + d * d; + if (this._x1 === null) this._append`M${(this._x1 = e)},${(this._y1 = r)}`; + else if (p > od) + if (!(Math.abs(d * u - h * f) > od) || !a) this._append`L${(this._x1 = e)},${(this._y1 = r)}`; + else { + let m = n - s, + g = i - l, + y = u * u + h * h, + v = m * m + g * g, + x = Math.sqrt(y), + b = Math.sqrt(p), + w = a * Math.tan((h8 - Math.acos((y + p - v) / (2 * x * b))) / 2), + S = w / b, + T = w / x; + Math.abs(S - 1) > od && this._append`L${e + S * f},${r + S * d}`, + this._append`A${a},${a},0,0,${+(d * m > f * g)},${(this._x1 = e + T * u)},${(this._y1 = + r + T * h)}`; + } + } + arc(e, r, n, i, a, s) { + if (((e = +e), (r = +r), (n = +n), (s = !!s), n < 0)) throw new Error(`negative radius: ${n}`); + let l = n * Math.cos(i), + u = n * Math.sin(i), + h = e + l, + f = r + u, + d = 1 ^ s, + p = s ? i - a : a - i; + this._x1 === null + ? this._append`M${h},${f}` + : (Math.abs(this._x1 - h) > od || Math.abs(this._y1 - f) > od) && this._append`L${h},${f}`, + n && + (p < 0 && (p = (p % f8) + f8), + p > P5e + ? this._append`A${n},${n},0,1,${d},${e - l},${r - u}A${n},${n},0,1,${d},${(this._x1 = + h)},${(this._y1 = f)}` + : p > od && + this._append`A${n},${n},0,${+(p >= h8)},${d},${(this._x1 = + e + n * Math.cos(a))},${(this._y1 = r + n * Math.sin(a))}`); + } + rect(e, r, n, i) { + this._append`M${(this._x0 = this._x1 = +e)},${(this._y0 = this._y1 = +r)}h${(n = +n)}v${+i}h${-n}Z`; + } + toString() { + return this._; + } + }; + o(yH, 'path'); + yH.prototype = ld.prototype; + }); + var d8 = R(() => { + 'use strict'; + vH(); + }); + var xH = R(() => { + 'use strict'; + }); + var bH = R(() => { + 'use strict'; + }); + var wH = R(() => { + 'use strict'; + }); + var TH = R(() => { + 'use strict'; + }); + var kH = R(() => { + 'use strict'; + }); + var EH = R(() => { + 'use strict'; + }); + var CH = R(() => { + 'use strict'; + }); + function p8(t) { + return Math.abs((t = Math.round(t))) >= 1e21 ? t.toLocaleString('en').replace(/,/g, '') : t.toString(10); + } + function cd(t, e) { + if ((r = (t = e ? t.toExponential(e - 1) : t.toExponential()).indexOf('e')) < 0) return null; + var r, + n = t.slice(0, r); + return [n.length > 1 ? n[0] + n.slice(2) : n, +t.slice(r + 1)]; + } + var Iy = R(() => { + 'use strict'; + o(p8, 'default'); + o(cd, 'formatDecimalParts'); + }); + function ml(t) { + return (t = cd(Math.abs(t))), t ? t[1] : NaN; + } + var Oy = R(() => { + 'use strict'; + Iy(); + o(ml, 'default'); + }); + function m8(t, e) { + return function (r, n) { + for ( + var i = r.length, a = [], s = 0, l = t[0], u = 0; + i > 0 && + l > 0 && + (u + l + 1 > n && (l = Math.max(1, n - u)), a.push(r.substring((i -= l), i + l)), !((u += l + 1) > n)); + + ) + l = t[(s = (s + 1) % t.length)]; + return a.reverse().join(e); + }; + } + var SH = R(() => { + 'use strict'; + o(m8, 'default'); + }); + function g8(t) { + return function (e) { + return e.replace(/[0-9]/g, function (r) { + return t[+r]; + }); + }; + } + var AH = R(() => { + 'use strict'; + o(g8, 'default'); + }); + function Sh(t) { + if (!(e = F5e.exec(t))) throw new Error('invalid format: ' + t); + var e; + return new u3({ + fill: e[1], + align: e[2], + sign: e[3], + symbol: e[4], + zero: e[5], + width: e[6], + comma: e[7], + precision: e[8] && e[8].slice(1), + trim: e[9], + type: e[10] + }); + } + function u3(t) { + (this.fill = t.fill === void 0 ? ' ' : t.fill + ''), + (this.align = t.align === void 0 ? '>' : t.align + ''), + (this.sign = t.sign === void 0 ? '-' : t.sign + ''), + (this.symbol = t.symbol === void 0 ? '' : t.symbol + ''), + (this.zero = !!t.zero), + (this.width = t.width === void 0 ? void 0 : +t.width), + (this.comma = !!t.comma), + (this.precision = t.precision === void 0 ? void 0 : +t.precision), + (this.trim = !!t.trim), + (this.type = t.type === void 0 ? '' : t.type + ''); + } + var F5e, + y8 = R(() => { + 'use strict'; + F5e = /^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i; + o(Sh, 'formatSpecifier'); + Sh.prototype = u3.prototype; + o(u3, 'FormatSpecifier'); + u3.prototype.toString = function () { + return ( + this.fill + + this.align + + this.sign + + this.symbol + + (this.zero ? '0' : '') + + (this.width === void 0 ? '' : Math.max(1, this.width | 0)) + + (this.comma ? ',' : '') + + (this.precision === void 0 ? '' : '.' + Math.max(0, this.precision | 0)) + + (this.trim ? '~' : '') + + this.type + ); + }; + }); + function v8(t) { + e: for (var e = t.length, r = 1, n = -1, i; r < e; ++r) + switch (t[r]) { + case '.': + n = i = r; + break; + case '0': + n === 0 && (n = r), (i = r); + break; + default: + if (!+t[r]) break e; + n > 0 && (n = 0); + break; + } + return n > 0 ? t.slice(0, n) + t.slice(i + 1) : t; + } + var _H = R(() => { + 'use strict'; + o(v8, 'default'); + }); + function b8(t, e) { + var r = cd(t, e); + if (!r) return t + ''; + var n = r[0], + i = r[1], + a = i - (x8 = Math.max(-8, Math.min(8, Math.floor(i / 3))) * 3) + 1, + s = n.length; + return a === s + ? n + : a > s + ? n + new Array(a - s + 1).join('0') + : a > 0 + ? n.slice(0, a) + '.' + n.slice(a) + : '0.' + new Array(1 - a).join('0') + cd(t, Math.max(0, e + a - 1))[0]; + } + var x8, + w8 = R(() => { + 'use strict'; + Iy(); + o(b8, 'default'); + }); + function h3(t, e) { + var r = cd(t, e); + if (!r) return t + ''; + var n = r[0], + i = r[1]; + return i < 0 + ? '0.' + new Array(-i).join('0') + n + : n.length > i + 1 + ? n.slice(0, i + 1) + '.' + n.slice(i + 1) + : n + new Array(i - n.length + 2).join('0'); + } + var LH = R(() => { + 'use strict'; + Iy(); + o(h3, 'default'); + }); + var T8, + DH = R(() => { + 'use strict'; + Iy(); + w8(); + LH(); + T8 = { + '%': o((t, e) => (t * 100).toFixed(e), '%'), + b: o((t) => Math.round(t).toString(2), 'b'), + c: o((t) => t + '', 'c'), + d: p8, + e: o((t, e) => t.toExponential(e), 'e'), + f: o((t, e) => t.toFixed(e), 'f'), + g: o((t, e) => t.toPrecision(e), 'g'), + o: o((t) => Math.round(t).toString(8), 'o'), + p: o((t, e) => h3(t * 100, e), 'p'), + r: h3, + s: b8, + X: o((t) => Math.round(t).toString(16).toUpperCase(), 'X'), + x: o((t) => Math.round(t).toString(16), 'x') + }; + }); + function f3(t) { + return t; + } + var RH = R(() => { + 'use strict'; + o(f3, 'default'); + }); + function k8(t) { + var e = + t.grouping === void 0 || t.thousands === void 0 + ? f3 + : m8(NH.call(t.grouping, Number), t.thousands + ''), + r = t.currency === void 0 ? '' : t.currency[0] + '', + n = t.currency === void 0 ? '' : t.currency[1] + '', + i = t.decimal === void 0 ? '.' : t.decimal + '', + a = t.numerals === void 0 ? f3 : g8(NH.call(t.numerals, String)), + s = t.percent === void 0 ? '%' : t.percent + '', + l = t.minus === void 0 ? '\u2212' : t.minus + '', + u = t.nan === void 0 ? 'NaN' : t.nan + ''; + function h(d) { + d = Sh(d); + var p = d.fill, + m = d.align, + g = d.sign, + y = d.symbol, + v = d.zero, + x = d.width, + b = d.comma, + w = d.precision, + S = d.trim, + T = d.type; + T === 'n' ? ((b = !0), (T = 'g')) : T8[T] || (w === void 0 && (w = 12), (S = !0), (T = 'g')), + (v || (p === '0' && m === '=')) && ((v = !0), (p = '0'), (m = '=')); + var E = y === '$' ? r : y === '#' && /[boxX]/.test(T) ? '0' + T.toLowerCase() : '', + _ = y === '$' ? n : /[%p]/.test(T) ? s : '', + A = T8[T], + L = /[defgprs%]/.test(T); + w = w === void 0 ? 6 : /[gprs]/.test(T) ? Math.max(1, Math.min(21, w)) : Math.max(0, Math.min(20, w)); + function M(N) { + var k = E, + I = _, + C, + O, + D; + if (T === 'c') (I = A(N) + I), (N = ''); + else { + N = +N; + var P = N < 0 || 1 / N < 0; + if ( + ((N = isNaN(N) ? u : A(Math.abs(N), w)), + S && (N = v8(N)), + P && +N == 0 && g !== '+' && (P = !1), + (k = (P ? (g === '(' ? g : l) : g === '-' || g === '(' ? '' : g) + k), + (I = (T === 's' ? MH[8 + x8 / 3] : '') + I + (P && g === '(' ? ')' : '')), + L) + ) { + for (C = -1, O = N.length; ++C < O; ) + if (((D = N.charCodeAt(C)), 48 > D || D > 57)) { + (I = (D === 46 ? i + N.slice(C + 1) : N.slice(C)) + I), (N = N.slice(0, C)); + break; + } + } + } + b && !v && (N = e(N, 1 / 0)); + var F = k.length + N.length + I.length, + B = F < x ? new Array(x - F + 1).join(p) : ''; + switch ((b && v && ((N = e(B + N, B.length ? x - I.length : 1 / 0)), (B = '')), m)) { + case '<': + N = k + N + I + B; + break; + case '=': + N = k + B + N + I; + break; + case '^': + N = B.slice(0, (F = B.length >> 1)) + k + N + I + B.slice(F); + break; + default: + N = B + k + N + I; + break; + } + return a(N); + } + return ( + o(M, 'format'), + (M.toString = function () { + return d + ''; + }), + M + ); + } + o(h, 'newFormat'); + function f(d, p) { + var m = h(((d = Sh(d)), (d.type = 'f'), d)), + g = Math.max(-8, Math.min(8, Math.floor(ml(p) / 3))) * 3, + y = Math.pow(10, -g), + v = MH[8 + g / 3]; + return function (x) { + return m(y * x) + v; + }; + } + return o(f, 'formatPrefix'), { format: h, formatPrefix: f }; + } + var NH, + MH, + IH = R(() => { + 'use strict'; + Oy(); + SH(); + AH(); + y8(); + _H(); + DH(); + w8(); + RH(); + (NH = Array.prototype.map), + (MH = ['y', 'z', 'a', 'f', 'p', 'n', '\xB5', 'm', '', 'k', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y']); + o(k8, 'default'); + }); + function E8(t) { + return (d3 = k8(t)), (p3 = d3.format), (m3 = d3.formatPrefix), d3; + } + var d3, + p3, + m3, + OH = R(() => { + 'use strict'; + IH(); + E8({ thousands: ',', grouping: [3], currency: ['$', ''] }); + o(E8, 'defaultLocale'); + }); + function g3(t) { + return Math.max(0, -ml(Math.abs(t))); + } + var PH = R(() => { + 'use strict'; + Oy(); + o(g3, 'default'); + }); + function y3(t, e) { + return Math.max(0, Math.max(-8, Math.min(8, Math.floor(ml(e) / 3))) * 3 - ml(Math.abs(t))); + } + var BH = R(() => { + 'use strict'; + Oy(); + o(y3, 'default'); + }); + function v3(t, e) { + return (t = Math.abs(t)), (e = Math.abs(e) - t), Math.max(0, ml(e) - ml(t)) + 1; + } + var FH = R(() => { + 'use strict'; + Oy(); + o(v3, 'default'); + }); + var C8 = R(() => { + 'use strict'; + OH(); + y8(); + PH(); + BH(); + FH(); + }); + var zH = R(() => { + 'use strict'; + }); + var GH = R(() => { + 'use strict'; + }); + var $H = R(() => { + 'use strict'; + }); + var VH = R(() => { + 'use strict'; + }); + function Ah(t, e) { + switch (arguments.length) { + case 0: + break; + case 1: + this.range(t); + break; + default: + this.range(e).domain(t); + break; + } + return this; + } + var Py = R(() => { + 'use strict'; + o(Ah, 'initRange'); + }); + function pu() { + var t = new wp(), + e = [], + r = [], + n = S8; + function i(a) { + let s = t.get(a); + if (s === void 0) { + if (n !== S8) return n; + t.set(a, (s = e.push(a) - 1)); + } + return r[s % r.length]; + } + return ( + o(i, 'scale'), + (i.domain = function (a) { + if (!arguments.length) return e.slice(); + (e = []), (t = new wp()); + for (let s of a) t.has(s) || t.set(s, e.push(s) - 1); + return i; + }), + (i.range = function (a) { + return arguments.length ? ((r = Array.from(a)), i) : r.slice(); + }), + (i.unknown = function (a) { + return arguments.length ? ((n = a), i) : n; + }), + (i.copy = function () { + return pu(e, r).unknown(n); + }), + Ah.apply(i, arguments), + i + ); + } + var S8, + A8 = R(() => { + 'use strict'; + bh(); + Py(); + S8 = Symbol('implicit'); + o(pu, 'ordinal'); + }); + function Op() { + var t = pu().unknown(void 0), + e = t.domain, + r = t.range, + n = 0, + i = 1, + a, + s, + l = !1, + u = 0, + h = 0, + f = 0.5; + delete t.unknown; + function d() { + var p = e().length, + m = i < n, + g = m ? i : n, + y = m ? n : i; + (a = (y - g) / Math.max(1, p - u + h * 2)), + l && (a = Math.floor(a)), + (g += (y - g - a * (p - u)) * f), + (s = a * (1 - u)), + l && ((g = Math.round(g)), (s = Math.round(s))); + var v = O4(p).map(function (x) { + return g + a * x; + }); + return r(m ? v.reverse() : v); + } + return ( + o(d, 'rescale'), + (t.domain = function (p) { + return arguments.length ? (e(p), d()) : e(); + }), + (t.range = function (p) { + return arguments.length ? (([n, i] = p), (n = +n), (i = +i), d()) : [n, i]; + }), + (t.rangeRound = function (p) { + return ([n, i] = p), (n = +n), (i = +i), (l = !0), d(); + }), + (t.bandwidth = function () { + return s; + }), + (t.step = function () { + return a; + }), + (t.round = function (p) { + return arguments.length ? ((l = !!p), d()) : l; + }), + (t.padding = function (p) { + return arguments.length ? ((u = Math.min(1, (h = +p))), d()) : u; + }), + (t.paddingInner = function (p) { + return arguments.length ? ((u = Math.min(1, p)), d()) : u; + }), + (t.paddingOuter = function (p) { + return arguments.length ? ((h = +p), d()) : h; + }), + (t.align = function (p) { + return arguments.length ? ((f = Math.max(0, Math.min(1, p))), d()) : f; + }), + (t.copy = function () { + return Op(e(), [n, i]).round(l).paddingInner(u).paddingOuter(h).align(f); + }), + Ah.apply(d(), arguments) + ); + } + var UH = R(() => { + 'use strict'; + bh(); + Py(); + A8(); + o(Op, 'band'); + }); + function _8(t) { + return function () { + return t; + }; + } + var HH = R(() => { + 'use strict'; + o(_8, 'constants'); + }); + function L8(t) { + return +t; + } + var YH = R(() => { + 'use strict'; + o(L8, 'number'); + }); + function Pp(t) { + return t; + } + function D8(t, e) { + return (e -= t = +t) + ? function (r) { + return (r - t) / e; + } + : _8(isNaN(e) ? NaN : 0.5); + } + function z5e(t, e) { + var r; + return ( + t > e && ((r = t), (t = e), (e = r)), + function (n) { + return Math.max(t, Math.min(e, n)); + } + ); + } + function G5e(t, e, r) { + var n = t[0], + i = t[1], + a = e[0], + s = e[1]; + return ( + i < n ? ((n = D8(i, n)), (a = r(s, a))) : ((n = D8(n, i)), (a = r(a, s))), + function (l) { + return a(n(l)); + } + ); + } + function $5e(t, e, r) { + var n = Math.min(t.length, e.length) - 1, + i = new Array(n), + a = new Array(n), + s = -1; + for (t[n] < t[0] && ((t = t.slice().reverse()), (e = e.slice().reverse())); ++s < n; ) + (i[s] = D8(t[s], t[s + 1])), (a[s] = r(e[s], e[s + 1])); + return function (l) { + var u = dS(t, l, 1, n) - 1; + return a[u](i[u](l)); + }; + } + function x3(t, e) { + return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown()); + } + function V5e() { + var t = WH, + e = WH, + r = Ch, + n, + i, + a, + s = Pp, + l, + u, + h; + function f() { + var p = Math.min(t.length, e.length); + return s !== Pp && (s = z5e(t[0], t[p - 1])), (l = p > 2 ? $5e : G5e), (u = h = null), d; + } + o(f, 'rescale'); + function d(p) { + return p == null || isNaN((p = +p)) ? a : (u || (u = l(t.map(n), e, r)))(n(s(p))); + } + return ( + o(d, 'scale'), + (d.invert = function (p) { + return s(i((h || (h = l(e, t.map(n), ji)))(p))); + }), + (d.domain = function (p) { + return arguments.length ? ((t = Array.from(p, L8)), f()) : t.slice(); + }), + (d.range = function (p) { + return arguments.length ? ((e = Array.from(p)), f()) : e.slice(); + }), + (d.rangeRound = function (p) { + return (e = Array.from(p)), (r = j4), f(); + }), + (d.clamp = function (p) { + return arguments.length ? ((s = p ? !0 : Pp), f()) : s !== Pp; + }), + (d.interpolate = function (p) { + return arguments.length ? ((r = p), f()) : r; + }), + (d.unknown = function (p) { + return arguments.length ? ((a = p), d) : a; + }), + function (p, m) { + return (n = p), (i = m), f(); + } + ); + } + function By() { + return V5e()(Pp, Pp); + } + var WH, + R8 = R(() => { + 'use strict'; + bh(); + Np(); + HH(); + YH(); + WH = [0, 1]; + o(Pp, 'identity'); + o(D8, 'normalize'); + o(z5e, 'clamper'); + o(G5e, 'bimap'); + o($5e, 'polymap'); + o(x3, 'copy'); + o(V5e, 'transformer'); + o(By, 'continuous'); + }); + function N8(t, e, r, n) { + var i = Tp(t, e, r), + a; + switch (((n = Sh(n ?? ',f')), n.type)) { + case 's': { + var s = Math.max(Math.abs(t), Math.abs(e)); + return n.precision == null && !isNaN((a = y3(i, s))) && (n.precision = a), m3(n, s); + } + case '': + case 'e': + case 'g': + case 'p': + case 'r': { + n.precision == null && + !isNaN((a = v3(i, Math.max(Math.abs(t), Math.abs(e))))) && + (n.precision = a - (n.type === 'e')); + break; + } + case 'f': + case '%': { + n.precision == null && !isNaN((a = g3(i))) && (n.precision = a - (n.type === '%') * 2); + break; + } + } + return p3(n); + } + var qH = R(() => { + 'use strict'; + bh(); + C8(); + o(N8, 'tickFormat'); + }); + function U5e(t) { + var e = t.domain; + return ( + (t.ticks = function (r) { + var n = e(); + return N4(n[0], n[n.length - 1], r ?? 10); + }), + (t.tickFormat = function (r, n) { + var i = e(); + return N8(i[0], i[i.length - 1], r ?? 10, n); + }), + (t.nice = function (r) { + r == null && (r = 10); + var n = e(), + i = 0, + a = n.length - 1, + s = n[i], + l = n[a], + u, + h, + f = 10; + for (l < s && ((h = s), (s = l), (l = h), (h = i), (i = a), (a = h)); f-- > 0; ) { + if (((h = fy(s, l, r)), h === u)) return (n[i] = s), (n[a] = l), e(n); + if (h > 0) (s = Math.floor(s / h) * h), (l = Math.ceil(l / h) * h); + else if (h < 0) (s = Math.ceil(s * h) / h), (l = Math.floor(l * h) / h); + else break; + u = h; + } + return t; + }), + t + ); + } + function gl() { + var t = By(); + return ( + (t.copy = function () { + return x3(t, gl()); + }), + Ah.apply(t, arguments), + U5e(t) + ); + } + var XH = R(() => { + 'use strict'; + bh(); + R8(); + Py(); + qH(); + o(U5e, 'linearish'); + o(gl, 'linear'); + }); + function M8(t, e) { + t = t.slice(); + var r = 0, + n = t.length - 1, + i = t[r], + a = t[n], + s; + return ( + a < i && ((s = r), (r = n), (n = s), (s = i), (i = a), (a = s)), (t[r] = e.floor(i)), (t[n] = e.ceil(a)), t + ); + } + var jH = R(() => { + 'use strict'; + o(M8, 'nice'); + }); + function dn(t, e, r, n) { + function i(a) { + return t((a = arguments.length === 0 ? new Date() : new Date(+a))), a; + } + return ( + o(i, 'interval'), + (i.floor = (a) => (t((a = new Date(+a))), a)), + (i.ceil = (a) => (t((a = new Date(a - 1))), e(a, 1), t(a), a)), + (i.round = (a) => { + let s = i(a), + l = i.ceil(a); + return a - s < l - a ? s : l; + }), + (i.offset = (a, s) => (e((a = new Date(+a)), s == null ? 1 : Math.floor(s)), a)), + (i.range = (a, s, l) => { + let u = []; + if (((a = i.ceil(a)), (l = l == null ? 1 : Math.floor(l)), !(a < s) || !(l > 0))) return u; + let h; + do u.push((h = new Date(+a))), e(a, l), t(a); + while (h < a && a < s); + return u; + }), + (i.filter = (a) => + dn( + (s) => { + if (s >= s) for (; t(s), !a(s); ) s.setTime(s - 1); + }, + (s, l) => { + if (s >= s) + if (l < 0) for (; ++l <= 0; ) for (; e(s, -1), !a(s); ); + else for (; --l >= 0; ) for (; e(s, 1), !a(s); ); + } + )), + r && + ((i.count = (a, s) => (I8.setTime(+a), O8.setTime(+s), t(I8), t(O8), Math.floor(r(I8, O8)))), + (i.every = (a) => ( + (a = Math.floor(a)), + !isFinite(a) || !(a > 0) + ? null + : a > 1 + ? i.filter(n ? (s) => n(s) % a === 0 : (s) => i.count(0, s) % a === 0) + : i + ))), + i + ); + } + var I8, + O8, + mu = R(() => { + 'use strict'; + (I8 = new Date()), (O8 = new Date()); + o(dn, 'timeInterval'); + }); + var oc, + KH, + P8 = R(() => { + 'use strict'; + mu(); + oc = dn( + () => {}, + (t, e) => { + t.setTime(+t + e); + }, + (t, e) => e - t + ); + oc.every = (t) => ( + (t = Math.floor(t)), + !isFinite(t) || !(t > 0) + ? null + : t > 1 + ? dn( + (e) => { + e.setTime(Math.floor(e / t) * t); + }, + (e, r) => { + e.setTime(+e + r * t); + }, + (e, r) => (r - e) / t + ) + : oc + ); + KH = oc.range; + }); + var Ks, + QH, + B8 = R(() => { + 'use strict'; + mu(); + (Ks = dn( + (t) => { + t.setTime(t - t.getMilliseconds()); + }, + (t, e) => { + t.setTime(+t + e * 1e3); + }, + (t, e) => (e - t) / 1e3, + (t) => t.getUTCSeconds() + )), + (QH = Ks.range); + }); + var gu, + H5e, + b3, + Y5e, + F8 = R(() => { + 'use strict'; + mu(); + (gu = dn( + (t) => { + t.setTime(t - t.getMilliseconds() - t.getSeconds() * 1e3); + }, + (t, e) => { + t.setTime(+t + e * 6e4); + }, + (t, e) => (e - t) / 6e4, + (t) => t.getMinutes() + )), + (H5e = gu.range), + (b3 = dn( + (t) => { + t.setUTCSeconds(0, 0); + }, + (t, e) => { + t.setTime(+t + e * 6e4); + }, + (t, e) => (e - t) / 6e4, + (t) => t.getUTCMinutes() + )), + (Y5e = b3.range); + }); + var yu, + W5e, + w3, + q5e, + z8 = R(() => { + 'use strict'; + mu(); + (yu = dn( + (t) => { + t.setTime(t - t.getMilliseconds() - t.getSeconds() * 1e3 - t.getMinutes() * 6e4); + }, + (t, e) => { + t.setTime(+t + e * 36e5); + }, + (t, e) => (e - t) / 36e5, + (t) => t.getHours() + )), + (W5e = yu.range), + (w3 = dn( + (t) => { + t.setUTCMinutes(0, 0, 0); + }, + (t, e) => { + t.setTime(+t + e * 36e5); + }, + (t, e) => (e - t) / 36e5, + (t) => t.getUTCHours() + )), + (q5e = w3.range); + }); + var Do, + X5e, + zy, + j5e, + T3, + K5e, + G8 = R(() => { + 'use strict'; + mu(); + (Do = dn( + (t) => t.setHours(0, 0, 0, 0), + (t, e) => t.setDate(t.getDate() + e), + (t, e) => (e - t - (e.getTimezoneOffset() - t.getTimezoneOffset()) * 6e4) / 864e5, + (t) => t.getDate() - 1 + )), + (X5e = Do.range), + (zy = dn( + (t) => { + t.setUTCHours(0, 0, 0, 0); + }, + (t, e) => { + t.setUTCDate(t.getUTCDate() + e); + }, + (t, e) => (e - t) / 864e5, + (t) => t.getUTCDate() - 1 + )), + (j5e = zy.range), + (T3 = dn( + (t) => { + t.setUTCHours(0, 0, 0, 0); + }, + (t, e) => { + t.setUTCDate(t.getUTCDate() + e); + }, + (t, e) => (e - t) / 864e5, + (t) => Math.floor(t / 864e5) + )), + (K5e = T3.range); + }); + function fd(t) { + return dn( + (e) => { + e.setDate(e.getDate() - ((e.getDay() + 7 - t) % 7)), e.setHours(0, 0, 0, 0); + }, + (e, r) => { + e.setDate(e.getDate() + r * 7); + }, + (e, r) => (r - e - (r.getTimezoneOffset() - e.getTimezoneOffset()) * 6e4) / 6048e5 + ); + } + function dd(t) { + return dn( + (e) => { + e.setUTCDate(e.getUTCDate() - ((e.getUTCDay() + 7 - t) % 7)), e.setUTCHours(0, 0, 0, 0); + }, + (e, r) => { + e.setUTCDate(e.getUTCDate() + r * 7); + }, + (e, r) => (r - e) / 6048e5 + ); + } + var yl, + _h, + k3, + E3, + cc, + C3, + S3, + JH, + Q5e, + Z5e, + J5e, + ewe, + twe, + rwe, + pd, + Bp, + eY, + tY, + Lh, + rY, + nY, + iY, + nwe, + iwe, + awe, + swe, + owe, + lwe, + $8 = R(() => { + 'use strict'; + mu(); + o(fd, 'timeWeekday'); + (yl = fd(0)), + (_h = fd(1)), + (k3 = fd(2)), + (E3 = fd(3)), + (cc = fd(4)), + (C3 = fd(5)), + (S3 = fd(6)), + (JH = yl.range), + (Q5e = _h.range), + (Z5e = k3.range), + (J5e = E3.range), + (ewe = cc.range), + (twe = C3.range), + (rwe = S3.range); + o(dd, 'utcWeekday'); + (pd = dd(0)), + (Bp = dd(1)), + (eY = dd(2)), + (tY = dd(3)), + (Lh = dd(4)), + (rY = dd(5)), + (nY = dd(6)), + (iY = pd.range), + (nwe = Bp.range), + (iwe = eY.range), + (awe = tY.range), + (swe = Lh.range), + (owe = rY.range), + (lwe = nY.range); + }); + var vu, + cwe, + A3, + uwe, + V8 = R(() => { + 'use strict'; + mu(); + (vu = dn( + (t) => { + t.setDate(1), t.setHours(0, 0, 0, 0); + }, + (t, e) => { + t.setMonth(t.getMonth() + e); + }, + (t, e) => e.getMonth() - t.getMonth() + (e.getFullYear() - t.getFullYear()) * 12, + (t) => t.getMonth() + )), + (cwe = vu.range), + (A3 = dn( + (t) => { + t.setUTCDate(1), t.setUTCHours(0, 0, 0, 0); + }, + (t, e) => { + t.setUTCMonth(t.getUTCMonth() + e); + }, + (t, e) => e.getUTCMonth() - t.getUTCMonth() + (e.getUTCFullYear() - t.getUTCFullYear()) * 12, + (t) => t.getUTCMonth() + )), + (uwe = A3.range); + }); + var Qs, + hwe, + vl, + fwe, + U8 = R(() => { + 'use strict'; + mu(); + Qs = dn( + (t) => { + t.setMonth(0, 1), t.setHours(0, 0, 0, 0); + }, + (t, e) => { + t.setFullYear(t.getFullYear() + e); + }, + (t, e) => e.getFullYear() - t.getFullYear(), + (t) => t.getFullYear() + ); + Qs.every = (t) => + !isFinite((t = Math.floor(t))) || !(t > 0) + ? null + : dn( + (e) => { + e.setFullYear(Math.floor(e.getFullYear() / t) * t), + e.setMonth(0, 1), + e.setHours(0, 0, 0, 0); + }, + (e, r) => { + e.setFullYear(e.getFullYear() + r * t); + } + ); + (hwe = Qs.range), + (vl = dn( + (t) => { + t.setUTCMonth(0, 1), t.setUTCHours(0, 0, 0, 0); + }, + (t, e) => { + t.setUTCFullYear(t.getUTCFullYear() + e); + }, + (t, e) => e.getUTCFullYear() - t.getUTCFullYear(), + (t) => t.getUTCFullYear() + )); + vl.every = (t) => + !isFinite((t = Math.floor(t))) || !(t > 0) + ? null + : dn( + (e) => { + e.setUTCFullYear(Math.floor(e.getUTCFullYear() / t) * t), + e.setUTCMonth(0, 1), + e.setUTCHours(0, 0, 0, 0); + }, + (e, r) => { + e.setUTCFullYear(e.getUTCFullYear() + r * t); + } + ); + fwe = vl.range; + }); + function sY(t, e, r, n, i, a) { + let s = [ + [Ks, 1, 1e3], + [Ks, 5, 5 * 1e3], + [Ks, 15, 15 * 1e3], + [Ks, 30, 30 * 1e3], + [a, 1, 6e4], + [a, 5, 5 * 6e4], + [a, 15, 15 * 6e4], + [a, 30, 30 * 6e4], + [i, 1, 36e5], + [i, 3, 3 * 36e5], + [i, 6, 6 * 36e5], + [i, 12, 12 * 36e5], + [n, 1, 864e5], + [n, 2, 2 * 864e5], + [r, 1, 6048e5], + [e, 1, 2592e6], + [e, 3, 3 * 2592e6], + [t, 1, 31536e6] + ]; + function l(h, f, d) { + let p = f < h; + p && ([h, f] = [f, h]); + let m = d && typeof d.range == 'function' ? d : u(h, f, d), + g = m ? m.range(h, +f + 1) : []; + return p ? g.reverse() : g; + } + o(l, 'ticks'); + function u(h, f, d) { + let p = Math.abs(f - h) / d, + m = td(([, , v]) => v).right(s, p); + if (m === s.length) return t.every(Tp(h / 31536e6, f / 31536e6, d)); + if (m === 0) return oc.every(Math.max(Tp(h, f, d), 1)); + let [g, y] = s[p / s[m - 1][2] < s[m][2] / p ? m - 1 : m]; + return g.every(y); + } + return o(u, 'tickInterval'), [l, u]; + } + var pwe, + mwe, + H8, + Y8, + oY = R(() => { + 'use strict'; + bh(); + P8(); + B8(); + F8(); + z8(); + G8(); + $8(); + V8(); + U8(); + o(sY, 'ticker'); + ([pwe, mwe] = sY(vl, A3, pd, T3, w3, b3)), ([H8, Y8] = sY(Qs, vu, yl, Do, yu, gu)); + }); + var _3 = R(() => { + 'use strict'; + P8(); + B8(); + F8(); + z8(); + G8(); + $8(); + V8(); + U8(); + oY(); + }); + function W8(t) { + if (0 <= t.y && t.y < 100) { + var e = new Date(-1, t.m, t.d, t.H, t.M, t.S, t.L); + return e.setFullYear(t.y), e; + } + return new Date(t.y, t.m, t.d, t.H, t.M, t.S, t.L); + } + function q8(t) { + if (0 <= t.y && t.y < 100) { + var e = new Date(Date.UTC(-1, t.m, t.d, t.H, t.M, t.S, t.L)); + return e.setUTCFullYear(t.y), e; + } + return new Date(Date.UTC(t.y, t.m, t.d, t.H, t.M, t.S, t.L)); + } + function Gy(t, e, r) { + return { y: t, m: e, d: r, H: 0, M: 0, S: 0, L: 0 }; + } + function X8(t) { + var e = t.dateTime, + r = t.date, + n = t.time, + i = t.periods, + a = t.days, + s = t.shortDays, + l = t.months, + u = t.shortMonths, + h = $y(i), + f = Vy(i), + d = $y(a), + p = Vy(a), + m = $y(s), + g = Vy(s), + y = $y(l), + v = Vy(l), + x = $y(u), + b = Vy(u), + w = { + a: P, + A: F, + b: B, + B: $, + c: null, + d: dY, + e: dY, + f: Fwe, + g: Xwe, + G: Kwe, + H: Owe, + I: Pwe, + j: Bwe, + L: vY, + m: zwe, + M: Gwe, + p: z, + q: Y, + Q: gY, + s: yY, + S: $we, + u: Vwe, + U: Uwe, + V: Hwe, + w: Ywe, + W: Wwe, + x: null, + X: null, + y: qwe, + Y: jwe, + Z: Qwe, + '%': mY + }, + S = { + a: Q, + A: X, + b: ie, + B: j, + c: null, + d: pY, + e: pY, + f: tTe, + g: hTe, + G: dTe, + H: Zwe, + I: Jwe, + j: eTe, + L: bY, + m: rTe, + M: nTe, + p: J, + q: Z, + Q: gY, + s: yY, + S: iTe, + u: aTe, + U: sTe, + V: oTe, + w: lTe, + W: cTe, + x: null, + X: null, + y: uTe, + Y: fTe, + Z: pTe, + '%': mY + }, + T = { + a: M, + A: N, + b: k, + B: I, + c: C, + d: hY, + e: hY, + f: Rwe, + g: uY, + G: cY, + H: fY, + I: fY, + j: Awe, + L: Dwe, + m: Swe, + M: _we, + p: L, + q: Cwe, + Q: Mwe, + s: Iwe, + S: Lwe, + u: bwe, + U: wwe, + V: Twe, + w: xwe, + W: kwe, + x: O, + X: D, + y: uY, + Y: cY, + Z: Ewe, + '%': Nwe + }; + (w.x = E(r, w)), (w.X = E(n, w)), (w.c = E(e, w)), (S.x = E(r, S)), (S.X = E(n, S)), (S.c = E(e, S)); + function E(H, q) { + return function (K) { + var se = [], + ce = -1, + ue = 0, + te = H.length, + De, + oe, + ke; + for (K instanceof Date || (K = new Date(+K)); ++ce < te; ) + H.charCodeAt(ce) === 37 && + (se.push(H.slice(ue, ce)), + (oe = lY[(De = H.charAt(++ce))]) != null + ? (De = H.charAt(++ce)) + : (oe = De === 'e' ? ' ' : '0'), + (ke = q[De]) && (De = ke(K, oe)), + se.push(De), + (ue = ce + 1)); + return se.push(H.slice(ue, ce)), se.join(''); + }; + } + o(E, 'newFormat'); + function _(H, q) { + return function (K) { + var se = Gy(1900, void 0, 1), + ce = A(se, H, (K += ''), 0), + ue, + te; + if (ce != K.length) return null; + if ('Q' in se) return new Date(se.Q); + if ('s' in se) return new Date(se.s * 1e3 + ('L' in se ? se.L : 0)); + if ( + (q && !('Z' in se) && (se.Z = 0), + 'p' in se && (se.H = (se.H % 12) + se.p * 12), + se.m === void 0 && (se.m = 'q' in se ? se.q : 0), + 'V' in se) + ) { + if (se.V < 1 || se.V > 53) return null; + 'w' in se || (se.w = 1), + 'Z' in se + ? ((ue = q8(Gy(se.y, 0, 1))), + (te = ue.getUTCDay()), + (ue = te > 4 || te === 0 ? Bp.ceil(ue) : Bp(ue)), + (ue = zy.offset(ue, (se.V - 1) * 7)), + (se.y = ue.getUTCFullYear()), + (se.m = ue.getUTCMonth()), + (se.d = ue.getUTCDate() + ((se.w + 6) % 7))) + : ((ue = W8(Gy(se.y, 0, 1))), + (te = ue.getDay()), + (ue = te > 4 || te === 0 ? _h.ceil(ue) : _h(ue)), + (ue = Do.offset(ue, (se.V - 1) * 7)), + (se.y = ue.getFullYear()), + (se.m = ue.getMonth()), + (se.d = ue.getDate() + ((se.w + 6) % 7))); + } else + ('W' in se || 'U' in se) && + ('w' in se || (se.w = 'u' in se ? se.u % 7 : 'W' in se ? 1 : 0), + (te = 'Z' in se ? q8(Gy(se.y, 0, 1)).getUTCDay() : W8(Gy(se.y, 0, 1)).getDay()), + (se.m = 0), + (se.d = + 'W' in se + ? ((se.w + 6) % 7) + se.W * 7 - ((te + 5) % 7) + : se.w + se.U * 7 - ((te + 6) % 7))); + return 'Z' in se ? ((se.H += (se.Z / 100) | 0), (se.M += se.Z % 100), q8(se)) : W8(se); + }; + } + o(_, 'newParse'); + function A(H, q, K, se) { + for (var ce = 0, ue = q.length, te = K.length, De, oe; ce < ue; ) { + if (se >= te) return -1; + if (((De = q.charCodeAt(ce++)), De === 37)) { + if ( + ((De = q.charAt(ce++)), + (oe = T[De in lY ? q.charAt(ce++) : De]), + !oe || (se = oe(H, K, se)) < 0) + ) + return -1; + } else if (De != K.charCodeAt(se++)) return -1; + } + return se; + } + o(A, 'parseSpecifier'); + function L(H, q, K) { + var se = h.exec(q.slice(K)); + return se ? ((H.p = f.get(se[0].toLowerCase())), K + se[0].length) : -1; + } + o(L, 'parsePeriod'); + function M(H, q, K) { + var se = m.exec(q.slice(K)); + return se ? ((H.w = g.get(se[0].toLowerCase())), K + se[0].length) : -1; + } + o(M, 'parseShortWeekday'); + function N(H, q, K) { + var se = d.exec(q.slice(K)); + return se ? ((H.w = p.get(se[0].toLowerCase())), K + se[0].length) : -1; + } + o(N, 'parseWeekday'); + function k(H, q, K) { + var se = x.exec(q.slice(K)); + return se ? ((H.m = b.get(se[0].toLowerCase())), K + se[0].length) : -1; + } + o(k, 'parseShortMonth'); + function I(H, q, K) { + var se = y.exec(q.slice(K)); + return se ? ((H.m = v.get(se[0].toLowerCase())), K + se[0].length) : -1; + } + o(I, 'parseMonth'); + function C(H, q, K) { + return A(H, e, q, K); + } + o(C, 'parseLocaleDateTime'); + function O(H, q, K) { + return A(H, r, q, K); + } + o(O, 'parseLocaleDate'); + function D(H, q, K) { + return A(H, n, q, K); + } + o(D, 'parseLocaleTime'); + function P(H) { + return s[H.getDay()]; + } + o(P, 'formatShortWeekday'); + function F(H) { + return a[H.getDay()]; + } + o(F, 'formatWeekday'); + function B(H) { + return u[H.getMonth()]; + } + o(B, 'formatShortMonth'); + function $(H) { + return l[H.getMonth()]; + } + o($, 'formatMonth'); + function z(H) { + return i[+(H.getHours() >= 12)]; + } + o(z, 'formatPeriod'); + function Y(H) { + return 1 + ~~(H.getMonth() / 3); + } + o(Y, 'formatQuarter'); + function Q(H) { + return s[H.getUTCDay()]; + } + o(Q, 'formatUTCShortWeekday'); + function X(H) { + return a[H.getUTCDay()]; + } + o(X, 'formatUTCWeekday'); + function ie(H) { + return u[H.getUTCMonth()]; + } + o(ie, 'formatUTCShortMonth'); + function j(H) { + return l[H.getUTCMonth()]; + } + o(j, 'formatUTCMonth'); + function J(H) { + return i[+(H.getUTCHours() >= 12)]; + } + o(J, 'formatUTCPeriod'); + function Z(H) { + return 1 + ~~(H.getUTCMonth() / 3); + } + return ( + o(Z, 'formatUTCQuarter'), + { + format: o(function (H) { + var q = E((H += ''), w); + return ( + (q.toString = function () { + return H; + }), + q + ); + }, 'format'), + parse: o(function (H) { + var q = _((H += ''), !1); + return ( + (q.toString = function () { + return H; + }), + q + ); + }, 'parse'), + utcFormat: o(function (H) { + var q = E((H += ''), S); + return ( + (q.toString = function () { + return H; + }), + q + ); + }, 'utcFormat'), + utcParse: o(function (H) { + var q = _((H += ''), !0); + return ( + (q.toString = function () { + return H; + }), + q + ); + }, 'utcParse') + } + ); + } + function Pr(t, e, r) { + var n = t < 0 ? '-' : '', + i = (n ? -t : t) + '', + a = i.length; + return n + (a < r ? new Array(r - a + 1).join(e) + i : i); + } + function vwe(t) { + return t.replace(ywe, '\\$&'); + } + function $y(t) { + return new RegExp('^(?:' + t.map(vwe).join('|') + ')', 'i'); + } + function Vy(t) { + return new Map(t.map((e, r) => [e.toLowerCase(), r])); + } + function xwe(t, e, r) { + var n = Ki.exec(e.slice(r, r + 1)); + return n ? ((t.w = +n[0]), r + n[0].length) : -1; + } + function bwe(t, e, r) { + var n = Ki.exec(e.slice(r, r + 1)); + return n ? ((t.u = +n[0]), r + n[0].length) : -1; + } + function wwe(t, e, r) { + var n = Ki.exec(e.slice(r, r + 2)); + return n ? ((t.U = +n[0]), r + n[0].length) : -1; + } + function Twe(t, e, r) { + var n = Ki.exec(e.slice(r, r + 2)); + return n ? ((t.V = +n[0]), r + n[0].length) : -1; + } + function kwe(t, e, r) { + var n = Ki.exec(e.slice(r, r + 2)); + return n ? ((t.W = +n[0]), r + n[0].length) : -1; + } + function cY(t, e, r) { + var n = Ki.exec(e.slice(r, r + 4)); + return n ? ((t.y = +n[0]), r + n[0].length) : -1; + } + function uY(t, e, r) { + var n = Ki.exec(e.slice(r, r + 2)); + return n ? ((t.y = +n[0] + (+n[0] > 68 ? 1900 : 2e3)), r + n[0].length) : -1; + } + function Ewe(t, e, r) { + var n = /^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r, r + 6)); + return n ? ((t.Z = n[1] ? 0 : -(n[2] + (n[3] || '00'))), r + n[0].length) : -1; + } + function Cwe(t, e, r) { + var n = Ki.exec(e.slice(r, r + 1)); + return n ? ((t.q = n[0] * 3 - 3), r + n[0].length) : -1; + } + function Swe(t, e, r) { + var n = Ki.exec(e.slice(r, r + 2)); + return n ? ((t.m = n[0] - 1), r + n[0].length) : -1; + } + function hY(t, e, r) { + var n = Ki.exec(e.slice(r, r + 2)); + return n ? ((t.d = +n[0]), r + n[0].length) : -1; + } + function Awe(t, e, r) { + var n = Ki.exec(e.slice(r, r + 3)); + return n ? ((t.m = 0), (t.d = +n[0]), r + n[0].length) : -1; + } + function fY(t, e, r) { + var n = Ki.exec(e.slice(r, r + 2)); + return n ? ((t.H = +n[0]), r + n[0].length) : -1; + } + function _we(t, e, r) { + var n = Ki.exec(e.slice(r, r + 2)); + return n ? ((t.M = +n[0]), r + n[0].length) : -1; + } + function Lwe(t, e, r) { + var n = Ki.exec(e.slice(r, r + 2)); + return n ? ((t.S = +n[0]), r + n[0].length) : -1; + } + function Dwe(t, e, r) { + var n = Ki.exec(e.slice(r, r + 3)); + return n ? ((t.L = +n[0]), r + n[0].length) : -1; + } + function Rwe(t, e, r) { + var n = Ki.exec(e.slice(r, r + 6)); + return n ? ((t.L = Math.floor(n[0] / 1e3)), r + n[0].length) : -1; + } + function Nwe(t, e, r) { + var n = gwe.exec(e.slice(r, r + 1)); + return n ? r + n[0].length : -1; + } + function Mwe(t, e, r) { + var n = Ki.exec(e.slice(r)); + return n ? ((t.Q = +n[0]), r + n[0].length) : -1; + } + function Iwe(t, e, r) { + var n = Ki.exec(e.slice(r)); + return n ? ((t.s = +n[0]), r + n[0].length) : -1; + } + function dY(t, e) { + return Pr(t.getDate(), e, 2); + } + function Owe(t, e) { + return Pr(t.getHours(), e, 2); + } + function Pwe(t, e) { + return Pr(t.getHours() % 12 || 12, e, 2); + } + function Bwe(t, e) { + return Pr(1 + Do.count(Qs(t), t), e, 3); + } + function vY(t, e) { + return Pr(t.getMilliseconds(), e, 3); + } + function Fwe(t, e) { + return vY(t, e) + '000'; + } + function zwe(t, e) { + return Pr(t.getMonth() + 1, e, 2); + } + function Gwe(t, e) { + return Pr(t.getMinutes(), e, 2); + } + function $we(t, e) { + return Pr(t.getSeconds(), e, 2); + } + function Vwe(t) { + var e = t.getDay(); + return e === 0 ? 7 : e; + } + function Uwe(t, e) { + return Pr(yl.count(Qs(t) - 1, t), e, 2); + } + function xY(t) { + var e = t.getDay(); + return e >= 4 || e === 0 ? cc(t) : cc.ceil(t); + } + function Hwe(t, e) { + return (t = xY(t)), Pr(cc.count(Qs(t), t) + (Qs(t).getDay() === 4), e, 2); + } + function Ywe(t) { + return t.getDay(); + } + function Wwe(t, e) { + return Pr(_h.count(Qs(t) - 1, t), e, 2); + } + function qwe(t, e) { + return Pr(t.getFullYear() % 100, e, 2); + } + function Xwe(t, e) { + return (t = xY(t)), Pr(t.getFullYear() % 100, e, 2); + } + function jwe(t, e) { + return Pr(t.getFullYear() % 1e4, e, 4); + } + function Kwe(t, e) { + var r = t.getDay(); + return (t = r >= 4 || r === 0 ? cc(t) : cc.ceil(t)), Pr(t.getFullYear() % 1e4, e, 4); + } + function Qwe(t) { + var e = t.getTimezoneOffset(); + return (e > 0 ? '-' : ((e *= -1), '+')) + Pr((e / 60) | 0, '0', 2) + Pr(e % 60, '0', 2); + } + function pY(t, e) { + return Pr(t.getUTCDate(), e, 2); + } + function Zwe(t, e) { + return Pr(t.getUTCHours(), e, 2); + } + function Jwe(t, e) { + return Pr(t.getUTCHours() % 12 || 12, e, 2); + } + function eTe(t, e) { + return Pr(1 + zy.count(vl(t), t), e, 3); + } + function bY(t, e) { + return Pr(t.getUTCMilliseconds(), e, 3); + } + function tTe(t, e) { + return bY(t, e) + '000'; + } + function rTe(t, e) { + return Pr(t.getUTCMonth() + 1, e, 2); + } + function nTe(t, e) { + return Pr(t.getUTCMinutes(), e, 2); + } + function iTe(t, e) { + return Pr(t.getUTCSeconds(), e, 2); + } + function aTe(t) { + var e = t.getUTCDay(); + return e === 0 ? 7 : e; + } + function sTe(t, e) { + return Pr(pd.count(vl(t) - 1, t), e, 2); + } + function wY(t) { + var e = t.getUTCDay(); + return e >= 4 || e === 0 ? Lh(t) : Lh.ceil(t); + } + function oTe(t, e) { + return (t = wY(t)), Pr(Lh.count(vl(t), t) + (vl(t).getUTCDay() === 4), e, 2); + } + function lTe(t) { + return t.getUTCDay(); + } + function cTe(t, e) { + return Pr(Bp.count(vl(t) - 1, t), e, 2); + } + function uTe(t, e) { + return Pr(t.getUTCFullYear() % 100, e, 2); + } + function hTe(t, e) { + return (t = wY(t)), Pr(t.getUTCFullYear() % 100, e, 2); + } + function fTe(t, e) { + return Pr(t.getUTCFullYear() % 1e4, e, 4); + } + function dTe(t, e) { + var r = t.getUTCDay(); + return (t = r >= 4 || r === 0 ? Lh(t) : Lh.ceil(t)), Pr(t.getUTCFullYear() % 1e4, e, 4); + } + function pTe() { + return '+0000'; + } + function mY() { + return '%'; + } + function gY(t) { + return +t; + } + function yY(t) { + return Math.floor(+t / 1e3); + } + var lY, + Ki, + gwe, + ywe, + TY = R(() => { + 'use strict'; + _3(); + o(W8, 'localDate'); + o(q8, 'utcDate'); + o(Gy, 'newDate'); + o(X8, 'formatLocale'); + (lY = { '-': '', _: ' ', 0: '0' }), (Ki = /^\s*\d+/), (gwe = /^%/), (ywe = /[\\^$*+?|[\]().{}]/g); + o(Pr, 'pad'); + o(vwe, 'requote'); + o($y, 'formatRe'); + o(Vy, 'formatLookup'); + o(xwe, 'parseWeekdayNumberSunday'); + o(bwe, 'parseWeekdayNumberMonday'); + o(wwe, 'parseWeekNumberSunday'); + o(Twe, 'parseWeekNumberISO'); + o(kwe, 'parseWeekNumberMonday'); + o(cY, 'parseFullYear'); + o(uY, 'parseYear'); + o(Ewe, 'parseZone'); + o(Cwe, 'parseQuarter'); + o(Swe, 'parseMonthNumber'); + o(hY, 'parseDayOfMonth'); + o(Awe, 'parseDayOfYear'); + o(fY, 'parseHour24'); + o(_we, 'parseMinutes'); + o(Lwe, 'parseSeconds'); + o(Dwe, 'parseMilliseconds'); + o(Rwe, 'parseMicroseconds'); + o(Nwe, 'parseLiteralPercent'); + o(Mwe, 'parseUnixTimestamp'); + o(Iwe, 'parseUnixTimestampSeconds'); + o(dY, 'formatDayOfMonth'); + o(Owe, 'formatHour24'); + o(Pwe, 'formatHour12'); + o(Bwe, 'formatDayOfYear'); + o(vY, 'formatMilliseconds'); + o(Fwe, 'formatMicroseconds'); + o(zwe, 'formatMonthNumber'); + o(Gwe, 'formatMinutes'); + o($we, 'formatSeconds'); + o(Vwe, 'formatWeekdayNumberMonday'); + o(Uwe, 'formatWeekNumberSunday'); + o(xY, 'dISO'); + o(Hwe, 'formatWeekNumberISO'); + o(Ywe, 'formatWeekdayNumberSunday'); + o(Wwe, 'formatWeekNumberMonday'); + o(qwe, 'formatYear'); + o(Xwe, 'formatYearISO'); + o(jwe, 'formatFullYear'); + o(Kwe, 'formatFullYearISO'); + o(Qwe, 'formatZone'); + o(pY, 'formatUTCDayOfMonth'); + o(Zwe, 'formatUTCHour24'); + o(Jwe, 'formatUTCHour12'); + o(eTe, 'formatUTCDayOfYear'); + o(bY, 'formatUTCMilliseconds'); + o(tTe, 'formatUTCMicroseconds'); + o(rTe, 'formatUTCMonthNumber'); + o(nTe, 'formatUTCMinutes'); + o(iTe, 'formatUTCSeconds'); + o(aTe, 'formatUTCWeekdayNumberMonday'); + o(sTe, 'formatUTCWeekNumberSunday'); + o(wY, 'UTCdISO'); + o(oTe, 'formatUTCWeekNumberISO'); + o(lTe, 'formatUTCWeekdayNumberSunday'); + o(cTe, 'formatUTCWeekNumberMonday'); + o(uTe, 'formatUTCYear'); + o(hTe, 'formatUTCYearISO'); + o(fTe, 'formatUTCFullYear'); + o(dTe, 'formatUTCFullYearISO'); + o(pTe, 'formatUTCZone'); + o(mY, 'formatLiteralPercent'); + o(gY, 'formatUnixTimestamp'); + o(yY, 'formatUnixTimestampSeconds'); + }); + function j8(t) { + return (Fp = X8(t)), (md = Fp.format), (kY = Fp.parse), (EY = Fp.utcFormat), (CY = Fp.utcParse), Fp; + } + var Fp, + md, + kY, + EY, + CY, + SY = R(() => { + 'use strict'; + TY(); + j8({ + dateTime: '%x, %X', + date: '%-m/%-d/%Y', + time: '%-I:%M:%S %p', + periods: ['AM', 'PM'], + days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + shortDays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + months: [ + 'January', + 'February', + 'March', + 'April', + 'May', + 'June', + 'July', + 'August', + 'September', + 'October', + 'November', + 'December' + ], + shortMonths: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] + }); + o(j8, 'defaultLocale'); + }); + var K8 = R(() => { + 'use strict'; + SY(); + }); + function mTe(t) { + return new Date(t); + } + function gTe(t) { + return t instanceof Date ? +t : +new Date(+t); + } + function AY(t, e, r, n, i, a, s, l, u, h) { + var f = By(), + d = f.invert, + p = f.domain, + m = h('.%L'), + g = h(':%S'), + y = h('%I:%M'), + v = h('%I %p'), + x = h('%a %d'), + b = h('%b %d'), + w = h('%B'), + S = h('%Y'); + function T(E) { + return ( + u(E) < E + ? m + : l(E) < E + ? g + : s(E) < E + ? y + : a(E) < E + ? v + : n(E) < E + ? i(E) < E + ? x + : b + : r(E) < E + ? w + : S + )(E); + } + return ( + o(T, 'tickFormat'), + (f.invert = function (E) { + return new Date(d(E)); + }), + (f.domain = function (E) { + return arguments.length ? p(Array.from(E, gTe)) : p().map(mTe); + }), + (f.ticks = function (E) { + var _ = p(); + return t(_[0], _[_.length - 1], E ?? 10); + }), + (f.tickFormat = function (E, _) { + return _ == null ? T : h(_); + }), + (f.nice = function (E) { + var _ = p(); + return ( + (!E || typeof E.range != 'function') && (E = e(_[0], _[_.length - 1], E ?? 10)), E ? p(M8(_, E)) : f + ); + }), + (f.copy = function () { + return x3(f, AY(t, e, r, n, i, a, s, l, u, h)); + }), + f + ); + } + function L3() { + return Ah.apply( + AY(H8, Y8, Qs, vu, yl, Do, yu, gu, Ks, md).domain([new Date(2e3, 0, 1), new Date(2e3, 0, 2)]), + arguments + ); + } + var _Y = R(() => { + 'use strict'; + _3(); + K8(); + R8(); + Py(); + jH(); + o(mTe, 'date'); + o(gTe, 'number'); + o(AY, 'calendar'); + o(L3, 'time'); + }); + var LY = R(() => { + 'use strict'; + UH(); + XH(); + A8(); + _Y(); + }); + function Q8(t) { + for (var e = (t.length / 6) | 0, r = new Array(e), n = 0; n < e; ) r[n] = '#' + t.slice(n * 6, ++n * 6); + return r; + } + var DY = R(() => { + 'use strict'; + o(Q8, 'default'); + }); + var Z8, + RY = R(() => { + 'use strict'; + DY(); + Z8 = Q8('4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab'); + }); + var NY = R(() => { + 'use strict'; + RY(); + }); + function Nn(t) { + return o(function () { + return t; + }, 'constant'); + } + var D3 = R(() => { + 'use strict'; + o(Nn, 'default'); + }); + function IY(t) { + return t > 1 ? 0 : t < -1 ? zp : Math.acos(t); + } + function e_(t) { + return t >= 1 ? Uy : t <= -1 ? -Uy : Math.asin(t); + } + var J8, + ua, + Dh, + MY, + R3, + xl, + gd, + Qi, + zp, + Uy, + Gp, + N3 = R(() => { + 'use strict'; + (J8 = Math.abs), + (ua = Math.atan2), + (Dh = Math.cos), + (MY = Math.max), + (R3 = Math.min), + (xl = Math.sin), + (gd = Math.sqrt), + (Qi = 1e-12), + (zp = Math.PI), + (Uy = zp / 2), + (Gp = 2 * zp); + o(IY, 'acos'); + o(e_, 'asin'); + }); + function M3(t) { + let e = 3; + return ( + (t.digits = function (r) { + if (!arguments.length) return e; + if (r == null) e = null; + else { + let n = Math.floor(r); + if (!(n >= 0)) throw new RangeError(`invalid digits: ${r}`); + e = n; + } + return t; + }), + () => new ld(e) + ); + } + var t_ = R(() => { + 'use strict'; + d8(); + o(M3, 'withPath'); + }); + function yTe(t) { + return t.innerRadius; + } + function vTe(t) { + return t.outerRadius; + } + function xTe(t) { + return t.startAngle; + } + function bTe(t) { + return t.endAngle; + } + function wTe(t) { + return t && t.padAngle; + } + function TTe(t, e, r, n, i, a, s, l) { + var u = r - t, + h = n - e, + f = s - i, + d = l - a, + p = d * u - f * h; + if (!(p * p < Qi)) return (p = (f * (e - a) - d * (t - i)) / p), [t + p * u, e + p * h]; + } + function I3(t, e, r, n, i, a, s) { + var l = t - r, + u = e - n, + h = (s ? a : -a) / gd(l * l + u * u), + f = h * u, + d = -h * l, + p = t + f, + m = e + d, + g = r + f, + y = n + d, + v = (p + g) / 2, + x = (m + y) / 2, + b = g - p, + w = y - m, + S = b * b + w * w, + T = i - a, + E = p * y - g * m, + _ = (w < 0 ? -1 : 1) * gd(MY(0, T * T * S - E * E)), + A = (E * w - b * _) / S, + L = (-E * b - w * _) / S, + M = (E * w + b * _) / S, + N = (-E * b + w * _) / S, + k = A - v, + I = L - x, + C = M - v, + O = N - x; + return ( + k * k + I * I > C * C + O * O && ((A = M), (L = N)), + { + cx: A, + cy: L, + x01: -f, + y01: -d, + x11: A * (i / T - 1), + y11: L * (i / T - 1) + } + ); + } + function bl() { + var t = yTe, + e = vTe, + r = Nn(0), + n = null, + i = xTe, + a = bTe, + s = wTe, + l = null, + u = M3(h); + function h() { + var f, + d, + p = +t.apply(this, arguments), + m = +e.apply(this, arguments), + g = i.apply(this, arguments) - Uy, + y = a.apply(this, arguments) - Uy, + v = J8(y - g), + x = y > g; + if ((l || (l = f = u()), m < p && ((d = m), (m = p), (p = d)), !(m > Qi))) l.moveTo(0, 0); + else if (v > Gp - Qi) + l.moveTo(m * Dh(g), m * xl(g)), + l.arc(0, 0, m, g, y, !x), + p > Qi && (l.moveTo(p * Dh(y), p * xl(y)), l.arc(0, 0, p, y, g, x)); + else { + var b = g, + w = y, + S = g, + T = y, + E = v, + _ = v, + A = s.apply(this, arguments) / 2, + L = A > Qi && (n ? +n.apply(this, arguments) : gd(p * p + m * m)), + M = R3(J8(m - p) / 2, +r.apply(this, arguments)), + N = M, + k = M, + I, + C; + if (L > Qi) { + var O = e_((L / p) * xl(A)), + D = e_((L / m) * xl(A)); + (E -= O * 2) > Qi ? ((O *= x ? 1 : -1), (S += O), (T -= O)) : ((E = 0), (S = T = (g + y) / 2)), + (_ -= D * 2) > Qi ? ((D *= x ? 1 : -1), (b += D), (w -= D)) : ((_ = 0), (b = w = (g + y) / 2)); + } + var P = m * Dh(b), + F = m * xl(b), + B = p * Dh(T), + $ = p * xl(T); + if (M > Qi) { + var z = m * Dh(w), + Y = m * xl(w), + Q = p * Dh(S), + X = p * xl(S), + ie; + if (v < zp) + if ((ie = TTe(P, F, Q, X, z, Y, B, $))) { + var j = P - ie[0], + J = F - ie[1], + Z = z - ie[0], + H = Y - ie[1], + q = 1 / xl(IY((j * Z + J * H) / (gd(j * j + J * J) * gd(Z * Z + H * H))) / 2), + K = gd(ie[0] * ie[0] + ie[1] * ie[1]); + (N = R3(M, (p - K) / (q - 1))), (k = R3(M, (m - K) / (q + 1))); + } else N = k = 0; + } + _ > Qi + ? k > Qi + ? ((I = I3(Q, X, P, F, m, k, x)), + (C = I3(z, Y, B, $, m, k, x)), + l.moveTo(I.cx + I.x01, I.cy + I.y01), + k < M + ? l.arc(I.cx, I.cy, k, ua(I.y01, I.x01), ua(C.y01, C.x01), !x) + : (l.arc(I.cx, I.cy, k, ua(I.y01, I.x01), ua(I.y11, I.x11), !x), + l.arc(0, 0, m, ua(I.cy + I.y11, I.cx + I.x11), ua(C.cy + C.y11, C.cx + C.x11), !x), + l.arc(C.cx, C.cy, k, ua(C.y11, C.x11), ua(C.y01, C.x01), !x))) + : (l.moveTo(P, F), l.arc(0, 0, m, b, w, !x)) + : l.moveTo(P, F), + !(p > Qi) || !(E > Qi) + ? l.lineTo(B, $) + : N > Qi + ? ((I = I3(B, $, z, Y, p, -N, x)), + (C = I3(P, F, Q, X, p, -N, x)), + l.lineTo(I.cx + I.x01, I.cy + I.y01), + N < M + ? l.arc(I.cx, I.cy, N, ua(I.y01, I.x01), ua(C.y01, C.x01), !x) + : (l.arc(I.cx, I.cy, N, ua(I.y01, I.x01), ua(I.y11, I.x11), !x), + l.arc(0, 0, p, ua(I.cy + I.y11, I.cx + I.x11), ua(C.cy + C.y11, C.cx + C.x11), x), + l.arc(C.cx, C.cy, N, ua(C.y11, C.x11), ua(C.y01, C.x01), !x))) + : l.arc(0, 0, p, T, S, x); + } + if ((l.closePath(), f)) return (l = null), f + '' || null; + } + return ( + o(h, 'arc'), + (h.centroid = function () { + var f = (+t.apply(this, arguments) + +e.apply(this, arguments)) / 2, + d = (+i.apply(this, arguments) + +a.apply(this, arguments)) / 2 - zp / 2; + return [Dh(d) * f, xl(d) * f]; + }), + (h.innerRadius = function (f) { + return arguments.length ? ((t = typeof f == 'function' ? f : Nn(+f)), h) : t; + }), + (h.outerRadius = function (f) { + return arguments.length ? ((e = typeof f == 'function' ? f : Nn(+f)), h) : e; + }), + (h.cornerRadius = function (f) { + return arguments.length ? ((r = typeof f == 'function' ? f : Nn(+f)), h) : r; + }), + (h.padRadius = function (f) { + return arguments.length ? ((n = f == null ? null : typeof f == 'function' ? f : Nn(+f)), h) : n; + }), + (h.startAngle = function (f) { + return arguments.length ? ((i = typeof f == 'function' ? f : Nn(+f)), h) : i; + }), + (h.endAngle = function (f) { + return arguments.length ? ((a = typeof f == 'function' ? f : Nn(+f)), h) : a; + }), + (h.padAngle = function (f) { + return arguments.length ? ((s = typeof f == 'function' ? f : Nn(+f)), h) : s; + }), + (h.context = function (f) { + return arguments.length ? ((l = f ?? null), h) : l; + }), + h + ); + } + var OY = R(() => { + 'use strict'; + D3(); + N3(); + t_(); + o(yTe, 'arcInnerRadius'); + o(vTe, 'arcOuterRadius'); + o(xTe, 'arcStartAngle'); + o(bTe, 'arcEndAngle'); + o(wTe, 'arcPadAngle'); + o(TTe, 'intersect'); + o(I3, 'cornerTangents'); + o(bl, 'default'); + }); + function Hy(t) { + return typeof t == 'object' && 'length' in t ? t : Array.from(t); + } + var Dyt, + r_ = R(() => { + 'use strict'; + Dyt = Array.prototype.slice; + o(Hy, 'default'); + }); + function PY(t) { + this._context = t; + } + function xu(t) { + return new PY(t); + } + var n_ = R(() => { + 'use strict'; + o(PY, 'Linear'); + PY.prototype = { + areaStart: o(function () { + this._line = 0; + }, 'areaStart'), + areaEnd: o(function () { + this._line = NaN; + }, 'areaEnd'), + lineStart: o(function () { + this._point = 0; + }, 'lineStart'), + lineEnd: o(function () { + (this._line || (this._line !== 0 && this._point === 1)) && this._context.closePath(), + (this._line = 1 - this._line); + }, 'lineEnd'), + point: o(function (t, e) { + switch (((t = +t), (e = +e), this._point)) { + case 0: + (this._point = 1), this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e); + break; + case 1: + this._point = 2; + default: + this._context.lineTo(t, e); + break; + } + }, 'point') + }; + o(xu, 'default'); + }); + function BY(t) { + return t[0]; + } + function FY(t) { + return t[1]; + } + var zY = R(() => { + 'use strict'; + o(BY, 'x'); + o(FY, 'y'); + }); + function ha(t, e) { + var r = Nn(!0), + n = null, + i = xu, + a = null, + s = M3(l); + (t = typeof t == 'function' ? t : t === void 0 ? BY : Nn(t)), + (e = typeof e == 'function' ? e : e === void 0 ? FY : Nn(e)); + function l(u) { + var h, + f = (u = Hy(u)).length, + d, + p = !1, + m; + for (n == null && (a = i((m = s()))), h = 0; h <= f; ++h) + !(h < f && r((d = u[h]), h, u)) === p && ((p = !p) ? a.lineStart() : a.lineEnd()), + p && a.point(+t(d, h, u), +e(d, h, u)); + if (m) return (a = null), m + '' || null; + } + return ( + o(l, 'line'), + (l.x = function (u) { + return arguments.length ? ((t = typeof u == 'function' ? u : Nn(+u)), l) : t; + }), + (l.y = function (u) { + return arguments.length ? ((e = typeof u == 'function' ? u : Nn(+u)), l) : e; + }), + (l.defined = function (u) { + return arguments.length ? ((r = typeof u == 'function' ? u : Nn(!!u)), l) : r; + }), + (l.curve = function (u) { + return arguments.length ? ((i = u), n != null && (a = i(n)), l) : i; + }), + (l.context = function (u) { + return arguments.length ? (u == null ? (n = a = null) : (a = i((n = u))), l) : n; + }), + l + ); + } + var GY = R(() => { + 'use strict'; + r_(); + D3(); + n_(); + t_(); + zY(); + o(ha, 'default'); + }); + function i_(t, e) { + return e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN; + } + var $Y = R(() => { + 'use strict'; + o(i_, 'default'); + }); + function a_(t) { + return t; + } + var VY = R(() => { + 'use strict'; + o(a_, 'default'); + }); + function O3() { + var t = a_, + e = i_, + r = null, + n = Nn(0), + i = Nn(Gp), + a = Nn(0); + function s(l) { + var u, + h = (l = Hy(l)).length, + f, + d, + p = 0, + m = new Array(h), + g = new Array(h), + y = +n.apply(this, arguments), + v = Math.min(Gp, Math.max(-Gp, i.apply(this, arguments) - y)), + x, + b = Math.min(Math.abs(v) / h, a.apply(this, arguments)), + w = b * (v < 0 ? -1 : 1), + S; + for (u = 0; u < h; ++u) (S = g[(m[u] = u)] = +t(l[u], u, l)) > 0 && (p += S); + for ( + e != null + ? m.sort(function (T, E) { + return e(g[T], g[E]); + }) + : r != null && + m.sort(function (T, E) { + return r(l[T], l[E]); + }), + u = 0, + d = p ? (v - h * w) / p : 0; + u < h; + ++u, y = x + ) + (f = m[u]), + (S = g[f]), + (x = y + (S > 0 ? S * d : 0) + w), + (g[f] = { + data: l[f], + index: u, + value: S, + startAngle: y, + endAngle: x, + padAngle: b + }); + return g; + } + return ( + o(s, 'pie'), + (s.value = function (l) { + return arguments.length ? ((t = typeof l == 'function' ? l : Nn(+l)), s) : t; + }), + (s.sortValues = function (l) { + return arguments.length ? ((e = l), (r = null), s) : e; + }), + (s.sort = function (l) { + return arguments.length ? ((r = l), (e = null), s) : r; + }), + (s.startAngle = function (l) { + return arguments.length ? ((n = typeof l == 'function' ? l : Nn(+l)), s) : n; + }), + (s.endAngle = function (l) { + return arguments.length ? ((i = typeof l == 'function' ? l : Nn(+l)), s) : i; + }), + (s.padAngle = function (l) { + return arguments.length ? ((a = typeof l == 'function' ? l : Nn(+l)), s) : a; + }), + s + ); + } + var UY = R(() => { + 'use strict'; + r_(); + D3(); + $Y(); + VY(); + N3(); + o(O3, 'default'); + }); + function s_(t) { + return new P3(t, !0); + } + function o_(t) { + return new P3(t, !1); + } + var P3, + HY = R(() => { + 'use strict'; + P3 = class { + static { + o(this, 'Bump'); + } + constructor(e, r) { + (this._context = e), (this._x = r); + } + areaStart() { + this._line = 0; + } + areaEnd() { + this._line = NaN; + } + lineStart() { + this._point = 0; + } + lineEnd() { + (this._line || (this._line !== 0 && this._point === 1)) && this._context.closePath(), + (this._line = 1 - this._line); + } + point(e, r) { + switch (((e = +e), (r = +r), this._point)) { + case 0: { + (this._point = 1), this._line ? this._context.lineTo(e, r) : this._context.moveTo(e, r); + break; + } + case 1: + this._point = 2; + default: { + this._x + ? this._context.bezierCurveTo( + (this._x0 = (this._x0 + e) / 2), + this._y0, + this._x0, + r, + e, + r + ) + : this._context.bezierCurveTo( + this._x0, + (this._y0 = (this._y0 + r) / 2), + e, + this._y0, + e, + r + ); + break; + } + } + (this._x0 = e), (this._y0 = r); + } + }; + o(s_, 'bumpX'); + o(o_, 'bumpY'); + }); + function Zs() {} + var Yy = R(() => { + 'use strict'; + o(Zs, 'default'); + }); + function $p(t, e, r) { + t._context.bezierCurveTo( + (2 * t._x0 + t._x1) / 3, + (2 * t._y0 + t._y1) / 3, + (t._x0 + 2 * t._x1) / 3, + (t._y0 + 2 * t._y1) / 3, + (t._x0 + 4 * t._x1 + e) / 6, + (t._y0 + 4 * t._y1 + r) / 6 + ); + } + function Wy(t) { + this._context = t; + } + function vs(t) { + return new Wy(t); + } + var qy = R(() => { + 'use strict'; + o($p, 'point'); + o(Wy, 'Basis'); + Wy.prototype = { + areaStart: o(function () { + this._line = 0; + }, 'areaStart'), + areaEnd: o(function () { + this._line = NaN; + }, 'areaEnd'), + lineStart: o(function () { + (this._x0 = this._x1 = this._y0 = this._y1 = NaN), (this._point = 0); + }, 'lineStart'), + lineEnd: o(function () { + switch (this._point) { + case 3: + $p(this, this._x1, this._y1); + case 2: + this._context.lineTo(this._x1, this._y1); + break; + } + (this._line || (this._line !== 0 && this._point === 1)) && this._context.closePath(), + (this._line = 1 - this._line); + }, 'lineEnd'), + point: o(function (t, e) { + switch (((t = +t), (e = +e), this._point)) { + case 0: + (this._point = 1), this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e); + break; + case 1: + this._point = 2; + break; + case 2: + (this._point = 3), + this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6); + default: + $p(this, t, e); + break; + } + (this._x0 = this._x1), (this._x1 = t), (this._y0 = this._y1), (this._y1 = e); + }, 'point') + }; + o(vs, 'default'); + }); + function YY(t) { + this._context = t; + } + function B3(t) { + return new YY(t); + } + var WY = R(() => { + 'use strict'; + Yy(); + qy(); + o(YY, 'BasisClosed'); + YY.prototype = { + areaStart: Zs, + areaEnd: Zs, + lineStart: o(function () { + (this._x0 = + this._x1 = + this._x2 = + this._x3 = + this._x4 = + this._y0 = + this._y1 = + this._y2 = + this._y3 = + this._y4 = + NaN), + (this._point = 0); + }, 'lineStart'), + lineEnd: o(function () { + switch (this._point) { + case 1: { + this._context.moveTo(this._x2, this._y2), this._context.closePath(); + break; + } + case 2: { + this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3), + this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3), + this._context.closePath(); + break; + } + case 3: { + this.point(this._x2, this._y2), this.point(this._x3, this._y3), this.point(this._x4, this._y4); + break; + } + } + }, 'lineEnd'), + point: o(function (t, e) { + switch (((t = +t), (e = +e), this._point)) { + case 0: + (this._point = 1), (this._x2 = t), (this._y2 = e); + break; + case 1: + (this._point = 2), (this._x3 = t), (this._y3 = e); + break; + case 2: + (this._point = 3), + (this._x4 = t), + (this._y4 = e), + this._context.moveTo((this._x0 + 4 * this._x1 + t) / 6, (this._y0 + 4 * this._y1 + e) / 6); + break; + default: + $p(this, t, e); + break; + } + (this._x0 = this._x1), (this._x1 = t), (this._y0 = this._y1), (this._y1 = e); + }, 'point') + }; + o(B3, 'default'); + }); + function qY(t) { + this._context = t; + } + function F3(t) { + return new qY(t); + } + var XY = R(() => { + 'use strict'; + qy(); + o(qY, 'BasisOpen'); + qY.prototype = { + areaStart: o(function () { + this._line = 0; + }, 'areaStart'), + areaEnd: o(function () { + this._line = NaN; + }, 'areaEnd'), + lineStart: o(function () { + (this._x0 = this._x1 = this._y0 = this._y1 = NaN), (this._point = 0); + }, 'lineStart'), + lineEnd: o(function () { + (this._line || (this._line !== 0 && this._point === 3)) && this._context.closePath(), + (this._line = 1 - this._line); + }, 'lineEnd'), + point: o(function (t, e) { + switch (((t = +t), (e = +e), this._point)) { + case 0: + this._point = 1; + break; + case 1: + this._point = 2; + break; + case 2: + this._point = 3; + var r = (this._x0 + 4 * this._x1 + t) / 6, + n = (this._y0 + 4 * this._y1 + e) / 6; + this._line ? this._context.lineTo(r, n) : this._context.moveTo(r, n); + break; + case 3: + this._point = 4; + default: + $p(this, t, e); + break; + } + (this._x0 = this._x1), (this._x1 = t), (this._y0 = this._y1), (this._y1 = e); + }, 'point') + }; + o(F3, 'default'); + }); + function jY(t, e) { + (this._basis = new Wy(t)), (this._beta = e); + } + var l_, + KY = R(() => { + 'use strict'; + qy(); + o(jY, 'Bundle'); + jY.prototype = { + lineStart: o(function () { + (this._x = []), (this._y = []), this._basis.lineStart(); + }, 'lineStart'), + lineEnd: o(function () { + var t = this._x, + e = this._y, + r = t.length - 1; + if (r > 0) + for (var n = t[0], i = e[0], a = t[r] - n, s = e[r] - i, l = -1, u; ++l <= r; ) + (u = l / r), + this._basis.point( + this._beta * t[l] + (1 - this._beta) * (n + u * a), + this._beta * e[l] + (1 - this._beta) * (i + u * s) + ); + (this._x = this._y = null), this._basis.lineEnd(); + }, 'lineEnd'), + point: o(function (t, e) { + this._x.push(+t), this._y.push(+e); + }, 'point') + }; + l_ = o(function t(e) { + function r(n) { + return e === 1 ? new Wy(n) : new jY(n, e); + } + return ( + o(r, 'bundle'), + (r.beta = function (n) { + return t(+n); + }), + r + ); + }, 'custom')(0.85); + }); + function Vp(t, e, r) { + t._context.bezierCurveTo( + t._x1 + t._k * (t._x2 - t._x0), + t._y1 + t._k * (t._y2 - t._y0), + t._x2 + t._k * (t._x1 - e), + t._y2 + t._k * (t._y1 - r), + t._x2, + t._y2 + ); + } + function z3(t, e) { + (this._context = t), (this._k = (1 - e) / 6); + } + var c_, + Xy = R(() => { + 'use strict'; + o(Vp, 'point'); + o(z3, 'Cardinal'); + z3.prototype = { + areaStart: o(function () { + this._line = 0; + }, 'areaStart'), + areaEnd: o(function () { + this._line = NaN; + }, 'areaEnd'), + lineStart: o(function () { + (this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN), (this._point = 0); + }, 'lineStart'), + lineEnd: o(function () { + switch (this._point) { + case 2: + this._context.lineTo(this._x2, this._y2); + break; + case 3: + Vp(this, this._x1, this._y1); + break; + } + (this._line || (this._line !== 0 && this._point === 1)) && this._context.closePath(), + (this._line = 1 - this._line); + }, 'lineEnd'), + point: o(function (t, e) { + switch (((t = +t), (e = +e), this._point)) { + case 0: + (this._point = 1), this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e); + break; + case 1: + (this._point = 2), (this._x1 = t), (this._y1 = e); + break; + case 2: + this._point = 3; + default: + Vp(this, t, e); + break; + } + (this._x0 = this._x1), + (this._x1 = this._x2), + (this._x2 = t), + (this._y0 = this._y1), + (this._y1 = this._y2), + (this._y2 = e); + }, 'point') + }; + c_ = o(function t(e) { + function r(n) { + return new z3(n, e); + } + return ( + o(r, 'cardinal'), + (r.tension = function (n) { + return t(+n); + }), + r + ); + }, 'custom')(0); + }); + function G3(t, e) { + (this._context = t), (this._k = (1 - e) / 6); + } + var u_, + h_ = R(() => { + 'use strict'; + Yy(); + Xy(); + o(G3, 'CardinalClosed'); + G3.prototype = { + areaStart: Zs, + areaEnd: Zs, + lineStart: o(function () { + (this._x0 = + this._x1 = + this._x2 = + this._x3 = + this._x4 = + this._x5 = + this._y0 = + this._y1 = + this._y2 = + this._y3 = + this._y4 = + this._y5 = + NaN), + (this._point = 0); + }, 'lineStart'), + lineEnd: o(function () { + switch (this._point) { + case 1: { + this._context.moveTo(this._x3, this._y3), this._context.closePath(); + break; + } + case 2: { + this._context.lineTo(this._x3, this._y3), this._context.closePath(); + break; + } + case 3: { + this.point(this._x3, this._y3), + this.point(this._x4, this._y4), + this.point(this._x5, this._y5); + break; + } + } + }, 'lineEnd'), + point: o(function (t, e) { + switch (((t = +t), (e = +e), this._point)) { + case 0: + (this._point = 1), (this._x3 = t), (this._y3 = e); + break; + case 1: + (this._point = 2), this._context.moveTo((this._x4 = t), (this._y4 = e)); + break; + case 2: + (this._point = 3), (this._x5 = t), (this._y5 = e); + break; + default: + Vp(this, t, e); + break; + } + (this._x0 = this._x1), + (this._x1 = this._x2), + (this._x2 = t), + (this._y0 = this._y1), + (this._y1 = this._y2), + (this._y2 = e); + }, 'point') + }; + u_ = o(function t(e) { + function r(n) { + return new G3(n, e); + } + return ( + o(r, 'cardinal'), + (r.tension = function (n) { + return t(+n); + }), + r + ); + }, 'custom')(0); + }); + function $3(t, e) { + (this._context = t), (this._k = (1 - e) / 6); + } + var f_, + d_ = R(() => { + 'use strict'; + Xy(); + o($3, 'CardinalOpen'); + $3.prototype = { + areaStart: o(function () { + this._line = 0; + }, 'areaStart'), + areaEnd: o(function () { + this._line = NaN; + }, 'areaEnd'), + lineStart: o(function () { + (this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN), (this._point = 0); + }, 'lineStart'), + lineEnd: o(function () { + (this._line || (this._line !== 0 && this._point === 3)) && this._context.closePath(), + (this._line = 1 - this._line); + }, 'lineEnd'), + point: o(function (t, e) { + switch (((t = +t), (e = +e), this._point)) { + case 0: + this._point = 1; + break; + case 1: + this._point = 2; + break; + case 2: + (this._point = 3), + this._line + ? this._context.lineTo(this._x2, this._y2) + : this._context.moveTo(this._x2, this._y2); + break; + case 3: + this._point = 4; + default: + Vp(this, t, e); + break; + } + (this._x0 = this._x1), + (this._x1 = this._x2), + (this._x2 = t), + (this._y0 = this._y1), + (this._y1 = this._y2), + (this._y2 = e); + }, 'point') + }; + f_ = o(function t(e) { + function r(n) { + return new $3(n, e); + } + return ( + o(r, 'cardinal'), + (r.tension = function (n) { + return t(+n); + }), + r + ); + }, 'custom')(0); + }); + function jy(t, e, r) { + var n = t._x1, + i = t._y1, + a = t._x2, + s = t._y2; + if (t._l01_a > Qi) { + var l = 2 * t._l01_2a + 3 * t._l01_a * t._l12_a + t._l12_2a, + u = 3 * t._l01_a * (t._l01_a + t._l12_a); + (n = (n * l - t._x0 * t._l12_2a + t._x2 * t._l01_2a) / u), + (i = (i * l - t._y0 * t._l12_2a + t._y2 * t._l01_2a) / u); + } + if (t._l23_a > Qi) { + var h = 2 * t._l23_2a + 3 * t._l23_a * t._l12_a + t._l12_2a, + f = 3 * t._l23_a * (t._l23_a + t._l12_a); + (a = (a * h + t._x1 * t._l23_2a - e * t._l12_2a) / f), + (s = (s * h + t._y1 * t._l23_2a - r * t._l12_2a) / f); + } + t._context.bezierCurveTo(n, i, a, s, t._x2, t._y2); + } + function QY(t, e) { + (this._context = t), (this._alpha = e); + } + var p_, + V3 = R(() => { + 'use strict'; + N3(); + Xy(); + o(jy, 'point'); + o(QY, 'CatmullRom'); + QY.prototype = { + areaStart: o(function () { + this._line = 0; + }, 'areaStart'), + areaEnd: o(function () { + this._line = NaN; + }, 'areaEnd'), + lineStart: o(function () { + (this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN), + (this._l01_a = + this._l12_a = + this._l23_a = + this._l01_2a = + this._l12_2a = + this._l23_2a = + this._point = + 0); + }, 'lineStart'), + lineEnd: o(function () { + switch (this._point) { + case 2: + this._context.lineTo(this._x2, this._y2); + break; + case 3: + this.point(this._x2, this._y2); + break; + } + (this._line || (this._line !== 0 && this._point === 1)) && this._context.closePath(), + (this._line = 1 - this._line); + }, 'lineEnd'), + point: o(function (t, e) { + if (((t = +t), (e = +e), this._point)) { + var r = this._x2 - t, + n = this._y2 - e; + this._l23_a = Math.sqrt((this._l23_2a = Math.pow(r * r + n * n, this._alpha))); + } + switch (this._point) { + case 0: + (this._point = 1), this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e); + break; + case 1: + this._point = 2; + break; + case 2: + this._point = 3; + default: + jy(this, t, e); + break; + } + (this._l01_a = this._l12_a), + (this._l12_a = this._l23_a), + (this._l01_2a = this._l12_2a), + (this._l12_2a = this._l23_2a), + (this._x0 = this._x1), + (this._x1 = this._x2), + (this._x2 = t), + (this._y0 = this._y1), + (this._y1 = this._y2), + (this._y2 = e); + }, 'point') + }; + p_ = o(function t(e) { + function r(n) { + return e ? new QY(n, e) : new z3(n, 0); + } + return ( + o(r, 'catmullRom'), + (r.alpha = function (n) { + return t(+n); + }), + r + ); + }, 'custom')(0.5); + }); + function ZY(t, e) { + (this._context = t), (this._alpha = e); + } + var m_, + JY = R(() => { + 'use strict'; + h_(); + Yy(); + V3(); + o(ZY, 'CatmullRomClosed'); + ZY.prototype = { + areaStart: Zs, + areaEnd: Zs, + lineStart: o(function () { + (this._x0 = + this._x1 = + this._x2 = + this._x3 = + this._x4 = + this._x5 = + this._y0 = + this._y1 = + this._y2 = + this._y3 = + this._y4 = + this._y5 = + NaN), + (this._l01_a = + this._l12_a = + this._l23_a = + this._l01_2a = + this._l12_2a = + this._l23_2a = + this._point = + 0); + }, 'lineStart'), + lineEnd: o(function () { + switch (this._point) { + case 1: { + this._context.moveTo(this._x3, this._y3), this._context.closePath(); + break; + } + case 2: { + this._context.lineTo(this._x3, this._y3), this._context.closePath(); + break; + } + case 3: { + this.point(this._x3, this._y3), + this.point(this._x4, this._y4), + this.point(this._x5, this._y5); + break; + } + } + }, 'lineEnd'), + point: o(function (t, e) { + if (((t = +t), (e = +e), this._point)) { + var r = this._x2 - t, + n = this._y2 - e; + this._l23_a = Math.sqrt((this._l23_2a = Math.pow(r * r + n * n, this._alpha))); + } + switch (this._point) { + case 0: + (this._point = 1), (this._x3 = t), (this._y3 = e); + break; + case 1: + (this._point = 2), this._context.moveTo((this._x4 = t), (this._y4 = e)); + break; + case 2: + (this._point = 3), (this._x5 = t), (this._y5 = e); + break; + default: + jy(this, t, e); + break; + } + (this._l01_a = this._l12_a), + (this._l12_a = this._l23_a), + (this._l01_2a = this._l12_2a), + (this._l12_2a = this._l23_2a), + (this._x0 = this._x1), + (this._x1 = this._x2), + (this._x2 = t), + (this._y0 = this._y1), + (this._y1 = this._y2), + (this._y2 = e); + }, 'point') + }; + m_ = o(function t(e) { + function r(n) { + return e ? new ZY(n, e) : new G3(n, 0); + } + return ( + o(r, 'catmullRom'), + (r.alpha = function (n) { + return t(+n); + }), + r + ); + }, 'custom')(0.5); + }); + function eW(t, e) { + (this._context = t), (this._alpha = e); + } + var g_, + tW = R(() => { + 'use strict'; + d_(); + V3(); + o(eW, 'CatmullRomOpen'); + eW.prototype = { + areaStart: o(function () { + this._line = 0; + }, 'areaStart'), + areaEnd: o(function () { + this._line = NaN; + }, 'areaEnd'), + lineStart: o(function () { + (this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN), + (this._l01_a = + this._l12_a = + this._l23_a = + this._l01_2a = + this._l12_2a = + this._l23_2a = + this._point = + 0); + }, 'lineStart'), + lineEnd: o(function () { + (this._line || (this._line !== 0 && this._point === 3)) && this._context.closePath(), + (this._line = 1 - this._line); + }, 'lineEnd'), + point: o(function (t, e) { + if (((t = +t), (e = +e), this._point)) { + var r = this._x2 - t, + n = this._y2 - e; + this._l23_a = Math.sqrt((this._l23_2a = Math.pow(r * r + n * n, this._alpha))); + } + switch (this._point) { + case 0: + this._point = 1; + break; + case 1: + this._point = 2; + break; + case 2: + (this._point = 3), + this._line + ? this._context.lineTo(this._x2, this._y2) + : this._context.moveTo(this._x2, this._y2); + break; + case 3: + this._point = 4; + default: + jy(this, t, e); + break; + } + (this._l01_a = this._l12_a), + (this._l12_a = this._l23_a), + (this._l01_2a = this._l12_2a), + (this._l12_2a = this._l23_2a), + (this._x0 = this._x1), + (this._x1 = this._x2), + (this._x2 = t), + (this._y0 = this._y1), + (this._y1 = this._y2), + (this._y2 = e); + }, 'point') + }; + g_ = o(function t(e) { + function r(n) { + return e ? new eW(n, e) : new $3(n, 0); + } + return ( + o(r, 'catmullRom'), + (r.alpha = function (n) { + return t(+n); + }), + r + ); + }, 'custom')(0.5); + }); + function rW(t) { + this._context = t; + } + function U3(t) { + return new rW(t); + } + var nW = R(() => { + 'use strict'; + Yy(); + o(rW, 'LinearClosed'); + rW.prototype = { + areaStart: Zs, + areaEnd: Zs, + lineStart: o(function () { + this._point = 0; + }, 'lineStart'), + lineEnd: o(function () { + this._point && this._context.closePath(); + }, 'lineEnd'), + point: o(function (t, e) { + (t = +t), + (e = +e), + this._point ? this._context.lineTo(t, e) : ((this._point = 1), this._context.moveTo(t, e)); + }, 'point') + }; + o(U3, 'default'); + }); + function iW(t) { + return t < 0 ? -1 : 1; + } + function aW(t, e, r) { + var n = t._x1 - t._x0, + i = e - t._x1, + a = (t._y1 - t._y0) / (n || (i < 0 && -0)), + s = (r - t._y1) / (i || (n < 0 && -0)), + l = (a * i + s * n) / (n + i); + return (iW(a) + iW(s)) * Math.min(Math.abs(a), Math.abs(s), 0.5 * Math.abs(l)) || 0; + } + function sW(t, e) { + var r = t._x1 - t._x0; + return r ? ((3 * (t._y1 - t._y0)) / r - e) / 2 : e; + } + function y_(t, e, r) { + var n = t._x0, + i = t._y0, + a = t._x1, + s = t._y1, + l = (a - n) / 3; + t._context.bezierCurveTo(n + l, i + l * e, a - l, s - l * r, a, s); + } + function H3(t) { + this._context = t; + } + function oW(t) { + this._context = new lW(t); + } + function lW(t) { + this._context = t; + } + function v_(t) { + return new H3(t); + } + function x_(t) { + return new oW(t); + } + var cW = R(() => { + 'use strict'; + o(iW, 'sign'); + o(aW, 'slope3'); + o(sW, 'slope2'); + o(y_, 'point'); + o(H3, 'MonotoneX'); + H3.prototype = { + areaStart: o(function () { + this._line = 0; + }, 'areaStart'), + areaEnd: o(function () { + this._line = NaN; + }, 'areaEnd'), + lineStart: o(function () { + (this._x0 = this._x1 = this._y0 = this._y1 = this._t0 = NaN), (this._point = 0); + }, 'lineStart'), + lineEnd: o(function () { + switch (this._point) { + case 2: + this._context.lineTo(this._x1, this._y1); + break; + case 3: + y_(this, this._t0, sW(this, this._t0)); + break; + } + (this._line || (this._line !== 0 && this._point === 1)) && this._context.closePath(), + (this._line = 1 - this._line); + }, 'lineEnd'), + point: o(function (t, e) { + var r = NaN; + if (((t = +t), (e = +e), !(t === this._x1 && e === this._y1))) { + switch (this._point) { + case 0: + (this._point = 1), this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e); + break; + case 1: + this._point = 2; + break; + case 2: + (this._point = 3), y_(this, sW(this, (r = aW(this, t, e))), r); + break; + default: + y_(this, this._t0, (r = aW(this, t, e))); + break; + } + (this._x0 = this._x1), (this._x1 = t), (this._y0 = this._y1), (this._y1 = e), (this._t0 = r); + } + }, 'point') + }; + o(oW, 'MonotoneY'); + (oW.prototype = Object.create(H3.prototype)).point = function (t, e) { + H3.prototype.point.call(this, e, t); + }; + o(lW, 'ReflectContext'); + lW.prototype = { + moveTo: o(function (t, e) { + this._context.moveTo(e, t); + }, 'moveTo'), + closePath: o(function () { + this._context.closePath(); + }, 'closePath'), + lineTo: o(function (t, e) { + this._context.lineTo(e, t); + }, 'lineTo'), + bezierCurveTo: o(function (t, e, r, n, i, a) { + this._context.bezierCurveTo(e, t, n, r, a, i); + }, 'bezierCurveTo') + }; + o(v_, 'monotoneX'); + o(x_, 'monotoneY'); + }); + function hW(t) { + this._context = t; + } + function uW(t) { + var e, + r = t.length - 1, + n, + i = new Array(r), + a = new Array(r), + s = new Array(r); + for (i[0] = 0, a[0] = 2, s[0] = t[0] + 2 * t[1], e = 1; e < r - 1; ++e) + (i[e] = 1), (a[e] = 4), (s[e] = 4 * t[e] + 2 * t[e + 1]); + for (i[r - 1] = 2, a[r - 1] = 7, s[r - 1] = 8 * t[r - 1] + t[r], e = 1; e < r; ++e) + (n = i[e] / a[e - 1]), (a[e] -= n), (s[e] -= n * s[e - 1]); + for (i[r - 1] = s[r - 1] / a[r - 1], e = r - 2; e >= 0; --e) i[e] = (s[e] - i[e + 1]) / a[e]; + for (a[r - 1] = (t[r] + i[r - 1]) / 2, e = 0; e < r - 1; ++e) a[e] = 2 * t[e + 1] - i[e + 1]; + return [i, a]; + } + function Y3(t) { + return new hW(t); + } + var fW = R(() => { + 'use strict'; + o(hW, 'Natural'); + hW.prototype = { + areaStart: o(function () { + this._line = 0; + }, 'areaStart'), + areaEnd: o(function () { + this._line = NaN; + }, 'areaEnd'), + lineStart: o(function () { + (this._x = []), (this._y = []); + }, 'lineStart'), + lineEnd: o(function () { + var t = this._x, + e = this._y, + r = t.length; + if (r) + if ((this._line ? this._context.lineTo(t[0], e[0]) : this._context.moveTo(t[0], e[0]), r === 2)) + this._context.lineTo(t[1], e[1]); + else + for (var n = uW(t), i = uW(e), a = 0, s = 1; s < r; ++a, ++s) + this._context.bezierCurveTo(n[0][a], i[0][a], n[1][a], i[1][a], t[s], e[s]); + (this._line || (this._line !== 0 && r === 1)) && this._context.closePath(), + (this._line = 1 - this._line), + (this._x = this._y = null); + }, 'lineEnd'), + point: o(function (t, e) { + this._x.push(+t), this._y.push(+e); + }, 'point') + }; + o(uW, 'controlPoints'); + o(Y3, 'default'); + }); + function W3(t, e) { + (this._context = t), (this._t = e); + } + function q3(t) { + return new W3(t, 0.5); + } + function b_(t) { + return new W3(t, 0); + } + function w_(t) { + return new W3(t, 1); + } + var dW = R(() => { + 'use strict'; + o(W3, 'Step'); + W3.prototype = { + areaStart: o(function () { + this._line = 0; + }, 'areaStart'), + areaEnd: o(function () { + this._line = NaN; + }, 'areaEnd'), + lineStart: o(function () { + (this._x = this._y = NaN), (this._point = 0); + }, 'lineStart'), + lineEnd: o(function () { + 0 < this._t && this._t < 1 && this._point === 2 && this._context.lineTo(this._x, this._y), + (this._line || (this._line !== 0 && this._point === 1)) && this._context.closePath(), + this._line >= 0 && ((this._t = 1 - this._t), (this._line = 1 - this._line)); + }, 'lineEnd'), + point: o(function (t, e) { + switch (((t = +t), (e = +e), this._point)) { + case 0: + (this._point = 1), this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e); + break; + case 1: + this._point = 2; + default: { + if (this._t <= 0) this._context.lineTo(this._x, e), this._context.lineTo(t, e); + else { + var r = this._x * (1 - this._t) + t * this._t; + this._context.lineTo(r, this._y), this._context.lineTo(r, e); + } + break; + } + } + (this._x = t), (this._y = e); + }, 'point') + }; + o(q3, 'default'); + o(b_, 'stepBefore'); + o(w_, 'stepAfter'); + }); + var pW = R(() => { + 'use strict'; + OY(); + GY(); + UY(); + WY(); + XY(); + qy(); + HY(); + KY(); + h_(); + d_(); + Xy(); + JY(); + tW(); + V3(); + nW(); + n_(); + cW(); + fW(); + dW(); + }); + var mW = R(() => { + 'use strict'; + }); + var gW = R(() => { + 'use strict'; + }); + function Rh(t, e, r) { + (this.k = t), (this.x = e), (this.y = r); + } + function k_(t) { + for (; !t.__zoom; ) if (!(t = t.parentNode)) return T_; + return t.__zoom; + } + var T_, + E_ = R(() => { + 'use strict'; + o(Rh, 'Transform'); + Rh.prototype = { + constructor: Rh, + scale: o(function (t) { + return t === 1 ? this : new Rh(this.k * t, this.x, this.y); + }, 'scale'), + translate: o(function (t, e) { + return (t === 0) & (e === 0) ? this : new Rh(this.k, this.x + this.k * t, this.y + this.k * e); + }, 'translate'), + apply: o(function (t) { + return [t[0] * this.k + this.x, t[1] * this.k + this.y]; + }, 'apply'), + applyX: o(function (t) { + return t * this.k + this.x; + }, 'applyX'), + applyY: o(function (t) { + return t * this.k + this.y; + }, 'applyY'), + invert: o(function (t) { + return [(t[0] - this.x) / this.k, (t[1] - this.y) / this.k]; + }, 'invert'), + invertX: o(function (t) { + return (t - this.x) / this.k; + }, 'invertX'), + invertY: o(function (t) { + return (t - this.y) / this.k; + }, 'invertY'), + rescaleX: o(function (t) { + return t.copy().domain(t.range().map(this.invertX, this).map(t.invert, t)); + }, 'rescaleX'), + rescaleY: o(function (t) { + return t.copy().domain(t.range().map(this.invertY, this).map(t.invert, t)); + }, 'rescaleY'), + toString: o(function () { + return 'translate(' + this.x + ',' + this.y + ') scale(' + this.k + ')'; + }, 'toString') + }; + T_ = new Rh(1, 0, 0); + k_.prototype = Rh.prototype; + o(k_, 'transform'); + }); + var yW = R(() => { + 'use strict'; + }); + var vW = R(() => { + 'use strict'; + c3(); + mW(); + gW(); + E_(); + yW(); + }); + var xW = R(() => { + 'use strict'; + vW(); + E_(); + }); + var Zt = R(() => { + 'use strict'; + bh(); + K$(); + mH(); + xH(); + Lp(); + bH(); + wH(); + bS(); + $V(); + TH(); + l8(); + kH(); + CH(); + C8(); + zH(); + GH(); + Np(); + d8(); + $H(); + EH(); + VH(); + LY(); + NY(); + fl(); + pW(); + _3(); + K8(); + n3(); + c3(); + xW(); + }); + var bW = gi((Zi) => { + 'use strict'; + Object.defineProperty(Zi, '__esModule', { value: !0 }); + Zi.BLANK_URL = + Zi.relativeFirstCharacters = + Zi.whitespaceEscapeCharsRegex = + Zi.urlSchemeRegex = + Zi.ctrlCharactersRegex = + Zi.htmlCtrlEntityRegex = + Zi.htmlEntitiesRegex = + Zi.invalidProtocolRegex = + void 0; + Zi.invalidProtocolRegex = /^([^\w]*)(javascript|data|vbscript)/im; + Zi.htmlEntitiesRegex = /&#(\w+)(^\w|;)?/g; + Zi.htmlCtrlEntityRegex = /&(newline|tab);/gi; + Zi.ctrlCharactersRegex = /[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim; + Zi.urlSchemeRegex = /^.+(:|:)/gim; + Zi.whitespaceEscapeCharsRegex = /(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g; + Zi.relativeFirstCharacters = ['.', '/']; + Zi.BLANK_URL = 'about:blank'; + }); + var Up = gi((X3) => { + 'use strict'; + Object.defineProperty(X3, '__esModule', { value: !0 }); + X3.sanitizeUrl = void 0; + var Na = bW(); + function kTe(t) { + return Na.relativeFirstCharacters.indexOf(t[0]) > -1; + } + o(kTe, 'isRelativeUrlWithoutProtocol'); + function ETe(t) { + var e = t.replace(Na.ctrlCharactersRegex, ''); + return e.replace(Na.htmlEntitiesRegex, function (r, n) { + return String.fromCharCode(n); + }); + } + o(ETe, 'decodeHtmlCharacters'); + function CTe(t) { + return URL.canParse(t); + } + o(CTe, 'isValidUrl'); + function wW(t) { + try { + return decodeURIComponent(t); + } catch { + return t; + } + } + o(wW, 'decodeURI'); + function STe(t) { + if (!t) return Na.BLANK_URL; + var e, + r = wW(t.trim()); + do + (r = ETe(r) + .replace(Na.htmlCtrlEntityRegex, '') + .replace(Na.ctrlCharactersRegex, '') + .replace(Na.whitespaceEscapeCharsRegex, '') + .trim()), + (r = wW(r)), + (e = + r.match(Na.ctrlCharactersRegex) || + r.match(Na.htmlEntitiesRegex) || + r.match(Na.htmlCtrlEntityRegex) || + r.match(Na.whitespaceEscapeCharsRegex)); + while (e && e.length > 0); + var n = r; + if (!n) return Na.BLANK_URL; + if (kTe(n)) return n; + var i = n.trimStart(), + a = i.match(Na.urlSchemeRegex); + if (!a) return n; + var s = a[0].toLowerCase().trim(); + if (Na.invalidProtocolRegex.test(s)) return Na.BLANK_URL; + var l = i.replace(/\\/g, '/'); + if (s === 'mailto:' || s.includes('://')) return l; + if (s === 'http:' || s === 'https:') { + if (!CTe(l)) return Na.BLANK_URL; + var u = new URL(l); + return (u.protocol = u.protocol.toLowerCase()), (u.hostname = u.hostname.toLowerCase()), u.toString(); + } + return l; + } + o(STe, 'sanitizeUrl'); + X3.sanitizeUrl = STe; + }); + var C_, + yd, + j3, + TW, + kW, + EW, + wl, + Ky, + Qy = R(() => { + 'use strict'; + C_ = Xi(Up(), 1); + rr(); + (yd = o((t, e) => { + let r = t.append('rect'); + if ( + (r.attr('x', e.x), + r.attr('y', e.y), + r.attr('fill', e.fill), + r.attr('stroke', e.stroke), + r.attr('width', e.width), + r.attr('height', e.height), + e.name && r.attr('name', e.name), + e.rx && r.attr('rx', e.rx), + e.ry && r.attr('ry', e.ry), + e.attrs !== void 0) + ) + for (let n in e.attrs) r.attr(n, e.attrs[n]); + return e.class && r.attr('class', e.class), r; + }, 'drawRect')), + (j3 = o((t, e) => { + let r = { + x: e.startx, + y: e.starty, + width: e.stopx - e.startx, + height: e.stopy - e.starty, + fill: e.fill, + stroke: e.stroke, + class: 'rect' + }; + yd(t, r).lower(); + }, 'drawBackgroundRect')), + (TW = o((t, e) => { + let r = e.text.replace(Qf, ' '), + n = t.append('text'); + n.attr('x', e.x), + n.attr('y', e.y), + n.attr('class', 'legend'), + n.style('text-anchor', e.anchor), + e.class && n.attr('class', e.class); + let i = n.append('tspan'); + return i.attr('x', e.x + e.textMargin * 2), i.text(r), n; + }, 'drawText')), + (kW = o((t, e, r, n) => { + let i = t.append('image'); + i.attr('x', e), i.attr('y', r); + let a = (0, C_.sanitizeUrl)(n); + i.attr('xlink:href', a); + }, 'drawImage')), + (EW = o((t, e, r, n) => { + let i = t.append('use'); + i.attr('x', e), i.attr('y', r); + let a = (0, C_.sanitizeUrl)(n); + i.attr('xlink:href', `#${a}`); + }, 'drawEmbeddedImage')), + (wl = o( + () => ({ + x: 0, + y: 0, + width: 100, + height: 100, + fill: '#EDF2AE', + stroke: '#666', + anchor: 'start', + rx: 0, + ry: 0 + }), + 'getNoteRect' + )), + (Ky = o( + () => ({ + x: 0, + y: 0, + width: 100, + height: 100, + 'text-anchor': 'start', + style: '#666', + textMargin: 0, + rx: 0, + ry: 0, + tspan: !0 + }), + 'getTextObj' + )); + }); + var CW, + S_, + SW, + ATe, + _Te, + LTe, + DTe, + RTe, + NTe, + MTe, + ITe, + OTe, + PTe, + BTe, + FTe, + bu, + Tl, + AW = R(() => { + 'use strict'; + rr(); + Qy(); + (CW = Xi(Up(), 1)), + (S_ = o(function (t, e) { + return yd(t, e); + }, 'drawRect')), + (SW = o(function (t, e, r, n, i, a) { + let s = t.append('image'); + s.attr('width', e), s.attr('height', r), s.attr('x', n), s.attr('y', i); + let l = a.startsWith('data:image/png;base64') ? a : (0, CW.sanitizeUrl)(a); + s.attr('xlink:href', l); + }, 'drawImage')), + (ATe = o((t, e, r) => { + let n = t.append('g'), + i = 0; + for (let a of e) { + let s = a.textColor ? a.textColor : '#444444', + l = a.lineColor ? a.lineColor : '#444444', + u = a.offsetX ? parseInt(a.offsetX) : 0, + h = a.offsetY ? parseInt(a.offsetY) : 0, + f = ''; + if (i === 0) { + let p = n.append('line'); + p.attr('x1', a.startPoint.x), + p.attr('y1', a.startPoint.y), + p.attr('x2', a.endPoint.x), + p.attr('y2', a.endPoint.y), + p.attr('stroke-width', '1'), + p.attr('stroke', l), + p.style('fill', 'none'), + a.type !== 'rel_b' && p.attr('marker-end', 'url(' + f + '#arrowhead)'), + (a.type === 'birel' || a.type === 'rel_b') && + p.attr('marker-start', 'url(' + f + '#arrowend)'), + (i = -1); + } else { + let p = n.append('path'); + p + .attr('fill', 'none') + .attr('stroke-width', '1') + .attr('stroke', l) + .attr( + 'd', + 'Mstartx,starty Qcontrolx,controly stopx,stopy ' + .replaceAll('startx', a.startPoint.x) + .replaceAll('starty', a.startPoint.y) + .replaceAll( + 'controlx', + a.startPoint.x + + (a.endPoint.x - a.startPoint.x) / 2 - + (a.endPoint.x - a.startPoint.x) / 4 + ) + .replaceAll('controly', a.startPoint.y + (a.endPoint.y - a.startPoint.y) / 2) + .replaceAll('stopx', a.endPoint.x) + .replaceAll('stopy', a.endPoint.y) + ), + a.type !== 'rel_b' && p.attr('marker-end', 'url(' + f + '#arrowhead)'), + (a.type === 'birel' || a.type === 'rel_b') && + p.attr('marker-start', 'url(' + f + '#arrowend)'); + } + let d = r.messageFont(); + bu(r)( + a.label.text, + n, + Math.min(a.startPoint.x, a.endPoint.x) + Math.abs(a.endPoint.x - a.startPoint.x) / 2 + u, + Math.min(a.startPoint.y, a.endPoint.y) + Math.abs(a.endPoint.y - a.startPoint.y) / 2 + h, + a.label.width, + a.label.height, + { fill: s }, + d + ), + a.techn && + a.techn.text !== '' && + ((d = r.messageFont()), + bu(r)( + '[' + a.techn.text + ']', + n, + Math.min(a.startPoint.x, a.endPoint.x) + + Math.abs(a.endPoint.x - a.startPoint.x) / 2 + + u, + Math.min(a.startPoint.y, a.endPoint.y) + + Math.abs(a.endPoint.y - a.startPoint.y) / 2 + + r.messageFontSize + + 5 + + h, + Math.max(a.label.width, a.techn.width), + a.techn.height, + { fill: s, 'font-style': 'italic' }, + d + )); + } + }, 'drawRels')), + (_Te = o(function (t, e, r) { + let n = t.append('g'), + i = e.bgColor ? e.bgColor : 'none', + a = e.borderColor ? e.borderColor : '#444444', + s = e.fontColor ? e.fontColor : 'black', + l = { 'stroke-width': 1, 'stroke-dasharray': '7.0,7.0' }; + e.nodeType && (l = { 'stroke-width': 1 }); + let u = { + x: e.x, + y: e.y, + fill: i, + stroke: a, + width: e.width, + height: e.height, + rx: 2.5, + ry: 2.5, + attrs: l + }; + S_(n, u); + let h = r.boundaryFont(); + (h.fontWeight = 'bold'), + (h.fontSize = h.fontSize + 2), + (h.fontColor = s), + bu(r)(e.label.text, n, e.x, e.y + e.label.Y, e.width, e.height, { fill: '#444444' }, h), + e.type && + e.type.text !== '' && + ((h = r.boundaryFont()), + (h.fontColor = s), + bu(r)(e.type.text, n, e.x, e.y + e.type.Y, e.width, e.height, { fill: '#444444' }, h)), + e.descr && + e.descr.text !== '' && + ((h = r.boundaryFont()), + (h.fontSize = h.fontSize - 2), + (h.fontColor = s), + bu(r)(e.descr.text, n, e.x, e.y + e.descr.Y, e.width, e.height, { fill: '#444444' }, h)); + }, 'drawBoundary')), + (LTe = o(function (t, e, r) { + let n = e.bgColor ? e.bgColor : r[e.typeC4Shape.text + '_bg_color'], + i = e.borderColor ? e.borderColor : r[e.typeC4Shape.text + '_border_color'], + a = e.fontColor ? e.fontColor : '#FFFFFF', + s = + 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII='; + switch (e.typeC4Shape.text) { + case 'person': + s = + 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII='; + break; + case 'external_person': + s = + 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII='; + break; + } + let l = t.append('g'); + l.attr('class', 'person-man'); + let u = wl(); + switch (e.typeC4Shape.text) { + case 'person': + case 'external_person': + case 'system': + case 'external_system': + case 'container': + case 'external_container': + case 'component': + case 'external_component': + (u.x = e.x), + (u.y = e.y), + (u.fill = n), + (u.width = e.width), + (u.height = e.height), + (u.stroke = i), + (u.rx = 2.5), + (u.ry = 2.5), + (u.attrs = { 'stroke-width': 0.5 }), + S_(l, u); + break; + case 'system_db': + case 'external_system_db': + case 'container_db': + case 'external_container_db': + case 'component_db': + case 'external_component_db': + l + .append('path') + .attr('fill', n) + .attr('stroke-width', '0.5') + .attr('stroke', i) + .attr( + 'd', + 'Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height' + .replaceAll('startx', e.x) + .replaceAll('starty', e.y) + .replaceAll('half', e.width / 2) + .replaceAll('height', e.height) + ), + l + .append('path') + .attr('fill', 'none') + .attr('stroke-width', '0.5') + .attr('stroke', i) + .attr( + 'd', + 'Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10' + .replaceAll('startx', e.x) + .replaceAll('starty', e.y) + .replaceAll('half', e.width / 2) + ); + break; + case 'system_queue': + case 'external_system_queue': + case 'container_queue': + case 'external_container_queue': + case 'component_queue': + case 'external_component_queue': + l + .append('path') + .attr('fill', n) + .attr('stroke-width', '0.5') + .attr('stroke', i) + .attr( + 'd', + 'Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half' + .replaceAll('startx', e.x) + .replaceAll('starty', e.y) + .replaceAll('width', e.width) + .replaceAll('half', e.height / 2) + ), + l + .append('path') + .attr('fill', 'none') + .attr('stroke-width', '0.5') + .attr('stroke', i) + .attr( + 'd', + 'Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half' + .replaceAll('startx', e.x + e.width) + .replaceAll('starty', e.y) + .replaceAll('half', e.height / 2) + ); + break; + } + let h = FTe(r, e.typeC4Shape.text); + switch ( + (l + .append('text') + .attr('fill', a) + .attr('font-family', h.fontFamily) + .attr('font-size', h.fontSize - 2) + .attr('font-style', 'italic') + .attr('lengthAdjust', 'spacing') + .attr('textLength', e.typeC4Shape.width) + .attr('x', e.x + e.width / 2 - e.typeC4Shape.width / 2) + .attr('y', e.y + e.typeC4Shape.Y) + .text('<<' + e.typeC4Shape.text + '>>'), + e.typeC4Shape.text) + ) { + case 'person': + case 'external_person': + SW(l, 48, 48, e.x + e.width / 2 - 24, e.y + e.image.Y, s); + break; + } + let f = r[e.typeC4Shape.text + 'Font'](); + return ( + (f.fontWeight = 'bold'), + (f.fontSize = f.fontSize + 2), + (f.fontColor = a), + bu(r)(e.label.text, l, e.x, e.y + e.label.Y, e.width, e.height, { fill: a }, f), + (f = r[e.typeC4Shape.text + 'Font']()), + (f.fontColor = a), + e.techn && e.techn?.text !== '' + ? bu(r)( + e.techn.text, + l, + e.x, + e.y + e.techn.Y, + e.width, + e.height, + { fill: a, 'font-style': 'italic' }, + f + ) + : e.type && + e.type.text !== '' && + bu(r)( + e.type.text, + l, + e.x, + e.y + e.type.Y, + e.width, + e.height, + { fill: a, 'font-style': 'italic' }, + f + ), + e.descr && + e.descr.text !== '' && + ((f = r.personFont()), + (f.fontColor = a), + bu(r)(e.descr.text, l, e.x, e.y + e.descr.Y, e.width, e.height, { fill: a }, f)), + e.height + ); + }, 'drawC4Shape')), + (DTe = o(function (t) { + t.append('defs') + .append('symbol') + .attr('id', 'database') + .attr('fill-rule', 'evenodd') + .attr('clip-rule', 'evenodd') + .append('path') + .attr('transform', 'scale(.5)') + .attr( + 'd', + 'M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z' + ); + }, 'insertDatabaseIcon')), + (RTe = o(function (t) { + t.append('defs') + .append('symbol') + .attr('id', 'computer') + .attr('width', '24') + .attr('height', '24') + .append('path') + .attr('transform', 'scale(.5)') + .attr( + 'd', + 'M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z' + ); + }, 'insertComputerIcon')), + (NTe = o(function (t) { + t.append('defs') + .append('symbol') + .attr('id', 'clock') + .attr('width', '24') + .attr('height', '24') + .append('path') + .attr('transform', 'scale(.5)') + .attr( + 'd', + 'M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z' + ); + }, 'insertClockIcon')), + (MTe = o(function (t) { + t.append('defs') + .append('marker') + .attr('id', 'arrowhead') + .attr('refX', 9) + .attr('refY', 5) + .attr('markerUnits', 'userSpaceOnUse') + .attr('markerWidth', 12) + .attr('markerHeight', 12) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 0 0 L 10 5 L 0 10 z'); + }, 'insertArrowHead')), + (ITe = o(function (t) { + t.append('defs') + .append('marker') + .attr('id', 'arrowend') + .attr('refX', 1) + .attr('refY', 5) + .attr('markerUnits', 'userSpaceOnUse') + .attr('markerWidth', 12) + .attr('markerHeight', 12) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 10 0 L 0 5 L 10 10 z'); + }, 'insertArrowEnd')), + (OTe = o(function (t) { + t.append('defs') + .append('marker') + .attr('id', 'filled-head') + .attr('refX', 18) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L14,7 L9,1 Z'); + }, 'insertArrowFilledHead')), + (PTe = o(function (t) { + t.append('defs') + .append('marker') + .attr('id', 'sequencenumber') + .attr('refX', 15) + .attr('refY', 15) + .attr('markerWidth', 60) + .attr('markerHeight', 40) + .attr('orient', 'auto') + .append('circle') + .attr('cx', 15) + .attr('cy', 15) + .attr('r', 6); + }, 'insertDynamicNumber')), + (BTe = o(function (t) { + let r = t + .append('defs') + .append('marker') + .attr('id', 'crosshead') + .attr('markerWidth', 15) + .attr('markerHeight', 8) + .attr('orient', 'auto') + .attr('refX', 16) + .attr('refY', 4); + r + .append('path') + .attr('fill', 'black') + .attr('stroke', '#000000') + .style('stroke-dasharray', '0, 0') + .attr('stroke-width', '1px') + .attr('d', 'M 9,2 V 6 L16,4 Z'), + r + .append('path') + .attr('fill', 'none') + .attr('stroke', '#000000') + .style('stroke-dasharray', '0, 0') + .attr('stroke-width', '1px') + .attr('d', 'M 0,1 L 6,7 M 6,1 L 0,7'); + }, 'insertArrowCrossHead')), + (FTe = o( + (t, e) => ({ + fontFamily: t[e + 'FontFamily'], + fontSize: t[e + 'FontSize'], + fontWeight: t[e + 'FontWeight'] + }), + 'getC4ShapeFont' + )), + (bu = (function () { + function t(i, a, s, l, u, h, f) { + let d = a + .append('text') + .attr('x', s + u / 2) + .attr('y', l + h / 2 + 5) + .style('text-anchor', 'middle') + .text(i); + n(d, f); + } + o(t, 'byText'); + function e(i, a, s, l, u, h, f, d) { + let { fontSize: p, fontFamily: m, fontWeight: g } = d, + y = i.split(We.lineBreakRegex); + for (let v = 0; v < y.length; v++) { + let x = v * p - (p * (y.length - 1)) / 2, + b = a + .append('text') + .attr('x', s + u / 2) + .attr('y', l) + .style('text-anchor', 'middle') + .attr('dominant-baseline', 'middle') + .style('font-size', p) + .style('font-weight', g) + .style('font-family', m); + b.append('tspan').attr('dy', x).text(y[v]).attr('alignment-baseline', 'mathematical'), + n(b, f); + } + } + o(e, 'byTspan'); + function r(i, a, s, l, u, h, f, d) { + let p = a.append('switch'), + g = p + .append('foreignObject') + .attr('x', s) + .attr('y', l) + .attr('width', u) + .attr('height', h) + .append('xhtml:div') + .style('display', 'table') + .style('height', '100%') + .style('width', '100%'); + g + .append('div') + .style('display', 'table-cell') + .style('text-align', 'center') + .style('vertical-align', 'middle') + .text(i), + e(i, p, s, l, u, h, f, d), + n(g, f); + } + o(r, 'byFo'); + function n(i, a) { + for (let s in a) a.hasOwnProperty(s) && i.attr(s, a[s]); + } + return ( + o(n, '_setTextAttrs'), + function (i) { + return i.textPlacement === 'fo' ? r : i.textPlacement === 'old' ? t : e; + } + ); + })()), + (Tl = { + drawRect: S_, + drawBoundary: _Te, + drawC4Shape: LTe, + drawRels: ATe, + drawImage: SW, + insertArrowHead: MTe, + insertArrowEnd: ITe, + insertArrowFilledHead: OTe, + insertDynamicNumber: PTe, + insertArrowCrossHead: BTe, + insertDatabaseIcon: DTe, + insertComputerIcon: RTe, + insertClockIcon: NTe + }); + }); + var zTe, + Q3, + A_ = R(() => { + 'use strict'; + (zTe = typeof global == 'object' && global && global.Object === Object && global), (Q3 = zTe); + }); + var GTe, + $Te, + Jn, + Ro = R(() => { + 'use strict'; + A_(); + (GTe = typeof self == 'object' && self && self.Object === Object && self), + ($Te = Q3 || GTe || Function('return this')()), + (Jn = $Te); + }); + var VTe, + Ji, + vd = R(() => { + 'use strict'; + Ro(); + (VTe = Jn.Symbol), (Ji = VTe); + }); + function YTe(t) { + var e = UTe.call(t, Zy), + r = t[Zy]; + try { + t[Zy] = void 0; + var n = !0; + } catch {} + var i = HTe.call(t); + return n && (e ? (t[Zy] = r) : delete t[Zy]), i; + } + var _W, + UTe, + HTe, + Zy, + LW, + DW = R(() => { + 'use strict'; + vd(); + (_W = Object.prototype), + (UTe = _W.hasOwnProperty), + (HTe = _W.toString), + (Zy = Ji ? Ji.toStringTag : void 0); + o(YTe, 'getRawTag'); + LW = YTe; + }); + function XTe(t) { + return qTe.call(t); + } + var WTe, + qTe, + RW, + NW = R(() => { + 'use strict'; + (WTe = Object.prototype), (qTe = WTe.toString); + o(XTe, 'objectToString'); + RW = XTe; + }); + function QTe(t) { + return t == null ? (t === void 0 ? KTe : jTe) : MW && MW in Object(t) ? LW(t) : RW(t); + } + var jTe, + KTe, + MW, + fa, + wu = R(() => { + 'use strict'; + vd(); + DW(); + NW(); + (jTe = '[object Null]'), (KTe = '[object Undefined]'), (MW = Ji ? Ji.toStringTag : void 0); + o(QTe, 'baseGetTag'); + fa = QTe; + }); + function ZTe(t) { + var e = typeof t; + return t != null && (e == 'object' || e == 'function'); + } + var pn, + Js = R(() => { + 'use strict'; + o(ZTe, 'isObject'); + pn = ZTe; + }); + function nke(t) { + if (!pn(t)) return !1; + var e = fa(t); + return e == eke || e == tke || e == JTe || e == rke; + } + var JTe, + eke, + tke, + rke, + wi, + Jy = R(() => { + 'use strict'; + wu(); + Js(); + (JTe = '[object AsyncFunction]'), + (eke = '[object Function]'), + (tke = '[object GeneratorFunction]'), + (rke = '[object Proxy]'); + o(nke, 'isFunction'); + wi = nke; + }); + var ike, + Z3, + IW = R(() => { + 'use strict'; + Ro(); + (ike = Jn['__core-js_shared__']), (Z3 = ike); + }); + function ake(t) { + return !!OW && OW in t; + } + var OW, + PW, + BW = R(() => { + 'use strict'; + IW(); + OW = (function () { + var t = /[^.]+$/.exec((Z3 && Z3.keys && Z3.keys.IE_PROTO) || ''); + return t ? 'Symbol(src)_1.' + t : ''; + })(); + o(ake, 'isMasked'); + PW = ake; + }); + function lke(t) { + if (t != null) { + try { + return oke.call(t); + } catch {} + try { + return t + ''; + } catch {} + } + return ''; + } + var ske, + oke, + Tu, + __ = R(() => { + 'use strict'; + (ske = Function.prototype), (oke = ske.toString); + o(lke, 'toSource'); + Tu = lke; + }); + function gke(t) { + if (!pn(t) || PW(t)) return !1; + var e = wi(t) ? mke : uke; + return e.test(Tu(t)); + } + var cke, + uke, + hke, + fke, + dke, + pke, + mke, + FW, + zW = R(() => { + 'use strict'; + Jy(); + BW(); + Js(); + __(); + (cke = /[\\^$.*+?()[\]{}|]/g), + (uke = /^\[object .+?Constructor\]$/), + (hke = Function.prototype), + (fke = Object.prototype), + (dke = hke.toString), + (pke = fke.hasOwnProperty), + (mke = RegExp( + '^' + + dke + .call(pke) + .replace(cke, '\\$&') + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + + '$' + )); + o(gke, 'baseIsNative'); + FW = gke; + }); + function yke(t, e) { + return t?.[e]; + } + var GW, + $W = R(() => { + 'use strict'; + o(yke, 'getValue'); + GW = yke; + }); + function vke(t, e) { + var r = GW(t, e); + return FW(r) ? r : void 0; + } + var xs, + Nh = R(() => { + 'use strict'; + zW(); + $W(); + o(vke, 'getNative'); + xs = vke; + }); + var xke, + ku, + ev = R(() => { + 'use strict'; + Nh(); + (xke = xs(Object, 'create')), (ku = xke); + }); + function bke() { + (this.__data__ = ku ? ku(null) : {}), (this.size = 0); + } + var VW, + UW = R(() => { + 'use strict'; + ev(); + o(bke, 'hashClear'); + VW = bke; + }); + function wke(t) { + var e = this.has(t) && delete this.__data__[t]; + return (this.size -= e ? 1 : 0), e; + } + var HW, + YW = R(() => { + 'use strict'; + o(wke, 'hashDelete'); + HW = wke; + }); + function Cke(t) { + var e = this.__data__; + if (ku) { + var r = e[t]; + return r === Tke ? void 0 : r; + } + return Eke.call(e, t) ? e[t] : void 0; + } + var Tke, + kke, + Eke, + WW, + qW = R(() => { + 'use strict'; + ev(); + (Tke = '__lodash_hash_undefined__'), (kke = Object.prototype), (Eke = kke.hasOwnProperty); + o(Cke, 'hashGet'); + WW = Cke; + }); + function _ke(t) { + var e = this.__data__; + return ku ? e[t] !== void 0 : Ake.call(e, t); + } + var Ske, + Ake, + XW, + jW = R(() => { + 'use strict'; + ev(); + (Ske = Object.prototype), (Ake = Ske.hasOwnProperty); + o(_ke, 'hashHas'); + XW = _ke; + }); + function Dke(t, e) { + var r = this.__data__; + return (this.size += this.has(t) ? 0 : 1), (r[t] = ku && e === void 0 ? Lke : e), this; + } + var Lke, + KW, + QW = R(() => { + 'use strict'; + ev(); + Lke = '__lodash_hash_undefined__'; + o(Dke, 'hashSet'); + KW = Dke; + }); + function Hp(t) { + var e = -1, + r = t == null ? 0 : t.length; + for (this.clear(); ++e < r; ) { + var n = t[e]; + this.set(n[0], n[1]); + } + } + var L_, + ZW = R(() => { + 'use strict'; + UW(); + YW(); + qW(); + jW(); + QW(); + o(Hp, 'Hash'); + Hp.prototype.clear = VW; + Hp.prototype.delete = HW; + Hp.prototype.get = WW; + Hp.prototype.has = XW; + Hp.prototype.set = KW; + L_ = Hp; + }); + function Rke() { + (this.__data__ = []), (this.size = 0); + } + var JW, + eq = R(() => { + 'use strict'; + o(Rke, 'listCacheClear'); + JW = Rke; + }); + function Nke(t, e) { + return t === e || (t !== t && e !== e); + } + var No, + xd = R(() => { + 'use strict'; + o(Nke, 'eq'); + No = Nke; + }); + function Mke(t, e) { + for (var r = t.length; r--; ) if (No(t[r][0], e)) return r; + return -1; + } + var Mh, + tv = R(() => { + 'use strict'; + xd(); + o(Mke, 'assocIndexOf'); + Mh = Mke; + }); + function Pke(t) { + var e = this.__data__, + r = Mh(e, t); + if (r < 0) return !1; + var n = e.length - 1; + return r == n ? e.pop() : Oke.call(e, r, 1), --this.size, !0; + } + var Ike, + Oke, + tq, + rq = R(() => { + 'use strict'; + tv(); + (Ike = Array.prototype), (Oke = Ike.splice); + o(Pke, 'listCacheDelete'); + tq = Pke; + }); + function Bke(t) { + var e = this.__data__, + r = Mh(e, t); + return r < 0 ? void 0 : e[r][1]; + } + var nq, + iq = R(() => { + 'use strict'; + tv(); + o(Bke, 'listCacheGet'); + nq = Bke; + }); + function Fke(t) { + return Mh(this.__data__, t) > -1; + } + var aq, + sq = R(() => { + 'use strict'; + tv(); + o(Fke, 'listCacheHas'); + aq = Fke; + }); + function zke(t, e) { + var r = this.__data__, + n = Mh(r, t); + return n < 0 ? (++this.size, r.push([t, e])) : (r[n][1] = e), this; + } + var oq, + lq = R(() => { + 'use strict'; + tv(); + o(zke, 'listCacheSet'); + oq = zke; + }); + function Yp(t) { + var e = -1, + r = t == null ? 0 : t.length; + for (this.clear(); ++e < r; ) { + var n = t[e]; + this.set(n[0], n[1]); + } + } + var Ih, + rv = R(() => { + 'use strict'; + eq(); + rq(); + iq(); + sq(); + lq(); + o(Yp, 'ListCache'); + Yp.prototype.clear = JW; + Yp.prototype.delete = tq; + Yp.prototype.get = nq; + Yp.prototype.has = aq; + Yp.prototype.set = oq; + Ih = Yp; + }); + var Gke, + Oh, + J3 = R(() => { + 'use strict'; + Nh(); + Ro(); + (Gke = xs(Jn, 'Map')), (Oh = Gke); + }); + function $ke() { + (this.size = 0), + (this.__data__ = { + hash: new L_(), + map: new (Oh || Ih)(), + string: new L_() + }); + } + var cq, + uq = R(() => { + 'use strict'; + ZW(); + rv(); + J3(); + o($ke, 'mapCacheClear'); + cq = $ke; + }); + function Vke(t) { + var e = typeof t; + return e == 'string' || e == 'number' || e == 'symbol' || e == 'boolean' ? t !== '__proto__' : t === null; + } + var hq, + fq = R(() => { + 'use strict'; + o(Vke, 'isKeyable'); + hq = Vke; + }); + function Uke(t, e) { + var r = t.__data__; + return hq(e) ? r[typeof e == 'string' ? 'string' : 'hash'] : r.map; + } + var Ph, + nv = R(() => { + 'use strict'; + fq(); + o(Uke, 'getMapData'); + Ph = Uke; + }); + function Hke(t) { + var e = Ph(this, t).delete(t); + return (this.size -= e ? 1 : 0), e; + } + var dq, + pq = R(() => { + 'use strict'; + nv(); + o(Hke, 'mapCacheDelete'); + dq = Hke; + }); + function Yke(t) { + return Ph(this, t).get(t); + } + var mq, + gq = R(() => { + 'use strict'; + nv(); + o(Yke, 'mapCacheGet'); + mq = Yke; + }); + function Wke(t) { + return Ph(this, t).has(t); + } + var yq, + vq = R(() => { + 'use strict'; + nv(); + o(Wke, 'mapCacheHas'); + yq = Wke; + }); + function qke(t, e) { + var r = Ph(this, t), + n = r.size; + return r.set(t, e), (this.size += r.size == n ? 0 : 1), this; + } + var xq, + bq = R(() => { + 'use strict'; + nv(); + o(qke, 'mapCacheSet'); + xq = qke; + }); + function Wp(t) { + var e = -1, + r = t == null ? 0 : t.length; + for (this.clear(); ++e < r; ) { + var n = t[e]; + this.set(n[0], n[1]); + } + } + var bd, + e5 = R(() => { + 'use strict'; + uq(); + pq(); + gq(); + vq(); + bq(); + o(Wp, 'MapCache'); + Wp.prototype.clear = cq; + Wp.prototype.delete = dq; + Wp.prototype.get = mq; + Wp.prototype.has = yq; + Wp.prototype.set = xq; + bd = Wp; + }); + function D_(t, e) { + if (typeof t != 'function' || (e != null && typeof e != 'function')) throw new TypeError(Xke); + var r = o(function () { + var n = arguments, + i = e ? e.apply(this, n) : n[0], + a = r.cache; + if (a.has(i)) return a.get(i); + var s = t.apply(this, n); + return (r.cache = a.set(i, s) || a), s; + }, 'memoized'); + return (r.cache = new (D_.Cache || bd)()), r; + } + var Xke, + qp, + R_ = R(() => { + 'use strict'; + e5(); + Xke = 'Expected a function'; + o(D_, 'memoize'); + D_.Cache = bd; + qp = D_; + }); + function jke() { + (this.__data__ = new Ih()), (this.size = 0); + } + var wq, + Tq = R(() => { + 'use strict'; + rv(); + o(jke, 'stackClear'); + wq = jke; + }); + function Kke(t) { + var e = this.__data__, + r = e.delete(t); + return (this.size = e.size), r; + } + var kq, + Eq = R(() => { + 'use strict'; + o(Kke, 'stackDelete'); + kq = Kke; + }); + function Qke(t) { + return this.__data__.get(t); + } + var Cq, + Sq = R(() => { + 'use strict'; + o(Qke, 'stackGet'); + Cq = Qke; + }); + function Zke(t) { + return this.__data__.has(t); + } + var Aq, + _q = R(() => { + 'use strict'; + o(Zke, 'stackHas'); + Aq = Zke; + }); + function eEe(t, e) { + var r = this.__data__; + if (r instanceof Ih) { + var n = r.__data__; + if (!Oh || n.length < Jke - 1) return n.push([t, e]), (this.size = ++r.size), this; + r = this.__data__ = new bd(n); + } + return r.set(t, e), (this.size = r.size), this; + } + var Jke, + Lq, + Dq = R(() => { + 'use strict'; + rv(); + J3(); + e5(); + Jke = 200; + o(eEe, 'stackSet'); + Lq = eEe; + }); + function Xp(t) { + var e = (this.__data__ = new Ih(t)); + this.size = e.size; + } + var uc, + iv = R(() => { + 'use strict'; + rv(); + Tq(); + Eq(); + Sq(); + _q(); + Dq(); + o(Xp, 'Stack'); + Xp.prototype.clear = wq; + Xp.prototype.delete = kq; + Xp.prototype.get = Cq; + Xp.prototype.has = Aq; + Xp.prototype.set = Lq; + uc = Xp; + }); + var tEe, + jp, + N_ = R(() => { + 'use strict'; + Nh(); + (tEe = (function () { + try { + var t = xs(Object, 'defineProperty'); + return t({}, '', {}), t; + } catch {} + })()), + (jp = tEe); + }); + function rEe(t, e, r) { + e == '__proto__' && jp ? jp(t, e, { configurable: !0, enumerable: !0, value: r, writable: !0 }) : (t[e] = r); + } + var hc, + Kp = R(() => { + 'use strict'; + N_(); + o(rEe, 'baseAssignValue'); + hc = rEe; + }); + function nEe(t, e, r) { + ((r !== void 0 && !No(t[e], r)) || (r === void 0 && !(e in t))) && hc(t, e, r); + } + var av, + M_ = R(() => { + 'use strict'; + Kp(); + xd(); + o(nEe, 'assignMergeValue'); + av = nEe; + }); + function iEe(t) { + return function (e, r, n) { + for (var i = -1, a = Object(e), s = n(e), l = s.length; l--; ) { + var u = s[t ? l : ++i]; + if (r(a[u], u, a) === !1) break; + } + return e; + }; + } + var Rq, + Nq = R(() => { + 'use strict'; + o(iEe, 'createBaseFor'); + Rq = iEe; + }); + var aEe, + Qp, + t5 = R(() => { + 'use strict'; + Nq(); + (aEe = Rq()), (Qp = aEe); + }); + function oEe(t, e) { + if (e) return t.slice(); + var r = t.length, + n = Oq ? Oq(r) : new t.constructor(r); + return t.copy(n), n; + } + var Pq, + Mq, + sEe, + Iq, + Oq, + r5, + I_ = R(() => { + 'use strict'; + Ro(); + (Pq = typeof exports == 'object' && exports && !exports.nodeType && exports), + (Mq = Pq && typeof module == 'object' && module && !module.nodeType && module), + (sEe = Mq && Mq.exports === Pq), + (Iq = sEe ? Jn.Buffer : void 0), + (Oq = Iq ? Iq.allocUnsafe : void 0); + o(oEe, 'cloneBuffer'); + r5 = oEe; + }); + var lEe, + Zp, + O_ = R(() => { + 'use strict'; + Ro(); + (lEe = Jn.Uint8Array), (Zp = lEe); + }); + function cEe(t) { + var e = new t.constructor(t.byteLength); + return new Zp(e).set(new Zp(t)), e; + } + var Jp, + n5 = R(() => { + 'use strict'; + O_(); + o(cEe, 'cloneArrayBuffer'); + Jp = cEe; + }); + function uEe(t, e) { + var r = e ? Jp(t.buffer) : t.buffer; + return new t.constructor(r, t.byteOffset, t.length); + } + var i5, + P_ = R(() => { + 'use strict'; + n5(); + o(uEe, 'cloneTypedArray'); + i5 = uEe; + }); + function hEe(t, e) { + var r = -1, + n = t.length; + for (e || (e = Array(n)); ++r < n; ) e[r] = t[r]; + return e; + } + var a5, + B_ = R(() => { + 'use strict'; + o(hEe, 'copyArray'); + a5 = hEe; + }); + var Bq, + fEe, + Fq, + zq = R(() => { + 'use strict'; + Js(); + (Bq = Object.create), + (fEe = (function () { + function t() {} + return ( + o(t, 'object'), + function (e) { + if (!pn(e)) return {}; + if (Bq) return Bq(e); + t.prototype = e; + var r = new t(); + return (t.prototype = void 0), r; + } + ); + })()), + (Fq = fEe); + }); + function dEe(t, e) { + return function (r) { + return t(e(r)); + }; + } + var s5, + F_ = R(() => { + 'use strict'; + o(dEe, 'overArg'); + s5 = dEe; + }); + var pEe, + em, + o5 = R(() => { + 'use strict'; + F_(); + (pEe = s5(Object.getPrototypeOf, Object)), (em = pEe); + }); + function gEe(t) { + var e = t && t.constructor, + r = (typeof e == 'function' && e.prototype) || mEe; + return t === r; + } + var mEe, + fc, + tm = R(() => { + 'use strict'; + mEe = Object.prototype; + o(gEe, 'isPrototype'); + fc = gEe; + }); + function yEe(t) { + return typeof t.constructor == 'function' && !fc(t) ? Fq(em(t)) : {}; + } + var l5, + z_ = R(() => { + 'use strict'; + zq(); + o5(); + tm(); + o(yEe, 'initCloneObject'); + l5 = yEe; + }); + function vEe(t) { + return t != null && typeof t == 'object'; + } + var Wn, + Mo = R(() => { + 'use strict'; + o(vEe, 'isObjectLike'); + Wn = vEe; + }); + function bEe(t) { + return Wn(t) && fa(t) == xEe; + } + var xEe, + G_, + Gq = R(() => { + 'use strict'; + wu(); + Mo(); + xEe = '[object Arguments]'; + o(bEe, 'baseIsArguments'); + G_ = bEe; + }); + var $q, + wEe, + TEe, + kEe, + kl, + rm = R(() => { + 'use strict'; + Gq(); + Mo(); + ($q = Object.prototype), + (wEe = $q.hasOwnProperty), + (TEe = $q.propertyIsEnumerable), + (kEe = G_( + (function () { + return arguments; + })() + ) + ? G_ + : function (t) { + return Wn(t) && wEe.call(t, 'callee') && !TEe.call(t, 'callee'); + }), + (kl = kEe); + }); + var EEe, + wt, + Bn = R(() => { + 'use strict'; + (EEe = Array.isArray), (wt = EEe); + }); + function SEe(t) { + return typeof t == 'number' && t > -1 && t % 1 == 0 && t <= CEe; + } + var CEe, + nm, + c5 = R(() => { + 'use strict'; + CEe = 9007199254740991; + o(SEe, 'isLength'); + nm = SEe; + }); + function AEe(t) { + return t != null && nm(t.length) && !wi(t); + } + var ei, + Io = R(() => { + 'use strict'; + Jy(); + c5(); + o(AEe, 'isArrayLike'); + ei = AEe; + }); + function _Ee(t) { + return Wn(t) && ei(t); + } + var wd, + u5 = R(() => { + 'use strict'; + Io(); + Mo(); + o(_Ee, 'isArrayLikeObject'); + wd = _Ee; + }); + function LEe() { + return !1; + } + var Vq, + Uq = R(() => { + 'use strict'; + o(LEe, 'stubFalse'); + Vq = LEe; + }); + var Wq, + Hq, + DEe, + Yq, + REe, + NEe, + El, + im = R(() => { + 'use strict'; + Ro(); + Uq(); + (Wq = typeof exports == 'object' && exports && !exports.nodeType && exports), + (Hq = Wq && typeof module == 'object' && module && !module.nodeType && module), + (DEe = Hq && Hq.exports === Wq), + (Yq = DEe ? Jn.Buffer : void 0), + (REe = Yq ? Yq.isBuffer : void 0), + (NEe = REe || Vq), + (El = NEe); + }); + function FEe(t) { + if (!Wn(t) || fa(t) != MEe) return !1; + var e = em(t); + if (e === null) return !0; + var r = PEe.call(e, 'constructor') && e.constructor; + return typeof r == 'function' && r instanceof r && qq.call(r) == BEe; + } + var MEe, + IEe, + OEe, + qq, + PEe, + BEe, + Xq, + jq = R(() => { + 'use strict'; + wu(); + o5(); + Mo(); + (MEe = '[object Object]'), + (IEe = Function.prototype), + (OEe = Object.prototype), + (qq = IEe.toString), + (PEe = OEe.hasOwnProperty), + (BEe = qq.call(Object)); + o(FEe, 'isPlainObject'); + Xq = FEe; + }); + function c6e(t) { + return Wn(t) && nm(t.length) && !!Mn[fa(t)]; + } + var zEe, + GEe, + $Ee, + VEe, + UEe, + HEe, + YEe, + WEe, + qEe, + XEe, + jEe, + KEe, + QEe, + ZEe, + JEe, + e6e, + t6e, + r6e, + n6e, + i6e, + a6e, + s6e, + o6e, + l6e, + Mn, + Kq, + Qq = R(() => { + 'use strict'; + wu(); + c5(); + Mo(); + (zEe = '[object Arguments]'), + (GEe = '[object Array]'), + ($Ee = '[object Boolean]'), + (VEe = '[object Date]'), + (UEe = '[object Error]'), + (HEe = '[object Function]'), + (YEe = '[object Map]'), + (WEe = '[object Number]'), + (qEe = '[object Object]'), + (XEe = '[object RegExp]'), + (jEe = '[object Set]'), + (KEe = '[object String]'), + (QEe = '[object WeakMap]'), + (ZEe = '[object ArrayBuffer]'), + (JEe = '[object DataView]'), + (e6e = '[object Float32Array]'), + (t6e = '[object Float64Array]'), + (r6e = '[object Int8Array]'), + (n6e = '[object Int16Array]'), + (i6e = '[object Int32Array]'), + (a6e = '[object Uint8Array]'), + (s6e = '[object Uint8ClampedArray]'), + (o6e = '[object Uint16Array]'), + (l6e = '[object Uint32Array]'), + (Mn = {}); + Mn[e6e] = Mn[t6e] = Mn[r6e] = Mn[n6e] = Mn[i6e] = Mn[a6e] = Mn[s6e] = Mn[o6e] = Mn[l6e] = !0; + Mn[zEe] = + Mn[GEe] = + Mn[ZEe] = + Mn[$Ee] = + Mn[JEe] = + Mn[VEe] = + Mn[UEe] = + Mn[HEe] = + Mn[YEe] = + Mn[WEe] = + Mn[qEe] = + Mn[XEe] = + Mn[jEe] = + Mn[KEe] = + Mn[QEe] = + !1; + o(c6e, 'baseIsTypedArray'); + Kq = c6e; + }); + function u6e(t) { + return function (e) { + return t(e); + }; + } + var Oo, + Td = R(() => { + 'use strict'; + o(u6e, 'baseUnary'); + Oo = u6e; + }); + var Zq, + sv, + h6e, + $_, + f6e, + Po, + ov = R(() => { + 'use strict'; + A_(); + (Zq = typeof exports == 'object' && exports && !exports.nodeType && exports), + (sv = Zq && typeof module == 'object' && module && !module.nodeType && module), + (h6e = sv && sv.exports === Zq), + ($_ = h6e && Q3.process), + (f6e = (function () { + try { + var t = sv && sv.require && sv.require('util').types; + return t || ($_ && $_.binding && $_.binding('util')); + } catch {} + })()), + (Po = f6e); + }); + var Jq, + d6e, + Bh, + lv = R(() => { + 'use strict'; + Qq(); + Td(); + ov(); + (Jq = Po && Po.isTypedArray), (d6e = Jq ? Oo(Jq) : Kq), (Bh = d6e); + }); + function p6e(t, e) { + if (!(e === 'constructor' && typeof t[e] == 'function') && e != '__proto__') return t[e]; + } + var cv, + V_ = R(() => { + 'use strict'; + o(p6e, 'safeGet'); + cv = p6e; + }); + function y6e(t, e, r) { + var n = t[e]; + (!(g6e.call(t, e) && No(n, r)) || (r === void 0 && !(e in t))) && hc(t, e, r); + } + var m6e, + g6e, + dc, + am = R(() => { + 'use strict'; + Kp(); + xd(); + (m6e = Object.prototype), (g6e = m6e.hasOwnProperty); + o(y6e, 'assignValue'); + dc = y6e; + }); + function v6e(t, e, r, n) { + var i = !r; + r || (r = {}); + for (var a = -1, s = e.length; ++a < s; ) { + var l = e[a], + u = n ? n(r[l], t[l], l, r, t) : void 0; + u === void 0 && (u = t[l]), i ? hc(r, l, u) : dc(r, l, u); + } + return r; + } + var Bo, + kd = R(() => { + 'use strict'; + am(); + Kp(); + o(v6e, 'copyObject'); + Bo = v6e; + }); + function x6e(t, e) { + for (var r = -1, n = Array(t); ++r < t; ) n[r] = e(r); + return n; + } + var eX, + tX = R(() => { + 'use strict'; + o(x6e, 'baseTimes'); + eX = x6e; + }); + function T6e(t, e) { + var r = typeof t; + return ( + (e = e ?? b6e), !!e && (r == 'number' || (r != 'symbol' && w6e.test(t))) && t > -1 && t % 1 == 0 && t < e + ); + } + var b6e, + w6e, + Fh, + uv = R(() => { + 'use strict'; + (b6e = 9007199254740991), (w6e = /^(?:0|[1-9]\d*)$/); + o(T6e, 'isIndex'); + Fh = T6e; + }); + function C6e(t, e) { + var r = wt(t), + n = !r && kl(t), + i = !r && !n && El(t), + a = !r && !n && !i && Bh(t), + s = r || n || i || a, + l = s ? eX(t.length, String) : [], + u = l.length; + for (var h in t) + (e || E6e.call(t, h)) && + !( + s && + (h == 'length' || + (i && (h == 'offset' || h == 'parent')) || + (a && (h == 'buffer' || h == 'byteLength' || h == 'byteOffset')) || + Fh(h, u)) + ) && + l.push(h); + return l; + } + var k6e, + E6e, + h5, + U_ = R(() => { + 'use strict'; + tX(); + rm(); + Bn(); + im(); + uv(); + lv(); + (k6e = Object.prototype), (E6e = k6e.hasOwnProperty); + o(C6e, 'arrayLikeKeys'); + h5 = C6e; + }); + function S6e(t) { + var e = []; + if (t != null) for (var r in Object(t)) e.push(r); + return e; + } + var rX, + nX = R(() => { + 'use strict'; + o(S6e, 'nativeKeysIn'); + rX = S6e; + }); + function L6e(t) { + if (!pn(t)) return rX(t); + var e = fc(t), + r = []; + for (var n in t) (n == 'constructor' && (e || !_6e.call(t, n))) || r.push(n); + return r; + } + var A6e, + _6e, + iX, + aX = R(() => { + 'use strict'; + Js(); + tm(); + nX(); + (A6e = Object.prototype), (_6e = A6e.hasOwnProperty); + o(L6e, 'baseKeysIn'); + iX = L6e; + }); + function D6e(t) { + return ei(t) ? h5(t, !0) : iX(t); + } + var bs, + zh = R(() => { + 'use strict'; + U_(); + aX(); + Io(); + o(D6e, 'keysIn'); + bs = D6e; + }); + function R6e(t) { + return Bo(t, bs(t)); + } + var sX, + oX = R(() => { + 'use strict'; + kd(); + zh(); + o(R6e, 'toPlainObject'); + sX = R6e; + }); + function N6e(t, e, r, n, i, a, s) { + var l = cv(t, r), + u = cv(e, r), + h = s.get(u); + if (h) { + av(t, r, h); + return; + } + var f = a ? a(l, u, r + '', t, e, s) : void 0, + d = f === void 0; + if (d) { + var p = wt(u), + m = !p && El(u), + g = !p && !m && Bh(u); + (f = u), + p || m || g + ? wt(l) + ? (f = l) + : wd(l) + ? (f = a5(l)) + : m + ? ((d = !1), (f = r5(u, !0))) + : g + ? ((d = !1), (f = i5(u, !0))) + : (f = []) + : Xq(u) || kl(u) + ? ((f = l), kl(l) ? (f = sX(l)) : (!pn(l) || wi(l)) && (f = l5(u))) + : (d = !1); + } + d && (s.set(u, f), i(f, u, n, a, s), s.delete(u)), av(t, r, f); + } + var lX, + cX = R(() => { + 'use strict'; + M_(); + I_(); + P_(); + B_(); + z_(); + rm(); + Bn(); + u5(); + im(); + Jy(); + Js(); + jq(); + lv(); + V_(); + oX(); + o(N6e, 'baseMergeDeep'); + lX = N6e; + }); + function uX(t, e, r, n, i) { + t !== e && + Qp( + e, + function (a, s) { + if ((i || (i = new uc()), pn(a))) lX(t, e, s, r, uX, n, i); + else { + var l = n ? n(cv(t, s), a, s + '', t, e, i) : void 0; + l === void 0 && (l = a), av(t, s, l); + } + }, + bs + ); + } + var hX, + fX = R(() => { + 'use strict'; + iv(); + M_(); + t5(); + cX(); + Js(); + zh(); + V_(); + o(uX, 'baseMerge'); + hX = uX; + }); + function M6e(t) { + return t; + } + var ea, + Eu = R(() => { + 'use strict'; + o(M6e, 'identity'); + ea = M6e; + }); + function I6e(t, e, r) { + switch (r.length) { + case 0: + return t.call(e); + case 1: + return t.call(e, r[0]); + case 2: + return t.call(e, r[0], r[1]); + case 3: + return t.call(e, r[0], r[1], r[2]); + } + return t.apply(e, r); + } + var dX, + pX = R(() => { + 'use strict'; + o(I6e, 'apply'); + dX = I6e; + }); + function O6e(t, e, r) { + return ( + (e = mX(e === void 0 ? t.length - 1 : e, 0)), + function () { + for (var n = arguments, i = -1, a = mX(n.length - e, 0), s = Array(a); ++i < a; ) s[i] = n[e + i]; + i = -1; + for (var l = Array(e + 1); ++i < e; ) l[i] = n[i]; + return (l[e] = r(s)), dX(t, this, l); + } + ); + } + var mX, + f5, + H_ = R(() => { + 'use strict'; + pX(); + mX = Math.max; + o(O6e, 'overRest'); + f5 = O6e; + }); + function P6e(t) { + return function () { + return t; + }; + } + var ws, + Y_ = R(() => { + 'use strict'; + o(P6e, 'constant'); + ws = P6e; + }); + var B6e, + gX, + yX = R(() => { + 'use strict'; + Y_(); + N_(); + Eu(); + (B6e = jp + ? function (t, e) { + return jp(t, 'toString', { + configurable: !0, + enumerable: !1, + value: ws(e), + writable: !0 + }); + } + : ea), + (gX = B6e); + }); + function $6e(t) { + var e = 0, + r = 0; + return function () { + var n = G6e(), + i = z6e - (n - r); + if (((r = n), i > 0)) { + if (++e >= F6e) return arguments[0]; + } else e = 0; + return t.apply(void 0, arguments); + }; + } + var F6e, + z6e, + G6e, + vX, + xX = R(() => { + 'use strict'; + (F6e = 800), (z6e = 16), (G6e = Date.now); + o($6e, 'shortOut'); + vX = $6e; + }); + var V6e, + d5, + W_ = R(() => { + 'use strict'; + yX(); + xX(); + (V6e = vX(gX)), (d5 = V6e); + }); + function U6e(t, e) { + return d5(f5(t, e, ea), t + ''); + } + var pc, + sm = R(() => { + 'use strict'; + Eu(); + H_(); + W_(); + o(U6e, 'baseRest'); + pc = U6e; + }); + function H6e(t, e, r) { + if (!pn(r)) return !1; + var n = typeof e; + return (n == 'number' ? ei(r) && Fh(e, r.length) : n == 'string' && e in r) ? No(r[e], t) : !1; + } + var eo, + Ed = R(() => { + 'use strict'; + xd(); + Io(); + uv(); + Js(); + o(H6e, 'isIterateeCall'); + eo = H6e; + }); + function Y6e(t) { + return pc(function (e, r) { + var n = -1, + i = r.length, + a = i > 1 ? r[i - 1] : void 0, + s = i > 2 ? r[2] : void 0; + for ( + a = t.length > 3 && typeof a == 'function' ? (i--, a) : void 0, + s && eo(r[0], r[1], s) && ((a = i < 3 ? void 0 : a), (i = 1)), + e = Object(e); + ++n < i; + + ) { + var l = r[n]; + l && t(e, l, n, a); + } + return e; + }); + } + var p5, + q_ = R(() => { + 'use strict'; + sm(); + Ed(); + o(Y6e, 'createAssigner'); + p5 = Y6e; + }); + var W6e, + Gh, + X_ = R(() => { + 'use strict'; + fX(); + q_(); + (W6e = p5(function (t, e, r) { + hX(t, e, r); + })), + (Gh = W6e); + }); + function om(t, e) { + if (!t) return e; + let r = `curve${t.charAt(0).toUpperCase() + t.slice(1)}`; + return q6e[r] ?? e; + } + function Q6e(t, e) { + let r = t.trim(); + if (r) return e.securityLevel !== 'loose' ? (0, TX.sanitizeUrl)(r) : r; + } + function CX(t, e) { + return !t || !e ? 0 : Math.sqrt(Math.pow(e.x - t.x, 2) + Math.pow(e.y - t.y, 2)); + } + function J6e(t) { + let e, + r = 0; + t.forEach((i) => { + (r += CX(i, e)), (e = i); + }); + let n = r / 2; + return Q_(t, n); + } + function eCe(t) { + return t.length === 1 ? t[0] : J6e(t); + } + function rCe(t, e, r) { + let n = structuredClone(r); + V.info('our points', n), e !== 'start_left' && e !== 'start_right' && n.reverse(); + let i = 25 + t, + a = Q_(n, i), + s = 10 + t * 0.5, + l = Math.atan2(n[0].y - a.y, n[0].x - a.x), + u = { x: 0, y: 0 }; + return ( + e === 'start_left' + ? ((u.x = Math.sin(l + Math.PI) * s + (n[0].x + a.x) / 2), + (u.y = -Math.cos(l + Math.PI) * s + (n[0].y + a.y) / 2)) + : e === 'end_right' + ? ((u.x = Math.sin(l - Math.PI) * s + (n[0].x + a.x) / 2 - 5), + (u.y = -Math.cos(l - Math.PI) * s + (n[0].y + a.y) / 2 - 5)) + : e === 'end_left' + ? ((u.x = Math.sin(l) * s + (n[0].x + a.x) / 2 - 5), (u.y = -Math.cos(l) * s + (n[0].y + a.y) / 2 - 5)) + : ((u.x = Math.sin(l) * s + (n[0].x + a.x) / 2), (u.y = -Math.cos(l) * s + (n[0].y + a.y) / 2)), + u + ); + } + function lm(t) { + let e = '', + r = ''; + for (let n of t) + n !== void 0 && + (n.startsWith('color:') || n.startsWith('text-align:') ? (r = r + n + ';') : (e = e + n + ';')); + return { style: e, labelStyle: r }; + } + function nCe(t) { + let e = '', + r = '0123456789abcdef', + n = r.length; + for (let i = 0; i < t; i++) e += r.charAt(Math.floor(Math.random() * n)); + return e; + } + function g5(t, e) { + return t9(t, e).height; + } + function Cl(t, e) { + return t9(t, e).width; + } + function r9(t) { + return 'str' in t; + } + function Ts(t, e) { + return Gh({}, t, e); + } + var TX, + K_, + q6e, + X6e, + j6e, + kX, + EX, + K6e, + Z6e, + bX, + Q_, + tCe, + wX, + Z_, + J_, + iCe, + aCe, + e9, + sCe, + t9, + j_, + m5, + oCe, + lCe, + mc, + Lt, + SX, + to, + y5, + xr = R(() => { + 'use strict'; + TX = Xi(Up(), 1); + Zt(); + rr(); + r7(); + ut(); + Hf(); + cp(); + R_(); + X_(); + Vb(); + (K_ = '\u200B'), + (q6e = { + curveBasis: vs, + curveBasisClosed: B3, + curveBasisOpen: F3, + curveBumpX: s_, + curveBumpY: o_, + curveBundle: l_, + curveCardinalClosed: u_, + curveCardinalOpen: f_, + curveCardinal: c_, + curveCatmullRomClosed: m_, + curveCatmullRomOpen: g_, + curveCatmullRom: p_, + curveLinear: xu, + curveLinearClosed: U3, + curveMonotoneX: v_, + curveMonotoneY: x_, + curveNatural: Y3, + curveStep: q3, + curveStepAfter: w_, + curveStepBefore: b_ + }), + (X6e = /\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi), + (j6e = o(function (t, e) { + let r = kX(t, /(?:init\b)|(?:initialize\b)/), + n = {}; + if (Array.isArray(r)) { + let s = r.map((l) => l.args); + fp(s), (n = On(n, [...s])); + } else n = r.args; + if (!n) return; + let i = lp(t, e), + a = 'config'; + return ( + n[a] !== void 0 && (i === 'flowchart-v2' && (i = 'flowchart'), (n[i] = n[a]), delete n[a]), n + ); + }, 'detectInit')), + (kX = o(function (t, e = null) { + try { + let r = new RegExp( + `[%]{2}(?![{]${X6e.source})(?=[}][%]{2}).* +`, + 'ig' + ); + (t = t.trim().replace(r, '').replace(/'/gm, '"')), + V.debug( + `Detecting diagram directive${e !== null ? ' type:' + e : ''} based on the text:${t}` + ); + let n, + i = []; + for (; (n = Vf.exec(t)) !== null; ) + if ( + (n.index === Vf.lastIndex && Vf.lastIndex++, + (n && !e) || (e && n[1]?.match(e)) || (e && n[2]?.match(e))) + ) { + let a = n[1] ? n[1] : n[2], + s = n[3] ? n[3].trim() : n[4] ? JSON.parse(n[4].trim()) : null; + i.push({ type: a, args: s }); + } + return i.length === 0 ? { type: t, args: null } : i.length === 1 ? i[0] : i; + } catch (r) { + return ( + V.error( + `ERROR: ${r.message} - Unable to parse directive type: '${e}' based on the text: '${t}'` + ), + { type: void 0, args: null } + ); + } + }, 'detectDirective')), + (EX = o(function (t) { + return t.replace(Vf, ''); + }, 'removeDirectives')), + (K6e = o(function (t, e) { + for (let [r, n] of e.entries()) if (n.match(t)) return r; + return -1; + }, 'isSubstringInArray')); + o(om, 'interpolateToCurve'); + o(Q6e, 'formatUrl'); + Z6e = o((t, ...e) => { + let r = t.split('.'), + n = r.length - 1, + i = r[n], + a = window; + for (let s = 0; s < n; s++) + if (((a = a[r[s]]), !a)) { + V.error(`Function name: ${t} not found in window`); + return; + } + a[i](...e); + }, 'runFunc'); + o(CX, 'distance'); + o(J6e, 'traverseEdge'); + o(eCe, 'calcLabelPosition'); + (bX = o((t, e = 2) => { + let r = Math.pow(10, e); + return Math.round(t * r) / r; + }, 'roundNumber')), + (Q_ = o((t, e) => { + let r, + n = e; + for (let i of t) { + if (r) { + let a = CX(i, r); + if (a < n) n -= a; + else { + let s = n / a; + if (s <= 0) return r; + if (s >= 1) return { x: i.x, y: i.y }; + if (s > 0 && s < 1) + return { + x: bX((1 - s) * r.x + s * i.x, 5), + y: bX((1 - s) * r.y + s * i.y, 5) + }; + } + } + r = i; + } + throw new Error('Could not find a suitable point for the given distance'); + }, 'calculatePoint')), + (tCe = o((t, e, r) => { + V.info(`our points ${JSON.stringify(e)}`), e[0] !== r && (e = e.reverse()); + let i = Q_(e, 25), + a = t ? 10 : 5, + s = Math.atan2(e[0].y - i.y, e[0].x - i.x), + l = { x: 0, y: 0 }; + return ( + (l.x = Math.sin(s) * a + (e[0].x + i.x) / 2), (l.y = -Math.cos(s) * a + (e[0].y + i.y) / 2), l + ); + }, 'calcCardinalityPosition')); + o(rCe, 'calcTerminalLabelPosition'); + o(lm, 'getStylesFromArray'); + (wX = 0), (Z_ = o(() => (wX++, 'id-' + Math.random().toString(36).substr(2, 12) + '-' + wX), 'generateId')); + o(nCe, 'makeRandomHex'); + (J_ = o((t) => nCe(t.length), 'random')), + (iCe = o(function () { + return { + x: 0, + y: 0, + fill: void 0, + anchor: 'start', + style: '#666', + width: 100, + height: 100, + textMargin: 0, + rx: 0, + ry: 0, + valign: void 0, + text: '' + }; + }, 'getTextObj')), + (aCe = o(function (t, e) { + let r = e.text.replace(We.lineBreakRegex, ' '), + [, n] = mc(e.fontSize), + i = t.append('text'); + i.attr('x', e.x), + i.attr('y', e.y), + i.style('text-anchor', e.anchor), + i.style('font-family', e.fontFamily), + i.style('font-size', n), + i.style('font-weight', e.fontWeight), + i.attr('fill', e.fill), + e.class !== void 0 && i.attr('class', e.class); + let a = i.append('tspan'); + return a.attr('x', e.x + e.textMargin * 2), a.attr('fill', e.fill), a.text(r), i; + }, 'drawSimpleText')), + (e9 = qp( + (t, e, r) => { + if ( + !t || + ((r = Object.assign( + { + fontSize: 12, + fontWeight: 400, + fontFamily: 'Arial', + joinWith: '
    ' + }, + r + )), + We.lineBreakRegex.test(t)) + ) + return t; + let n = t.split(' ').filter(Boolean), + i = [], + a = ''; + return ( + n.forEach((s, l) => { + let u = Cl(`${s} `, r), + h = Cl(a, r); + if (u > e) { + let { hyphenatedStrings: p, remainingWord: m } = sCe(s, e, '-', r); + i.push(a, ...p), (a = m); + } else h + u >= e ? (i.push(a), (a = s)) : (a = [a, s].filter(Boolean).join(' ')); + l + 1 === n.length && i.push(a); + }), + i.filter((s) => s !== '').join(r.joinWith) + ); + }, + (t, e, r) => `${t}${e}${r.fontSize}${r.fontWeight}${r.fontFamily}${r.joinWith}` + )), + (sCe = qp( + (t, e, r = '-', n) => { + n = Object.assign({ fontSize: 12, fontWeight: 400, fontFamily: 'Arial', margin: 0 }, n); + let i = [...t], + a = [], + s = ''; + return ( + i.forEach((l, u) => { + let h = `${s}${l}`; + if (Cl(h, n) >= e) { + let d = u + 1, + p = i.length === d, + m = `${h}${r}`; + a.push(p ? h : m), (s = ''); + } else s = h; + }), + { hyphenatedStrings: a, remainingWord: s } + ); + }, + (t, e, r = '-', n) => `${t}${e}${r}${n.fontSize}${n.fontWeight}${n.fontFamily}` + )); + o(g5, 'calculateTextHeight'); + o(Cl, 'calculateTextWidth'); + (t9 = qp( + (t, e) => { + let { fontSize: r = 12, fontFamily: n = 'Arial', fontWeight: i = 400 } = e; + if (!t) return { width: 0, height: 0 }; + let [, a] = mc(r), + s = ['sans-serif', n], + l = t.split(We.lineBreakRegex), + u = [], + h = $e('body'); + if (!h.remove) return { width: 0, height: 0, lineHeight: 0 }; + let f = h.append('svg'); + for (let p of s) { + let m = 0, + g = { width: 0, height: 0, lineHeight: 0 }; + for (let y of l) { + let v = iCe(); + v.text = y || K_; + let x = aCe(f, v).style('font-size', a).style('font-weight', i).style('font-family', p), + b = (x._groups || x)[0][0].getBBox(); + if (b.width === 0 && b.height === 0) throw new Error('svg element not in render tree'); + (g.width = Math.round(Math.max(g.width, b.width))), + (m = Math.round(b.height)), + (g.height += m), + (g.lineHeight = Math.round(Math.max(g.lineHeight, m))); + } + u.push(g); + } + f.remove(); + let d = + isNaN(u[1].height) || + isNaN(u[1].width) || + isNaN(u[1].lineHeight) || + (u[0].height > u[1].height && u[0].width > u[1].width && u[0].lineHeight > u[1].lineHeight) + ? 0 + : 1; + return u[d]; + }, + (t, e) => `${t}${e.fontSize}${e.fontWeight}${e.fontFamily}` + )), + (j_ = class { + constructor(e = !1, r) { + this.count = 0; + (this.count = r ? r.length : 0), (this.next = e ? () => this.count++ : () => Date.now()); + } + static { + o(this, 'InitIDGenerator'); + } + }), + (oCe = o(function (t) { + return ( + (m5 = m5 || document.createElement('div')), + (t = escape(t).replace(/%26/g, '&').replace(/%23/g, '#').replace(/%3B/g, ';')), + (m5.innerHTML = t), + unescape(m5.textContent) + ); + }, 'entityDecode')); + o(r9, 'isDetailedError'); + (lCe = o((t, e, r, n) => { + if (!n) return; + let i = t.node()?.getBBox(); + i && + t + .append('text') + .text(n) + .attr('x', i.x + i.width / 2) + .attr('y', -r) + .attr('class', e); + }, 'insertTitle')), + (mc = o((t) => { + if (typeof t == 'number') return [t, t + 'px']; + let e = parseInt(t ?? '', 10); + return Number.isNaN(e) ? [void 0, void 0] : t === String(e) ? [e, t + 'px'] : [e, t]; + }, 'parseFontSize')); + o(Ts, 'cleanAndMerge'); + (Lt = { + assignWithDepth: On, + wrapLabel: e9, + calculateTextHeight: g5, + calculateTextWidth: Cl, + calculateTextDimensions: t9, + cleanAndMerge: Ts, + detectInit: j6e, + detectDirective: kX, + isSubstringInArray: K6e, + interpolateToCurve: om, + calcLabelPosition: eCe, + calcCardinalityPosition: tCe, + calcTerminalLabelPosition: rCe, + formatUrl: Q6e, + getStylesFromArray: lm, + generateId: Z_, + random: J_, + runFunc: Z6e, + entityDecode: oCe, + insertTitle: lCe, + parseFontSize: mc, + InitIDGenerator: j_ + }), + (SX = o(function (t) { + let e = t; + return ( + (e = e.replace(/style.*:\S*#.*;/g, function (r) { + return r.substring(0, r.length - 1); + })), + (e = e.replace(/classDef.*:\S*#.*;/g, function (r) { + return r.substring(0, r.length - 1); + })), + (e = e.replace(/#\w+;/g, function (r) { + let n = r.substring(1, r.length - 1); + return /^\+?\d+$/.test(n) + ? '\uFB02\xB0\xB0' + n + '\xB6\xDF' + : '\uFB02\xB0' + n + '\xB6\xDF'; + })), + e + ); + }, 'encodeEntities')), + (to = o(function (t) { + return t.replace(/fl°°/g, '&#').replace(/fl°/g, '&').replace(/¶ß/g, ';'); + }, 'decodeEntities')), + (y5 = o( + (t, e, { counter: r = 0, prefix: n, suffix: i }) => + `${n ? `${n}_` : ''}${t}_${e}_${r}${i ? `_${i}` : ''}`, + 'getEdgeId' + )); + }); + function Sl(t, e, r, n, i) { + if (!e[t].width) + if (r) + (e[t].text = e9(e[t].text, i, n)), + (e[t].textLines = e[t].text.split(We.lineBreakRegex).length), + (e[t].width = i), + (e[t].height = g5(e[t].text, n)); + else { + let a = e[t].text.split(We.lineBreakRegex); + e[t].textLines = a.length; + let s = 0; + (e[t].height = 0), (e[t].width = 0); + for (let l of a) + (e[t].width = Math.max(Cl(l, n), e[t].width)), (s = g5(l, n)), (e[t].height = e[t].height + s); + } + } + function RX(t, e, r, n, i) { + let a = new w5(i); + a.data.widthLimit = r.data.widthLimit / Math.min(n9, n.length); + for (let [s, l] of n.entries()) { + let u = 0; + (l.image = { width: 0, height: 0, Y: 0 }), + l.sprite && + ((l.image.width = 48), (l.image.height = 48), (l.image.Y = u), (u = l.image.Y + l.image.height)); + let h = l.wrap && Nt.wrap, + f = v5(Nt); + if ( + ((f.fontSize = f.fontSize + 2), + (f.fontWeight = 'bold'), + Sl('label', l, h, f, a.data.widthLimit), + (l.label.Y = u + 8), + (u = l.label.Y + l.label.height), + l.type && l.type.text !== '') + ) { + l.type.text = '[' + l.type.text + ']'; + let g = v5(Nt); + Sl('type', l, h, g, a.data.widthLimit), (l.type.Y = u + 5), (u = l.type.Y + l.type.height); + } + if (l.descr && l.descr.text !== '') { + let g = v5(Nt); + (g.fontSize = g.fontSize - 2), + Sl('descr', l, h, g, a.data.widthLimit), + (l.descr.Y = u + 20), + (u = l.descr.Y + l.descr.height); + } + if (s == 0 || s % n9 === 0) { + let g = r.data.startx + Nt.diagramMarginX, + y = r.data.stopy + Nt.diagramMarginY + u; + a.setData(g, g, y, y); + } else { + let g = a.data.stopx !== a.data.startx ? a.data.stopx + Nt.diagramMarginX : a.data.startx, + y = a.data.starty; + a.setData(g, g, y, y); + } + a.name = l.alias; + let d = i.db.getC4ShapeArray(l.alias), + p = i.db.getC4ShapeKeys(l.alias); + p.length > 0 && DX(a, t, d, p), (e = l.alias); + let m = i.db.getBoundarys(e); + m.length > 0 && RX(t, e, a, m, i), + l.alias !== 'global' && LX(t, l, a), + (r.data.stopy = Math.max(a.data.stopy + Nt.c4ShapeMargin, r.data.stopy)), + (r.data.stopx = Math.max(a.data.stopx + Nt.c4ShapeMargin, r.data.stopx)), + (x5 = Math.max(x5, r.data.stopx)), + (b5 = Math.max(b5, r.data.stopy)); + } + } + var x5, + b5, + _X, + n9, + Nt, + w5, + i9, + hv, + v5, + cCe, + LX, + DX, + ks, + AX, + uCe, + hCe, + fCe, + a9, + NX = R(() => { + 'use strict'; + Zt(); + AW(); + ut(); + VC(); + rr(); + lS(); + _t(); + cp(); + xr(); + Yn(); + (x5 = 0), (b5 = 0), (_X = 4), (n9 = 2); + U1.yy = hy; + (Nt = {}), + (w5 = class { + static { + o(this, 'Bounds'); + } + constructor(e) { + (this.name = ''), + (this.data = {}), + (this.data.startx = void 0), + (this.data.stopx = void 0), + (this.data.starty = void 0), + (this.data.stopy = void 0), + (this.data.widthLimit = void 0), + (this.nextData = {}), + (this.nextData.startx = void 0), + (this.nextData.stopx = void 0), + (this.nextData.starty = void 0), + (this.nextData.stopy = void 0), + (this.nextData.cnt = 0), + i9(e.db.getConfig()); + } + setData(e, r, n, i) { + (this.nextData.startx = this.data.startx = e), + (this.nextData.stopx = this.data.stopx = r), + (this.nextData.starty = this.data.starty = n), + (this.nextData.stopy = this.data.stopy = i); + } + updateVal(e, r, n, i) { + e[r] === void 0 ? (e[r] = n) : (e[r] = i(n, e[r])); + } + insert(e) { + this.nextData.cnt = this.nextData.cnt + 1; + let r = + this.nextData.startx === this.nextData.stopx + ? this.nextData.stopx + e.margin + : this.nextData.stopx + e.margin * 2, + n = r + e.width, + i = this.nextData.starty + e.margin * 2, + a = i + e.height; + (r >= this.data.widthLimit || n >= this.data.widthLimit || this.nextData.cnt > _X) && + ((r = this.nextData.startx + e.margin + Nt.nextLinePaddingX), + (i = this.nextData.stopy + e.margin * 2), + (this.nextData.stopx = n = r + e.width), + (this.nextData.starty = this.nextData.stopy), + (this.nextData.stopy = a = i + e.height), + (this.nextData.cnt = 1)), + (e.x = r), + (e.y = i), + this.updateVal(this.data, 'startx', r, Math.min), + this.updateVal(this.data, 'starty', i, Math.min), + this.updateVal(this.data, 'stopx', n, Math.max), + this.updateVal(this.data, 'stopy', a, Math.max), + this.updateVal(this.nextData, 'startx', r, Math.min), + this.updateVal(this.nextData, 'starty', i, Math.min), + this.updateVal(this.nextData, 'stopx', n, Math.max), + this.updateVal(this.nextData, 'stopy', a, Math.max); + } + init(e) { + (this.name = ''), + (this.data = { + startx: void 0, + stopx: void 0, + starty: void 0, + stopy: void 0, + widthLimit: void 0 + }), + (this.nextData = { + startx: void 0, + stopx: void 0, + starty: void 0, + stopy: void 0, + cnt: 0 + }), + i9(e.db.getConfig()); + } + bumpLastMargin(e) { + (this.data.stopx += e), (this.data.stopy += e); + } + }), + (i9 = o(function (t) { + On(Nt, t), + t.fontFamily && + (Nt.personFontFamily = Nt.systemFontFamily = Nt.messageFontFamily = t.fontFamily), + t.fontSize && (Nt.personFontSize = Nt.systemFontSize = Nt.messageFontSize = t.fontSize), + t.fontWeight && + (Nt.personFontWeight = Nt.systemFontWeight = Nt.messageFontWeight = t.fontWeight); + }, 'setConf')), + (hv = o( + (t, e) => ({ + fontFamily: t[e + 'FontFamily'], + fontSize: t[e + 'FontSize'], + fontWeight: t[e + 'FontWeight'] + }), + 'c4ShapeFont' + )), + (v5 = o( + (t) => ({ + fontFamily: t.boundaryFontFamily, + fontSize: t.boundaryFontSize, + fontWeight: t.boundaryFontWeight + }), + 'boundaryFont' + )), + (cCe = o( + (t) => ({ + fontFamily: t.messageFontFamily, + fontSize: t.messageFontSize, + fontWeight: t.messageFontWeight + }), + 'messageFont' + )); + o(Sl, 'calcC4ShapeTextWH'); + (LX = o(function (t, e, r) { + (e.x = r.data.startx), + (e.y = r.data.starty), + (e.width = r.data.stopx - r.data.startx), + (e.height = r.data.stopy - r.data.starty), + (e.label.y = Nt.c4ShapeMargin - 35); + let n = e.wrap && Nt.wrap, + i = v5(Nt); + (i.fontSize = i.fontSize + 2), (i.fontWeight = 'bold'); + let a = Cl(e.label.text, i); + Sl('label', e, n, i, a), Tl.drawBoundary(t, e, Nt); + }, 'drawBoundary')), + (DX = o(function (t, e, r, n) { + let i = 0; + for (let a of n) { + i = 0; + let s = r[a], + l = hv(Nt, s.typeC4Shape.text); + switch ( + ((l.fontSize = l.fontSize - 2), + (s.typeC4Shape.width = Cl('\xAB' + s.typeC4Shape.text + '\xBB', l)), + (s.typeC4Shape.height = l.fontSize + 2), + (s.typeC4Shape.Y = Nt.c4ShapePadding), + (i = s.typeC4Shape.Y + s.typeC4Shape.height - 4), + (s.image = { width: 0, height: 0, Y: 0 }), + s.typeC4Shape.text) + ) { + case 'person': + case 'external_person': + (s.image.width = 48), + (s.image.height = 48), + (s.image.Y = i), + (i = s.image.Y + s.image.height); + break; + } + s.sprite && + ((s.image.width = 48), + (s.image.height = 48), + (s.image.Y = i), + (i = s.image.Y + s.image.height)); + let u = s.wrap && Nt.wrap, + h = Nt.width - Nt.c4ShapePadding * 2, + f = hv(Nt, s.typeC4Shape.text); + if ( + ((f.fontSize = f.fontSize + 2), + (f.fontWeight = 'bold'), + Sl('label', s, u, f, h), + (s.label.Y = i + 8), + (i = s.label.Y + s.label.height), + s.type && s.type.text !== '') + ) { + s.type.text = '[' + s.type.text + ']'; + let m = hv(Nt, s.typeC4Shape.text); + Sl('type', s, u, m, h), (s.type.Y = i + 5), (i = s.type.Y + s.type.height); + } else if (s.techn && s.techn.text !== '') { + s.techn.text = '[' + s.techn.text + ']'; + let m = hv(Nt, s.techn.text); + Sl('techn', s, u, m, h), (s.techn.Y = i + 5), (i = s.techn.Y + s.techn.height); + } + let d = i, + p = s.label.width; + if (s.descr && s.descr.text !== '') { + let m = hv(Nt, s.typeC4Shape.text); + Sl('descr', s, u, m, h), + (s.descr.Y = i + 20), + (i = s.descr.Y + s.descr.height), + (p = Math.max(s.label.width, s.descr.width)), + (d = i - s.descr.textLines * 5); + } + (p = p + Nt.c4ShapePadding), + (s.width = Math.max(s.width || Nt.width, p, Nt.width)), + (s.height = Math.max(s.height || Nt.height, d, Nt.height)), + (s.margin = s.margin || Nt.c4ShapeMargin), + t.insert(s), + Tl.drawC4Shape(e, s, Nt); + } + t.bumpLastMargin(Nt.c4ShapeMargin); + }, 'drawC4ShapeArray')), + (ks = class { + static { + o(this, 'Point'); + } + constructor(e, r) { + (this.x = e), (this.y = r); + } + }), + (AX = o(function (t, e) { + let r = t.x, + n = t.y, + i = e.x, + a = e.y, + s = r + t.width / 2, + l = n + t.height / 2, + u = Math.abs(r - i), + h = Math.abs(n - a), + f = h / u, + d = t.height / t.width, + p = null; + return ( + n == a && r < i + ? (p = new ks(r + t.width, l)) + : n == a && r > i + ? (p = new ks(r, l)) + : r == i && n < a + ? (p = new ks(s, n + t.height)) + : r == i && n > a && (p = new ks(s, n)), + r > i && n < a + ? d >= f + ? (p = new ks(r, l + (f * t.width) / 2)) + : (p = new ks(s - ((u / h) * t.height) / 2, n + t.height)) + : r < i && n < a + ? d >= f + ? (p = new ks(r + t.width, l + (f * t.width) / 2)) + : (p = new ks(s + ((u / h) * t.height) / 2, n + t.height)) + : r < i && n > a + ? d >= f + ? (p = new ks(r + t.width, l - (f * t.width) / 2)) + : (p = new ks(s + ((t.height / 2) * u) / h, n)) + : r > i && + n > a && + (d >= f + ? (p = new ks(r, l - (t.width / 2) * f)) + : (p = new ks(s - ((t.height / 2) * u) / h, n))), + p + ); + }, 'getIntersectPoint')), + (uCe = o(function (t, e) { + let r = { x: 0, y: 0 }; + (r.x = e.x + e.width / 2), (r.y = e.y + e.height / 2); + let n = AX(t, r); + (r.x = t.x + t.width / 2), (r.y = t.y + t.height / 2); + let i = AX(e, r); + return { startPoint: n, endPoint: i }; + }, 'getIntersectPoints')), + (hCe = o(function (t, e, r, n) { + let i = 0; + for (let a of e) { + i = i + 1; + let s = a.wrap && Nt.wrap, + l = cCe(Nt); + n.db.getC4Type() === 'C4Dynamic' && (a.label.text = i + ': ' + a.label.text); + let h = Cl(a.label.text, l); + Sl('label', a, s, l, h), + a.techn && a.techn.text !== '' && ((h = Cl(a.techn.text, l)), Sl('techn', a, s, l, h)), + a.descr && a.descr.text !== '' && ((h = Cl(a.descr.text, l)), Sl('descr', a, s, l, h)); + let f = r(a.from), + d = r(a.to), + p = uCe(f, d); + (a.startPoint = p.startPoint), (a.endPoint = p.endPoint); + } + Tl.drawRels(t, e, Nt); + }, 'drawRels')); + o(RX, 'drawInsideBoundary'); + (fCe = o(function (t, e, r, n) { + Nt = de().c4; + let i = de().securityLevel, + a; + i === 'sandbox' && (a = $e('#i' + e)); + let s = i === 'sandbox' ? $e(a.nodes()[0].contentDocument.body) : $e('body'), + l = n.db; + n.db.setWrap(Nt.wrap), + (_X = l.getC4ShapeInRow()), + (n9 = l.getC4BoundaryInRow()), + V.debug(`C:${JSON.stringify(Nt, null, 2)}`); + let u = i === 'sandbox' ? s.select(`[id="${e}"]`) : $e(`[id="${e}"]`); + Tl.insertComputerIcon(u), Tl.insertDatabaseIcon(u), Tl.insertClockIcon(u); + let h = new w5(n); + h.setData(Nt.diagramMarginX, Nt.diagramMarginX, Nt.diagramMarginY, Nt.diagramMarginY), + (h.data.widthLimit = screen.availWidth), + (x5 = Nt.diagramMarginX), + (b5 = Nt.diagramMarginY); + let f = n.db.getTitle(), + d = n.db.getBoundarys(''); + RX(u, '', h, d, n), + Tl.insertArrowHead(u), + Tl.insertArrowEnd(u), + Tl.insertArrowCrossHead(u), + Tl.insertArrowFilledHead(u), + hCe(u, n.db.getRels(), n.db.getC4Shape, n), + (h.data.stopx = x5), + (h.data.stopy = b5); + let p = h.data, + g = p.stopy - p.starty + 2 * Nt.diagramMarginY, + v = p.stopx - p.startx + 2 * Nt.diagramMarginX; + f && + u + .append('text') + .text(f) + .attr('x', (p.stopx - p.startx) / 2 - 4 * Nt.diagramMarginX) + .attr('y', p.starty + Nt.diagramMarginY), + Sr(u, g, v, Nt.useMaxWidth); + let x = f ? 60 : 0; + u.attr( + 'viewBox', + p.startx - Nt.diagramMarginX + ' -' + (Nt.diagramMarginY + x) + ' ' + v + ' ' + (g + x) + ), + V.debug('models:', p); + }, 'draw')), + (a9 = { + drawPersonOrSystemArray: DX, + drawBoundary: LX, + setConf: i9, + draw: fCe + }); + }); + var dCe, + MX, + IX = R(() => { + 'use strict'; + (dCe = o( + (t) => `.person { + stroke: ${t.personBorder}; + fill: ${t.personBkg}; + } +`, + 'getStyles' + )), + (MX = dCe); + }); + var OX = {}; + hr(OX, { diagram: () => pCe }); + var pCe, + PX = R(() => { + 'use strict'; + VC(); + lS(); + NX(); + IX(); + pCe = { + parser: rz, + db: hy, + renderer: a9, + styles: MX, + init: o(({ c4: t, wrap: e }) => { + a9.setConf(t), hy.setWrap(e); + }, 'init') + }; + }); + function o9(t) { + let e = []; + for (let r of t) { + let n = dv.get(r); + n?.styles && (e = [...e, ...(n.styles ?? [])].map((i) => i.trim())), + n?.textStyles && (e = [...e, ...(n.textStyles ?? [])].map((i) => i.trim())); + } + return e; + } + var vCe, + zX, + cm, + $h, + Es, + dv, + Cu, + l9, + c9, + T5, + s9, + Fo, + k5, + E5, + C5, + S5, + xCe, + bCe, + wCe, + TCe, + kCe, + ECe, + CCe, + u9, + SCe, + ACe, + _Ce, + GX, + LCe, + DCe, + h9, + $X, + VX, + RCe, + UX, + NCe, + MCe, + ICe, + OCe, + PCe, + fv, + HX, + YX, + BCe, + FCe, + WX, + zCe, + GCe, + $Ce, + VCe, + UCe, + qX, + XX, + HCe, + YCe, + WCe, + qCe, + XCe, + jCe, + A5, + f9 = R(() => { + 'use strict'; + Zt(); + xr(); + _t(); + rr(); + ut(); + bi(); + (vCe = 'flowchart-'), + (zX = 0), + (cm = de()), + ($h = new Map()), + (Es = []), + (dv = new Map()), + (Cu = []), + (l9 = new Map()), + (c9 = new Map()), + (T5 = 0), + (s9 = !0), + (E5 = []), + (C5 = o((t) => We.sanitizeText(t, cm), 'sanitizeText')), + (S5 = o(function (t) { + for (let e of $h.values()) if (e.id === t) return e.domId; + return t; + }, 'lookUpDomId')), + (xCe = o(function (t, e, r, n, i, a, s = {}) { + if (!t || t.trim().length === 0) return; + let l, + u = $h.get(t); + u === void 0 && + ((u = { + id: t, + labelType: 'text', + domId: vCe + t + '-' + zX, + styles: [], + classes: [] + }), + $h.set(t, u)), + zX++, + e !== void 0 + ? ((cm = de()), + (l = C5(e.text.trim())), + (u.labelType = e.type), + l.startsWith('"') && l.endsWith('"') && (l = l.substring(1, l.length - 1)), + (u.text = l)) + : u.text === void 0 && (u.text = t), + r !== void 0 && (u.type = r), + n?.forEach(function (h) { + u.styles.push(h); + }), + i?.forEach(function (h) { + u.classes.push(h); + }), + a !== void 0 && (u.dir = a), + u.props === void 0 ? (u.props = s) : s !== void 0 && Object.assign(u.props, s); + }, 'addVertex')), + (bCe = o(function (t, e, r) { + let a = { + start: t, + end: e, + type: void 0, + text: '', + labelType: 'text' + }; + V.info('abc78 Got edge...', a); + let s = r.text; + if ( + (s !== void 0 && + ((a.text = C5(s.text.trim())), + a.text.startsWith('"') && + a.text.endsWith('"') && + (a.text = a.text.substring(1, a.text.length - 1)), + (a.labelType = s.type)), + r !== void 0 && + ((a.type = r.type), (a.stroke = r.stroke), (a.length = r.length > 10 ? 10 : r.length)), + Es.length < (cm.maxEdges ?? 500)) + ) + V.info('Pushing edge...'), Es.push(a); + else + throw new Error(`Edge limit exceeded. ${Es.length} edges found, but the limit is ${cm.maxEdges}. + +Initialize mermaid with maxEdges set to a higher number to allow more edges. +You cannot set this config via configuration inside the diagram as it is a secure config. +You have to call mermaid.initialize.`); + }, 'addSingleLink')), + (wCe = o(function (t, e, r) { + V.info('addLink', t, e, r); + for (let n of t) for (let i of e) bCe(n, i, r); + }, 'addLink')), + (TCe = o(function (t, e) { + t.forEach(function (r) { + r === 'default' ? (Es.defaultInterpolate = e) : (Es[r].interpolate = e); + }); + }, 'updateLinkInterpolate')), + (kCe = o(function (t, e) { + t.forEach(function (r) { + if (typeof r == 'number' && r >= Es.length) + throw new Error( + `The index ${r} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${ + Es.length - 1 + }. (Help: Ensure that the index is within the range of existing edges.)` + ); + r === 'default' + ? (Es.defaultStyle = e) + : ((Es[r].style = e), + (Es[r]?.style?.length ?? 0) > 0 && + !Es[r]?.style?.some((n) => n?.startsWith('fill')) && + Es[r]?.style?.push('fill:none')); + }); + }, 'updateLink')), + (ECe = o(function (t, e) { + t.split(',').forEach(function (r) { + let n = dv.get(r); + n === void 0 && ((n = { id: r, styles: [], textStyles: [] }), dv.set(r, n)), + e?.forEach(function (i) { + if (/color/.exec(i)) { + let a = i.replace('fill', 'bgFill'); + n.textStyles.push(a); + } + n.styles.push(i); + }); + }); + }, 'addClass')), + (CCe = o(function (t) { + (Fo = t), + /.*/.exec(Fo) && (Fo = 'LR'), + /.*v/.exec(Fo) && (Fo = 'TB'), + Fo === 'TD' && (Fo = 'TB'); + }, 'setDirection')), + (u9 = o(function (t, e) { + for (let r of t.split(',')) { + let n = $h.get(r); + n && n.classes.push(e); + let i = l9.get(r); + i && i.classes.push(e); + } + }, 'setClass')), + (SCe = o(function (t, e) { + if (e !== void 0) { + e = C5(e); + for (let r of t.split(',')) c9.set(k5 === 'gen-1' ? S5(r) : r, e); + } + }, 'setTooltip')), + (ACe = o(function (t, e, r) { + let n = S5(t); + if (de().securityLevel !== 'loose' || e === void 0) return; + let i = []; + if (typeof r == 'string') { + i = r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/); + for (let s = 0; s < i.length; s++) { + let l = i[s].trim(); + l.startsWith('"') && l.endsWith('"') && (l = l.substr(1, l.length - 2)), (i[s] = l); + } + } + i.length === 0 && i.push(t); + let a = $h.get(t); + a && + ((a.haveCallback = !0), + E5.push(function () { + let s = document.querySelector(`[id="${n}"]`); + s !== null && + s.addEventListener( + 'click', + function () { + Lt.runFunc(e, ...i); + }, + !1 + ); + })); + }, 'setClickFun')), + (_Ce = o(function (t, e, r) { + t.split(',').forEach(function (n) { + let i = $h.get(n); + i !== void 0 && ((i.link = Lt.formatUrl(e, cm)), (i.linkTarget = r)); + }), + u9(t, 'clickable'); + }, 'setLink')), + (GX = o(function (t) { + return c9.get(t); + }, 'getTooltip')), + (LCe = o(function (t, e, r) { + t.split(',').forEach(function (n) { + ACe(n, e, r); + }), + u9(t, 'clickable'); + }, 'setClickEvent')), + (DCe = o(function (t) { + E5.forEach(function (e) { + e(t); + }); + }, 'bindFunctions')), + (h9 = o(function () { + return Fo.trim(); + }, 'getDirection')), + ($X = o(function () { + return $h; + }, 'getVertices')), + (VX = o(function () { + return Es; + }, 'getEdges')), + (RCe = o(function () { + return dv; + }, 'getClasses')), + (UX = o(function (t) { + let e = $e('.mermaidTooltip'); + (e._groups || e)[0][0] === null && + (e = $e('body').append('div').attr('class', 'mermaidTooltip').style('opacity', 0)), + $e(t) + .select('svg') + .selectAll('g.node') + .on('mouseover', function () { + let i = $e(this); + if (i.attr('title') === null) return; + let s = this?.getBoundingClientRect(); + e.transition().duration(200).style('opacity', '.9'), + e + .text(i.attr('title')) + .style('left', window.scrollX + s.left + (s.right - s.left) / 2 + 'px') + .style('top', window.scrollY + s.bottom + 'px'), + e.html(e.html().replace(/<br\/>/g, '
    ')), + i.classed('hover', !0); + }) + .on('mouseout', function () { + e.transition().duration(500).style('opacity', 0), $e(this).classed('hover', !1); + }); + }, 'setupToolTips')); + E5.push(UX); + (NCe = o(function (t = 'gen-1') { + ($h = new Map()), + (dv = new Map()), + (Es = []), + (E5 = [UX]), + (Cu = []), + (l9 = new Map()), + (T5 = 0), + (c9 = new Map()), + (s9 = !0), + (k5 = t), + (cm = de()), + vr(); + }, 'clear')), + (MCe = o((t) => { + k5 = t || 'gen-2'; + }, 'setGen')), + (ICe = o(function () { + return 'fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;'; + }, 'defaultStyle')), + (OCe = o(function (t, e, r) { + let n = t.text.trim(), + i = r.text; + t === r && /\s/.exec(r.text) && (n = void 0); + function a(h) { + let f = { boolean: {}, number: {}, string: {} }, + d = [], + p; + return { + nodeList: h.filter(function (g) { + let y = typeof g; + return g.stmt && g.stmt === 'dir' + ? ((p = g.value), !1) + : g.trim() === '' + ? !1 + : y in f + ? f[y].hasOwnProperty(g) + ? !1 + : (f[y][g] = !0) + : d.includes(g) + ? !1 + : d.push(g); + }), + dir: p + }; + } + o(a, 'uniq'); + let { nodeList: s, dir: l } = a(e.flat()); + if (k5 === 'gen-1') for (let h = 0; h < s.length; h++) s[h] = S5(s[h]); + (n = n ?? 'subGraph' + T5), (i = i || ''), (i = C5(i)), (T5 = T5 + 1); + let u = { + id: n, + nodes: s, + title: i.trim(), + classes: [], + dir: l, + labelType: r.type + }; + return ( + V.info('Adding', u.id, u.nodes, u.dir), (u.nodes = XX(u, Cu).nodes), Cu.push(u), l9.set(n, u), n + ); + }, 'addSubGraph')), + (PCe = o(function (t) { + for (let [e, r] of Cu.entries()) if (r.id === t) return e; + return -1; + }, 'getPosForId')), + (fv = -1), + (HX = []), + (YX = o(function (t, e) { + let r = Cu[e].nodes; + if (((fv = fv + 1), fv > 2e3)) return { result: !1, count: 0 }; + if (((HX[fv] = e), Cu[e].id === t)) return { result: !0, count: 0 }; + let n = 0, + i = 1; + for (; n < r.length; ) { + let a = PCe(r[n]); + if (a >= 0) { + let s = YX(t, a); + if (s.result) return { result: !0, count: i + s.count }; + i = i + s.count; + } + n = n + 1; + } + return { result: !1, count: i }; + }, 'indexNodes2')), + (BCe = o(function (t) { + return HX[t]; + }, 'getDepthFirstPos')), + (FCe = o(function () { + (fv = -1), Cu.length > 0 && YX('none', Cu.length - 1); + }, 'indexNodes')), + (WX = o(function () { + return Cu; + }, 'getSubGraphs')), + (zCe = o(() => (s9 ? ((s9 = !1), !0) : !1), 'firstGraph')), + (GCe = o((t) => { + let e = t.trim(), + r = 'arrow_open'; + switch (e[0]) { + case '<': + (r = 'arrow_point'), (e = e.slice(1)); + break; + case 'x': + (r = 'arrow_cross'), (e = e.slice(1)); + break; + case 'o': + (r = 'arrow_circle'), (e = e.slice(1)); + break; + } + let n = 'normal'; + return e.includes('=') && (n = 'thick'), e.includes('.') && (n = 'dotted'), { type: r, stroke: n }; + }, 'destructStartLink')), + ($Ce = o((t, e) => { + let r = e.length, + n = 0; + for (let i = 0; i < r; ++i) e[i] === t && ++n; + return n; + }, 'countChar')), + (VCe = o((t) => { + let e = t.trim(), + r = e.slice(0, -1), + n = 'arrow_open'; + switch (e.slice(-1)) { + case 'x': + (n = 'arrow_cross'), e.startsWith('x') && ((n = 'double_' + n), (r = r.slice(1))); + break; + case '>': + (n = 'arrow_point'), e.startsWith('<') && ((n = 'double_' + n), (r = r.slice(1))); + break; + case 'o': + (n = 'arrow_circle'), e.startsWith('o') && ((n = 'double_' + n), (r = r.slice(1))); + break; + } + let i = 'normal', + a = r.length - 1; + r.startsWith('=') && (i = 'thick'), r.startsWith('~') && (i = 'invisible'); + let s = $Ce('.', r); + return s && ((i = 'dotted'), (a = s)), { type: n, stroke: i, length: a }; + }, 'destructEndLink')), + (UCe = o((t, e) => { + let r = VCe(t), + n; + if (e) { + if (((n = GCe(e)), n.stroke !== r.stroke)) return { type: 'INVALID', stroke: 'INVALID' }; + if (n.type === 'arrow_open') n.type = r.type; + else { + if (n.type !== r.type) return { type: 'INVALID', stroke: 'INVALID' }; + n.type = 'double_' + n.type; + } + return n.type === 'double_arrow' && (n.type = 'double_arrow_point'), (n.length = r.length), n; + } + return r; + }, 'destructLink')), + (qX = o((t, e) => { + for (let r of t) if (r.nodes.includes(e)) return !0; + return !1; + }, 'exists')), + (XX = o((t, e) => { + let r = []; + return ( + t.nodes.forEach((n, i) => { + qX(e, n) || r.push(t.nodes[i]); + }), + { nodes: r } + ); + }, 'makeUniq')), + (HCe = { firstGraph: zCe }), + (YCe = o( + (t) => + t.type === 'square' + ? 'squareRect' + : t.type === 'round' + ? 'roundedRect' + : t.type ?? 'squareRect', + 'getTypeFromVertex' + )), + (WCe = o((t, e) => t.find((r) => r.id === e), 'findNode')), + (qCe = o((t) => { + let e = 'none', + r = 'arrow_point'; + switch (t) { + case 'arrow_point': + case 'arrow_circle': + case 'arrow_cross': + r = t; + break; + case 'double_arrow_point': + case 'double_arrow_circle': + case 'double_arrow_cross': + (e = t.replace('double_', '')), (r = e); + break; + } + return { arrowTypeStart: e, arrowTypeEnd: r }; + }, 'destructEdgeType')), + (XCe = o((t, e, r, n, i, a) => { + let s = r.get(t.id), + l = n.get(t.id) ?? !1, + u = WCe(e, t.id); + u + ? ((u.cssStyles = t.styles), + (u.cssCompiledStyles = o9(t.classes)), + (u.cssClasses = t.classes.join(' '))) + : e.push({ + id: t.id, + label: t.text, + labelStyle: '', + parentId: s, + padding: i.flowchart?.padding || 8, + cssStyles: t.styles, + cssCompiledStyles: o9(['default', 'node', ...t.classes]), + cssClasses: 'default ' + t.classes.join(' '), + shape: YCe(t), + dir: t.dir, + domId: t.domId, + isGroup: l, + look: a, + link: t.link, + linkTarget: t.linkTarget, + tooltip: GX(t.id) + }); + }, 'addNodeFromVertex')); + o(o9, 'getCompiledStyles'); + (jCe = o(() => { + let t = de(), + e = [], + r = [], + n = WX(), + i = new Map(), + a = new Map(); + for (let u = n.length - 1; u >= 0; u--) { + let h = n[u]; + h.nodes.length > 0 && a.set(h.id, !0); + for (let f of h.nodes) i.set(f, h.id); + } + for (let u = n.length - 1; u >= 0; u--) { + let h = n[u]; + e.push({ + id: h.id, + label: h.title, + labelStyle: '', + parentId: i.get(h.id), + padding: 8, + cssCompiledStyles: o9(h.classes), + cssClasses: h.classes.join(' '), + shape: 'rect', + dir: h.dir, + isGroup: !0, + look: t.look + }); + } + $X().forEach((u) => { + XCe(u, e, i, a, t, t.look || 'classic'); + }); + let l = VX(); + return ( + l.forEach((u, h) => { + let { arrowTypeStart: f, arrowTypeEnd: d } = qCe(u.type), + p = [...(l.defaultStyle ?? [])]; + u.style && p.push(...u.style); + let m = { + id: y5(u.start, u.end, { counter: h, prefix: 'L' }), + start: u.start, + end: u.end, + type: u.type ?? 'normal', + label: u.text, + labelpos: 'c', + thickness: u.stroke, + minlen: u.length, + classes: + u?.stroke === 'invisible' + ? '' + : 'edge-thickness-normal edge-pattern-solid flowchart-link', + arrowTypeStart: u?.stroke === 'invisible' ? 'none' : f, + arrowTypeEnd: u?.stroke === 'invisible' ? 'none' : d, + arrowheadStyle: 'fill: #333', + labelStyle: p, + style: p, + pattern: u.stroke, + look: t.look + }; + r.push(m); + }), + { nodes: e, edges: r, other: {}, config: t } + ); + }, 'getData')), + (A5 = { + defaultConfig: o(() => _4.flowchart, 'defaultConfig'), + setAccTitle: kr, + getAccTitle: Ar, + getAccDescription: Lr, + getData: jCe, + setAccDescription: _r, + addVertex: xCe, + lookUpDomId: S5, + addLink: wCe, + updateLinkInterpolate: TCe, + updateLink: kCe, + addClass: ECe, + setDirection: CCe, + setClass: u9, + setTooltip: SCe, + getTooltip: GX, + setClickEvent: LCe, + setLink: _Ce, + bindFunctions: DCe, + getDirection: h9, + getVertices: $X, + getEdges: VX, + getClasses: RCe, + clear: NCe, + setGen: MCe, + defaultStyle: ICe, + addSubGraph: OCe, + getDepthFirstPos: BCe, + indexNodes: FCe, + getSubGraphs: WX, + destructLink: UCe, + lex: HCe, + exists: qX, + makeUniq: XX, + setDiagramTitle: nn, + getDiagramTitle: Xr + }); + }); + var KCe, + jX, + KX = R(() => { + 'use strict'; + (KCe = o((t) => { + let e = new Set(); + for (let r of t) + switch (r) { + case 'x': + e.add('right'), e.add('left'); + break; + case 'y': + e.add('up'), e.add('down'); + break; + default: + e.add(r); + break; + } + return e; + }, 'expandAndDeduplicateDirections')), + (jX = o((t, e, r) => { + let n = KCe(t), + i = 2, + a = e.height + 2 * r.padding, + s = a / i, + l = e.width + 2 * s + r.padding, + u = r.padding / 2; + return n.has('right') && n.has('left') && n.has('up') && n.has('down') + ? [ + { x: 0, y: 0 }, + { x: s, y: 0 }, + { x: l / 2, y: 2 * u }, + { x: l - s, y: 0 }, + { x: l, y: 0 }, + { x: l, y: -a / 3 }, + { x: l + 2 * u, y: -a / 2 }, + { x: l, y: (-2 * a) / 3 }, + { x: l, y: -a }, + { x: l - s, y: -a }, + { x: l / 2, y: -a - 2 * u }, + { x: s, y: -a }, + { x: 0, y: -a }, + { x: 0, y: (-2 * a) / 3 }, + { x: -2 * u, y: -a / 2 }, + { x: 0, y: -a / 3 } + ] + : n.has('right') && n.has('left') && n.has('up') + ? [ + { x: s, y: 0 }, + { x: l - s, y: 0 }, + { x: l, y: -a / 2 }, + { x: l - s, y: -a }, + { x: s, y: -a }, + { x: 0, y: -a / 2 } + ] + : n.has('right') && n.has('left') && n.has('down') + ? [ + { x: 0, y: 0 }, + { x: s, y: -a }, + { x: l - s, y: -a }, + { x: l, y: 0 } + ] + : n.has('right') && n.has('up') && n.has('down') + ? [ + { x: 0, y: 0 }, + { x: l, y: -s }, + { x: l, y: -a + s }, + { x: 0, y: -a } + ] + : n.has('left') && n.has('up') && n.has('down') + ? [ + { x: l, y: 0 }, + { x: 0, y: -s }, + { x: 0, y: -a + s }, + { x: l, y: -a } + ] + : n.has('right') && n.has('left') + ? [ + { x: s, y: 0 }, + { x: s, y: -u }, + { x: l - s, y: -u }, + { x: l - s, y: 0 }, + { x: l, y: -a / 2 }, + { x: l - s, y: -a }, + { x: l - s, y: -a + u }, + { x: s, y: -a + u }, + { x: s, y: -a }, + { x: 0, y: -a / 2 } + ] + : n.has('up') && n.has('down') + ? [ + { x: l / 2, y: 0 }, + { x: 0, y: -u }, + { x: s, y: -u }, + { x: s, y: -a + u }, + { x: 0, y: -a + u }, + { x: l / 2, y: -a }, + { x: l, y: -a + u }, + { x: l - s, y: -a + u }, + { x: l - s, y: -u }, + { x: l, y: -u } + ] + : n.has('right') && n.has('up') + ? [ + { x: 0, y: 0 }, + { x: l, y: -s }, + { x: 0, y: -a } + ] + : n.has('right') && n.has('down') + ? [ + { x: 0, y: 0 }, + { x: l, y: 0 }, + { x: 0, y: -a } + ] + : n.has('left') && n.has('up') + ? [ + { x: l, y: 0 }, + { x: 0, y: -s }, + { x: l, y: -a } + ] + : n.has('left') && n.has('down') + ? [ + { x: l, y: 0 }, + { x: 0, y: 0 }, + { x: l, y: -a } + ] + : n.has('right') + ? [ + { x: s, y: -u }, + { x: s, y: -u }, + { x: l - s, y: -u }, + { x: l - s, y: 0 }, + { x: l, y: -a / 2 }, + { x: l - s, y: -a }, + { x: l - s, y: -a + u }, + { x: s, y: -a + u }, + { x: s, y: -a + u } + ] + : n.has('left') + ? [ + { x: s, y: 0 }, + { x: s, y: -u }, + { x: l - s, y: -u }, + { x: l - s, y: -a + u }, + { x: s, y: -a + u }, + { x: s, y: -a }, + { x: 0, y: -a / 2 } + ] + : n.has('up') + ? [ + { x: s, y: -u }, + { x: s, y: -a + u }, + { x: 0, y: -a + u }, + { x: l / 2, y: -a }, + { x: l, y: -a + u }, + { x: l - s, y: -a + u }, + { x: l - s, y: -u } + ] + : n.has('down') + ? [ + { x: l / 2, y: 0 }, + { x: 0, y: -u }, + { x: s, y: -u }, + { x: s, y: -a + u }, + { x: l - s, y: -a + u }, + { x: l - s, y: -u }, + { x: l, y: -u } + ] + : [{ x: 0, y: 0 }]; + }, 'getArrowPoints')); + }); + function m9() { + return { + async: !1, + breaks: !1, + extensions: null, + gfm: !0, + hooks: null, + pedantic: !1, + renderer: null, + silent: !1, + tokenizer: null, + walkTokens: null + }; + } + function rj(t) { + Sd = t; + } + function ro(t, e) { + if (e) { + if (nj.test(t)) return t.replace(QCe, QX); + } else if (ij.test(t)) return t.replace(ZCe, QX); + return t; + } + function t7e(t) { + return t.replace( + e7e, + (e, r) => ( + (r = r.toLowerCase()), + r === 'colon' + ? ':' + : r.charAt(0) === '#' + ? r.charAt(1) === 'x' + ? String.fromCharCode(parseInt(r.substring(2), 16)) + : String.fromCharCode(+r.substring(1)) + : '' + ) + ); + } + function ln(t, e) { + let r = typeof t == 'string' ? t : t.source; + e = e || ''; + let n = { + replace: o((i, a) => { + let s = typeof a == 'string' ? a : a.source; + return (s = s.replace(r7e, '$1')), (r = r.replace(i, s)), n; + }, 'replace'), + getRegex: o(() => new RegExp(r, e), 'getRegex') + }; + return n; + } + function ZX(t) { + try { + t = encodeURI(t).replace(/%25/g, '%'); + } catch { + return null; + } + return t; + } + function JX(t, e) { + let r = t.replace(/\|/g, (a, s, l) => { + let u = !1, + h = s; + for (; --h >= 0 && l[h] === '\\'; ) u = !u; + return u ? '|' : ' |'; + }), + n = r.split(/ \|/), + i = 0; + if ((n[0].trim() || n.shift(), n.length > 0 && !n[n.length - 1].trim() && n.pop(), e)) + if (n.length > e) n.splice(e); + else for (; n.length < e; ) n.push(''); + for (; i < n.length; i++) n[i] = n[i].trim().replace(/\\\|/g, '|'); + return n; + } + function pv(t, e, r) { + let n = t.length; + if (n === 0) return ''; + let i = 0; + for (; i < n; ) { + let a = t.charAt(n - i - 1); + if (a === e && !r) i++; + else if (a !== e && r) i++; + else break; + } + return t.slice(0, n - i); + } + function n7e(t, e) { + if (t.indexOf(e[1]) === -1) return -1; + let r = 0; + for (let n = 0; n < t.length; n++) + if (t[n] === '\\') n++; + else if (t[n] === e[0]) r++; + else if (t[n] === e[1] && (r--, r < 0)) return n; + return -1; + } + function ej(t, e, r, n) { + let i = e.href, + a = e.title ? ro(e.title) : null, + s = t[1].replace(/\\([\[\]])/g, '$1'); + if (t[0].charAt(0) !== '!') { + n.state.inLink = !0; + let l = { + type: 'link', + raw: r, + href: i, + title: a, + text: s, + tokens: n.inlineTokens(s) + }; + return (n.state.inLink = !1), l; + } + return { type: 'image', raw: r, href: i, title: a, text: ro(s) }; + } + function i7e(t, e) { + let r = t.match(/^(\s+)(?:```)/); + if (r === null) return e; + let n = r[1]; + return e + .split( + ` +` + ) + .map((i) => { + let a = i.match(/^\s+/); + if (a === null) return i; + let [s] = a; + return s.length >= n.length ? i.slice(n.length) : i; + }).join(` +`); + } + function jr(t, e) { + return Cd.parse(t, e); + } + var Sd, + nj, + QCe, + ij, + ZCe, + JCe, + QX, + e7e, + r7e, + gv, + hm, + a7e, + s7e, + o7e, + vv, + l7e, + aj, + sj, + g9, + c7e, + y9, + u7e, + h7e, + D5, + v9, + f7e, + oj, + d7e, + x9, + tj, + p7e, + m7e, + lj, + g7e, + cj, + y7e, + xv, + v7e, + x7e, + b7e, + w7e, + T7e, + k7e, + E7e, + C7e, + S7e, + L5, + A7e, + uj, + hj, + _7e, + b9, + L7e, + d9, + D7e, + _5, + mv, + Su, + fm, + yv, + Au, + um, + p9, + Cd, + mkt, + gkt, + ykt, + vkt, + xkt, + bkt, + wkt, + fj = R(() => { + 'use strict'; + o(m9, '_getDefaults'); + Sd = m9(); + o(rj, 'changeDefaults'); + (nj = /[&<>"']/), + (QCe = new RegExp(nj.source, 'g')), + (ij = /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/), + (ZCe = new RegExp(ij.source, 'g')), + (JCe = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''' + }), + (QX = o((t) => JCe[t], 'getEscapeReplacement')); + o(ro, 'escape$1'); + e7e = /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi; + o(t7e, 'unescape'); + r7e = /(^|[^\[])\^/g; + o(ln, 'edit'); + o(ZX, 'cleanUrl'); + gv = { exec: o(() => null, 'exec') }; + o(JX, 'splitCells'); + o(pv, 'rtrim'); + o(n7e, 'findClosingBracket'); + o(ej, 'outputLink'); + o(i7e, 'indentCodeCompensation'); + (hm = class { + static { + o(this, '_Tokenizer'); + } + options; + rules; + lexer; + constructor(e) { + this.options = e || Sd; + } + space(e) { + let r = this.rules.block.newline.exec(e); + if (r && r[0].length > 0) return { type: 'space', raw: r[0] }; + } + code(e) { + let r = this.rules.block.code.exec(e); + if (r) { + let n = r[0].replace(/^ {1,4}/gm, ''); + return { + type: 'code', + raw: r[0], + codeBlockStyle: 'indented', + text: this.options.pedantic + ? n + : pv( + n, + ` +` + ) + }; + } + } + fences(e) { + let r = this.rules.block.fences.exec(e); + if (r) { + let n = r[0], + i = i7e(n, r[3] || ''); + return { + type: 'code', + raw: n, + lang: r[2] ? r[2].trim().replace(this.rules.inline.anyPunctuation, '$1') : r[2], + text: i + }; + } + } + heading(e) { + let r = this.rules.block.heading.exec(e); + if (r) { + let n = r[2].trim(); + if (/#$/.test(n)) { + let i = pv(n, '#'); + (this.options.pedantic || !i || / $/.test(i)) && (n = i.trim()); + } + return { + type: 'heading', + raw: r[0], + depth: r[1].length, + text: n, + tokens: this.lexer.inline(n) + }; + } + } + hr(e) { + let r = this.rules.block.hr.exec(e); + if (r) + return { + type: 'hr', + raw: pv( + r[0], + ` +` + ) + }; + } + blockquote(e) { + let r = this.rules.block.blockquote.exec(e); + if (r) { + let n = pv( + r[0], + ` +` + ).split(` +`), + i = '', + a = '', + s = []; + for (; n.length > 0; ) { + let l = !1, + u = [], + h; + for (h = 0; h < n.length; h++) + if (/^ {0,3}>/.test(n[h])) u.push(n[h]), (l = !0); + else if (!l) u.push(n[h]); + else break; + n = n.slice(h); + let f = u.join(` +`), + d = f + .replace( + /\n {0,3}((?:=+|-+) *)(?=\n|$)/g, + ` + $1` + ) + .replace(/^ {0,3}>[ \t]?/gm, ''); + (i = i + ? `${i} +${f}` + : f), + (a = a + ? `${a} +${d}` + : d); + let p = this.lexer.state.top; + if ( + ((this.lexer.state.top = !0), + this.lexer.blockTokens(d, s, !0), + (this.lexer.state.top = p), + n.length === 0) + ) + break; + let m = s[s.length - 1]; + if (m?.type === 'code') break; + if (m?.type === 'blockquote') { + let g = m, + y = + g.raw + + ` +` + + n.join(` +`), + v = this.blockquote(y); + (s[s.length - 1] = v), + (i = i.substring(0, i.length - g.raw.length) + v.raw), + (a = a.substring(0, a.length - g.text.length) + v.text); + break; + } else if (m?.type === 'list') { + let g = m, + y = + g.raw + + ` +` + + n.join(` +`), + v = this.list(y); + (s[s.length - 1] = v), + (i = i.substring(0, i.length - m.raw.length) + v.raw), + (a = a.substring(0, a.length - g.raw.length) + v.raw), + (n = y.substring(s[s.length - 1].raw.length).split(` +`)); + continue; + } + } + return { type: 'blockquote', raw: i, tokens: s, text: a }; + } + } + list(e) { + let r = this.rules.block.list.exec(e); + if (r) { + let n = r[1].trim(), + i = n.length > 1, + a = { + type: 'list', + raw: '', + ordered: i, + start: i ? +n.slice(0, -1) : '', + loose: !1, + items: [] + }; + (n = i ? `\\d{1,9}\\${n.slice(-1)}` : `\\${n}`), this.options.pedantic && (n = i ? n : '[*+-]'); + let s = new RegExp(`^( {0,3}${n})((?:[ ][^\\n]*)?(?:\\n|$))`), + l = !1; + for (; e; ) { + let u = !1, + h = '', + f = ''; + if (!(r = s.exec(e)) || this.rules.block.hr.test(e)) break; + (h = r[0]), (e = e.substring(h.length)); + let d = r[2] + .split( + ` +`, + 1 + )[0] + .replace(/^\t+/, (x) => ' '.repeat(3 * x.length)), + p = e.split( + ` +`, + 1 + )[0], + m = !d.trim(), + g = 0; + if ( + (this.options.pedantic + ? ((g = 2), (f = d.trimStart())) + : m + ? (g = r[1].length + 1) + : ((g = r[2].search(/[^ ]/)), + (g = g > 4 ? 1 : g), + (f = d.slice(g)), + (g += r[1].length)), + m && + /^ *$/.test(p) && + ((h += + p + + ` +`), + (e = e.substring(p.length + 1)), + (u = !0)), + !u) + ) { + let x = new RegExp( + `^ {0,${Math.min(3, g - 1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))` + ), + b = new RegExp( + `^ {0,${Math.min(3, g - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)` + ), + w = new RegExp(`^ {0,${Math.min(3, g - 1)}}(?:\`\`\`|~~~)`), + S = new RegExp(`^ {0,${Math.min(3, g - 1)}}#`); + for (; e; ) { + let T = e.split( + ` +`, + 1 + )[0]; + if ( + ((p = T), + this.options.pedantic && (p = p.replace(/^ {1,4}(?=( {4})*[^ ])/g, ' ')), + w.test(p) || S.test(p) || x.test(p) || b.test(e)) + ) + break; + if (p.search(/[^ ]/) >= g || !p.trim()) + f += + ` +` + p.slice(g); + else { + if (m || d.search(/[^ ]/) >= 4 || w.test(d) || S.test(d) || b.test(d)) break; + f += + ` +` + p; + } + !m && !p.trim() && (m = !0), + (h += + T + + ` +`), + (e = e.substring(T.length + 1)), + (d = p.slice(g)); + } + } + a.loose || (l ? (a.loose = !0) : /\n *\n *$/.test(h) && (l = !0)); + let y = null, + v; + this.options.gfm && + ((y = /^\[[ xX]\] /.exec(f)), + y && ((v = y[0] !== '[ ] '), (f = f.replace(/^\[[ xX]\] +/, '')))), + a.items.push({ + type: 'list_item', + raw: h, + task: !!y, + checked: v, + loose: !1, + text: f, + tokens: [] + }), + (a.raw += h); + } + (a.items[a.items.length - 1].raw = a.items[a.items.length - 1].raw.trimEnd()), + (a.items[a.items.length - 1].text = a.items[a.items.length - 1].text.trimEnd()), + (a.raw = a.raw.trimEnd()); + for (let u = 0; u < a.items.length; u++) + if ( + ((this.lexer.state.top = !1), + (a.items[u].tokens = this.lexer.blockTokens(a.items[u].text, [])), + !a.loose) + ) { + let h = a.items[u].tokens.filter((d) => d.type === 'space'), + f = h.length > 0 && h.some((d) => /\n.*\n/.test(d.raw)); + a.loose = f; + } + if (a.loose) for (let u = 0; u < a.items.length; u++) a.items[u].loose = !0; + return a; + } + } + html(e) { + let r = this.rules.block.html.exec(e); + if (r) + return { + type: 'html', + block: !0, + raw: r[0], + pre: r[1] === 'pre' || r[1] === 'script' || r[1] === 'style', + text: r[0] + }; + } + def(e) { + let r = this.rules.block.def.exec(e); + if (r) { + let n = r[1].toLowerCase().replace(/\s+/g, ' '), + i = r[2] + ? r[2].replace(/^<(.*)>$/, '$1').replace(this.rules.inline.anyPunctuation, '$1') + : '', + a = r[3] + ? r[3].substring(1, r[3].length - 1).replace(this.rules.inline.anyPunctuation, '$1') + : r[3]; + return { type: 'def', tag: n, raw: r[0], href: i, title: a }; + } + } + table(e) { + let r = this.rules.block.table.exec(e); + if (!r || !/[:|]/.test(r[2])) return; + let n = JX(r[1]), + i = r[2].replace(/^\||\| *$/g, '').split('|'), + a = + r[3] && r[3].trim() + ? r[3].replace(/\n[ \t]*$/, '').split(` +`) + : [], + s = { type: 'table', raw: r[0], header: [], align: [], rows: [] }; + if (n.length === i.length) { + for (let l of i) + /^ *-+: *$/.test(l) + ? s.align.push('right') + : /^ *:-+: *$/.test(l) + ? s.align.push('center') + : /^ *:-+ *$/.test(l) + ? s.align.push('left') + : s.align.push(null); + for (let l = 0; l < n.length; l++) + s.header.push({ + text: n[l], + tokens: this.lexer.inline(n[l]), + header: !0, + align: s.align[l] + }); + for (let l of a) + s.rows.push( + JX(l, s.header.length).map((u, h) => ({ + text: u, + tokens: this.lexer.inline(u), + header: !1, + align: s.align[h] + })) + ); + return s; + } + } + lheading(e) { + let r = this.rules.block.lheading.exec(e); + if (r) + return { + type: 'heading', + raw: r[0], + depth: r[2].charAt(0) === '=' ? 1 : 2, + text: r[1], + tokens: this.lexer.inline(r[1]) + }; + } + paragraph(e) { + let r = this.rules.block.paragraph.exec(e); + if (r) { + let n = + r[1].charAt(r[1].length - 1) === + ` +` + ? r[1].slice(0, -1) + : r[1]; + return { + type: 'paragraph', + raw: r[0], + text: n, + tokens: this.lexer.inline(n) + }; + } + } + text(e) { + let r = this.rules.block.text.exec(e); + if (r) + return { + type: 'text', + raw: r[0], + text: r[0], + tokens: this.lexer.inline(r[0]) + }; + } + escape(e) { + let r = this.rules.inline.escape.exec(e); + if (r) return { type: 'escape', raw: r[0], text: ro(r[1]) }; + } + tag(e) { + let r = this.rules.inline.tag.exec(e); + if (r) + return ( + !this.lexer.state.inLink && /^
    /i.test(r[0]) && (this.lexer.state.inLink = !1), + !this.lexer.state.inRawBlock && /^<(pre|code|kbd|script)(\s|>)/i.test(r[0]) + ? (this.lexer.state.inRawBlock = !0) + : this.lexer.state.inRawBlock && + /^<\/(pre|code|kbd|script)(\s|>)/i.test(r[0]) && + (this.lexer.state.inRawBlock = !1), + { + type: 'html', + raw: r[0], + inLink: this.lexer.state.inLink, + inRawBlock: this.lexer.state.inRawBlock, + block: !1, + text: r[0] + } + ); + } + link(e) { + let r = this.rules.inline.link.exec(e); + if (r) { + let n = r[2].trim(); + if (!this.options.pedantic && /^$/.test(n)) return; + let s = pv(n.slice(0, -1), '\\'); + if ((n.length - s.length) % 2 === 0) return; + } else { + let s = n7e(r[2], '()'); + if (s > -1) { + let u = (r[0].indexOf('!') === 0 ? 5 : 4) + r[1].length + s; + (r[2] = r[2].substring(0, s)), (r[0] = r[0].substring(0, u).trim()), (r[3] = ''); + } + } + let i = r[2], + a = ''; + if (this.options.pedantic) { + let s = /^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(i); + s && ((i = s[1]), (a = s[3])); + } else a = r[3] ? r[3].slice(1, -1) : ''; + return ( + (i = i.trim()), + /^$/.test(n) ? (i = i.slice(1)) : (i = i.slice(1, -1))), + ej( + r, + { + href: i && i.replace(this.rules.inline.anyPunctuation, '$1'), + title: a && a.replace(this.rules.inline.anyPunctuation, '$1') + }, + r[0], + this.lexer + ) + ); + } + } + reflink(e, r) { + let n; + if ((n = this.rules.inline.reflink.exec(e)) || (n = this.rules.inline.nolink.exec(e))) { + let i = (n[2] || n[1]).replace(/\s+/g, ' '), + a = r[i.toLowerCase()]; + if (!a) { + let s = n[0].charAt(0); + return { type: 'text', raw: s, text: s }; + } + return ej(n, a, n[0], this.lexer); + } + } + emStrong(e, r, n = '') { + let i = this.rules.inline.emStrongLDelim.exec(e); + if (!i || (i[3] && n.match(/[\p{L}\p{N}]/u))) return; + if (!(i[1] || i[2] || '') || !n || this.rules.inline.punctuation.exec(n)) { + let s = [...i[0]].length - 1, + l, + u, + h = s, + f = 0, + d = + i[0][0] === '*' + ? this.rules.inline.emStrongRDelimAst + : this.rules.inline.emStrongRDelimUnd; + for (d.lastIndex = 0, r = r.slice(-1 * e.length + s); (i = d.exec(r)) != null; ) { + if (((l = i[1] || i[2] || i[3] || i[4] || i[5] || i[6]), !l)) continue; + if (((u = [...l].length), i[3] || i[4])) { + h += u; + continue; + } else if ((i[5] || i[6]) && s % 3 && !((s + u) % 3)) { + f += u; + continue; + } + if (((h -= u), h > 0)) continue; + u = Math.min(u, u + h + f); + let p = [...i[0]][0].length, + m = e.slice(0, s + i.index + p + u); + if (Math.min(s, u) % 2) { + let y = m.slice(1, -1); + return { + type: 'em', + raw: m, + text: y, + tokens: this.lexer.inlineTokens(y) + }; + } + let g = m.slice(2, -2); + return { + type: 'strong', + raw: m, + text: g, + tokens: this.lexer.inlineTokens(g) + }; + } + } + } + codespan(e) { + let r = this.rules.inline.code.exec(e); + if (r) { + let n = r[2].replace(/\n/g, ' '), + i = /[^ ]/.test(n), + a = /^ /.test(n) && / $/.test(n); + return ( + i && a && (n = n.substring(1, n.length - 1)), + (n = ro(n, !0)), + { type: 'codespan', raw: r[0], text: n } + ); + } + } + br(e) { + let r = this.rules.inline.br.exec(e); + if (r) return { type: 'br', raw: r[0] }; + } + del(e) { + let r = this.rules.inline.del.exec(e); + if (r) + return { + type: 'del', + raw: r[0], + text: r[2], + tokens: this.lexer.inlineTokens(r[2]) + }; + } + autolink(e) { + let r = this.rules.inline.autolink.exec(e); + if (r) { + let n, i; + return ( + r[2] === '@' ? ((n = ro(r[1])), (i = 'mailto:' + n)) : ((n = ro(r[1])), (i = n)), + { + type: 'link', + raw: r[0], + text: n, + href: i, + tokens: [{ type: 'text', raw: n, text: n }] + } + ); + } + } + url(e) { + let r; + if ((r = this.rules.inline.url.exec(e))) { + let n, i; + if (r[2] === '@') (n = ro(r[0])), (i = 'mailto:' + n); + else { + let a; + do (a = r[0]), (r[0] = this.rules.inline._backpedal.exec(r[0])?.[0] ?? ''); + while (a !== r[0]); + (n = ro(r[0])), r[1] === 'www.' ? (i = 'http://' + r[0]) : (i = r[0]); + } + return { + type: 'link', + raw: r[0], + text: n, + href: i, + tokens: [{ type: 'text', raw: n, text: n }] + }; + } + } + inlineText(e) { + let r = this.rules.inline.text.exec(e); + if (r) { + let n; + return ( + this.lexer.state.inRawBlock ? (n = r[0]) : (n = ro(r[0])), + { type: 'text', raw: r[0], text: n } + ); + } + } + }), + (a7e = /^(?: *(?:\n|$))+/), + (s7e = /^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/), + (o7e = + /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/), + (vv = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/), + (l7e = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/), + (aj = /(?:[*+-]|\d{1,9}[.)])/), + (sj = ln( + /^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/ + ) + .replace(/bull/g, aj) + .replace(/blockCode/g, / {4}/) + .replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/) + .replace(/blockquote/g, / {0,3}>/) + .replace(/heading/g, / {0,3}#{1,6}/) + .replace(/html/g, / {0,3}<[^\n>]+>\n/) + .getRegex()), + (g9 = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/), + (c7e = /^[^\n]+/), + (y9 = /(?!\s*\])(?:\\.|[^\[\]\\])+/), + (u7e = ln( + /^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/ + ) + .replace('label', y9) + .replace('title', /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/) + .getRegex()), + (h7e = ln(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/) + .replace(/bull/g, aj) + .getRegex()), + (D5 = + 'address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul'), + (v9 = /|$))/), + (f7e = ln( + '^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))', + 'i' + ) + .replace('comment', v9) + .replace('tag', D5) + .replace('attribute', / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/) + .getRegex()), + (oj = ln(g9) + .replace('hr', vv) + .replace('heading', ' {0,3}#{1,6}(?:\\s|$)') + .replace('|lheading', '') + .replace('|table', '') + .replace('blockquote', ' {0,3}>') + .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n') + .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') + .replace('html', ')|<(?:script|pre|style|textarea|!--)') + .replace('tag', D5) + .getRegex()), + (d7e = ln(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/) + .replace('paragraph', oj) + .getRegex()), + (x9 = { + blockquote: d7e, + code: s7e, + def: u7e, + fences: o7e, + heading: l7e, + hr: vv, + html: f7e, + lheading: sj, + list: h7e, + newline: a7e, + paragraph: oj, + table: gv, + text: c7e + }), + (tj = ln( + '^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)' + ) + .replace('hr', vv) + .replace('heading', ' {0,3}#{1,6}(?:\\s|$)') + .replace('blockquote', ' {0,3}>') + .replace('code', ' {4}[^\\n]') + .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n') + .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') + .replace('html', ')|<(?:script|pre|style|textarea|!--)') + .replace('tag', D5) + .getRegex()), + (p7e = { + ...x9, + table: tj, + paragraph: ln(g9) + .replace('hr', vv) + .replace('heading', ' {0,3}#{1,6}(?:\\s|$)') + .replace('|lheading', '') + .replace('table', tj) + .replace('blockquote', ' {0,3}>') + .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n') + .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') + .replace('html', ')|<(?:script|pre|style|textarea|!--)') + .replace('tag', D5) + .getRegex() + }), + (m7e = { + ...x9, + html: ln( + `^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))` + ) + .replace('comment', v9) + .replace( + /tag/g, + '(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b' + ) + .getRegex(), + def: /^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/, + heading: /^(#{1,6})(.*)(?:\n+|$)/, + fences: gv, + lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/, + paragraph: ln(g9) + .replace('hr', vv) + .replace( + 'heading', + ` *#{1,6} *[^ +]` + ) + .replace('lheading', sj) + .replace('|table', '') + .replace('blockquote', ' {0,3}>') + .replace('|fences', '') + .replace('|list', '') + .replace('|html', '') + .replace('|tag', '') + .getRegex() + }), + (lj = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/), + (g7e = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/), + (cj = /^( {2,}|\\)\n(?!\s*$)/), + (y7e = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\]*?>/g), + (b7e = ln(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/, 'u') + .replace(/punct/g, xv) + .getRegex()), + (w7e = ln( + '^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])', + 'gu' + ) + .replace(/punct/g, xv) + .getRegex()), + (T7e = ln( + '^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])', + 'gu' + ) + .replace(/punct/g, xv) + .getRegex()), + (k7e = ln(/\\([punct])/, 'gu') + .replace(/punct/g, xv) + .getRegex()), + (E7e = ln(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/) + .replace('scheme', /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/) + .replace( + 'email', + /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/ + ) + .getRegex()), + (C7e = ln(v9).replace('(?:-->|$)', '-->').getRegex()), + (S7e = ln( + '^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^' + ) + .replace('comment', C7e) + .replace('attribute', /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/) + .getRegex()), + (L5 = /(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/), + (A7e = ln(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/) + .replace('label', L5) + .replace('href', /<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/) + .replace('title', /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/) + .getRegex()), + (uj = ln(/^!?\[(label)\]\[(ref)\]/) + .replace('label', L5) + .replace('ref', y9) + .getRegex()), + (hj = ln(/^!?\[(ref)\](?:\[\])?/) + .replace('ref', y9) + .getRegex()), + (_7e = ln('reflink|nolink(?!\\()', 'g').replace('reflink', uj).replace('nolink', hj).getRegex()), + (b9 = { + _backpedal: gv, + anyPunctuation: k7e, + autolink: E7e, + blockSkip: x7e, + br: cj, + code: g7e, + del: gv, + emStrongLDelim: b7e, + emStrongRDelimAst: w7e, + emStrongRDelimUnd: T7e, + escape: lj, + link: A7e, + nolink: hj, + punctuation: v7e, + reflink: uj, + reflinkSearch: _7e, + tag: S7e, + text: y7e, + url: gv + }), + (L7e = { + ...b9, + link: ln(/^!?\[(label)\]\((.*?)\)/) + .replace('label', L5) + .getRegex(), + reflink: ln(/^!?\[(label)\]\s*\[([^\]]*)\]/) + .replace('label', L5) + .getRegex() + }), + (d9 = { + ...b9, + escape: ln(lj).replace('])', '~|])').getRegex(), + url: ln(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/, 'i') + .replace('email', /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/) + .getRegex(), + _backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/, + del: /^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/, + text: /^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\ u + ' '.repeat(h.length))); + let i, a, s; + for (; e; ) + if ( + !( + this.options.extensions && + this.options.extensions.block && + this.options.extensions.block.some((l) => + (i = l.call({ lexer: this }, e, r)) + ? ((e = e.substring(i.raw.length)), r.push(i), !0) + : !1 + ) + ) + ) { + if ((i = this.tokenizer.space(e))) { + (e = e.substring(i.raw.length)), + i.raw.length === 1 && r.length > 0 + ? (r[r.length - 1].raw += ` +`) + : r.push(i); + continue; + } + if ((i = this.tokenizer.code(e))) { + (e = e.substring(i.raw.length)), + (a = r[r.length - 1]), + a && (a.type === 'paragraph' || a.type === 'text') + ? ((a.raw += + ` +` + i.raw), + (a.text += + ` +` + i.text), + (this.inlineQueue[this.inlineQueue.length - 1].src = a.text)) + : r.push(i); + continue; + } + if ((i = this.tokenizer.fences(e))) { + (e = e.substring(i.raw.length)), r.push(i); + continue; + } + if ((i = this.tokenizer.heading(e))) { + (e = e.substring(i.raw.length)), r.push(i); + continue; + } + if ((i = this.tokenizer.hr(e))) { + (e = e.substring(i.raw.length)), r.push(i); + continue; + } + if ((i = this.tokenizer.blockquote(e))) { + (e = e.substring(i.raw.length)), r.push(i); + continue; + } + if ((i = this.tokenizer.list(e))) { + (e = e.substring(i.raw.length)), r.push(i); + continue; + } + if ((i = this.tokenizer.html(e))) { + (e = e.substring(i.raw.length)), r.push(i); + continue; + } + if ((i = this.tokenizer.def(e))) { + (e = e.substring(i.raw.length)), + (a = r[r.length - 1]), + a && (a.type === 'paragraph' || a.type === 'text') + ? ((a.raw += + ` +` + i.raw), + (a.text += + ` +` + i.raw), + (this.inlineQueue[this.inlineQueue.length - 1].src = a.text)) + : this.tokens.links[i.tag] || + (this.tokens.links[i.tag] = { + href: i.href, + title: i.title + }); + continue; + } + if ((i = this.tokenizer.table(e))) { + (e = e.substring(i.raw.length)), r.push(i); + continue; + } + if ((i = this.tokenizer.lheading(e))) { + (e = e.substring(i.raw.length)), r.push(i); + continue; + } + if (((s = e), this.options.extensions && this.options.extensions.startBlock)) { + let l = 1 / 0, + u = e.slice(1), + h; + this.options.extensions.startBlock.forEach((f) => { + (h = f.call({ lexer: this }, u)), + typeof h == 'number' && h >= 0 && (l = Math.min(l, h)); + }), + l < 1 / 0 && l >= 0 && (s = e.substring(0, l + 1)); + } + if (this.state.top && (i = this.tokenizer.paragraph(s))) { + (a = r[r.length - 1]), + n && a?.type === 'paragraph' + ? ((a.raw += + ` +` + i.raw), + (a.text += + ` +` + i.text), + this.inlineQueue.pop(), + (this.inlineQueue[this.inlineQueue.length - 1].src = a.text)) + : r.push(i), + (n = s.length !== e.length), + (e = e.substring(i.raw.length)); + continue; + } + if ((i = this.tokenizer.text(e))) { + (e = e.substring(i.raw.length)), + (a = r[r.length - 1]), + a && a.type === 'text' + ? ((a.raw += + ` +` + i.raw), + (a.text += + ` +` + i.text), + this.inlineQueue.pop(), + (this.inlineQueue[this.inlineQueue.length - 1].src = a.text)) + : r.push(i); + continue; + } + if (e) { + let l = 'Infinite loop on byte: ' + e.charCodeAt(0); + if (this.options.silent) { + console.error(l); + break; + } else throw new Error(l); + } + } + return (this.state.top = !0), r; + } + inline(e, r = []) { + return this.inlineQueue.push({ src: e, tokens: r }), r; + } + inlineTokens(e, r = []) { + let n, + i, + a, + s = e, + l, + u, + h; + if (this.tokens.links) { + let f = Object.keys(this.tokens.links); + if (f.length > 0) + for (; (l = this.tokenizer.rules.inline.reflinkSearch.exec(s)) != null; ) + f.includes(l[0].slice(l[0].lastIndexOf('[') + 1, -1)) && + (s = + s.slice(0, l.index) + + '[' + + 'a'.repeat(l[0].length - 2) + + ']' + + s.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex)); + } + for (; (l = this.tokenizer.rules.inline.blockSkip.exec(s)) != null; ) + s = + s.slice(0, l.index) + + '[' + + 'a'.repeat(l[0].length - 2) + + ']' + + s.slice(this.tokenizer.rules.inline.blockSkip.lastIndex); + for (; (l = this.tokenizer.rules.inline.anyPunctuation.exec(s)) != null; ) + s = + s.slice(0, l.index) + + '++' + + s.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex); + for (; e; ) + if ( + (u || (h = ''), + (u = !1), + !( + this.options.extensions && + this.options.extensions.inline && + this.options.extensions.inline.some((f) => + (n = f.call({ lexer: this }, e, r)) + ? ((e = e.substring(n.raw.length)), r.push(n), !0) + : !1 + ) + )) + ) { + if ((n = this.tokenizer.escape(e))) { + (e = e.substring(n.raw.length)), r.push(n); + continue; + } + if ((n = this.tokenizer.tag(e))) { + (e = e.substring(n.raw.length)), + (i = r[r.length - 1]), + i && n.type === 'text' && i.type === 'text' + ? ((i.raw += n.raw), (i.text += n.text)) + : r.push(n); + continue; + } + if ((n = this.tokenizer.link(e))) { + (e = e.substring(n.raw.length)), r.push(n); + continue; + } + if ((n = this.tokenizer.reflink(e, this.tokens.links))) { + (e = e.substring(n.raw.length)), + (i = r[r.length - 1]), + i && n.type === 'text' && i.type === 'text' + ? ((i.raw += n.raw), (i.text += n.text)) + : r.push(n); + continue; + } + if ((n = this.tokenizer.emStrong(e, s, h))) { + (e = e.substring(n.raw.length)), r.push(n); + continue; + } + if ((n = this.tokenizer.codespan(e))) { + (e = e.substring(n.raw.length)), r.push(n); + continue; + } + if ((n = this.tokenizer.br(e))) { + (e = e.substring(n.raw.length)), r.push(n); + continue; + } + if ((n = this.tokenizer.del(e))) { + (e = e.substring(n.raw.length)), r.push(n); + continue; + } + if ((n = this.tokenizer.autolink(e))) { + (e = e.substring(n.raw.length)), r.push(n); + continue; + } + if (!this.state.inLink && (n = this.tokenizer.url(e))) { + (e = e.substring(n.raw.length)), r.push(n); + continue; + } + if (((a = e), this.options.extensions && this.options.extensions.startInline)) { + let f = 1 / 0, + d = e.slice(1), + p; + this.options.extensions.startInline.forEach((m) => { + (p = m.call({ lexer: this }, d)), + typeof p == 'number' && p >= 0 && (f = Math.min(f, p)); + }), + f < 1 / 0 && f >= 0 && (a = e.substring(0, f + 1)); + } + if ((n = this.tokenizer.inlineText(a))) { + (e = e.substring(n.raw.length)), + n.raw.slice(-1) !== '_' && (h = n.raw.slice(-1)), + (u = !0), + (i = r[r.length - 1]), + i && i.type === 'text' ? ((i.raw += n.raw), (i.text += n.text)) : r.push(n); + continue; + } + if (e) { + let f = 'Infinite loop on byte: ' + e.charCodeAt(0); + if (this.options.silent) { + console.error(f); + break; + } else throw new Error(f); + } + } + return r; + } + }), + (fm = class { + static { + o(this, '_Renderer'); + } + options; + parser; + constructor(e) { + this.options = e || Sd; + } + space(e) { + return ''; + } + code({ text: e, lang: r, escaped: n }) { + let i = (r || '').match(/^\S*/)?.[0], + a = + e.replace(/\n$/, '') + + ` +`; + return i + ? '
    ' +
    +                                  (n ? a : ro(a, !0)) +
    +                                  `
    +` + : '
    ' +
    +                                  (n ? a : ro(a, !0)) +
    +                                  `
    +`; + } + blockquote({ tokens: e }) { + return `
    +${this.parser.parse(e)}
    +`; + } + html({ text: e }) { + return e; + } + heading({ tokens: e, depth: r }) { + return `${this.parser.parseInline(e)} +`; + } + hr(e) { + return `
    +`; + } + list(e) { + let r = e.ordered, + n = e.start, + i = ''; + for (let l = 0; l < e.items.length; l++) { + let u = e.items[l]; + i += this.listitem(u); + } + let a = r ? 'ol' : 'ul', + s = r && n !== 1 ? ' start="' + n + '"' : ''; + return ( + '<' + + a + + s + + `> +` + + i + + ' +` + ); + } + listitem(e) { + let r = ''; + if (e.task) { + let n = this.checkbox({ checked: !!e.checked }); + e.loose + ? e.tokens.length > 0 && e.tokens[0].type === 'paragraph' + ? ((e.tokens[0].text = n + ' ' + e.tokens[0].text), + e.tokens[0].tokens && + e.tokens[0].tokens.length > 0 && + e.tokens[0].tokens[0].type === 'text' && + (e.tokens[0].tokens[0].text = n + ' ' + e.tokens[0].tokens[0].text)) + : e.tokens.unshift({ + type: 'text', + raw: n + ' ', + text: n + ' ' + }) + : (r += n + ' '); + } + return ( + (r += this.parser.parse(e.tokens, !!e.loose)), + `
  • ${r}
  • +` + ); + } + checkbox({ checked: e }) { + return ''; + } + paragraph({ tokens: e }) { + return `

    ${this.parser.parseInline(e)}

    +`; + } + table(e) { + let r = '', + n = ''; + for (let a = 0; a < e.header.length; a++) n += this.tablecell(e.header[a]); + r += this.tablerow({ text: n }); + let i = ''; + for (let a = 0; a < e.rows.length; a++) { + let s = e.rows[a]; + n = ''; + for (let l = 0; l < s.length; l++) n += this.tablecell(s[l]); + i += this.tablerow({ text: n }); + } + return ( + i && (i = `${i}`), + ` + +` + + r + + ` +` + + i + + `
    +` + ); + } + tablerow({ text: e }) { + return ` +${e} +`; + } + tablecell(e) { + let r = this.parser.parseInline(e.tokens), + n = e.header ? 'th' : 'td'; + return ( + (e.align ? `<${n} align="${e.align}">` : `<${n}>`) + + r + + ` +` + ); + } + strong({ tokens: e }) { + return `${this.parser.parseInline(e)}`; + } + em({ tokens: e }) { + return `${this.parser.parseInline(e)}`; + } + codespan({ text: e }) { + return `${e}`; + } + br(e) { + return '
    '; + } + del({ tokens: e }) { + return `${this.parser.parseInline(e)}`; + } + link({ href: e, title: r, tokens: n }) { + let i = this.parser.parseInline(n), + a = ZX(e); + if (a === null) return i; + e = a; + let s = '
    '), s; + } + image({ href: e, title: r, text: n }) { + let i = ZX(e); + if (i === null) return n; + e = i; + let a = `${n} { + let l = a[s].flat(1 / 0); + n = n.concat(this.walkTokens(l, r)); + }) + : a.tokens && (n = n.concat(this.walkTokens(a.tokens, r))); + } + } + return n; + } + use(...e) { + let r = this.defaults.extensions || { + renderers: {}, + childTokens: {} + }; + return ( + e.forEach((n) => { + let i = { ...n }; + if ( + ((i.async = this.defaults.async || i.async || !1), + n.extensions && + (n.extensions.forEach((a) => { + if (!a.name) throw new Error('extension name required'); + if ('renderer' in a) { + let s = r.renderers[a.name]; + s + ? (r.renderers[a.name] = function (...l) { + let u = a.renderer.apply(this, l); + return u === !1 && (u = s.apply(this, l)), u; + }) + : (r.renderers[a.name] = a.renderer); + } + if ('tokenizer' in a) { + if (!a.level || (a.level !== 'block' && a.level !== 'inline')) + throw new Error("extension level must be 'block' or 'inline'"); + let s = r[a.level]; + s ? s.unshift(a.tokenizer) : (r[a.level] = [a.tokenizer]), + a.start && + (a.level === 'block' + ? r.startBlock + ? r.startBlock.push(a.start) + : (r.startBlock = [a.start]) + : a.level === 'inline' && + (r.startInline + ? r.startInline.push(a.start) + : (r.startInline = [a.start]))); + } + 'childTokens' in a && + a.childTokens && + (r.childTokens[a.name] = a.childTokens); + }), + (i.extensions = r)), + n.renderer) + ) { + let a = this.defaults.renderer || new fm(this.defaults); + for (let s in n.renderer) { + if (!(s in a)) throw new Error(`renderer '${s}' does not exist`); + if (['options', 'parser'].includes(s)) continue; + let l = s, + u = n.renderer[l]; + n.useNewRenderer || (u = this.#t(u, l, a)); + let h = a[l]; + a[l] = (...f) => { + let d = u.apply(a, f); + return d === !1 && (d = h.apply(a, f)), d || ''; + }; + } + i.renderer = a; + } + if (n.tokenizer) { + let a = this.defaults.tokenizer || new hm(this.defaults); + for (let s in n.tokenizer) { + if (!(s in a)) throw new Error(`tokenizer '${s}' does not exist`); + if (['options', 'rules', 'lexer'].includes(s)) continue; + let l = s, + u = n.tokenizer[l], + h = a[l]; + a[l] = (...f) => { + let d = u.apply(a, f); + return d === !1 && (d = h.apply(a, f)), d; + }; + } + i.tokenizer = a; + } + if (n.hooks) { + let a = this.defaults.hooks || new um(); + for (let s in n.hooks) { + if (!(s in a)) throw new Error(`hook '${s}' does not exist`); + if (s === 'options') continue; + let l = s, + u = n.hooks[l], + h = a[l]; + um.passThroughHooks.has(s) + ? (a[l] = (f) => { + if (this.defaults.async) + return Promise.resolve(u.call(a, f)).then((p) => h.call(a, p)); + let d = u.call(a, f); + return h.call(a, d); + }) + : (a[l] = (...f) => { + let d = u.apply(a, f); + return d === !1 && (d = h.apply(a, f)), d; + }); + } + i.hooks = a; + } + if (n.walkTokens) { + let a = this.defaults.walkTokens, + s = n.walkTokens; + i.walkTokens = function (l) { + let u = []; + return u.push(s.call(this, l)), a && (u = u.concat(a.call(this, l))), u; + }; + } + this.defaults = { ...this.defaults, ...i }; + }), + this + ); + } + #t(e, r, n) { + switch (r) { + case 'heading': + return function (i) { + return !i.type || i.type !== r + ? e.apply(this, arguments) + : e.call( + this, + n.parser.parseInline(i.tokens), + i.depth, + t7e(n.parser.parseInline(i.tokens, n.parser.textRenderer)) + ); + }; + case 'code': + return function (i) { + return !i.type || i.type !== r + ? e.apply(this, arguments) + : e.call(this, i.text, i.lang, !!i.escaped); + }; + case 'table': + return function (i) { + if (!i.type || i.type !== r) return e.apply(this, arguments); + let a = '', + s = ''; + for (let u = 0; u < i.header.length; u++) + s += this.tablecell({ + text: i.header[u].text, + tokens: i.header[u].tokens, + header: !0, + align: i.align[u] + }); + a += this.tablerow({ text: s }); + let l = ''; + for (let u = 0; u < i.rows.length; u++) { + let h = i.rows[u]; + s = ''; + for (let f = 0; f < h.length; f++) + s += this.tablecell({ + text: h[f].text, + tokens: h[f].tokens, + header: !1, + align: i.align[f] + }); + l += this.tablerow({ text: s }); + } + return e.call(this, a, l); + }; + case 'blockquote': + return function (i) { + if (!i.type || i.type !== r) return e.apply(this, arguments); + let a = this.parser.parse(i.tokens); + return e.call(this, a); + }; + case 'list': + return function (i) { + if (!i.type || i.type !== r) return e.apply(this, arguments); + let a = i.ordered, + s = i.start, + l = i.loose, + u = ''; + for (let h = 0; h < i.items.length; h++) { + let f = i.items[h], + d = f.checked, + p = f.task, + m = ''; + if (f.task) { + let g = this.checkbox({ checked: !!d }); + l + ? f.tokens.length > 0 && f.tokens[0].type === 'paragraph' + ? ((f.tokens[0].text = g + ' ' + f.tokens[0].text), + f.tokens[0].tokens && + f.tokens[0].tokens.length > 0 && + f.tokens[0].tokens[0].type === 'text' && + (f.tokens[0].tokens[0].text = + g + ' ' + f.tokens[0].tokens[0].text)) + : f.tokens.unshift({ type: 'text', text: g + ' ' }) + : (m += g + ' '); + } + (m += this.parser.parse(f.tokens, l)), + (u += this.listitem({ + type: 'list_item', + raw: m, + text: m, + task: p, + checked: !!d, + loose: l, + tokens: f.tokens + })); + } + return e.call(this, u, a, s); + }; + case 'html': + return function (i) { + return !i.type || i.type !== r + ? e.apply(this, arguments) + : e.call(this, i.text, i.block); + }; + case 'paragraph': + return function (i) { + return !i.type || i.type !== r + ? e.apply(this, arguments) + : e.call(this, this.parser.parseInline(i.tokens)); + }; + case 'escape': + return function (i) { + return !i.type || i.type !== r ? e.apply(this, arguments) : e.call(this, i.text); + }; + case 'link': + return function (i) { + return !i.type || i.type !== r + ? e.apply(this, arguments) + : e.call(this, i.href, i.title, this.parser.parseInline(i.tokens)); + }; + case 'image': + return function (i) { + return !i.type || i.type !== r + ? e.apply(this, arguments) + : e.call(this, i.href, i.title, i.text); + }; + case 'strong': + return function (i) { + return !i.type || i.type !== r + ? e.apply(this, arguments) + : e.call(this, this.parser.parseInline(i.tokens)); + }; + case 'em': + return function (i) { + return !i.type || i.type !== r + ? e.apply(this, arguments) + : e.call(this, this.parser.parseInline(i.tokens)); + }; + case 'codespan': + return function (i) { + return !i.type || i.type !== r ? e.apply(this, arguments) : e.call(this, i.text); + }; + case 'del': + return function (i) { + return !i.type || i.type !== r + ? e.apply(this, arguments) + : e.call(this, this.parser.parseInline(i.tokens)); + }; + case 'text': + return function (i) { + return !i.type || i.type !== r ? e.apply(this, arguments) : e.call(this, i.text); + }; + } + return e; + } + setOptions(e) { + return (this.defaults = { ...this.defaults, ...e }), this; + } + lexer(e, r) { + return Su.lex(e, r ?? this.defaults); + } + parser(e, r) { + return Au.parse(e, r ?? this.defaults); + } + #e(e, r) { + return (n, i) => { + let a = { ...i }, + s = { ...this.defaults, ...a }; + this.defaults.async === !0 && + a.async === !1 && + (s.silent || + console.warn( + 'marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored.' + ), + (s.async = !0)); + let l = this.#r(!!s.silent, !!s.async); + if (typeof n > 'u' || n === null) + return l(new Error('marked(): input parameter is undefined or null')); + if (typeof n != 'string') + return l( + new Error( + 'marked(): input parameter is of type ' + + Object.prototype.toString.call(n) + + ', string expected' + ) + ); + if ((s.hooks && (s.hooks.options = s), s.async)) + return Promise.resolve(s.hooks ? s.hooks.preprocess(n) : n) + .then((u) => e(u, s)) + .then((u) => (s.hooks ? s.hooks.processAllTokens(u) : u)) + .then((u) => + s.walkTokens ? Promise.all(this.walkTokens(u, s.walkTokens)).then(() => u) : u + ) + .then((u) => r(u, s)) + .then((u) => (s.hooks ? s.hooks.postprocess(u) : u)) + .catch(l); + try { + s.hooks && (n = s.hooks.preprocess(n)); + let u = e(n, s); + s.hooks && (u = s.hooks.processAllTokens(u)), + s.walkTokens && this.walkTokens(u, s.walkTokens); + let h = r(u, s); + return s.hooks && (h = s.hooks.postprocess(h)), h; + } catch (u) { + return l(u); + } + }; + } + #r(e, r) { + return (n) => { + if ( + ((n.message += ` +Please report this to https://github.com/markedjs/marked.`), + e) + ) { + let i = '

    An error occurred:

    ' + ro(n.message + '', !0) + '
    '; + return r ? Promise.resolve(i) : i; + } + if (r) return Promise.reject(n); + throw n; + }; + } + }), + (Cd = new p9()); + o(jr, 'marked'); + jr.options = jr.setOptions = function (t) { + return Cd.setOptions(t), (jr.defaults = Cd.defaults), rj(jr.defaults), jr; + }; + jr.getDefaults = m9; + jr.defaults = Sd; + jr.use = function (...t) { + return Cd.use(...t), (jr.defaults = Cd.defaults), rj(jr.defaults), jr; + }; + jr.walkTokens = function (t, e) { + return Cd.walkTokens(t, e); + }; + jr.parseInline = Cd.parseInline; + jr.Parser = Au; + jr.parser = Au.parse; + jr.Renderer = fm; + jr.TextRenderer = yv; + jr.Lexer = Su; + jr.lexer = Su.lex; + jr.Tokenizer = hm; + jr.Hooks = um; + jr.parse = jr; + (mkt = jr.options), + (gkt = jr.setOptions), + (ykt = jr.use), + (vkt = jr.walkTokens), + (xkt = jr.parseInline), + (bkt = Au.parse), + (wkt = Su.lex); + }); + function R7e(t, { markdownAutoWrap: e }) { + let n = t + .replace( + //g, + ` +` + ) + .replace( + /\n{2,}/g, + ` +` + ), + i = Gb(n); + return e === !1 ? i.replace(/ /g, ' ') : i; + } + function dj(t, e = {}) { + let r = R7e(t, e), + n = jr.lexer(r), + i = [[]], + a = 0; + function s(l, u = 'normal') { + l.type === 'text' + ? l.text + .split( + ` +` + ) + .forEach((f, d) => { + d !== 0 && (a++, i.push([])), + f.split(' ').forEach((p) => { + p && i[a].push({ content: p, type: u }); + }); + }) + : l.type === 'strong' || l.type === 'em' + ? l.tokens.forEach((h) => { + s(h, l.type); + }) + : l.type === 'html' && i[a].push({ content: l.text, type: 'normal' }); + } + return ( + o(s, 'processNode'), + n.forEach((l) => { + l.type === 'paragraph' + ? l.tokens?.forEach((u) => { + s(u); + }) + : l.type === 'html' && i[a].push({ content: l.text, type: 'normal' }); + }), + i + ); + } + function pj(t, { markdownAutoWrap: e } = {}) { + let r = jr.lexer(t); + function n(i) { + return i.type === 'text' + ? e === !1 + ? i.text.replace(/\n */g, '
    ').replace(/ /g, ' ') + : i.text.replace(/\n */g, '
    ') + : i.type === 'strong' + ? `${i.tokens?.map(n).join('')}` + : i.type === 'em' + ? `${i.tokens?.map(n).join('')}` + : i.type === 'paragraph' + ? `

    ${i.tokens?.map(n).join('')}

    ` + : i.type === 'space' + ? '' + : i.type === 'html' + ? `${i.text}` + : `Unsupported markdown: ${i.type}`; + } + return o(n, 'output'), r.map(n).join(''); + } + var mj = R(() => { + 'use strict'; + fj(); + zC(); + o(R7e, 'preprocessMarkdown'); + o(dj, 'markdownToLines'); + o(pj, 'markdownToHTML'); + }); + function N7e(t) { + return Intl.Segmenter ? [...new Intl.Segmenter().segment(t)].map((e) => e.segment) : [...t]; + } + function M7e(t, e) { + let r = N7e(e.content); + return gj(t, [], r, e.type); + } + function gj(t, e, r, n) { + if (r.length === 0) + return [ + { content: e.join(''), type: n }, + { content: '', type: n } + ]; + let [i, ...a] = r, + s = [...e, i]; + return t([{ content: s.join(''), type: n }]) + ? gj(t, s, a, n) + : (e.length === 0 && i && (e.push(i), r.shift()), + [ + { content: e.join(''), type: n }, + { content: r.join(''), type: n } + ]); + } + function yj(t, e) { + if ( + t.some(({ content: r }) => + r.includes(` +`) + ) + ) + throw new Error('splitLineToFitWidth does not support newlines in the line'); + return w9(t, e); + } + function w9(t, e, r = [], n = []) { + if (t.length === 0) return n.length > 0 && r.push(n), r.length > 0 ? r : []; + let i = ''; + t[0].content === ' ' && ((i = ' '), t.shift()); + let a = t.shift() ?? { content: ' ', type: 'normal' }, + s = [...n]; + if ((i !== '' && s.push({ content: i, type: 'normal' }), s.push(a), e(s))) return w9(t, e, r, s); + if (n.length > 0) r.push(n), t.unshift(a); + else if (a.content) { + let [l, u] = M7e(e, a); + r.push([l]), u.content && t.unshift(u); + } + return w9(t, e, r); + } + var vj = R(() => { + 'use strict'; + o(N7e, 'splitTextToChars'); + o(M7e, 'splitWordToFitWidth'); + o(gj, 'splitWordToFitWidthRecursion'); + o(yj, 'splitLineToFitWidth'); + o(w9, 'splitLineToFitWidthRecursion'); + }); + function xj(t, e) { + e && t.attr('style', e); + } + async function I7e(t, e, r, n, i = !1) { + let a = t.append('foreignObject'), + s = a.append('xhtml:div'), + l = e.label; + e.label && + Ni(e.label) && + (l = await yh( + e.label.replace( + We.lineBreakRegex, + ` +` + ), + de() + )); + let u = e.isNode ? 'nodeLabel' : 'edgeLabel', + h = s.append('span'); + h.html(l), + xj(h, e.labelStyle), + h.attr('class', `${u} ${n}`), + xj(s, e.labelStyle), + s.style('display', 'table-cell'), + s.style('white-space', 'nowrap'), + s.style('line-height', '1.5'), + s.style('max-width', r + 'px'), + s.style('text-align', 'center'), + s.attr('xmlns', 'http://www.w3.org/1999/xhtml'), + i && s.attr('class', 'labelBkg'); + let f = s.node().getBoundingClientRect(); + return ( + f.width === r && + (s.style('display', 'table'), + s.style('white-space', 'break-spaces'), + s.style('width', r + 'px'), + (f = s.node().getBoundingClientRect())), + a.node() + ); + } + function T9(t, e, r) { + return t + .append('tspan') + .attr('class', 'text-outer-tspan') + .attr('x', 0) + .attr('y', e * r - 0.1 + 'em') + .attr('dy', r + 'em'); + } + function O7e(t, e, r) { + let n = t.append('text'), + i = T9(n, 1, e); + k9(i, r); + let a = i.node().getComputedTextLength(); + return n.remove(), a; + } + function bj(t, e, r) { + let n = t.append('text'), + i = T9(n, 1, e); + k9(i, [{ content: r, type: 'normal' }]); + let a = i.node()?.getBoundingClientRect(); + return a && n.remove(), a; + } + function P7e(t, e, r, n = !1) { + let a = e.append('g'), + s = a.insert('rect').attr('class', 'background').attr('style', 'stroke: none'), + l = a.append('text').attr('y', '-10.1'), + u = 0; + for (let h of r) { + let f = o((p) => O7e(a, 1.1, p) <= t, 'checkWidth'), + d = f(h) ? [h] : yj(h, f); + for (let p of d) { + let m = T9(l, u, 1.1); + k9(m, p), u++; + } + } + if (n) { + let h = l.node().getBBox(), + f = 2; + return ( + s + .attr('x', -f) + .attr('y', -f) + .attr('width', h.width + 2 * f) + .attr('height', h.height + 2 * f), + a.node() + ); + } else return l.node(); + } + function k9(t, e) { + t.text(''), + e.forEach((r, n) => { + let i = t + .append('tspan') + .attr('font-style', r.type === 'em' ? 'italic' : 'normal') + .attr('class', 'text-inner-tspan') + .attr('font-weight', r.type === 'strong' ? 'bold' : 'normal'); + n === 0 ? i.text(r.content) : i.text(' ' + r.content); + }); + } + function E9(t) { + return t.replace(/fa[bklrs]?:fa-[\w-]+/g, (e) => ``); + } + var ta, + Al = R(() => { + 'use strict'; + _t(); + rr(); + Zt(); + ut(); + mj(); + xr(); + vj(); + o(xj, 'applyStyle'); + o(I7e, 'addHtmlSpan'); + o(T9, 'createTspan'); + o(O7e, 'computeWidthOfText'); + o(bj, 'computeDimensionOfText'); + o(P7e, 'createFormattedText'); + o(k9, 'updateTextContentAndStyles'); + o(E9, 'replaceIconSubstring'); + ta = o( + async ( + t, + e = '', + { + style: r = '', + isTitle: n = !1, + classes: i = '', + useHtmlLabels: a = !0, + isNode: s = !0, + width: l = 200, + addSvgBackground: u = !1 + } = {}, + h + ) => { + if ((V.info('XYZ createText', e, r, n, i, a, s, 'addSvgBackground: ', u), a)) { + let f = pj(e, h), + d = E9(to(f)), + p = e.replace(/\\\\/g, '\\'), + m = { + isNode: s, + label: Ni(e) ? p : d, + labelStyle: r.replace('fill:', 'color:') + }; + return await I7e(t, m, l, i, u); + } else { + let f = e.replace(//g, '
    '), + d = dj(f.replace('
    ', '
    '), h), + p = P7e(l, t, d, e ? u : !1); + if (s) { + /stroke:/.exec(r) && (r = r.replace('stroke:', 'lineColor:')); + let m = r + .replace(/stroke:[^;]+;?/g, '') + .replace(/stroke-width:[^;]+;?/g, '') + .replace(/fill:[^;]+;?/g, '') + .replace(/color:/g, 'fill:'); + $e(p).attr('style', m); + } else { + let m = r + .replace(/stroke:[^;]+;?/g, '') + .replace(/stroke-width:[^;]+;?/g, '') + .replace(/fill:[^;]+;?/g, '') + .replace(/background:/g, 'fill:'); + $e(p) + .select('rect') + .attr('style', m.replace(/background:/g, 'fill:')); + let g = r + .replace(/stroke:[^;]+;?/g, '') + .replace(/stroke-width:[^;]+;?/g, '') + .replace(/fill:[^;]+;?/g, '') + .replace(/color:/g, 'fill:'); + $e(p).select('text').attr('style', g); + } + return p; + } + }, + 'createText' + ); + }); + function wj(t, e) { + e && t.attr('style', e); + } + function B7e(t) { + let e = $e(document.createElementNS('http://www.w3.org/2000/svg', 'foreignObject')), + r = e.append('xhtml:div'), + n = t.label, + i = t.isNode ? 'nodeLabel' : 'edgeLabel', + a = r.append('span'); + return ( + a.html(n), + wj(a, t.labelStyle), + a.attr('class', i), + wj(r, t.labelStyle), + r.style('display', 'inline-block'), + r.style('white-space', 'nowrap'), + r.attr('xmlns', 'http://www.w3.org/1999/xhtml'), + e.node() + ); + } + var F7e, + ra, + bv = R(() => { + 'use strict'; + Zt(); + ut(); + _t(); + rr(); + xr(); + Al(); + o(wj, 'applyStyle'); + o(B7e, 'addHtmlLabel'); + (F7e = o((t, e, r, n) => { + let i = t || ''; + if ((typeof i == 'object' && (i = i[0]), yr(de().flowchart.htmlLabels))) { + (i = i.replace(/\\n|\n/g, '
    ')), V.debug('vertexText' + i); + let a = { + isNode: n, + label: E9(to(i)), + labelStyle: e.replace('fill:', 'color:') + }; + return B7e(a); + } else { + let a = document.createElementNS('http://www.w3.org/2000/svg', 'text'); + a.setAttribute('style', e.replace('color:', 'fill:')); + let s = []; + typeof i == 'string' ? (s = i.split(/\\n|\n|/gi)) : Array.isArray(i) ? (s = i) : (s = []); + for (let l of s) { + let u = document.createElementNS('http://www.w3.org/2000/svg', 'tspan'); + u.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve'), + u.setAttribute('dy', '1em'), + u.setAttribute('x', '0'), + r ? u.setAttribute('class', 'title-row') : u.setAttribute('class', 'row'), + (u.textContent = l.trim()), + a.appendChild(u); + } + return a; + } + }, 'createLabel')), + (ra = F7e); + }); + function z7e(t, e) { + return t.intersect(e); + } + var Tj, + kj = R(() => { + 'use strict'; + o(z7e, 'intersectNode'); + Tj = z7e; + }); + function G7e(t, e, r, n) { + var i = t.x, + a = t.y, + s = i - n.x, + l = a - n.y, + u = Math.sqrt(e * e * l * l + r * r * s * s), + h = Math.abs((e * r * s) / u); + n.x < i && (h = -h); + var f = Math.abs((e * r * l) / u); + return n.y < a && (f = -f), { x: i + h, y: a + f }; + } + var R5, + C9 = R(() => { + 'use strict'; + o(G7e, 'intersectEllipse'); + R5 = G7e; + }); + function $7e(t, e, r) { + return R5(t, e, e, r); + } + var Ej, + Cj = R(() => { + 'use strict'; + C9(); + o($7e, 'intersectCircle'); + Ej = $7e; + }); + function V7e(t, e, r, n) { + var i, a, s, l, u, h, f, d, p, m, g, y, v, x, b; + if ( + ((i = e.y - t.y), + (s = t.x - e.x), + (u = e.x * t.y - t.x * e.y), + (p = i * r.x + s * r.y + u), + (m = i * n.x + s * n.y + u), + !(p !== 0 && m !== 0 && Sj(p, m)) && + ((a = n.y - r.y), + (l = r.x - n.x), + (h = n.x * r.y - r.x * n.y), + (f = a * t.x + l * t.y + h), + (d = a * e.x + l * e.y + h), + !(f !== 0 && d !== 0 && Sj(f, d)) && ((g = i * l - a * s), g !== 0))) + ) + return ( + (y = Math.abs(g / 2)), + (v = s * h - l * u), + (x = v < 0 ? (v - y) / g : (v + y) / g), + (v = a * u - i * h), + (b = v < 0 ? (v - y) / g : (v + y) / g), + { x, y: b } + ); + } + function Sj(t, e) { + return t * e > 0; + } + var Aj, + _j = R(() => { + 'use strict'; + o(V7e, 'intersectLine'); + o(Sj, 'sameSign'); + Aj = V7e; + }); + function U7e(t, e, r) { + var n = t.x, + i = t.y, + a = [], + s = Number.POSITIVE_INFINITY, + l = Number.POSITIVE_INFINITY; + typeof e.forEach == 'function' + ? e.forEach(function (g) { + (s = Math.min(s, g.x)), (l = Math.min(l, g.y)); + }) + : ((s = Math.min(s, e.x)), (l = Math.min(l, e.y))); + for (var u = n - t.width / 2 - s, h = i - t.height / 2 - l, f = 0; f < e.length; f++) { + var d = e[f], + p = e[f < e.length - 1 ? f + 1 : 0], + m = Aj(t, r, { x: u + d.x, y: h + d.y }, { x: u + p.x, y: h + p.y }); + m && a.push(m); + } + return a.length + ? (a.length > 1 && + a.sort(function (g, y) { + var v = g.x - r.x, + x = g.y - r.y, + b = Math.sqrt(v * v + x * x), + w = y.x - r.x, + S = y.y - r.y, + T = Math.sqrt(w * w + S * S); + return b < T ? -1 : b === T ? 0 : 1; + }), + a[0]) + : t; + } + var Lj, + Dj = R(() => { + 'use strict'; + _j(); + Lj = U7e; + o(U7e, 'intersectPolygon'); + }); + var H7e, + Ad, + S9 = R(() => { + 'use strict'; + (H7e = o((t, e) => { + var r = t.x, + n = t.y, + i = e.x - r, + a = e.y - n, + s = t.width / 2, + l = t.height / 2, + u, + h; + return ( + Math.abs(a) * s > Math.abs(i) * l + ? (a < 0 && (l = -l), (u = a === 0 ? 0 : (l * i) / a), (h = l)) + : (i < 0 && (s = -s), (u = s), (h = i === 0 ? 0 : (s * a) / i)), + { x: r + u, y: n + h } + ); + }, 'intersectRect')), + (Ad = H7e); + }); + var Tn, + A9 = R(() => { + 'use strict'; + kj(); + Cj(); + C9(); + Dj(); + S9(); + Tn = { node: Tj, circle: Ej, ellipse: R5, polygon: Lj, rect: Ad }; + }); + function _l(t, e, r, n) { + return t + .insert('polygon', ':first-child') + .attr( + 'points', + n + .map(function (i) { + return i.x + ',' + i.y; + }) + .join(' ') + ) + .attr('class', 'label-container') + .attr('transform', 'translate(' + -e / 2 + ',' + r / 2 + ')'); + } + var Ti, + kn, + N5 = R(() => { + 'use strict'; + bv(); + Al(); + _t(); + Zt(); + rr(); + xr(); + (Ti = o(async (t, e, r, n) => { + let i = de(), + a, + s = e.useHtmlLabels || yr(i.flowchart.htmlLabels); + r ? (a = r) : (a = 'node default'); + let l = t + .insert('g') + .attr('class', a) + .attr('id', e.domId || e.id), + u = l.insert('g').attr('class', 'label').attr('style', e.labelStyle), + h; + e.labelText === void 0 ? (h = '') : (h = typeof e.labelText == 'string' ? e.labelText : e.labelText[0]); + let f = u.node(), + d; + e.labelType === 'markdown' + ? (d = ta( + u, + qr(to(h), i), + { + useHtmlLabels: s, + width: e.width || i.flowchart.wrappingWidth, + classes: 'markdown-node-label' + }, + i + )) + : (d = f.appendChild(ra(qr(to(h), i), e.labelStyle, !1, n))); + let p = d.getBBox(), + m = e.padding / 2; + if (yr(i.flowchart.htmlLabels)) { + let g = d.children[0], + y = $e(d), + v = g.getElementsByTagName('img'); + if (v) { + let x = h.replace(/]*>/g, '').trim() === ''; + await Promise.all( + [...v].map( + (b) => + new Promise((w) => { + function S() { + if (((b.style.display = 'flex'), (b.style.flexDirection = 'column'), x)) { + let T = i.fontSize + ? i.fontSize + : window.getComputedStyle(document.body).fontSize, + _ = parseInt(T, 10) * 5 + 'px'; + (b.style.minWidth = _), (b.style.maxWidth = _); + } else b.style.width = '100%'; + w(b); + } + o(S, 'setupImage'), + setTimeout(() => { + b.complete && S(); + }), + b.addEventListener('error', S), + b.addEventListener('load', S); + }) + ) + ); + } + (p = g.getBoundingClientRect()), y.attr('width', p.width), y.attr('height', p.height); + } + return ( + s + ? u.attr('transform', 'translate(' + -p.width / 2 + ', ' + -p.height / 2 + ')') + : u.attr('transform', 'translate(0, ' + -p.height / 2 + ')'), + e.centerLabel && u.attr('transform', 'translate(' + -p.width / 2 + ', ' + -p.height / 2 + ')'), + u.insert('rect', ':first-child'), + { shapeSvg: l, bbox: p, halfPadding: m, label: u } + ); + }, 'labelHelper')), + (kn = o((t, e) => { + let r = e.node().getBBox(); + (t.width = r.width), (t.height = r.height); + }, 'updateNodeBounds')); + o(_l, 'insertPolygonShape'); + }); + var Y7e, + Rj, + Nj = R(() => { + 'use strict'; + N5(); + ut(); + _t(); + A9(); + (Y7e = o(async (t, e) => { + e.useHtmlLabels || de().flowchart.htmlLabels || (e.centerLabel = !0); + let { shapeSvg: n, bbox: i, halfPadding: a } = await Ti(t, e, 'node ' + e.classes, !0); + V.info('Classes = ', e.classes); + let s = n.insert('rect', ':first-child'); + return ( + s + .attr('rx', e.rx) + .attr('ry', e.ry) + .attr('x', -i.width / 2 - a) + .attr('y', -i.height / 2 - a) + .attr('width', i.width + e.padding) + .attr('height', i.height + e.padding), + kn(e, s), + (e.intersect = function (l) { + return Tn.rect(e, l); + }), + n + ); + }, 'note')), + (Rj = Y7e); + }); + function _9(t, e, r, n) { + let i = [], + a = o((l) => { + i.push(l, 0); + }, 'addBorder'), + s = o((l) => { + i.push(0, l); + }, 'skipBorder'); + e.includes('t') ? (V.debug('add top border'), a(r)) : s(r), + e.includes('r') ? (V.debug('add right border'), a(n)) : s(n), + e.includes('b') ? (V.debug('add bottom border'), a(r)) : s(r), + e.includes('l') ? (V.debug('add left border'), a(n)) : s(n), + t.attr('stroke-dasharray', i.join(' ')); + } + var Mj, + no, + Ij, + W7e, + q7e, + X7e, + j7e, + K7e, + Q7e, + Z7e, + J7e, + eSe, + tSe, + rSe, + nSe, + iSe, + aSe, + sSe, + oSe, + lSe, + cSe, + uSe, + Oj, + hSe, + fSe, + Pj, + dm, + pm, + Bj, + Fj, + wv, + M5 = R(() => { + 'use strict'; + Zt(); + _t(); + rr(); + ut(); + KX(); + bv(); + A9(); + Nj(); + N5(); + (Mj = o((t) => (t ? ' ' + t : ''), 'formatClass')), + (no = o((t, e) => `${e || 'node default'}${Mj(t.classes)} ${Mj(t.class)}`, 'getClassesFromNode')), + (Ij = o(async (t, e) => { + let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0), + i = n.width + e.padding, + a = n.height + e.padding, + s = i + a, + l = [ + { x: s / 2, y: 0 }, + { x: s, y: -s / 2 }, + { x: s / 2, y: -s }, + { x: 0, y: -s / 2 } + ]; + V.info('Question main (Circle)'); + let u = _l(r, s, s, l); + return ( + u.attr('style', e.style), + kn(e, u), + (e.intersect = function (h) { + return V.warn('Intersect called'), Tn.polygon(e, l, h); + }), + r + ); + }, 'question')), + (W7e = o((t, e) => { + let r = t + .insert('g') + .attr('class', 'node default') + .attr('id', e.domId || e.id), + n = 28, + i = [ + { x: 0, y: n / 2 }, + { x: n / 2, y: 0 }, + { x: 0, y: -n / 2 }, + { x: -n / 2, y: 0 } + ]; + return ( + r + .insert('polygon', ':first-child') + .attr( + 'points', + i + .map(function (s) { + return s.x + ',' + s.y; + }) + .join(' ') + ) + .attr('class', 'state-start') + .attr('r', 7) + .attr('width', 28) + .attr('height', 28), + (e.width = 28), + (e.height = 28), + (e.intersect = function (s) { + return Tn.circle(e, 14, s); + }), + r + ); + }, 'choice')), + (q7e = o(async (t, e) => { + let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0), + i = 4, + a = n.height + e.padding, + s = a / i, + l = n.width + 2 * s + e.padding, + u = [ + { x: s, y: 0 }, + { x: l - s, y: 0 }, + { x: l, y: -a / 2 }, + { x: l - s, y: -a }, + { x: s, y: -a }, + { x: 0, y: -a / 2 } + ], + h = _l(r, l, a, u); + return ( + h.attr('style', e.style), + kn(e, h), + (e.intersect = function (f) { + return Tn.polygon(e, u, f); + }), + r + ); + }, 'hexagon')), + (X7e = o(async (t, e) => { + let { shapeSvg: r, bbox: n } = await Ti(t, e, void 0, !0), + i = 2, + a = n.height + 2 * e.padding, + s = a / i, + l = n.width + 2 * s + e.padding, + u = jX(e.directions, n, e), + h = _l(r, l, a, u); + return ( + h.attr('style', e.style), + kn(e, h), + (e.intersect = function (f) { + return Tn.polygon(e, u, f); + }), + r + ); + }, 'block_arrow')), + (j7e = o(async (t, e) => { + let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0), + i = n.width + e.padding, + a = n.height + e.padding, + s = [ + { x: -a / 2, y: 0 }, + { x: i, y: 0 }, + { x: i, y: -a }, + { x: -a / 2, y: -a }, + { x: 0, y: -a / 2 } + ]; + return ( + _l(r, i, a, s).attr('style', e.style), + (e.width = i + a), + (e.height = a), + (e.intersect = function (u) { + return Tn.polygon(e, s, u); + }), + r + ); + }, 'rect_left_inv_arrow')), + (K7e = o(async (t, e) => { + let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e), !0), + i = n.width + e.padding, + a = n.height + e.padding, + s = [ + { x: (-2 * a) / 6, y: 0 }, + { x: i - a / 6, y: 0 }, + { x: i + (2 * a) / 6, y: -a }, + { x: a / 6, y: -a } + ], + l = _l(r, i, a, s); + return ( + l.attr('style', e.style), + kn(e, l), + (e.intersect = function (u) { + return Tn.polygon(e, s, u); + }), + r + ); + }, 'lean_right')), + (Q7e = o(async (t, e) => { + let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0), + i = n.width + e.padding, + a = n.height + e.padding, + s = [ + { x: (2 * a) / 6, y: 0 }, + { x: i + a / 6, y: 0 }, + { x: i - (2 * a) / 6, y: -a }, + { x: -a / 6, y: -a } + ], + l = _l(r, i, a, s); + return ( + l.attr('style', e.style), + kn(e, l), + (e.intersect = function (u) { + return Tn.polygon(e, s, u); + }), + r + ); + }, 'lean_left')), + (Z7e = o(async (t, e) => { + let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0), + i = n.width + e.padding, + a = n.height + e.padding, + s = [ + { x: (-2 * a) / 6, y: 0 }, + { x: i + (2 * a) / 6, y: 0 }, + { x: i - a / 6, y: -a }, + { x: a / 6, y: -a } + ], + l = _l(r, i, a, s); + return ( + l.attr('style', e.style), + kn(e, l), + (e.intersect = function (u) { + return Tn.polygon(e, s, u); + }), + r + ); + }, 'trapezoid')), + (J7e = o(async (t, e) => { + let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0), + i = n.width + e.padding, + a = n.height + e.padding, + s = [ + { x: a / 6, y: 0 }, + { x: i - a / 6, y: 0 }, + { x: i + (2 * a) / 6, y: -a }, + { x: (-2 * a) / 6, y: -a } + ], + l = _l(r, i, a, s); + return ( + l.attr('style', e.style), + kn(e, l), + (e.intersect = function (u) { + return Tn.polygon(e, s, u); + }), + r + ); + }, 'inv_trapezoid')), + (eSe = o(async (t, e) => { + let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0), + i = n.width + e.padding, + a = n.height + e.padding, + s = [ + { x: 0, y: 0 }, + { x: i + a / 2, y: 0 }, + { x: i, y: -a / 2 }, + { x: i + a / 2, y: -a }, + { x: 0, y: -a } + ], + l = _l(r, i, a, s); + return ( + l.attr('style', e.style), + kn(e, l), + (e.intersect = function (u) { + return Tn.polygon(e, s, u); + }), + r + ); + }, 'rect_right_inv_arrow')), + (tSe = o(async (t, e) => { + let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0), + i = n.width + e.padding, + a = i / 2, + s = a / (2.5 + i / 50), + l = n.height + s + e.padding, + u = + 'M 0,' + + s + + ' a ' + + a + + ',' + + s + + ' 0,0,0 ' + + i + + ' 0 a ' + + a + + ',' + + s + + ' 0,0,0 ' + + -i + + ' 0 l 0,' + + l + + ' a ' + + a + + ',' + + s + + ' 0,0,0 ' + + i + + ' 0 l 0,' + + -l, + h = r + .attr('label-offset-y', s) + .insert('path', ':first-child') + .attr('style', e.style) + .attr('d', u) + .attr('transform', 'translate(' + -i / 2 + ',' + -(l / 2 + s) + ')'); + return ( + kn(e, h), + (e.intersect = function (f) { + let d = Tn.rect(e, f), + p = d.x - e.x; + if ( + a != 0 && + (Math.abs(p) < e.width / 2 || + (Math.abs(p) == e.width / 2 && Math.abs(d.y - e.y) > e.height / 2 - s)) + ) { + let m = s * s * (1 - (p * p) / (a * a)); + m != 0 && (m = Math.sqrt(m)), (m = s - m), f.y - e.y > 0 && (m = -m), (d.y += m); + } + return d; + }), + r + ); + }, 'cylinder')), + (rSe = o(async (t, e) => { + let { + shapeSvg: r, + bbox: n, + halfPadding: i + } = await Ti(t, e, 'node ' + e.classes + ' ' + e.class, !0), + a = r.insert('rect', ':first-child'), + s = e.positioned ? e.width : n.width + e.padding, + l = e.positioned ? e.height : n.height + e.padding, + u = e.positioned ? -s / 2 : -n.width / 2 - i, + h = e.positioned ? -l / 2 : -n.height / 2 - i; + if ( + (a + .attr('class', 'basic label-container') + .attr('style', e.style) + .attr('rx', e.rx) + .attr('ry', e.ry) + .attr('x', u) + .attr('y', h) + .attr('width', s) + .attr('height', l), + e.props) + ) { + let f = new Set(Object.keys(e.props)); + e.props.borders && (_9(a, e.props.borders, s, l), f.delete('borders')), + f.forEach((d) => { + V.warn(`Unknown node property ${d}`); + }); + } + return ( + kn(e, a), + (e.intersect = function (f) { + return Tn.rect(e, f); + }), + r + ); + }, 'rect')), + (nSe = o(async (t, e) => { + let { shapeSvg: r, bbox: n, halfPadding: i } = await Ti(t, e, 'node ' + e.classes, !0), + a = r.insert('rect', ':first-child'), + s = e.positioned ? e.width : n.width + e.padding, + l = e.positioned ? e.height : n.height + e.padding, + u = e.positioned ? -s / 2 : -n.width / 2 - i, + h = e.positioned ? -l / 2 : -n.height / 2 - i; + if ( + (a + .attr('class', 'basic cluster composite label-container') + .attr('style', e.style) + .attr('rx', e.rx) + .attr('ry', e.ry) + .attr('x', u) + .attr('y', h) + .attr('width', s) + .attr('height', l), + e.props) + ) { + let f = new Set(Object.keys(e.props)); + e.props.borders && (_9(a, e.props.borders, s, l), f.delete('borders')), + f.forEach((d) => { + V.warn(`Unknown node property ${d}`); + }); + } + return ( + kn(e, a), + (e.intersect = function (f) { + return Tn.rect(e, f); + }), + r + ); + }, 'composite')), + (iSe = o(async (t, e) => { + let { shapeSvg: r } = await Ti(t, e, 'label', !0); + V.trace('Classes = ', e.class); + let n = r.insert('rect', ':first-child'), + i = 0, + a = 0; + if ((n.attr('width', i).attr('height', a), r.attr('class', 'label edgeLabel'), e.props)) { + let s = new Set(Object.keys(e.props)); + e.props.borders && (_9(n, e.props.borders, i, a), s.delete('borders')), + s.forEach((l) => { + V.warn(`Unknown node property ${l}`); + }); + } + return ( + kn(e, n), + (e.intersect = function (s) { + return Tn.rect(e, s); + }), + r + ); + }, 'labelRect')); + o(_9, 'applyNodePropertyBorders'); + (aSe = o((t, e) => { + let r; + e.classes ? (r = 'node ' + e.classes) : (r = 'node default'); + let n = t + .insert('g') + .attr('class', r) + .attr('id', e.domId || e.id), + i = n.insert('rect', ':first-child'), + a = n.insert('line'), + s = n.insert('g').attr('class', 'label'), + l = e.labelText.flat ? e.labelText.flat() : e.labelText, + u = ''; + typeof l == 'object' ? (u = l[0]) : (u = l), V.info('Label text abc79', u, l, typeof l == 'object'); + let h = s.node().appendChild(ra(u, e.labelStyle, !0, !0)), + f = { width: 0, height: 0 }; + if (yr(de().flowchart.htmlLabels)) { + let y = h.children[0], + v = $e(h); + (f = y.getBoundingClientRect()), v.attr('width', f.width), v.attr('height', f.height); + } + V.info('Text 2', l); + let d = l.slice(1, l.length), + p = h.getBBox(), + m = s.node().appendChild(ra(d.join ? d.join('
    ') : d, e.labelStyle, !0, !0)); + if (yr(de().flowchart.htmlLabels)) { + let y = m.children[0], + v = $e(m); + (f = y.getBoundingClientRect()), v.attr('width', f.width), v.attr('height', f.height); + } + let g = e.padding / 2; + return ( + $e(m).attr( + 'transform', + 'translate( ' + + (f.width > p.width ? 0 : (p.width - f.width) / 2) + + ', ' + + (p.height + g + 5) + + ')' + ), + $e(h).attr( + 'transform', + 'translate( ' + (f.width < p.width ? 0 : -(p.width - f.width) / 2) + ', 0)' + ), + (f = s.node().getBBox()), + s.attr('transform', 'translate(' + -f.width / 2 + ', ' + (-f.height / 2 - g + 3) + ')'), + i + .attr('class', 'outer title-state') + .attr('x', -f.width / 2 - g) + .attr('y', -f.height / 2 - g) + .attr('width', f.width + e.padding) + .attr('height', f.height + e.padding), + a + .attr('class', 'divider') + .attr('x1', -f.width / 2 - g) + .attr('x2', f.width / 2 + g) + .attr('y1', -f.height / 2 - g + p.height + g) + .attr('y2', -f.height / 2 - g + p.height + g), + kn(e, i), + (e.intersect = function (y) { + return Tn.rect(e, y); + }), + n + ); + }, 'rectWithTitle')), + (sSe = o(async (t, e) => { + let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0), + i = n.height + e.padding, + a = n.width + i / 4 + e.padding, + s = r + .insert('rect', ':first-child') + .attr('style', e.style) + .attr('rx', i / 2) + .attr('ry', i / 2) + .attr('x', -a / 2) + .attr('y', -i / 2) + .attr('width', a) + .attr('height', i); + return ( + kn(e, s), + (e.intersect = function (l) { + return Tn.rect(e, l); + }), + r + ); + }, 'stadium')), + (oSe = o(async (t, e) => { + let { shapeSvg: r, bbox: n, halfPadding: i } = await Ti(t, e, no(e, void 0), !0), + a = r.insert('circle', ':first-child'); + return ( + a + .attr('style', e.style) + .attr('rx', e.rx) + .attr('ry', e.ry) + .attr('r', n.width / 2 + i) + .attr('width', n.width + e.padding) + .attr('height', n.height + e.padding), + V.info('Circle main'), + kn(e, a), + (e.intersect = function (s) { + return V.info('Circle intersect', e, n.width / 2 + i, s), Tn.circle(e, n.width / 2 + i, s); + }), + r + ); + }, 'circle')), + (lSe = o(async (t, e) => { + let { shapeSvg: r, bbox: n, halfPadding: i } = await Ti(t, e, no(e, void 0), !0), + a = 5, + s = r.insert('g', ':first-child'), + l = s.insert('circle'), + u = s.insert('circle'); + return ( + s.attr('class', e.class), + l + .attr('style', e.style) + .attr('rx', e.rx) + .attr('ry', e.ry) + .attr('r', n.width / 2 + i + a) + .attr('width', n.width + e.padding + a * 2) + .attr('height', n.height + e.padding + a * 2), + u + .attr('style', e.style) + .attr('rx', e.rx) + .attr('ry', e.ry) + .attr('r', n.width / 2 + i) + .attr('width', n.width + e.padding) + .attr('height', n.height + e.padding), + V.info('DoubleCircle main'), + kn(e, l), + (e.intersect = function (h) { + return ( + V.info('DoubleCircle intersect', e, n.width / 2 + i + a, h), + Tn.circle(e, n.width / 2 + i + a, h) + ); + }), + r + ); + }, 'doublecircle')), + (cSe = o(async (t, e) => { + let { shapeSvg: r, bbox: n } = await Ti(t, e, no(e, void 0), !0), + i = n.width + e.padding, + a = n.height + e.padding, + s = [ + { x: 0, y: 0 }, + { x: i, y: 0 }, + { x: i, y: -a }, + { x: 0, y: -a }, + { x: 0, y: 0 }, + { x: -8, y: 0 }, + { x: i + 8, y: 0 }, + { x: i + 8, y: -a }, + { x: -8, y: -a }, + { x: -8, y: 0 } + ], + l = _l(r, i, a, s); + return ( + l.attr('style', e.style), + kn(e, l), + (e.intersect = function (u) { + return Tn.polygon(e, s, u); + }), + r + ); + }, 'subroutine')), + (uSe = o((t, e) => { + let r = t + .insert('g') + .attr('class', 'node default') + .attr('id', e.domId || e.id), + n = r.insert('circle', ':first-child'); + return ( + n.attr('class', 'state-start').attr('r', 7).attr('width', 14).attr('height', 14), + kn(e, n), + (e.intersect = function (i) { + return Tn.circle(e, 7, i); + }), + r + ); + }, 'start')), + (Oj = o((t, e, r) => { + let n = t + .insert('g') + .attr('class', 'node default') + .attr('id', e.domId || e.id), + i = 70, + a = 10; + r === 'LR' && ((i = 10), (a = 70)); + let s = n + .append('rect') + .attr('x', (-1 * i) / 2) + .attr('y', (-1 * a) / 2) + .attr('width', i) + .attr('height', a) + .attr('class', 'fork-join'); + return ( + kn(e, s), + (e.height = e.height + e.padding / 2), + (e.width = e.width + e.padding / 2), + (e.intersect = function (l) { + return Tn.rect(e, l); + }), + n + ); + }, 'forkJoin')), + (hSe = o((t, e) => { + let r = t + .insert('g') + .attr('class', 'node default') + .attr('id', e.domId || e.id), + n = r.insert('circle', ':first-child'), + i = r.insert('circle', ':first-child'); + return ( + i.attr('class', 'state-start').attr('r', 7).attr('width', 14).attr('height', 14), + n.attr('class', 'state-end').attr('r', 5).attr('width', 10).attr('height', 10), + kn(e, i), + (e.intersect = function (a) { + return Tn.circle(e, 7, a); + }), + r + ); + }, 'end')), + (fSe = o((t, e) => { + let r = e.padding / 2, + n = 4, + i = 8, + a; + e.classes ? (a = 'node ' + e.classes) : (a = 'node default'); + let s = t + .insert('g') + .attr('class', a) + .attr('id', e.domId || e.id), + l = s.insert('rect', ':first-child'), + u = s.insert('line'), + h = s.insert('line'), + f = 0, + d = n, + p = s.insert('g').attr('class', 'label'), + m = 0, + g = e.classData.annotations?.[0], + y = e.classData.annotations[0] ? '\xAB' + e.classData.annotations[0] + '\xBB' : '', + v = p.node().appendChild(ra(y, e.labelStyle, !0, !0)), + x = v.getBBox(); + if (yr(de().flowchart.htmlLabels)) { + let A = v.children[0], + L = $e(v); + (x = A.getBoundingClientRect()), L.attr('width', x.width), L.attr('height', x.height); + } + e.classData.annotations[0] && ((d += x.height + n), (f += x.width)); + let b = e.classData.label; + e.classData.type !== void 0 && + e.classData.type !== '' && + (de().flowchart.htmlLabels + ? (b += '<' + e.classData.type + '>') + : (b += '<' + e.classData.type + '>')); + let w = p.node().appendChild(ra(b, e.labelStyle, !0, !0)); + $e(w).attr('class', 'classTitle'); + let S = w.getBBox(); + if (yr(de().flowchart.htmlLabels)) { + let A = w.children[0], + L = $e(w); + (S = A.getBoundingClientRect()), L.attr('width', S.width), L.attr('height', S.height); + } + (d += S.height + n), S.width > f && (f = S.width); + let T = []; + e.classData.members.forEach((A) => { + let L = A.getDisplayDetails(), + M = L.displayText; + de().flowchart.htmlLabels && (M = M.replace(//g, '>')); + let N = p.node().appendChild(ra(M, L.cssStyle ? L.cssStyle : e.labelStyle, !0, !0)), + k = N.getBBox(); + if (yr(de().flowchart.htmlLabels)) { + let I = N.children[0], + C = $e(N); + (k = I.getBoundingClientRect()), C.attr('width', k.width), C.attr('height', k.height); + } + k.width > f && (f = k.width), (d += k.height + n), T.push(N); + }), + (d += i); + let E = []; + if ( + (e.classData.methods.forEach((A) => { + let L = A.getDisplayDetails(), + M = L.displayText; + de().flowchart.htmlLabels && (M = M.replace(//g, '>')); + let N = p.node().appendChild(ra(M, L.cssStyle ? L.cssStyle : e.labelStyle, !0, !0)), + k = N.getBBox(); + if (yr(de().flowchart.htmlLabels)) { + let I = N.children[0], + C = $e(N); + (k = I.getBoundingClientRect()), C.attr('width', k.width), C.attr('height', k.height); + } + k.width > f && (f = k.width), (d += k.height + n), E.push(N); + }), + (d += i), + g) + ) { + let A = (f - x.width) / 2; + $e(v).attr('transform', 'translate( ' + ((-1 * f) / 2 + A) + ', ' + (-1 * d) / 2 + ')'), + (m = x.height + n); + } + let _ = (f - S.width) / 2; + return ( + $e(w).attr('transform', 'translate( ' + ((-1 * f) / 2 + _) + ', ' + ((-1 * d) / 2 + m) + ')'), + (m += S.height + n), + u + .attr('class', 'divider') + .attr('x1', -f / 2 - r) + .attr('x2', f / 2 + r) + .attr('y1', -d / 2 - r + i + m) + .attr('y2', -d / 2 - r + i + m), + (m += i), + T.forEach((A) => { + $e(A).attr('transform', 'translate( ' + -f / 2 + ', ' + ((-1 * d) / 2 + m + i / 2) + ')'); + let L = A?.getBBox(); + m += (L?.height ?? 0) + n; + }), + (m += i), + h + .attr('class', 'divider') + .attr('x1', -f / 2 - r) + .attr('x2', f / 2 + r) + .attr('y1', -d / 2 - r + i + m) + .attr('y2', -d / 2 - r + i + m), + (m += i), + E.forEach((A) => { + $e(A).attr('transform', 'translate( ' + -f / 2 + ', ' + ((-1 * d) / 2 + m) + ')'); + let L = A?.getBBox(); + m += (L?.height ?? 0) + n; + }), + l + .attr('style', e.style) + .attr('class', 'outer title-state') + .attr('x', -f / 2 - r) + .attr('y', -(d / 2) - r) + .attr('width', f + e.padding) + .attr('height', d + e.padding), + kn(e, l), + (e.intersect = function (A) { + return Tn.rect(e, A); + }), + s + ); + }, 'class_box')), + (Pj = { + rhombus: Ij, + composite: nSe, + question: Ij, + rect: rSe, + labelRect: iSe, + rectWithTitle: aSe, + choice: W7e, + circle: oSe, + doublecircle: lSe, + stadium: sSe, + hexagon: q7e, + block_arrow: X7e, + rect_left_inv_arrow: j7e, + lean_right: K7e, + lean_left: Q7e, + trapezoid: Z7e, + inv_trapezoid: J7e, + rect_right_inv_arrow: eSe, + cylinder: tSe, + start: uSe, + end: hSe, + note: Rj, + subroutine: cSe, + fork: Oj, + join: Oj, + class_box: fSe + }), + (dm = {}), + (pm = o(async (t, e, r) => { + let n, i; + if (e.link) { + let a; + de().securityLevel === 'sandbox' + ? (a = '_top') + : e.linkTarget && (a = e.linkTarget || '_blank'), + (n = t.insert('svg:a').attr('xlink:href', e.link).attr('target', a)), + (i = await Pj[e.shape](n, e, r)); + } else (i = await Pj[e.shape](t, e, r)), (n = i); + return ( + e.tooltip && i.attr('title', e.tooltip), + e.class && i.attr('class', 'node default ' + e.class), + (dm[e.id] = n), + e.haveCallback && dm[e.id].attr('class', dm[e.id].attr('class') + ' clickable'), + n + ); + }, 'insertNode')), + (Bj = o((t, e) => { + dm[e.id] = t; + }, 'setNodeElem')), + (Fj = o(() => { + dm = {}; + }, 'clear')), + (wv = o((t) => { + let e = dm[t.id]; + V.trace( + 'Transforming node', + t.diff, + t, + 'translate(' + (t.x - t.width / 2 - 5) + ', ' + t.width / 2 + ')' + ); + let r = 8, + n = t.diff || 0; + return ( + t.clusterNode + ? e.attr( + 'transform', + 'translate(' + (t.x + n - t.width / 2) + ', ' + (t.y - t.height / 2 - r) + ')' + ) + : e.attr('transform', 'translate(' + t.x + ', ' + t.y + ')'), + n + ); + }, 'positionNode')); + }); + var I5, + L9 = R(() => { + 'use strict'; + Zt(); + M5(); + I5 = o((t, e) => { + let r; + return ( + e === 'sandbox' && (r = $e('#i' + t)), + (e === 'sandbox' ? $e(r.nodes()[0].contentDocument.body) : $e('body')).select(`[id="${t}"]`) + ); + }, 'getDiagramElement'); + }); + var io, + _d = R(() => { + 'use strict'; + io = o(({ flowchart: t }) => { + let e = t?.subGraphTitleMargin?.top ?? 0, + r = t?.subGraphTitleMargin?.bottom ?? 0, + n = e + r; + return { + subGraphTitleTopMargin: e, + subGraphTitleBottomMargin: r, + subGraphTitleTotalMargin: n + }; + }, 'getSubGraphTitleMargins'); + }); + function D9(t, e, r) { + if (t && t.length) { + let [n, i] = e, + a = (Math.PI / 180) * r, + s = Math.cos(a), + l = Math.sin(a); + for (let u of t) { + let [h, f] = u; + (u[0] = (h - n) * s - (f - i) * l + n), (u[1] = (h - n) * l + (f - i) * s + i); + } + } + } + function dSe(t, e) { + return t[0] === e[0] && t[1] === e[1]; + } + function pSe(t, e, r, n = 1) { + let i = r, + a = Math.max(e, 0.1), + s = t[0] && t[0][0] && typeof t[0][0] == 'number' ? [t] : t, + l = [0, 0]; + if (i) for (let h of s) D9(h, l, i); + let u = (function (h, f, d) { + let p = []; + for (let b of h) { + let w = [...b]; + dSe(w[0], w[w.length - 1]) || w.push([w[0][0], w[0][1]]), w.length > 2 && p.push(w); + } + let m = []; + f = Math.max(f, 0.1); + let g = []; + for (let b of p) + for (let w = 0; w < b.length - 1; w++) { + let S = b[w], + T = b[w + 1]; + if (S[1] !== T[1]) { + let E = Math.min(S[1], T[1]); + g.push({ + ymin: E, + ymax: Math.max(S[1], T[1]), + x: E === S[1] ? S[0] : T[0], + islope: (T[0] - S[0]) / (T[1] - S[1]) + }); + } + } + if ( + (g.sort((b, w) => + b.ymin < w.ymin + ? -1 + : b.ymin > w.ymin + ? 1 + : b.x < w.x + ? -1 + : b.x > w.x + ? 1 + : b.ymax === w.ymax + ? 0 + : (b.ymax - w.ymax) / Math.abs(b.ymax - w.ymax) + ), + !g.length) + ) + return m; + let y = [], + v = g[0].ymin, + x = 0; + for (; y.length || g.length; ) { + if (g.length) { + let b = -1; + for (let w = 0; w < g.length && !(g[w].ymin > v); w++) b = w; + g.splice(0, b + 1).forEach((w) => { + y.push({ s: v, edge: w }); + }); + } + if ( + ((y = y.filter((b) => !(b.edge.ymax <= v))), + y.sort((b, w) => + b.edge.x === w.edge.x ? 0 : (b.edge.x - w.edge.x) / Math.abs(b.edge.x - w.edge.x) + ), + (d !== 1 || x % f == 0) && y.length > 1) + ) + for (let b = 0; b < y.length; b += 2) { + let w = b + 1; + if (w >= y.length) break; + let S = y[b].edge, + T = y[w].edge; + m.push([ + [Math.round(S.x), v], + [Math.round(T.x), v] + ]); + } + (v += d), + y.forEach((b) => { + b.edge.x = b.edge.x + d * b.edge.islope; + }), + x++; + } + return m; + })(s, a, n); + if (i) { + for (let h of s) D9(h, l, -i); + (function (h, f, d) { + let p = []; + h.forEach((m) => p.push(...m)), D9(p, f, d); + })(u, l, -i); + } + return u; + } + function Cv(t, e) { + var r; + let n = e.hachureAngle + 90, + i = e.hachureGap; + i < 0 && (i = 4 * e.strokeWidth), (i = Math.round(Math.max(i, 0.1))); + let a = 1; + return ( + e.roughness >= 1 && + (((r = e.randomizer) === null || r === void 0 ? void 0 : r.next()) || Math.random()) > 0.7 && + (a = i), + pSe(t, i, n, a || 1) + ); + } + function U5(t) { + let e = t[0], + r = t[1]; + return Math.sqrt(Math.pow(e[0] - r[0], 2) + Math.pow(e[1] - r[1], 2)); + } + function N9(t, e) { + return t.type === e; + } + function W9(t) { + let e = [], + r = (function (s) { + let l = new Array(); + for (; s !== ''; ) + if (s.match(/^([ \t\r\n,]+)/)) s = s.substr(RegExp.$1.length); + else if (s.match(/^([aAcChHlLmMqQsStTvVzZ])/)) + (l[l.length] = { type: mSe, text: RegExp.$1 }), (s = s.substr(RegExp.$1.length)); + else { + if (!s.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/)) return []; + (l[l.length] = { type: R9, text: `${parseFloat(RegExp.$1)}` }), + (s = s.substr(RegExp.$1.length)); + } + return (l[l.length] = { type: zj, text: '' }), l; + })(t), + n = 'BOD', + i = 0, + a = r[i]; + for (; !N9(a, zj); ) { + let s = 0, + l = []; + if (n === 'BOD') { + if (a.text !== 'M' && a.text !== 'm') return W9('M0,0' + t); + i++, (s = O5[a.text]), (n = a.text); + } else N9(a, R9) ? (s = O5[n]) : (i++, (s = O5[a.text]), (n = a.text)); + if (!(i + s < r.length)) throw new Error('Path data ended short'); + for (let u = i; u < i + s; u++) { + let h = r[u]; + if (!N9(h, R9)) throw new Error('Param not a number: ' + n + ',' + h.text); + l[l.length] = +h.text; + } + if (typeof O5[n] != 'number') throw new Error('Bad segment: ' + n); + { + let u = { key: n, data: l }; + e.push(u), (i += s), (a = r[i]), n === 'M' && (n = 'L'), n === 'm' && (n = 'l'); + } + } + return e; + } + function qj(t) { + let e = 0, + r = 0, + n = 0, + i = 0, + a = []; + for (let { key: s, data: l } of t) + switch (s) { + case 'M': + a.push({ key: 'M', data: [...l] }), ([e, r] = l), ([n, i] = l); + break; + case 'm': + (e += l[0]), (r += l[1]), a.push({ key: 'M', data: [e, r] }), (n = e), (i = r); + break; + case 'L': + a.push({ key: 'L', data: [...l] }), ([e, r] = l); + break; + case 'l': + (e += l[0]), (r += l[1]), a.push({ key: 'L', data: [e, r] }); + break; + case 'C': + a.push({ key: 'C', data: [...l] }), (e = l[4]), (r = l[5]); + break; + case 'c': { + let u = l.map((h, f) => (f % 2 ? h + r : h + e)); + a.push({ key: 'C', data: u }), (e = u[4]), (r = u[5]); + break; + } + case 'Q': + a.push({ key: 'Q', data: [...l] }), (e = l[2]), (r = l[3]); + break; + case 'q': { + let u = l.map((h, f) => (f % 2 ? h + r : h + e)); + a.push({ key: 'Q', data: u }), (e = u[2]), (r = u[3]); + break; + } + case 'A': + a.push({ key: 'A', data: [...l] }), (e = l[5]), (r = l[6]); + break; + case 'a': + (e += l[5]), (r += l[6]), a.push({ key: 'A', data: [l[0], l[1], l[2], l[3], l[4], e, r] }); + break; + case 'H': + a.push({ key: 'H', data: [...l] }), (e = l[0]); + break; + case 'h': + (e += l[0]), a.push({ key: 'H', data: [e] }); + break; + case 'V': + a.push({ key: 'V', data: [...l] }), (r = l[0]); + break; + case 'v': + (r += l[0]), a.push({ key: 'V', data: [r] }); + break; + case 'S': + a.push({ key: 'S', data: [...l] }), (e = l[2]), (r = l[3]); + break; + case 's': { + let u = l.map((h, f) => (f % 2 ? h + r : h + e)); + a.push({ key: 'S', data: u }), (e = u[2]), (r = u[3]); + break; + } + case 'T': + a.push({ key: 'T', data: [...l] }), (e = l[0]), (r = l[1]); + break; + case 't': + (e += l[0]), (r += l[1]), a.push({ key: 'T', data: [e, r] }); + break; + case 'Z': + case 'z': + a.push({ key: 'Z', data: [] }), (e = n), (r = i); + } + return a; + } + function Xj(t) { + let e = [], + r = '', + n = 0, + i = 0, + a = 0, + s = 0, + l = 0, + u = 0; + for (let { key: h, data: f } of t) { + switch (h) { + case 'M': + e.push({ key: 'M', data: [...f] }), ([n, i] = f), ([a, s] = f); + break; + case 'C': + e.push({ key: 'C', data: [...f] }), (n = f[4]), (i = f[5]), (l = f[2]), (u = f[3]); + break; + case 'L': + e.push({ key: 'L', data: [...f] }), ([n, i] = f); + break; + case 'H': + (n = f[0]), e.push({ key: 'L', data: [n, i] }); + break; + case 'V': + (i = f[0]), e.push({ key: 'L', data: [n, i] }); + break; + case 'S': { + let d = 0, + p = 0; + r === 'C' || r === 'S' ? ((d = n + (n - l)), (p = i + (i - u))) : ((d = n), (p = i)), + e.push({ key: 'C', data: [d, p, ...f] }), + (l = f[0]), + (u = f[1]), + (n = f[2]), + (i = f[3]); + break; + } + case 'T': { + let [d, p] = f, + m = 0, + g = 0; + r === 'Q' || r === 'T' ? ((m = n + (n - l)), (g = i + (i - u))) : ((m = n), (g = i)); + let y = n + (2 * (m - n)) / 3, + v = i + (2 * (g - i)) / 3, + x = d + (2 * (m - d)) / 3, + b = p + (2 * (g - p)) / 3; + e.push({ key: 'C', data: [y, v, x, b, d, p] }), (l = m), (u = g), (n = d), (i = p); + break; + } + case 'Q': { + let [d, p, m, g] = f, + y = n + (2 * (d - n)) / 3, + v = i + (2 * (p - i)) / 3, + x = m + (2 * (d - m)) / 3, + b = g + (2 * (p - g)) / 3; + e.push({ key: 'C', data: [y, v, x, b, m, g] }), (l = d), (u = p), (n = m), (i = g); + break; + } + case 'A': { + let d = Math.abs(f[0]), + p = Math.abs(f[1]), + m = f[2], + g = f[3], + y = f[4], + v = f[5], + x = f[6]; + d === 0 || p === 0 + ? (e.push({ key: 'C', data: [n, i, v, x, v, x] }), (n = v), (i = x)) + : (n !== v || i !== x) && + (jj(n, i, v, x, d, p, m, g, y).forEach(function (b) { + e.push({ key: 'C', data: b }); + }), + (n = v), + (i = x)); + break; + } + case 'Z': + e.push({ key: 'Z', data: [] }), (n = a), (i = s); + } + r = h; + } + return e; + } + function Tv(t, e, r) { + return [t * Math.cos(r) - e * Math.sin(r), t * Math.sin(r) + e * Math.cos(r)]; + } + function jj(t, e, r, n, i, a, s, l, u, h) { + let f = ((d = s), (Math.PI * d) / 180); + var d; + let p = [], + m = 0, + g = 0, + y = 0, + v = 0; + if (h) [m, g, y, v] = h; + else { + ([t, e] = Tv(t, e, -f)), ([r, n] = Tv(r, n, -f)); + let I = (t - r) / 2, + C = (e - n) / 2, + O = (I * I) / (i * i) + (C * C) / (a * a); + O > 1 && ((O = Math.sqrt(O)), (i *= O), (a *= O)); + let D = i * i, + P = a * a, + F = D * P - D * C * C - P * I * I, + B = D * C * C + P * I * I, + $ = (l === u ? -1 : 1) * Math.sqrt(Math.abs(F / B)); + (y = ($ * i * C) / a + (t + r) / 2), + (v = ($ * -a * I) / i + (e + n) / 2), + (m = Math.asin(parseFloat(((e - v) / a).toFixed(9)))), + (g = Math.asin(parseFloat(((n - v) / a).toFixed(9)))), + t < y && (m = Math.PI - m), + r < y && (g = Math.PI - g), + m < 0 && (m = 2 * Math.PI + m), + g < 0 && (g = 2 * Math.PI + g), + u && m > g && (m -= 2 * Math.PI), + !u && g > m && (g -= 2 * Math.PI); + } + let x = g - m; + if (Math.abs(x) > (120 * Math.PI) / 180) { + let I = g, + C = r, + O = n; + (g = u && g > m ? m + ((120 * Math.PI) / 180) * 1 : m + ((120 * Math.PI) / 180) * -1), + (p = jj((r = y + i * Math.cos(g)), (n = v + a * Math.sin(g)), C, O, i, a, s, 0, u, [g, I, y, v])); + } + x = g - m; + let b = Math.cos(m), + w = Math.sin(m), + S = Math.cos(g), + T = Math.sin(g), + E = Math.tan(x / 4), + _ = (4 / 3) * i * E, + A = (4 / 3) * a * E, + L = [t, e], + M = [t + _ * w, e - A * b], + N = [r + _ * T, n - A * S], + k = [r, n]; + if (((M[0] = 2 * L[0] - M[0]), (M[1] = 2 * L[1] - M[1]), h)) return [M, N, k].concat(p); + { + p = [M, N, k].concat(p); + let I = []; + for (let C = 0; C < p.length; C += 3) { + let O = Tv(p[C][0], p[C][1], f), + D = Tv(p[C + 1][0], p[C + 1][1], f), + P = Tv(p[C + 2][0], p[C + 2][1], f); + I.push([O[0], O[1], D[0], D[1], P[0], P[1]]); + } + return I; + } + } + function Kj(t, e, r, n, i) { + return { type: 'path', ops: Vh(t, e, r, n, i) }; + } + function F5(t, e, r) { + let n = (t || []).length; + if (n > 2) { + let i = []; + for (let a = 0; a < n - 1; a++) i.push(...Vh(t[a][0], t[a][1], t[a + 1][0], t[a + 1][1], r)); + return e && i.push(...Vh(t[n - 1][0], t[n - 1][1], t[0][0], t[0][1], r)), { type: 'path', ops: i }; + } + return n === 2 ? Kj(t[0][0], t[0][1], t[1][0], t[1][1], r) : { type: 'path', ops: [] }; + } + function ySe(t, e, r, n, i) { + return (function (a, s) { + return F5(a, !0, s); + })( + [ + [t, e], + [t + r, e], + [t + r, e + n], + [t, e + n] + ], + i + ); + } + function Gj(t, e) { + if (t.length) { + let r = typeof t[0][0] == 'number' ? [t] : t, + n = P5(r[0], 1 * (1 + 0.2 * e.roughness), e), + i = e.disableMultiStroke ? [] : P5(r[0], 1.5 * (1 + 0.22 * e.roughness), Uj(e)); + for (let a = 1; a < r.length; a++) { + let s = r[a]; + if (s.length) { + let l = P5(s, 1 * (1 + 0.2 * e.roughness), e), + u = e.disableMultiStroke ? [] : P5(s, 1.5 * (1 + 0.22 * e.roughness), Uj(e)); + for (let h of l) h.op !== 'move' && n.push(h); + for (let h of u) h.op !== 'move' && i.push(h); + } + } + return { type: 'path', ops: n.concat(i) }; + } + return { type: 'path', ops: [] }; + } + function Qj(t, e, r) { + let n = Math.sqrt(2 * Math.PI * Math.sqrt((Math.pow(t / 2, 2) + Math.pow(e / 2, 2)) / 2)), + i = Math.ceil(Math.max(r.curveStepCount, (r.curveStepCount / Math.sqrt(200)) * n)), + a = (2 * Math.PI) / i, + s = Math.abs(t / 2), + l = Math.abs(e / 2), + u = 1 - r.curveFitting; + return (s += Yt(s * u, r)), (l += Yt(l * u, r)), { increment: a, rx: s, ry: l }; + } + function $9(t, e, r, n) { + let [i, a] = Hj(n.increment, t, e, n.rx, n.ry, 1, n.increment * G5(0.1, G5(0.4, 1, r), r), r), + s = $5(i, null, r); + if (!r.disableMultiStroke && r.roughness !== 0) { + let [l] = Hj(n.increment, t, e, n.rx, n.ry, 1.5, 0, r), + u = $5(l, null, r); + s = s.concat(u); + } + return { estimatedPoints: a, opset: { type: 'path', ops: s } }; + } + function $j(t, e, r, n, i, a, s, l, u) { + let h = t, + f = e, + d = Math.abs(r / 2), + p = Math.abs(n / 2); + (d += Yt(0.01 * d, u)), (p += Yt(0.01 * p, u)); + let m = i, + g = a; + for (; m < 0; ) (m += 2 * Math.PI), (g += 2 * Math.PI); + g - m > 2 * Math.PI && ((m = 0), (g = 2 * Math.PI)); + let y = (2 * Math.PI) / u.curveStepCount, + v = Math.min(y / 2, (g - m) / 2), + x = Yj(v, h, f, d, p, m, g, 1, u); + if (!u.disableMultiStroke) { + let b = Yj(v, h, f, d, p, m, g, 1.5, u); + x.push(...b); + } + return ( + s && + (l + ? x.push( + ...Vh(h, f, h + d * Math.cos(m), f + p * Math.sin(m), u), + ...Vh(h, f, h + d * Math.cos(g), f + p * Math.sin(g), u) + ) + : x.push( + { op: 'lineTo', data: [h, f] }, + { + op: 'lineTo', + data: [h + d * Math.cos(m), f + p * Math.sin(m)] + } + )), + { type: 'path', ops: x } + ); + } + function Vj(t, e) { + let r = Xj(qj(W9(t))), + n = [], + i = [0, 0], + a = [0, 0]; + for (let { key: s, data: l } of r) + switch (s) { + case 'M': + (a = [l[0], l[1]]), (i = [l[0], l[1]]); + break; + case 'L': + n.push(...Vh(a[0], a[1], l[0], l[1], e)), (a = [l[0], l[1]]); + break; + case 'C': { + let [u, h, f, d, p, m] = l; + n.push(...vSe(u, h, f, d, p, m, a, e)), (a = [p, m]); + break; + } + case 'Z': + n.push(...Vh(a[0], a[1], i[0], i[1], e)), (a = [i[0], i[1]]); + } + return { type: 'path', ops: n }; + } + function M9(t, e) { + let r = []; + for (let n of t) + if (n.length) { + let i = e.maxRandomnessOffset || 0, + a = n.length; + if (a > 2) { + r.push({ + op: 'move', + data: [n[0][0] + Yt(i, e), n[0][1] + Yt(i, e)] + }); + for (let s = 1; s < a; s++) + r.push({ + op: 'lineTo', + data: [n[s][0] + Yt(i, e), n[s][1] + Yt(i, e)] + }); + } + } + return { type: 'fillPath', ops: r }; + } + function mm(t, e) { + return (function (r, n) { + let i = r.fillStyle || 'hachure'; + if (!Cs[i]) + switch (i) { + case 'zigzag': + Cs[i] || (Cs[i] = new O9(n)); + break; + case 'cross-hatch': + Cs[i] || (Cs[i] = new P9(n)); + break; + case 'dots': + Cs[i] || (Cs[i] = new B9(n)); + break; + case 'dashed': + Cs[i] || (Cs[i] = new F9(n)); + break; + case 'zigzag-line': + Cs[i] || (Cs[i] = new z9(n)); + break; + default: + (i = 'hachure'), Cs[i] || (Cs[i] = new Ev(n)); + } + return Cs[i]; + })(e, gSe).fillPolygons(t, e); + } + function Uj(t) { + let e = Object.assign({}, t); + return (e.randomizer = void 0), t.seed && (e.seed = t.seed + 1), e; + } + function Zj(t) { + return t.randomizer || (t.randomizer = new G9(t.seed || 0)), t.randomizer.next(); + } + function G5(t, e, r, n = 1) { + return r.roughness * n * (Zj(r) * (e - t) + t); + } + function Yt(t, e, r = 1) { + return G5(-t, t, e, r); + } + function Vh(t, e, r, n, i, a = !1) { + let s = a ? i.disableMultiStrokeFill : i.disableMultiStroke, + l = V9(t, e, r, n, i, !0, !1); + if (s) return l; + let u = V9(t, e, r, n, i, !0, !0); + return l.concat(u); + } + function V9(t, e, r, n, i, a, s) { + let l = Math.pow(t - r, 2) + Math.pow(e - n, 2), + u = Math.sqrt(l), + h = 1; + h = u < 200 ? 1 : u > 500 ? 0.4 : -0.0016668 * u + 1.233334; + let f = i.maxRandomnessOffset || 0; + f * f * 100 > l && (f = u / 10); + let d = f / 2, + p = 0.2 + 0.2 * Zj(i), + m = (i.bowing * i.maxRandomnessOffset * (n - e)) / 200, + g = (i.bowing * i.maxRandomnessOffset * (t - r)) / 200; + (m = Yt(m, i, h)), (g = Yt(g, i, h)); + let y = [], + v = o(() => Yt(d, i, h), 'M'), + x = o(() => Yt(f, i, h), 'k'), + b = i.preserveVertices; + return ( + a && + (s + ? y.push({ op: 'move', data: [t + (b ? 0 : v()), e + (b ? 0 : v())] }) + : y.push({ + op: 'move', + data: [t + (b ? 0 : Yt(f, i, h)), e + (b ? 0 : Yt(f, i, h))] + })), + s + ? y.push({ + op: 'bcurveTo', + data: [ + m + t + (r - t) * p + v(), + g + e + (n - e) * p + v(), + m + t + 2 * (r - t) * p + v(), + g + e + 2 * (n - e) * p + v(), + r + (b ? 0 : v()), + n + (b ? 0 : v()) + ] + }) + : y.push({ + op: 'bcurveTo', + data: [ + m + t + (r - t) * p + x(), + g + e + (n - e) * p + x(), + m + t + 2 * (r - t) * p + x(), + g + e + 2 * (n - e) * p + x(), + r + (b ? 0 : x()), + n + (b ? 0 : x()) + ] + }), + y + ); + } + function P5(t, e, r) { + if (!t.length) return []; + let n = []; + n.push([t[0][0] + Yt(e, r), t[0][1] + Yt(e, r)]), n.push([t[0][0] + Yt(e, r), t[0][1] + Yt(e, r)]); + for (let i = 1; i < t.length; i++) + n.push([t[i][0] + Yt(e, r), t[i][1] + Yt(e, r)]), + i === t.length - 1 && n.push([t[i][0] + Yt(e, r), t[i][1] + Yt(e, r)]); + return $5(n, null, r); + } + function $5(t, e, r) { + let n = t.length, + i = []; + if (n > 3) { + let a = [], + s = 1 - r.curveTightness; + i.push({ op: 'move', data: [t[1][0], t[1][1]] }); + for (let l = 1; l + 2 < n; l++) { + let u = t[l]; + (a[0] = [u[0], u[1]]), + (a[1] = [ + u[0] + (s * t[l + 1][0] - s * t[l - 1][0]) / 6, + u[1] + (s * t[l + 1][1] - s * t[l - 1][1]) / 6 + ]), + (a[2] = [ + t[l + 1][0] + (s * t[l][0] - s * t[l + 2][0]) / 6, + t[l + 1][1] + (s * t[l][1] - s * t[l + 2][1]) / 6 + ]), + (a[3] = [t[l + 1][0], t[l + 1][1]]), + i.push({ + op: 'bcurveTo', + data: [a[1][0], a[1][1], a[2][0], a[2][1], a[3][0], a[3][1]] + }); + } + if (e && e.length === 2) { + let l = r.maxRandomnessOffset; + i.push({ op: 'lineTo', data: [e[0] + Yt(l, r), e[1] + Yt(l, r)] }); + } + } else + n === 3 + ? (i.push({ op: 'move', data: [t[1][0], t[1][1]] }), + i.push({ + op: 'bcurveTo', + data: [t[1][0], t[1][1], t[2][0], t[2][1], t[2][0], t[2][1]] + })) + : n === 2 && i.push(...V9(t[0][0], t[0][1], t[1][0], t[1][1], r, !0, !0)); + return i; + } + function Hj(t, e, r, n, i, a, s, l) { + let u = [], + h = []; + if (l.roughness === 0) { + (t /= 4), h.push([e + n * Math.cos(-t), r + i * Math.sin(-t)]); + for (let f = 0; f <= 2 * Math.PI; f += t) { + let d = [e + n * Math.cos(f), r + i * Math.sin(f)]; + u.push(d), h.push(d); + } + h.push([e + n * Math.cos(0), r + i * Math.sin(0)]), h.push([e + n * Math.cos(t), r + i * Math.sin(t)]); + } else { + let f = Yt(0.5, l) - Math.PI / 2; + h.push([Yt(a, l) + e + 0.9 * n * Math.cos(f - t), Yt(a, l) + r + 0.9 * i * Math.sin(f - t)]); + let d = 2 * Math.PI + f - 0.01; + for (let p = f; p < d; p += t) { + let m = [Yt(a, l) + e + n * Math.cos(p), Yt(a, l) + r + i * Math.sin(p)]; + u.push(m), h.push(m); + } + h.push([ + Yt(a, l) + e + n * Math.cos(f + 2 * Math.PI + 0.5 * s), + Yt(a, l) + r + i * Math.sin(f + 2 * Math.PI + 0.5 * s) + ]), + h.push([Yt(a, l) + e + 0.98 * n * Math.cos(f + s), Yt(a, l) + r + 0.98 * i * Math.sin(f + s)]), + h.push([ + Yt(a, l) + e + 0.9 * n * Math.cos(f + 0.5 * s), + Yt(a, l) + r + 0.9 * i * Math.sin(f + 0.5 * s) + ]); + } + return [h, u]; + } + function Yj(t, e, r, n, i, a, s, l, u) { + let h = a + Yt(0.1, u), + f = []; + f.push([Yt(l, u) + e + 0.9 * n * Math.cos(h - t), Yt(l, u) + r + 0.9 * i * Math.sin(h - t)]); + for (let d = h; d <= s; d += t) f.push([Yt(l, u) + e + n * Math.cos(d), Yt(l, u) + r + i * Math.sin(d)]); + return ( + f.push([e + n * Math.cos(s), r + i * Math.sin(s)]), + f.push([e + n * Math.cos(s), r + i * Math.sin(s)]), + $5(f, null, u) + ); + } + function vSe(t, e, r, n, i, a, s, l) { + let u = [], + h = [l.maxRandomnessOffset || 1, (l.maxRandomnessOffset || 1) + 0.3], + f = [0, 0], + d = l.disableMultiStroke ? 1 : 2, + p = l.preserveVertices; + for (let m = 0; m < d; m++) + m === 0 + ? u.push({ op: 'move', data: [s[0], s[1]] }) + : u.push({ + op: 'move', + data: [s[0] + (p ? 0 : Yt(h[0], l)), s[1] + (p ? 0 : Yt(h[0], l))] + }), + (f = p ? [i, a] : [i + Yt(h[m], l), a + Yt(h[m], l)]), + u.push({ + op: 'bcurveTo', + data: [t + Yt(h[m], l), e + Yt(h[m], l), r + Yt(h[m], l), n + Yt(h[m], l), f[0], f[1]] + }); + return u; + } + function kv(t) { + return [...t]; + } + function Wj(t, e = 0) { + let r = t.length; + if (r < 3) throw new Error('A curve must have at least three points.'); + let n = []; + if (r === 3) n.push(kv(t[0]), kv(t[1]), kv(t[2]), kv(t[2])); + else { + let i = []; + i.push(t[0], t[0]); + for (let l = 1; l < t.length; l++) i.push(t[l]), l === t.length - 1 && i.push(t[l]); + let a = [], + s = 1 - e; + n.push(kv(i[0])); + for (let l = 1; l + 2 < i.length; l++) { + let u = i[l]; + (a[0] = [u[0], u[1]]), + (a[1] = [ + u[0] + (s * i[l + 1][0] - s * i[l - 1][0]) / 6, + u[1] + (s * i[l + 1][1] - s * i[l - 1][1]) / 6 + ]), + (a[2] = [ + i[l + 1][0] + (s * i[l][0] - s * i[l + 2][0]) / 6, + i[l + 1][1] + (s * i[l][1] - s * i[l + 2][1]) / 6 + ]), + (a[3] = [i[l + 1][0], i[l + 1][1]]), + n.push(a[1], a[2], a[3]); + } + } + return n; + } + function z5(t, e) { + return Math.pow(t[0] - e[0], 2) + Math.pow(t[1] - e[1], 2); + } + function xSe(t, e, r) { + let n = z5(e, r); + if (n === 0) return z5(t, e); + let i = ((t[0] - e[0]) * (r[0] - e[0]) + (t[1] - e[1]) * (r[1] - e[1])) / n; + return (i = Math.max(0, Math.min(1, i))), z5(t, Ld(e, r, i)); + } + function Ld(t, e, r) { + return [t[0] + (e[0] - t[0]) * r, t[1] + (e[1] - t[1]) * r]; + } + function U9(t, e, r, n) { + let i = n || []; + if ( + (function (l, u) { + let h = l[u + 0], + f = l[u + 1], + d = l[u + 2], + p = l[u + 3], + m = 3 * f[0] - 2 * h[0] - p[0]; + m *= m; + let g = 3 * f[1] - 2 * h[1] - p[1]; + g *= g; + let y = 3 * d[0] - 2 * p[0] - h[0]; + y *= y; + let v = 3 * d[1] - 2 * p[1] - h[1]; + return (v *= v), m < y && (m = y), g < v && (g = v), m + g; + })(t, e) < r + ) { + let l = t[e + 0]; + i.length ? ((a = i[i.length - 1]), (s = l), Math.sqrt(z5(a, s)) > 1 && i.push(l)) : i.push(l), + i.push(t[e + 3]); + } else { + let u = t[e + 0], + h = t[e + 1], + f = t[e + 2], + d = t[e + 3], + p = Ld(u, h, 0.5), + m = Ld(h, f, 0.5), + g = Ld(f, d, 0.5), + y = Ld(p, m, 0.5), + v = Ld(m, g, 0.5), + x = Ld(y, v, 0.5); + U9([u, p, y, x], 0, r, i), U9([x, v, g, d], 0, r, i); + } + var a, s; + return i; + } + function bSe(t, e) { + return V5(t, 0, t.length, e); + } + function V5(t, e, r, n, i) { + let a = i || [], + s = t[e], + l = t[r - 1], + u = 0, + h = 1; + for (let f = e + 1; f < r - 1; ++f) { + let d = xSe(t[f], s, l); + d > u && ((u = d), (h = f)); + } + return Math.sqrt(u) > n ? (V5(t, e, h + 1, n, a), V5(t, h, r, n, a)) : (a.length || a.push(s), a.push(l)), a; + } + function I9(t, e = 0.15, r) { + let n = [], + i = (t.length - 1) / 3; + for (let a = 0; a < i; a++) U9(t, 3 * a, e, n); + return r && r > 0 ? V5(n, 0, n.length, r) : n; + } + var Ev, + O9, + P9, + B9, + F9, + z9, + Cs, + G9, + mSe, + R9, + zj, + O5, + gSe, + ao, + gm, + H9, + B5, + Y9, + Jt, + ti = R(() => { + 'use strict'; + o(D9, 't'); + o(dSe, 'e'); + o(pSe, 's'); + o(Cv, 'n'); + Ev = class { + static { + o(this, 'o'); + } + constructor(e) { + this.helper = e; + } + fillPolygons(e, r) { + return this._fillPolygons(e, r); + } + _fillPolygons(e, r) { + let n = Cv(e, r); + return { type: 'fillSketch', ops: this.renderLines(n, r) }; + } + renderLines(e, r) { + let n = []; + for (let i of e) n.push(...this.helper.doubleLineOps(i[0][0], i[0][1], i[1][0], i[1][1], r)); + return n; + } + }; + o(U5, 'a'); + (O9 = class extends Ev { + static { + o(this, 'h'); + } + fillPolygons(e, r) { + let n = r.hachureGap; + n < 0 && (n = 4 * r.strokeWidth), (n = Math.max(n, 0.1)); + let i = Cv(e, Object.assign({}, r, { hachureGap: n })), + a = (Math.PI / 180) * r.hachureAngle, + s = [], + l = 0.5 * n * Math.cos(a), + u = 0.5 * n * Math.sin(a); + for (let [h, f] of i) + U5([h, f]) && s.push([[h[0] - l, h[1] + u], [...f]], [[h[0] + l, h[1] - u], [...f]]); + return { type: 'fillSketch', ops: this.renderLines(s, r) }; + } + }), + (P9 = class extends Ev { + static { + o(this, 'r'); + } + fillPolygons(e, r) { + let n = this._fillPolygons(e, r), + i = Object.assign({}, r, { hachureAngle: r.hachureAngle + 90 }), + a = this._fillPolygons(e, i); + return (n.ops = n.ops.concat(a.ops)), n; + } + }), + (B9 = class { + static { + o(this, 'i'); + } + constructor(e) { + this.helper = e; + } + fillPolygons(e, r) { + let n = Cv(e, (r = Object.assign({}, r, { hachureAngle: 0 }))); + return this.dotsOnLines(n, r); + } + dotsOnLines(e, r) { + let n = [], + i = r.hachureGap; + i < 0 && (i = 4 * r.strokeWidth), (i = Math.max(i, 0.1)); + let a = r.fillWeight; + a < 0 && (a = r.strokeWidth / 2); + let s = i / 4; + for (let l of e) { + let u = U5(l), + h = u / i, + f = Math.ceil(h) - 1, + d = u - f * i, + p = (l[0][0] + l[1][0]) / 2 - i / 4, + m = Math.min(l[0][1], l[1][1]); + for (let g = 0; g < f; g++) { + let y = m + d + g * i, + v = p - s + 2 * Math.random() * s, + x = y - s + 2 * Math.random() * s, + b = this.helper.ellipse(v, x, a, a, r); + n.push(...b.ops); + } + } + return { type: 'fillSketch', ops: n }; + } + }), + (F9 = class { + static { + o(this, 'c'); + } + constructor(e) { + this.helper = e; + } + fillPolygons(e, r) { + let n = Cv(e, r); + return { type: 'fillSketch', ops: this.dashedLine(n, r) }; + } + dashedLine(e, r) { + let n = r.dashOffset < 0 ? (r.hachureGap < 0 ? 4 * r.strokeWidth : r.hachureGap) : r.dashOffset, + i = r.dashGap < 0 ? (r.hachureGap < 0 ? 4 * r.strokeWidth : r.hachureGap) : r.dashGap, + a = []; + return ( + e.forEach((s) => { + let l = U5(s), + u = Math.floor(l / (n + i)), + h = (l + i - u * (n + i)) / 2, + f = s[0], + d = s[1]; + f[0] > d[0] && ((f = s[1]), (d = s[0])); + let p = Math.atan((d[1] - f[1]) / (d[0] - f[0])); + for (let m = 0; m < u; m++) { + let g = m * (n + i), + y = g + n, + v = [ + f[0] + g * Math.cos(p) + h * Math.cos(p), + f[1] + g * Math.sin(p) + h * Math.sin(p) + ], + x = [ + f[0] + y * Math.cos(p) + h * Math.cos(p), + f[1] + y * Math.sin(p) + h * Math.sin(p) + ]; + a.push(...this.helper.doubleLineOps(v[0], v[1], x[0], x[1], r)); + } + }), + a + ); + } + }), + (z9 = class { + static { + o(this, 'l'); + } + constructor(e) { + this.helper = e; + } + fillPolygons(e, r) { + let n = r.hachureGap < 0 ? 4 * r.strokeWidth : r.hachureGap, + i = r.zigzagOffset < 0 ? n : r.zigzagOffset, + a = Cv(e, (r = Object.assign({}, r, { hachureGap: n + i }))); + return { type: 'fillSketch', ops: this.zigzagLines(a, i, r) }; + } + zigzagLines(e, r, n) { + let i = []; + return ( + e.forEach((a) => { + let s = U5(a), + l = Math.round(s / (2 * r)), + u = a[0], + h = a[1]; + u[0] > h[0] && ((u = a[1]), (h = a[0])); + let f = Math.atan((h[1] - u[1]) / (h[0] - u[0])); + for (let d = 0; d < l; d++) { + let p = 2 * d * r, + m = 2 * (d + 1) * r, + g = Math.sqrt(2 * Math.pow(r, 2)), + y = [u[0] + p * Math.cos(f), u[1] + p * Math.sin(f)], + v = [u[0] + m * Math.cos(f), u[1] + m * Math.sin(f)], + x = [ + y[0] + g * Math.cos(f + Math.PI / 4), + y[1] + g * Math.sin(f + Math.PI / 4) + ]; + i.push( + ...this.helper.doubleLineOps(y[0], y[1], x[0], x[1], n), + ...this.helper.doubleLineOps(x[0], x[1], v[0], v[1], n) + ); + } + }), + i + ); + } + }), + (Cs = {}), + (G9 = class { + static { + o(this, 'p'); + } + constructor(e) { + this.seed = e; + } + next() { + return this.seed + ? ((2 ** 31 - 1) & (this.seed = Math.imul(48271, this.seed))) / 2 ** 31 + : Math.random(); + } + }), + (mSe = 0), + (R9 = 1), + (zj = 2), + (O5 = { + A: 7, + a: 7, + C: 6, + c: 6, + H: 1, + h: 1, + L: 2, + l: 2, + M: 2, + m: 2, + Q: 4, + q: 4, + S: 4, + s: 4, + T: 2, + t: 2, + V: 1, + v: 1, + Z: 0, + z: 0 + }); + o(N9, 'k'); + o(W9, 'b'); + o(qj, 'y'); + o(Xj, 'm'); + o(Tv, 'w'); + o(jj, 'x'); + gSe = { + randOffset: o(function (t, e) { + return Yt(t, e); + }, 'randOffset'), + randOffsetWithRange: o(function (t, e, r) { + return G5(t, e, r); + }, 'randOffsetWithRange'), + ellipse: o(function (t, e, r, n, i) { + let a = Qj(r, n, i); + return $9(t, e, i, a).opset; + }, 'ellipse'), + doubleLineOps: o(function (t, e, r, n, i) { + return Vh(t, e, r, n, i, !0); + }, 'doubleLineOps') + }; + o(Kj, 'v'); + o(F5, 'S'); + o(ySe, 'O'); + o(Gj, 'L'); + o(Qj, 'T'); + o($9, 'D'); + o($j, 'A'); + o(Vj, '_'); + o(M9, 'I'); + o(mm, 'C'); + o(Uj, 'z'); + o(Zj, 'W'); + o(G5, 'E'); + o(Yt, 'G'); + o(Vh, '$'); + o(V9, 'R'); + o(P5, 'j'); + o($5, 'q'); + o(Hj, 'F'); + o(Yj, 'V'); + o(vSe, 'Z'); + o(kv, 'Q'); + o(Wj, 'H'); + o(z5, 'N'); + o(xSe, 'B'); + o(Ld, 'J'); + o(U9, 'K'); + o(bSe, 'U'); + o(V5, 'X'); + o(I9, 'Y'); + (ao = 'none'), + (gm = class { + static { + o(this, 'et'); + } + constructor(e) { + (this.defaultOptions = { + maxRandomnessOffset: 2, + roughness: 1, + bowing: 1, + stroke: '#000', + strokeWidth: 1, + curveTightness: 0, + curveFitting: 0.95, + curveStepCount: 9, + fillStyle: 'hachure', + fillWeight: -1, + hachureAngle: -41, + hachureGap: -1, + dashOffset: -1, + dashGap: -1, + zigzagOffset: -1, + seed: 0, + disableMultiStroke: !1, + disableMultiStrokeFill: !1, + preserveVertices: !1, + fillShapeRoughnessGain: 0.8 + }), + (this.config = e || {}), + this.config.options && (this.defaultOptions = this._o(this.config.options)); + } + static newSeed() { + return Math.floor(Math.random() * 2 ** 31); + } + _o(e) { + return e ? Object.assign({}, this.defaultOptions, e) : this.defaultOptions; + } + _d(e, r, n) { + return { + shape: e, + sets: r || [], + options: n || this.defaultOptions + }; + } + line(e, r, n, i, a) { + let s = this._o(a); + return this._d('line', [Kj(e, r, n, i, s)], s); + } + rectangle(e, r, n, i, a) { + let s = this._o(a), + l = [], + u = ySe(e, r, n, i, s); + if (s.fill) { + let h = [ + [e, r], + [e + n, r], + [e + n, r + i], + [e, r + i] + ]; + s.fillStyle === 'solid' ? l.push(M9([h], s)) : l.push(mm([h], s)); + } + return s.stroke !== ao && l.push(u), this._d('rectangle', l, s); + } + ellipse(e, r, n, i, a) { + let s = this._o(a), + l = [], + u = Qj(n, i, s), + h = $9(e, r, s, u); + if (s.fill) + if (s.fillStyle === 'solid') { + let f = $9(e, r, s, u).opset; + (f.type = 'fillPath'), l.push(f); + } else l.push(mm([h.estimatedPoints], s)); + return s.stroke !== ao && l.push(h.opset), this._d('ellipse', l, s); + } + circle(e, r, n, i) { + let a = this.ellipse(e, r, n, n, i); + return (a.shape = 'circle'), a; + } + linearPath(e, r) { + let n = this._o(r); + return this._d('linearPath', [F5(e, !1, n)], n); + } + arc(e, r, n, i, a, s, l = !1, u) { + let h = this._o(u), + f = [], + d = $j(e, r, n, i, a, s, l, !0, h); + if (l && h.fill) + if (h.fillStyle === 'solid') { + let p = Object.assign({}, h); + p.disableMultiStroke = !0; + let m = $j(e, r, n, i, a, s, !0, !1, p); + (m.type = 'fillPath'), f.push(m); + } else + f.push( + (function (p, m, g, y, v, x, b) { + let w = p, + S = m, + T = Math.abs(g / 2), + E = Math.abs(y / 2); + (T += Yt(0.01 * T, b)), (E += Yt(0.01 * E, b)); + let _ = v, + A = x; + for (; _ < 0; ) (_ += 2 * Math.PI), (A += 2 * Math.PI); + A - _ > 2 * Math.PI && ((_ = 0), (A = 2 * Math.PI)); + let L = (A - _) / b.curveStepCount, + M = []; + for (let N = _; N <= A; N += L) + M.push([w + T * Math.cos(N), S + E * Math.sin(N)]); + return ( + M.push([w + T * Math.cos(A), S + E * Math.sin(A)]), + M.push([w, S]), + mm([M], b) + ); + })(e, r, n, i, a, s, h) + ); + return h.stroke !== ao && f.push(d), this._d('arc', f, h); + } + curve(e, r) { + let n = this._o(r), + i = [], + a = Gj(e, n); + if (n.fill && n.fill !== ao) + if (n.fillStyle === 'solid') { + let s = Gj( + e, + Object.assign(Object.assign({}, n), { + disableMultiStroke: !0, + roughness: n.roughness ? n.roughness + n.fillShapeRoughnessGain : 0 + }) + ); + i.push({ type: 'fillPath', ops: this._mergedShape(s.ops) }); + } else { + let s = [], + l = e; + if (l.length) { + let u = typeof l[0][0] == 'number' ? [l] : l; + for (let h of u) + h.length < 3 + ? s.push(...h) + : h.length === 3 + ? s.push(...I9(Wj([h[0], h[0], h[1], h[2]]), 10, (1 + n.roughness) / 2)) + : s.push(...I9(Wj(h), 10, (1 + n.roughness) / 2)); + } + s.length && i.push(mm([s], n)); + } + return n.stroke !== ao && i.push(a), this._d('curve', i, n); + } + polygon(e, r) { + let n = this._o(r), + i = [], + a = F5(e, !0, n); + return ( + n.fill && (n.fillStyle === 'solid' ? i.push(M9([e], n)) : i.push(mm([e], n))), + n.stroke !== ao && i.push(a), + this._d('polygon', i, n) + ); + } + path(e, r) { + let n = this._o(r), + i = []; + if (!e) return this._d('path', i, n); + e = (e || '').replace(/\n/g, ' ').replace(/(-\s)/g, '-').replace('/(ss)/g', ' '); + let a = n.fill && n.fill !== 'transparent' && n.fill !== ao, + s = n.stroke !== ao, + l = !!(n.simplification && n.simplification < 1), + u = (function (f, d, p) { + let m = Xj(qj(W9(f))), + g = [], + y = [], + v = [0, 0], + x = [], + b = o(() => { + x.length >= 4 && y.push(...I9(x, d)), (x = []); + }, 'i'), + w = o(() => { + b(), y.length && (g.push(y), (y = [])); + }, 'c'); + for (let { key: T, data: E } of m) + switch (T) { + case 'M': + w(), (v = [E[0], E[1]]), y.push(v); + break; + case 'L': + b(), y.push([E[0], E[1]]); + break; + case 'C': + if (!x.length) { + let _ = y.length ? y[y.length - 1] : v; + x.push([_[0], _[1]]); + } + x.push([E[0], E[1]]), x.push([E[2], E[3]]), x.push([E[4], E[5]]); + break; + case 'Z': + b(), y.push([v[0], v[1]]); + } + if ((w(), !p)) return g; + let S = []; + for (let T of g) { + let E = bSe(T, p); + E.length && S.push(E); + } + return S; + })(e, 1, l ? 4 - 4 * (n.simplification || 1) : (1 + n.roughness) / 2), + h = Vj(e, n); + if (a) + if (n.fillStyle === 'solid') + if (u.length === 1) { + let f = Vj( + e, + Object.assign(Object.assign({}, n), { + disableMultiStroke: !0, + roughness: n.roughness ? n.roughness + n.fillShapeRoughnessGain : 0 + }) + ); + i.push({ type: 'fillPath', ops: this._mergedShape(f.ops) }); + } else i.push(M9(u, n)); + else i.push(mm(u, n)); + return ( + s && + (l + ? u.forEach((f) => { + i.push(F5(f, !1, n)); + }) + : i.push(h)), + this._d('path', i, n) + ); + } + opsToPath(e, r) { + let n = ''; + for (let i of e.ops) { + let a = typeof r == 'number' && r >= 0 ? i.data.map((s) => +s.toFixed(r)) : i.data; + switch (i.op) { + case 'move': + n += `M${a[0]} ${a[1]} `; + break; + case 'bcurveTo': + n += `C${a[0]} ${a[1]}, ${a[2]} ${a[3]}, ${a[4]} ${a[5]} `; + break; + case 'lineTo': + n += `L${a[0]} ${a[1]} `; + } + } + return n.trim(); + } + toPaths(e) { + let r = e.sets || [], + n = e.options || this.defaultOptions, + i = []; + for (let a of r) { + let s = null; + switch (a.type) { + case 'path': + s = { + d: this.opsToPath(a), + stroke: n.stroke, + strokeWidth: n.strokeWidth, + fill: ao + }; + break; + case 'fillPath': + s = { + d: this.opsToPath(a), + stroke: ao, + strokeWidth: 0, + fill: n.fill || ao + }; + break; + case 'fillSketch': + s = this.fillSketch(a, n); + } + s && i.push(s); + } + return i; + } + fillSketch(e, r) { + let n = r.fillWeight; + return ( + n < 0 && (n = r.strokeWidth / 2), + { + d: this.opsToPath(e), + stroke: r.fill || ao, + strokeWidth: n, + fill: ao + } + ); + } + _mergedShape(e) { + return e.filter((r, n) => n === 0 || r.op !== 'move'); + } + }), + (H9 = class { + static { + o(this, 'st'); + } + constructor(e, r) { + (this.canvas = e), (this.ctx = this.canvas.getContext('2d')), (this.gen = new gm(r)); + } + draw(e) { + let r = e.sets || [], + n = e.options || this.getDefaultOptions(), + i = this.ctx, + a = e.options.fixedDecimalPlaceDigits; + for (let s of r) + switch (s.type) { + case 'path': + i.save(), + (i.strokeStyle = n.stroke === 'none' ? 'transparent' : n.stroke), + (i.lineWidth = n.strokeWidth), + n.strokeLineDash && i.setLineDash(n.strokeLineDash), + n.strokeLineDashOffset && (i.lineDashOffset = n.strokeLineDashOffset), + this._drawToContext(i, s, a), + i.restore(); + break; + case 'fillPath': { + i.save(), (i.fillStyle = n.fill || ''); + let l = + e.shape === 'curve' || e.shape === 'polygon' || e.shape === 'path' + ? 'evenodd' + : 'nonzero'; + this._drawToContext(i, s, a, l), i.restore(); + break; + } + case 'fillSketch': + this.fillSketch(i, s, n); + } + } + fillSketch(e, r, n) { + let i = n.fillWeight; + i < 0 && (i = n.strokeWidth / 2), + e.save(), + n.fillLineDash && e.setLineDash(n.fillLineDash), + n.fillLineDashOffset && (e.lineDashOffset = n.fillLineDashOffset), + (e.strokeStyle = n.fill || ''), + (e.lineWidth = i), + this._drawToContext(e, r, n.fixedDecimalPlaceDigits), + e.restore(); + } + _drawToContext(e, r, n, i = 'nonzero') { + e.beginPath(); + for (let a of r.ops) { + let s = typeof n == 'number' && n >= 0 ? a.data.map((l) => +l.toFixed(n)) : a.data; + switch (a.op) { + case 'move': + e.moveTo(s[0], s[1]); + break; + case 'bcurveTo': + e.bezierCurveTo(s[0], s[1], s[2], s[3], s[4], s[5]); + break; + case 'lineTo': + e.lineTo(s[0], s[1]); + } + } + r.type === 'fillPath' ? e.fill(i) : e.stroke(); + } + get generator() { + return this.gen; + } + getDefaultOptions() { + return this.gen.defaultOptions; + } + line(e, r, n, i, a) { + let s = this.gen.line(e, r, n, i, a); + return this.draw(s), s; + } + rectangle(e, r, n, i, a) { + let s = this.gen.rectangle(e, r, n, i, a); + return this.draw(s), s; + } + ellipse(e, r, n, i, a) { + let s = this.gen.ellipse(e, r, n, i, a); + return this.draw(s), s; + } + circle(e, r, n, i) { + let a = this.gen.circle(e, r, n, i); + return this.draw(a), a; + } + linearPath(e, r) { + let n = this.gen.linearPath(e, r); + return this.draw(n), n; + } + polygon(e, r) { + let n = this.gen.polygon(e, r); + return this.draw(n), n; + } + arc(e, r, n, i, a, s, l = !1, u) { + let h = this.gen.arc(e, r, n, i, a, s, l, u); + return this.draw(h), h; + } + curve(e, r) { + let n = this.gen.curve(e, r); + return this.draw(n), n; + } + path(e, r) { + let n = this.gen.path(e, r); + return this.draw(n), n; + } + }), + (B5 = 'http://www.w3.org/2000/svg'), + (Y9 = class { + static { + o(this, 'ot'); + } + constructor(e, r) { + (this.svg = e), (this.gen = new gm(r)); + } + draw(e) { + let r = e.sets || [], + n = e.options || this.getDefaultOptions(), + i = this.svg.ownerDocument || window.document, + a = i.createElementNS(B5, 'g'), + s = e.options.fixedDecimalPlaceDigits; + for (let l of r) { + let u = null; + switch (l.type) { + case 'path': + (u = i.createElementNS(B5, 'path')), + u.setAttribute('d', this.opsToPath(l, s)), + u.setAttribute('stroke', n.stroke), + u.setAttribute('stroke-width', n.strokeWidth + ''), + u.setAttribute('fill', 'none'), + n.strokeLineDash && + u.setAttribute('stroke-dasharray', n.strokeLineDash.join(' ').trim()), + n.strokeLineDashOffset && + u.setAttribute('stroke-dashoffset', `${n.strokeLineDashOffset}`); + break; + case 'fillPath': + (u = i.createElementNS(B5, 'path')), + u.setAttribute('d', this.opsToPath(l, s)), + u.setAttribute('stroke', 'none'), + u.setAttribute('stroke-width', '0'), + u.setAttribute('fill', n.fill || ''), + (e.shape !== 'curve' && e.shape !== 'polygon') || + u.setAttribute('fill-rule', 'evenodd'); + break; + case 'fillSketch': + u = this.fillSketch(i, l, n); + } + u && a.appendChild(u); + } + return a; + } + fillSketch(e, r, n) { + let i = n.fillWeight; + i < 0 && (i = n.strokeWidth / 2); + let a = e.createElementNS(B5, 'path'); + return ( + a.setAttribute('d', this.opsToPath(r, n.fixedDecimalPlaceDigits)), + a.setAttribute('stroke', n.fill || ''), + a.setAttribute('stroke-width', i + ''), + a.setAttribute('fill', 'none'), + n.fillLineDash && a.setAttribute('stroke-dasharray', n.fillLineDash.join(' ').trim()), + n.fillLineDashOffset && a.setAttribute('stroke-dashoffset', `${n.fillLineDashOffset}`), + a + ); + } + get generator() { + return this.gen; + } + getDefaultOptions() { + return this.gen.defaultOptions; + } + opsToPath(e, r) { + return this.gen.opsToPath(e, r); + } + line(e, r, n, i, a) { + let s = this.gen.line(e, r, n, i, a); + return this.draw(s); + } + rectangle(e, r, n, i, a) { + let s = this.gen.rectangle(e, r, n, i, a); + return this.draw(s); + } + ellipse(e, r, n, i, a) { + let s = this.gen.ellipse(e, r, n, i, a); + return this.draw(s); + } + circle(e, r, n, i) { + let a = this.gen.circle(e, r, n, i); + return this.draw(a); + } + linearPath(e, r) { + let n = this.gen.linearPath(e, r); + return this.draw(n); + } + polygon(e, r) { + let n = this.gen.polygon(e, r); + return this.draw(n); + } + arc(e, r, n, i, a, s, l = !1, u) { + let h = this.gen.arc(e, r, n, i, a, s, l, u); + return this.draw(h); + } + curve(e, r) { + let n = this.gen.curve(e, r); + return this.draw(n); + } + path(e, r) { + let n = this.gen.path(e, r); + return this.draw(n); + } + }), + (Jt = { + canvas: o((t, e) => new H9(t, e), 'canvas'), + svg: o((t, e) => new Y9(t, e), 'svg'), + generator: o((t) => new gm(t), 'generator'), + newSeed: o(() => gm.newSeed(), 'newSeed') + }); + }); + var wSe, + Dd, + q9 = R(() => { + 'use strict'; + (wSe = o((t, e) => { + var r = t.x, + n = t.y, + i = e.x - r, + a = e.y - n, + s = t.width / 2, + l = t.height / 2, + u, + h; + return ( + Math.abs(a) * s > Math.abs(i) * l + ? (a < 0 && (l = -l), (u = a === 0 ? 0 : (l * i) / a), (h = l)) + : (i < 0 && (s = -s), (u = s), (h = i === 0 ? 0 : (s * a) / i)), + { x: r + u, y: n + h } + ); + }, 'intersectRect')), + (Dd = wSe); + }); + function TSe(t, e) { + e && t.attr('style', e); + } + async function kSe(t) { + let e = $e(document.createElementNS('http://www.w3.org/2000/svg', 'foreignObject')), + r = e.append('xhtml:div'), + n = t.label; + t.label && + Ni(t.label) && + (n = await yh( + t.label.replace( + We.lineBreakRegex, + ` +` + ), + de() + )); + let i = t.isNode ? 'nodeLabel' : 'edgeLabel'; + return ( + r.html( + '' + n + '' + ), + TSe(r, t.labelStyle), + r.style('display', 'inline-block'), + r.style('padding-right', '1px'), + r.style('white-space', 'nowrap'), + r.attr('xmlns', 'http://www.w3.org/1999/xhtml'), + e.node() + ); + } + var ESe, + gc, + H5 = R(() => { + 'use strict'; + Zt(); + ut(); + _t(); + rr(); + xr(); + o(TSe, 'applyStyle'); + o(kSe, 'addHtmlLabel'); + (ESe = o(async (t, e, r, n) => { + let i = t || ''; + if ((typeof i == 'object' && (i = i[0]), yr(de().flowchart.htmlLabels))) { + (i = i.replace(/\\n|\n/g, '
    ')), V.info('vertexText' + i); + let a = { + isNode: n, + label: to(i).replace(/fa[blrs]?:fa-[\w-]+/g, (l) => ``), + labelStyle: e && e.replace('fill:', 'color:') + }; + return await kSe(a); + } else { + let a = document.createElementNS('http://www.w3.org/2000/svg', 'text'); + a.setAttribute('style', e.replace('color:', 'fill:')); + let s = []; + typeof i == 'string' ? (s = i.split(/\\n|\n|/gi)) : Array.isArray(i) ? (s = i) : (s = []); + for (let l of s) { + let u = document.createElementNS('http://www.w3.org/2000/svg', 'tspan'); + u.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve'), + u.setAttribute('dy', '1em'), + u.setAttribute('x', '0'), + r ? u.setAttribute('class', 'title-row') : u.setAttribute('class', 'row'), + (u.textContent = l.trim()), + a.appendChild(u); + } + return a; + } + }, 'createLabel')), + (gc = ESe); + }); + var _u, + Sv = R(() => { + 'use strict'; + _u = o( + (t, e, r, n, i) => + [ + 'M', + t + i, + e, + 'H', + t + r - i, + 'A', + i, + i, + 0, + 0, + 1, + t + r, + e + i, + 'V', + e + n - i, + 'A', + i, + i, + 0, + 0, + 1, + t + r - i, + e + n, + 'H', + t + i, + 'A', + i, + i, + 0, + 0, + 1, + t, + e + n - i, + 'V', + e + i, + 'A', + i, + i, + 0, + 0, + 1, + t + i, + e, + 'Z' + ].join(' '), + 'createRoundedRectPathD' + ); + }); + var Lu, + Jj, + CSe, + Br, + Fr, + ki = R(() => { + 'use strict'; + _t(); + (Lu = o((t) => { + let { handDrawnSeed: e } = de(); + return { + fill: t, + hachureAngle: 120, + hachureGap: 4, + fillWeight: 2, + roughness: 0.7, + stroke: t, + seed: e + }; + }, 'solidStateFill')), + (Jj = o((t) => { + let e = CSe([...(t.cssCompiledStyles || []), ...(t.cssStyles || [])]); + return { stylesMap: e, stylesArray: [...e] }; + }, 'compileStyles')), + (CSe = o((t) => { + let e = new Map(); + return ( + t.forEach((r) => { + let [n, i] = r.split(':'); + e.set(n.trim(), i?.trim()); + }), + e + ); + }, 'styles2Map')), + (Br = o((t) => { + let { stylesArray: e } = Jj(t), + r = [], + n = [], + i = [], + a = []; + return ( + e.forEach((s) => { + let l = s[0]; + l === 'color' || + l === 'font-size' || + l === 'font-family' || + l === 'font-weight' || + l === 'font-style' || + l === 'text-decoration' || + l === 'text-align' || + l === 'text-transform' || + l === 'line-height' || + l === 'letter-spacing' || + l === 'word-spacing' || + l === 'text-shadow' || + l === 'text-overflow' || + l === 'white-space' || + l === 'word-wrap' || + l === 'word-break' || + l === 'overflow-wrap' || + l === 'hyphens' + ? r.push(s.join(':') + ' !important') + : (n.push(s.join(':') + ' !important'), + l.includes('stroke') && i.push(s.join(':') + ' !important'), + l === 'fill' && a.push(s.join(':') + ' !important')); + }), + { + labelStyles: r.join(';'), + nodeStyles: n.join(';'), + stylesArray: e, + borderStyles: i, + backgroundStyles: a + } + ); + }, 'styles2String')), + (Fr = o((t, e) => { + let { themeVariables: r, handDrawnSeed: n } = de(), + { nodeBorder: i, mainBkg: a } = r, + { stylesMap: s } = Jj(t); + return Object.assign( + { + roughness: 0.7, + fill: s.get('fill') || a, + fillStyle: 'hachure', + fillWeight: 4, + stroke: s.get('stroke') || i, + seed: n, + strokeWidth: 1.3 + }, + e + ); + }, 'userNodeOverrides')); + }); + var eK, + SSe, + ASe, + _Se, + LSe, + DSe, + tK, + Y5, + rK, + X9 = R(() => { + 'use strict'; + _t(); + rr(); + ut(); + _d(); + Zt(); + ti(); + Al(); + q9(); + H5(); + Sv(); + ki(); + (eK = o(async (t, e) => { + V.info('Creating subgraph rect for ', e.id, e); + let r = de(), + { themeVariables: n, handDrawnSeed: i } = r, + { clusterBkg: a, clusterBorder: s } = n, + { labelStyles: l, nodeStyles: u, borderStyles: h, backgroundStyles: f } = Br(e), + d = t + .insert('g') + .attr('class', 'cluster ' + e.cssClasses) + .attr('id', e.id) + .attr('data-look', e.look), + p = yr(r.flowchart.htmlLabels), + m = d.insert('g').attr('class', 'cluster-label '), + g = await ta(m, e.label, { + style: e.labelStyle, + useHtmlLabels: p, + isNode: !0 + }), + y = g.getBBox(); + if (yr(r.flowchart.htmlLabels)) { + let _ = g.children[0], + A = $e(g); + (y = _.getBoundingClientRect()), A.attr('width', y.width), A.attr('height', y.height); + } + let v = e.width <= y.width + e.padding ? y.width + e.padding : e.width; + e.width <= y.width + e.padding ? (e.diff = (v - e.width) / 2 - e.padding) : (e.diff = -e.padding); + let x = e.height, + b = e.x - v / 2, + w = e.y - x / 2; + V.trace('Data ', e, JSON.stringify(e)); + let S; + if (e.look === 'handDrawn') { + let _ = Jt.svg(d), + A = Fr(e, { + roughness: 0.7, + fill: a, + stroke: s, + fillWeight: 3, + seed: i + }), + L = _.path(_u(b, w, v, x, 0), A); + (S = d.insert(() => (V.debug('Rough node insert CXC', L), L), ':first-child')), + S.select('path:nth-child(2)').attr('style', h.join(';')), + S.select('path').attr('style', f.join(';').replace('fill', 'stroke')); + } else + (S = d.insert('rect', ':first-child')), + S.attr('style', u) + .attr('rx', e.rx) + .attr('ry', e.ry) + .attr('x', b) + .attr('y', w) + .attr('width', v) + .attr('height', x); + let { subGraphTitleTopMargin: T } = io(r); + if ((m.attr('transform', `translate(${e.x - y.width / 2}, ${e.y - e.height / 2 + T})`), l)) { + let _ = m.select('span'); + _ && _.attr('style', l); + } + let E = S.node().getBBox(); + return ( + (e.offsetX = 0), + (e.width = E.width), + (e.height = E.height), + (e.offsetY = y.height - e.padding / 2), + (e.intersect = function (_) { + return Dd(e, _); + }), + { cluster: d, labelBBox: y } + ); + }, 'rect')), + (SSe = o((t, e) => { + let r = t.insert('g').attr('class', 'note-cluster').attr('id', e.id), + n = r.insert('rect', ':first-child'), + i = 0 * e.padding, + a = i / 2; + n.attr('rx', e.rx) + .attr('ry', e.ry) + .attr('x', e.x - e.width / 2 - a) + .attr('y', e.y - e.height / 2 - a) + .attr('width', e.width + i) + .attr('height', e.height + i) + .attr('fill', 'none'); + let s = n.node().getBBox(); + return ( + (e.width = s.width), + (e.height = s.height), + (e.intersect = function (l) { + return Dd(e, l); + }), + { cluster: r, labelBBox: { width: 0, height: 0 } } + ); + }, 'noteGroup')), + (ASe = o(async (t, e) => { + let r = de(), + { themeVariables: n, handDrawnSeed: i } = r, + { altBackground: a, compositeBackground: s, compositeTitleBackground: l, nodeBorder: u } = n, + h = t + .insert('g') + .attr('class', e.cssClasses) + .attr('id', e.id) + .attr('data-id', e.id) + .attr('data-look', e.look), + f = h.insert('g', ':first-child'), + d = h.insert('g').attr('class', 'cluster-label'), + p = h.append('rect'), + m = d.node().appendChild(await gc(e.label, e.labelStyle, void 0, !0)), + g = m.getBBox(); + if (yr(r.flowchart.htmlLabels)) { + let L = m.children[0], + M = $e(m); + (g = L.getBoundingClientRect()), M.attr('width', g.width), M.attr('height', g.height); + } + let y = 0 * e.padding, + v = y / 2, + x = (e.width <= g.width + e.padding ? g.width + e.padding : e.width) + y; + e.width <= g.width + e.padding ? (e.diff = (x - e.width) / 2 - e.padding) : (e.diff = -e.padding); + let b = e.height + y, + w = e.height + y - g.height - 6, + S = e.x - x / 2, + T = e.y - b / 2; + e.width = x; + let E = e.y - e.height / 2 - v + g.height + 2, + _; + if (e.look === 'handDrawn') { + let L = e.cssClasses.includes('statediagram-cluster-alt'), + M = Jt.svg(h), + N = + e.rx || e.ry + ? M.path(_u(S, T, x, b, 10), { + roughness: 0.7, + fill: l, + fillStyle: 'solid', + stroke: u, + seed: i + }) + : M.rectangle(S, T, x, b, { seed: i }); + _ = h.insert(() => N, ':first-child'); + let k = M.rectangle(S, E, x, w, { + fill: L ? a : s, + fillStyle: L ? 'hachure' : 'solid', + stroke: u, + seed: i + }); + (_ = h.insert(() => N, ':first-child')), (p = h.insert(() => k)); + } else + (_ = f.insert('rect', ':first-child')), + _.attr('class', 'outer') + .attr('x', S) + .attr('y', T) + .attr('width', x) + .attr('height', b) + .attr('data-look', e.look), + p.attr('class', 'inner').attr('x', S).attr('y', E).attr('width', x).attr('height', w); + d.attr( + 'transform', + `translate(${e.x - g.width / 2}, ${T + 1 - (yr(r.flowchart.htmlLabels) ? 0 : 3)})` + ); + let A = _.node().getBBox(); + return ( + (e.height = A.height), + (e.offsetX = 0), + (e.offsetY = g.height - e.padding / 2), + (e.labelBBox = g), + (e.intersect = function (L) { + return Dd(e, L); + }), + { cluster: h, labelBBox: g } + ); + }, 'roundedWithTitle')), + (_Se = o((t, e) => { + let r = de(), + { themeVariables: n, handDrawnSeed: i } = r, + { nodeBorder: a } = n, + s = t.insert('g').attr('class', e.cssClasses).attr('id', e.id).attr('data-look', e.look), + l = s.insert('g', ':first-child'), + u = 0 * e.padding, + h = e.width + u; + e.diff = -e.padding; + let f = e.height + u, + d = e.x - h / 2, + p = e.y - f / 2; + e.width = h; + let m; + if (e.look === 'handDrawn') { + let v = Jt.svg(s).rectangle(d, p, h, f, { + fill: 'lightgrey', + roughness: 0.5, + strokeLineDash: [5], + stroke: a, + seed: i + }); + m = s.insert(() => v, ':first-child'); + } else + (m = l.insert('rect', ':first-child')), + m + .attr('class', 'divider') + .attr('x', d) + .attr('y', p) + .attr('width', h) + .attr('height', f) + .attr('data-look', e.look); + let g = m.node().getBBox(); + return ( + (e.height = g.height), + (e.offsetX = 0), + (e.offsetY = 0), + (e.intersect = function (y) { + return Dd(e, y); + }), + { cluster: s, labelBBox: {} } + ); + }, 'divider')), + (LSe = eK), + (DSe = { + rect: eK, + squareRect: LSe, + roundedWithTitle: ASe, + noteGroup: SSe, + divider: _Se + }), + (tK = new Map()), + (Y5 = o(async (t, e) => { + let r = e.shape || 'rect', + n = await DSe[r](t, e); + return tK.set(e.id, n), n; + }, 'insertCluster')), + (rK = o(() => { + tK = new Map(); + }, 'clear')); + }); + function W5(t, e) { + if (t === void 0 || e === void 0) return { angle: 0, deltaX: 0, deltaY: 0 }; + (t = q5(t)), (e = q5(e)); + let [r, n] = [t.x, t.y], + [i, a] = [e.x, e.y], + s = i - r, + l = a - n; + return { angle: Math.atan(l / s), deltaX: s, deltaY: l }; + } + var Uh, + q5, + X5, + j9 = R(() => { + 'use strict'; + Uh = { + aggregation: 18, + extension: 18, + composition: 18, + dependency: 6, + lollipop: 13.5, + arrow_point: 4 + }; + o(W5, 'calculateDeltaAndAngle'); + (q5 = o((t) => (Array.isArray(t) ? { x: t[0], y: t[1] } : t), 'pointTransformer')), + (X5 = o( + (t) => ({ + x: o(function (e, r, n) { + let i = 0; + if (r === 0 && Object.hasOwn(Uh, t.arrowTypeStart)) { + let { angle: a, deltaX: s } = W5(n[0], n[1]); + i = Uh[t.arrowTypeStart] * Math.cos(a) * (s >= 0 ? 1 : -1); + } else if (r === n.length - 1 && Object.hasOwn(Uh, t.arrowTypeEnd)) { + let { angle: a, deltaX: s } = W5(n[n.length - 1], n[n.length - 2]); + i = Uh[t.arrowTypeEnd] * Math.cos(a) * (s >= 0 ? 1 : -1); + } + return q5(e).x + i; + }, 'x'), + y: o(function (e, r, n) { + let i = 0; + if (r === 0 && Object.hasOwn(Uh, t.arrowTypeStart)) { + let { angle: a, deltaY: s } = W5(n[0], n[1]); + i = Uh[t.arrowTypeStart] * Math.abs(Math.sin(a)) * (s >= 0 ? 1 : -1); + } else if (r === n.length - 1 && Object.hasOwn(Uh, t.arrowTypeEnd)) { + let { angle: a, deltaY: s } = W5(n[n.length - 1], n[n.length - 2]); + i = Uh[t.arrowTypeEnd] * Math.abs(Math.sin(a)) * (s >= 0 ? 1 : -1); + } + return q5(e).y + i; + }, 'y') + }), + 'getLineFunctionsWithOffset' + )); + }); + var iK, + RSe, + nK, + aK = R(() => { + 'use strict'; + ut(); + (iK = o((t, e, r, n, i) => { + e.arrowTypeStart && nK(t, 'start', e.arrowTypeStart, r, n, i), + e.arrowTypeEnd && nK(t, 'end', e.arrowTypeEnd, r, n, i); + }, 'addEdgeMarkers')), + (RSe = { + arrow_cross: 'cross', + arrow_point: 'point', + arrow_barb: 'barb', + arrow_circle: 'circle', + aggregation: 'aggregation', + extension: 'extension', + composition: 'composition', + dependency: 'dependency', + lollipop: 'lollipop' + }), + (nK = o((t, e, r, n, i, a) => { + let s = RSe[r]; + if (!s) { + V.warn(`Unknown arrow type: ${r}`); + return; + } + let l = e === 'start' ? 'Start' : 'End'; + t.attr(`marker-${e}`, `url(${n}#${i}_${a}-${s}${l})`); + }, 'addEdgeMarker')); + }); + function j5(t, e) { + de().flowchart.htmlLabels && t && ((t.style.width = e.length * 9 + 'px'), (t.style.height = '12px')); + } + function ISe(t) { + let e = [], + r = []; + for (let n = 1; n < t.length - 1; n++) { + let i = t[n - 1], + a = t[n], + s = t[n + 1]; + ((i.x === a.x && a.y === s.y && Math.abs(a.x - s.x) > 5 && Math.abs(a.y - i.y) > 5) || + (i.y === a.y && a.x === s.x && Math.abs(a.x - i.x) > 5 && Math.abs(a.y - s.y) > 5)) && + (e.push(a), r.push(n)); + } + return { cornerPoints: e, cornerPointPositions: r }; + } + var K5, + da, + lK, + Av, + Q5, + Z5, + NSe, + MSe, + sK, + oK, + OSe, + J5, + K9 = R(() => { + 'use strict'; + _t(); + rr(); + ut(); + Al(); + xr(); + j9(); + _d(); + Zt(); + ti(); + H5(); + aK(); + (K5 = new Map()), + (da = new Map()), + (lK = o(() => { + K5.clear(), da.clear(); + }, 'clear')), + (Av = o((t) => (t ? t.reduce((r, n) => r + ';' + n, '') : ''), 'getLabelStyles')), + (Q5 = o(async (t, e) => { + let r = yr(de().flowchart.htmlLabels), + n = await ta(t, e.label, { + style: Av(e.labelStyle), + useHtmlLabels: r, + addSvgBackground: !0, + isNode: !1 + }); + V.info('abc82', e, e.labelType); + let i = t.insert('g').attr('class', 'edgeLabel'), + a = i.insert('g').attr('class', 'label'); + a.node().appendChild(n); + let s = n.getBBox(); + if (r) { + let u = n.children[0], + h = $e(n); + (s = u.getBoundingClientRect()), h.attr('width', s.width), h.attr('height', s.height); + } + a.attr('transform', 'translate(' + -s.width / 2 + ', ' + -s.height / 2 + ')'), + K5.set(e.id, i), + (e.width = s.width), + (e.height = s.height); + let l; + if (e.startLabelLeft) { + let u = await gc(e.startLabelLeft, Av(e.labelStyle)), + h = t.insert('g').attr('class', 'edgeTerminals'), + f = h.insert('g').attr('class', 'inner'); + l = f.node().appendChild(u); + let d = u.getBBox(); + f.attr('transform', 'translate(' + -d.width / 2 + ', ' + -d.height / 2 + ')'), + da.get(e.id) || da.set(e.id, {}), + (da.get(e.id).startLeft = h), + j5(l, e.startLabelLeft); + } + if (e.startLabelRight) { + let u = await gc(e.startLabelRight, Av(e.labelStyle)), + h = t.insert('g').attr('class', 'edgeTerminals'), + f = h.insert('g').attr('class', 'inner'); + (l = h.node().appendChild(u)), f.node().appendChild(u); + let d = u.getBBox(); + f.attr('transform', 'translate(' + -d.width / 2 + ', ' + -d.height / 2 + ')'), + da.get(e.id) || da.set(e.id, {}), + (da.get(e.id).startRight = h), + j5(l, e.startLabelRight); + } + if (e.endLabelLeft) { + let u = await gc(e.endLabelLeft, Av(e.labelStyle)), + h = t.insert('g').attr('class', 'edgeTerminals'), + f = h.insert('g').attr('class', 'inner'); + l = f.node().appendChild(u); + let d = u.getBBox(); + f.attr('transform', 'translate(' + -d.width / 2 + ', ' + -d.height / 2 + ')'), + h.node().appendChild(u), + da.get(e.id) || da.set(e.id, {}), + (da.get(e.id).endLeft = h), + j5(l, e.endLabelLeft); + } + if (e.endLabelRight) { + let u = await gc(e.endLabelRight, Av(e.labelStyle)), + h = t.insert('g').attr('class', 'edgeTerminals'), + f = h.insert('g').attr('class', 'inner'); + l = f.node().appendChild(u); + let d = u.getBBox(); + f.attr('transform', 'translate(' + -d.width / 2 + ', ' + -d.height / 2 + ')'), + h.node().appendChild(u), + da.get(e.id) || da.set(e.id, {}), + (da.get(e.id).endRight = h), + j5(l, e.endLabelRight); + } + return n; + }, 'insertEdgeLabel')); + o(j5, 'setTerminalWidth'); + (Z5 = o((t, e) => { + V.debug('Moving label abc88 ', t.id, t.label, K5.get(t.id), e); + let r = e.updatedPath ? e.updatedPath : e.originalPath, + n = de(), + { subGraphTitleTotalMargin: i } = io(n); + if (t.label) { + let a = K5.get(t.id), + s = t.x, + l = t.y; + if (r) { + let u = Lt.calcLabelPosition(r); + V.debug('Moving label ' + t.label + ' from (', s, ',', l, ') to (', u.x, ',', u.y, ') abc88'), + e.updatedPath && ((s = u.x), (l = u.y)); + } + a.attr('transform', `translate(${s}, ${l + i / 2})`); + } + if (t.startLabelLeft) { + let a = da.get(t.id).startLeft, + s = t.x, + l = t.y; + if (r) { + let u = Lt.calcTerminalLabelPosition(t.arrowTypeStart ? 10 : 0, 'start_left', r); + (s = u.x), (l = u.y); + } + a.attr('transform', `translate(${s}, ${l})`); + } + if (t.startLabelRight) { + let a = da.get(t.id).startRight, + s = t.x, + l = t.y; + if (r) { + let u = Lt.calcTerminalLabelPosition(t.arrowTypeStart ? 10 : 0, 'start_right', r); + (s = u.x), (l = u.y); + } + a.attr('transform', `translate(${s}, ${l})`); + } + if (t.endLabelLeft) { + let a = da.get(t.id).endLeft, + s = t.x, + l = t.y; + if (r) { + let u = Lt.calcTerminalLabelPosition(t.arrowTypeEnd ? 10 : 0, 'end_left', r); + (s = u.x), (l = u.y); + } + a.attr('transform', `translate(${s}, ${l})`); + } + if (t.endLabelRight) { + let a = da.get(t.id).endRight, + s = t.x, + l = t.y; + if (r) { + let u = Lt.calcTerminalLabelPosition(t.arrowTypeEnd ? 10 : 0, 'end_right', r); + (s = u.x), (l = u.y); + } + a.attr('transform', `translate(${s}, ${l})`); + } + }, 'positionEdgeLabel')), + (NSe = o((t, e) => { + let r = t.x, + n = t.y, + i = Math.abs(e.x - r), + a = Math.abs(e.y - n), + s = t.width / 2, + l = t.height / 2; + return i >= s || a >= l; + }, 'outsideNode')), + (MSe = o((t, e, r) => { + V.debug(`intersection calc abc89: + outsidePoint: ${JSON.stringify(e)} + insidePoint : ${JSON.stringify(r)} + node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`); + let n = t.x, + i = t.y, + a = Math.abs(n - r.x), + s = t.width / 2, + l = r.x < e.x ? s - a : s + a, + u = t.height / 2, + h = Math.abs(e.y - r.y), + f = Math.abs(e.x - r.x); + if (Math.abs(i - e.y) * s > Math.abs(n - e.x) * u) { + let d = r.y < e.y ? e.y - u - i : i - u - e.y; + l = (f * d) / h; + let p = { + x: r.x < e.x ? r.x + l : r.x - f + l, + y: r.y < e.y ? r.y + h - d : r.y - h + d + }; + return ( + l === 0 && ((p.x = e.x), (p.y = e.y)), + f === 0 && (p.x = e.x), + h === 0 && (p.y = e.y), + V.debug(`abc89 top/bottom calc, Q ${h}, q ${d}, R ${f}, r ${l}`, p), + p + ); + } else { + r.x < e.x ? (l = e.x - s - n) : (l = n - s - e.x); + let d = (h * l) / f, + p = r.x < e.x ? r.x + f - l : r.x - f + l, + m = r.y < e.y ? r.y + d : r.y - d; + return ( + V.debug(`sides calc abc89, Q ${h}, q ${d}, R ${f}, r ${l}`, { + _x: p, + _y: m + }), + l === 0 && ((p = e.x), (m = e.y)), + f === 0 && (p = e.x), + h === 0 && (m = e.y), + { x: p, y: m } + ); + } + }, 'intersection')), + (sK = o((t, e) => { + V.warn('abc88 cutPathAtIntersect', t, e); + let r = [], + n = t[0], + i = !1; + return ( + t.forEach((a) => { + if ((V.info('abc88 checking point', a, e), !NSe(e, a) && !i)) { + let s = MSe(e, n, a); + V.debug('abc88 inside', a, n, s), V.debug('abc88 intersection', s, e); + let l = !1; + r.forEach((u) => { + l = l || (u.x === s.x && u.y === s.y); + }), + r.some((u) => u.x === s.x && u.y === s.y) + ? V.warn('abc88 no intersect', s, r) + : r.push(s), + (i = !0); + } else V.warn('abc88 outside', a, n), (n = a), i || r.push(a); + }), + V.debug('returning points', r), + r + ); + }, 'cutPathAtIntersect')); + o(ISe, 'extractCornerPoints'); + (oK = o(function (t, e, r) { + let n = e.x - t.x, + i = e.y - t.y, + a = Math.sqrt(n * n + i * i), + s = r / a; + return { x: e.x - s * n, y: e.y - s * i }; + }, 'findAdjacentPoint')), + (OSe = o(function (t) { + let { cornerPointPositions: e } = ISe(t), + r = []; + for (let n = 0; n < t.length; n++) + if (e.includes(n)) { + let i = t[n - 1], + a = t[n + 1], + s = t[n], + l = oK(i, s, 5), + u = oK(a, s, 5), + h = u.x - l.x, + f = u.y - l.y; + r.push(l); + let d = Math.sqrt(2) * 2, + p = { x: s.x, y: s.y }; + if (Math.abs(a.x - i.x) > 10 && Math.abs(a.y - i.y) >= 10) { + V.debug('Corner point fixing', Math.abs(a.x - i.x), Math.abs(a.y - i.y)); + let m = 5; + s.x === l.x + ? (p = { + x: h < 0 ? l.x - m + d : l.x + m - d, + y: f < 0 ? l.y - d : l.y + d + }) + : (p = { + x: h < 0 ? l.x - d : l.x + d, + y: f < 0 ? l.y - m + d : l.y + m - d + }); + } else V.debug('Corner point skipping fixing', Math.abs(a.x - i.x), Math.abs(a.y - i.y)); + r.push(p, u); + } else r.push(t[n]); + return r; + }, 'fixCorners')), + (J5 = o(function (t, e, r, n, i, a, s) { + let { handDrawnSeed: l } = de(), + u = e.points, + h = !1, + f = i; + var d = a; + d.intersect && + f.intersect && + ((u = u.slice(1, e.points.length - 1)), + u.unshift(f.intersect(u[0])), + V.debug( + 'Last point APA12', + e.start, + '-->', + e.end, + u[u.length - 1], + d, + d.intersect(u[u.length - 1]) + ), + u.push(d.intersect(u[u.length - 1]))), + e.toCluster && + (V.info('to cluster abc88', r.get(e.toCluster)), + (u = sK(e.points, r.get(e.toCluster).node)), + (h = !0)), + e.fromCluster && + (V.debug('from cluster abc88', r.get(e.fromCluster), JSON.stringify(u, null, 2)), + (u = sK(u.reverse(), r.get(e.fromCluster).node).reverse()), + (h = !0)); + let p = u.filter((A) => !Number.isNaN(A.y)); + p = OSe(p); + let m = p[p.length - 1]; + if (p.length > 1) { + m = p[p.length - 1]; + let A = p[p.length - 2], + L = (m.x - A.x) / 2, + M = (m.y - A.y) / 2, + N = { x: A.x + L, y: A.y + M }; + p.splice(-1, 0, N); + } + let g = vs; + e.curve && (g = e.curve); + let { x: y, y: v } = X5(e), + x = ha().x(y).y(v).curve(g), + b; + switch (e.thickness) { + case 'normal': + b = 'edge-thickness-normal'; + break; + case 'thick': + b = 'edge-thickness-thick'; + break; + case 'invisible': + b = 'edge-thickness-invisible'; + break; + default: + b = 'edge-thickness-normal'; + } + switch (e.pattern) { + case 'solid': + b += ' edge-pattern-solid'; + break; + case 'dotted': + b += ' edge-pattern-dotted'; + break; + case 'dashed': + b += ' edge-pattern-dashed'; + break; + default: + b += ' edge-pattern-solid'; + } + let w, + S = x(p), + T = Array.isArray(e.style) ? e.style : [e.style]; + if (e.look === 'handDrawn') { + let A = Jt.svg(t); + Object.assign([], p); + let L = A.path(S, { roughness: 0.3, seed: l }); + (b += ' transition'), + (w = $e(L) + .select('path') + .attr('id', e.id) + .attr('class', ' ' + b + (e.classes ? ' ' + e.classes : '')) + .attr('style', T ? T.reduce((N, k) => N + ';' + k, '') : '')); + let M = w.attr('d'); + w.attr('d', M), t.node().appendChild(w.node()); + } else + w = t + .append('path') + .attr('d', S) + .attr('id', e.id) + .attr('class', ' ' + b + (e.classes ? ' ' + e.classes : '')) + .attr('style', T ? T.reduce((A, L) => A + ';' + L, '') : ''); + let E = ''; + (de().flowchart.arrowMarkerAbsolute || de().state.arrowMarkerAbsolute) && + ((E = + window.location.protocol + + '//' + + window.location.host + + window.location.pathname + + window.location.search), + (E = E.replace(/\(/g, '\\(').replace(/\)/g, '\\)'))), + V.info('arrowTypeStart', e.arrowTypeStart), + V.info('arrowTypeEnd', e.arrowTypeEnd), + iK(w, e, E, s, n); + let _ = {}; + return h && (_.updatedPath = u), (_.originalPath = e.points), _; + }, 'insertEdge')); + }); + var PSe, + BSe, + FSe, + zSe, + GSe, + $Se, + VSe, + USe, + HSe, + YSe, + WSe, + ew, + Q9 = R(() => { + 'use strict'; + ut(); + (PSe = o((t, e, r, n) => { + e.forEach((i) => { + WSe[i](t, r, n); + }); + }, 'insertMarkers')), + (BSe = o((t, e, r) => { + V.trace('Making markers for ', r), + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-extensionStart') + .attr('class', 'marker extension ' + e) + .attr('refX', 18) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 1,7 L18,13 V 1 Z'), + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-extensionEnd') + .attr('class', 'marker extension ' + e) + .attr('refX', 1) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 1,1 V 13 L18,7 Z'); + }, 'extension')), + (FSe = o((t, e, r) => { + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-compositionStart') + .attr('class', 'marker composition ' + e) + .attr('refX', 18) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'), + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-compositionEnd') + .attr('class', 'marker composition ' + e) + .attr('refX', 1) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'); + }, 'composition')), + (zSe = o((t, e, r) => { + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-aggregationStart') + .attr('class', 'marker aggregation ' + e) + .attr('refX', 18) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'), + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-aggregationEnd') + .attr('class', 'marker aggregation ' + e) + .attr('refX', 1) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'); + }, 'aggregation')), + (GSe = o((t, e, r) => { + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-dependencyStart') + .attr('class', 'marker dependency ' + e) + .attr('refX', 6) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 5,7 L9,13 L1,7 L9,1 Z'), + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-dependencyEnd') + .attr('class', 'marker dependency ' + e) + .attr('refX', 13) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L14,7 L9,1 Z'); + }, 'dependency')), + ($Se = o((t, e, r) => { + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-lollipopStart') + .attr('class', 'marker lollipop ' + e) + .attr('refX', 13) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('circle') + .attr('stroke', 'black') + .attr('fill', 'transparent') + .attr('cx', 7) + .attr('cy', 7) + .attr('r', 6), + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-lollipopEnd') + .attr('class', 'marker lollipop ' + e) + .attr('refX', 1) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('circle') + .attr('stroke', 'black') + .attr('fill', 'transparent') + .attr('cx', 7) + .attr('cy', 7) + .attr('r', 6); + }, 'lollipop')), + (VSe = o((t, e, r) => { + t + .append('marker') + .attr('id', r + '_' + e + '-pointEnd') + .attr('class', 'marker ' + e) + .attr('viewBox', '0 0 10 10') + .attr('refX', 5) + .attr('refY', 5) + .attr('markerUnits', 'userSpaceOnUse') + .attr('markerWidth', 8) + .attr('markerHeight', 8) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 0 0 L 10 5 L 0 10 z') + .attr('class', 'arrowMarkerPath') + .style('stroke-width', 1) + .style('stroke-dasharray', '1,0'), + t + .append('marker') + .attr('id', r + '_' + e + '-pointStart') + .attr('class', 'marker ' + e) + .attr('viewBox', '0 0 10 10') + .attr('refX', 4.5) + .attr('refY', 5) + .attr('markerUnits', 'userSpaceOnUse') + .attr('markerWidth', 8) + .attr('markerHeight', 8) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 0 5 L 10 10 L 10 0 z') + .attr('class', 'arrowMarkerPath') + .style('stroke-width', 1) + .style('stroke-dasharray', '1,0'); + }, 'point')), + (USe = o((t, e, r) => { + t + .append('marker') + .attr('id', r + '_' + e + '-circleEnd') + .attr('class', 'marker ' + e) + .attr('viewBox', '0 0 10 10') + .attr('refX', 11) + .attr('refY', 5) + .attr('markerUnits', 'userSpaceOnUse') + .attr('markerWidth', 11) + .attr('markerHeight', 11) + .attr('orient', 'auto') + .append('circle') + .attr('cx', '5') + .attr('cy', '5') + .attr('r', '5') + .attr('class', 'arrowMarkerPath') + .style('stroke-width', 1) + .style('stroke-dasharray', '1,0'), + t + .append('marker') + .attr('id', r + '_' + e + '-circleStart') + .attr('class', 'marker ' + e) + .attr('viewBox', '0 0 10 10') + .attr('refX', -1) + .attr('refY', 5) + .attr('markerUnits', 'userSpaceOnUse') + .attr('markerWidth', 11) + .attr('markerHeight', 11) + .attr('orient', 'auto') + .append('circle') + .attr('cx', '5') + .attr('cy', '5') + .attr('r', '5') + .attr('class', 'arrowMarkerPath') + .style('stroke-width', 1) + .style('stroke-dasharray', '1,0'); + }, 'circle')), + (HSe = o((t, e, r) => { + t + .append('marker') + .attr('id', r + '_' + e + '-crossEnd') + .attr('class', 'marker cross ' + e) + .attr('viewBox', '0 0 11 11') + .attr('refX', 12) + .attr('refY', 5.2) + .attr('markerUnits', 'userSpaceOnUse') + .attr('markerWidth', 11) + .attr('markerHeight', 11) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 1,1 l 9,9 M 10,1 l -9,9') + .attr('class', 'arrowMarkerPath') + .style('stroke-width', 2) + .style('stroke-dasharray', '1,0'), + t + .append('marker') + .attr('id', r + '_' + e + '-crossStart') + .attr('class', 'marker cross ' + e) + .attr('viewBox', '0 0 11 11') + .attr('refX', -1) + .attr('refY', 5.2) + .attr('markerUnits', 'userSpaceOnUse') + .attr('markerWidth', 11) + .attr('markerHeight', 11) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 1,1 l 9,9 M 10,1 l -9,9') + .attr('class', 'arrowMarkerPath') + .style('stroke-width', 2) + .style('stroke-dasharray', '1,0'); + }, 'cross')), + (YSe = o((t, e, r) => { + t.append('defs') + .append('marker') + .attr('id', r + '_' + e + '-barbEnd') + .attr('refX', 19) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 14) + .attr('markerUnits', 'userSpaceOnUse') + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 19,7 L9,13 L14,7 L9,1 Z'); + }, 'barb')), + (WSe = { + extension: BSe, + composition: FSe, + aggregation: zSe, + dependency: GSe, + lollipop: $Se, + point: VSe, + circle: USe, + cross: HSe, + barb: YSe + }), + (ew = PSe); + }); + var zr, + ar, + En, + ri = R(() => { + 'use strict'; + Al(); + _t(); + Zt(); + rr(); + xr(); + (zr = o(async (t, e, r) => { + let n, + i = e.useHtmlLabels || yr(de().flowchart.htmlLabels); + r ? (n = r) : (n = 'node default'); + let a = t + .insert('g') + .attr('class', n) + .attr('id', e.domId || e.id), + s = a.insert('g').attr('class', 'label').attr('style', e.labelStyle), + l; + e.label === void 0 ? (l = '') : (l = typeof e.label == 'string' ? e.label : e.label[0]); + let u; + u = await ta(s, qr(to(l), de()), { + useHtmlLabels: i, + width: e.width || de().flowchart.wrappingWidth, + cssClasses: 'markdown-node-label', + style: e.labelStyle + }); + let h = u.getBBox(), + f = e.padding / 2; + if (yr(de().flowchart.htmlLabels)) { + let d = u.children[0], + p = $e(u), + m = d.getElementsByTagName('img'); + if (m) { + let g = l.replace(/]*>/g, '').trim() === ''; + await Promise.all( + [...m].map( + (y) => + new Promise((v) => { + function x() { + if (((y.style.display = 'flex'), (y.style.flexDirection = 'column'), g)) { + let b = de().fontSize + ? de().fontSize + : window.getComputedStyle(document.body).fontSize, + S = parseInt(b, 10) * 5 + 'px'; + (y.style.minWidth = S), (y.style.maxWidth = S); + } else y.style.width = '100%'; + v(y); + } + o(x, 'setupImage'), + setTimeout(() => { + y.complete && x(); + }), + y.addEventListener('error', x), + y.addEventListener('load', x); + }) + ) + ); + } + (h = d.getBoundingClientRect()), p.attr('width', h.width), p.attr('height', h.height); + } + return ( + i + ? s.attr('transform', 'translate(' + -h.width / 2 + ', ' + -h.height / 2 + ')') + : s.attr('transform', 'translate(0, ' + -h.height / 2 + ')'), + e.centerLabel && s.attr('transform', 'translate(' + -h.width / 2 + ', ' + -h.height / 2 + ')'), + s.insert('rect', ':first-child'), + { shapeSvg: a, bbox: h, halfPadding: f, label: s } + ); + }, 'labelHelper')), + (ar = o((t, e) => { + let r = e.node().getBBox(); + (t.width = r.width), (t.height = r.height); + }, 'updateNodeBounds')), + (En = o( + (t, e) => (t.look === 'handDrawn' ? 'rough-node' : 'node') + ' ' + t.cssClasses + ' ' + (e || ''), + 'getNodeClasses' + )); + }); + function qSe(t, e) { + return t.intersect(e); + } + var cK, + uK = R(() => { + 'use strict'; + o(qSe, 'intersectNode'); + cK = qSe; + }); + function XSe(t, e, r, n) { + var i = t.x, + a = t.y, + s = i - n.x, + l = a - n.y, + u = Math.sqrt(e * e * l * l + r * r * s * s), + h = Math.abs((e * r * s) / u); + n.x < i && (h = -h); + var f = Math.abs((e * r * l) / u); + return n.y < a && (f = -f), { x: i + h, y: a + f }; + } + var tw, + Z9 = R(() => { + 'use strict'; + o(XSe, 'intersectEllipse'); + tw = XSe; + }); + function jSe(t, e, r) { + return tw(t, e, e, r); + } + var hK, + fK = R(() => { + 'use strict'; + Z9(); + o(jSe, 'intersectCircle'); + hK = jSe; + }); + function KSe(t, e, r, n) { + var i, a, s, l, u, h, f, d, p, m, g, y, v, x, b; + if ( + ((i = e.y - t.y), + (s = t.x - e.x), + (u = e.x * t.y - t.x * e.y), + (p = i * r.x + s * r.y + u), + (m = i * n.x + s * n.y + u), + !(p !== 0 && m !== 0 && dK(p, m)) && + ((a = n.y - r.y), + (l = r.x - n.x), + (h = n.x * r.y - r.x * n.y), + (f = a * t.x + l * t.y + h), + (d = a * e.x + l * e.y + h), + !(f !== 0 && d !== 0 && dK(f, d)) && ((g = i * l - a * s), g !== 0))) + ) + return ( + (y = Math.abs(g / 2)), + (v = s * h - l * u), + (x = v < 0 ? (v - y) / g : (v + y) / g), + (v = a * u - i * h), + (b = v < 0 ? (v - y) / g : (v + y) / g), + { x, y: b } + ); + } + function dK(t, e) { + return t * e > 0; + } + var pK, + mK = R(() => { + 'use strict'; + o(KSe, 'intersectLine'); + o(dK, 'sameSign'); + pK = KSe; + }); + function QSe(t, e, r) { + let n = t.x, + i = t.y, + a = [], + s = Number.POSITIVE_INFINITY, + l = Number.POSITIVE_INFINITY; + typeof e.forEach == 'function' + ? e.forEach(function (f) { + (s = Math.min(s, f.x)), (l = Math.min(l, f.y)); + }) + : ((s = Math.min(s, e.x)), (l = Math.min(l, e.y))); + let u = n - t.width / 2 - s, + h = i - t.height / 2 - l; + for (let f = 0; f < e.length; f++) { + let d = e[f], + p = e[f < e.length - 1 ? f + 1 : 0], + m = pK(t, r, { x: u + d.x, y: h + d.y }, { x: u + p.x, y: h + p.y }); + m && a.push(m); + } + return a.length + ? (a.length > 1 && + a.sort(function (f, d) { + let p = f.x - r.x, + m = f.y - r.y, + g = Math.sqrt(p * p + m * m), + y = d.x - r.x, + v = d.y - r.y, + x = Math.sqrt(y * y + v * v); + return g < x ? -1 : g === x ? 0 : 1; + }), + a[0]) + : t; + } + var gK, + yK = R(() => { + 'use strict'; + mK(); + o(QSe, 'intersectPolygon'); + gK = QSe; + }); + var sr, + hi = R(() => { + 'use strict'; + uK(); + fK(); + Z9(); + yK(); + q9(); + sr = { node: cK, circle: hK, ellipse: tw, polygon: gK, rect: Dd }; + }); + var Rd, + _v = R(() => { + 'use strict'; + ri(); + hi(); + Sv(); + ki(); + ti(); + Rd = o(async (t, e, r) => { + let { labelStyles: n, nodeStyles: i } = Br(e); + e.labelStyle = n; + let { shapeSvg: a, bbox: s } = await zr(t, e, En(e)), + l = Math.max(s.width + r.labelPaddingX * 2, e?.width || 0), + u = Math.max(s.height + r.labelPaddingY * 2, e?.height || 0), + h = -l / 2, + f = -u / 2, + d, + { rx: p, ry: m } = e, + { cssStyles: g } = e; + if ((r?.rx && r.ry && ((p = r.rx), (m = r.ry)), e.look === 'handDrawn')) { + let y = Jt.svg(a), + v = Fr(e, {}), + x = p || m ? y.path(_u(h, f, l, u, p || 0), v) : y.rectangle(h, f, l, u, v); + (d = a.insert(() => x, ':first-child')), d.attr('class', 'basic label-container').attr('style', g); + } else + (d = a.insert('rect', ':first-child')), + d + .attr('class', 'basic label-container') + .attr('style', i) + .attr('rx', p) + .attr('data-id', 'abc') + .attr('data-et', 'node') + .attr('ry', m) + .attr('x', h) + .attr('y', f) + .attr('width', l) + .attr('height', u); + return ( + ar(e, d), + (e.intersect = function (y) { + return sr.rect(e, y); + }), + a + ); + }, 'drawRect'); + }); + var vK, + xK = R(() => { + 'use strict'; + _v(); + vK = o(async (t, e) => Rd(t, e, { rx: 5, ry: 5, classes: 'flowchart-node' }), 'state'); + }); + var bK, + wK = R(() => { + 'use strict'; + _v(); + bK = o(async (t, e) => { + let r = { + rx: 5, + ry: 5, + classes: '', + labelPaddingX: (e?.padding || 0) * 1, + labelPaddingY: (e?.padding || 0) * 1 + }; + return Rd(t, e, r); + }, 'roundedRect'); + }); + var TK, + kK = R(() => { + 'use strict'; + _v(); + TK = o(async (t, e) => { + let r = { + rx: 0, + ry: 0, + classes: '', + labelPaddingX: (e?.padding || 0) * 2, + labelPaddingY: (e?.padding || 0) * 1 + }; + return Rd(t, e, r); + }, 'squareRect'); + }); + var EK, + CK = R(() => { + 'use strict'; + ri(); + hi(); + ti(); + ki(); + _t(); + EK = o((t, e) => { + let { themeVariables: r } = de(), + { lineColor: n } = r, + i = t + .insert('g') + .attr('class', 'node default') + .attr('id', e.domId || e.id), + a; + if (e.look === 'handDrawn') { + let l = Jt.svg(i).circle(0, 0, 14, Lu(n)); + a = i.insert(() => l); + } else a = i.insert('circle', ':first-child'); + return ( + a.attr('class', 'state-start').attr('r', 7).attr('width', 14).attr('height', 14), + ar(e, a), + (e.intersect = function (s) { + return sr.circle(e, 7, s); + }), + i + ); + }, 'stateStart'); + }); + var SK, + AK = R(() => { + 'use strict'; + ri(); + hi(); + ti(); + ki(); + _t(); + SK = o((t, e) => { + let { themeVariables: r } = de(), + { lineColor: n } = r, + i = t + .insert('g') + .attr('class', 'node default') + .attr('id', e.domId || e.id), + a, + s; + if (e.look === 'handDrawn') { + let l = Jt.svg(i), + u = l.circle(0, 0, 14, { ...Lu(n), roughness: 0.5 }), + h = l.circle(0, 0, 5, { ...Lu(n), fillStyle: 'solid' }); + (a = i.insert(() => u)), (s = i.insert(() => h)); + } else + (s = i.insert('circle', ':first-child')), + (a = i.insert('circle', ':first-child')), + a.attr('class', 'state-start').attr('r', 7).attr('width', 14).attr('height', 14), + s.attr('class', 'state-end').attr('r', 5).attr('width', 10).attr('height', 10); + return ( + ar(e, a), + (e.intersect = function (l) { + return sr.circle(e, 7, l); + }), + i + ); + }, 'stateEnd'); + }); + var J9, + _K = R(() => { + 'use strict'; + ri(); + hi(); + ti(); + ki(); + _t(); + J9 = o((t, e, r) => { + let { themeVariables: n } = de(), + { lineColor: i } = n, + a = t + .insert('g') + .attr('class', 'node default') + .attr('id', e.domId || e.id), + s = 70, + l = 10; + r === 'LR' && ((s = 10), (l = 70)); + let u = (-1 * s) / 2, + h = (-1 * l) / 2, + f; + if (e.look === 'handDrawn') { + let y = Jt.svg(a).rectangle(u, h, s, l, Lu(i)); + f = a.insert(() => y); + } else + f = a + .append('rect') + .attr('x', u) + .attr('y', h) + .attr('width', s) + .attr('height', l) + .attr('class', 'fork-join'); + ar(e, f); + let d = 0, + p = 0, + m = 10; + return ( + e.height && (d = e.height), + e.width && (p = e.width), + e.padding && (m = e.padding), + (e.height = d + m / 2), + (e.width = p + m / 2), + (e.intersect = function (g) { + return sr.rect(e, g); + }), + a + ); + }, 'forkJoin'); + }); + var LK, + DK = R(() => { + 'use strict'; + hi(); + ti(); + ki(); + _t(); + LK = o((t, e) => { + let { labelStyles: r, nodeStyles: n } = Br(e); + e.labelStyle = r; + let { themeVariables: i } = de(), + { lineColor: a } = i, + s = t + .insert('g') + .attr('class', 'node default') + .attr('id', e.domId || e.id), + l = 28, + u = [ + { x: 0, y: l / 2 }, + { x: l / 2, y: 0 }, + { x: 0, y: -l / 2 }, + { x: -l / 2, y: 0 } + ], + h; + if (e.look === 'handDrawn') { + let f = Jt.svg(s), + d = u.map(function (m) { + return [m.x, m.y]; + }), + p = f.polygon(d, Lu(a)); + h = s.insert(() => p); + } else + h = s.insert('polygon', ':first-child').attr( + 'points', + u + .map(function (f) { + return f.x + ',' + f.y; + }) + .join(' ') + ); + return ( + h.attr('class', 'state-start').attr('r', 7).attr('width', 28).attr('height', 28).attr('style', n), + (e.width = 28), + (e.height = 28), + (e.intersect = function (f) { + return sr.circle(e, 14, f); + }), + s + ); + }, 'choice'); + }); + var RK, + NK = R(() => { + 'use strict'; + ut(); + ri(); + hi(); + _t(); + ti(); + RK = o(async (t, e) => { + let { themeVariables: r, handDrawnSeed: n } = de(), + { noteBorderColor: i, noteBkgColor: a } = r; + e.useHtmlLabels || (e.centerLabel = !0); + let { shapeSvg: l, bbox: u } = await zr(t, e, 'node ' + e.cssClasses); + V.info('Classes = ', e.cssClasses); + let { cssStyles: h } = e, + f, + d = u.width + e.padding, + p = u.height + e.padding, + m = -d / 2, + g = -p / 2; + if (e.look === 'handDrawn') { + let v = Jt.svg(l).rectangle(m, g, d, p, { + roughness: 0.7, + fill: a, + fillWeight: 3, + seed: n, + stroke: i + }); + (f = l.insert(() => v, ':first-child')), f.attr('class', 'basic label-container').attr('style', h); + } else + (f = l.insert('rect', ':first-child')), + f + .attr('rx', e.rx) + .attr('ry', e.ry) + .attr('x', m) + .attr('y', g) + .attr('width', d) + .attr('height', p); + return ( + ar(e, f), + (e.intersect = function (y) { + return sr.rect(e, y); + }), + l + ); + }, 'note'); + }); + var MK, + IK = R(() => { + 'use strict'; + ri(); + hi(); + ki(); + ti(); + Sv(); + MK = o(async (t, e) => { + let { labelStyles: r, nodeStyles: n } = Br(e); + e.labelStyle = r; + let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)), + s = a.height + e.padding, + l = a.width + s / 4 + e.padding, + u, + { cssStyles: h } = e; + if (e.look === 'handDrawn') { + let f = Jt.svg(i), + d = Fr(e, {}), + p = _u(-l / 2, -s / 2, l, s, s / 2), + m = f.path(p, d); + (u = i.insert(() => m, ':first-child')), u.attr('class', 'basic label-container').attr('style', h); + } else + (u = i.insert('rect', ':first-child')), + u + .attr('class', 'basic label-container') + .attr('style', n) + .attr('rx', s / 2) + .attr('ry', s / 2) + .attr('x', -l / 2) + .attr('y', -s / 2) + .attr('width', l) + .attr('height', s); + return ( + ar(e, u), + (e.intersect = function (f) { + return sr.rect(e, f); + }), + i + ); + }, 'stadium'); + }); + var OK, + PK = R(() => { + 'use strict'; + Zt(); + rr(); + ri(); + H5(); + hi(); + ki(); + ti(); + _t(); + Sv(); + ut(); + OK = o(async (t, e) => { + let { labelStyles: r, nodeStyles: n } = Br(e); + e.labelStyle = r; + let i; + e.cssClasses ? (i = 'node ' + e.cssClasses) : (i = 'node default'); + let a = t + .insert('g') + .attr('class', i) + .attr('id', e.domId || e.id), + s = a.insert('g'), + l = a.insert('g').attr('class', 'label').attr('style', n), + u = e.description, + h = e.label, + f = l.node().appendChild(await gc(h, e.labelStyle, !0, !0)), + d = { width: 0, height: 0 }; + if (yr(de()?.flowchart?.htmlLabels)) { + let A = f.children[0], + L = $e(f); + (d = A.getBoundingClientRect()), L.attr('width', d.width), L.attr('height', d.height); + } + V.info('Text 2', u); + let p = u || [], + m = f.getBBox(), + g = l.node().appendChild(await gc(p.join ? p.join('
    ') : p, e.labelStyle, !0, !0)), + y = g.children[0], + v = $e(g); + (d = y.getBoundingClientRect()), v.attr('width', d.width), v.attr('height', d.height); + let x = (e.padding || 0) / 2; + $e(g).attr( + 'transform', + 'translate( ' + (d.width > m.width ? 0 : (m.width - d.width) / 2) + ', ' + (m.height + x + 5) + ')' + ), + $e(f).attr( + 'transform', + 'translate( ' + (d.width < m.width ? 0 : -(m.width - d.width) / 2) + ', 0)' + ), + (d = l.node().getBBox()), + l.attr('transform', 'translate(' + -d.width / 2 + ', ' + (-d.height / 2 - x + 3) + ')'); + let b = d.width + (e.padding || 0), + w = d.height + (e.padding || 0), + S = -d.width / 2 - x, + T = -d.height / 2 - x, + E, + _; + if (e.look === 'handDrawn') { + let A = Jt.svg(a), + L = Fr(e, {}), + M = A.path(_u(S, T, b, w, e.rx || 0), L), + N = A.line( + -d.width / 2 - x, + -d.height / 2 - x + m.height + x, + d.width / 2 + x, + -d.height / 2 - x + m.height + x, + L + ); + (_ = a.insert(() => (V.debug('Rough node insert CXC', M), N), ':first-child')), + (E = a.insert(() => (V.debug('Rough node insert CXC', M), M), ':first-child')); + } else + (E = s.insert('rect', ':first-child')), + (_ = s.insert('line')), + E.attr('class', 'outer title-state') + .attr('style', n) + .attr('x', -d.width / 2 - x) + .attr('y', -d.height / 2 - x) + .attr('width', d.width + (e.padding || 0)) + .attr('height', d.height + (e.padding || 0)), + _.attr('class', 'divider') + .attr('x1', -d.width / 2 - x) + .attr('x2', d.width / 2 + x) + .attr('y1', -d.height / 2 - x + m.height + x) + .attr('y2', -d.height / 2 - x + m.height + x); + return ( + ar(e, E), + (e.intersect = function (A) { + return sr.rect(e, A); + }), + a + ); + }, 'rectWithTitle'); + }); + function Ma(t, e, r, n) { + return t + .insert('polygon', ':first-child') + .attr( + 'points', + n + .map(function (i) { + return i.x + ',' + i.y; + }) + .join(' ') + ) + .attr('class', 'label-container') + .attr('transform', 'translate(' + -e / 2 + ',' + r / 2 + ')'); + } + var Du = R(() => { + 'use strict'; + o(Ma, 'insertPolygonShape'); + }); + var BK, + FK = R(() => { + 'use strict'; + ri(); + hi(); + ki(); + ti(); + Du(); + BK = o(async (t, e) => { + let { labelStyles: r, nodeStyles: n } = Br(e); + e.labelStyle = r; + let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)), + s = (e?.padding || 0) / 2, + l = a.width + e.padding, + u = a.height + e.padding, + h = -a.width / 2 - s, + f = -a.height / 2 - s, + d = [ + { x: 0, y: 0 }, + { x: l, y: 0 }, + { x: l, y: -u }, + { x: 0, y: -u }, + { x: 0, y: 0 }, + { x: -8, y: 0 }, + { x: l + 8, y: 0 }, + { x: l + 8, y: -u }, + { x: -8, y: -u }, + { x: -8, y: 0 } + ]; + if (e.look === 'handDrawn') { + let p = Jt.svg(i), + m = Fr(e, {}), + g = p.rectangle(h - 8, f, l + 16, u, m), + y = p.line(h, f, h, f + u, m), + v = p.line(h + l, f, h + l, f + u, m); + i.insert(() => y, ':first-child'), i.insert(() => v, ':first-child'); + let x = i.insert(() => g, ':first-child'), + { cssStyles: b } = e; + x.attr('class', 'basic label-container').attr('style', b), ar(e, x); + } else { + let p = Ma(i, l, u, d); + n && p.attr('style', n), ar(e, p); + } + return ( + (e.intersect = function (p) { + return sr.polygon(e, d, p); + }), + i + ); + }, 'subroutine'); + }); + var ZSe, + JSe, + eAe, + zK, + GK = R(() => { + 'use strict'; + ri(); + hi(); + ki(); + ti(); + (ZSe = o( + (t, e, r, n, i, a) => + [ + `M${t},${e + a}`, + `a${i},${a} 0,0,0 ${r},0`, + `a${i},${a} 0,0,0 ${-r},0`, + `l0,${n}`, + `a${i},${a} 0,0,0 ${r},0`, + `l0,${-n}` + ].join(' '), + 'createCylinderPathD' + )), + (JSe = o( + (t, e, r, n, i, a) => + [ + `M${t},${e + a}`, + `M${t + r},${e + a}`, + `a${i},${a} 0,0,0 ${-r},0`, + `l0,${n}`, + `a${i},${a} 0,0,0 ${r},0`, + `l0,${-n}` + ].join(' '), + 'createOuterCylinderPathD' + )), + (eAe = o( + (t, e, r, n, i, a) => [`M${t - r / 2},${-n / 2}`, `a${i},${a} 0,0,0 ${r},0`].join(' '), + 'createInnerCylinderPathD' + )), + (zK = o(async (t, e) => { + let { labelStyles: r, nodeStyles: n } = Br(e); + e.labelStyle = r; + let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)), + s = a.width + e.padding, + l = s / 2, + u = l / (2.5 + s / 50), + h = a.height + u + e.padding, + f, + { cssStyles: d } = e; + if (e.look === 'handDrawn') { + let p = Jt.svg(i), + m = JSe(0, 0, s, h, l, u), + g = eAe(0, u, s, h, l, u), + y = p.path(m, Fr(e, {})), + v = p.path(g, Fr(e, { fill: 'none' })); + (f = i.insert(() => v, ':first-child')), + (f = i.insert(() => y, ':first-child')), + f.attr('class', 'basic label-container'), + d && f.attr('style', d); + } else { + let p = ZSe(0, 0, s, h, l, u); + f = i + .insert('path', ':first-child') + .attr('d', p) + .attr('class', 'basic label-container') + .attr('style', d) + .attr('style', n); + } + return ( + f.attr('label-offset-y', u), + f.attr('transform', `translate(${-s / 2}, ${-(h / 2 + u)})`), + ar(e, f), + (e.intersect = function (p) { + let m = sr.rect(e, p), + g = m.x - (e.x ?? 0); + if ( + l != 0 && + (Math.abs(g) < (e.width ?? 0) / 2 || + (Math.abs(g) == (e.width ?? 0) / 2 && + Math.abs(m.y - (e.y ?? 0)) > (e.height ?? 0) / 2 - u)) + ) { + let y = u * u * (1 - (g * g) / (l * l)); + y > 0 && (y = Math.sqrt(y)), (y = u - y), p.y - (e.y ?? 0) > 0 && (y = -y), (m.y += y); + } + return m; + }), + i + ); + }, 'cylinder')); + }); + var $K, + VK = R(() => { + 'use strict'; + ut(); + ri(); + hi(); + ki(); + ti(); + $K = o(async (t, e) => { + let { labelStyles: r, nodeStyles: n } = Br(e); + e.labelStyle = r; + let { shapeSvg: i, bbox: a, halfPadding: s } = await zr(t, e, En(e)), + l = a.width / 2 + s, + u, + { cssStyles: h } = e; + if (e.look === 'handDrawn') { + let f = Jt.svg(i), + d = Fr(e, {}), + p = f.circle(0, 0, l * 2, d); + (u = i.insert(() => p, ':first-child')), u.attr('class', 'basic label-container').attr('style', h); + } else + u = i + .insert('circle', ':first-child') + .attr('class', 'basic label-container') + .attr('style', n) + .attr('r', l) + .attr('cx', 0) + .attr('cy', 0); + return ( + ar(e, u), + (e.intersect = function (f) { + return V.info('Circle intersect', e, l, f), sr.circle(e, l, f); + }), + i + ); + }, 'circle'); + }); + var UK, + HK = R(() => { + 'use strict'; + ut(); + ri(); + hi(); + ki(); + ti(); + UK = o(async (t, e) => { + let { labelStyles: r, nodeStyles: n } = Br(e); + e.labelStyle = r; + let { shapeSvg: i, bbox: a, halfPadding: s } = await zr(t, e, En(e)), + u = a.width / 2 + s + 5, + h = a.width / 2 + s, + f, + { cssStyles: d } = e; + if (e.look === 'handDrawn') { + let p = Jt.svg(i), + m = Fr(e, { roughness: 0.2, strokeWidth: 2.5 }), + g = Fr(e, { roughness: 0.2, strokeWidth: 1.5 }), + y = p.circle(0, 0, u * 2, m), + v = p.circle(0, 0, h * 2, g); + (f = i.insert('g', ':first-child')), + f.attr('class', e.cssClasses).attr('style', d), + f.node()?.appendChild(y), + f.node()?.appendChild(v); + } else { + f = i.insert('g', ':first-child'); + let p = f.insert('circle', ':first-child'), + m = f.insert('circle'); + f.attr('class', 'basic label-container').attr('style', n), + p.attr('class', 'outer-circle').attr('style', n).attr('r', u).attr('cx', 0).attr('cy', 0), + m.attr('class', 'inner-circle').attr('style', n).attr('r', h).attr('cx', 0).attr('cy', 0); + } + return ( + ar(e, f), + (e.intersect = function (p) { + return V.info('DoubleCircle intersect', e, u, p), sr.circle(e, u, p); + }), + i + ); + }, 'doublecircle'); + }); + var tAe, + YK, + WK = R(() => { + 'use strict'; + ri(); + hi(); + ki(); + ti(); + Du(); + (tAe = o( + (t, e, r, n) => + [ + `M${t - n / 2},${e}`, + `L${t + r},${e}`, + `L${t + r},${e - n}`, + `L${t - n / 2},${e - n}`, + `L${t},${e - n / 2}`, + 'Z' + ].join(' '), + 'createPolygonPathD' + )), + (YK = o(async (t, e) => { + let { labelStyles: r, nodeStyles: n } = Br(e); + e.labelStyle = r; + let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)), + s = a.width + e.padding, + l = a.height + e.padding, + u = [ + { x: -l / 2, y: 0 }, + { x: s, y: 0 }, + { x: s, y: -l }, + { x: -l / 2, y: -l }, + { x: 0, y: -l / 2 } + ], + h, + { cssStyles: f } = e; + if (e.look === 'handDrawn') { + let d = Jt.svg(i), + p = Fr(e, {}), + m = tAe(0, 0, s, l), + g = d.path(m, p); + (h = i.insert(() => g, ':first-child').attr('transform', `translate(${-s / 2}, ${l / 2})`)), + f && h.attr('style', f); + } else h = Ma(i, s, l, u); + return ( + n && h.attr('style', n), + (e.width = s + l), + (e.height = l), + ar(e, h), + (e.intersect = function (d) { + return sr.polygon(e, u, d); + }), + i + ); + }, 'rect_left_inv_arrow')); + }); + var rAe, + qK, + XK = R(() => { + 'use strict'; + ut(); + ri(); + hi(); + ki(); + ti(); + Du(); + (rAe = o( + (t, e, r) => + [ + `M${t + r / 2},${e}`, + `L${t + r},${e - r / 2}`, + `L${t + r / 2},${e - r}`, + `L${t},${e - r / 2}`, + 'Z' + ].join(' '), + 'createDecisionBoxPathD' + )), + (qK = o(async (t, e) => { + let { labelStyles: r, nodeStyles: n } = Br(e); + e.labelStyle = r; + let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)), + s = a.width + e.padding, + l = a.height + e.padding, + u = s + l, + h = [ + { x: u / 2, y: 0 }, + { x: u, y: -u / 2 }, + { x: u / 2, y: -u }, + { x: 0, y: -u / 2 } + ], + f, + { cssStyles: d } = e; + if (e.look === 'handDrawn') { + let p = Jt.svg(i), + m = Fr(e, {}), + g = rAe(0, 0, u), + y = p.path(g, m); + (f = i.insert(() => y, ':first-child').attr('transform', `translate(${-u / 2}, ${u / 2})`)), + d && f.attr('style', d); + } else f = Ma(i, u, u, h); + return ( + n && f.attr('style', n), + ar(e, f), + (e.intersect = function (p) { + return ( + V.debug( + `APA12 Intersect called SPLIT +point:`, + p, + ` +node: +`, + e, + ` +res:`, + sr.polygon(e, h, p) + ), + sr.polygon(e, h, p) + ); + }), + i + ); + }, 'question')); + }); + var nAe, + jK, + KK = R(() => { + 'use strict'; + ri(); + hi(); + ki(); + ti(); + Du(); + (nAe = o( + (t, e, r, n, i) => + [ + `M${t + i},${e}`, + `L${t + r - i},${e}`, + `L${t + r},${e - n / 2}`, + `L${t + r - i},${e - n}`, + `L${t + i},${e - n}`, + `L${t},${e - n / 2}`, + 'Z' + ].join(' '), + 'createHexagonPathD' + )), + (jK = o(async (t, e) => { + let { labelStyles: r, nodeStyles: n } = Br(e); + e.labelStyle = r; + let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)), + s = 4, + l = a.height + e.padding, + u = l / s, + h = a.width + 2 * u + e.padding, + f = [ + { x: u, y: 0 }, + { x: h - u, y: 0 }, + { x: h, y: -l / 2 }, + { x: h - u, y: -l }, + { x: u, y: -l }, + { x: 0, y: -l / 2 } + ], + d, + { cssStyles: p } = e; + if (e.look === 'handDrawn') { + let m = Jt.svg(i), + g = Fr(e, {}), + y = nAe(0, 0, h, l, u), + v = m.path(y, g); + (d = i.insert(() => v, ':first-child').attr('transform', `translate(${-h / 2}, ${l / 2})`)), + p && d.attr('style', p); + } else d = Ma(i, h, l, f); + return ( + n && d.attr('style', n), + (e.width = h), + (e.height = l), + ar(e, d), + (e.intersect = function (m) { + return sr.polygon(e, f, m); + }), + i + ); + }, 'hexagon')); + }); + var iAe, + QK, + ZK = R(() => { + 'use strict'; + ri(); + hi(); + ki(); + ti(); + Du(); + (iAe = o( + (t, e, r, n) => + [ + `M${t - (2 * n) / 6},${e}`, + `L${t + r - n / 6},${e}`, + `L${t + r + (2 * n) / 6},${e - n}`, + `L${t + n / 6},${e - n}`, + 'Z' + ].join(' '), + 'createLeanRightPathD' + )), + (QK = o(async (t, e) => { + let { labelStyles: r, nodeStyles: n } = Br(e); + e.labelStyle = r; + let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)), + s = a.width + e.padding, + l = a.height + e.padding, + u = [ + { x: (-2 * l) / 6, y: 0 }, + { x: s - l / 6, y: 0 }, + { x: s + (2 * l) / 6, y: -l }, + { x: l / 6, y: -l } + ], + h, + { cssStyles: f } = e; + if (e.look === 'handDrawn') { + let d = Jt.svg(i), + p = Fr(e, {}), + m = iAe(0, 0, s, l), + g = d.path(m, p); + (h = i.insert(() => g, ':first-child').attr('transform', `translate(${-s / 2}, ${l / 2})`)), + f && h.attr('style', f); + } else h = Ma(i, s, l, u); + return ( + n && h.attr('style', n), + (e.width = s), + (e.height = l), + ar(e, h), + (e.intersect = function (d) { + return sr.polygon(e, u, d); + }), + i + ); + }, 'lean_right')); + }); + var aAe, + JK, + eQ = R(() => { + 'use strict'; + ri(); + hi(); + ki(); + ti(); + Du(); + (aAe = o( + (t, e, r, n) => + [ + `M${t + (2 * n) / 6},${e}`, + `L${t + r + n / 6},${e}`, + `L${t + r - (2 * n) / 6},${e - n}`, + `L${t - n / 6},${e - n}`, + 'Z' + ].join(' '), + 'createLeanLeftPathD' + )), + (JK = o(async (t, e) => { + let { labelStyles: r, nodeStyles: n } = Br(e); + e.labelStyle = r; + let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)), + s = a.width + e.padding, + l = a.height + e.padding, + u = [ + { x: (2 * l) / 6, y: 0 }, + { x: s + l / 6, y: 0 }, + { x: s - (2 * l) / 6, y: -l }, + { x: -l / 6, y: -l } + ], + h, + { cssStyles: f } = e; + if (e.look === 'handDrawn') { + let d = Jt.svg(i), + p = Fr(e, {}), + m = aAe(0, 0, s, l), + g = d.path(m, p); + (h = i.insert(() => g, ':first-child').attr('transform', `translate(${-s / 2}, ${l / 2})`)), + f && h.attr('style', f); + } else h = Ma(i, s, l, u); + return ( + n && h.attr('style', n), + (e.width = s), + (e.height = l), + ar(e, h), + (e.intersect = function (d) { + return sr.polygon(e, u, d); + }), + i + ); + }, 'lean_left')); + }); + var sAe, + tQ, + rQ = R(() => { + 'use strict'; + ri(); + hi(); + ki(); + ti(); + Du(); + (sAe = o( + (t, e, r, n) => + [ + `M${t - (2 * n) / 6},${e}`, + `L${t + r + (2 * n) / 6},${e}`, + `L${t + r - n / 6},${e - n}`, + `L${t + n / 6},${e - n}`, + 'Z' + ].join(' '), + 'createTrapezoidPathD' + )), + (tQ = o(async (t, e) => { + let { labelStyles: r, nodeStyles: n } = Br(e); + e.labelStyle = r; + let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)), + s = a.width + e.padding, + l = a.height + e.padding, + u = [ + { x: (-2 * l) / 6, y: 0 }, + { x: s + (2 * l) / 6, y: 0 }, + { x: s - l / 6, y: -l }, + { x: l / 6, y: -l } + ], + h, + { cssStyles: f } = e; + if (e.look === 'handDrawn') { + let d = Jt.svg(i), + p = Fr(e, {}), + m = sAe(0, 0, s, l), + g = d.path(m, p); + (h = i.insert(() => g, ':first-child').attr('transform', `translate(${-s / 2}, ${l / 2})`)), + f && h.attr('style', f); + } else h = Ma(i, s, l, u); + return ( + n && h.attr('style', n), + (e.width = s), + (e.height = l), + ar(e, h), + (e.intersect = function (d) { + return sr.polygon(e, u, d); + }), + i + ); + }, 'trapezoid')); + }); + var oAe, + nQ, + iQ = R(() => { + 'use strict'; + ri(); + hi(); + ki(); + ti(); + Du(); + (oAe = o( + (t, e, r, n) => + [ + `M${t + n / 6},${e}`, + `L${t + r - n / 6},${e}`, + `L${t + r + (2 * n) / 6},${e - n}`, + `L${t - (2 * n) / 6},${e - n}`, + 'Z' + ].join(' '), + 'createInvertedTrapezoidPathD' + )), + (nQ = o(async (t, e) => { + let { labelStyles: r, nodeStyles: n } = Br(e); + e.labelStyle = r; + let { shapeSvg: i, bbox: a } = await zr(t, e, En(e)), + s = a.width + e.padding, + l = a.height + e.padding, + u = [ + { x: l / 6, y: 0 }, + { x: s - l / 6, y: 0 }, + { x: s + (2 * l) / 6, y: -l }, + { x: (-2 * l) / 6, y: -l } + ], + h, + { cssStyles: f } = e; + if (e.look === 'handDrawn') { + let d = Jt.svg(i), + p = Fr(e, {}), + m = oAe(0, 0, s, l), + g = d.path(m, p); + (h = i.insert(() => g, ':first-child').attr('transform', `translate(${-s / 2}, ${l / 2})`)), + f && h.attr('style', f); + } else h = Ma(i, s, l, u); + return ( + n && h.attr('style', n), + (e.width = s), + (e.height = l), + ar(e, h), + (e.intersect = function (d) { + return sr.polygon(e, u, d); + }), + i + ); + }, 'inv_trapezoid')); + }); + var aQ, + sQ = R(() => { + 'use strict'; + _v(); + ri(); + hi(); + aQ = o(async (t, e) => { + let { shapeSvg: r } = await zr(t, e, 'label'), + n = r.insert('rect', ':first-child'); + return ( + n.attr('width', 0.1).attr('height', 0.1), + r.attr('class', 'label edgeLabel'), + ar(e, n), + (e.intersect = function (s) { + return sr.rect(e, s); + }), + r + ); + }, 'labelRect'); + }); + var oQ, + ym, + rw, + lQ, + cQ, + eL, + tL = R(() => { + 'use strict'; + ut(); + xK(); + wK(); + kK(); + CK(); + AK(); + _K(); + DK(); + NK(); + IK(); + PK(); + _t(); + FK(); + GK(); + VK(); + HK(); + WK(); + XK(); + KK(); + ZK(); + eQ(); + rQ(); + iQ(); + sQ(); + (oQ = { + state: vK, + stateStart: EK, + stateEnd: SK, + fork: J9, + join: J9, + choice: LK, + note: RK, + roundedRect: bK, + rectWithTitle: OK, + squareRect: TK, + stadium: MK, + subroutine: BK, + cylinder: zK, + circle: $K, + doublecircle: UK, + odd: YK, + diamond: qK, + hexagon: jK, + lean_right: QK, + lean_left: JK, + trapezoid: tQ, + inv_trapezoid: nQ, + labelRect: aQ + }), + (ym = new Map()), + (rw = o(async (t, e, r) => { + let n, i; + if ( + (e.shape === 'rect' && (e.rx && e.ry ? (e.shape = 'roundedRect') : (e.shape = 'squareRect')), + e.link) + ) { + let a; + de().securityLevel === 'sandbox' + ? (a = '_top') + : e.linkTarget && (a = e.linkTarget || '_blank'), + (n = t.insert('svg:a').attr('xlink:href', e.link).attr('target', a)), + (i = await oQ[e.shape](n, e, r)); + } else (i = await oQ[e.shape](t, e, r)), (n = i); + return ( + e.tooltip && i.attr('title', e.tooltip), + ym.set(e.id, n), + e.haveCallback && ym.get(e.id).attr('class', ym.get(e.id).attr('class') + ' clickable'), + n + ); + }, 'insertNode')), + (lQ = o((t, e) => { + ym.set(e.id, t); + }, 'setNodeElem')), + (cQ = o(() => { + ym.clear(); + }, 'clear')), + (eL = o((t) => { + let e = ym.get(t.id); + V.trace( + 'Transforming node', + t.diff, + t, + 'translate(' + (t.x - t.width / 2 - 5) + ', ' + t.width / 2 + ')' + ); + let r = 8, + n = t.diff || 0; + return ( + t.clusterNode + ? e.attr( + 'transform', + 'translate(' + (t.x + n - t.width / 2) + ', ' + (t.y - t.height / 2 - r) + ')' + ) + : e.attr('transform', 'translate(' + t.x + ', ' + t.y + ')'), + n + ); + }, 'positionNode')); + }); + var uQ, + hQ = R(() => { + 'use strict'; + qs(); + rr(); + ut(); + X9(); + K9(); + Q9(); + tL(); + ri(); + xr(); + uQ = { + common: We, + getConfig: Or, + insertCluster: Y5, + insertEdge: J5, + insertEdgeLabel: Q5, + insertMarkers: ew, + insertNode: rw, + interpolateToCurve: om, + labelHelper: zr, + log: V, + positionEdgeLabel: Z5 + }; + }); + function cAe(t) { + return typeof t == 'symbol' || (Wn(t) && fa(t) == lAe); + } + var lAe, + so, + Nd = R(() => { + 'use strict'; + wu(); + Mo(); + lAe = '[object Symbol]'; + o(cAe, 'isSymbol'); + so = cAe; + }); + function uAe(t, e) { + for (var r = -1, n = t == null ? 0 : t.length, i = Array(n); ++r < n; ) i[r] = e(t[r], r, t); + return i; + } + var Ss, + Md = R(() => { + 'use strict'; + o(uAe, 'arrayMap'); + Ss = uAe; + }); + function pQ(t) { + if (typeof t == 'string') return t; + if (wt(t)) return Ss(t, pQ) + ''; + if (so(t)) return dQ ? dQ.call(t) : ''; + var e = t + ''; + return e == '0' && 1 / t == -hAe ? '-0' : e; + } + var hAe, + fQ, + dQ, + mQ, + gQ = R(() => { + 'use strict'; + vd(); + Md(); + Bn(); + Nd(); + (hAe = 1 / 0), (fQ = Ji ? Ji.prototype : void 0), (dQ = fQ ? fQ.toString : void 0); + o(pQ, 'baseToString'); + mQ = pQ; + }); + function dAe(t) { + for (var e = t.length; e-- && fAe.test(t.charAt(e)); ); + return e; + } + var fAe, + yQ, + vQ = R(() => { + 'use strict'; + fAe = /\s/; + o(dAe, 'trimmedEndIndex'); + yQ = dAe; + }); + function mAe(t) { + return t && t.slice(0, yQ(t) + 1).replace(pAe, ''); + } + var pAe, + xQ, + bQ = R(() => { + 'use strict'; + vQ(); + pAe = /^\s+/; + o(mAe, 'baseTrim'); + xQ = mAe; + }); + function bAe(t) { + if (typeof t == 'number') return t; + if (so(t)) return wQ; + if (pn(t)) { + var e = typeof t.valueOf == 'function' ? t.valueOf() : t; + t = pn(e) ? e + '' : e; + } + if (typeof t != 'string') return t === 0 ? t : +t; + t = xQ(t); + var r = yAe.test(t); + return r || vAe.test(t) ? xAe(t.slice(2), r ? 2 : 8) : gAe.test(t) ? wQ : +t; + } + var wQ, + gAe, + yAe, + vAe, + xAe, + TQ, + kQ = R(() => { + 'use strict'; + bQ(); + Js(); + Nd(); + (wQ = NaN), (gAe = /^[-+]0x[0-9a-f]+$/i), (yAe = /^0b[01]+$/i), (vAe = /^0o[0-7]+$/i), (xAe = parseInt); + o(bAe, 'toNumber'); + TQ = bAe; + }); + function TAe(t) { + if (!t) return t === 0 ? t : 0; + if (((t = TQ(t)), t === EQ || t === -EQ)) { + var e = t < 0 ? -1 : 1; + return e * wAe; + } + return t === t ? t : 0; + } + var EQ, + wAe, + vm, + rL = R(() => { + 'use strict'; + kQ(); + (EQ = 1 / 0), (wAe = 17976931348623157e292); + o(TAe, 'toFinite'); + vm = TAe; + }); + function kAe(t) { + var e = vm(t), + r = e % 1; + return e === e ? (r ? e - r : e) : 0; + } + var yc, + xm = R(() => { + 'use strict'; + rL(); + o(kAe, 'toInteger'); + yc = kAe; + }); + var EAe, + nw, + CQ = R(() => { + 'use strict'; + Nh(); + Ro(); + (EAe = xs(Jn, 'WeakMap')), (nw = EAe); + }); + function CAe() {} + var qn, + nL = R(() => { + 'use strict'; + o(CAe, 'noop'); + qn = CAe; + }); + function SAe(t, e) { + for (var r = -1, n = t == null ? 0 : t.length; ++r < n && e(t[r], r, t) !== !1; ); + return t; + } + var iw, + iL = R(() => { + 'use strict'; + o(SAe, 'arrayEach'); + iw = SAe; + }); + function AAe(t, e, r, n) { + for (var i = t.length, a = r + (n ? 1 : -1); n ? a-- : ++a < i; ) if (e(t[a], a, t)) return a; + return -1; + } + var aw, + aL = R(() => { + 'use strict'; + o(AAe, 'baseFindIndex'); + aw = AAe; + }); + function _Ae(t) { + return t !== t; + } + var SQ, + AQ = R(() => { + 'use strict'; + o(_Ae, 'baseIsNaN'); + SQ = _Ae; + }); + function LAe(t, e, r) { + for (var n = r - 1, i = t.length; ++n < i; ) if (t[n] === e) return n; + return -1; + } + var _Q, + LQ = R(() => { + 'use strict'; + o(LAe, 'strictIndexOf'); + _Q = LAe; + }); + function DAe(t, e, r) { + return e === e ? _Q(t, e, r) : aw(t, SQ, r); + } + var bm, + sw = R(() => { + 'use strict'; + aL(); + AQ(); + LQ(); + o(DAe, 'baseIndexOf'); + bm = DAe; + }); + function RAe(t, e) { + var r = t == null ? 0 : t.length; + return !!r && bm(t, e, 0) > -1; + } + var ow, + sL = R(() => { + 'use strict'; + sw(); + o(RAe, 'arrayIncludes'); + ow = RAe; + }); + var NAe, + DQ, + RQ = R(() => { + 'use strict'; + F_(); + (NAe = s5(Object.keys, Object)), (DQ = NAe); + }); + function OAe(t) { + if (!fc(t)) return DQ(t); + var e = []; + for (var r in Object(t)) IAe.call(t, r) && r != 'constructor' && e.push(r); + return e; + } + var MAe, + IAe, + wm, + lw = R(() => { + 'use strict'; + tm(); + RQ(); + (MAe = Object.prototype), (IAe = MAe.hasOwnProperty); + o(OAe, 'baseKeys'); + wm = OAe; + }); + function PAe(t) { + return ei(t) ? h5(t) : wm(t); + } + var Dr, + vc = R(() => { + 'use strict'; + U_(); + lw(); + Io(); + o(PAe, 'keys'); + Dr = PAe; + }); + var BAe, + FAe, + zAe, + pa, + NQ = R(() => { + 'use strict'; + am(); + kd(); + q_(); + Io(); + tm(); + vc(); + (BAe = Object.prototype), + (FAe = BAe.hasOwnProperty), + (zAe = p5(function (t, e) { + if (fc(e) || ei(e)) { + Bo(e, Dr(e), t); + return; + } + for (var r in e) FAe.call(e, r) && dc(t, r, e[r]); + })), + (pa = zAe); + }); + function VAe(t, e) { + if (wt(t)) return !1; + var r = typeof t; + return r == 'number' || r == 'symbol' || r == 'boolean' || t == null || so(t) + ? !0 + : $Ae.test(t) || !GAe.test(t) || (e != null && t in Object(e)); + } + var GAe, + $Ae, + Tm, + cw = R(() => { + 'use strict'; + Bn(); + Nd(); + (GAe = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/), ($Ae = /^\w*$/); + o(VAe, 'isKey'); + Tm = VAe; + }); + function HAe(t) { + var e = qp(t, function (n) { + return r.size === UAe && r.clear(), n; + }), + r = e.cache; + return e; + } + var UAe, + MQ, + IQ = R(() => { + 'use strict'; + R_(); + UAe = 500; + o(HAe, 'memoizeCapped'); + MQ = HAe; + }); + var YAe, + WAe, + qAe, + OQ, + PQ = R(() => { + 'use strict'; + IQ(); + (YAe = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g), + (WAe = /\\(\\)?/g), + (qAe = MQ(function (t) { + var e = []; + return ( + t.charCodeAt(0) === 46 && e.push(''), + t.replace(YAe, function (r, n, i, a) { + e.push(i ? a.replace(WAe, '$1') : n || r); + }), + e + ); + })), + (OQ = qAe); + }); + function XAe(t) { + return t == null ? '' : mQ(t); + } + var uw, + oL = R(() => { + 'use strict'; + gQ(); + o(XAe, 'toString'); + uw = XAe; + }); + function jAe(t, e) { + return wt(t) ? t : Tm(t, e) ? [t] : OQ(uw(t)); + } + var Hh, + Lv = R(() => { + 'use strict'; + Bn(); + cw(); + PQ(); + oL(); + o(jAe, 'castPath'); + Hh = jAe; + }); + function QAe(t) { + if (typeof t == 'string' || so(t)) return t; + var e = t + ''; + return e == '0' && 1 / t == -KAe ? '-0' : e; + } + var KAe, + xc, + km = R(() => { + 'use strict'; + Nd(); + KAe = 1 / 0; + o(QAe, 'toKey'); + xc = QAe; + }); + function ZAe(t, e) { + e = Hh(e, t); + for (var r = 0, n = e.length; t != null && r < n; ) t = t[xc(e[r++])]; + return r && r == n ? t : void 0; + } + var Yh, + Dv = R(() => { + 'use strict'; + Lv(); + km(); + o(ZAe, 'baseGet'); + Yh = ZAe; + }); + function JAe(t, e, r) { + var n = t == null ? void 0 : Yh(t, e); + return n === void 0 ? r : n; + } + var BQ, + FQ = R(() => { + 'use strict'; + Dv(); + o(JAe, 'get'); + BQ = JAe; + }); + function e8e(t, e) { + for (var r = -1, n = e.length, i = t.length; ++r < n; ) t[i + r] = e[r]; + return t; + } + var Em, + hw = R(() => { + 'use strict'; + o(e8e, 'arrayPush'); + Em = e8e; + }); + function t8e(t) { + return wt(t) || kl(t) || !!(zQ && t && t[zQ]); + } + var zQ, + GQ, + $Q = R(() => { + 'use strict'; + vd(); + rm(); + Bn(); + zQ = Ji ? Ji.isConcatSpreadable : void 0; + o(t8e, 'isFlattenable'); + GQ = t8e; + }); + function VQ(t, e, r, n, i) { + var a = -1, + s = t.length; + for (r || (r = GQ), i || (i = []); ++a < s; ) { + var l = t[a]; + e > 0 && r(l) ? (e > 1 ? VQ(l, e - 1, r, n, i) : Em(i, l)) : n || (i[i.length] = l); + } + return i; + } + var bc, + Cm = R(() => { + 'use strict'; + hw(); + $Q(); + o(VQ, 'baseFlatten'); + bc = VQ; + }); + function r8e(t) { + var e = t == null ? 0 : t.length; + return e ? bc(t, 1) : []; + } + var Gr, + fw = R(() => { + 'use strict'; + Cm(); + o(r8e, 'flatten'); + Gr = r8e; + }); + function n8e(t) { + return d5(f5(t, void 0, Gr), t + ''); + } + var UQ, + HQ = R(() => { + 'use strict'; + fw(); + H_(); + W_(); + o(n8e, 'flatRest'); + UQ = n8e; + }); + function i8e(t, e, r) { + var n = -1, + i = t.length; + e < 0 && (e = -e > i ? 0 : i + e), + (r = r > i ? i : r), + r < 0 && (r += i), + (i = e > r ? 0 : (r - e) >>> 0), + (e >>>= 0); + for (var a = Array(i); ++n < i; ) a[n] = t[n + e]; + return a; + } + var dw, + lL = R(() => { + 'use strict'; + o(i8e, 'baseSlice'); + dw = i8e; + }); + function d8e(t) { + return f8e.test(t); + } + var a8e, + s8e, + o8e, + l8e, + c8e, + u8e, + h8e, + f8e, + YQ, + WQ = R(() => { + 'use strict'; + (a8e = '\\ud800-\\udfff'), + (s8e = '\\u0300-\\u036f'), + (o8e = '\\ufe20-\\ufe2f'), + (l8e = '\\u20d0-\\u20ff'), + (c8e = s8e + o8e + l8e), + (u8e = '\\ufe0e\\ufe0f'), + (h8e = '\\u200d'), + (f8e = RegExp('[' + h8e + a8e + c8e + u8e + ']')); + o(d8e, 'hasUnicode'); + YQ = d8e; + }); + function p8e(t, e, r, n) { + var i = -1, + a = t == null ? 0 : t.length; + for (n && a && (r = t[++i]); ++i < a; ) r = e(r, t[i], i, t); + return r; + } + var qQ, + XQ = R(() => { + 'use strict'; + o(p8e, 'arrayReduce'); + qQ = p8e; + }); + function m8e(t, e) { + return t && Bo(e, Dr(e), t); + } + var jQ, + KQ = R(() => { + 'use strict'; + kd(); + vc(); + o(m8e, 'baseAssign'); + jQ = m8e; + }); + function g8e(t, e) { + return t && Bo(e, bs(e), t); + } + var QQ, + ZQ = R(() => { + 'use strict'; + kd(); + zh(); + o(g8e, 'baseAssignIn'); + QQ = g8e; + }); + function y8e(t, e) { + for (var r = -1, n = t == null ? 0 : t.length, i = 0, a = []; ++r < n; ) { + var s = t[r]; + e(s, r, t) && (a[i++] = s); + } + return a; + } + var Sm, + pw = R(() => { + 'use strict'; + o(y8e, 'arrayFilter'); + Sm = y8e; + }); + function v8e() { + return []; + } + var mw, + cL = R(() => { + 'use strict'; + o(v8e, 'stubArray'); + mw = v8e; + }); + var x8e, + b8e, + JQ, + w8e, + Am, + gw = R(() => { + 'use strict'; + pw(); + cL(); + (x8e = Object.prototype), + (b8e = x8e.propertyIsEnumerable), + (JQ = Object.getOwnPropertySymbols), + (w8e = JQ + ? function (t) { + return t == null + ? [] + : ((t = Object(t)), + Sm(JQ(t), function (e) { + return b8e.call(t, e); + })); + } + : mw), + (Am = w8e); + }); + function T8e(t, e) { + return Bo(t, Am(t), e); + } + var eZ, + tZ = R(() => { + 'use strict'; + kd(); + gw(); + o(T8e, 'copySymbols'); + eZ = T8e; + }); + var k8e, + E8e, + yw, + uL = R(() => { + 'use strict'; + hw(); + o5(); + gw(); + cL(); + (k8e = Object.getOwnPropertySymbols), + (E8e = k8e + ? function (t) { + for (var e = []; t; ) Em(e, Am(t)), (t = em(t)); + return e; + } + : mw), + (yw = E8e); + }); + function C8e(t, e) { + return Bo(t, yw(t), e); + } + var rZ, + nZ = R(() => { + 'use strict'; + kd(); + uL(); + o(C8e, 'copySymbolsIn'); + rZ = C8e; + }); + function S8e(t, e, r) { + var n = e(t); + return wt(t) ? n : Em(n, r(t)); + } + var vw, + hL = R(() => { + 'use strict'; + hw(); + Bn(); + o(S8e, 'baseGetAllKeys'); + vw = S8e; + }); + function A8e(t) { + return vw(t, Dr, Am); + } + var Rv, + fL = R(() => { + 'use strict'; + hL(); + gw(); + vc(); + o(A8e, 'getAllKeys'); + Rv = A8e; + }); + function _8e(t) { + return vw(t, bs, yw); + } + var xw, + dL = R(() => { + 'use strict'; + hL(); + uL(); + zh(); + o(_8e, 'getAllKeysIn'); + xw = _8e; + }); + var L8e, + bw, + iZ = R(() => { + 'use strict'; + Nh(); + Ro(); + (L8e = xs(Jn, 'DataView')), (bw = L8e); + }); + var D8e, + ww, + aZ = R(() => { + 'use strict'; + Nh(); + Ro(); + (D8e = xs(Jn, 'Promise')), (ww = D8e); + }); + var R8e, + Wh, + pL = R(() => { + 'use strict'; + Nh(); + Ro(); + (R8e = xs(Jn, 'Set')), (Wh = R8e); + }); + var sZ, + N8e, + oZ, + lZ, + cZ, + uZ, + M8e, + I8e, + O8e, + P8e, + B8e, + Id, + oo, + Od = R(() => { + 'use strict'; + iZ(); + J3(); + aZ(); + pL(); + CQ(); + wu(); + __(); + (sZ = '[object Map]'), + (N8e = '[object Object]'), + (oZ = '[object Promise]'), + (lZ = '[object Set]'), + (cZ = '[object WeakMap]'), + (uZ = '[object DataView]'), + (M8e = Tu(bw)), + (I8e = Tu(Oh)), + (O8e = Tu(ww)), + (P8e = Tu(Wh)), + (B8e = Tu(nw)), + (Id = fa); + ((bw && Id(new bw(new ArrayBuffer(1))) != uZ) || + (Oh && Id(new Oh()) != sZ) || + (ww && Id(ww.resolve()) != oZ) || + (Wh && Id(new Wh()) != lZ) || + (nw && Id(new nw()) != cZ)) && + (Id = o(function (t) { + var e = fa(t), + r = e == N8e ? t.constructor : void 0, + n = r ? Tu(r) : ''; + if (n) + switch (n) { + case M8e: + return uZ; + case I8e: + return sZ; + case O8e: + return oZ; + case P8e: + return lZ; + case B8e: + return cZ; + } + return e; + }, 'getTag')); + oo = Id; + }); + function G8e(t) { + var e = t.length, + r = new t.constructor(e); + return e && typeof t[0] == 'string' && z8e.call(t, 'index') && ((r.index = t.index), (r.input = t.input)), r; + } + var F8e, + z8e, + hZ, + fZ = R(() => { + 'use strict'; + (F8e = Object.prototype), (z8e = F8e.hasOwnProperty); + o(G8e, 'initCloneArray'); + hZ = G8e; + }); + function $8e(t, e) { + var r = e ? Jp(t.buffer) : t.buffer; + return new t.constructor(r, t.byteOffset, t.byteLength); + } + var dZ, + pZ = R(() => { + 'use strict'; + n5(); + o($8e, 'cloneDataView'); + dZ = $8e; + }); + function U8e(t) { + var e = new t.constructor(t.source, V8e.exec(t)); + return (e.lastIndex = t.lastIndex), e; + } + var V8e, + mZ, + gZ = R(() => { + 'use strict'; + V8e = /\w*$/; + o(U8e, 'cloneRegExp'); + mZ = U8e; + }); + function H8e(t) { + return vZ ? Object(vZ.call(t)) : {}; + } + var yZ, + vZ, + xZ, + bZ = R(() => { + 'use strict'; + vd(); + (yZ = Ji ? Ji.prototype : void 0), (vZ = yZ ? yZ.valueOf : void 0); + o(H8e, 'cloneSymbol'); + xZ = H8e; + }); + function u_e(t, e, r) { + var n = t.constructor; + switch (e) { + case J8e: + return Jp(t); + case Y8e: + case W8e: + return new n(+t); + case e_e: + return dZ(t, r); + case t_e: + case r_e: + case n_e: + case i_e: + case a_e: + case s_e: + case o_e: + case l_e: + case c_e: + return i5(t, r); + case q8e: + return new n(); + case X8e: + case Q8e: + return new n(t); + case j8e: + return mZ(t); + case K8e: + return new n(); + case Z8e: + return xZ(t); + } + } + var Y8e, + W8e, + q8e, + X8e, + j8e, + K8e, + Q8e, + Z8e, + J8e, + e_e, + t_e, + r_e, + n_e, + i_e, + a_e, + s_e, + o_e, + l_e, + c_e, + wZ, + TZ = R(() => { + 'use strict'; + n5(); + pZ(); + gZ(); + bZ(); + P_(); + (Y8e = '[object Boolean]'), + (W8e = '[object Date]'), + (q8e = '[object Map]'), + (X8e = '[object Number]'), + (j8e = '[object RegExp]'), + (K8e = '[object Set]'), + (Q8e = '[object String]'), + (Z8e = '[object Symbol]'), + (J8e = '[object ArrayBuffer]'), + (e_e = '[object DataView]'), + (t_e = '[object Float32Array]'), + (r_e = '[object Float64Array]'), + (n_e = '[object Int8Array]'), + (i_e = '[object Int16Array]'), + (a_e = '[object Int32Array]'), + (s_e = '[object Uint8Array]'), + (o_e = '[object Uint8ClampedArray]'), + (l_e = '[object Uint16Array]'), + (c_e = '[object Uint32Array]'); + o(u_e, 'initCloneByTag'); + wZ = u_e; + }); + function f_e(t) { + return Wn(t) && oo(t) == h_e; + } + var h_e, + kZ, + EZ = R(() => { + 'use strict'; + Od(); + Mo(); + h_e = '[object Map]'; + o(f_e, 'baseIsMap'); + kZ = f_e; + }); + var CZ, + d_e, + SZ, + AZ = R(() => { + 'use strict'; + EZ(); + Td(); + ov(); + (CZ = Po && Po.isMap), (d_e = CZ ? Oo(CZ) : kZ), (SZ = d_e); + }); + function m_e(t) { + return Wn(t) && oo(t) == p_e; + } + var p_e, + _Z, + LZ = R(() => { + 'use strict'; + Od(); + Mo(); + p_e = '[object Set]'; + o(m_e, 'baseIsSet'); + _Z = m_e; + }); + var DZ, + g_e, + RZ, + NZ = R(() => { + 'use strict'; + LZ(); + Td(); + ov(); + (DZ = Po && Po.isSet), (g_e = DZ ? Oo(DZ) : _Z), (RZ = g_e); + }); + function Tw(t, e, r, n, i, a) { + var s, + l = e & y_e, + u = e & v_e, + h = e & x_e; + if ((r && (s = i ? r(t, n, i, a) : r(t)), s !== void 0)) return s; + if (!pn(t)) return t; + var f = wt(t); + if (f) { + if (((s = hZ(t)), !l)) return a5(t, s); + } else { + var d = oo(t), + p = d == IZ || d == E_e; + if (El(t)) return r5(t, l); + if (d == OZ || d == MZ || (p && !i)) { + if (((s = u || p ? {} : l5(t)), !l)) return u ? rZ(t, QQ(s, t)) : eZ(t, jQ(s, t)); + } else { + if (!Cn[d]) return i ? t : {}; + s = wZ(t, d, l); + } + } + a || (a = new uc()); + var m = a.get(t); + if (m) return m; + a.set(t, s), + RZ(t) + ? t.forEach(function (v) { + s.add(Tw(v, e, r, v, t, a)); + }) + : SZ(t) && + t.forEach(function (v, x) { + s.set(x, Tw(v, e, r, x, t, a)); + }); + var g = h ? (u ? xw : Rv) : u ? bs : Dr, + y = f ? void 0 : g(t); + return ( + iw(y || t, function (v, x) { + y && ((x = v), (v = t[x])), dc(s, x, Tw(v, e, r, x, t, a)); + }), + s + ); + } + var y_e, + v_e, + x_e, + MZ, + b_e, + w_e, + T_e, + k_e, + IZ, + E_e, + C_e, + S_e, + OZ, + A_e, + __e, + L_e, + D_e, + R_e, + N_e, + M_e, + I_e, + O_e, + P_e, + B_e, + F_e, + z_e, + G_e, + $_e, + V_e, + Cn, + kw, + mL = R(() => { + 'use strict'; + iv(); + iL(); + am(); + KQ(); + ZQ(); + I_(); + B_(); + tZ(); + nZ(); + fL(); + dL(); + Od(); + fZ(); + TZ(); + z_(); + Bn(); + im(); + AZ(); + Js(); + NZ(); + vc(); + zh(); + (y_e = 1), + (v_e = 2), + (x_e = 4), + (MZ = '[object Arguments]'), + (b_e = '[object Array]'), + (w_e = '[object Boolean]'), + (T_e = '[object Date]'), + (k_e = '[object Error]'), + (IZ = '[object Function]'), + (E_e = '[object GeneratorFunction]'), + (C_e = '[object Map]'), + (S_e = '[object Number]'), + (OZ = '[object Object]'), + (A_e = '[object RegExp]'), + (__e = '[object Set]'), + (L_e = '[object String]'), + (D_e = '[object Symbol]'), + (R_e = '[object WeakMap]'), + (N_e = '[object ArrayBuffer]'), + (M_e = '[object DataView]'), + (I_e = '[object Float32Array]'), + (O_e = '[object Float64Array]'), + (P_e = '[object Int8Array]'), + (B_e = '[object Int16Array]'), + (F_e = '[object Int32Array]'), + (z_e = '[object Uint8Array]'), + (G_e = '[object Uint8ClampedArray]'), + ($_e = '[object Uint16Array]'), + (V_e = '[object Uint32Array]'), + (Cn = {}); + Cn[MZ] = + Cn[b_e] = + Cn[N_e] = + Cn[M_e] = + Cn[w_e] = + Cn[T_e] = + Cn[I_e] = + Cn[O_e] = + Cn[P_e] = + Cn[B_e] = + Cn[F_e] = + Cn[C_e] = + Cn[S_e] = + Cn[OZ] = + Cn[A_e] = + Cn[__e] = + Cn[L_e] = + Cn[D_e] = + Cn[z_e] = + Cn[G_e] = + Cn[$_e] = + Cn[V_e] = + !0; + Cn[k_e] = Cn[IZ] = Cn[R_e] = !1; + o(Tw, 'baseClone'); + kw = Tw; + }); + function H_e(t) { + return kw(t, U_e); + } + var U_e, + Qr, + gL = R(() => { + 'use strict'; + mL(); + U_e = 4; + o(H_e, 'clone'); + Qr = H_e; + }); + function q_e(t) { + return kw(t, Y_e | W_e); + } + var Y_e, + W_e, + yL, + PZ = R(() => { + 'use strict'; + mL(); + (Y_e = 1), (W_e = 4); + o(q_e, 'cloneDeep'); + yL = q_e; + }); + function X_e(t) { + for (var e = -1, r = t == null ? 0 : t.length, n = 0, i = []; ++e < r; ) { + var a = t[e]; + a && (i[n++] = a); + } + return i; + } + var wc, + BZ = R(() => { + 'use strict'; + o(X_e, 'compact'); + wc = X_e; + }); + function K_e(t) { + return this.__data__.set(t, j_e), this; + } + var j_e, + FZ, + zZ = R(() => { + 'use strict'; + j_e = '__lodash_hash_undefined__'; + o(K_e, 'setCacheAdd'); + FZ = K_e; + }); + function Q_e(t) { + return this.__data__.has(t); + } + var GZ, + $Z = R(() => { + 'use strict'; + o(Q_e, 'setCacheHas'); + GZ = Q_e; + }); + function Ew(t) { + var e = -1, + r = t == null ? 0 : t.length; + for (this.__data__ = new bd(); ++e < r; ) this.add(t[e]); + } + var _m, + Cw = R(() => { + 'use strict'; + e5(); + zZ(); + $Z(); + o(Ew, 'SetCache'); + Ew.prototype.add = Ew.prototype.push = FZ; + Ew.prototype.has = GZ; + _m = Ew; + }); + function Z_e(t, e) { + for (var r = -1, n = t == null ? 0 : t.length; ++r < n; ) if (e(t[r], r, t)) return !0; + return !1; + } + var Sw, + vL = R(() => { + 'use strict'; + o(Z_e, 'arraySome'); + Sw = Z_e; + }); + function J_e(t, e) { + return t.has(e); + } + var Lm, + Aw = R(() => { + 'use strict'; + o(J_e, 'cacheHas'); + Lm = J_e; + }); + function r9e(t, e, r, n, i, a) { + var s = r & e9e, + l = t.length, + u = e.length; + if (l != u && !(s && u > l)) return !1; + var h = a.get(t), + f = a.get(e); + if (h && f) return h == e && f == t; + var d = -1, + p = !0, + m = r & t9e ? new _m() : void 0; + for (a.set(t, e), a.set(e, t); ++d < l; ) { + var g = t[d], + y = e[d]; + if (n) var v = s ? n(y, g, d, e, t, a) : n(g, y, d, t, e, a); + if (v !== void 0) { + if (v) continue; + p = !1; + break; + } + if (m) { + if ( + !Sw(e, function (x, b) { + if (!Lm(m, b) && (g === x || i(g, x, r, n, a))) return m.push(b); + }) + ) { + p = !1; + break; + } + } else if (!(g === y || i(g, y, r, n, a))) { + p = !1; + break; + } + } + return a.delete(t), a.delete(e), p; + } + var e9e, + t9e, + _w, + xL = R(() => { + 'use strict'; + Cw(); + vL(); + Aw(); + (e9e = 1), (t9e = 2); + o(r9e, 'equalArrays'); + _w = r9e; + }); + function n9e(t) { + var e = -1, + r = Array(t.size); + return ( + t.forEach(function (n, i) { + r[++e] = [i, n]; + }), + r + ); + } + var VZ, + UZ = R(() => { + 'use strict'; + o(n9e, 'mapToArray'); + VZ = n9e; + }); + function i9e(t) { + var e = -1, + r = Array(t.size); + return ( + t.forEach(function (n) { + r[++e] = n; + }), + r + ); + } + var Dm, + Lw = R(() => { + 'use strict'; + o(i9e, 'setToArray'); + Dm = i9e; + }); + function v9e(t, e, r, n, i, a, s) { + switch (r) { + case y9e: + if (t.byteLength != e.byteLength || t.byteOffset != e.byteOffset) return !1; + (t = t.buffer), (e = e.buffer); + case g9e: + return !(t.byteLength != e.byteLength || !a(new Zp(t), new Zp(e))); + case o9e: + case l9e: + case h9e: + return No(+t, +e); + case c9e: + return t.name == e.name && t.message == e.message; + case f9e: + case p9e: + return t == e + ''; + case u9e: + var l = VZ; + case d9e: + var u = n & a9e; + if ((l || (l = Dm), t.size != e.size && !u)) return !1; + var h = s.get(t); + if (h) return h == e; + (n |= s9e), s.set(t, e); + var f = _w(l(t), l(e), n, i, a, s); + return s.delete(t), f; + case m9e: + if (bL) return bL.call(t) == bL.call(e); + } + return !1; + } + var a9e, + s9e, + o9e, + l9e, + c9e, + u9e, + h9e, + f9e, + d9e, + p9e, + m9e, + g9e, + y9e, + HZ, + bL, + YZ, + WZ = R(() => { + 'use strict'; + vd(); + O_(); + xd(); + xL(); + UZ(); + Lw(); + (a9e = 1), + (s9e = 2), + (o9e = '[object Boolean]'), + (l9e = '[object Date]'), + (c9e = '[object Error]'), + (u9e = '[object Map]'), + (h9e = '[object Number]'), + (f9e = '[object RegExp]'), + (d9e = '[object Set]'), + (p9e = '[object String]'), + (m9e = '[object Symbol]'), + (g9e = '[object ArrayBuffer]'), + (y9e = '[object DataView]'), + (HZ = Ji ? Ji.prototype : void 0), + (bL = HZ ? HZ.valueOf : void 0); + o(v9e, 'equalByTag'); + YZ = v9e; + }); + function T9e(t, e, r, n, i, a) { + var s = r & x9e, + l = Rv(t), + u = l.length, + h = Rv(e), + f = h.length; + if (u != f && !s) return !1; + for (var d = u; d--; ) { + var p = l[d]; + if (!(s ? p in e : w9e.call(e, p))) return !1; + } + var m = a.get(t), + g = a.get(e); + if (m && g) return m == e && g == t; + var y = !0; + a.set(t, e), a.set(e, t); + for (var v = s; ++d < u; ) { + p = l[d]; + var x = t[p], + b = e[p]; + if (n) var w = s ? n(b, x, p, e, t, a) : n(x, b, p, t, e, a); + if (!(w === void 0 ? x === b || i(x, b, r, n, a) : w)) { + y = !1; + break; + } + v || (v = p == 'constructor'); + } + if (y && !v) { + var S = t.constructor, + T = e.constructor; + S != T && + 'constructor' in t && + 'constructor' in e && + !(typeof S == 'function' && S instanceof S && typeof T == 'function' && T instanceof T) && + (y = !1); + } + return a.delete(t), a.delete(e), y; + } + var x9e, + b9e, + w9e, + qZ, + XZ = R(() => { + 'use strict'; + fL(); + (x9e = 1), (b9e = Object.prototype), (w9e = b9e.hasOwnProperty); + o(T9e, 'equalObjects'); + qZ = T9e; + }); + function C9e(t, e, r, n, i, a) { + var s = wt(t), + l = wt(e), + u = s ? KZ : oo(t), + h = l ? KZ : oo(e); + (u = u == jZ ? Dw : u), (h = h == jZ ? Dw : h); + var f = u == Dw, + d = h == Dw, + p = u == h; + if (p && El(t)) { + if (!El(e)) return !1; + (s = !0), (f = !1); + } + if (p && !f) return a || (a = new uc()), s || Bh(t) ? _w(t, e, r, n, i, a) : YZ(t, e, u, r, n, i, a); + if (!(r & k9e)) { + var m = f && QZ.call(t, '__wrapped__'), + g = d && QZ.call(e, '__wrapped__'); + if (m || g) { + var y = m ? t.value() : t, + v = g ? e.value() : e; + return a || (a = new uc()), i(y, v, r, n, a); + } + } + return p ? (a || (a = new uc()), qZ(t, e, r, n, i, a)) : !1; + } + var k9e, + jZ, + KZ, + Dw, + E9e, + QZ, + ZZ, + JZ = R(() => { + 'use strict'; + iv(); + xL(); + WZ(); + XZ(); + Od(); + Bn(); + im(); + lv(); + (k9e = 1), + (jZ = '[object Arguments]'), + (KZ = '[object Array]'), + (Dw = '[object Object]'), + (E9e = Object.prototype), + (QZ = E9e.hasOwnProperty); + o(C9e, 'baseIsEqualDeep'); + ZZ = C9e; + }); + function eJ(t, e, r, n, i) { + return t === e ? !0 : t == null || e == null || (!Wn(t) && !Wn(e)) ? t !== t && e !== e : ZZ(t, e, r, n, eJ, i); + } + var Rw, + wL = R(() => { + 'use strict'; + JZ(); + Mo(); + o(eJ, 'baseIsEqual'); + Rw = eJ; + }); + function _9e(t, e, r, n) { + var i = r.length, + a = i, + s = !n; + if (t == null) return !a; + for (t = Object(t); i--; ) { + var l = r[i]; + if (s && l[2] ? l[1] !== t[l[0]] : !(l[0] in t)) return !1; + } + for (; ++i < a; ) { + l = r[i]; + var u = l[0], + h = t[u], + f = l[1]; + if (s && l[2]) { + if (h === void 0 && !(u in t)) return !1; + } else { + var d = new uc(); + if (n) var p = n(h, f, u, t, e, d); + if (!(p === void 0 ? Rw(f, h, S9e | A9e, n, d) : p)) return !1; + } + } + return !0; + } + var S9e, + A9e, + tJ, + rJ = R(() => { + 'use strict'; + iv(); + wL(); + (S9e = 1), (A9e = 2); + o(_9e, 'baseIsMatch'); + tJ = _9e; + }); + function L9e(t) { + return t === t && !pn(t); + } + var Nw, + TL = R(() => { + 'use strict'; + Js(); + o(L9e, 'isStrictComparable'); + Nw = L9e; + }); + function D9e(t) { + for (var e = Dr(t), r = e.length; r--; ) { + var n = e[r], + i = t[n]; + e[r] = [n, i, Nw(i)]; + } + return e; + } + var nJ, + iJ = R(() => { + 'use strict'; + TL(); + vc(); + o(D9e, 'getMatchData'); + nJ = D9e; + }); + function R9e(t, e) { + return function (r) { + return r == null ? !1 : r[t] === e && (e !== void 0 || t in Object(r)); + }; + } + var Mw, + kL = R(() => { + 'use strict'; + o(R9e, 'matchesStrictComparable'); + Mw = R9e; + }); + function N9e(t) { + var e = nJ(t); + return e.length == 1 && e[0][2] + ? Mw(e[0][0], e[0][1]) + : function (r) { + return r === t || tJ(r, t, e); + }; + } + var aJ, + sJ = R(() => { + 'use strict'; + rJ(); + iJ(); + kL(); + o(N9e, 'baseMatches'); + aJ = N9e; + }); + function M9e(t, e) { + return t != null && e in Object(t); + } + var oJ, + lJ = R(() => { + 'use strict'; + o(M9e, 'baseHasIn'); + oJ = M9e; + }); + function I9e(t, e, r) { + e = Hh(e, t); + for (var n = -1, i = e.length, a = !1; ++n < i; ) { + var s = xc(e[n]); + if (!(a = t != null && r(t, s))) break; + t = t[s]; + } + return a || ++n != i ? a : ((i = t == null ? 0 : t.length), !!i && nm(i) && Fh(s, i) && (wt(t) || kl(t))); + } + var Iw, + EL = R(() => { + 'use strict'; + Lv(); + rm(); + Bn(); + uv(); + c5(); + km(); + o(I9e, 'hasPath'); + Iw = I9e; + }); + function O9e(t, e) { + return t != null && Iw(t, e, oJ); + } + var Ow, + CL = R(() => { + 'use strict'; + lJ(); + EL(); + o(O9e, 'hasIn'); + Ow = O9e; + }); + function F9e(t, e) { + return Tm(t) && Nw(e) + ? Mw(xc(t), e) + : function (r) { + var n = BQ(r, t); + return n === void 0 && n === e ? Ow(r, t) : Rw(e, n, P9e | B9e); + }; + } + var P9e, + B9e, + cJ, + uJ = R(() => { + 'use strict'; + wL(); + FQ(); + CL(); + cw(); + TL(); + kL(); + km(); + (P9e = 1), (B9e = 2); + o(F9e, 'baseMatchesProperty'); + cJ = F9e; + }); + function z9e(t) { + return function (e) { + return e?.[t]; + }; + } + var Pw, + SL = R(() => { + 'use strict'; + o(z9e, 'baseProperty'); + Pw = z9e; + }); + function G9e(t) { + return function (e) { + return Yh(e, t); + }; + } + var hJ, + fJ = R(() => { + 'use strict'; + Dv(); + o(G9e, 'basePropertyDeep'); + hJ = G9e; + }); + function $9e(t) { + return Tm(t) ? Pw(xc(t)) : hJ(t); + } + var dJ, + pJ = R(() => { + 'use strict'; + SL(); + fJ(); + cw(); + km(); + o($9e, 'property'); + dJ = $9e; + }); + function V9e(t) { + return typeof t == 'function' + ? t + : t == null + ? ea + : typeof t == 'object' + ? wt(t) + ? cJ(t[0], t[1]) + : aJ(t) + : dJ(t); + } + var cn, + Qa = R(() => { + 'use strict'; + sJ(); + uJ(); + Eu(); + Bn(); + pJ(); + o(V9e, 'baseIteratee'); + cn = V9e; + }); + function U9e(t, e, r, n) { + for (var i = -1, a = t == null ? 0 : t.length; ++i < a; ) { + var s = t[i]; + e(n, s, r(s), t); + } + return n; + } + var mJ, + gJ = R(() => { + 'use strict'; + o(U9e, 'arrayAggregator'); + mJ = U9e; + }); + function H9e(t, e) { + return t && Qp(t, e, Dr); + } + var Rm, + Bw = R(() => { + 'use strict'; + t5(); + vc(); + o(H9e, 'baseForOwn'); + Rm = H9e; + }); + function Y9e(t, e) { + return function (r, n) { + if (r == null) return r; + if (!ei(r)) return t(r, n); + for (var i = r.length, a = e ? i : -1, s = Object(r); (e ? a-- : ++a < i) && n(s[a], a, s) !== !1; ); + return r; + }; + } + var yJ, + vJ = R(() => { + 'use strict'; + Io(); + o(Y9e, 'createBaseEach'); + yJ = Y9e; + }); + var W9e, + As, + qh = R(() => { + 'use strict'; + Bw(); + vJ(); + (W9e = yJ(Rm)), (As = W9e); + }); + function q9e(t, e, r, n) { + return ( + As(t, function (i, a, s) { + e(n, i, r(i), s); + }), + n + ); + } + var xJ, + bJ = R(() => { + 'use strict'; + qh(); + o(q9e, 'baseAggregator'); + xJ = q9e; + }); + function X9e(t, e) { + return function (r, n) { + var i = wt(r) ? mJ : xJ, + a = e ? e() : {}; + return i(r, t, cn(n, 2), a); + }; + } + var wJ, + TJ = R(() => { + 'use strict'; + gJ(); + bJ(); + Qa(); + Bn(); + o(X9e, 'createAggregator'); + wJ = X9e; + }); + var j9e, + Fw, + kJ = R(() => { + 'use strict'; + Ro(); + (j9e = o(function () { + return Jn.Date.now(); + }, 'now')), + (Fw = j9e); + }); + var EJ, + K9e, + Q9e, + Xh, + CJ = R(() => { + 'use strict'; + sm(); + xd(); + Ed(); + zh(); + (EJ = Object.prototype), + (K9e = EJ.hasOwnProperty), + (Q9e = pc(function (t, e) { + t = Object(t); + var r = -1, + n = e.length, + i = n > 2 ? e[2] : void 0; + for (i && eo(e[0], e[1], i) && (n = 1); ++r < n; ) + for (var a = e[r], s = bs(a), l = -1, u = s.length; ++l < u; ) { + var h = s[l], + f = t[h]; + (f === void 0 || (No(f, EJ[h]) && !K9e.call(t, h))) && (t[h] = a[h]); + } + return t; + })), + (Xh = Q9e); + }); + function Z9e(t, e, r) { + for (var n = -1, i = t == null ? 0 : t.length; ++n < i; ) if (r(e, t[n])) return !0; + return !1; + } + var zw, + AL = R(() => { + 'use strict'; + o(Z9e, 'arrayIncludesWith'); + zw = Z9e; + }); + function eLe(t, e, r, n) { + var i = -1, + a = ow, + s = !0, + l = t.length, + u = [], + h = e.length; + if (!l) return u; + r && (e = Ss(e, Oo(r))), n ? ((a = zw), (s = !1)) : e.length >= J9e && ((a = Lm), (s = !1), (e = new _m(e))); + e: for (; ++i < l; ) { + var f = t[i], + d = r == null ? f : r(f); + if (((f = n || f !== 0 ? f : 0), s && d === d)) { + for (var p = h; p--; ) if (e[p] === d) continue e; + u.push(f); + } else a(e, d, n) || u.push(f); + } + return u; + } + var J9e, + SJ, + AJ = R(() => { + 'use strict'; + Cw(); + sL(); + AL(); + Md(); + Td(); + Aw(); + J9e = 200; + o(eLe, 'baseDifference'); + SJ = eLe; + }); + var tLe, + jh, + _J = R(() => { + 'use strict'; + AJ(); + Cm(); + sm(); + u5(); + (tLe = pc(function (t, e) { + return wd(t) ? SJ(t, bc(e, 1, wd, !0)) : []; + })), + (jh = tLe); + }); + function rLe(t) { + var e = t == null ? 0 : t.length; + return e ? t[e - 1] : void 0; + } + var ma, + LJ = R(() => { + 'use strict'; + o(rLe, 'last'); + ma = rLe; + }); + function nLe(t, e, r) { + var n = t == null ? 0 : t.length; + return n ? ((e = r || e === void 0 ? 1 : yc(e)), dw(t, e < 0 ? 0 : e, n)) : []; + } + var fi, + DJ = R(() => { + 'use strict'; + lL(); + xm(); + o(nLe, 'drop'); + fi = nLe; + }); + function iLe(t, e, r) { + var n = t == null ? 0 : t.length; + return n ? ((e = r || e === void 0 ? 1 : yc(e)), (e = n - e), dw(t, 0, e < 0 ? 0 : e)) : []; + } + var Ru, + RJ = R(() => { + 'use strict'; + lL(); + xm(); + o(iLe, 'dropRight'); + Ru = iLe; + }); + function aLe(t) { + return typeof t == 'function' ? t : ea; + } + var Nm, + Gw = R(() => { + 'use strict'; + Eu(); + o(aLe, 'castFunction'); + Nm = aLe; + }); + function sLe(t, e) { + var r = wt(t) ? iw : As; + return r(t, Nm(e)); + } + var Ee, + $w = R(() => { + 'use strict'; + iL(); + qh(); + Gw(); + Bn(); + o(sLe, 'forEach'); + Ee = sLe; + }); + var NJ = R(() => { + 'use strict'; + $w(); + }); + function oLe(t, e) { + for (var r = -1, n = t == null ? 0 : t.length; ++r < n; ) if (!e(t[r], r, t)) return !1; + return !0; + } + var MJ, + IJ = R(() => { + 'use strict'; + o(oLe, 'arrayEvery'); + MJ = oLe; + }); + function lLe(t, e) { + var r = !0; + return ( + As(t, function (n, i, a) { + return (r = !!e(n, i, a)), r; + }), + r + ); + } + var OJ, + PJ = R(() => { + 'use strict'; + qh(); + o(lLe, 'baseEvery'); + OJ = lLe; + }); + function cLe(t, e, r) { + var n = wt(t) ? MJ : OJ; + return r && eo(t, e, r) && (e = void 0), n(t, cn(e, 3)); + } + var Ia, + BJ = R(() => { + 'use strict'; + IJ(); + PJ(); + Qa(); + Bn(); + Ed(); + o(cLe, 'every'); + Ia = cLe; + }); + function uLe(t, e) { + var r = []; + return ( + As(t, function (n, i, a) { + e(n, i, a) && r.push(n); + }), + r + ); + } + var Vw, + _L = R(() => { + 'use strict'; + qh(); + o(uLe, 'baseFilter'); + Vw = uLe; + }); + function hLe(t, e) { + var r = wt(t) ? Sm : Vw; + return r(t, cn(e, 3)); + } + var $r, + LL = R(() => { + 'use strict'; + pw(); + _L(); + Qa(); + Bn(); + o(hLe, 'filter'); + $r = hLe; + }); + function fLe(t) { + return function (e, r, n) { + var i = Object(e); + if (!ei(e)) { + var a = cn(r, 3); + (e = Dr(e)), + (r = o(function (l) { + return a(i[l], l, i); + }, 'predicate')); + } + var s = t(e, r, n); + return s > -1 ? i[a ? e[s] : s] : void 0; + }; + } + var FJ, + zJ = R(() => { + 'use strict'; + Qa(); + Io(); + vc(); + o(fLe, 'createFind'); + FJ = fLe; + }); + function pLe(t, e, r) { + var n = t == null ? 0 : t.length; + if (!n) return -1; + var i = r == null ? 0 : yc(r); + return i < 0 && (i = dLe(n + i, 0)), aw(t, cn(e, 3), i); + } + var dLe, + GJ, + $J = R(() => { + 'use strict'; + aL(); + Qa(); + xm(); + dLe = Math.max; + o(pLe, 'findIndex'); + GJ = pLe; + }); + var mLe, + Za, + VJ = R(() => { + 'use strict'; + zJ(); + $J(); + (mLe = FJ(GJ)), (Za = mLe); + }); + function gLe(t) { + return t && t.length ? t[0] : void 0; + } + var na, + UJ = R(() => { + 'use strict'; + o(gLe, 'head'); + na = gLe; + }); + var HJ = R(() => { + 'use strict'; + UJ(); + }); + function yLe(t, e) { + var r = -1, + n = ei(t) ? Array(t.length) : []; + return ( + As(t, function (i, a, s) { + n[++r] = e(i, a, s); + }), + n + ); + } + var Uw, + DL = R(() => { + 'use strict'; + qh(); + Io(); + o(yLe, 'baseMap'); + Uw = yLe; + }); + function vLe(t, e) { + var r = wt(t) ? Ss : Uw; + return r(t, cn(e, 3)); + } + var qe, + Mm = R(() => { + 'use strict'; + Md(); + Qa(); + DL(); + Bn(); + o(vLe, 'map'); + qe = vLe; + }); + function xLe(t, e) { + return bc(qe(t, e), 1); + } + var ga, + RL = R(() => { + 'use strict'; + Cm(); + Mm(); + o(xLe, 'flatMap'); + ga = xLe; + }); + function bLe(t, e) { + return t == null ? t : Qp(t, Nm(e), bs); + } + var NL, + YJ = R(() => { + 'use strict'; + t5(); + Gw(); + zh(); + o(bLe, 'forIn'); + NL = bLe; + }); + function wLe(t, e) { + return t && Rm(t, Nm(e)); + } + var ML, + WJ = R(() => { + 'use strict'; + Bw(); + Gw(); + o(wLe, 'forOwn'); + ML = wLe; + }); + var TLe, + kLe, + ELe, + IL, + qJ = R(() => { + 'use strict'; + Kp(); + TJ(); + (TLe = Object.prototype), + (kLe = TLe.hasOwnProperty), + (ELe = wJ(function (t, e, r) { + kLe.call(t, r) ? t[r].push(e) : hc(t, r, [e]); + })), + (IL = ELe); + }); + function CLe(t, e) { + return t > e; + } + var XJ, + jJ = R(() => { + 'use strict'; + o(CLe, 'baseGt'); + XJ = CLe; + }); + function _Le(t, e) { + return t != null && ALe.call(t, e); + } + var SLe, + ALe, + KJ, + QJ = R(() => { + 'use strict'; + (SLe = Object.prototype), (ALe = SLe.hasOwnProperty); + o(_Le, 'baseHas'); + KJ = _Le; + }); + function LLe(t, e) { + return t != null && Iw(t, e, KJ); + } + var Xe, + ZJ = R(() => { + 'use strict'; + QJ(); + EL(); + o(LLe, 'has'); + Xe = LLe; + }); + function RLe(t) { + return typeof t == 'string' || (!wt(t) && Wn(t) && fa(t) == DLe); + } + var DLe, + di, + Hw = R(() => { + 'use strict'; + wu(); + Bn(); + Mo(); + DLe = '[object String]'; + o(RLe, 'isString'); + di = RLe; + }); + function NLe(t, e) { + return Ss(e, function (r) { + return t[r]; + }); + } + var JJ, + eee = R(() => { + 'use strict'; + Md(); + o(NLe, 'baseValues'); + JJ = NLe; + }); + function MLe(t) { + return t == null ? [] : JJ(t, Dr(t)); + } + var or, + OL = R(() => { + 'use strict'; + eee(); + vc(); + o(MLe, 'values'); + or = MLe; + }); + function OLe(t, e, r, n) { + (t = ei(t) ? t : or(t)), (r = r && !n ? yc(r) : 0); + var i = t.length; + return r < 0 && (r = ILe(i + r, 0)), di(t) ? r <= i && t.indexOf(e, r) > -1 : !!i && bm(t, e, r) > -1; + } + var ILe, + Fn, + tee = R(() => { + 'use strict'; + sw(); + Io(); + Hw(); + xm(); + OL(); + ILe = Math.max; + o(OLe, 'includes'); + Fn = OLe; + }); + function BLe(t, e, r) { + var n = t == null ? 0 : t.length; + if (!n) return -1; + var i = r == null ? 0 : yc(r); + return i < 0 && (i = PLe(n + i, 0)), bm(t, e, i); + } + var PLe, + Yw, + ree = R(() => { + 'use strict'; + sw(); + xm(); + PLe = Math.max; + o(BLe, 'indexOf'); + Yw = BLe; + }); + function VLe(t) { + if (t == null) return !0; + if (ei(t) && (wt(t) || typeof t == 'string' || typeof t.splice == 'function' || El(t) || Bh(t) || kl(t))) + return !t.length; + var e = oo(t); + if (e == FLe || e == zLe) return !t.size; + if (fc(t)) return !wm(t).length; + for (var r in t) if ($Le.call(t, r)) return !1; + return !0; + } + var FLe, + zLe, + GLe, + $Le, + Qt, + Ww = R(() => { + 'use strict'; + lw(); + Od(); + rm(); + Bn(); + Io(); + im(); + tm(); + lv(); + (FLe = '[object Map]'), (zLe = '[object Set]'), (GLe = Object.prototype), ($Le = GLe.hasOwnProperty); + o(VLe, 'isEmpty'); + Qt = VLe; + }); + function HLe(t) { + return Wn(t) && fa(t) == ULe; + } + var ULe, + nee, + iee = R(() => { + 'use strict'; + wu(); + Mo(); + ULe = '[object RegExp]'; + o(HLe, 'baseIsRegExp'); + nee = HLe; + }); + var aee, + YLe, + zo, + see = R(() => { + 'use strict'; + iee(); + Td(); + ov(); + (aee = Po && Po.isRegExp), (YLe = aee ? Oo(aee) : nee), (zo = YLe); + }); + function WLe(t) { + return t === void 0; + } + var er, + oee = R(() => { + 'use strict'; + o(WLe, 'isUndefined'); + er = WLe; + }); + function qLe(t, e) { + return t < e; + } + var qw, + PL = R(() => { + 'use strict'; + o(qLe, 'baseLt'); + qw = qLe; + }); + function XLe(t, e) { + var r = {}; + return ( + (e = cn(e, 3)), + Rm(t, function (n, i, a) { + hc(r, i, e(n, i, a)); + }), + r + ); + } + var Pd, + lee = R(() => { + 'use strict'; + Kp(); + Bw(); + Qa(); + o(XLe, 'mapValues'); + Pd = XLe; + }); + function jLe(t, e, r) { + for (var n = -1, i = t.length; ++n < i; ) { + var a = t[n], + s = e(a); + if (s != null && (l === void 0 ? s === s && !so(s) : r(s, l))) + var l = s, + u = a; + } + return u; + } + var Im, + Xw = R(() => { + 'use strict'; + Nd(); + o(jLe, 'baseExtremum'); + Im = jLe; + }); + function KLe(t) { + return t && t.length ? Im(t, ea, XJ) : void 0; + } + var _s, + cee = R(() => { + 'use strict'; + Xw(); + jJ(); + Eu(); + o(KLe, 'max'); + _s = KLe; + }); + function QLe(t) { + return t && t.length ? Im(t, ea, qw) : void 0; + } + var Ll, + BL = R(() => { + 'use strict'; + Xw(); + PL(); + Eu(); + o(QLe, 'min'); + Ll = QLe; + }); + function ZLe(t, e) { + return t && t.length ? Im(t, cn(e, 2), qw) : void 0; + } + var Bd, + uee = R(() => { + 'use strict'; + Xw(); + Qa(); + PL(); + o(ZLe, 'minBy'); + Bd = ZLe; + }); + function eDe(t) { + if (typeof t != 'function') throw new TypeError(JLe); + return function () { + var e = arguments; + switch (e.length) { + case 0: + return !t.call(this); + case 1: + return !t.call(this, e[0]); + case 2: + return !t.call(this, e[0], e[1]); + case 3: + return !t.call(this, e[0], e[1], e[2]); + } + return !t.apply(this, e); + }; + } + var JLe, + hee, + fee = R(() => { + 'use strict'; + JLe = 'Expected a function'; + o(eDe, 'negate'); + hee = eDe; + }); + function tDe(t, e, r, n) { + if (!pn(t)) return t; + e = Hh(e, t); + for (var i = -1, a = e.length, s = a - 1, l = t; l != null && ++i < a; ) { + var u = xc(e[i]), + h = r; + if (u === '__proto__' || u === 'constructor' || u === 'prototype') return t; + if (i != s) { + var f = l[u]; + (h = n ? n(f, u, l) : void 0), h === void 0 && (h = pn(f) ? f : Fh(e[i + 1]) ? [] : {}); + } + dc(l, u, h), (l = l[u]); + } + return t; + } + var dee, + pee = R(() => { + 'use strict'; + am(); + Lv(); + uv(); + Js(); + km(); + o(tDe, 'baseSet'); + dee = tDe; + }); + function rDe(t, e, r) { + for (var n = -1, i = e.length, a = {}; ++n < i; ) { + var s = e[n], + l = Yh(t, s); + r(l, s) && dee(a, Hh(s, t), l); + } + return a; + } + var jw, + FL = R(() => { + 'use strict'; + Dv(); + pee(); + Lv(); + o(rDe, 'basePickBy'); + jw = rDe; + }); + function nDe(t, e) { + if (t == null) return {}; + var r = Ss(xw(t), function (n) { + return [n]; + }); + return ( + (e = cn(e)), + jw(t, r, function (n, i) { + return e(n, i[0]); + }) + ); + } + var Ls, + mee = R(() => { + 'use strict'; + Md(); + Qa(); + FL(); + dL(); + o(nDe, 'pickBy'); + Ls = nDe; + }); + function iDe(t, e) { + var r = t.length; + for (t.sort(e); r--; ) t[r] = t[r].value; + return t; + } + var gee, + yee = R(() => { + 'use strict'; + o(iDe, 'baseSortBy'); + gee = iDe; + }); + function aDe(t, e) { + if (t !== e) { + var r = t !== void 0, + n = t === null, + i = t === t, + a = so(t), + s = e !== void 0, + l = e === null, + u = e === e, + h = so(e); + if ((!l && !h && !a && t > e) || (a && s && u && !l && !h) || (n && s && u) || (!r && u) || !i) return 1; + if ((!n && !a && !h && t < e) || (h && r && i && !n && !a) || (l && r && i) || (!s && i) || !u) return -1; + } + return 0; + } + var vee, + xee = R(() => { + 'use strict'; + Nd(); + o(aDe, 'compareAscending'); + vee = aDe; + }); + function sDe(t, e, r) { + for (var n = -1, i = t.criteria, a = e.criteria, s = i.length, l = r.length; ++n < s; ) { + var u = vee(i[n], a[n]); + if (u) { + if (n >= l) return u; + var h = r[n]; + return u * (h == 'desc' ? -1 : 1); + } + } + return t.index - e.index; + } + var bee, + wee = R(() => { + 'use strict'; + xee(); + o(sDe, 'compareMultiple'); + bee = sDe; + }); + function oDe(t, e, r) { + e.length + ? (e = Ss(e, function (a) { + return wt(a) + ? function (s) { + return Yh(s, a.length === 1 ? a[0] : a); + } + : a; + })) + : (e = [ea]); + var n = -1; + e = Ss(e, Oo(cn)); + var i = Uw(t, function (a, s, l) { + var u = Ss(e, function (h) { + return h(a); + }); + return { criteria: u, index: ++n, value: a }; + }); + return gee(i, function (a, s) { + return bee(a, s, r); + }); + } + var Tee, + kee = R(() => { + 'use strict'; + Md(); + Dv(); + Qa(); + DL(); + yee(); + Td(); + wee(); + Eu(); + Bn(); + o(oDe, 'baseOrderBy'); + Tee = oDe; + }); + var lDe, + Eee, + Cee = R(() => { + 'use strict'; + SL(); + (lDe = Pw('length')), (Eee = lDe); + }); + function bDe(t) { + for (var e = (See.lastIndex = 0); See.test(t); ) ++e; + return e; + } + var Aee, + cDe, + uDe, + hDe, + fDe, + dDe, + pDe, + zL, + GL, + mDe, + _ee, + Lee, + Dee, + gDe, + Ree, + Nee, + yDe, + vDe, + xDe, + See, + Mee, + Iee = R(() => { + 'use strict'; + (Aee = '\\ud800-\\udfff'), + (cDe = '\\u0300-\\u036f'), + (uDe = '\\ufe20-\\ufe2f'), + (hDe = '\\u20d0-\\u20ff'), + (fDe = cDe + uDe + hDe), + (dDe = '\\ufe0e\\ufe0f'), + (pDe = '[' + Aee + ']'), + (zL = '[' + fDe + ']'), + (GL = '\\ud83c[\\udffb-\\udfff]'), + (mDe = '(?:' + zL + '|' + GL + ')'), + (_ee = '[^' + Aee + ']'), + (Lee = '(?:\\ud83c[\\udde6-\\uddff]){2}'), + (Dee = '[\\ud800-\\udbff][\\udc00-\\udfff]'), + (gDe = '\\u200d'), + (Ree = mDe + '?'), + (Nee = '[' + dDe + ']?'), + (yDe = '(?:' + gDe + '(?:' + [_ee, Lee, Dee].join('|') + ')' + Nee + Ree + ')*'), + (vDe = Nee + Ree + yDe), + (xDe = '(?:' + [_ee + zL + '?', zL, Lee, Dee, pDe].join('|') + ')'), + (See = RegExp(GL + '(?=' + GL + ')|' + xDe + vDe, 'g')); + o(bDe, 'unicodeSize'); + Mee = bDe; + }); + function wDe(t) { + return YQ(t) ? Mee(t) : Eee(t); + } + var Oee, + Pee = R(() => { + 'use strict'; + Cee(); + WQ(); + Iee(); + o(wDe, 'stringSize'); + Oee = wDe; + }); + function TDe(t, e) { + return jw(t, e, function (r, n) { + return Ow(t, n); + }); + } + var Bee, + Fee = R(() => { + 'use strict'; + FL(); + CL(); + o(TDe, 'basePick'); + Bee = TDe; + }); + var kDe, + Fd, + zee = R(() => { + 'use strict'; + Fee(); + HQ(); + (kDe = UQ(function (t, e) { + return t == null ? {} : Bee(t, e); + })), + (Fd = kDe); + }); + function SDe(t, e, r, n) { + for (var i = -1, a = CDe(EDe((e - t) / (r || 1)), 0), s = Array(a); a--; ) (s[n ? a : ++i] = t), (t += r); + return s; + } + var EDe, + CDe, + Gee, + $ee = R(() => { + 'use strict'; + (EDe = Math.ceil), (CDe = Math.max); + o(SDe, 'baseRange'); + Gee = SDe; + }); + function ADe(t) { + return function (e, r, n) { + return ( + n && typeof n != 'number' && eo(e, r, n) && (r = n = void 0), + (e = vm(e)), + r === void 0 ? ((r = e), (e = 0)) : (r = vm(r)), + (n = n === void 0 ? (e < r ? 1 : -1) : vm(n)), + Gee(e, r, n, t) + ); + }; + } + var Vee, + Uee = R(() => { + 'use strict'; + $ee(); + Ed(); + rL(); + o(ADe, 'createRange'); + Vee = ADe; + }); + var _De, + Go, + Hee = R(() => { + 'use strict'; + Uee(); + (_De = Vee()), (Go = _De); + }); + function LDe(t, e, r, n, i) { + return ( + i(t, function (a, s, l) { + r = n ? ((n = !1), a) : e(r, a, s, l); + }), + r + ); + } + var Yee, + Wee = R(() => { + 'use strict'; + o(LDe, 'baseReduce'); + Yee = LDe; + }); + function DDe(t, e, r) { + var n = wt(t) ? qQ : Yee, + i = arguments.length < 3; + return n(t, cn(e, 4), r, i, As); + } + var Vr, + $L = R(() => { + 'use strict'; + XQ(); + qh(); + Qa(); + Wee(); + Bn(); + o(DDe, 'reduce'); + Vr = DDe; + }); + function RDe(t, e) { + var r = wt(t) ? Sm : Vw; + return r(t, hee(cn(e, 3))); + } + var Kh, + qee = R(() => { + 'use strict'; + pw(); + _L(); + Qa(); + Bn(); + fee(); + o(RDe, 'reject'); + Kh = RDe; + }); + function IDe(t) { + if (t == null) return 0; + if (ei(t)) return di(t) ? Oee(t) : t.length; + var e = oo(t); + return e == NDe || e == MDe ? t.size : wm(t).length; + } + var NDe, + MDe, + VL, + Xee = R(() => { + 'use strict'; + lw(); + Od(); + Io(); + Hw(); + Pee(); + (NDe = '[object Map]'), (MDe = '[object Set]'); + o(IDe, 'size'); + VL = IDe; + }); + function ODe(t, e) { + var r; + return ( + As(t, function (n, i, a) { + return (r = e(n, i, a)), !r; + }), + !!r + ); + } + var jee, + Kee = R(() => { + 'use strict'; + qh(); + o(ODe, 'baseSome'); + jee = ODe; + }); + function PDe(t, e, r) { + var n = wt(t) ? Sw : jee; + return r && eo(t, e, r) && (e = void 0), n(t, cn(e, 3)); + } + var Nv, + Qee = R(() => { + 'use strict'; + vL(); + Qa(); + Kee(); + Bn(); + Ed(); + o(PDe, 'some'); + Nv = PDe; + }); + var BDe, + Tc, + Zee = R(() => { + 'use strict'; + Cm(); + kee(); + sm(); + Ed(); + (BDe = pc(function (t, e) { + if (t == null) return []; + var r = e.length; + return ( + r > 1 && eo(t, e[0], e[1]) ? (e = []) : r > 2 && eo(e[0], e[1], e[2]) && (e = [e[0]]), + Tee(t, bc(e, 1), []) + ); + })), + (Tc = BDe); + }); + var FDe, + zDe, + Jee, + ete = R(() => { + 'use strict'; + pL(); + nL(); + Lw(); + (FDe = 1 / 0), + (zDe = + Wh && 1 / Dm(new Wh([, -0]))[1] == FDe + ? function (t) { + return new Wh(t); + } + : qn), + (Jee = zDe); + }); + function $De(t, e, r) { + var n = -1, + i = ow, + a = t.length, + s = !0, + l = [], + u = l; + if (r) (s = !1), (i = zw); + else if (a >= GDe) { + var h = e ? null : Jee(t); + if (h) return Dm(h); + (s = !1), (i = Lm), (u = new _m()); + } else u = e ? [] : l; + e: for (; ++n < a; ) { + var f = t[n], + d = e ? e(f) : f; + if (((f = r || f !== 0 ? f : 0), s && d === d)) { + for (var p = u.length; p--; ) if (u[p] === d) continue e; + e && u.push(d), l.push(f); + } else i(u, d, r) || (u !== l && u.push(d), l.push(f)); + } + return l; + } + var GDe, + Om, + Kw = R(() => { + 'use strict'; + Cw(); + sL(); + AL(); + Aw(); + ete(); + Lw(); + GDe = 200; + o($De, 'baseUniq'); + Om = $De; + }); + var VDe, + UL, + tte = R(() => { + 'use strict'; + Cm(); + sm(); + Kw(); + u5(); + (VDe = pc(function (t) { + return Om(bc(t, 1, wd, !0)); + })), + (UL = VDe); + }); + function UDe(t) { + return t && t.length ? Om(t) : []; + } + var Pm, + rte = R(() => { + 'use strict'; + Kw(); + o(UDe, 'uniq'); + Pm = UDe; + }); + function HDe(t, e) { + return t && t.length ? Om(t, cn(e, 2)) : []; + } + var nte, + ite = R(() => { + 'use strict'; + Qa(); + Kw(); + o(HDe, 'uniqBy'); + nte = HDe; + }); + function WDe(t) { + var e = ++YDe; + return uw(t) + e; + } + var YDe, + zd, + ate = R(() => { + 'use strict'; + oL(); + YDe = 0; + o(WDe, 'uniqueId'); + zd = WDe; + }); + function qDe(t, e, r) { + for (var n = -1, i = t.length, a = e.length, s = {}; ++n < i; ) { + var l = n < a ? e[n] : void 0; + r(s, t[n], l); + } + return s; + } + var ste, + ote = R(() => { + 'use strict'; + o(qDe, 'baseZipObject'); + ste = qDe; + }); + function XDe(t, e) { + return ste(t || [], e || [], dc); + } + var Qw, + lte = R(() => { + 'use strict'; + am(); + ote(); + o(XDe, 'zipObject'); + Qw = XDe; + }); + var Pt = R(() => { + 'use strict'; + NQ(); + gL(); + PZ(); + BZ(); + Y_(); + CJ(); + _J(); + DJ(); + RJ(); + NJ(); + BJ(); + LL(); + VJ(); + HJ(); + RL(); + fw(); + $w(); + YJ(); + WJ(); + qJ(); + ZJ(); + Eu(); + tee(); + ree(); + Bn(); + Ww(); + Jy(); + Js(); + see(); + Hw(); + oee(); + vc(); + LJ(); + Mm(); + lee(); + cee(); + X_(); + BL(); + uee(); + nL(); + kJ(); + zee(); + mee(); + Hee(); + $L(); + qee(); + Xee(); + Qee(); + Zee(); + tte(); + rte(); + ate(); + OL(); + lte(); + }); + function ute(t, e) { + t[e] ? t[e]++ : (t[e] = 1); + } + function hte(t, e) { + --t[e] || delete t[e]; + } + function Mv(t, e, r, n) { + var i = '' + e, + a = '' + r; + if (!t && i > a) { + var s = i; + (i = a), (a = s); + } + return i + cte + a + cte + (er(n) ? jDe : n); + } + function KDe(t, e, r, n) { + var i = '' + e, + a = '' + r; + if (!t && i > a) { + var s = i; + (i = a), (a = s); + } + var l = { v: i, w: a }; + return n && (l.name = n), l; + } + function HL(t, e) { + return Mv(t, e.v, e.w, e.name); + } + var jDe, + Gd, + cte, + lr, + Zw = R(() => { + 'use strict'; + Pt(); + (jDe = '\0'), + (Gd = '\0'), + (cte = ''), + (lr = class { + static { + o(this, 'Graph'); + } + constructor(e = {}) { + (this._isDirected = Xe(e, 'directed') ? e.directed : !0), + (this._isMultigraph = Xe(e, 'multigraph') ? e.multigraph : !1), + (this._isCompound = Xe(e, 'compound') ? e.compound : !1), + (this._label = void 0), + (this._defaultNodeLabelFn = ws(void 0)), + (this._defaultEdgeLabelFn = ws(void 0)), + (this._nodes = {}), + this._isCompound && ((this._parent = {}), (this._children = {}), (this._children[Gd] = {})), + (this._in = {}), + (this._preds = {}), + (this._out = {}), + (this._sucs = {}), + (this._edgeObjs = {}), + (this._edgeLabels = {}); + } + isDirected() { + return this._isDirected; + } + isMultigraph() { + return this._isMultigraph; + } + isCompound() { + return this._isCompound; + } + setGraph(e) { + return (this._label = e), this; + } + graph() { + return this._label; + } + setDefaultNodeLabel(e) { + return wi(e) || (e = ws(e)), (this._defaultNodeLabelFn = e), this; + } + nodeCount() { + return this._nodeCount; + } + nodes() { + return Dr(this._nodes); + } + sources() { + var e = this; + return $r(this.nodes(), function (r) { + return Qt(e._in[r]); + }); + } + sinks() { + var e = this; + return $r(this.nodes(), function (r) { + return Qt(e._out[r]); + }); + } + setNodes(e, r) { + var n = arguments, + i = this; + return ( + Ee(e, function (a) { + n.length > 1 ? i.setNode(a, r) : i.setNode(a); + }), + this + ); + } + setNode(e, r) { + return Xe(this._nodes, e) + ? (arguments.length > 1 && (this._nodes[e] = r), this) + : ((this._nodes[e] = arguments.length > 1 ? r : this._defaultNodeLabelFn(e)), + this._isCompound && + ((this._parent[e] = Gd), (this._children[e] = {}), (this._children[Gd][e] = !0)), + (this._in[e] = {}), + (this._preds[e] = {}), + (this._out[e] = {}), + (this._sucs[e] = {}), + ++this._nodeCount, + this); + } + node(e) { + return this._nodes[e]; + } + hasNode(e) { + return Xe(this._nodes, e); + } + removeNode(e) { + var r = this; + if (Xe(this._nodes, e)) { + var n = o(function (i) { + r.removeEdge(r._edgeObjs[i]); + }, 'removeEdge'); + delete this._nodes[e], + this._isCompound && + (this._removeFromParentsChildList(e), + delete this._parent[e], + Ee(this.children(e), function (i) { + r.setParent(i); + }), + delete this._children[e]), + Ee(Dr(this._in[e]), n), + delete this._in[e], + delete this._preds[e], + Ee(Dr(this._out[e]), n), + delete this._out[e], + delete this._sucs[e], + --this._nodeCount; + } + return this; + } + setParent(e, r) { + if (!this._isCompound) throw new Error('Cannot set parent in a non-compound graph'); + if (er(r)) r = Gd; + else { + r += ''; + for (var n = r; !er(n); n = this.parent(n)) + if (n === e) + throw new Error('Setting ' + r + ' as parent of ' + e + ' would create a cycle'); + this.setNode(r); + } + return ( + this.setNode(e), + this._removeFromParentsChildList(e), + (this._parent[e] = r), + (this._children[r][e] = !0), + this + ); + } + _removeFromParentsChildList(e) { + delete this._children[this._parent[e]][e]; + } + parent(e) { + if (this._isCompound) { + var r = this._parent[e]; + if (r !== Gd) return r; + } + } + children(e) { + if ((er(e) && (e = Gd), this._isCompound)) { + var r = this._children[e]; + if (r) return Dr(r); + } else { + if (e === Gd) return this.nodes(); + if (this.hasNode(e)) return []; + } + } + predecessors(e) { + var r = this._preds[e]; + if (r) return Dr(r); + } + successors(e) { + var r = this._sucs[e]; + if (r) return Dr(r); + } + neighbors(e) { + var r = this.predecessors(e); + if (r) return UL(r, this.successors(e)); + } + isLeaf(e) { + var r; + return this.isDirected() ? (r = this.successors(e)) : (r = this.neighbors(e)), r.length === 0; + } + filterNodes(e) { + var r = new this.constructor({ + directed: this._isDirected, + multigraph: this._isMultigraph, + compound: this._isCompound + }); + r.setGraph(this.graph()); + var n = this; + Ee(this._nodes, function (s, l) { + e(l) && r.setNode(l, s); + }), + Ee(this._edgeObjs, function (s) { + r.hasNode(s.v) && r.hasNode(s.w) && r.setEdge(s, n.edge(s)); + }); + var i = {}; + function a(s) { + var l = n.parent(s); + return l === void 0 || r.hasNode(l) ? ((i[s] = l), l) : l in i ? i[l] : a(l); + } + return ( + o(a, 'findParent'), + this._isCompound && + Ee(r.nodes(), function (s) { + r.setParent(s, a(s)); + }), + r + ); + } + setDefaultEdgeLabel(e) { + return wi(e) || (e = ws(e)), (this._defaultEdgeLabelFn = e), this; + } + edgeCount() { + return this._edgeCount; + } + edges() { + return or(this._edgeObjs); + } + setPath(e, r) { + var n = this, + i = arguments; + return ( + Vr(e, function (a, s) { + return i.length > 1 ? n.setEdge(a, s, r) : n.setEdge(a, s), s; + }), + this + ); + } + setEdge() { + var e, + r, + n, + i, + a = !1, + s = arguments[0]; + typeof s == 'object' && s !== null && 'v' in s + ? ((e = s.v), + (r = s.w), + (n = s.name), + arguments.length === 2 && ((i = arguments[1]), (a = !0))) + : ((e = s), + (r = arguments[1]), + (n = arguments[3]), + arguments.length > 2 && ((i = arguments[2]), (a = !0))), + (e = '' + e), + (r = '' + r), + er(n) || (n = '' + n); + var l = Mv(this._isDirected, e, r, n); + if (Xe(this._edgeLabels, l)) return a && (this._edgeLabels[l] = i), this; + if (!er(n) && !this._isMultigraph) + throw new Error('Cannot set a named edge when isMultigraph = false'); + this.setNode(e), + this.setNode(r), + (this._edgeLabels[l] = a ? i : this._defaultEdgeLabelFn(e, r, n)); + var u = KDe(this._isDirected, e, r, n); + return ( + (e = u.v), + (r = u.w), + Object.freeze(u), + (this._edgeObjs[l] = u), + ute(this._preds[r], e), + ute(this._sucs[e], r), + (this._in[r][l] = u), + (this._out[e][l] = u), + this._edgeCount++, + this + ); + } + edge(e, r, n) { + var i = + arguments.length === 1 ? HL(this._isDirected, arguments[0]) : Mv(this._isDirected, e, r, n); + return this._edgeLabels[i]; + } + hasEdge(e, r, n) { + var i = + arguments.length === 1 ? HL(this._isDirected, arguments[0]) : Mv(this._isDirected, e, r, n); + return Xe(this._edgeLabels, i); + } + removeEdge(e, r, n) { + var i = + arguments.length === 1 + ? HL(this._isDirected, arguments[0]) + : Mv(this._isDirected, e, r, n), + a = this._edgeObjs[i]; + return ( + a && + ((e = a.v), + (r = a.w), + delete this._edgeLabels[i], + delete this._edgeObjs[i], + hte(this._preds[r], e), + hte(this._sucs[e], r), + delete this._in[r][i], + delete this._out[e][i], + this._edgeCount--), + this + ); + } + inEdges(e, r) { + var n = this._in[e]; + if (n) { + var i = or(n); + return r + ? $r(i, function (a) { + return a.v === r; + }) + : i; + } + } + outEdges(e, r) { + var n = this._out[e]; + if (n) { + var i = or(n); + return r + ? $r(i, function (a) { + return a.w === r; + }) + : i; + } + } + nodeEdges(e, r) { + var n = this.inEdges(e, r); + if (n) return n.concat(this.outEdges(e, r)); + } + }); + lr.prototype._nodeCount = 0; + lr.prototype._edgeCount = 0; + o(ute, 'incrementOrInitEntry'); + o(hte, 'decrementOrRemoveEntry'); + o(Mv, 'edgeArgsToId'); + o(KDe, 'edgeArgsToObj'); + o(HL, 'edgeObjToId'); + }); + var ya = R(() => { + 'use strict'; + Zw(); + }); + function fte(t) { + (t._prev._next = t._next), (t._next._prev = t._prev), delete t._next, delete t._prev; + } + function QDe(t, e) { + if (t !== '_next' && t !== '_prev') return e; + } + var Jw, + dte = R(() => { + 'use strict'; + Jw = class { + static { + o(this, 'List'); + } + constructor() { + var e = {}; + (e._next = e._prev = e), (this._sentinel = e); + } + dequeue() { + var e = this._sentinel, + r = e._prev; + if (r !== e) return fte(r), r; + } + enqueue(e) { + var r = this._sentinel; + e._prev && e._next && fte(e), + (e._next = r._next), + (r._next._prev = e), + (r._next = e), + (e._prev = r); + } + toString() { + for (var e = [], r = this._sentinel, n = r._prev; n !== r; ) + e.push(JSON.stringify(n, QDe)), (n = n._prev); + return '[' + e.join(', ') + ']'; + } + }; + o(fte, 'unlink'); + o(QDe, 'filterOutLinks'); + }); + function pte(t, e) { + if (t.nodeCount() <= 1) return []; + var r = eRe(t, e || ZDe), + n = JDe(r.graph, r.buckets, r.zeroIdx); + return Gr( + qe(n, function (i) { + return t.outEdges(i.v, i.w); + }) + ); + } + function JDe(t, e, r) { + for (var n = [], i = e[e.length - 1], a = e[0], s; t.nodeCount(); ) { + for (; (s = a.dequeue()); ) YL(t, e, r, s); + for (; (s = i.dequeue()); ) YL(t, e, r, s); + if (t.nodeCount()) { + for (var l = e.length - 2; l > 0; --l) + if (((s = e[l].dequeue()), s)) { + n = n.concat(YL(t, e, r, s, !0)); + break; + } + } + } + return n; + } + function YL(t, e, r, n, i) { + var a = i ? [] : void 0; + return ( + Ee(t.inEdges(n.v), function (s) { + var l = t.edge(s), + u = t.node(s.v); + i && a.push({ v: s.v, w: s.w }), (u.out -= l), WL(e, r, u); + }), + Ee(t.outEdges(n.v), function (s) { + var l = t.edge(s), + u = s.w, + h = t.node(u); + (h.in -= l), WL(e, r, h); + }), + t.removeNode(n.v), + a + ); + } + function eRe(t, e) { + var r = new lr(), + n = 0, + i = 0; + Ee(t.nodes(), function (l) { + r.setNode(l, { v: l, in: 0, out: 0 }); + }), + Ee(t.edges(), function (l) { + var u = r.edge(l.v, l.w) || 0, + h = e(l), + f = u + h; + r.setEdge(l.v, l.w, f), + (i = Math.max(i, (r.node(l.v).out += h))), + (n = Math.max(n, (r.node(l.w).in += h))); + }); + var a = Go(i + n + 3).map(function () { + return new Jw(); + }), + s = n + 1; + return ( + Ee(r.nodes(), function (l) { + WL(a, s, r.node(l)); + }), + { graph: r, buckets: a, zeroIdx: s } + ); + } + function WL(t, e, r) { + r.out ? (r.in ? t[r.out - r.in + e].enqueue(r) : t[t.length - 1].enqueue(r)) : t[0].enqueue(r); + } + var ZDe, + mte = R(() => { + 'use strict'; + Pt(); + ya(); + dte(); + ZDe = ws(1); + o(pte, 'greedyFAS'); + o(JDe, 'doGreedyFAS'); + o(YL, 'removeNode'); + o(eRe, 'buildState'); + o(WL, 'assignBucket'); + }); + function gte(t) { + var e = t.graph().acyclicer === 'greedy' ? pte(t, r(t)) : tRe(t); + Ee(e, function (n) { + var i = t.edge(n); + t.removeEdge(n), (i.forwardName = n.name), (i.reversed = !0), t.setEdge(n.w, n.v, i, zd('rev')); + }); + function r(n) { + return function (i) { + return n.edge(i).weight; + }; + } + o(r, 'weightFn'); + } + function tRe(t) { + var e = [], + r = {}, + n = {}; + function i(a) { + Xe(n, a) || + ((n[a] = !0), + (r[a] = !0), + Ee(t.outEdges(a), function (s) { + Xe(r, s.w) ? e.push(s) : i(s.w); + }), + delete r[a]); + } + return o(i, 'dfs'), Ee(t.nodes(), i), e; + } + function yte(t) { + Ee(t.edges(), function (e) { + var r = t.edge(e); + if (r.reversed) { + t.removeEdge(e); + var n = r.forwardName; + delete r.reversed, delete r.forwardName, t.setEdge(e.w, e.v, r, n); + } + }); + } + var qL = R(() => { + 'use strict'; + Pt(); + mte(); + o(gte, 'run'); + o(tRe, 'dfsFAS'); + o(yte, 'undo'); + }); + function kc(t, e, r, n) { + var i; + do i = zd(n); + while (t.hasNode(i)); + return (r.dummy = e), t.setNode(i, r), i; + } + function xte(t) { + var e = new lr().setGraph(t.graph()); + return ( + Ee(t.nodes(), function (r) { + e.setNode(r, t.node(r)); + }), + Ee(t.edges(), function (r) { + var n = e.edge(r.v, r.w) || { weight: 0, minlen: 1 }, + i = t.edge(r); + e.setEdge(r.v, r.w, { + weight: n.weight + i.weight, + minlen: Math.max(n.minlen, i.minlen) + }); + }), + e + ); + } + function eT(t) { + var e = new lr({ multigraph: t.isMultigraph() }).setGraph(t.graph()); + return ( + Ee(t.nodes(), function (r) { + t.children(r).length || e.setNode(r, t.node(r)); + }), + Ee(t.edges(), function (r) { + e.setEdge(r, t.edge(r)); + }), + e + ); + } + function XL(t, e) { + var r = t.x, + n = t.y, + i = e.x - r, + a = e.y - n, + s = t.width / 2, + l = t.height / 2; + if (!i && !a) throw new Error('Not possible to find intersection inside of the rectangle'); + var u, h; + return ( + Math.abs(a) * s > Math.abs(i) * l + ? (a < 0 && (l = -l), (u = (l * i) / a), (h = l)) + : (i < 0 && (s = -s), (u = s), (h = (s * a) / i)), + { x: r + u, y: n + h } + ); + } + function Qh(t) { + var e = qe(Go(KL(t) + 1), function () { + return []; + }); + return ( + Ee(t.nodes(), function (r) { + var n = t.node(r), + i = n.rank; + er(i) || (e[i][n.order] = r); + }), + e + ); + } + function bte(t) { + var e = Ll( + qe(t.nodes(), function (r) { + return t.node(r).rank; + }) + ); + Ee(t.nodes(), function (r) { + var n = t.node(r); + Xe(n, 'rank') && (n.rank -= e); + }); + } + function wte(t) { + var e = Ll( + qe(t.nodes(), function (a) { + return t.node(a).rank; + }) + ), + r = []; + Ee(t.nodes(), function (a) { + var s = t.node(a).rank - e; + r[s] || (r[s] = []), r[s].push(a); + }); + var n = 0, + i = t.graph().nodeRankFactor; + Ee(r, function (a, s) { + er(a) && s % i !== 0 + ? --n + : n && + Ee(a, function (l) { + t.node(l).rank += n; + }); + }); + } + function jL(t, e, r, n) { + var i = { width: 0, height: 0 }; + return arguments.length >= 4 && ((i.rank = r), (i.order = n)), kc(t, 'border', i, e); + } + function KL(t) { + return _s( + qe(t.nodes(), function (e) { + var r = t.node(e).rank; + if (!er(r)) return r; + }) + ); + } + function Tte(t, e) { + var r = { lhs: [], rhs: [] }; + return ( + Ee(t, function (n) { + e(n) ? r.lhs.push(n) : r.rhs.push(n); + }), + r + ); + } + function kte(t, e) { + var r = Fw(); + try { + return e(); + } finally { + console.log(t + ' time: ' + (Fw() - r) + 'ms'); + } + } + function Ete(t, e) { + return e(); + } + var Ec = R(() => { + 'use strict'; + Pt(); + ya(); + o(kc, 'addDummyNode'); + o(xte, 'simplify'); + o(eT, 'asNonCompoundGraph'); + o(XL, 'intersectRect'); + o(Qh, 'buildLayerMatrix'); + o(bte, 'normalizeRanks'); + o(wte, 'removeEmptyRanks'); + o(jL, 'addBorderNode'); + o(KL, 'maxRank'); + o(Tte, 'partition'); + o(kte, 'time'); + o(Ete, 'notime'); + }); + function Ste(t) { + function e(r) { + var n = t.children(r), + i = t.node(r); + if ((n.length && Ee(n, e), Xe(i, 'minRank'))) { + (i.borderLeft = []), (i.borderRight = []); + for (var a = i.minRank, s = i.maxRank + 1; a < s; ++a) + Cte(t, 'borderLeft', '_bl', r, i, a), Cte(t, 'borderRight', '_br', r, i, a); + } + } + o(e, 'dfs'), Ee(t.children(), e); + } + function Cte(t, e, r, n, i, a) { + var s = { width: 0, height: 0, rank: a, borderType: e }, + l = i[e][a - 1], + u = kc(t, 'border', s, r); + (i[e][a] = u), t.setParent(u, n), l && t.setEdge(l, u, { weight: 1 }); + } + var Ate = R(() => { + 'use strict'; + Pt(); + Ec(); + o(Ste, 'addBorderSegments'); + o(Cte, 'addBorderNode'); + }); + function Lte(t) { + var e = t.graph().rankdir.toLowerCase(); + (e === 'lr' || e === 'rl') && Rte(t); + } + function Dte(t) { + var e = t.graph().rankdir.toLowerCase(); + (e === 'bt' || e === 'rl') && rRe(t), (e === 'lr' || e === 'rl') && (nRe(t), Rte(t)); + } + function Rte(t) { + Ee(t.nodes(), function (e) { + _te(t.node(e)); + }), + Ee(t.edges(), function (e) { + _te(t.edge(e)); + }); + } + function _te(t) { + var e = t.width; + (t.width = t.height), (t.height = e); + } + function rRe(t) { + Ee(t.nodes(), function (e) { + QL(t.node(e)); + }), + Ee(t.edges(), function (e) { + var r = t.edge(e); + Ee(r.points, QL), Xe(r, 'y') && QL(r); + }); + } + function QL(t) { + t.y = -t.y; + } + function nRe(t) { + Ee(t.nodes(), function (e) { + ZL(t.node(e)); + }), + Ee(t.edges(), function (e) { + var r = t.edge(e); + Ee(r.points, ZL), Xe(r, 'x') && ZL(r); + }); + } + function ZL(t) { + var e = t.x; + (t.x = t.y), (t.y = e); + } + var Nte = R(() => { + 'use strict'; + Pt(); + o(Lte, 'adjust'); + o(Dte, 'undo'); + o(Rte, 'swapWidthHeight'); + o(_te, 'swapWidthHeightOne'); + o(rRe, 'reverseY'); + o(QL, 'reverseYOne'); + o(nRe, 'swapXY'); + o(ZL, 'swapXYOne'); + }); + function Mte(t) { + (t.graph().dummyChains = []), + Ee(t.edges(), function (e) { + aRe(t, e); + }); + } + function aRe(t, e) { + var r = e.v, + n = t.node(r).rank, + i = e.w, + a = t.node(i).rank, + s = e.name, + l = t.edge(e), + u = l.labelRank; + if (a !== n + 1) { + t.removeEdge(e); + var h, f, d; + for (d = 0, ++n; n < a; ++d, ++n) + (l.points = []), + (f = { width: 0, height: 0, edgeLabel: l, edgeObj: e, rank: n }), + (h = kc(t, 'edge', f, '_d')), + n === u && + ((f.width = l.width), + (f.height = l.height), + (f.dummy = 'edge-label'), + (f.labelpos = l.labelpos)), + t.setEdge(r, h, { weight: l.weight }, s), + d === 0 && t.graph().dummyChains.push(h), + (r = h); + t.setEdge(r, i, { weight: l.weight }, s); + } + } + function Ite(t) { + Ee(t.graph().dummyChains, function (e) { + var r = t.node(e), + n = r.edgeLabel, + i; + for (t.setEdge(r.edgeObj, n); r.dummy; ) + (i = t.successors(e)[0]), + t.removeNode(e), + n.points.push({ x: r.x, y: r.y }), + r.dummy === 'edge-label' && ((n.x = r.x), (n.y = r.y), (n.width = r.width), (n.height = r.height)), + (e = i), + (r = t.node(e)); + }); + } + var JL = R(() => { + 'use strict'; + Pt(); + Ec(); + o(Mte, 'run'); + o(aRe, 'normalizeEdge'); + o(Ite, 'undo'); + }); + function Iv(t) { + var e = {}; + function r(n) { + var i = t.node(n); + if (Xe(e, n)) return i.rank; + e[n] = !0; + var a = Ll( + qe(t.outEdges(n), function (s) { + return r(s.w) - t.edge(s).minlen; + }) + ); + return (a === Number.POSITIVE_INFINITY || a === void 0 || a === null) && (a = 0), (i.rank = a); + } + o(r, 'dfs'), Ee(t.sources(), r); + } + function $d(t, e) { + return t.node(e.w).rank - t.node(e.v).rank - t.edge(e).minlen; + } + var tT = R(() => { + 'use strict'; + Pt(); + o(Iv, 'longestPath'); + o($d, 'slack'); + }); + function rT(t) { + var e = new lr({ directed: !1 }), + r = t.nodes()[0], + n = t.nodeCount(); + e.setNode(r, {}); + for (var i, a; sRe(e, t) < n; ) (i = oRe(e, t)), (a = e.hasNode(i.v) ? $d(t, i) : -$d(t, i)), lRe(e, t, a); + return e; + } + function sRe(t, e) { + function r(n) { + Ee(e.nodeEdges(n), function (i) { + var a = i.v, + s = n === a ? i.w : a; + !t.hasNode(s) && !$d(e, i) && (t.setNode(s, {}), t.setEdge(n, s, {}), r(s)); + }); + } + return o(r, 'dfs'), Ee(t.nodes(), r), t.nodeCount(); + } + function oRe(t, e) { + return Bd(e.edges(), function (r) { + if (t.hasNode(r.v) !== t.hasNode(r.w)) return $d(e, r); + }); + } + function lRe(t, e, r) { + Ee(t.nodes(), function (n) { + e.node(n).rank += r; + }); + } + var eD = R(() => { + 'use strict'; + Pt(); + ya(); + tT(); + o(rT, 'feasibleTree'); + o(sRe, 'tightTree'); + o(oRe, 'findMinSlackEdge'); + o(lRe, 'shiftRanks'); + }); + var Pte = R(() => { + 'use strict'; + }); + var tD = R(() => { + 'use strict'; + }); + var tGt, + rD = R(() => { + 'use strict'; + Pt(); + tD(); + tGt = ws(1); + }); + var Bte = R(() => { + 'use strict'; + rD(); + }); + var nD = R(() => { + 'use strict'; + }); + var Fte = R(() => { + 'use strict'; + nD(); + }); + var fGt, + zte = R(() => { + 'use strict'; + Pt(); + fGt = ws(1); + }); + function iD(t) { + var e = {}, + r = {}, + n = []; + function i(a) { + if (Xe(r, a)) throw new Ov(); + Xe(e, a) || ((r[a] = !0), (e[a] = !0), Ee(t.predecessors(a), i), delete r[a], n.push(a)); + } + if ((o(i, 'visit'), Ee(t.sinks(), i), VL(e) !== t.nodeCount())) throw new Ov(); + return n; + } + function Ov() {} + var aD = R(() => { + 'use strict'; + Pt(); + iD.CycleException = Ov; + o(iD, 'topsort'); + o(Ov, 'CycleException'); + Ov.prototype = new Error(); + }); + var Gte = R(() => { + 'use strict'; + aD(); + }); + function nT(t, e, r) { + wt(e) || (e = [e]); + var n = (t.isDirected() ? t.successors : t.neighbors).bind(t), + i = [], + a = {}; + return ( + Ee(e, function (s) { + if (!t.hasNode(s)) throw new Error('Graph does not have node: ' + s); + $te(t, s, r === 'post', a, n, i); + }), + i + ); + } + function $te(t, e, r, n, i, a) { + Xe(n, e) || + ((n[e] = !0), + r || a.push(e), + Ee(i(e), function (s) { + $te(t, s, r, n, i, a); + }), + r && a.push(e)); + } + var sD = R(() => { + 'use strict'; + Pt(); + o(nT, 'dfs'); + o($te, 'doDfs'); + }); + function oD(t, e) { + return nT(t, e, 'post'); + } + var Vte = R(() => { + 'use strict'; + sD(); + o(oD, 'postorder'); + }); + function lD(t, e) { + return nT(t, e, 'pre'); + } + var Ute = R(() => { + 'use strict'; + sD(); + o(lD, 'preorder'); + }); + var Hte = R(() => { + 'use strict'; + tD(); + Zw(); + }); + var Yte = R(() => { + 'use strict'; + Pte(); + rD(); + Bte(); + Fte(); + zte(); + Gte(); + Vte(); + Ute(); + Hte(); + nD(); + aD(); + }); + function Jh(t) { + (t = xte(t)), Iv(t); + var e = rT(t); + uD(e), cD(e, t); + for (var r, n; (r = jte(e)); ) (n = Kte(e, t, r)), Qte(e, t, r, n); + } + function cD(t, e) { + var r = oD(t, t.nodes()); + (r = r.slice(0, r.length - 1)), + Ee(r, function (n) { + dRe(t, e, n); + }); + } + function dRe(t, e, r) { + var n = t.node(r), + i = n.parent; + t.edge(r, i).cutvalue = qte(t, e, r); + } + function qte(t, e, r) { + var n = t.node(r), + i = n.parent, + a = !0, + s = e.edge(r, i), + l = 0; + return ( + s || ((a = !1), (s = e.edge(i, r))), + (l = s.weight), + Ee(e.nodeEdges(r), function (u) { + var h = u.v === r, + f = h ? u.w : u.v; + if (f !== i) { + var d = h === a, + p = e.edge(u).weight; + if (((l += d ? p : -p), mRe(t, r, f))) { + var m = t.edge(r, f).cutvalue; + l += d ? -m : m; + } + } + }), + l + ); + } + function uD(t, e) { + arguments.length < 2 && (e = t.nodes()[0]), Xte(t, {}, 1, e); + } + function Xte(t, e, r, n, i) { + var a = r, + s = t.node(n); + return ( + (e[n] = !0), + Ee(t.neighbors(n), function (l) { + Xe(e, l) || (r = Xte(t, e, r, l, n)); + }), + (s.low = a), + (s.lim = r++), + i ? (s.parent = i) : delete s.parent, + r + ); + } + function jte(t) { + return Za(t.edges(), function (e) { + return t.edge(e).cutvalue < 0; + }); + } + function Kte(t, e, r) { + var n = r.v, + i = r.w; + e.hasEdge(n, i) || ((n = r.w), (i = r.v)); + var a = t.node(n), + s = t.node(i), + l = a, + u = !1; + a.lim > s.lim && ((l = s), (u = !0)); + var h = $r(e.edges(), function (f) { + return u === Wte(t, t.node(f.v), l) && u !== Wte(t, t.node(f.w), l); + }); + return Bd(h, function (f) { + return $d(e, f); + }); + } + function Qte(t, e, r, n) { + var i = r.v, + a = r.w; + t.removeEdge(i, a), t.setEdge(n.v, n.w, {}), uD(t), cD(t, e), pRe(t, e); + } + function pRe(t, e) { + var r = Za(t.nodes(), function (i) { + return !e.node(i).parent; + }), + n = lD(t, r); + (n = n.slice(1)), + Ee(n, function (i) { + var a = t.node(i).parent, + s = e.edge(i, a), + l = !1; + s || ((s = e.edge(a, i)), (l = !0)), (e.node(i).rank = e.node(a).rank + (l ? s.minlen : -s.minlen)); + }); + } + function mRe(t, e, r) { + return t.hasEdge(e, r); + } + function Wte(t, e, r) { + return r.low <= e.lim && e.lim <= r.lim; + } + var Zte = R(() => { + 'use strict'; + Pt(); + Yte(); + Ec(); + eD(); + tT(); + Jh.initLowLimValues = uD; + Jh.initCutValues = cD; + Jh.calcCutValue = qte; + Jh.leaveEdge = jte; + Jh.enterEdge = Kte; + Jh.exchangeEdges = Qte; + o(Jh, 'networkSimplex'); + o(cD, 'initCutValues'); + o(dRe, 'assignCutValue'); + o(qte, 'calcCutValue'); + o(uD, 'initLowLimValues'); + o(Xte, 'dfsAssignLowLim'); + o(jte, 'leaveEdge'); + o(Kte, 'enterEdge'); + o(Qte, 'exchangeEdges'); + o(pRe, 'updateRanks'); + o(mRe, 'isTreeEdge'); + o(Wte, 'isDescendant'); + }); + function hD(t) { + switch (t.graph().ranker) { + case 'network-simplex': + Jte(t); + break; + case 'tight-tree': + yRe(t); + break; + case 'longest-path': + gRe(t); + break; + default: + Jte(t); + } + } + function yRe(t) { + Iv(t), rT(t); + } + function Jte(t) { + Jh(t); + } + var gRe, + fD = R(() => { + 'use strict'; + eD(); + Zte(); + tT(); + o(hD, 'rank'); + gRe = Iv; + o(yRe, 'tightTreeRanker'); + o(Jte, 'networkSimplexRanker'); + }); + function ere(t) { + var e = kc(t, 'root', {}, '_root'), + r = vRe(t), + n = _s(or(r)) - 1, + i = 2 * n + 1; + (t.graph().nestingRoot = e), + Ee(t.edges(), function (s) { + t.edge(s).minlen *= i; + }); + var a = xRe(t) + 1; + Ee(t.children(), function (s) { + tre(t, e, i, a, n, r, s); + }), + (t.graph().nodeRankFactor = i); + } + function tre(t, e, r, n, i, a, s) { + var l = t.children(s); + if (!l.length) { + s !== e && t.setEdge(e, s, { weight: 0, minlen: r }); + return; + } + var u = jL(t, '_bt'), + h = jL(t, '_bb'), + f = t.node(s); + t.setParent(u, s), + (f.borderTop = u), + t.setParent(h, s), + (f.borderBottom = h), + Ee(l, function (d) { + tre(t, e, r, n, i, a, d); + var p = t.node(d), + m = p.borderTop ? p.borderTop : d, + g = p.borderBottom ? p.borderBottom : d, + y = p.borderTop ? n : 2 * n, + v = m !== g ? 1 : i - a[s] + 1; + t.setEdge(u, m, { weight: y, minlen: v, nestingEdge: !0 }), + t.setEdge(g, h, { weight: y, minlen: v, nestingEdge: !0 }); + }), + t.parent(s) || t.setEdge(e, u, { weight: 0, minlen: i + a[s] }); + } + function vRe(t) { + var e = {}; + function r(n, i) { + var a = t.children(n); + a && + a.length && + Ee(a, function (s) { + r(s, i + 1); + }), + (e[n] = i); + } + return ( + o(r, 'dfs'), + Ee(t.children(), function (n) { + r(n, 1); + }), + e + ); + } + function xRe(t) { + return Vr( + t.edges(), + function (e, r) { + return e + t.edge(r).weight; + }, + 0 + ); + } + function rre(t) { + var e = t.graph(); + t.removeNode(e.nestingRoot), + delete e.nestingRoot, + Ee(t.edges(), function (r) { + var n = t.edge(r); + n.nestingEdge && t.removeEdge(r); + }); + } + var nre = R(() => { + 'use strict'; + Pt(); + Ec(); + o(ere, 'run'); + o(tre, 'dfs'); + o(vRe, 'treeDepths'); + o(xRe, 'sumWeights'); + o(rre, 'cleanup'); + }); + function ire(t, e, r) { + var n = {}, + i; + Ee(r, function (a) { + for (var s = t.parent(a), l, u; s; ) { + if (((l = t.parent(s)), l ? ((u = n[l]), (n[l] = s)) : ((u = i), (i = s)), u && u !== s)) { + e.setEdge(u, s); + return; + } + s = l; + } + }); + } + var are = R(() => { + 'use strict'; + Pt(); + o(ire, 'addSubgraphConstraints'); + }); + function sre(t, e, r) { + var n = wRe(t), + i = new lr({ compound: !0 }).setGraph({ root: n }).setDefaultNodeLabel(function (a) { + return t.node(a); + }); + return ( + Ee(t.nodes(), function (a) { + var s = t.node(a), + l = t.parent(a); + (s.rank === e || (s.minRank <= e && e <= s.maxRank)) && + (i.setNode(a), + i.setParent(a, l || n), + Ee(t[r](a), function (u) { + var h = u.v === a ? u.w : u.v, + f = i.edge(h, a), + d = er(f) ? 0 : f.weight; + i.setEdge(h, a, { weight: t.edge(u).weight + d }); + }), + Xe(s, 'minRank') && + i.setNode(a, { + borderLeft: s.borderLeft[e], + borderRight: s.borderRight[e] + })); + }), + i + ); + } + function wRe(t) { + for (var e; t.hasNode((e = zd('_root'))); ); + return e; + } + var ore = R(() => { + 'use strict'; + Pt(); + ya(); + o(sre, 'buildLayerGraph'); + o(wRe, 'createRootNode'); + }); + function lre(t, e) { + for (var r = 0, n = 1; n < e.length; ++n) r += TRe(t, e[n - 1], e[n]); + return r; + } + function TRe(t, e, r) { + for ( + var n = Qw( + r, + qe(r, function (h, f) { + return f; + }) + ), + i = Gr( + qe(e, function (h) { + return Tc( + qe(t.outEdges(h), function (f) { + return { pos: n[f.w], weight: t.edge(f).weight }; + }), + 'pos' + ); + }) + ), + a = 1; + a < r.length; + + ) + a <<= 1; + var s = 2 * a - 1; + a -= 1; + var l = qe(new Array(s), function () { + return 0; + }), + u = 0; + return ( + Ee( + i.forEach(function (h) { + var f = h.pos + a; + l[f] += h.weight; + for (var d = 0; f > 0; ) f % 2 && (d += l[f + 1]), (f = (f - 1) >> 1), (l[f] += h.weight); + u += h.weight * d; + }) + ), + u + ); + } + var cre = R(() => { + 'use strict'; + Pt(); + o(lre, 'crossCount'); + o(TRe, 'twoLayerCrossCount'); + }); + function ure(t) { + var e = {}, + r = $r(t.nodes(), function (l) { + return !t.children(l).length; + }), + n = _s( + qe(r, function (l) { + return t.node(l).rank; + }) + ), + i = qe(Go(n + 1), function () { + return []; + }); + function a(l) { + if (!Xe(e, l)) { + e[l] = !0; + var u = t.node(l); + i[u.rank].push(l), Ee(t.successors(l), a); + } + } + o(a, 'dfs'); + var s = Tc(r, function (l) { + return t.node(l).rank; + }); + return Ee(s, a), i; + } + var hre = R(() => { + 'use strict'; + Pt(); + o(ure, 'initOrder'); + }); + function fre(t, e) { + return qe(e, function (r) { + var n = t.inEdges(r); + if (n.length) { + var i = Vr( + n, + function (a, s) { + var l = t.edge(s), + u = t.node(s.v); + return { + sum: a.sum + l.weight * u.order, + weight: a.weight + l.weight + }; + }, + { sum: 0, weight: 0 } + ); + return { v: r, barycenter: i.sum / i.weight, weight: i.weight }; + } else return { v: r }; + }); + } + var dre = R(() => { + 'use strict'; + Pt(); + o(fre, 'barycenter'); + }); + function pre(t, e) { + var r = {}; + Ee(t, function (i, a) { + var s = (r[i.v] = { indegree: 0, in: [], out: [], vs: [i.v], i: a }); + er(i.barycenter) || ((s.barycenter = i.barycenter), (s.weight = i.weight)); + }), + Ee(e.edges(), function (i) { + var a = r[i.v], + s = r[i.w]; + !er(a) && !er(s) && (s.indegree++, a.out.push(r[i.w])); + }); + var n = $r(r, function (i) { + return !i.indegree; + }); + return kRe(n); + } + function kRe(t) { + var e = []; + function r(a) { + return function (s) { + s.merged || ((er(s.barycenter) || er(a.barycenter) || s.barycenter >= a.barycenter) && ERe(a, s)); + }; + } + o(r, 'handleIn'); + function n(a) { + return function (s) { + s.in.push(a), --s.indegree === 0 && t.push(s); + }; + } + for (o(n, 'handleOut'); t.length; ) { + var i = t.pop(); + e.push(i), Ee(i.in.reverse(), r(i)), Ee(i.out, n(i)); + } + return qe( + $r(e, function (a) { + return !a.merged; + }), + function (a) { + return Fd(a, ['vs', 'i', 'barycenter', 'weight']); + } + ); + } + function ERe(t, e) { + var r = 0, + n = 0; + t.weight && ((r += t.barycenter * t.weight), (n += t.weight)), + e.weight && ((r += e.barycenter * e.weight), (n += e.weight)), + (t.vs = e.vs.concat(t.vs)), + (t.barycenter = r / n), + (t.weight = n), + (t.i = Math.min(e.i, t.i)), + (e.merged = !0); + } + var mre = R(() => { + 'use strict'; + Pt(); + o(pre, 'resolveConflicts'); + o(kRe, 'doResolveConflicts'); + o(ERe, 'mergeEntries'); + }); + function yre(t, e) { + var r = Tte(t, function (f) { + return Xe(f, 'barycenter'); + }), + n = r.lhs, + i = Tc(r.rhs, function (f) { + return -f.i; + }), + a = [], + s = 0, + l = 0, + u = 0; + n.sort(CRe(!!e)), + (u = gre(a, i, u)), + Ee(n, function (f) { + (u += f.vs.length), a.push(f.vs), (s += f.barycenter * f.weight), (l += f.weight), (u = gre(a, i, u)); + }); + var h = { vs: Gr(a) }; + return l && ((h.barycenter = s / l), (h.weight = l)), h; + } + function gre(t, e, r) { + for (var n; e.length && (n = ma(e)).i <= r; ) e.pop(), t.push(n.vs), r++; + return r; + } + function CRe(t) { + return function (e, r) { + return e.barycenter < r.barycenter ? -1 : e.barycenter > r.barycenter ? 1 : t ? r.i - e.i : e.i - r.i; + }; + } + var vre = R(() => { + 'use strict'; + Pt(); + Ec(); + o(yre, 'sort'); + o(gre, 'consumeUnsortable'); + o(CRe, 'compareWithBias'); + }); + function dD(t, e, r, n) { + var i = t.children(e), + a = t.node(e), + s = a ? a.borderLeft : void 0, + l = a ? a.borderRight : void 0, + u = {}; + s && + (i = $r(i, function (g) { + return g !== s && g !== l; + })); + var h = fre(t, i); + Ee(h, function (g) { + if (t.children(g.v).length) { + var y = dD(t, g.v, r, n); + (u[g.v] = y), Xe(y, 'barycenter') && ARe(g, y); + } + }); + var f = pre(h, r); + SRe(f, u); + var d = yre(f, n); + if (s && ((d.vs = Gr([s, d.vs, l])), t.predecessors(s).length)) { + var p = t.node(t.predecessors(s)[0]), + m = t.node(t.predecessors(l)[0]); + Xe(d, 'barycenter') || ((d.barycenter = 0), (d.weight = 0)), + (d.barycenter = (d.barycenter * d.weight + p.order + m.order) / (d.weight + 2)), + (d.weight += 2); + } + return d; + } + function SRe(t, e) { + Ee(t, function (r) { + r.vs = Gr( + r.vs.map(function (n) { + return e[n] ? e[n].vs : n; + }) + ); + }); + } + function ARe(t, e) { + er(t.barycenter) + ? ((t.barycenter = e.barycenter), (t.weight = e.weight)) + : ((t.barycenter = (t.barycenter * t.weight + e.barycenter * e.weight) / (t.weight + e.weight)), + (t.weight += e.weight)); + } + var xre = R(() => { + 'use strict'; + Pt(); + dre(); + mre(); + vre(); + o(dD, 'sortSubgraph'); + o(SRe, 'expandSubgraphs'); + o(ARe, 'mergeBarycenters'); + }); + function Tre(t) { + var e = KL(t), + r = bre(t, Go(1, e + 1), 'inEdges'), + n = bre(t, Go(e - 1, -1, -1), 'outEdges'), + i = ure(t); + wre(t, i); + for (var a = Number.POSITIVE_INFINITY, s, l = 0, u = 0; u < 4; ++l, ++u) { + _Re(l % 2 ? r : n, l % 4 >= 2), (i = Qh(t)); + var h = lre(t, i); + h < a && ((u = 0), (s = yL(i)), (a = h)); + } + wre(t, s); + } + function bre(t, e, r) { + return qe(e, function (n) { + return sre(t, n, r); + }); + } + function _Re(t, e) { + var r = new lr(); + Ee(t, function (n) { + var i = n.graph().root, + a = dD(n, i, r, e); + Ee(a.vs, function (s, l) { + n.node(s).order = l; + }), + ire(n, r, a.vs); + }); + } + function wre(t, e) { + Ee(e, function (r) { + Ee(r, function (n, i) { + t.node(n).order = i; + }); + }); + } + var kre = R(() => { + 'use strict'; + Pt(); + ya(); + Ec(); + are(); + ore(); + cre(); + hre(); + xre(); + o(Tre, 'order'); + o(bre, 'buildLayerGraphs'); + o(_Re, 'sweepLayerGraphs'); + o(wre, 'assignOrder'); + }); + function Ere(t) { + var e = DRe(t); + Ee(t.graph().dummyChains, function (r) { + for ( + var n = t.node(r), + i = n.edgeObj, + a = LRe(t, e, i.v, i.w), + s = a.path, + l = a.lca, + u = 0, + h = s[u], + f = !0; + r !== i.w; + + ) { + if (((n = t.node(r)), f)) { + for (; (h = s[u]) !== l && t.node(h).maxRank < n.rank; ) u++; + h === l && (f = !1); + } + if (!f) { + for (; u < s.length - 1 && t.node((h = s[u + 1])).minRank <= n.rank; ) u++; + h = s[u]; + } + t.setParent(r, h), (r = t.successors(r)[0]); + } + }); + } + function LRe(t, e, r, n) { + var i = [], + a = [], + s = Math.min(e[r].low, e[n].low), + l = Math.max(e[r].lim, e[n].lim), + u, + h; + u = r; + do (u = t.parent(u)), i.push(u); + while (u && (e[u].low > s || l > e[u].lim)); + for (h = u, u = n; (u = t.parent(u)) !== h; ) a.push(u); + return { path: i.concat(a.reverse()), lca: h }; + } + function DRe(t) { + var e = {}, + r = 0; + function n(i) { + var a = r; + Ee(t.children(i), n), (e[i] = { low: a, lim: r++ }); + } + return o(n, 'dfs'), Ee(t.children(), n), e; + } + var Cre = R(() => { + 'use strict'; + Pt(); + o(Ere, 'parentDummyChains'); + o(LRe, 'findPath'); + o(DRe, 'postorder'); + }); + function RRe(t, e) { + var r = {}; + function n(i, a) { + var s = 0, + l = 0, + u = i.length, + h = ma(a); + return ( + Ee(a, function (f, d) { + var p = MRe(t, f), + m = p ? t.node(p).order : u; + (p || f === h) && + (Ee(a.slice(l, d + 1), function (g) { + Ee(t.predecessors(g), function (y) { + var v = t.node(y), + x = v.order; + (x < s || m < x) && !(v.dummy && t.node(g).dummy) && Sre(r, y, g); + }); + }), + (l = d + 1), + (s = m)); + }), + a + ); + } + return o(n, 'visitLayer'), Vr(e, n), r; + } + function NRe(t, e) { + var r = {}; + function n(a, s, l, u, h) { + var f; + Ee(Go(s, l), function (d) { + (f = a[d]), + t.node(f).dummy && + Ee(t.predecessors(f), function (p) { + var m = t.node(p); + m.dummy && (m.order < u || m.order > h) && Sre(r, p, f); + }); + }); + } + o(n, 'scan'); + function i(a, s) { + var l = -1, + u, + h = 0; + return ( + Ee(s, function (f, d) { + if (t.node(f).dummy === 'border') { + var p = t.predecessors(f); + p.length && ((u = t.node(p[0]).order), n(s, h, d, l, u), (h = d), (l = u)); + } + n(s, h, s.length, u, a.length); + }), + s + ); + } + return o(i, 'visitLayer'), Vr(e, i), r; + } + function MRe(t, e) { + if (t.node(e).dummy) + return Za(t.predecessors(e), function (r) { + return t.node(r).dummy; + }); + } + function Sre(t, e, r) { + if (e > r) { + var n = e; + (e = r), (r = n); + } + var i = t[e]; + i || (t[e] = i = {}), (i[r] = !0); + } + function IRe(t, e, r) { + if (e > r) { + var n = e; + (e = r), (r = n); + } + return Xe(t[e], r); + } + function ORe(t, e, r, n) { + var i = {}, + a = {}, + s = {}; + return ( + Ee(e, function (l) { + Ee(l, function (u, h) { + (i[u] = u), (a[u] = u), (s[u] = h); + }); + }), + Ee(e, function (l) { + var u = -1; + Ee(l, function (h) { + var f = n(h); + if (f.length) { + f = Tc(f, function (y) { + return s[y]; + }); + for (var d = (f.length - 1) / 2, p = Math.floor(d), m = Math.ceil(d); p <= m; ++p) { + var g = f[p]; + a[h] === h && u < s[g] && !IRe(r, h, g) && ((a[g] = h), (a[h] = i[h] = i[g]), (u = s[g])); + } + } + }); + }), + { root: i, align: a } + ); + } + function PRe(t, e, r, n, i) { + var a = {}, + s = BRe(t, e, r, i), + l = i ? 'borderLeft' : 'borderRight'; + function u(d, p) { + for (var m = s.nodes(), g = m.pop(), y = {}; g; ) + y[g] ? d(g) : ((y[g] = !0), m.push(g), (m = m.concat(p(g)))), (g = m.pop()); + } + o(u, 'iterate'); + function h(d) { + a[d] = s.inEdges(d).reduce(function (p, m) { + return Math.max(p, a[m.v] + s.edge(m)); + }, 0); + } + o(h, 'pass1'); + function f(d) { + var p = s.outEdges(d).reduce(function (g, y) { + return Math.min(g, a[y.w] - s.edge(y)); + }, Number.POSITIVE_INFINITY), + m = t.node(d); + p !== Number.POSITIVE_INFINITY && m.borderType !== l && (a[d] = Math.max(a[d], p)); + } + return ( + o(f, 'pass2'), + u(h, s.predecessors.bind(s)), + u(f, s.successors.bind(s)), + Ee(n, function (d) { + a[d] = a[r[d]]; + }), + a + ); + } + function BRe(t, e, r, n) { + var i = new lr(), + a = t.graph(), + s = $Re(a.nodesep, a.edgesep, n); + return ( + Ee(e, function (l) { + var u; + Ee(l, function (h) { + var f = r[h]; + if ((i.setNode(f), u)) { + var d = r[u], + p = i.edge(d, f); + i.setEdge(d, f, Math.max(s(t, h, u), p || 0)); + } + u = h; + }); + }), + i + ); + } + function FRe(t, e) { + return Bd(or(e), function (r) { + var n = Number.NEGATIVE_INFINITY, + i = Number.POSITIVE_INFINITY; + return ( + NL(r, function (a, s) { + var l = VRe(t, s) / 2; + (n = Math.max(a + l, n)), (i = Math.min(a - l, i)); + }), + n - i + ); + }); + } + function zRe(t, e) { + var r = or(e), + n = Ll(r), + i = _s(r); + Ee(['u', 'd'], function (a) { + Ee(['l', 'r'], function (s) { + var l = a + s, + u = t[l], + h; + if (u !== e) { + var f = or(u); + (h = s === 'l' ? n - Ll(f) : i - _s(f)), + h && + (t[l] = Pd(u, function (d) { + return d + h; + })); + } + }); + }); + } + function GRe(t, e) { + return Pd(t.ul, function (r, n) { + if (e) return t[e.toLowerCase()][n]; + var i = Tc(qe(t, n)); + return (i[1] + i[2]) / 2; + }); + } + function Are(t) { + var e = Qh(t), + r = Gh(RRe(t, e), NRe(t, e)), + n = {}, + i; + Ee(['u', 'd'], function (s) { + (i = s === 'u' ? e : or(e).reverse()), + Ee(['l', 'r'], function (l) { + l === 'r' && + (i = qe(i, function (d) { + return or(d).reverse(); + })); + var u = (s === 'u' ? t.predecessors : t.successors).bind(t), + h = ORe(t, i, r, u), + f = PRe(t, i, h.root, h.align, l === 'r'); + l === 'r' && + (f = Pd(f, function (d) { + return -d; + })), + (n[s + l] = f); + }); + }); + var a = FRe(t, n); + return zRe(n, a), GRe(n, t.graph().align); + } + function $Re(t, e, r) { + return function (n, i, a) { + var s = n.node(i), + l = n.node(a), + u = 0, + h; + if (((u += s.width / 2), Xe(s, 'labelpos'))) + switch (s.labelpos.toLowerCase()) { + case 'l': + h = -s.width / 2; + break; + case 'r': + h = s.width / 2; + break; + } + if ( + (h && (u += r ? h : -h), + (h = 0), + (u += (s.dummy ? e : t) / 2), + (u += (l.dummy ? e : t) / 2), + (u += l.width / 2), + Xe(l, 'labelpos')) + ) + switch (l.labelpos.toLowerCase()) { + case 'l': + h = l.width / 2; + break; + case 'r': + h = -l.width / 2; + break; + } + return h && (u += r ? h : -h), (h = 0), u; + }; + } + function VRe(t, e) { + return t.node(e).width; + } + var _re = R(() => { + 'use strict'; + Pt(); + ya(); + Ec(); + o(RRe, 'findType1Conflicts'); + o(NRe, 'findType2Conflicts'); + o(MRe, 'findOtherInnerSegmentNode'); + o(Sre, 'addConflict'); + o(IRe, 'hasConflict'); + o(ORe, 'verticalAlignment'); + o(PRe, 'horizontalCompaction'); + o(BRe, 'buildBlockGraph'); + o(FRe, 'findSmallestWidthAlignment'); + o(zRe, 'alignCoordinates'); + o(GRe, 'balance'); + o(Are, 'positionX'); + o($Re, 'sep'); + o(VRe, 'width'); + }); + function Lre(t) { + (t = eT(t)), + URe(t), + ML(Are(t), function (e, r) { + t.node(r).x = e; + }); + } + function URe(t) { + var e = Qh(t), + r = t.graph().ranksep, + n = 0; + Ee(e, function (i) { + var a = _s( + qe(i, function (s) { + return t.node(s).height; + }) + ); + Ee(i, function (s) { + t.node(s).y = n + a / 2; + }), + (n += a + r); + }); + } + var Dre = R(() => { + 'use strict'; + Pt(); + Ec(); + _re(); + o(Lre, 'position'); + o(URe, 'positionY'); + }); + function lo(t, e) { + var r = e && e.debugTiming ? kte : Ete; + r('layout', function () { + var n = r(' buildLayoutGraph', function () { + return eNe(t); + }); + r(' runLayout', function () { + HRe(n, r); + }), + r(' updateInputGraph', function () { + YRe(t, n); + }); + }); + } + function HRe(t, e) { + e(' makeSpaceForEdgeLabels', function () { + tNe(t); + }), + e(' removeSelfEdges', function () { + uNe(t); + }), + e(' acyclic', function () { + gte(t); + }), + e(' nestingGraph.run', function () { + ere(t); + }), + e(' rank', function () { + hD(eT(t)); + }), + e(' injectEdgeLabelProxies', function () { + rNe(t); + }), + e(' removeEmptyRanks', function () { + wte(t); + }), + e(' nestingGraph.cleanup', function () { + rre(t); + }), + e(' normalizeRanks', function () { + bte(t); + }), + e(' assignRankMinMax', function () { + nNe(t); + }), + e(' removeEdgeLabelProxies', function () { + iNe(t); + }), + e(' normalize.run', function () { + Mte(t); + }), + e(' parentDummyChains', function () { + Ere(t); + }), + e(' addBorderSegments', function () { + Ste(t); + }), + e(' order', function () { + Tre(t); + }), + e(' insertSelfEdges', function () { + hNe(t); + }), + e(' adjustCoordinateSystem', function () { + Lte(t); + }), + e(' position', function () { + Lre(t); + }), + e(' positionSelfEdges', function () { + fNe(t); + }), + e(' removeBorderNodes', function () { + cNe(t); + }), + e(' normalize.undo', function () { + Ite(t); + }), + e(' fixupEdgeLabelCoords', function () { + oNe(t); + }), + e(' undoCoordinateSystem', function () { + Dte(t); + }), + e(' translateGraph', function () { + aNe(t); + }), + e(' assignNodeIntersects', function () { + sNe(t); + }), + e(' reversePoints', function () { + lNe(t); + }), + e(' acyclic.undo', function () { + yte(t); + }); + } + function YRe(t, e) { + Ee(t.nodes(), function (r) { + var n = t.node(r), + i = e.node(r); + n && ((n.x = i.x), (n.y = i.y), e.children(r).length && ((n.width = i.width), (n.height = i.height))); + }), + Ee(t.edges(), function (r) { + var n = t.edge(r), + i = e.edge(r); + (n.points = i.points), Xe(i, 'x') && ((n.x = i.x), (n.y = i.y)); + }), + (t.graph().width = e.graph().width), + (t.graph().height = e.graph().height); + } + function eNe(t) { + var e = new lr({ multigraph: !0, compound: !0 }), + r = mD(t.graph()); + return ( + e.setGraph(Gh({}, qRe, pD(r, WRe), Fd(r, XRe))), + Ee(t.nodes(), function (n) { + var i = mD(t.node(n)); + e.setNode(n, Xh(pD(i, jRe), KRe)), e.setParent(n, t.parent(n)); + }), + Ee(t.edges(), function (n) { + var i = mD(t.edge(n)); + e.setEdge(n, Gh({}, ZRe, pD(i, QRe), Fd(i, JRe))); + }), + e + ); + } + function tNe(t) { + var e = t.graph(); + (e.ranksep /= 2), + Ee(t.edges(), function (r) { + var n = t.edge(r); + (n.minlen *= 2), + n.labelpos.toLowerCase() !== 'c' && + (e.rankdir === 'TB' || e.rankdir === 'BT' + ? (n.width += n.labeloffset) + : (n.height += n.labeloffset)); + }); + } + function rNe(t) { + Ee(t.edges(), function (e) { + var r = t.edge(e); + if (r.width && r.height) { + var n = t.node(e.v), + i = t.node(e.w), + a = { rank: (i.rank - n.rank) / 2 + n.rank, e }; + kc(t, 'edge-proxy', a, '_ep'); + } + }); + } + function nNe(t) { + var e = 0; + Ee(t.nodes(), function (r) { + var n = t.node(r); + n.borderTop && + ((n.minRank = t.node(n.borderTop).rank), + (n.maxRank = t.node(n.borderBottom).rank), + (e = _s(e, n.maxRank))); + }), + (t.graph().maxRank = e); + } + function iNe(t) { + Ee(t.nodes(), function (e) { + var r = t.node(e); + r.dummy === 'edge-proxy' && ((t.edge(r.e).labelRank = r.rank), t.removeNode(e)); + }); + } + function aNe(t) { + var e = Number.POSITIVE_INFINITY, + r = 0, + n = Number.POSITIVE_INFINITY, + i = 0, + a = t.graph(), + s = a.marginx || 0, + l = a.marginy || 0; + function u(h) { + var f = h.x, + d = h.y, + p = h.width, + m = h.height; + (e = Math.min(e, f - p / 2)), + (r = Math.max(r, f + p / 2)), + (n = Math.min(n, d - m / 2)), + (i = Math.max(i, d + m / 2)); + } + o(u, 'getExtremes'), + Ee(t.nodes(), function (h) { + u(t.node(h)); + }), + Ee(t.edges(), function (h) { + var f = t.edge(h); + Xe(f, 'x') && u(f); + }), + (e -= s), + (n -= l), + Ee(t.nodes(), function (h) { + var f = t.node(h); + (f.x -= e), (f.y -= n); + }), + Ee(t.edges(), function (h) { + var f = t.edge(h); + Ee(f.points, function (d) { + (d.x -= e), (d.y -= n); + }), + Xe(f, 'x') && (f.x -= e), + Xe(f, 'y') && (f.y -= n); + }), + (a.width = r - e + s), + (a.height = i - n + l); + } + function sNe(t) { + Ee(t.edges(), function (e) { + var r = t.edge(e), + n = t.node(e.v), + i = t.node(e.w), + a, + s; + r.points ? ((a = r.points[0]), (s = r.points[r.points.length - 1])) : ((r.points = []), (a = i), (s = n)), + r.points.unshift(XL(n, a)), + r.points.push(XL(i, s)); + }); + } + function oNe(t) { + Ee(t.edges(), function (e) { + var r = t.edge(e); + if (Xe(r, 'x')) + switch (((r.labelpos === 'l' || r.labelpos === 'r') && (r.width -= r.labeloffset), r.labelpos)) { + case 'l': + r.x -= r.width / 2 + r.labeloffset; + break; + case 'r': + r.x += r.width / 2 + r.labeloffset; + break; + } + }); + } + function lNe(t) { + Ee(t.edges(), function (e) { + var r = t.edge(e); + r.reversed && r.points.reverse(); + }); + } + function cNe(t) { + Ee(t.nodes(), function (e) { + if (t.children(e).length) { + var r = t.node(e), + n = t.node(r.borderTop), + i = t.node(r.borderBottom), + a = t.node(ma(r.borderLeft)), + s = t.node(ma(r.borderRight)); + (r.width = Math.abs(s.x - a.x)), + (r.height = Math.abs(i.y - n.y)), + (r.x = a.x + r.width / 2), + (r.y = n.y + r.height / 2); + } + }), + Ee(t.nodes(), function (e) { + t.node(e).dummy === 'border' && t.removeNode(e); + }); + } + function uNe(t) { + Ee(t.edges(), function (e) { + if (e.v === e.w) { + var r = t.node(e.v); + r.selfEdges || (r.selfEdges = []), r.selfEdges.push({ e, label: t.edge(e) }), t.removeEdge(e); + } + }); + } + function hNe(t) { + var e = Qh(t); + Ee(e, function (r) { + var n = 0; + Ee(r, function (i, a) { + var s = t.node(i); + (s.order = a + n), + Ee(s.selfEdges, function (l) { + kc( + t, + 'selfedge', + { + width: l.label.width, + height: l.label.height, + rank: s.rank, + order: a + ++n, + e: l.e, + label: l.label + }, + '_se' + ); + }), + delete s.selfEdges; + }); + }); + } + function fNe(t) { + Ee(t.nodes(), function (e) { + var r = t.node(e); + if (r.dummy === 'selfedge') { + var n = t.node(r.e.v), + i = n.x + n.width / 2, + a = n.y, + s = r.x - i, + l = n.height / 2; + t.setEdge(r.e, r.label), + t.removeNode(e), + (r.label.points = [ + { x: i + (2 * s) / 3, y: a - l }, + { x: i + (5 * s) / 6, y: a - l }, + { x: i + s, y: a }, + { x: i + (5 * s) / 6, y: a + l }, + { x: i + (2 * s) / 3, y: a + l } + ]), + (r.label.x = r.x), + (r.label.y = r.y); + } + }); + } + function pD(t, e) { + return Pd(Fd(t, e), Number); + } + function mD(t) { + var e = {}; + return ( + Ee(t, function (r, n) { + e[n.toLowerCase()] = r; + }), + e + ); + } + var WRe, + qRe, + XRe, + jRe, + KRe, + QRe, + ZRe, + JRe, + Rre = R(() => { + 'use strict'; + Pt(); + ya(); + Ate(); + Nte(); + qL(); + JL(); + fD(); + nre(); + kre(); + Cre(); + Dre(); + Ec(); + o(lo, 'layout'); + o(HRe, 'runLayout'); + o(YRe, 'updateInputGraph'); + (WRe = ['nodesep', 'edgesep', 'ranksep', 'marginx', 'marginy']), + (qRe = { ranksep: 50, edgesep: 20, nodesep: 50, rankdir: 'tb' }), + (XRe = ['acyclicer', 'ranker', 'rankdir', 'align']), + (jRe = ['width', 'height']), + (KRe = { width: 0, height: 0 }), + (QRe = ['minlen', 'weight', 'width', 'height', 'labeloffset']), + (ZRe = { + minlen: 1, + weight: 1, + width: 0, + height: 0, + labeloffset: 10, + labelpos: 'r' + }), + (JRe = ['labelpos']); + o(eNe, 'buildLayoutGraph'); + o(tNe, 'makeSpaceForEdgeLabels'); + o(rNe, 'injectEdgeLabelProxies'); + o(nNe, 'assignRankMinMax'); + o(iNe, 'removeEdgeLabelProxies'); + o(aNe, 'translateGraph'); + o(sNe, 'assignNodeIntersects'); + o(oNe, 'fixupEdgeLabelCoords'); + o(lNe, 'reversePointsForReversedEdges'); + o(cNe, 'removeBorderNodes'); + o(uNe, 'removeSelfEdges'); + o(hNe, 'insertSelfEdges'); + o(fNe, 'positionSelfEdges'); + o(pD, 'selectNumberAttrs'); + o(mD, 'canonicalize'); + }); + var Vd = R(() => { + 'use strict'; + qL(); + Rre(); + JL(); + fD(); + }); + function zn(t) { + var e = { + options: { + directed: t.isDirected(), + multigraph: t.isMultigraph(), + compound: t.isCompound() + }, + nodes: dNe(t), + edges: pNe(t) + }; + return er(t.graph()) || (e.value = Qr(t.graph())), e; + } + function dNe(t) { + return qe(t.nodes(), function (e) { + var r = t.node(e), + n = t.parent(e), + i = { v: e }; + return er(r) || (i.value = r), er(n) || (i.parent = n), i; + }); + } + function pNe(t) { + return qe(t.edges(), function (e) { + var r = t.edge(e), + n = { v: e.v, w: e.w }; + return er(e.name) || (n.name = e.name), er(r) || (n.value = r), n; + }); + } + var Pv = R(() => { + 'use strict'; + Pt(); + Zw(); + o(zn, 'write'); + o(dNe, 'writeNodes'); + o(pNe, 'writeEdges'); + }); + var cr, + Ud, + Mre, + Ire, + aT, + mNe, + Ore, + Pre, + gNe, + Bm, + Nre, + Bre, + Fre, + zre, + Gre, + $re = R(() => { + 'use strict'; + ut(); + ya(); + Pv(); + (cr = new Map()), + (Ud = new Map()), + (Mre = new Map()), + (Ire = o(() => { + Ud.clear(), Mre.clear(), cr.clear(); + }, 'clear')), + (aT = o((t, e) => { + let r = Ud.get(e) || []; + return V.trace('In isDescendant', e, ' ', t, ' = ', r.includes(t)), r.includes(t); + }, 'isDescendant')), + (mNe = o((t, e) => { + let r = Ud.get(e) || []; + return ( + V.info('Descendants of ', e, ' is ', r), + V.info('Edge is ', t), + t.v === e || t.w === e + ? !1 + : r + ? r.includes(t.v) || aT(t.v, e) || aT(t.w, e) || r.includes(t.w) + : (V.debug('Tilt, ', e, ',not in descendants'), !1) + ); + }, 'edgeInCluster')), + (Ore = o((t, e, r, n) => { + V.warn('Copying children of ', t, 'root', n, 'data', e.node(t), n); + let i = e.children(t) || []; + t !== n && i.push(t), + V.warn('Copying (nodes) clusterId', t, 'nodes', i), + i.forEach((a) => { + if (e.children(a).length > 0) Ore(a, e, r, n); + else { + let s = e.node(a); + V.info('cp ', a, ' to ', n, ' with parent ', t), + r.setNode(a, s), + n !== e.parent(a) && + (V.warn('Setting parent', a, e.parent(a)), r.setParent(a, e.parent(a))), + t !== n && a !== t + ? (V.debug('Setting parent', a, t), r.setParent(a, t)) + : (V.info('In copy ', t, 'root', n, 'data', e.node(t), n), + V.debug( + 'Not Setting parent for node=', + a, + 'cluster!==rootId', + t !== n, + 'node!==clusterId', + a !== t + )); + let l = e.edges(a); + V.debug('Copying Edges', l), + l.forEach((u) => { + V.info('Edge', u); + let h = e.edge(u.v, u.w, u.name); + V.info('Edge data', h, n); + try { + mNe(u, n) + ? (V.info('Copying as ', u.v, u.w, h, u.name), + r.setEdge(u.v, u.w, h, u.name), + V.info('newGraph edges ', r.edges(), r.edge(r.edges()[0]))) + : V.info( + 'Skipping copy of edge ', + u.v, + '-->', + u.w, + ' rootId: ', + n, + ' clusterId:', + t + ); + } catch (f) { + V.error(f); + } + }); + } + V.debug('Removing node', a), e.removeNode(a); + }); + }, 'copy')), + (Pre = o((t, e) => { + let r = e.children(t), + n = [...r]; + for (let i of r) Mre.set(i, t), (n = [...n, ...Pre(i, e)]); + return n; + }, 'extractDescendants')), + (gNe = o((t, e, r) => { + let n = t.edges().filter((u) => u.v === e || u.w === e), + i = t.edges().filter((u) => u.v === r || u.w === r), + a = n.map((u) => ({ + v: u.v === e ? r : u.v, + w: u.w === e ? e : u.w + })), + s = i.map((u) => ({ v: u.v, w: u.w })); + return a.filter((u) => s.some((h) => u.v === h.v && u.w === h.w)); + }, 'findCommonEdges')), + (Bm = o((t, e, r) => { + let n = e.children(t); + if ((V.trace('Searching children of id ', t, n), n.length < 1)) return t; + let i; + for (let a of n) { + let s = Bm(a, e, r), + l = gNe(e, r, s); + if (s) + if (l.length > 0) i = s; + else return s; + } + return i; + }, 'findNonClusterChild')), + (Nre = o( + (t) => (!cr.has(t) || !cr.get(t).externalConnections ? t : cr.has(t) ? cr.get(t).id : t), + 'getAnchorId' + )), + (Bre = o((t, e) => { + if (!t || e > 10) { + V.debug('Opting out, no graph '); + return; + } else V.debug('Opting in, graph '); + t.nodes().forEach(function (r) { + t.children(r).length > 0 && + (V.warn('Cluster identified', r, ' Replacement id in edges: ', Bm(r, t, r)), + Ud.set(r, Pre(r, t)), + cr.set(r, { id: Bm(r, t, r), clusterData: t.node(r) })); + }), + t.nodes().forEach(function (r) { + let n = t.children(r), + i = t.edges(); + n.length > 0 + ? (V.debug('Cluster identified', r, Ud), + i.forEach((a) => { + let s = aT(a.v, r), + l = aT(a.w, r); + s ^ l && + (V.warn('Edge: ', a, ' leaves cluster ', r), + V.warn('Descendants of XXX ', r, ': ', Ud.get(r)), + (cr.get(r).externalConnections = !0)); + })) + : V.debug('Not a cluster ', r, Ud); + }); + for (let r of cr.keys()) { + let n = cr.get(r).id, + i = t.parent(n); + i !== r && cr.has(i) && !cr.get(i).externalConnections && (cr.get(r).id = i); + } + t.edges().forEach(function (r) { + let n = t.edge(r); + V.warn('Edge ' + r.v + ' -> ' + r.w + ': ' + JSON.stringify(r)), + V.warn('Edge ' + r.v + ' -> ' + r.w + ': ' + JSON.stringify(t.edge(r))); + let i = r.v, + a = r.w; + if ( + (V.warn( + 'Fix XXX', + cr, + 'ids:', + r.v, + r.w, + 'Translating: ', + cr.get(r.v), + ' --- ', + cr.get(r.w) + ), + cr.get(r.v) || cr.get(r.w)) + ) { + if ( + (V.warn('Fixing and trying - removing XXX', r.v, r.w, r.name), + (i = Nre(r.v)), + (a = Nre(r.w)), + t.removeEdge(r.v, r.w, r.name), + i !== r.v) + ) { + let s = t.parent(i); + (cr.get(s).externalConnections = !0), (n.fromCluster = r.v); + } + if (a !== r.w) { + let s = t.parent(a); + (cr.get(s).externalConnections = !0), (n.toCluster = r.w); + } + V.warn('Fix Replacing with XXX', i, a, r.name), t.setEdge(i, a, n, r.name); + } + }), + V.warn('Adjusted Graph', zn(t)), + Fre(t, 0), + V.trace(cr); + }, 'adjustClustersAndEdges')), + (Fre = o((t, e) => { + if ((V.warn('extractor - ', e, zn(t), t.children('D')), e > 10)) { + V.error('Bailing out'); + return; + } + let r = t.nodes(), + n = !1; + for (let i of r) { + let a = t.children(i); + n = n || a.length > 0; + } + if (!n) { + V.debug('Done, no node has children', t.nodes()); + return; + } + V.debug('Nodes = ', r, e); + for (let i of r) + if ( + (V.debug( + 'Extracting node', + i, + cr, + cr.has(i) && !cr.get(i).externalConnections, + !t.parent(i), + t.node(i), + t.children('D'), + ' Depth ', + e + ), + !cr.has(i)) + ) + V.debug('Not a cluster', i, e); + else if (!cr.get(i).externalConnections && t.children(i) && t.children(i).length > 0) { + V.warn('Cluster without external connections, without a parent and with children', i, e); + let s = t.graph().rankdir === 'TB' ? 'LR' : 'TB'; + cr.get(i)?.clusterData?.dir && + ((s = cr.get(i).clusterData.dir), V.warn('Fixing dir', cr.get(i).clusterData.dir, s)); + let l = new lr({ multigraph: !0, compound: !0 }) + .setGraph({ + rankdir: s, + nodesep: 50, + ranksep: 50, + marginx: 8, + marginy: 8 + }) + .setDefaultEdgeLabel(function () { + return {}; + }); + V.warn('Old graph before copy', zn(t)), + Ore(i, t, l, i), + t.setNode(i, { + clusterNode: !0, + id: i, + clusterData: cr.get(i).clusterData, + label: cr.get(i).label, + graph: l + }), + V.warn('New graph after copy node: (', i, ')', zn(l)), + V.debug('Old graph after copy', zn(t)); + } else + V.warn( + 'Cluster ** ', + i, + ' **not meeting the criteria !externalConnections:', + !cr.get(i).externalConnections, + ' no parent: ', + !t.parent(i), + ' children ', + t.children(i) && t.children(i).length > 0, + t.children('D'), + e + ), + V.debug(cr); + (r = t.nodes()), V.warn('New list of nodes', r); + for (let i of r) { + let a = t.node(i); + V.warn(' Now next level', i, a), a?.clusterNode && Fre(a.graph, e + 1); + } + }, 'extractor')), + (zre = o((t, e) => { + if (e.length === 0) return []; + let r = Object.assign([], e); + return ( + e.forEach((n) => { + let i = t.children(n), + a = zre(t, i); + r = [...r, ...a]; + }), + r + ); + }, 'sorter')), + (Gre = o((t) => zre(t, t.children()), 'sortNodesByHierarchy')); + }); + var Ure = {}; + hr(Ure, { render: () => yNe }); + var Vre, + yNe, + Hre = R(() => { + 'use strict'; + Vd(); + Pv(); + ya(); + Q9(); + ri(); + $re(); + tL(); + X9(); + K9(); + ut(); + _d(); + _t(); + (Vre = o(async (t, e, r, n, i, a) => { + V.warn('Graph in recursive render:XAX', zn(e), i); + let s = e.graph().rankdir; + V.trace('Dir in recursive render - dir:', s); + let l = t.insert('g').attr('class', 'root'); + e.nodes() ? V.info('Recursive render XXX', e.nodes()) : V.info('No nodes found for', e), + e.edges().length > 0 && V.info('Recursive edges', e.edge(e.edges()[0])); + let u = l.insert('g').attr('class', 'clusters'), + h = l.insert('g').attr('class', 'edgePaths'), + f = l.insert('g').attr('class', 'edgeLabels'), + d = l.insert('g').attr('class', 'nodes'); + await Promise.all( + e.nodes().map(async function (y) { + let v = e.node(y); + if (i !== void 0) { + let x = JSON.parse(JSON.stringify(i.clusterData)); + V.trace( + `Setting data for parent cluster XXX + Node.id = `, + y, + ` + data=`, + x.height, + ` +Parent cluster`, + i.height + ), + e.setNode(i.id, x), + e.parent(y) || (V.trace('Setting parent', y, i.id), e.setParent(y, i.id, x)); + } + if ((V.info('(Insert) Node XXX' + y + ': ' + JSON.stringify(e.node(y))), v?.clusterNode)) { + V.info('Cluster identified XBX', y, v.width, e.node(y)); + let { ranksep: x, nodesep: b } = e.graph(); + v.graph.setGraph({ + ...v.graph.graph(), + ranksep: x + 25, + nodesep: b + }); + let w = await Vre(d, v.graph, r, n, e.node(y), a), + S = w.elem; + ar(v, S), + (v.diff = w.diff || 0), + V.info( + 'New compound node after recursive render XAX', + y, + 'width', + v.width, + 'height', + v.height + ), + lQ(S, v); + } else e.children(y).length > 0 ? (V.trace('Cluster - the non recursive path XBX', y, v.id, v, v.width, 'Graph:', e), V.trace(Bm(v.id, e)), cr.set(v.id, { id: Bm(v.id, e), node: v })) : (V.trace('Node - the non recursive path XAX', y, d, e.node(y), s), await rw(d, e.node(y), s)); + }) + ), + await o(async () => { + let y = e.edges().map(async function (v) { + let x = e.edge(v.v, v.w, v.name); + V.info('Edge ' + v.v + ' -> ' + v.w + ': ' + JSON.stringify(v)), + V.info('Edge ' + v.v + ' -> ' + v.w + ': ', v, ' ', JSON.stringify(e.edge(v))), + V.info('Fix', cr, 'ids:', v.v, v.w, 'Translating: ', cr.get(v.v), cr.get(v.w)), + await Q5(f, x); + }); + await Promise.all(y); + }, 'processEdges')(), + V.info('Graph before layout:', JSON.stringify(zn(e))), + V.info('############################################# XXX'), + V.info('### Layout ### XXX'), + V.info('############################################# XXX'), + lo(e), + V.info('Graph after layout:', JSON.stringify(zn(e))); + let m = 0, + { subGraphTitleTotalMargin: g } = io(a); + return ( + await Promise.all( + Gre(e).map(async function (y) { + let v = e.node(y); + if ( + (V.info( + 'Position XBX => ' + y + ': (' + v.x, + ',' + v.y, + ') width: ', + v.width, + ' height: ', + v.height + ), + v?.clusterNode) + ) + (v.y += g), + V.info( + 'A tainted cluster node XBX1', + y, + v.id, + v.width, + v.height, + v.x, + v.y, + e.parent(y) + ), + (cr.get(v.id).node = v), + eL(v); + else if (e.children(y).length > 0) { + V.info('A pure cluster node XBX1', y, v.id, v.x, v.y, v.width, v.height, e.parent(y)), + (v.height += g), + e.node(v.parentId); + let x = v?.padding / 2 || 0, + b = v?.labelBBox?.height || 0, + w = b - x || 0; + V.debug('OffsetY', w, 'labelHeight', b, 'halfPadding', x), + await Y5(u, v), + (cr.get(v.id).node = v); + } else { + let x = e.node(v.parentId); + (v.y += g / 2), + V.info( + 'A regular node XBX1 - using the padding', + v.id, + 'parent', + v.parentId, + v.width, + v.height, + v.x, + v.y, + 'offsetY', + v.offsetY, + 'parent', + x, + x?.offsetY, + v + ), + eL(v); + } + }) + ), + e.edges().forEach(function (y) { + let v = e.edge(y); + V.info('Edge ' + y.v + ' -> ' + y.w + ': ' + JSON.stringify(v), v), + v.points.forEach((S) => (S.y += g / 2)); + let x = e.node(y.v); + var b = e.node(y.w); + let w = J5(h, v, cr, r, x, b, n); + Z5(v, w); + }), + e.nodes().forEach(function (y) { + let v = e.node(y); + V.info(y, v.type, v.diff), v.isGroup && (m = v.diff); + }), + V.warn('Returning from recursive render XAX', l, m), + { elem: l, diff: m } + ); + }, 'recursiveRender')), + (yNe = o(async (t, e) => { + let r = new lr({ multigraph: !0, compound: !0 }) + .setGraph({ + rankdir: t.direction, + nodesep: t.config?.nodeSpacing || t.config?.flowchart?.nodeSpacing || t.nodeSpacing, + ranksep: t.config?.rankSpacing || t.config?.flowchart?.rankSpacing || t.rankSpacing, + marginx: 8, + marginy: 8 + }) + .setDefaultEdgeLabel(function () { + return {}; + }), + n = e.select('g'); + ew(n, t.markers, t.type, t.diagramId), + cQ(), + lK(), + rK(), + Ire(), + t.nodes.forEach((a) => { + r.setNode(a.id, { ...a }), a.parentId && r.setParent(a.id, a.parentId); + }), + V.debug('Edges:', t.edges), + t.edges.forEach((a) => { + if (a.start === a.end) { + let s = a.start, + l = s + '---' + s + '---1', + u = s + '---' + s + '---2', + h = r.node(s); + r.setNode(l, { + domId: l, + id: l, + parentId: h.parentId, + labelStyle: '', + label: '', + padding: 0, + shape: 'labelRect', + style: '', + width: 10, + height: 10 + }), + r.setParent(l, h.parentId), + r.setNode(u, { + domId: u, + id: u, + parentId: h.parentId, + labelStyle: '', + padding: 0, + shape: 'labelRect', + label: '', + style: '', + width: 10, + height: 10 + }), + r.setParent(u, h.parentId); + let f = structuredClone(a), + d = structuredClone(a), + p = structuredClone(a); + (f.label = ''), + (f.arrowTypeEnd = 'none'), + (f.id = s + '-cyclic-special-1'), + (d.arrowTypeEnd = 'none'), + (d.id = s + '-cyclic-special-mid'), + (p.label = ''), + h.isGroup && ((f.fromCluster = s), (p.toCluster = s)), + (p.id = s + '-cyclic-special-2'), + r.setEdge(s, l, f, s + '-cyclic-special-0'), + r.setEdge(l, u, d, s + '-cyclic-special-1'), + r.setEdge(u, s, p, s + '-cyc { + 'use strict'; + hQ(); + ut(); + (Bv = {}), + (gD = o((t) => { + for (let e of t) Bv[e.name] = e; + }, 'registerLayoutLoaders')), + (vNe = o(() => { + gD([ + { + name: 'dagre', + loader: o(async () => await Promise.resolve().then(() => (Hre(), Ure)), 'loader') + } + ]); + }, 'registerDefaultLayoutLoaders')); + vNe(); + (sT = o(async (t, e) => { + if (!(t.layoutAlgorithm in Bv)) throw new Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`); + let r = Bv[t.layoutAlgorithm]; + return (await r.loader()).render(t, e, uQ, { algorithm: r.algorithm }); + }, 'render')), + (Yre = o((t = '', { fallback: e = 'dagre' } = {}) => { + if (t in Bv) return t; + if (e in Bv) return V.warn(`Layout algorithm ${t} is not registered. Using ${e} as fallback.`), e; + throw new Error(`Both layout algorithms ${t} and ${e} are not registered.`); + }, 'getRegisteredLayoutAlgorithm')); + }); + var lT, + xNe, + bNe, + yD = R(() => { + 'use strict'; + Yn(); + ut(); + (lT = o((t, e, r, n) => { + t.attr('class', r); + let { width: i, height: a, x: s, y: l } = xNe(t, e); + Sr(t, a, i, n); + let u = bNe(s, l, i, a, e); + t.attr('viewBox', u), V.debug(`viewBox configured: ${u} with padding: ${e}`); + }, 'setupViewPortForSVG')), + (xNe = o((t, e) => { + let r = t.node()?.getBBox() || { width: 0, height: 0, x: 0, y: 0 }; + return { + width: r.width + e * 2, + height: r.height + e * 2, + x: r.x, + y: r.y + }; + }, 'calculateDimensionsWithPadding')), + (bNe = o((t, e, r, n, i) => `${t - i} ${e - i} ${r} ${n}`, 'createViewBox')); + }); + var wNe, + TNe, + Wre, + qre = R(() => { + 'use strict'; + Zt(); + _t(); + ut(); + L9(); + oT(); + yD(); + xr(); + f9(); + (wNe = o(function (t, e) { + return e.db.getClasses(); + }, 'getClasses')), + (TNe = o(async function (t, e, r, n) { + V.info('REF0:'), V.info('Drawing state diagram (v2)', e); + let { securityLevel: i, flowchart: a, layout: s } = de(), + l; + i === 'sandbox' && (l = $e('#i' + e)); + let u = i === 'sandbox' ? l.nodes()[0].contentDocument : document; + V.debug('Before getData: '); + let h = n.db.getData(); + V.debug('Data: ', h); + let f = I5(e, i), + d = h9(); + (h.type = n.type), + (h.layoutAlgorithm = Yre(s)), + h.layoutAlgorithm === 'dagre' && + s === 'elk' && + V.warn( + 'flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback.' + ), + (h.direction = d), + (h.nodeSpacing = a?.nodeSpacing || 50), + (h.rankSpacing = a?.rankSpacing || 50), + (h.markers = ['point', 'circle', 'cross']), + (h.diagramId = e), + V.debug('REF1:', h), + await sT(h, f); + let p = h.config.flowchart?.diagramPadding ?? 8; + Lt.insertTitle(f, 'flowchartTitleText', a?.titleTopMargin || 0, n.db.getDiagramTitle()), + lT(f, p, 'flowchart', a?.useMaxWidth || !1); + for (let m of h.nodes) { + let g = $e(`#${e} [id="${m.id}"]`); + if (!g || !m.link) continue; + let y = u.createElementNS('http://www.w3.org/2000/svg', 'a'); + y.setAttributeNS('http://www.w3.org/2000/svg', 'class', m.cssClasses), + y.setAttributeNS('http://www.w3.org/2000/svg', 'rel', 'noopener'), + i === 'sandbox' + ? y.setAttributeNS('http://www.w3.org/2000/svg', 'target', '_top') + : m.linkTarget && + y.setAttributeNS('http://www.w3.org/2000/svg', 'target', m.linkTarget); + let v = g.insert(function () { + return y; + }, ':first-child'), + x = g.select('.label-container'); + x && + v.append(function () { + return x.node(); + }); + let b = g.select('.label'); + b && + v.append(function () { + return b.node(); + }); + } + }, 'draw')), + (Wre = { getClasses: wNe, draw: TNe }); + }); + var vD, + Xre, + jre = R(() => { + 'use strict'; + vD = (function () { + var t = o(function (qi, ht, At, $t) { + for (At = At || {}, $t = qi.length; $t--; At[qi[$t]] = ht); + return At; + }, 'o'), + e = [1, 4], + r = [1, 3], + n = [1, 5], + i = [ + 1, 8, 9, 10, 11, 27, 34, 36, 38, 42, 58, 81, 82, 83, 84, 85, 86, 99, 102, 103, 106, 108, 111, + 112, 113, 118, 119, 120, 121 + ], + a = [2, 2], + s = [1, 13], + l = [1, 14], + u = [1, 15], + h = [1, 16], + f = [1, 23], + d = [1, 25], + p = [1, 26], + m = [1, 27], + g = [1, 49], + y = [1, 48], + v = [1, 29], + x = [1, 30], + b = [1, 31], + w = [1, 32], + S = [1, 33], + T = [1, 44], + E = [1, 46], + _ = [1, 42], + A = [1, 47], + L = [1, 43], + M = [1, 50], + N = [1, 45], + k = [1, 51], + I = [1, 52], + C = [1, 34], + O = [1, 35], + D = [1, 36], + P = [1, 37], + F = [1, 57], + B = [ + 1, 8, 9, 10, 11, 27, 32, 34, 36, 38, 42, 58, 81, 82, 83, 84, 85, 86, 99, 102, 103, 106, 108, + 111, 112, 113, 118, 119, 120, 121 + ], + $ = [1, 61], + z = [1, 60], + Y = [1, 62], + Q = [8, 9, 11, 73, 75], + X = [1, 88], + ie = [1, 93], + j = [1, 92], + J = [1, 89], + Z = [1, 85], + H = [1, 91], + q = [1, 87], + K = [1, 94], + se = [1, 90], + ce = [1, 95], + ue = [1, 86], + te = [8, 9, 10, 11, 73, 75], + De = [8, 9, 10, 11, 44, 73, 75], + oe = [ + 8, 9, 10, 11, 29, 42, 44, 46, 48, 50, 52, 54, 56, 58, 61, 63, 65, 66, 68, 73, 75, 86, 99, 102, + 103, 106, 108, 111, 112, 113 + ], + ke = [8, 9, 11, 42, 58, 73, 75, 86, 99, 102, 103, 106, 108, 111, 112, 113], + Ie = [42, 58, 86, 99, 102, 103, 106, 108, 111, 112, 113], + Se = [1, 121], + Ue = [1, 120], + Pe = [1, 128], + _e = [1, 142], + me = [1, 143], + W = [1, 144], + fe = [1, 145], + ge = [1, 130], + re = [1, 132], + he = [1, 136], + ne = [1, 137], + ae = [1, 138], + we = [1, 139], + Te = [1, 140], + Ce = [1, 141], + Ae = [1, 146], + Ge = [1, 147], + Me = [1, 126], + ye = [1, 127], + He = [1, 134], + ze = [1, 129], + Ze = [1, 133], + gt = [1, 131], + yt = [ + 8, 9, 10, 11, 27, 32, 34, 36, 38, 42, 58, 81, 82, 83, 84, 85, 86, 99, 102, 103, 106, 108, 111, + 112, 113, 118, 119, 120, 121 + ], + tt = [1, 149], + Ye = [8, 9, 11], + Je = [8, 9, 10, 11, 14, 42, 58, 86, 102, 103, 106, 108, 111, 112, 113], + Ve = [1, 169], + je = [1, 165], + kt = [1, 166], + at = [1, 170], + xt = [1, 167], + it = [1, 168], + dt = [75, 113, 116], + lt = [ + 8, 9, 10, 11, 12, 14, 27, 29, 32, 42, 58, 73, 81, 82, 83, 84, 85, 86, 87, 102, 106, 108, 111, + 112, 113 + ], + It = [10, 103], + mt = [31, 47, 49, 51, 53, 55, 60, 62, 64, 65, 67, 69, 113, 114, 115], + St = [1, 235], + gr = [1, 233], + xn = [1, 237], + jt = [1, 231], + rn = [1, 232], + Er = [1, 234], + Kn = [1, 236], + hn = [1, 238], + Qn = [1, 255], + on = [8, 9, 11, 103], + Rn = [8, 9, 10, 11, 58, 81, 102, 103, 106, 107, 108, 109], + Ha = { + trace: o(function () {}, 'trace'), + yy: {}, + symbols_: { + error: 2, + start: 3, + graphConfig: 4, + document: 5, + line: 6, + statement: 7, + SEMI: 8, + NEWLINE: 9, + SPACE: 10, + EOF: 11, + GRAPH: 12, + NODIR: 13, + DIR: 14, + FirstStmtSeparator: 15, + ending: 16, + endToken: 17, + spaceList: 18, + spaceListNewline: 19, + vertexStatement: 20, + separator: 21, + styleStatement: 22, + linkStyleStatement: 23, + classDefStatement: 24, + classStatement: 25, + clickStatement: 26, + subgraph: 27, + textNoTags: 28, + SQS: 29, + text: 30, + SQE: 31, + end: 32, + direction: 33, + acc_title: 34, + acc_title_value: 35, + acc_descr: 36, + acc_descr_value: 37, + acc_descr_multiline_value: 38, + link: 39, + node: 40, + styledVertex: 41, + AMP: 42, + vertex: 43, + STYLE_SEPARATOR: 44, + idString: 45, + DOUBLECIRCLESTART: 46, + DOUBLECIRCLEEND: 47, + PS: 48, + PE: 49, + '(-': 50, + '-)': 51, + STADIUMSTART: 52, + STADIUMEND: 53, + SUBROUTINESTART: 54, + SUBROUTINEEND: 55, + VERTEX_WITH_PROPS_START: 56, + 'NODE_STRING[field]': 57, + COLON: 58, + 'NODE_STRING[value]': 59, + PIPE: 60, + CYLINDERSTART: 61, + CYLINDEREND: 62, + DIAMOND_START: 63, + DIAMOND_STOP: 64, + TAGEND: 65, + TRAPSTART: 66, + TRAPEND: 67, + INVTRAPSTART: 68, + INVTRAPEND: 69, + linkStatement: 70, + arrowText: 71, + TESTSTR: 72, + START_LINK: 73, + edgeText: 74, + LINK: 75, + edgeTextToken: 76, + STR: 77, + MD_STR: 78, + textToken: 79, + keywords: 80, + STYLE: 81, + LINKSTYLE: 82, + CLASSDEF: 83, + CLASS: 84, + CLICK: 85, + DOWN: 86, + UP: 87, + textNoTagsToken: 88, + stylesOpt: 89, + 'idString[vertex]': 90, + 'idString[class]': 91, + CALLBACKNAME: 92, + CALLBACKARGS: 93, + HREF: 94, + LINK_TARGET: 95, + 'STR[link]': 96, + 'STR[tooltip]': 97, + alphaNum: 98, + DEFAULT: 99, + numList: 100, + INTERPOLATE: 101, + NUM: 102, + COMMA: 103, + style: 104, + styleComponent: 105, + NODE_STRING: 106, + UNIT: 107, + BRKT: 108, + PCT: 109, + idStringToken: 110, + MINUS: 111, + MULT: 112, + UNICODE_TEXT: 113, + TEXT: 114, + TAGSTART: 115, + EDGE_TEXT: 116, + alphaNumToken: 117, + direction_tb: 118, + direction_bt: 119, + direction_rl: 120, + direction_lr: 121, + $accept: 0, + $end: 1 + }, + terminals_: { + 2: 'error', + 8: 'SEMI', + 9: 'NEWLINE', + 10: 'SPACE', + 11: 'EOF', + 12: 'GRAPH', + 13: 'NODIR', + 14: 'DIR', + 27: 'subgraph', + 29: 'SQS', + 31: 'SQE', + 32: 'end', + 34: 'acc_title', + 35: 'acc_title_value', + 36: 'acc_descr', + 37: 'acc_descr_value', + 38: 'acc_descr_multiline_value', + 42: 'AMP', + 44: 'STYLE_SEPARATOR', + 46: 'DOUBLECIRCLESTART', + 47: 'DOUBLECIRCLEEND', + 48: 'PS', + 49: 'PE', + 50: '(-', + 51: '-)', + 52: 'STADIUMSTART', + 53: 'STADIUMEND', + 54: 'SUBROUTINESTART', + 55: 'SUBROUTINEEND', + 56: 'VERTEX_WITH_PROPS_START', + 57: 'NODE_STRING[field]', + 58: 'COLON', + 59: 'NODE_STRING[value]', + 60: 'PIPE', + 61: 'CYLINDERSTART', + 62: 'CYLINDEREND', + 63: 'DIAMOND_START', + 64: 'DIAMOND_STOP', + 65: 'TAGEND', + 66: 'TRAPSTART', + 67: 'TRAPEND', + 68: 'INVTRAPSTART', + 69: 'INVTRAPEND', + 72: 'TESTSTR', + 73: 'START_LINK', + 75: 'LINK', + 77: 'STR', + 78: 'MD_STR', + 81: 'STYLE', + 82: 'LINKSTYLE', + 83: 'CLASSDEF', + 84: 'CLASS', + 85: 'CLICK', + 86: 'DOWN', + 87: 'UP', + 90: 'idString[vertex]', + 91: 'idString[class]', + 92: 'CALLBACKNAME', + 93: 'CALLBACKARGS', + 94: 'HREF', + 95: 'LINK_TARGET', + 96: 'STR[link]', + 97: 'STR[tooltip]', + 99: 'DEFAULT', + 101: 'INTERPOLATE', + 102: 'NUM', + 103: 'COMMA', + 106: 'NODE_STRING', + 107: 'UNIT', + 108: 'BRKT', + 109: 'PCT', + 111: 'MINUS', + 112: 'MULT', + 113: 'UNICODE_TEXT', + 114: 'TEXT', + 115: 'TAGSTART', + 116: 'EDGE_TEXT', + 118: 'direction_tb', + 119: 'direction_bt', + 120: 'direction_rl', + 121: 'direction_lr' + }, + productions_: [ + 0, + [3, 2], + [5, 0], + [5, 2], + [6, 1], + [6, 1], + [6, 1], + [6, 1], + [6, 1], + [4, 2], + [4, 2], + [4, 2], + [4, 3], + [16, 2], + [16, 1], + [17, 1], + [17, 1], + [17, 1], + [15, 1], + [15, 1], + [15, 2], + [19, 2], + [19, 2], + [19, 1], + [19, 1], + [18, 2], + [18, 1], + [7, 2], + [7, 2], + [7, 2], + [7, 2], + [7, 2], + [7, 2], + [7, 9], + [7, 6], + [7, 4], + [7, 1], + [7, 2], + [7, 2], + [7, 1], + [21, 1], + [21, 1], + [21, 1], + [20, 3], + [20, 4], + [20, 2], + [20, 1], + [40, 1], + [40, 5], + [41, 1], + [41, 3], + [43, 4], + [43, 4], + [43, 6], + [43, 4], + [43, 4], + [43, 4], + [43, 8], + [43, 4], + [43, 4], + [43, 4], + [43, 6], + [43, 4], + [43, 4], + [43, 4], + [43, 4], + [43, 4], + [43, 1], + [39, 2], + [39, 3], + [39, 3], + [39, 1], + [39, 3], + [74, 1], + [74, 2], + [74, 1], + [74, 1], + [70, 1], + [71, 3], + [30, 1], + [30, 2], + [30, 1], + [30, 1], + [80, 1], + [80, 1], + [80, 1], + [80, 1], + [80, 1], + [80, 1], + [80, 1], + [80, 1], + [80, 1], + [80, 1], + [80, 1], + [28, 1], + [28, 2], + [28, 1], + [28, 1], + [24, 5], + [25, 5], + [26, 2], + [26, 4], + [26, 3], + [26, 5], + [26, 3], + [26, 5], + [26, 5], + [26, 7], + [26, 2], + [26, 4], + [26, 2], + [26, 4], + [26, 4], + [26, 6], + [22, 5], + [23, 5], + [23, 5], + [23, 9], + [23, 9], + [23, 7], + [23, 7], + [100, 1], + [100, 3], + [89, 1], + [89, 3], + [104, 1], + [104, 2], + [105, 1], + [105, 1], + [105, 1], + [105, 1], + [105, 1], + [105, 1], + [105, 1], + [105, 1], + [110, 1], + [110, 1], + [110, 1], + [110, 1], + [110, 1], + [110, 1], + [110, 1], + [110, 1], + [110, 1], + [110, 1], + [110, 1], + [79, 1], + [79, 1], + [79, 1], + [79, 1], + [88, 1], + [88, 1], + [88, 1], + [88, 1], + [88, 1], + [88, 1], + [88, 1], + [88, 1], + [88, 1], + [88, 1], + [88, 1], + [76, 1], + [76, 1], + [117, 1], + [117, 1], + [117, 1], + [117, 1], + [117, 1], + [117, 1], + [117, 1], + [117, 1], + [117, 1], + [117, 1], + [117, 1], + [45, 1], + [45, 2], + [98, 1], + [98, 2], + [33, 1], + [33, 1], + [33, 1], + [33, 1] + ], + performAction: o(function (ht, At, $t, rt, Ot, pe, ur) { + var be = pe.length - 1; + switch (Ot) { + case 2: + this.$ = []; + break; + case 3: + (!Array.isArray(pe[be]) || pe[be].length > 0) && pe[be - 1].push(pe[be]), + (this.$ = pe[be - 1]); + break; + case 4: + case 176: + this.$ = pe[be]; + break; + case 11: + rt.setDirection('TB'), (this.$ = 'TB'); + break; + case 12: + rt.setDirection(pe[be - 1]), (this.$ = pe[be - 1]); + break; + case 27: + this.$ = pe[be - 1].nodes; + break; + case 28: + case 29: + case 30: + case 31: + case 32: + this.$ = []; + break; + case 33: + this.$ = rt.addSubGraph(pe[be - 6], pe[be - 1], pe[be - 4]); + break; + case 34: + this.$ = rt.addSubGraph(pe[be - 3], pe[be - 1], pe[be - 3]); + break; + case 35: + this.$ = rt.addSubGraph(void 0, pe[be - 1], void 0); + break; + case 37: + (this.$ = pe[be].trim()), rt.setAccTitle(this.$); + break; + case 38: + case 39: + (this.$ = pe[be].trim()), rt.setAccDescription(this.$); + break; + case 43: + rt.addLink(pe[be - 2].stmt, pe[be], pe[be - 1]), + (this.$ = { + stmt: pe[be], + nodes: pe[be].concat(pe[be - 2].nodes) + }); + break; + case 44: + rt.addLink(pe[be - 3].stmt, pe[be - 1], pe[be - 2]), + (this.$ = { + stmt: pe[be - 1], + nodes: pe[be - 1].concat(pe[be - 3].nodes) + }); + break; + case 45: + this.$ = { stmt: pe[be - 1], nodes: pe[be - 1] }; + break; + case 46: + this.$ = { stmt: pe[be], nodes: pe[be] }; + break; + case 47: + this.$ = [pe[be]]; + break; + case 48: + this.$ = pe[be - 4].concat(pe[be]); + break; + case 49: + this.$ = pe[be]; + break; + case 50: + (this.$ = pe[be - 2]), rt.setClass(pe[be - 2], pe[be]); + break; + case 51: + (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'square'); + break; + case 52: + (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'doublecircle'); + break; + case 53: + (this.$ = pe[be - 5]), rt.addVertex(pe[be - 5], pe[be - 2], 'circle'); + break; + case 54: + (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'ellipse'); + break; + case 55: + (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'stadium'); + break; + case 56: + (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'subroutine'); + break; + case 57: + (this.$ = pe[be - 7]), + rt.addVertex( + pe[be - 7], + pe[be - 1], + 'rect', + void 0, + void 0, + void 0, + Object.fromEntries([[pe[be - 5], pe[be - 3]]]) + ); + break; + case 58: + (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'cylinder'); + break; + case 59: + (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'round'); + break; + case 60: + (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'diamond'); + break; + case 61: + (this.$ = pe[be - 5]), rt.addVertex(pe[be - 5], pe[be - 2], 'hexagon'); + break; + case 62: + (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'odd'); + break; + case 63: + (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'trapezoid'); + break; + case 64: + (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'inv_trapezoid'); + break; + case 65: + (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'lean_right'); + break; + case 66: + (this.$ = pe[be - 3]), rt.addVertex(pe[be - 3], pe[be - 1], 'lean_left'); + break; + case 67: + (this.$ = pe[be]), rt.addVertex(pe[be]); + break; + case 68: + (pe[be - 1].text = pe[be]), (this.$ = pe[be - 1]); + break; + case 69: + case 70: + (pe[be - 2].text = pe[be - 1]), (this.$ = pe[be - 2]); + break; + case 71: + this.$ = pe[be]; + break; + case 72: + var Ir = rt.destructLink(pe[be], pe[be - 2]); + this.$ = { + type: Ir.type, + stroke: Ir.stroke, + length: Ir.length, + text: pe[be - 1] + }; + break; + case 73: + this.$ = { text: pe[be], type: 'text' }; + break; + case 74: + this.$ = { + text: pe[be - 1].text + '' + pe[be], + type: pe[be - 1].type + }; + break; + case 75: + this.$ = { text: pe[be], type: 'string' }; + break; + case 76: + this.$ = { text: pe[be], type: 'markdown' }; + break; + case 77: + var Ir = rt.destructLink(pe[be]); + this.$ = { + type: Ir.type, + stroke: Ir.stroke, + length: Ir.length + }; + break; + case 78: + this.$ = pe[be - 1]; + break; + case 79: + this.$ = { text: pe[be], type: 'text' }; + break; + case 80: + this.$ = { + text: pe[be - 1].text + '' + pe[be], + type: pe[be - 1].type + }; + break; + case 81: + this.$ = { text: pe[be], type: 'string' }; + break; + case 82: + case 97: + this.$ = { text: pe[be], type: 'markdown' }; + break; + case 94: + this.$ = { text: pe[be], type: 'text' }; + break; + case 95: + this.$ = { + text: pe[be - 1].text + '' + pe[be], + type: pe[be - 1].type + }; + break; + case 96: + this.$ = { text: pe[be], type: 'text' }; + break; + case 98: + (this.$ = pe[be - 4]), rt.addClass(pe[be - 2], pe[be]); + break; + case 99: + (this.$ = pe[be - 4]), rt.setClass(pe[be - 2], pe[be]); + break; + case 100: + case 108: + (this.$ = pe[be - 1]), rt.setClickEvent(pe[be - 1], pe[be]); + break; + case 101: + case 109: + (this.$ = pe[be - 3]), + rt.setClickEvent(pe[be - 3], pe[be - 2]), + rt.setTooltip(pe[be - 3], pe[be]); + break; + case 102: + (this.$ = pe[be - 2]), rt.setClickEvent(pe[be - 2], pe[be - 1], pe[be]); + break; + case 103: + (this.$ = pe[be - 4]), + rt.setClickEvent(pe[be - 4], pe[be - 3], pe[be - 2]), + rt.setTooltip(pe[be - 4], pe[be]); + break; + case 104: + (this.$ = pe[be - 2]), rt.setLink(pe[be - 2], pe[be]); + break; + case 105: + (this.$ = pe[be - 4]), + rt.setLink(pe[be - 4], pe[be - 2]), + rt.setTooltip(pe[be - 4], pe[be]); + break; + case 106: + (this.$ = pe[be - 4]), rt.setLink(pe[be - 4], pe[be - 2], pe[be]); + break; + case 107: + (this.$ = pe[be - 6]), + rt.setLink(pe[be - 6], pe[be - 4], pe[be]), + rt.setTooltip(pe[be - 6], pe[be - 2]); + break; + case 110: + (this.$ = pe[be - 1]), rt.setLink(pe[be - 1], pe[be]); + break; + case 111: + (this.$ = pe[be - 3]), + rt.setLink(pe[be - 3], pe[be - 2]), + rt.setTooltip(pe[be - 3], pe[be]); + break; + case 112: + (this.$ = pe[be - 3]), rt.setLink(pe[be - 3], pe[be - 2], pe[be]); + break; + case 113: + (this.$ = pe[be - 5]), + rt.setLink(pe[be - 5], pe[be - 4], pe[be]), + rt.setTooltip(pe[be - 5], pe[be - 2]); + break; + case 114: + (this.$ = pe[be - 4]), rt.addVertex(pe[be - 2], void 0, void 0, pe[be]); + break; + case 115: + (this.$ = pe[be - 4]), rt.updateLink([pe[be - 2]], pe[be]); + break; + case 116: + (this.$ = pe[be - 4]), rt.updateLink(pe[be - 2], pe[be]); + break; + case 117: + (this.$ = pe[be - 8]), + rt.updateLinkInterpolate([pe[be - 6]], pe[be - 2]), + rt.updateLink([pe[be - 6]], pe[be]); + break; + case 118: + (this.$ = pe[be - 8]), + rt.updateLinkInterpolate(pe[be - 6], pe[be - 2]), + rt.updateLink(pe[be - 6], pe[be]); + break; + case 119: + (this.$ = pe[be - 6]), rt.updateLinkInterpolate([pe[be - 4]], pe[be]); + break; + case 120: + (this.$ = pe[be - 6]), rt.updateLinkInterpolate(pe[be - 4], pe[be]); + break; + case 121: + case 123: + this.$ = [pe[be]]; + break; + case 122: + case 124: + pe[be - 2].push(pe[be]), (this.$ = pe[be - 2]); + break; + case 126: + this.$ = pe[be - 1] + pe[be]; + break; + case 174: + this.$ = pe[be]; + break; + case 175: + this.$ = pe[be - 1] + '' + pe[be]; + break; + case 177: + this.$ = pe[be - 1] + '' + pe[be]; + break; + case 178: + this.$ = { stmt: 'dir', value: 'TB' }; + break; + case 179: + this.$ = { stmt: 'dir', value: 'BT' }; + break; + case 180: + this.$ = { stmt: 'dir', value: 'RL' }; + break; + case 181: + this.$ = { stmt: 'dir', value: 'LR' }; + break; + } + }, 'anonymous'), + table: [ + { 3: 1, 4: 2, 9: e, 10: r, 12: n }, + { 1: [3] }, + t(i, a, { 5: 6 }), + { 4: 7, 9: e, 10: r, 12: n }, + { 4: 8, 9: e, 10: r, 12: n }, + { 13: [1, 9], 14: [1, 10] }, + { + 1: [2, 1], + 6: 11, + 7: 12, + 8: s, + 9: l, + 10: u, + 11: h, + 20: 17, + 22: 18, + 23: 19, + 24: 20, + 25: 21, + 26: 22, + 27: f, + 33: 24, + 34: d, + 36: p, + 38: m, + 40: 28, + 41: 38, + 42: g, + 43: 39, + 45: 40, + 58: y, + 81: v, + 82: x, + 83: b, + 84: w, + 85: S, + 86: T, + 99: E, + 102: _, + 103: A, + 106: L, + 108: M, + 110: 41, + 111: N, + 112: k, + 113: I, + 118: C, + 119: O, + 120: D, + 121: P + }, + t(i, [2, 9]), + t(i, [2, 10]), + t(i, [2, 11]), + { 8: [1, 54], 9: [1, 55], 10: F, 15: 53, 18: 56 }, + t(B, [2, 3]), + t(B, [2, 4]), + t(B, [2, 5]), + t(B, [2, 6]), + t(B, [2, 7]), + t(B, [2, 8]), + { + 8: $, + 9: z, + 11: Y, + 21: 58, + 39: 59, + 70: 63, + 73: [1, 64], + 75: [1, 65] + }, + { 8: $, 9: z, 11: Y, 21: 66 }, + { 8: $, 9: z, 11: Y, 21: 67 }, + { 8: $, 9: z, 11: Y, 21: 68 }, + { 8: $, 9: z, 11: Y, 21: 69 }, + { 8: $, 9: z, 11: Y, 21: 70 }, + { 8: $, 9: z, 10: [1, 71], 11: Y, 21: 72 }, + t(B, [2, 36]), + { 35: [1, 73] }, + { 37: [1, 74] }, + t(B, [2, 39]), + t(Q, [2, 46], { 18: 75, 10: F }), + { 10: [1, 76] }, + { 10: [1, 77] }, + { 10: [1, 78] }, + { 10: [1, 79] }, + { + 14: X, + 42: ie, + 58: j, + 77: [1, 83], + 86: J, + 92: [1, 80], + 94: [1, 81], + 98: 82, + 102: Z, + 103: H, + 106: q, + 108: K, + 111: se, + 112: ce, + 113: ue, + 117: 84 + }, + t(B, [2, 178]), + t(B, [2, 179]), + t(B, [2, 180]), + t(B, [2, 181]), + t(te, [2, 47]), + t(te, [2, 49], { 44: [1, 96] }), + t(De, [2, 67], { + 110: 109, + 29: [1, 97], + 42: g, + 46: [1, 98], + 48: [1, 99], + 50: [1, 100], + 52: [1, 101], + 54: [1, 102], + 56: [1, 103], + 58: y, + 61: [1, 104], + 63: [1, 105], + 65: [1, 106], + 66: [1, 107], + 68: [1, 108], + 86: T, + 99: E, + 102: _, + 103: A, + 106: L, + 108: M, + 111: N, + 112: k, + 113: I + }), + t(oe, [2, 174]), + t(oe, [2, 135]), + t(oe, [2, 136]), + t(oe, [2, 137]), + t(oe, [2, 138]), + t(oe, [2, 139]), + t(oe, [2, 140]), + t(oe, [2, 141]), + t(oe, [2, 142]), + t(oe, [2, 143]), + t(oe, [2, 144]), + t(oe, [2, 145]), + t(i, [2, 12]), + t(i, [2, 18]), + t(i, [2, 19]), + { 9: [1, 110] }, + t(ke, [2, 26], { 18: 111, 10: F }), + t(B, [2, 27]), + { + 40: 112, + 41: 38, + 42: g, + 43: 39, + 45: 40, + 58: y, + 86: T, + 99: E, + 102: _, + 103: A, + 106: L, + 108: M, + 110: 41, + 111: N, + 112: k, + 113: I + }, + t(B, [2, 40]), + t(B, [2, 41]), + t(B, [2, 42]), + t(Ie, [2, 71], { 71: 113, 60: [1, 115], 72: [1, 114] }), + { + 74: 116, + 76: 117, + 77: [1, 118], + 78: [1, 119], + 113: Se, + 116: Ue + }, + t([42, 58, 60, 72, 86, 99, 102, 103, 106, 108, 111, 112, 113], [2, 77]), + t(B, [2, 28]), + t(B, [2, 29]), + t(B, [2, 30]), + t(B, [2, 31]), + t(B, [2, 32]), + { + 10: Pe, + 12: _e, + 14: me, + 27: W, + 28: 122, + 32: fe, + 42: ge, + 58: re, + 73: he, + 77: [1, 124], + 78: [1, 125], + 80: 135, + 81: ne, + 82: ae, + 83: we, + 84: Te, + 85: Ce, + 86: Ae, + 87: Ge, + 88: 123, + 102: Me, + 106: ye, + 108: He, + 111: ze, + 112: Ze, + 113: gt + }, + t(yt, a, { 5: 148 }), + t(B, [2, 37]), + t(B, [2, 38]), + t(Q, [2, 45], { 42: tt }), + { + 42: g, + 45: 150, + 58: y, + 86: T, + 99: E, + 102: _, + 103: A, + 106: L, + 108: M, + 110: 41, + 111: N, + 112: k, + 113: I + }, + { 99: [1, 151], 100: 152, 102: [1, 153] }, + { + 42: g, + 45: 154, + 58: y, + 86: T, + 99: E, + 102: _, + 103: A, + 106: L, + 108: M, + 110: 41, + 111: N, + 112: k, + 113: I + }, + { + 42: g, + 45: 155, + 58: y, + 86: T, + 99: E, + 102: _, + 103: A, + 106: L, + 108: M, + 110: 41, + 111: N, + 112: k, + 113: I + }, + t(Ye, [2, 100], { 10: [1, 156], 93: [1, 157] }), + { 77: [1, 158] }, + t(Ye, [2, 108], { + 117: 160, + 10: [1, 159], + 14: X, + 42: ie, + 58: j, + 86: J, + 102: Z, + 103: H, + 106: q, + 108: K, + 111: se, + 112: ce, + 113: ue + }), + t(Ye, [2, 110], { 10: [1, 161] }), + t(Je, [2, 176]), + t(Je, [2, 163]), + t(Je, [2, 164]), + t(Je, [2, 165]), + t(Je, [2, 166]), + t(Je, [2, 167]), + t(Je, [2, 168]), + t(Je, [2, 169]), + t(Je, [2, 170]), + t(Je, [2, 171]), + t(Je, [2, 172]), + t(Je, [2, 173]), + { + 42: g, + 45: 162, + 58: y, + 86: T, + 99: E, + 102: _, + 103: A, + 106: L, + 108: M, + 110: 41, + 111: N, + 112: k, + 113: I + }, + { + 30: 163, + 65: Ve, + 77: je, + 78: kt, + 79: 164, + 113: at, + 114: xt, + 115: it + }, + { + 30: 171, + 65: Ve, + 77: je, + 78: kt, + 79: 164, + 113: at, + 114: xt, + 115: it + }, + { + 30: 173, + 48: [1, 172], + 65: Ve, + 77: je, + 78: kt, + 79: 164, + 113: at, + 114: xt, + 115: it + }, + { + 30: 174, + 65: Ve, + 77: je, + 78: kt, + 79: 164, + 113: at, + 114: xt, + 115: it + }, + { + 30: 175, + 65: Ve, + 77: je, + 78: kt, + 79: 164, + 113: at, + 114: xt, + 115: it + }, + { + 30: 176, + 65: Ve, + 77: je, + 78: kt, + 79: 164, + 113: at, + 114: xt, + 115: it + }, + { 106: [1, 177] }, + { + 30: 178, + 65: Ve, + 77: je, + 78: kt, + 79: 164, + 113: at, + 114: xt, + 115: it + }, + { + 30: 179, + 63: [1, 180], + 65: Ve, + 77: je, + 78: kt, + 79: 164, + 113: at, + 114: xt, + 115: it + }, + { + 30: 181, + 65: Ve, + 77: je, + 78: kt, + 79: 164, + 113: at, + 114: xt, + 115: it + }, + { + 30: 182, + 65: Ve, + 77: je, + 78: kt, + 79: 164, + 113: at, + 114: xt, + 115: it + }, + { + 30: 183, + 65: Ve, + 77: je, + 78: kt, + 79: 164, + 113: at, + 114: xt, + 115: it + }, + t(oe, [2, 175]), + t(i, [2, 20]), + t(ke, [2, 25]), + t(Q, [2, 43], { 18: 184, 10: F }), + t(Ie, [2, 68], { 10: [1, 185] }), + { 10: [1, 186] }, + { + 30: 187, + 65: Ve, + 77: je, + 78: kt, + 79: 164, + 113: at, + 114: xt, + 115: it + }, + { 75: [1, 188], 76: 189, 113: Se, 116: Ue }, + t(dt, [2, 73]), + t(dt, [2, 75]), + t(dt, [2, 76]), + t(dt, [2, 161]), + t(dt, [2, 162]), + { + 8: $, + 9: z, + 10: Pe, + 11: Y, + 12: _e, + 14: me, + 21: 191, + 27: W, + 29: [1, 190], + 32: fe, + 42: ge, + 58: re, + 73: he, + 80: 135, + 81: ne, + 82: ae, + 83: we, + 84: Te, + 85: Ce, + 86: Ae, + 87: Ge, + 88: 192, + 102: Me, + 106: ye, + 108: He, + 111: ze, + 112: Ze, + 113: gt + }, + t(lt, [2, 94]), + t(lt, [2, 96]), + t(lt, [2, 97]), + t(lt, [2, 150]), + t(lt, [2, 151]), + t(lt, [2, 152]), + t(lt, [2, 153]), + t(lt, [2, 154]), + t(lt, [2, 155]), + t(lt, [2, 156]), + t(lt, [2, 157]), + t(lt, [2, 158]), + t(lt, [2, 159]), + t(lt, [2, 160]), + t(lt, [2, 83]), + t(lt, [2, 84]), + t(lt, [2, 85]), + t(lt, [2, 86]), + t(lt, [2, 87]), + t(lt, [2, 88]), + t(lt, [2, 89]), + t(lt, [2, 90]), + t(lt, [2, 91]), + t(lt, [2, 92]), + t(lt, [2, 93]), + { + 6: 11, + 7: 12, + 8: s, + 9: l, + 10: u, + 11: h, + 20: 17, + 22: 18, + 23: 19, + 24: 20, + 25: 21, + 26: 22, + 27: f, + 32: [1, 193], + 33: 24, + 34: d, + 36: p, + 38: m, + 40: 28, + 41: 38, + 42: g, + 43: 39, + 45: 40, + 58: y, + 81: v, + 82: x, + 83: b, + 84: w, + 85: S, + 86: T, + 99: E, + 102: _, + 103: A, + 106: L, + 108: M, + 110: 41, + 111: N, + 112: k, + 113: I, + 118: C, + 119: O, + 120: D, + 121: P + }, + { 10: F, 18: 194 }, + { + 10: [1, 195], + 42: g, + 58: y, + 86: T, + 99: E, + 102: _, + 103: A, + 106: L, + 108: M, + 110: 109, + 111: N, + 112: k, + 113: I + }, + { 10: [1, 196] }, + { 10: [1, 197], 103: [1, 198] }, + t(It, [2, 121]), + { + 10: [1, 199], + 42: g, + 58: y, + 86: T, + 99: E, + 102: _, + 103: A, + 106: L, + 108: M, + 110: 109, + 111: N, + 112: k, + 113: I + }, + { + 10: [1, 200], + 42: g, + 58: y, + 86: T, + 99: E, + 102: _, + 103: A, + 106: L, + 108: M, + 110: 109, + 111: N, + 112: k, + 113: I + }, + { 77: [1, 201] }, + t(Ye, [2, 102], { 10: [1, 202] }), + t(Ye, [2, 104], { 10: [1, 203] }), + { 77: [1, 204] }, + t(Je, [2, 177]), + { 77: [1, 205], 95: [1, 206] }, + t(te, [2, 50], { + 110: 109, + 42: g, + 58: y, + 86: T, + 99: E, + 102: _, + 103: A, + 106: L, + 108: M, + 111: N, + 112: k, + 113: I + }), + { 31: [1, 207], 65: Ve, 79: 208, 113: at, 114: xt, 115: it }, + t(mt, [2, 79]), + t(mt, [2, 81]), + t(mt, [2, 82]), + t(mt, [2, 146]), + t(mt, [2, 147]), + t(mt, [2, 148]), + t(mt, [2, 149]), + { 47: [1, 209], 65: Ve, 79: 208, 113: at, 114: xt, 115: it }, + { + 30: 210, + 65: Ve, + 77: je, + 78: kt, + 79: 164, + 113: at, + 114: xt, + 115: it + }, + { 49: [1, 211], 65: Ve, 79: 208, 113: at, 114: xt, 115: it }, + { 51: [1, 212], 65: Ve, 79: 208, 113: at, 114: xt, 115: it }, + { 53: [1, 213], 65: Ve, 79: 208, 113: at, 114: xt, 115: it }, + { 55: [1, 214], 65: Ve, 79: 208, 113: at, 114: xt, 115: it }, + { 58: [1, 215] }, + { 62: [1, 216], 65: Ve, 79: 208, 113: at, 114: xt, 115: it }, + { 64: [1, 217], 65: Ve, 79: 208, 113: at, 114: xt, 115: it }, + { + 30: 218, + 65: Ve, + 77: je, + 78: kt, + 79: 164, + 113: at, + 114: xt, + 115: it + }, + { 31: [1, 219], 65: Ve, 79: 208, 113: at, 114: xt, 115: it }, + { + 65: Ve, + 67: [1, 220], + 69: [1, 221], + 79: 208, + 113: at, + 114: xt, + 115: it + }, + { + 65: Ve, + 67: [1, 223], + 69: [1, 222], + 79: 208, + 113: at, + 114: xt, + 115: it + }, + t(Q, [2, 44], { 42: tt }), + t(Ie, [2, 70]), + t(Ie, [2, 69]), + { 60: [1, 224], 65: Ve, 79: 208, 113: at, 114: xt, 115: it }, + t(Ie, [2, 72]), + t(dt, [2, 74]), + { + 30: 225, + 65: Ve, + 77: je, + 78: kt, + 79: 164, + 113: at, + 114: xt, + 115: it + }, + t(yt, a, { 5: 226 }), + t(lt, [2, 95]), + t(B, [2, 35]), + { + 41: 227, + 42: g, + 43: 39, + 45: 40, + 58: y, + 86: T, + 99: E, + 102: _, + 103: A, + 106: L, + 108: M, + 110: 41, + 111: N, + 112: k, + 113: I + }, + { + 10: St, + 58: gr, + 81: xn, + 89: 228, + 102: jt, + 104: 229, + 105: 230, + 106: rn, + 107: Er, + 108: Kn, + 109: hn + }, + { + 10: St, + 58: gr, + 81: xn, + 89: 239, + 101: [1, 240], + 102: jt, + 104: 229, + 105: 230, + 106: rn, + 107: Er, + 108: Kn, + 109: hn + }, + { + 10: St, + 58: gr, + 81: xn, + 89: 241, + 101: [1, 242], + 102: jt, + 104: 229, + 105: 230, + 106: rn, + 107: Er, + 108: Kn, + 109: hn + }, + { 102: [1, 243] }, + { + 10: St, + 58: gr, + 81: xn, + 89: 244, + 102: jt, + 104: 229, + 105: 230, + 106: rn, + 107: Er, + 108: Kn, + 109: hn + }, + { + 42: g, + 45: 245, + 58: y, + 86: T, + 99: E, + 102: _, + 103: A, + 106: L, + 108: M, + 110: 41, + 111: N, + 112: k, + 113: I + }, + t(Ye, [2, 101]), + { 77: [1, 246] }, + { 77: [1, 247], 95: [1, 248] }, + t(Ye, [2, 109]), + t(Ye, [2, 111], { 10: [1, 249] }), + t(Ye, [2, 112]), + t(De, [2, 51]), + t(mt, [2, 80]), + t(De, [2, 52]), + { 49: [1, 250], 65: Ve, 79: 208, 113: at, 114: xt, 115: it }, + t(De, [2, 59]), + t(De, [2, 54]), + t(De, [2, 55]), + t(De, [2, 56]), + { 106: [1, 251] }, + t(De, [2, 58]), + t(De, [2, 60]), + { 64: [1, 252], 65: Ve, 79: 208, 113: at, 114: xt, 115: it }, + t(De, [2, 62]), + t(De, [2, 63]), + t(De, [2, 65]), + t(De, [2, 64]), + t(De, [2, 66]), + t([10, 42, 58, 86, 99, 102, 103, 106, 108, 111, 112, 113], [2, 78]), + { 31: [1, 253], 65: Ve, 79: 208, 113: at, 114: xt, 115: it }, + { + 6: 11, + 7: 12, + 8: s, + 9: l, + 10: u, + 11: h, + 20: 17, + 22: 18, + 23: 19, + 24: 20, + 25: 21, + 26: 22, + 27: f, + 32: [1, 254], + 33: 24, + 34: d, + 36: p, + 38: m, + 40: 28, + 41: 38, + 42: g, + 43: 39, + 45: 40, + 58: y, + 81: v, + 82: x, + 83: b, + 84: w, + 85: S, + 86: T, + 99: E, + 102: _, + 103: A, + 106: L, + 108: M, + 110: 41, + 111: N, + 112: k, + 113: I, + 118: C, + 119: O, + 120: D, + 121: P + }, + t(te, [2, 48]), + t(Ye, [2, 114], { 103: Qn }), + t(on, [2, 123], { + 105: 256, + 10: St, + 58: gr, + 81: xn, + 102: jt, + 106: rn, + 107: Er, + 108: Kn, + 109: hn + }), + t(Rn, [2, 125]), + t(Rn, [2, 127]), + t(Rn, [2, 128]), + t(Rn, [2, 129]), + t(Rn, [2, 130]), + t(Rn, [2, 131]), + t(Rn, [2, 132]), + t(Rn, [2, 133]), + t(Rn, [2, 134]), + t(Ye, [2, 115], { 103: Qn }), + { 10: [1, 257] }, + t(Ye, [2, 116], { 103: Qn }), + { 10: [1, 258] }, + t(It, [2, 122]), + t(Ye, [2, 98], { 103: Qn }), + t(Ye, [2, 99], { + 110: 109, + 42: g, + 58: y, + 86: T, + 99: E, + 102: _, + 103: A, + 106: L, + 108: M, + 111: N, + 112: k, + 113: I + }), + t(Ye, [2, 103]), + t(Ye, [2, 105], { 10: [1, 259] }), + t(Ye, [2, 106]), + { 95: [1, 260] }, + { 49: [1, 261] }, + { 60: [1, 262] }, + { 64: [1, 263] }, + { 8: $, 9: z, 11: Y, 21: 264 }, + t(B, [2, 34]), + { + 10: St, + 58: gr, + 81: xn, + 102: jt, + 104: 265, + 105: 230, + 106: rn, + 107: Er, + 108: Kn, + 109: hn + }, + t(Rn, [2, 126]), + { + 14: X, + 42: ie, + 58: j, + 86: J, + 98: 266, + 102: Z, + 103: H, + 106: q, + 108: K, + 111: se, + 112: ce, + 113: ue, + 117: 84 + }, + { + 14: X, + 42: ie, + 58: j, + 86: J, + 98: 267, + 102: Z, + 103: H, + 106: q, + 108: K, + 111: se, + 112: ce, + 113: ue, + 117: 84 + }, + { 95: [1, 268] }, + t(Ye, [2, 113]), + t(De, [2, 53]), + { + 30: 269, + 65: Ve, + 77: je, + 78: kt, + 79: 164, + 113: at, + 114: xt, + 115: it + }, + t(De, [2, 61]), + t(yt, a, { 5: 270 }), + t(on, [2, 124], { + 105: 256, + 10: St, + 58: gr, + 81: xn, + 102: jt, + 106: rn, + 107: Er, + 108: Kn, + 109: hn + }), + t(Ye, [2, 119], { + 117: 160, + 10: [1, 271], + 14: X, + 42: ie, + 58: j, + 86: J, + 102: Z, + 103: H, + 106: q, + 108: K, + 111: se, + 112: ce, + 113: ue + }), + t(Ye, [2, 120], { + 117: 160, + 10: [1, 272], + 14: X, + 42: ie, + 58: j, + 86: J, + 102: Z, + 103: H, + 106: q, + 108: K, + 111: se, + 112: ce, + 113: ue + }), + t(Ye, [2, 107]), + { 31: [1, 273], 65: Ve, 79: 208, 113: at, 114: xt, 115: it }, + { + 6: 11, + 7: 12, + 8: s, + 9: l, + 10: u, + 11: h, + 20: 17, + 22: 18, + 23: 19, + 24: 20, + 25: 21, + 26: 22, + 27: f, + 32: [1, 274], + 33: 24, + 34: d, + 36: p, + 38: m, + 40: 28, + 41: 38, + 42: g, + 43: 39, + 45: 40, + 58: y, + 81: v, + 82: x, + 83: b, + 84: w, + 85: S, + 86: T, + 99: E, + 102: _, + 103: A, + 106: L, + 108: M, + 110: 41, + 111: N, + 112: k, + 113: I, + 118: C, + 119: O, + 120: D, + 121: P + }, + { + 10: St, + 58: gr, + 81: xn, + 89: 275, + 102: jt, + 104: 229, + 105: 230, + 106: rn, + 107: Er, + 108: Kn, + 109: hn + }, + { + 10: St, + 58: gr, + 81: xn, + 89: 276, + 102: jt, + 104: 229, + 105: 230, + 106: rn, + 107: Er, + 108: Kn, + 109: hn + }, + t(De, [2, 57]), + t(B, [2, 33]), + t(Ye, [2, 117], { 103: Qn }), + t(Ye, [2, 118], { 103: Qn }) + ], + defaultActions: {}, + parseError: o(function (ht, At) { + if (At.recoverable) this.trace(ht); + else { + var $t = new Error(ht); + throw (($t.hash = At), $t); + } + }, 'parseError'), + parse: o(function (ht) { + var At = this, + $t = [0], + rt = [], + Ot = [null], + pe = [], + ur = this.table, + be = '', + Ir = 0, + Xc = 0, + M1 = 0, + _b = 2, + I1 = 1, + O1 = pe.slice.call(arguments, 1), + ci = Object.create(this.lexer), + ko = { yy: {} }; + for (var ih in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, ih) && (ko.yy[ih] = this.yy[ih]); + ci.setInput(ht, ko.yy), + (ko.yy.lexer = ci), + (ko.yy.parser = this), + typeof ci.yylloc > 'u' && (ci.yylloc = {}); + var Us = ci.yylloc; + pe.push(Us); + var ah = ci.options && ci.options.ranges; + typeof ko.yy.parseError == 'function' + ? (this.parseError = ko.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError); + function Lb(La) { + ($t.length = $t.length - 2 * La), + (Ot.length = Ot.length - La), + (pe.length = pe.length - La); + } + o(Lb, 'popStack'); + function P1() { + var La; + return ( + (La = rt.pop() || ci.lex() || I1), + typeof La != 'number' && + (La instanceof Array && ((rt = La), (La = rt.pop())), + (La = At.symbols_[La] || La)), + La + ); + } + o(P1, 'lex'); + for (var sa, jc, Kc, us, _i, Wl, sh = {}, zf, Hs, B1, Gf; ; ) { + if ( + ((Kc = $t[$t.length - 1]), + this.defaultActions[Kc] + ? (us = this.defaultActions[Kc]) + : ((sa === null || typeof sa > 'u') && (sa = P1()), + (us = ur[Kc] && ur[Kc][sa])), + typeof us > 'u' || !us.length || !us[0]) + ) { + var F1 = ''; + Gf = []; + for (zf in ur[Kc]) + this.terminals_[zf] && zf > _b && Gf.push("'" + this.terminals_[zf] + "'"); + ci.showPosition + ? (F1 = + 'Parse error on line ' + + (Ir + 1) + + `: +` + + ci.showPosition() + + ` +Expecting ` + + Gf.join(', ') + + ", got '" + + (this.terminals_[sa] || sa) + + "'") + : (F1 = + 'Parse error on line ' + + (Ir + 1) + + ': Unexpected ' + + (sa == I1 ? 'end of input' : "'" + (this.terminals_[sa] || sa) + "'")), + this.parseError(F1, { + text: ci.match, + token: this.terminals_[sa] || sa, + line: ci.yylineno, + loc: Us, + expected: Gf + }); + } + if (us[0] instanceof Array && us.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + Kc + ', token: ' + sa + ); + switch (us[0]) { + case 1: + $t.push(sa), + Ot.push(ci.yytext), + pe.push(ci.yylloc), + $t.push(us[1]), + (sa = null), + jc + ? ((sa = jc), (jc = null)) + : ((Xc = ci.yyleng), + (be = ci.yytext), + (Ir = ci.yylineno), + (Us = ci.yylloc), + M1 > 0 && M1--); + break; + case 2: + if ( + ((Hs = this.productions_[us[1]][1]), + (sh.$ = Ot[Ot.length - Hs]), + (sh._$ = { + first_line: pe[pe.length - (Hs || 1)].first_line, + last_line: pe[pe.length - 1].last_line, + first_column: pe[pe.length - (Hs || 1)].first_column, + last_column: pe[pe.length - 1].last_column + }), + ah && + (sh._$.range = [ + pe[pe.length - (Hs || 1)].range[0], + pe[pe.length - 1].range[1] + ]), + (Wl = this.performAction.apply( + sh, + [be, Xc, Ir, ko.yy, us[1], Ot, pe].concat(O1) + )), + typeof Wl < 'u') + ) + return Wl; + Hs && + (($t = $t.slice(0, -1 * Hs * 2)), + (Ot = Ot.slice(0, -1 * Hs)), + (pe = pe.slice(0, -1 * Hs))), + $t.push(this.productions_[us[1]][0]), + Ot.push(sh.$), + pe.push(sh._$), + (B1 = ur[$t[$t.length - 2]][$t[$t.length - 1]]), + $t.push(B1); + break; + case 3: + return !0; + } + } + return !0; + }, 'parse') + }, + _a = (function () { + var qi = { + EOF: 1, + parseError: o(function (At, $t) { + if (this.yy.parser) this.yy.parser.parseError(At, $t); + else throw new Error(At); + }, 'parseError'), + setInput: o(function (ht, At) { + return ( + (this.yy = At || this.yy || {}), + (this._input = ht), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, 'setInput'), + input: o(function () { + var ht = this._input[0]; + (this.yytext += ht), + this.yyleng++, + this.offset++, + (this.match += ht), + (this.matched += ht); + var At = ht.match(/(?:\r\n?|\n).*/g); + return ( + At ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + ht + ); + }, 'input'), + unput: o(function (ht) { + var At = ht.length, + $t = ht.split(/(?:\r\n?|\n)/g); + (this._input = ht + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - At)), + (this.offset -= At); + var rt = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + $t.length - 1 && (this.yylineno -= $t.length - 1); + var Ot = this.yylloc.range; + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: $t + ? ($t.length === rt.length ? this.yylloc.first_column : 0) + + rt[rt.length - $t.length].length - + $t[0].length + : this.yylloc.first_column - At + }), + this.options.ranges && (this.yylloc.range = [Ot[0], Ot[0] + this.yyleng - At]), + (this.yyleng = this.yytext.length), + this + ); + }, 'unput'), + more: o(function () { + return (this._more = !0), this; + }, 'more'), + reject: o(function () { + if (this.options.backtrack_lexer) this._backtrack = !0; + else + return this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + return this; + }, 'reject'), + less: o(function (ht) { + this.unput(this.match.slice(ht)); + }, 'less'), + pastInput: o(function () { + var ht = this.matched.substr(0, this.matched.length - this.match.length); + return (ht.length > 20 ? '...' : '') + ht.substr(-20).replace(/\n/g, ''); + }, 'pastInput'), + upcomingInput: o(function () { + var ht = this.match; + return ( + ht.length < 20 && (ht += this._input.substr(0, 20 - ht.length)), + (ht.substr(0, 20) + (ht.length > 20 ? '...' : '')).replace(/\n/g, '') + ); + }, 'upcomingInput'), + showPosition: o(function () { + var ht = this.pastInput(), + At = new Array(ht.length + 1).join('-'); + return ( + ht + + this.upcomingInput() + + ` +` + + At + + '^' + ); + }, 'showPosition'), + test_match: o(function (ht, At) { + var $t, rt, Ot; + if ( + (this.options.backtrack_lexer && + ((Ot = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }), + this.options.ranges && (Ot.yylloc.range = this.yylloc.range.slice(0))), + (rt = ht[0].match(/(?:\r\n?|\n).*/g)), + rt && (this.yylineno += rt.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: rt + ? rt[rt.length - 1].length - rt[rt.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + ht[0].length + }), + (this.yytext += ht[0]), + (this.match += ht[0]), + (this.matches = ht), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(ht[0].length)), + (this.matched += ht[0]), + ($t = this.performAction.call( + this, + this.yy, + this, + At, + this.conditionStack[this.conditionStack.length - 1] + )), + this.done && this._input && (this.done = !1), + $t) + ) + return $t; + if (this._backtrack) { + for (var pe in Ot) this[pe] = Ot[pe]; + return !1; + } + return !1; + }, 'test_match'), + next: o(function () { + if (this.done) return this.EOF; + this._input || (this.done = !0); + var ht, At, $t, rt; + this._more || ((this.yytext = ''), (this.match = '')); + for (var Ot = this._currentRules(), pe = 0; pe < Ot.length; pe++) + if ( + (($t = this._input.match(this.rules[Ot[pe]])), + $t && (!At || $t[0].length > At[0].length)) + ) { + if (((At = $t), (rt = pe), this.options.backtrack_lexer)) { + if (((ht = this.test_match($t, Ot[pe])), ht !== !1)) return ht; + if (this._backtrack) { + At = !1; + continue; + } else return !1; + } else if (!this.options.flex) break; + } + return At + ? ((ht = this.test_match(At, Ot[rt])), ht !== !1 ? ht : !1) + : this._input === '' + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, 'next'), + lex: o(function () { + var At = this.next(); + return At || this.lex(); + }, 'lex'), + begin: o(function (At) { + this.conditionStack.push(At); + }, 'begin'), + popState: o(function () { + var At = this.conditionStack.length - 1; + return At > 0 ? this.conditionStack.pop() : this.conditionStack[0]; + }, 'popState'), + _currentRules: o(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules; + }, '_currentRules'), + topState: o(function (At) { + return ( + (At = this.conditionStack.length - 1 - Math.abs(At || 0)), + At >= 0 ? this.conditionStack[At] : 'INITIAL' + ); + }, 'topState'), + pushState: o(function (At) { + this.begin(At); + }, 'pushState'), + stateStackSize: o(function () { + return this.conditionStack.length; + }, 'stateStackSize'), + options: {}, + performAction: o(function (At, $t, rt, Ot) { + var pe = Ot; + switch (rt) { + case 0: + return this.begin('acc_title'), 34; + break; + case 1: + return this.popState(), 'acc_title_value'; + break; + case 2: + return this.begin('acc_descr'), 36; + break; + case 3: + return this.popState(), 'acc_descr_value'; + break; + case 4: + this.begin('acc_descr_multiline'); + break; + case 5: + this.popState(); + break; + case 6: + return 'acc_descr_multiline_value'; + case 7: + this.begin('callbackname'); + break; + case 8: + this.popState(); + break; + case 9: + this.popState(), this.begin('callbackargs'); + break; + case 10: + return 92; + case 11: + this.popState(); + break; + case 12: + return 93; + case 13: + return 'MD_STR'; + case 14: + this.popState(); + break; + case 15: + this.begin('md_string'); + break; + case 16: + return 'STR'; + case 17: + this.popState(); + break; + case 18: + this.pushState('string'); + break; + case 19: + return 81; + case 20: + return 99; + case 21: + return 82; + case 22: + return 101; + case 23: + return 83; + case 24: + return 84; + case 25: + return 94; + case 26: + this.begin('click'); + break; + case 27: + this.popState(); + break; + case 28: + return 85; + case 29: + return At.lex.firstGraph() && this.begin('dir'), 12; + break; + case 30: + return At.lex.firstGraph() && this.begin('dir'), 12; + break; + case 31: + return At.lex.firstGraph() && this.begin('dir'), 12; + break; + case 32: + return 27; + case 33: + return 32; + case 34: + return 95; + case 35: + return 95; + case 36: + return 95; + case 37: + return 95; + case 38: + return this.popState(), 13; + break; + case 39: + return this.popState(), 14; + break; + case 40: + return this.popState(), 14; + break; + case 41: + return this.popState(), 14; + break; + case 42: + return this.popState(), 14; + break; + case 43: + return this.popState(), 14; + break; + case 44: + return this.popState(), 14; + break; + case 45: + return this.popState(), 14; + break; + case 46: + return this.popState(), 14; + break; + case 47: + return this.popState(), 14; + break; + case 48: + return this.popState(), 14; + break; + case 49: + return 118; + case 50: + return 119; + case 51: + return 120; + case 52: + return 121; + case 53: + return 102; + case 54: + return 108; + case 55: + return 44; + case 56: + return 58; + case 57: + return 42; + case 58: + return 8; + case 59: + return 103; + case 60: + return 112; + case 61: + return this.popState(), 75; + break; + case 62: + return this.pushState('edgeText'), 73; + break; + case 63: + return 116; + case 64: + return this.popState(), 75; + break; + case 65: + return this.pushState('thickEdgeText'), 73; + break; + case 66: + return 116; + case 67: + return this.popState(), 75; + break; + case 68: + return this.pushState('dottedEdgeText'), 73; + break; + case 69: + return 116; + case 70: + return 75; + case 71: + return this.popState(), 51; + break; + case 72: + return 'TEXT'; + case 73: + return this.pushState('ellipseText'), 50; + break; + case 74: + return this.popState(), 53; + break; + case 75: + return this.pushState('text'), 52; + break; + case 76: + return this.popState(), 55; + break; + case 77: + return this.pushState('text'), 54; + break; + case 78: + return 56; + case 79: + return this.pushState('text'), 65; + break; + case 80: + return this.popState(), 62; + break; + case 81: + return this.pushState('text'), 61; + break; + case 82: + return this.popState(), 47; + break; + case 83: + return this.pushState('text'), 46; + break; + case 84: + return this.popState(), 67; + break; + case 85: + return this.popState(), 69; + break; + case 86: + return 114; + case 87: + return this.pushState('trapText'), 66; + break; + case 88: + return this.pushState('trapText'), 68; + break; + case 89: + return 115; + case 90: + return 65; + case 91: + return 87; + case 92: + return 'SEP'; + case 93: + return 86; + case 94: + return 112; + case 95: + return 108; + case 96: + return 42; + case 97: + return 106; + case 98: + return 111; + case 99: + return 113; + case 100: + return this.popState(), 60; + break; + case 101: + return this.pushState('text'), 60; + break; + case 102: + return this.popState(), 49; + break; + case 103: + return this.pushState('text'), 48; + break; + case 104: + return this.popState(), 31; + break; + case 105: + return this.pushState('text'), 29; + break; + case 106: + return this.popState(), 64; + break; + case 107: + return this.pushState('text'), 63; + break; + case 108: + return 'TEXT'; + case 109: + return 'QUOTE'; + case 110: + return 9; + case 111: + return 10; + case 112: + return 11; + } + }, 'anonymous'), + rules: [ + /^(?:accTitle\s*:\s*)/, + /^(?:(?!\n||)*[^\n]*)/, + /^(?:accDescr\s*:\s*)/, + /^(?:(?!\n||)*[^\n]*)/, + /^(?:accDescr\s*\{\s*)/, + /^(?:[\}])/, + /^(?:[^\}]*)/, + /^(?:call[\s]+)/, + /^(?:\([\s]*\))/, + /^(?:\()/, + /^(?:[^(]*)/, + /^(?:\))/, + /^(?:[^)]*)/, + /^(?:[^`"]+)/, + /^(?:[`]["])/, + /^(?:["][`])/, + /^(?:[^"]+)/, + /^(?:["])/, + /^(?:["])/, + /^(?:style\b)/, + /^(?:default\b)/, + /^(?:linkStyle\b)/, + /^(?:interpolate\b)/, + /^(?:classDef\b)/, + /^(?:class\b)/, + /^(?:href[\s])/, + /^(?:click[\s]+)/, + /^(?:[\s\n])/, + /^(?:[^\s\n]*)/, + /^(?:flowchart-elk\b)/, + /^(?:graph\b)/, + /^(?:flowchart\b)/, + /^(?:subgraph\b)/, + /^(?:end\b\s*)/, + /^(?:_self\b)/, + /^(?:_blank\b)/, + /^(?:_parent\b)/, + /^(?:_top\b)/, + /^(?:(\r?\n)*\s*\n)/, + /^(?:\s*LR\b)/, + /^(?:\s*RL\b)/, + /^(?:\s*TB\b)/, + /^(?:\s*BT\b)/, + /^(?:\s*TD\b)/, + /^(?:\s*BR\b)/, + /^(?:\s*<)/, + /^(?:\s*>)/, + /^(?:\s*\^)/, + /^(?:\s*v\b)/, + /^(?:.*direction\s+TB[^\n]*)/, + /^(?:.*direction\s+BT[^\n]*)/, + /^(?:.*direction\s+RL[^\n]*)/, + /^(?:.*direction\s+LR[^\n]*)/, + /^(?:[0-9]+)/, + /^(?:#)/, + /^(?::::)/, + /^(?::)/, + /^(?:&)/, + /^(?:;)/, + /^(?:,)/, + /^(?:\*)/, + /^(?:\s*[xo<]?--+[-xo>]\s*)/, + /^(?:\s*[xo<]?--\s*)/, + /^(?:[^-]|-(?!-)+)/, + /^(?:\s*[xo<]?==+[=xo>]\s*)/, + /^(?:\s*[xo<]?==\s*)/, + /^(?:[^=]|=(?!))/, + /^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/, + /^(?:\s*[xo<]?-\.\s*)/, + /^(?:[^\.]|\.(?!))/, + /^(?:\s*~~[\~]+\s*)/, + /^(?:[-/\)][\)])/, + /^(?:[^\(\)\[\]\{\}]|!\)+)/, + /^(?:\(-)/, + /^(?:\]\))/, + /^(?:\(\[)/, + /^(?:\]\])/, + /^(?:\[\[)/, + /^(?:\[\|)/, + /^(?:>)/, + /^(?:\)\])/, + /^(?:\[\()/, + /^(?:\)\)\))/, + /^(?:\(\(\()/, + /^(?:[\\(?=\])][\]])/, + /^(?:\/(?=\])\])/, + /^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/, + /^(?:\[\/)/, + /^(?:\[\\)/, + /^(?:<)/, + /^(?:>)/, + /^(?:\^)/, + /^(?:\\\|)/, + /^(?:v\b)/, + /^(?:\*)/, + /^(?:#)/, + /^(?:&)/, + /^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/, + /^(?:-)/, + /^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/, + /^(?:\|)/, + /^(?:\|)/, + /^(?:\))/, + /^(?:\()/, + /^(?:\])/, + /^(?:\[)/, + /^(?:(\}))/, + /^(?:\{)/, + /^(?:[^\[\]\(\)\{\}\|\"]+)/, + /^(?:")/, + /^(?:(\r?\n)+)/, + /^(?:\s)/, + /^(?:$)/ + ], + conditions: { + callbackargs: { + rules: [11, 12, 15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], + inclusive: !1 + }, + callbackname: { + rules: [8, 9, 10, 15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], + inclusive: !1 + }, + href: { + rules: [15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], + inclusive: !1 + }, + click: { + rules: [15, 18, 27, 28, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], + inclusive: !1 + }, + dottedEdgeText: { + rules: [15, 18, 67, 69, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], + inclusive: !1 + }, + thickEdgeText: { + rules: [15, 18, 64, 66, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], + inclusive: !1 + }, + edgeText: { + rules: [15, 18, 61, 63, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], + inclusive: !1 + }, + trapText: { + rules: [15, 18, 70, 73, 75, 77, 81, 83, 84, 85, 86, 87, 88, 101, 103, 105, 107], + inclusive: !1 + }, + ellipseText: { + rules: [15, 18, 70, 71, 72, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], + inclusive: !1 + }, + text: { + rules: [ + 15, 18, 70, 73, 74, 75, 76, 77, 80, 81, 82, 83, 87, 88, 100, 101, 102, 103, 104, + 105, 106, 107, 108 + ], + inclusive: !1 + }, + vertex: { + rules: [15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], + inclusive: !1 + }, + dir: { + rules: [ + 15, 18, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 70, 73, 75, 77, 81, 83, 87, + 88, 101, 103, 105, 107 + ], + inclusive: !1 + }, + acc_descr_multiline: { + rules: [5, 6, 15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], + inclusive: !1 + }, + acc_descr: { + rules: [3, 15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], + inclusive: !1 + }, + acc_title: { + rules: [1, 15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], + inclusive: !1 + }, + md_string: { + rules: [13, 14, 15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], + inclusive: !1 + }, + string: { + rules: [15, 16, 17, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], + inclusive: !1 + }, + INITIAL: { + rules: [ + 0, 2, 4, 7, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 64, 65, 67, 68, + 70, 73, 75, 77, 78, 79, 81, 83, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 101, 103, 105, 107, 109, 110, 111, 112 + ], + inclusive: !0 + } + } + }; + return qi; + })(); + Ha.lexer = _a; + function To() { + this.yy = {}; + } + return o(To, 'Parser'), (To.prototype = Ha), (Ha.Parser = To), new To(); + })(); + vD.parser = vD; + Xre = vD; + }); + var kNe, + ENe, + Kre, + Qre = R(() => { + 'use strict'; + al(); + (kNe = o((t, e) => { + let r = X1, + n = r(t, 'r'), + i = r(t, 'g'), + a = r(t, 'b'); + return Ws(n, i, a, e); + }, 'fade')), + (ENe = o( + (t) => `.label { + font-family: ${t.fontFamily}; + color: ${t.nodeTextColor || t.textColor}; + } + .cluster-label text { + fill: ${t.titleColor}; + } + .cluster-label span { + color: ${t.titleColor}; + } + .cluster-label span p { + background-color: transparent; + } + + .label text,span { + fill: ${t.nodeTextColor || t.textColor}; + color: ${t.nodeTextColor || t.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + stroke-width: 1px; + } + .rough-node .label text , .node .label text { + text-anchor: middle; + } + // .flowchart-label .text-outer-tspan { + // text-anchor: middle; + // } + // .flowchart-label .text-inner-tspan { + // text-anchor: start; + // } + + .node .katex path { + fill: #000; + stroke: #000; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${t.arrowheadColor}; + } + + .edgePath .path { + stroke: ${t.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${t.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${t.edgeLabelBackground}; + p { + background-color: ${t.edgeLabelBackground}; + } + rect { + opacity: 0.5; + background-color: ${t.edgeLabelBackground}; + fill: ${t.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${kNe(t.edgeLabelBackground, 0.5)}; + // background-color: + } + + .cluster rect { + fill: ${t.clusterBkg}; + stroke: ${t.clusterBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${t.titleColor}; + } + + .cluster span { + color: ${t.titleColor}; + } + /* .cluster div { + color: ${t.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${t.fontFamily}; + font-size: 12px; + background: ${t.tertiaryColor}; + border: 1px solid ${t.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; + } +`, + 'getStyles' + )), + (Kre = ENe); + }); + var cT = {}; + hr(cT, { diagram: () => CNe }); + var CNe, + uT = R(() => { + 'use strict'; + _t(); + f9(); + qre(); + jre(); + Qre(); + CNe = { + parser: Xre, + db: A5, + renderer: Wre, + styles: Kre, + init: o((t) => { + t.flowchart || (t.flowchart = {}), + t.layout && iS({ layout: t.layout }), + (t.flowchart.arrowMarkerAbsolute = t.arrowMarkerAbsolute), + iS({ flowchart: { arrowMarkerAbsolute: t.arrowMarkerAbsolute } }), + A5.clear(), + A5.setGen('gen-2'); + }, 'init') + }; + }); + var xD, + rne, + nne = R(() => { + 'use strict'; + xD = (function () { + var t = o(function (A, L, M, N) { + for (M = M || {}, N = A.length; N--; M[A[N]] = L); + return M; + }, 'o'), + e = [6, 8, 10, 20, 22, 24, 26, 27, 28], + r = [1, 10], + n = [1, 11], + i = [1, 12], + a = [1, 13], + s = [1, 14], + l = [1, 15], + u = [1, 21], + h = [1, 22], + f = [1, 23], + d = [1, 24], + p = [1, 25], + m = [6, 8, 10, 13, 15, 18, 19, 20, 22, 24, 26, 27, 28, 41, 42, 43, 44, 45], + g = [1, 34], + y = [27, 28, 46, 47], + v = [41, 42, 43, 44, 45], + x = [17, 34], + b = [1, 54], + w = [1, 53], + S = [17, 34, 36, 38], + T = { + trace: o(function () {}, 'trace'), + yy: {}, + symbols_: { + error: 2, + start: 3, + ER_DIAGRAM: 4, + document: 5, + EOF: 6, + line: 7, + SPACE: 8, + statement: 9, + NEWLINE: 10, + entityName: 11, + relSpec: 12, + ':': 13, + role: 14, + BLOCK_START: 15, + attributes: 16, + BLOCK_STOP: 17, + SQS: 18, + SQE: 19, + title: 20, + title_value: 21, + acc_title: 22, + acc_title_value: 23, + acc_descr: 24, + acc_descr_value: 25, + acc_descr_multiline_value: 26, + ALPHANUM: 27, + ENTITY_NAME: 28, + attribute: 29, + attributeType: 30, + attributeName: 31, + attributeKeyTypeList: 32, + attributeComment: 33, + ATTRIBUTE_WORD: 34, + attributeKeyType: 35, + COMMA: 36, + ATTRIBUTE_KEY: 37, + COMMENT: 38, + cardinality: 39, + relType: 40, + ZERO_OR_ONE: 41, + ZERO_OR_MORE: 42, + ONE_OR_MORE: 43, + ONLY_ONE: 44, + MD_PARENT: 45, + NON_IDENTIFYING: 46, + IDENTIFYING: 47, + WORD: 48, + $accept: 0, + $end: 1 + }, + terminals_: { + 2: 'error', + 4: 'ER_DIAGRAM', + 6: 'EOF', + 8: 'SPACE', + 10: 'NEWLINE', + 13: ':', + 15: 'BLOCK_START', + 17: 'BLOCK_STOP', + 18: 'SQS', + 19: 'SQE', + 20: 'title', + 21: 'title_value', + 22: 'acc_title', + 23: 'acc_title_value', + 24: 'acc_descr', + 25: 'acc_descr_value', + 26: 'acc_descr_multiline_value', + 27: 'ALPHANUM', + 28: 'ENTITY_NAME', + 34: 'ATTRIBUTE_WORD', + 36: 'COMMA', + 37: 'ATTRIBUTE_KEY', + 38: 'COMMENT', + 41: 'ZERO_OR_ONE', + 42: 'ZERO_OR_MORE', + 43: 'ONE_OR_MORE', + 44: 'ONLY_ONE', + 45: 'MD_PARENT', + 46: 'NON_IDENTIFYING', + 47: 'IDENTIFYING', + 48: 'WORD' + }, + productions_: [ + 0, + [3, 3], + [5, 0], + [5, 2], + [7, 2], + [7, 1], + [7, 1], + [7, 1], + [9, 5], + [9, 4], + [9, 3], + [9, 1], + [9, 7], + [9, 6], + [9, 4], + [9, 2], + [9, 2], + [9, 2], + [9, 1], + [11, 1], + [11, 1], + [16, 1], + [16, 2], + [29, 2], + [29, 3], + [29, 3], + [29, 4], + [30, 1], + [31, 1], + [32, 1], + [32, 3], + [35, 1], + [33, 1], + [12, 3], + [39, 1], + [39, 1], + [39, 1], + [39, 1], + [39, 1], + [40, 1], + [40, 1], + [14, 1], + [14, 1], + [14, 1] + ], + performAction: o(function (L, M, N, k, I, C, O) { + var D = C.length - 1; + switch (I) { + case 1: + break; + case 2: + this.$ = []; + break; + case 3: + C[D - 1].push(C[D]), (this.$ = C[D - 1]); + break; + case 4: + case 5: + this.$ = C[D]; + break; + case 6: + case 7: + this.$ = []; + break; + case 8: + k.addEntity(C[D - 4]), + k.addEntity(C[D - 2]), + k.addRelationship(C[D - 4], C[D], C[D - 2], C[D - 3]); + break; + case 9: + k.addEntity(C[D - 3]), k.addAttributes(C[D - 3], C[D - 1]); + break; + case 10: + k.addEntity(C[D - 2]); + break; + case 11: + k.addEntity(C[D]); + break; + case 12: + k.addEntity(C[D - 6], C[D - 4]), k.addAttributes(C[D - 6], C[D - 1]); + break; + case 13: + k.addEntity(C[D - 5], C[D - 3]); + break; + case 14: + k.addEntity(C[D - 3], C[D - 1]); + break; + case 15: + case 16: + (this.$ = C[D].trim()), k.setAccTitle(this.$); + break; + case 17: + case 18: + (this.$ = C[D].trim()), k.setAccDescription(this.$); + break; + case 19: + case 43: + this.$ = C[D]; + break; + case 20: + case 41: + case 42: + this.$ = C[D].replace(/"/g, ''); + break; + case 21: + case 29: + this.$ = [C[D]]; + break; + case 22: + C[D].push(C[D - 1]), (this.$ = C[D]); + break; + case 23: + this.$ = { attributeType: C[D - 1], attributeName: C[D] }; + break; + case 24: + this.$ = { + attributeType: C[D - 2], + attributeName: C[D - 1], + attributeKeyTypeList: C[D] + }; + break; + case 25: + this.$ = { + attributeType: C[D - 2], + attributeName: C[D - 1], + attributeComment: C[D] + }; + break; + case 26: + this.$ = { + attributeType: C[D - 3], + attributeName: C[D - 2], + attributeKeyTypeList: C[D - 1], + attributeComment: C[D] + }; + break; + case 27: + case 28: + case 31: + this.$ = C[D]; + break; + case 30: + C[D - 2].push(C[D]), (this.$ = C[D - 2]); + break; + case 32: + this.$ = C[D].replace(/"/g, ''); + break; + case 33: + this.$ = { cardA: C[D], relType: C[D - 1], cardB: C[D - 2] }; + break; + case 34: + this.$ = k.Cardinality.ZERO_OR_ONE; + break; + case 35: + this.$ = k.Cardinality.ZERO_OR_MORE; + break; + case 36: + this.$ = k.Cardinality.ONE_OR_MORE; + break; + case 37: + this.$ = k.Cardinality.ONLY_ONE; + break; + case 38: + this.$ = k.Cardinality.MD_PARENT; + break; + case 39: + this.$ = k.Identification.NON_IDENTIFYING; + break; + case 40: + this.$ = k.Identification.IDENTIFYING; + break; + } + }, 'anonymous'), + table: [ + { 3: 1, 4: [1, 2] }, + { 1: [3] }, + t(e, [2, 2], { 5: 3 }), + { + 6: [1, 4], + 7: 5, + 8: [1, 6], + 9: 7, + 10: [1, 8], + 11: 9, + 20: r, + 22: n, + 24: i, + 26: a, + 27: s, + 28: l + }, + t(e, [2, 7], { 1: [2, 1] }), + t(e, [2, 3]), + { 9: 16, 11: 9, 20: r, 22: n, 24: i, 26: a, 27: s, 28: l }, + t(e, [2, 5]), + t(e, [2, 6]), + t(e, [2, 11], { + 12: 17, + 39: 20, + 15: [1, 18], + 18: [1, 19], + 41: u, + 42: h, + 43: f, + 44: d, + 45: p + }), + { 21: [1, 26] }, + { 23: [1, 27] }, + { 25: [1, 28] }, + t(e, [2, 18]), + t(m, [2, 19]), + t(m, [2, 20]), + t(e, [2, 4]), + { 11: 29, 27: s, 28: l }, + { 16: 30, 17: [1, 31], 29: 32, 30: 33, 34: g }, + { 11: 35, 27: s, 28: l }, + { 40: 36, 46: [1, 37], 47: [1, 38] }, + t(y, [2, 34]), + t(y, [2, 35]), + t(y, [2, 36]), + t(y, [2, 37]), + t(y, [2, 38]), + t(e, [2, 15]), + t(e, [2, 16]), + t(e, [2, 17]), + { 13: [1, 39] }, + { 17: [1, 40] }, + t(e, [2, 10]), + { 16: 41, 17: [2, 21], 29: 32, 30: 33, 34: g }, + { 31: 42, 34: [1, 43] }, + { 34: [2, 27] }, + { 19: [1, 44] }, + { 39: 45, 41: u, 42: h, 43: f, 44: d, 45: p }, + t(v, [2, 39]), + t(v, [2, 40]), + { 14: 46, 27: [1, 49], 28: [1, 48], 48: [1, 47] }, + t(e, [2, 9]), + { 17: [2, 22] }, + t(x, [2, 23], { 32: 50, 33: 51, 35: 52, 37: b, 38: w }), + t([17, 34, 37, 38], [2, 28]), + t(e, [2, 14], { 15: [1, 55] }), + t([27, 28], [2, 33]), + t(e, [2, 8]), + t(e, [2, 41]), + t(e, [2, 42]), + t(e, [2, 43]), + t(x, [2, 24], { 33: 56, 36: [1, 57], 38: w }), + t(x, [2, 25]), + t(S, [2, 29]), + t(x, [2, 32]), + t(S, [2, 31]), + { 16: 58, 17: [1, 59], 29: 32, 30: 33, 34: g }, + t(x, [2, 26]), + { 35: 60, 37: b }, + { 17: [1, 61] }, + t(e, [2, 13]), + t(S, [2, 30]), + t(e, [2, 12]) + ], + defaultActions: { 34: [2, 27], 41: [2, 22] }, + parseError: o(function (L, M) { + if (M.recoverable) this.trace(L); + else { + var N = new Error(L); + throw ((N.hash = M), N); + } + }, 'parseError'), + parse: o(function (L) { + var M = this, + N = [0], + k = [], + I = [null], + C = [], + O = this.table, + D = '', + P = 0, + F = 0, + B = 0, + $ = 2, + z = 1, + Y = C.slice.call(arguments, 1), + Q = Object.create(this.lexer), + X = { yy: {} }; + for (var ie in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, ie) && (X.yy[ie] = this.yy[ie]); + Q.setInput(L, X.yy), + (X.yy.lexer = Q), + (X.yy.parser = this), + typeof Q.yylloc > 'u' && (Q.yylloc = {}); + var j = Q.yylloc; + C.push(j); + var J = Q.options && Q.options.ranges; + typeof X.yy.parseError == 'function' + ? (this.parseError = X.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError); + function Z(Pe) { + (N.length = N.length - 2 * Pe), (I.length = I.length - Pe), (C.length = C.length - Pe); + } + o(Z, 'popStack'); + function H() { + var Pe; + return ( + (Pe = k.pop() || Q.lex() || z), + typeof Pe != 'number' && + (Pe instanceof Array && ((k = Pe), (Pe = k.pop())), + (Pe = M.symbols_[Pe] || Pe)), + Pe + ); + } + o(H, 'lex'); + for (var q, K, se, ce, ue, te, De = {}, oe, ke, Ie, Se; ; ) { + if ( + ((se = N[N.length - 1]), + this.defaultActions[se] + ? (ce = this.defaultActions[se]) + : ((q === null || typeof q > 'u') && (q = H()), (ce = O[se] && O[se][q])), + typeof ce > 'u' || !ce.length || !ce[0]) + ) { + var Ue = ''; + Se = []; + for (oe in O[se]) + this.terminals_[oe] && oe > $ && Se.push("'" + this.terminals_[oe] + "'"); + Q.showPosition + ? (Ue = + 'Parse error on line ' + + (P + 1) + + `: +` + + Q.showPosition() + + ` +Expecting ` + + Se.join(', ') + + ", got '" + + (this.terminals_[q] || q) + + "'") + : (Ue = + 'Parse error on line ' + + (P + 1) + + ': Unexpected ' + + (q == z ? 'end of input' : "'" + (this.terminals_[q] || q) + "'")), + this.parseError(Ue, { + text: Q.match, + token: this.terminals_[q] || q, + line: Q.yylineno, + loc: j, + expected: Se + }); + } + if (ce[0] instanceof Array && ce.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + se + ', token: ' + q + ); + switch (ce[0]) { + case 1: + N.push(q), + I.push(Q.yytext), + C.push(Q.yylloc), + N.push(ce[1]), + (q = null), + K + ? ((q = K), (K = null)) + : ((F = Q.yyleng), + (D = Q.yytext), + (P = Q.yylineno), + (j = Q.yylloc), + B > 0 && B--); + break; + case 2: + if ( + ((ke = this.productions_[ce[1]][1]), + (De.$ = I[I.length - ke]), + (De._$ = { + first_line: C[C.length - (ke || 1)].first_line, + last_line: C[C.length - 1].last_line, + first_column: C[C.length - (ke || 1)].first_column, + last_column: C[C.length - 1].last_column + }), + J && + (De._$.range = [ + C[C.length - (ke || 1)].range[0], + C[C.length - 1].range[1] + ]), + (te = this.performAction.apply(De, [D, F, P, X.yy, ce[1], I, C].concat(Y))), + typeof te < 'u') + ) + return te; + ke && + ((N = N.slice(0, -1 * ke * 2)), + (I = I.slice(0, -1 * ke)), + (C = C.slice(0, -1 * ke))), + N.push(this.productions_[ce[1]][0]), + I.push(De.$), + C.push(De._$), + (Ie = O[N[N.length - 2]][N[N.length - 1]]), + N.push(Ie); + break; + case 3: + return !0; + } + } + return !0; + }, 'parse') + }, + E = (function () { + var A = { + EOF: 1, + parseError: o(function (M, N) { + if (this.yy.parser) this.yy.parser.parseError(M, N); + else throw new Error(M); + }, 'parseError'), + setInput: o(function (L, M) { + return ( + (this.yy = M || this.yy || {}), + (this._input = L), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, 'setInput'), + input: o(function () { + var L = this._input[0]; + (this.yytext += L), + this.yyleng++, + this.offset++, + (this.match += L), + (this.matched += L); + var M = L.match(/(?:\r\n?|\n).*/g); + return ( + M ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + L + ); + }, 'input'), + unput: o(function (L) { + var M = L.length, + N = L.split(/(?:\r\n?|\n)/g); + (this._input = L + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - M)), + (this.offset -= M); + var k = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + N.length - 1 && (this.yylineno -= N.length - 1); + var I = this.yylloc.range; + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: N + ? (N.length === k.length ? this.yylloc.first_column : 0) + + k[k.length - N.length].length - + N[0].length + : this.yylloc.first_column - M + }), + this.options.ranges && (this.yylloc.range = [I[0], I[0] + this.yyleng - M]), + (this.yyleng = this.yytext.length), + this + ); + }, 'unput'), + more: o(function () { + return (this._more = !0), this; + }, 'more'), + reject: o(function () { + if (this.options.backtrack_lexer) this._backtrack = !0; + else + return this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + return this; + }, 'reject'), + less: o(function (L) { + this.unput(this.match.slice(L)); + }, 'less'), + pastInput: o(function () { + var L = this.matched.substr(0, this.matched.length - this.match.length); + return (L.length > 20 ? '...' : '') + L.substr(-20).replace(/\n/g, ''); + }, 'pastInput'), + upcomingInput: o(function () { + var L = this.match; + return ( + L.length < 20 && (L += this._input.substr(0, 20 - L.length)), + (L.substr(0, 20) + (L.length > 20 ? '...' : '')).replace(/\n/g, '') + ); + }, 'upcomingInput'), + showPosition: o(function () { + var L = this.pastInput(), + M = new Array(L.length + 1).join('-'); + return ( + L + + this.upcomingInput() + + ` +` + + M + + '^' + ); + }, 'showPosition'), + test_match: o(function (L, M) { + var N, k, I; + if ( + (this.options.backtrack_lexer && + ((I = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }), + this.options.ranges && (I.yylloc.range = this.yylloc.range.slice(0))), + (k = L[0].match(/(?:\r\n?|\n).*/g)), + k && (this.yylineno += k.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: k + ? k[k.length - 1].length - k[k.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + L[0].length + }), + (this.yytext += L[0]), + (this.match += L[0]), + (this.matches = L), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(L[0].length)), + (this.matched += L[0]), + (N = this.performAction.call( + this, + this.yy, + this, + M, + this.conditionStack[this.conditionStack.length - 1] + )), + this.done && this._input && (this.done = !1), + N) + ) + return N; + if (this._backtrack) { + for (var C in I) this[C] = I[C]; + return !1; + } + return !1; + }, 'test_match'), + next: o(function () { + if (this.done) return this.EOF; + this._input || (this.done = !0); + var L, M, N, k; + this._more || ((this.yytext = ''), (this.match = '')); + for (var I = this._currentRules(), C = 0; C < I.length; C++) + if ( + ((N = this._input.match(this.rules[I[C]])), + N && (!M || N[0].length > M[0].length)) + ) { + if (((M = N), (k = C), this.options.backtrack_lexer)) { + if (((L = this.test_match(N, I[C])), L !== !1)) return L; + if (this._backtrack) { + M = !1; + continue; + } else return !1; + } else if (!this.options.flex) break; + } + return M + ? ((L = this.test_match(M, I[k])), L !== !1 ? L : !1) + : this._input === '' + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, 'next'), + lex: o(function () { + var M = this.next(); + return M || this.lex(); + }, 'lex'), + begin: o(function (M) { + this.conditionStack.push(M); + }, 'begin'), + popState: o(function () { + var M = this.conditionStack.length - 1; + return M > 0 ? this.conditionStack.pop() : this.conditionStack[0]; + }, 'popState'), + _currentRules: o(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules; + }, '_currentRules'), + topState: o(function (M) { + return ( + (M = this.conditionStack.length - 1 - Math.abs(M || 0)), + M >= 0 ? this.conditionStack[M] : 'INITIAL' + ); + }, 'topState'), + pushState: o(function (M) { + this.begin(M); + }, 'pushState'), + stateStackSize: o(function () { + return this.conditionStack.length; + }, 'stateStackSize'), + options: { 'case-insensitive': !0 }, + performAction: o(function (M, N, k, I) { + var C = I; + switch (k) { + case 0: + return this.begin('acc_title'), 22; + break; + case 1: + return this.popState(), 'acc_title_value'; + break; + case 2: + return this.begin('acc_descr'), 24; + break; + case 3: + return this.popState(), 'acc_descr_value'; + break; + case 4: + this.begin('acc_descr_multiline'); + break; + case 5: + this.popState(); + break; + case 6: + return 'acc_descr_multiline_value'; + case 7: + return 10; + case 8: + break; + case 9: + return 8; + case 10: + return 28; + case 11: + return 48; + case 12: + return 4; + case 13: + return this.begin('block'), 15; + break; + case 14: + return 36; + case 15: + break; + case 16: + return 37; + case 17: + return 34; + case 18: + return 34; + case 19: + return 38; + case 20: + break; + case 21: + return this.popState(), 17; + break; + case 22: + return N.yytext[0]; + case 23: + return 18; + case 24: + return 19; + case 25: + return 41; + case 26: + return 43; + case 27: + return 43; + case 28: + return 43; + case 29: + return 41; + case 30: + return 41; + case 31: + return 42; + case 32: + return 42; + case 33: + return 42; + case 34: + return 42; + case 35: + return 42; + case 36: + return 43; + case 37: + return 42; + case 38: + return 43; + case 39: + return 44; + case 40: + return 44; + case 41: + return 44; + case 42: + return 44; + case 43: + return 41; + case 44: + return 42; + case 45: + return 43; + case 46: + return 45; + case 47: + return 46; + case 48: + return 47; + case 49: + return 47; + case 50: + return 46; + case 51: + return 46; + case 52: + return 46; + case 53: + return 27; + case 54: + return N.yytext[0]; + case 55: + return 6; + } + }, 'anonymous'), + rules: [ + /^(?:accTitle\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*\{\s*)/i, + /^(?:[\}])/i, + /^(?:[^\}]*)/i, + /^(?:[\n]+)/i, + /^(?:\s+)/i, + /^(?:[\s]+)/i, + /^(?:"[^"%\r\n\v\b\\]+")/i, + /^(?:"[^"]*")/i, + /^(?:erDiagram\b)/i, + /^(?:\{)/i, + /^(?:,)/i, + /^(?:\s+)/i, + /^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i, + /^(?:(.*?)[~](.*?)*[~])/i, + /^(?:[\*A-Za-z_][A-Za-z0-9\-_\[\]\(\)]*)/i, + /^(?:"[^"]*")/i, + /^(?:[\n]+)/i, + /^(?:\})/i, + /^(?:.)/i, + /^(?:\[)/i, + /^(?:\])/i, + /^(?:one or zero\b)/i, + /^(?:one or more\b)/i, + /^(?:one or many\b)/i, + /^(?:1\+)/i, + /^(?:\|o\b)/i, + /^(?:zero or one\b)/i, + /^(?:zero or more\b)/i, + /^(?:zero or many\b)/i, + /^(?:0\+)/i, + /^(?:\}o\b)/i, + /^(?:many\(0\))/i, + /^(?:many\(1\))/i, + /^(?:many\b)/i, + /^(?:\}\|)/i, + /^(?:one\b)/i, + /^(?:only one\b)/i, + /^(?:1\b)/i, + /^(?:\|\|)/i, + /^(?:o\|)/i, + /^(?:o\{)/i, + /^(?:\|\{)/i, + /^(?:\s*u\b)/i, + /^(?:\.\.)/i, + /^(?:--)/i, + /^(?:to\b)/i, + /^(?:optionally to\b)/i, + /^(?:\.-)/i, + /^(?:-\.)/i, + /^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i, + /^(?:.)/i, + /^(?:$)/i + ], + conditions: { + acc_descr_multiline: { rules: [5, 6], inclusive: !1 }, + acc_descr: { rules: [3], inclusive: !1 }, + acc_title: { rules: [1], inclusive: !1 }, + block: { + rules: [14, 15, 16, 17, 18, 19, 20, 21, 22], + inclusive: !1 + }, + INITIAL: { + rules: [ + 0, 2, 4, 7, 8, 9, 10, 11, 12, 13, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55 + ], + inclusive: !0 + } + } + }; + return A; + })(); + T.lexer = E; + function _() { + this.yy = {}; + } + return o(_, 'Parser'), (_.prototype = T), (T.Parser = _), new _(); + })(); + xD.parser = xD; + rne = xD; + }); + var Hd, + bD, + NNe, + MNe, + ine, + INe, + ONe, + PNe, + BNe, + FNe, + ane, + sne = R(() => { + 'use strict'; + ut(); + _t(); + bi(); + (Hd = new Map()), + (bD = []), + (NNe = { + ZERO_OR_ONE: 'ZERO_OR_ONE', + ZERO_OR_MORE: 'ZERO_OR_MORE', + ONE_OR_MORE: 'ONE_OR_MORE', + ONLY_ONE: 'ONLY_ONE', + MD_PARENT: 'MD_PARENT' + }), + (MNe = { + NON_IDENTIFYING: 'NON_IDENTIFYING', + IDENTIFYING: 'IDENTIFYING' + }), + (ine = o(function (t, e = void 0) { + return ( + Hd.has(t) + ? !Hd.get(t).alias && + e && + ((Hd.get(t).alias = e), V.info(`Add alias '${e}' to entity '${t}'`)) + : (Hd.set(t, { attributes: [], alias: e }), V.info('Added new entity :', t)), + Hd.get(t) + ); + }, 'addEntity')), + (INe = o(() => Hd, 'getEntities')), + (ONe = o(function (t, e) { + let r = ine(t), + n; + for (n = e.length - 1; n >= 0; n--) + r.attributes.push(e[n]), V.debug('Added attribute ', e[n].attributeName); + }, 'addAttributes')), + (PNe = o(function (t, e, r, n) { + let i = { entityA: t, roleA: e, entityB: r, relSpec: n }; + bD.push(i), V.debug('Added new relationship :', i); + }, 'addRelationship')), + (BNe = o(() => bD, 'getRelationships')), + (FNe = o(function () { + (Hd = new Map()), (bD = []), vr(); + }, 'clear')), + (ane = { + Cardinality: NNe, + Identification: MNe, + getConfig: o(() => de().er, 'getConfig'), + addEntity: ine, + addAttributes: ONe, + getEntities: INe, + addRelationship: PNe, + getRelationships: BNe, + clear: FNe, + setAccTitle: kr, + getAccTitle: Ar, + setAccDescription: _r, + getAccDescription: Lr, + setDiagramTitle: nn, + getDiagramTitle: Xr + }); + }); + var Dl, + zNe, + $o, + one = R(() => { + 'use strict'; + (Dl = { + ONLY_ONE_START: 'ONLY_ONE_START', + ONLY_ONE_END: 'ONLY_ONE_END', + ZERO_OR_ONE_START: 'ZERO_OR_ONE_START', + ZERO_OR_ONE_END: 'ZERO_OR_ONE_END', + ONE_OR_MORE_START: 'ONE_OR_MORE_START', + ONE_OR_MORE_END: 'ONE_OR_MORE_END', + ZERO_OR_MORE_START: 'ZERO_OR_MORE_START', + ZERO_OR_MORE_END: 'ZERO_OR_MORE_END', + MD_PARENT_END: 'MD_PARENT_END', + MD_PARENT_START: 'MD_PARENT_START' + }), + (zNe = o(function (t, e) { + let r; + t + .append('defs') + .append('marker') + .attr('id', Dl.MD_PARENT_START) + .attr('refX', 0) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'), + t + .append('defs') + .append('marker') + .attr('id', Dl.MD_PARENT_END) + .attr('refX', 19) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'), + t + .append('defs') + .append('marker') + .attr('id', Dl.ONLY_ONE_START) + .attr('refX', 0) + .attr('refY', 9) + .attr('markerWidth', 18) + .attr('markerHeight', 18) + .attr('orient', 'auto') + .append('path') + .attr('stroke', e.stroke) + .attr('fill', 'none') + .attr('d', 'M9,0 L9,18 M15,0 L15,18'), + t + .append('defs') + .append('marker') + .attr('id', Dl.ONLY_ONE_END) + .attr('refX', 18) + .attr('refY', 9) + .attr('markerWidth', 18) + .attr('markerHeight', 18) + .attr('orient', 'auto') + .append('path') + .attr('stroke', e.stroke) + .attr('fill', 'none') + .attr('d', 'M3,0 L3,18 M9,0 L9,18'), + (r = t + .append('defs') + .append('marker') + .attr('id', Dl.ZERO_OR_ONE_START) + .attr('refX', 0) + .attr('refY', 9) + .attr('markerWidth', 30) + .attr('markerHeight', 18) + .attr('orient', 'auto')), + r + .append('circle') + .attr('stroke', e.stroke) + .attr('fill', 'white') + .attr('cx', 21) + .attr('cy', 9) + .attr('r', 6), + r.append('path').attr('stroke', e.stroke).attr('fill', 'none').attr('d', 'M9,0 L9,18'), + (r = t + .append('defs') + .append('marker') + .attr('id', Dl.ZERO_OR_ONE_END) + .attr('refX', 30) + .attr('refY', 9) + .attr('markerWidth', 30) + .attr('markerHeight', 18) + .attr('orient', 'auto')), + r + .append('circle') + .attr('stroke', e.stroke) + .attr('fill', 'white') + .attr('cx', 9) + .attr('cy', 9) + .attr('r', 6), + r.append('path').attr('stroke', e.stroke).attr('fill', 'none').attr('d', 'M21,0 L21,18'), + t + .append('defs') + .append('marker') + .attr('id', Dl.ONE_OR_MORE_START) + .attr('refX', 18) + .attr('refY', 18) + .attr('markerWidth', 45) + .attr('markerHeight', 36) + .attr('orient', 'auto') + .append('path') + .attr('stroke', e.stroke) + .attr('fill', 'none') + .attr('d', 'M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27'), + t + .append('defs') + .append('marker') + .attr('id', Dl.ONE_OR_MORE_END) + .attr('refX', 27) + .attr('refY', 18) + .attr('markerWidth', 45) + .attr('markerHeight', 36) + .attr('orient', 'auto') + .append('path') + .attr('stroke', e.stroke) + .attr('fill', 'none') + .attr('d', 'M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18'), + (r = t + .append('defs') + .append('marker') + .attr('id', Dl.ZERO_OR_MORE_START) + .attr('refX', 18) + .attr('refY', 18) + .attr('markerWidth', 57) + .attr('markerHeight', 36) + .attr('orient', 'auto')), + r + .append('circle') + .attr('stroke', e.stroke) + .attr('fill', 'white') + .attr('cx', 48) + .attr('cy', 18) + .attr('r', 6), + r + .append('path') + .attr('stroke', e.stroke) + .attr('fill', 'none') + .attr('d', 'M0,18 Q18,0 36,18 Q18,36 0,18'), + (r = t + .append('defs') + .append('marker') + .attr('id', Dl.ZERO_OR_MORE_END) + .attr('refX', 39) + .attr('refY', 18) + .attr('markerWidth', 57) + .attr('markerHeight', 36) + .attr('orient', 'auto')), + r + .append('circle') + .attr('stroke', e.stroke) + .attr('fill', 'white') + .attr('cx', 9) + .attr('cy', 18) + .attr('r', 6), + r + .append('path') + .attr('stroke', e.stroke) + .attr('fill', 'none') + .attr('d', 'M21,18 Q39,0 57,18 Q39,36 21,18'); + }, 'insertMarkers')), + ($o = { ERMarkers: Dl, insertMarkers: zNe }); + }); + var lne, + cne = R(() => { + 'use strict'; + lne = + /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; + }); + function GNe(t) { + return typeof t == 'string' && lne.test(t); + } + var une, + hne = R(() => { + 'use strict'; + cne(); + o(GNe, 'validate'); + une = GNe; + }); + function fne(t, e = 0) { + return ( + va[t[e + 0]] + + va[t[e + 1]] + + va[t[e + 2]] + + va[t[e + 3]] + + '-' + + va[t[e + 4]] + + va[t[e + 5]] + + '-' + + va[t[e + 6]] + + va[t[e + 7]] + + '-' + + va[t[e + 8]] + + va[t[e + 9]] + + '-' + + va[t[e + 10]] + + va[t[e + 11]] + + va[t[e + 12]] + + va[t[e + 13]] + + va[t[e + 14]] + + va[t[e + 15]] + ); + } + var va, + dne = R(() => { + 'use strict'; + va = []; + for (let t = 0; t < 256; ++t) va.push((t + 256).toString(16).slice(1)); + o(fne, 'unsafeStringify'); + }); + function $Ne(t) { + if (!une(t)) throw TypeError('Invalid UUID'); + let e, + r = new Uint8Array(16); + return ( + (r[0] = (e = parseInt(t.slice(0, 8), 16)) >>> 24), + (r[1] = (e >>> 16) & 255), + (r[2] = (e >>> 8) & 255), + (r[3] = e & 255), + (r[4] = (e = parseInt(t.slice(9, 13), 16)) >>> 8), + (r[5] = e & 255), + (r[6] = (e = parseInt(t.slice(14, 18), 16)) >>> 8), + (r[7] = e & 255), + (r[8] = (e = parseInt(t.slice(19, 23), 16)) >>> 8), + (r[9] = e & 255), + (r[10] = ((e = parseInt(t.slice(24, 36), 16)) / 1099511627776) & 255), + (r[11] = (e / 4294967296) & 255), + (r[12] = (e >>> 24) & 255), + (r[13] = (e >>> 16) & 255), + (r[14] = (e >>> 8) & 255), + (r[15] = e & 255), + r + ); + } + var pne, + mne = R(() => { + 'use strict'; + hne(); + o($Ne, 'parse'); + pne = $Ne; + }); + function VNe(t) { + t = unescape(encodeURIComponent(t)); + let e = []; + for (let r = 0; r < t.length; ++r) e.push(t.charCodeAt(r)); + return e; + } + function wD(t, e, r) { + function n(i, a, s, l) { + var u; + if ( + (typeof i == 'string' && (i = VNe(i)), + typeof a == 'string' && (a = pne(a)), + ((u = a) === null || u === void 0 ? void 0 : u.length) !== 16) + ) + throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); + let h = new Uint8Array(16 + i.length); + if ((h.set(a), h.set(i, a.length), (h = r(h)), (h[6] = (h[6] & 15) | e), (h[8] = (h[8] & 63) | 128), s)) { + l = l || 0; + for (let f = 0; f < 16; ++f) s[l + f] = h[f]; + return s; + } + return fne(h); + } + o(n, 'generateUUID'); + try { + n.name = t; + } catch {} + return (n.DNS = UNe), (n.URL = HNe), n; + } + var UNe, + HNe, + gne = R(() => { + 'use strict'; + dne(); + mne(); + o(VNe, 'stringToBytes'); + (UNe = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'), (HNe = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'); + o(wD, 'v35'); + }); + function YNe(t, e, r, n) { + switch (t) { + case 0: + return (e & r) ^ (~e & n); + case 1: + return e ^ r ^ n; + case 2: + return (e & r) ^ (e & n) ^ (r & n); + case 3: + return e ^ r ^ n; + } + } + function TD(t, e) { + return (t << e) | (t >>> (32 - e)); + } + function WNe(t) { + let e = [1518500249, 1859775393, 2400959708, 3395469782], + r = [1732584193, 4023233417, 2562383102, 271733878, 3285377520]; + if (typeof t == 'string') { + let s = unescape(encodeURIComponent(t)); + t = []; + for (let l = 0; l < s.length; ++l) t.push(s.charCodeAt(l)); + } else Array.isArray(t) || (t = Array.prototype.slice.call(t)); + t.push(128); + let n = t.length / 4 + 2, + i = Math.ceil(n / 16), + a = new Array(i); + for (let s = 0; s < i; ++s) { + let l = new Uint32Array(16); + for (let u = 0; u < 16; ++u) + l[u] = + (t[s * 64 + u * 4] << 24) | + (t[s * 64 + u * 4 + 1] << 16) | + (t[s * 64 + u * 4 + 2] << 8) | + t[s * 64 + u * 4 + 3]; + a[s] = l; + } + (a[i - 1][14] = ((t.length - 1) * 8) / Math.pow(2, 32)), + (a[i - 1][14] = Math.floor(a[i - 1][14])), + (a[i - 1][15] = ((t.length - 1) * 8) & 4294967295); + for (let s = 0; s < i; ++s) { + let l = new Uint32Array(80); + for (let m = 0; m < 16; ++m) l[m] = a[s][m]; + for (let m = 16; m < 80; ++m) l[m] = TD(l[m - 3] ^ l[m - 8] ^ l[m - 14] ^ l[m - 16], 1); + let u = r[0], + h = r[1], + f = r[2], + d = r[3], + p = r[4]; + for (let m = 0; m < 80; ++m) { + let g = Math.floor(m / 20), + y = (TD(u, 5) + YNe(g, h, f, d) + p + e[g] + l[m]) >>> 0; + (p = d), (d = f), (f = TD(h, 30) >>> 0), (h = u), (u = y); + } + (r[0] = (r[0] + u) >>> 0), + (r[1] = (r[1] + h) >>> 0), + (r[2] = (r[2] + f) >>> 0), + (r[3] = (r[3] + d) >>> 0), + (r[4] = (r[4] + p) >>> 0); + } + return [ + (r[0] >> 24) & 255, + (r[0] >> 16) & 255, + (r[0] >> 8) & 255, + r[0] & 255, + (r[1] >> 24) & 255, + (r[1] >> 16) & 255, + (r[1] >> 8) & 255, + r[1] & 255, + (r[2] >> 24) & 255, + (r[2] >> 16) & 255, + (r[2] >> 8) & 255, + r[2] & 255, + (r[3] >> 24) & 255, + (r[3] >> 16) & 255, + (r[3] >> 8) & 255, + r[3] & 255, + (r[4] >> 24) & 255, + (r[4] >> 16) & 255, + (r[4] >> 8) & 255, + r[4] & 255 + ]; + } + var yne, + vne = R(() => { + 'use strict'; + o(YNe, 'f'); + o(TD, 'ROTL'); + o(WNe, 'sha1'); + yne = WNe; + }); + var qNe, + kD, + xne = R(() => { + 'use strict'; + gne(); + vne(); + (qNe = wD('v5', 80, yne)), (kD = qNe); + }); + var bne = R(() => { + 'use strict'; + xne(); + }); + function nMe(t = '', e = '') { + let r = t.replace(XNe, ''); + return `${Tne(e)}${Tne(r)}${kD(t, rMe)}`; + } + function Tne(t = '') { + return t.length > 0 ? `${t}-` : ''; + } + var XNe, + Ii, + Fv, + jNe, + KNe, + QNe, + ZNe, + kne, + JNe, + wne, + eMe, + tMe, + rMe, + Ene, + Cne = R(() => { + 'use strict'; + ya(); + Zt(); + Vd(); + _t(); + ut(); + xr(); + one(); + Yn(); + rr(); + bne(); + (XNe = /[^\dA-Za-z](\W)*/g), + (Ii = {}), + (Fv = new Map()), + (jNe = o(function (t) { + let e = Object.keys(t); + for (let r of e) Ii[r] = t[r]; + }, 'setConf')), + (KNe = o((t, e, r) => { + let n = Ii.entityPadding / 3, + i = Ii.entityPadding / 3, + a = Ii.fontSize * 0.85, + s = e.node().getBBox(), + l = [], + u = !1, + h = !1, + f = 0, + d = 0, + p = 0, + m = 0, + g = s.height + n * 2, + y = 1; + r.forEach((w) => { + w.attributeKeyTypeList !== void 0 && w.attributeKeyTypeList.length > 0 && (u = !0), + w.attributeComment !== void 0 && (h = !0); + }), + r.forEach((w) => { + let S = `${e.node().id}-attr-${y}`, + T = 0, + E = gh(w.attributeType), + _ = t + .append('text') + .classed('er entityLabel', !0) + .attr('id', `${S}-type`) + .attr('x', 0) + .attr('y', 0) + .style('dominant-baseline', 'middle') + .style('text-anchor', 'left') + .style('font-family', de().fontFamily) + .style('font-size', a + 'px') + .text(E), + A = t + .append('text') + .classed('er entityLabel', !0) + .attr('id', `${S}-name`) + .attr('x', 0) + .attr('y', 0) + .style('dominant-baseline', 'middle') + .style('text-anchor', 'left') + .style('font-family', de().fontFamily) + .style('font-size', a + 'px') + .text(w.attributeName), + L = {}; + (L.tn = _), (L.nn = A); + let M = _.node().getBBox(), + N = A.node().getBBox(); + if ( + ((f = Math.max(f, M.width)), + (d = Math.max(d, N.width)), + (T = Math.max(M.height, N.height)), + u) + ) { + let k = w.attributeKeyTypeList !== void 0 ? w.attributeKeyTypeList.join(',') : '', + I = t + .append('text') + .classed('er entityLabel', !0) + .attr('id', `${S}-key`) + .attr('x', 0) + .attr('y', 0) + .style('dominant-baseline', 'middle') + .style('text-anchor', 'left') + .style('font-family', de().fontFamily) + .style('font-size', a + 'px') + .text(k); + L.kn = I; + let C = I.node().getBBox(); + (p = Math.max(p, C.width)), (T = Math.max(T, C.height)); + } + if (h) { + let k = t + .append('text') + .classed('er entityLabel', !0) + .attr('id', `${S}-comment`) + .attr('x', 0) + .attr('y', 0) + .style('dominant-baseline', 'middle') + .style('text-anchor', 'left') + .style('font-family', de().fontFamily) + .style('font-size', a + 'px') + .text(w.attributeComment || ''); + L.cn = k; + let I = k.node().getBBox(); + (m = Math.max(m, I.width)), (T = Math.max(T, I.height)); + } + (L.height = T), l.push(L), (g += T + n * 2), (y += 1); + }); + let v = 4; + u && (v += 2), h && (v += 2); + let x = f + d + p + m, + b = { + width: Math.max(Ii.minEntityWidth, Math.max(s.width + Ii.entityPadding * 2, x + i * v)), + height: r.length > 0 ? g : Math.max(Ii.minEntityHeight, s.height + Ii.entityPadding * 2) + }; + if (r.length > 0) { + let w = Math.max(0, (b.width - x - i * v) / (v / 2)); + e.attr('transform', 'translate(' + b.width / 2 + ',' + (n + s.height / 2) + ')'); + let S = s.height + n * 2, + T = 'attributeBoxOdd'; + l.forEach((E) => { + let _ = S + n + E.height / 2; + E.tn.attr('transform', 'translate(' + i + ',' + _ + ')'); + let A = t + .insert('rect', '#' + E.tn.node().id) + .classed(`er ${T}`, !0) + .attr('x', 0) + .attr('y', S) + .attr('width', f + i * 2 + w) + .attr('height', E.height + n * 2), + L = parseFloat(A.attr('x')) + parseFloat(A.attr('width')); + E.nn.attr('transform', 'translate(' + (L + i) + ',' + _ + ')'); + let M = t + .insert('rect', '#' + E.nn.node().id) + .classed(`er ${T}`, !0) + .attr('x', L) + .attr('y', S) + .attr('width', d + i * 2 + w) + .attr('height', E.height + n * 2), + N = parseFloat(M.attr('x')) + parseFloat(M.attr('width')); + if (u) { + E.kn.attr('transform', 'translate(' + (N + i) + ',' + _ + ')'); + let k = t + .insert('rect', '#' + E.kn.node().id) + .classed(`er ${T}`, !0) + .attr('x', N) + .attr('y', S) + .attr('width', p + i * 2 + w) + .attr('height', E.height + n * 2); + N = parseFloat(k.attr('x')) + parseFloat(k.attr('width')); + } + h && + (E.cn.attr('transform', 'translate(' + (N + i) + ',' + _ + ')'), + t + .insert('rect', '#' + E.cn.node().id) + .classed(`er ${T}`, 'true') + .attr('x', N) + .attr('y', S) + .attr('width', m + i * 2 + w) + .attr('height', E.height + n * 2)), + (S += E.height + n * 2), + (T = T === 'attributeBoxOdd' ? 'attributeBoxEven' : 'attributeBoxOdd'); + }); + } else + (b.height = Math.max(Ii.minEntityHeight, g)), + e.attr('transform', 'translate(' + b.width / 2 + ',' + b.height / 2 + ')'); + return b; + }, 'drawAttributes')), + (QNe = o(function (t, e, r) { + let n = [...e.keys()], + i; + return ( + n.forEach(function (a) { + let s = nMe(a, 'entity'); + Fv.set(a, s); + let l = t.append('g').attr('id', s); + i = i === void 0 ? s : i; + let u = 'text-' + s, + h = l + .append('text') + .classed('er entityLabel', !0) + .attr('id', u) + .attr('x', 0) + .attr('y', 0) + .style('dominant-baseline', 'middle') + .style('text-anchor', 'middle') + .style('font-family', de().fontFamily) + .style('font-size', Ii.fontSize + 'px') + .text(e.get(a).alias ?? a), + { width: f, height: d } = KNe(l, h, e.get(a).attributes), + m = l + .insert('rect', '#' + u) + .classed('er entityBox', !0) + .attr('x', 0) + .attr('y', 0) + .attr('width', f) + .attr('height', d) + .node() + .getBBox(); + r.setNode(s, { + width: m.width, + height: m.height, + shape: 'rect', + id: s + }); + }), + i + ); + }, 'drawEntities')), + (ZNe = o(function (t, e) { + e.nodes().forEach(function (r) { + r !== void 0 && + e.node(r) !== void 0 && + t + .select('#' + r) + .attr( + 'transform', + 'translate(' + + (e.node(r).x - e.node(r).width / 2) + + ',' + + (e.node(r).y - e.node(r).height / 2) + + ' )' + ); + }); + }, 'adjustEntities')), + (kne = o(function (t) { + return (t.entityA + t.roleA + t.entityB).replace(/\s/g, ''); + }, 'getEdgeName')), + (JNe = o(function (t, e) { + return ( + t.forEach(function (r) { + e.setEdge(Fv.get(r.entityA), Fv.get(r.entityB), { relationship: r }, kne(r)); + }), + t + ); + }, 'addRelationships')), + (wne = 0), + (eMe = o(function (t, e, r, n, i) { + wne++; + let a = r.edge(Fv.get(e.entityA), Fv.get(e.entityB), kne(e)), + s = ha() + .x(function (y) { + return y.x; + }) + .y(function (y) { + return y.y; + }) + .curve(vs), + l = t + .insert('path', '#' + n) + .classed('er relationshipLine', !0) + .attr('d', s(a.points)) + .style('stroke', Ii.stroke) + .style('fill', 'none'); + e.relSpec.relType === i.db.Identification.NON_IDENTIFYING && l.attr('stroke-dasharray', '8,8'); + let u = ''; + switch ( + (Ii.arrowMarkerAbsolute && + ((u = + window.location.protocol + + '//' + + window.location.host + + window.location.pathname + + window.location.search), + (u = u.replace(/\(/g, '\\(')), + (u = u.replace(/\)/g, '\\)'))), + e.relSpec.cardA) + ) { + case i.db.Cardinality.ZERO_OR_ONE: + l.attr('marker-end', 'url(' + u + '#' + $o.ERMarkers.ZERO_OR_ONE_END + ')'); + break; + case i.db.Cardinality.ZERO_OR_MORE: + l.attr('marker-end', 'url(' + u + '#' + $o.ERMarkers.ZERO_OR_MORE_END + ')'); + break; + case i.db.Cardinality.ONE_OR_MORE: + l.attr('marker-end', 'url(' + u + '#' + $o.ERMarkers.ONE_OR_MORE_END + ')'); + break; + case i.db.Cardinality.ONLY_ONE: + l.attr('marker-end', 'url(' + u + '#' + $o.ERMarkers.ONLY_ONE_END + ')'); + break; + case i.db.Cardinality.MD_PARENT: + l.attr('marker-end', 'url(' + u + '#' + $o.ERMarkers.MD_PARENT_END + ')'); + break; + } + switch (e.relSpec.cardB) { + case i.db.Cardinality.ZERO_OR_ONE: + l.attr('marker-start', 'url(' + u + '#' + $o.ERMarkers.ZERO_OR_ONE_START + ')'); + break; + case i.db.Cardinality.ZERO_OR_MORE: + l.attr('marker-start', 'url(' + u + '#' + $o.ERMarkers.ZERO_OR_MORE_START + ')'); + break; + case i.db.Cardinality.ONE_OR_MORE: + l.attr('marker-start', 'url(' + u + '#' + $o.ERMarkers.ONE_OR_MORE_START + ')'); + break; + case i.db.Cardinality.ONLY_ONE: + l.attr('marker-start', 'url(' + u + '#' + $o.ERMarkers.ONLY_ONE_START + ')'); + break; + case i.db.Cardinality.MD_PARENT: + l.attr('marker-start', 'url(' + u + '#' + $o.ERMarkers.MD_PARENT_START + ')'); + break; + } + let h = l.node().getTotalLength(), + f = l.node().getPointAtLength(h * 0.5), + d = 'rel' + wne, + p = e.roleA.split(/
    /g), + m = t + .append('text') + .classed('er relationshipLabel', !0) + .attr('id', d) + .attr('x', f.x) + .attr('y', f.y) + .style('text-anchor', 'middle') + .style('dominant-baseline', 'middle') + .style('font-family', de().fontFamily) + .style('font-size', Ii.fontSize + 'px'); + if (p.length == 1) m.text(e.roleA); + else { + let y = -(p.length - 1) * 0.5; + p.forEach((v, x) => { + m.append('tspan') + .attr('x', f.x) + .attr('dy', `${x === 0 ? y : 1}em`) + .text(v); + }); + } + let g = m.node().getBBox(); + t.insert('rect', '#' + d) + .classed('er relationshipLabelBox', !0) + .attr('x', f.x - g.width / 2) + .attr('y', f.y - g.height / 2) + .attr('width', g.width) + .attr('height', g.height); + }, 'drawRelationshipFromLayout')), + (tMe = o(function (t, e, r, n) { + (Ii = de().er), V.info('Drawing ER diagram'); + let i = de().securityLevel, + a; + i === 'sandbox' && (a = $e('#i' + e)); + let l = (i === 'sandbox' ? $e(a.nodes()[0].contentDocument.body) : $e('body')).select( + `[id='${e}']` + ); + $o.insertMarkers(l, Ii); + let u; + u = new lr({ multigraph: !0, directed: !0, compound: !1 }) + .setGraph({ + rankdir: Ii.layoutDirection, + marginx: 20, + marginy: 20, + nodesep: 100, + edgesep: 100, + ranksep: 100 + }) + .setDefaultEdgeLabel(function () { + return {}; + }); + let h = QNe(l, n.db.getEntities(), u), + f = JNe(n.db.getRelationships(), u); + lo(u), + ZNe(l, u), + f.forEach(function (y) { + eMe(l, y, u, h, n); + }); + let d = Ii.diagramPadding; + Lt.insertTitle(l, 'entityTitleText', Ii.titleTopMargin, n.db.getDiagramTitle()); + let p = l.node().getBBox(), + m = p.width + d * 2, + g = p.height + d * 2; + Sr(l, g, m, Ii.useMaxWidth), l.attr('viewBox', `${p.x - d} ${p.y - d} ${m} ${g}`); + }, 'draw')), + (rMe = '28e9f9db-3c8d-5aa5-9faf-44286ae5937c'); + o(nMe, 'generateId'); + o(Tne, 'strWithHyphen'); + Ene = { setConf: jNe, draw: tMe }; + }); + var iMe, + Sne, + Ane = R(() => { + 'use strict'; + (iMe = o( + (t) => ` + .entityBox { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + } + + .attributeBoxOdd { + fill: ${t.attributeBackgroundColorOdd}; + stroke: ${t.nodeBorder}; + } + + .attributeBoxEven { + fill: ${t.attributeBackgroundColorEven}; + stroke: ${t.nodeBorder}; + } + + .relationshipLabelBox { + fill: ${t.tertiaryColor}; + opacity: 0.7; + background-color: ${t.tertiaryColor}; + rect { + opacity: 0.5; + } + } + + .relationshipLine { + stroke: ${t.lineColor}; + } + + .entityTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; + } + #MD_PARENT_START { + fill: #f5f5f5 !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; + } + #MD_PARENT_END { + fill: #f5f5f5 !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; + } + +`, + 'getStyles' + )), + (Sne = iMe); + }); + var _ne = {}; + hr(_ne, { diagram: () => aMe }); + var aMe, + Lne = R(() => { + 'use strict'; + nne(); + sne(); + Cne(); + Ane(); + aMe = { parser: rne, db: ane, renderer: Ene, styles: Sne }; + }); + function Xn(t) { + return typeof t == 'object' && t !== null && typeof t.$type == 'string'; + } + function xa(t) { + return typeof t == 'object' && t !== null && typeof t.$refText == 'string'; + } + function ED(t) { + return ( + typeof t == 'object' && + t !== null && + typeof t.name == 'string' && + typeof t.type == 'string' && + typeof t.path == 'string' + ); + } + function Wd(t) { + return typeof t == 'object' && t !== null && Xn(t.container) && xa(t.reference) && typeof t.message == 'string'; + } + function co(t) { + return typeof t == 'object' && t !== null && Array.isArray(t.content); + } + function ef(t) { + return typeof t == 'object' && t !== null && typeof t.tokenType == 'object'; + } + function zv(t) { + return co(t) && typeof t.fullText == 'string'; + } + var Yd, + Vo = R(() => { + 'use strict'; + o(Xn, 'isAstNode'); + o(xa, 'isReference'); + o(ED, 'isAstNodeDescription'); + o(Wd, 'isLinkingError'); + Yd = class { + static { + o(this, 'AbstractAstReflection'); + } + constructor() { + (this.subtypes = {}), (this.allSubtypes = {}); + } + isInstance(e, r) { + return Xn(e) && this.isSubtype(e.$type, r); + } + isSubtype(e, r) { + if (e === r) return !0; + let n = this.subtypes[e]; + n || (n = this.subtypes[e] = {}); + let i = n[r]; + if (i !== void 0) return i; + { + let a = this.computeIsSubtype(e, r); + return (n[r] = a), a; + } + } + getAllSubTypes(e) { + let r = this.allSubtypes[e]; + if (r) return r; + { + let n = this.getAllTypes(), + i = []; + for (let a of n) this.isSubtype(a, e) && i.push(a); + return (this.allSubtypes[e] = i), i; + } + } + }; + o(co, 'isCompositeCstNode'); + o(ef, 'isLeafCstNode'); + o(zv, 'isRootCstNode'); + }); + function cMe(t) { + return typeof t == 'string' + ? t + : typeof t > 'u' + ? 'undefined' + : typeof t.toString == 'function' + ? t.toString() + : Object.prototype.toString.call(t); + } + function hT(t) { + return !!t && typeof t[Symbol.iterator] == 'function'; + } + function Kr(...t) { + if (t.length === 1) { + let e = t[0]; + if (e instanceof uo) return e; + if (hT(e)) + return new uo( + () => e[Symbol.iterator](), + (r) => r.next() + ); + if (typeof e.length == 'number') + return new uo( + () => ({ index: 0 }), + (r) => (r.index < e.length ? { done: !1, value: e[r.index++] } : Ja) + ); + } + return t.length > 1 + ? new uo( + () => ({ collIndex: 0, arrIndex: 0 }), + (e) => { + do { + if (e.iterator) { + let r = e.iterator.next(); + if (!r.done) return r; + e.iterator = void 0; + } + if (e.array) { + if (e.arrIndex < e.array.length) return { done: !1, value: e.array[e.arrIndex++] }; + (e.array = void 0), (e.arrIndex = 0); + } + if (e.collIndex < t.length) { + let r = t[e.collIndex++]; + hT(r) + ? (e.iterator = r[Symbol.iterator]()) + : r && typeof r.length == 'number' && (e.array = r); + } + } while (e.iterator || e.array || e.collIndex < t.length); + return Ja; + } + ) + : Gv; + } + var uo, + Gv, + Ja, + Cc, + Fm, + Ds = R(() => { + 'use strict'; + uo = class t { + static { + o(this, 'StreamImpl'); + } + constructor(e, r) { + (this.startFn = e), (this.nextFn = r); + } + iterator() { + let e = { + state: this.startFn(), + next: o(() => this.nextFn(e.state), 'next'), + [Symbol.iterator]: () => e + }; + return e; + } + [Symbol.iterator]() { + return this.iterator(); + } + isEmpty() { + return !!this.iterator().next().done; + } + count() { + let e = this.iterator(), + r = 0, + n = e.next(); + for (; !n.done; ) r++, (n = e.next()); + return r; + } + toArray() { + let e = [], + r = this.iterator(), + n; + do (n = r.next()), n.value !== void 0 && e.push(n.value); + while (!n.done); + return e; + } + toSet() { + return new Set(this); + } + toMap(e, r) { + let n = this.map((i) => [e ? e(i) : i, r ? r(i) : i]); + return new Map(n); + } + toString() { + return this.join(); + } + concat(e) { + let r = e[Symbol.iterator](); + return new t( + () => ({ first: this.startFn(), firstDone: !1 }), + (n) => { + let i; + if (!n.firstDone) { + do if (((i = this.nextFn(n.first)), !i.done)) return i; + while (!i.done); + n.firstDone = !0; + } + do if (((i = r.next()), !i.done)) return i; + while (!i.done); + return Ja; + } + ); + } + join(e = ',') { + let r = this.iterator(), + n = '', + i, + a = !1; + do (i = r.next()), i.done || (a && (n += e), (n += cMe(i.value))), (a = !0); + while (!i.done); + return n; + } + indexOf(e, r = 0) { + let n = this.iterator(), + i = 0, + a = n.next(); + for (; !a.done; ) { + if (i >= r && a.value === e) return i; + (a = n.next()), i++; + } + return -1; + } + every(e) { + let r = this.iterator(), + n = r.next(); + for (; !n.done; ) { + if (!e(n.value)) return !1; + n = r.next(); + } + return !0; + } + some(e) { + let r = this.iterator(), + n = r.next(); + for (; !n.done; ) { + if (e(n.value)) return !0; + n = r.next(); + } + return !1; + } + forEach(e) { + let r = this.iterator(), + n = 0, + i = r.next(); + for (; !i.done; ) e(i.value, n), (i = r.next()), n++; + } + map(e) { + return new t(this.startFn, (r) => { + let { done: n, value: i } = this.nextFn(r); + return n ? Ja : { done: !1, value: e(i) }; + }); + } + filter(e) { + return new t(this.startFn, (r) => { + let n; + do if (((n = this.nextFn(r)), !n.done && e(n.value))) return n; + while (!n.done); + return Ja; + }); + } + nonNullable() { + return this.filter((e) => e != null); + } + reduce(e, r) { + let n = this.iterator(), + i = r, + a = n.next(); + for (; !a.done; ) i === void 0 ? (i = a.value) : (i = e(i, a.value)), (a = n.next()); + return i; + } + reduceRight(e, r) { + return this.recursiveReduce(this.iterator(), e, r); + } + recursiveReduce(e, r, n) { + let i = e.next(); + if (i.done) return n; + let a = this.recursiveReduce(e, r, n); + return a === void 0 ? i.value : r(a, i.value); + } + find(e) { + let r = this.iterator(), + n = r.next(); + for (; !n.done; ) { + if (e(n.value)) return n.value; + n = r.next(); + } + } + findIndex(e) { + let r = this.iterator(), + n = 0, + i = r.next(); + for (; !i.done; ) { + if (e(i.value)) return n; + (i = r.next()), n++; + } + return -1; + } + includes(e) { + let r = this.iterator(), + n = r.next(); + for (; !n.done; ) { + if (n.value === e) return !0; + n = r.next(); + } + return !1; + } + flatMap(e) { + return new t( + () => ({ this: this.startFn() }), + (r) => { + do { + if (r.iterator) { + let a = r.iterator.next(); + if (a.done) r.iterator = void 0; + else return a; + } + let { done: n, value: i } = this.nextFn(r.this); + if (!n) { + let a = e(i); + if (hT(a)) r.iterator = a[Symbol.iterator](); + else return { done: !1, value: a }; + } + } while (r.iterator); + return Ja; + } + ); + } + flat(e) { + if ((e === void 0 && (e = 1), e <= 0)) return this; + let r = e > 1 ? this.flat(e - 1) : this; + return new t( + () => ({ this: r.startFn() }), + (n) => { + do { + if (n.iterator) { + let s = n.iterator.next(); + if (s.done) n.iterator = void 0; + else return s; + } + let { done: i, value: a } = r.nextFn(n.this); + if (!i) + if (hT(a)) n.iterator = a[Symbol.iterator](); + else return { done: !1, value: a }; + } while (n.iterator); + return Ja; + } + ); + } + head() { + let r = this.iterator().next(); + if (!r.done) return r.value; + } + tail(e = 1) { + return new t(() => { + let r = this.startFn(); + for (let n = 0; n < e; n++) if (this.nextFn(r).done) return r; + return r; + }, this.nextFn); + } + limit(e) { + return new t( + () => ({ size: 0, state: this.startFn() }), + (r) => (r.size++, r.size > e ? Ja : this.nextFn(r.state)) + ); + } + distinct(e) { + let r = new Set(); + return this.filter((n) => { + let i = e ? e(n) : n; + return r.has(i) ? !1 : (r.add(i), !0); + }); + } + exclude(e, r) { + let n = new Set(); + for (let i of e) { + let a = r ? r(i) : i; + n.add(a); + } + return this.filter((i) => { + let a = r ? r(i) : i; + return !n.has(a); + }); + } + }; + o(cMe, 'toString'); + o(hT, 'isIterable'); + (Gv = new uo( + () => {}, + () => Ja + )), + (Ja = Object.freeze({ done: !0, value: void 0 })); + o(Kr, 'stream'); + Cc = class extends uo { + static { + o(this, 'TreeStreamImpl'); + } + constructor(e, r, n) { + super( + () => ({ + iterators: n?.includeRoot ? [[e][Symbol.iterator]()] : [r(e)[Symbol.iterator]()], + pruned: !1 + }), + (i) => { + for (i.pruned && (i.iterators.pop(), (i.pruned = !1)); i.iterators.length > 0; ) { + let s = i.iterators[i.iterators.length - 1].next(); + if (s.done) i.iterators.pop(); + else return i.iterators.push(r(s.value)[Symbol.iterator]()), s; + } + return Ja; + } + ); + } + iterator() { + let e = { + state: this.startFn(), + next: o(() => this.nextFn(e.state), 'next'), + prune: o(() => { + e.state.pruned = !0; + }, 'prune'), + [Symbol.iterator]: () => e + }; + return e; + } + }; + (function (t) { + function e(a) { + return a.reduce((s, l) => s + l, 0); + } + o(e, 'sum'), (t.sum = e); + function r(a) { + return a.reduce((s, l) => s * l, 0); + } + o(r, 'product'), (t.product = r); + function n(a) { + return a.reduce((s, l) => Math.min(s, l)); + } + o(n, 'min'), (t.min = n); + function i(a) { + return a.reduce((s, l) => Math.max(s, l)); + } + o(i, 'max'), (t.max = i); + })(Fm || (Fm = {})); + }); + var dT = {}; + hr(dT, { + DefaultNameRegexp: () => fT, + RangeComparison: () => Mu, + compareRange: () => Mne, + findCommentNode: () => _D, + findDeclarationNodeAtOffset: () => hMe, + findLeafNodeAtOffset: () => LD, + findLeafNodeBeforeOffset: () => Ine, + flattenCst: () => uMe, + getInteriorNodes: () => pMe, + getNextNode: () => fMe, + getPreviousNode: () => Pne, + getStartlineNode: () => dMe, + inRange: () => AD, + isChildNode: () => SD, + isCommentNode: () => CD, + streamCst: () => qd, + toDocumentSegment: () => Xd, + tokenToRange: () => zm + }); + function qd(t) { + return new Cc(t, (e) => (co(e) ? e.content : []), { includeRoot: !0 }); + } + function uMe(t) { + return qd(t).filter(ef); + } + function SD(t, e) { + for (; t.container; ) if (((t = t.container), t === e)) return !0; + return !1; + } + function zm(t) { + return { + start: { character: t.startColumn - 1, line: t.startLine - 1 }, + end: { character: t.endColumn, line: t.endLine - 1 } + }; + } + function Xd(t) { + if (!t) return; + let { offset: e, end: r, range: n } = t; + return { range: n, offset: e, end: r, length: r - e }; + } + function Mne(t, e) { + if (t.end.line < e.start.line || (t.end.line === e.start.line && t.end.character < t.start.character)) + return Mu.Before; + if (t.start.line > e.end.line || (t.start.line === e.end.line && t.start.character > e.end.character)) + return Mu.After; + let r = + t.start.line > e.start.line || + (t.start.line === e.start.line && t.start.character >= e.start.character), + n = t.end.line < e.end.line || (t.end.line === e.end.line && t.end.character <= e.end.character); + return r && n ? Mu.Inside : r ? Mu.OverlapBack : Mu.OverlapFront; + } + function AD(t, e) { + return Mne(t, e) > Mu.After; + } + function hMe(t, e, r = fT) { + if (t) { + if (e > 0) { + let n = e - t.offset, + i = t.text.charAt(n); + r.test(i) || e--; + } + return LD(t, e); + } + } + function _D(t, e) { + if (t) { + let r = Pne(t, !0); + if (r && CD(r, e)) return r; + if (zv(t)) { + let n = t.content.findIndex((i) => !i.hidden); + for (let i = n - 1; i >= 0; i--) { + let a = t.content[i]; + if (CD(a, e)) return a; + } + } + } + } + function CD(t, e) { + return ef(t) && e.includes(t.tokenType.name); + } + function LD(t, e) { + if (ef(t)) return t; + if (co(t)) { + let r = One(t, e, !1); + if (r) return LD(r, e); + } + } + function Ine(t, e) { + if (ef(t)) return t; + if (co(t)) { + let r = One(t, e, !0); + if (r) return Ine(r, e); + } + } + function One(t, e, r) { + let n = 0, + i = t.content.length - 1, + a; + for (; n <= i; ) { + let s = Math.floor((n + i) / 2), + l = t.content[s]; + if (l.offset <= e && l.end > e) return l; + l.end <= e ? ((a = r ? l : void 0), (n = s + 1)) : (i = s - 1); + } + return a; + } + function Pne(t, e = !0) { + for (; t.container; ) { + let r = t.container, + n = r.content.indexOf(t); + for (; n > 0; ) { + n--; + let i = r.content[n]; + if (e || !i.hidden) return i; + } + t = r; + } + } + function fMe(t, e = !0) { + for (; t.container; ) { + let r = t.container, + n = r.content.indexOf(t), + i = r.content.length - 1; + for (; n < i; ) { + n++; + let a = r.content[n]; + if (e || !a.hidden) return a; + } + t = r; + } + } + function dMe(t) { + if (t.range.start.character === 0) return t; + let e = t.range.start.line, + r = t, + n; + for (; t.container; ) { + let i = t.container, + a = n ?? i.content.indexOf(t); + if ((a === 0 ? ((t = i), (n = void 0)) : ((n = a - 1), (t = i.content[n])), t.range.start.line !== e)) + break; + r = t; + } + return r; + } + function pMe(t, e) { + let r = mMe(t, e); + return r ? r.parent.content.slice(r.a + 1, r.b) : []; + } + function mMe(t, e) { + let r = Nne(t), + n = Nne(e), + i; + for (let a = 0; a < r.length && a < n.length; a++) { + let s = r[a], + l = n[a]; + if (s.parent === l.parent) i = { parent: s.parent, a: s.index, b: l.index }; + else break; + } + return i; + } + function Nne(t) { + let e = []; + for (; t.container; ) { + let r = t.container, + n = r.content.indexOf(t); + e.push({ parent: r, index: n }), (t = r); + } + return e.reverse(); + } + var Mu, + fT, + Rl = R(() => { + 'use strict'; + Vo(); + Ds(); + o(qd, 'streamCst'); + o(uMe, 'flattenCst'); + o(SD, 'isChildNode'); + o(zm, 'tokenToRange'); + o(Xd, 'toDocumentSegment'); + (function (t) { + (t[(t.Before = 0)] = 'Before'), + (t[(t.After = 1)] = 'After'), + (t[(t.OverlapFront = 2)] = 'OverlapFront'), + (t[(t.OverlapBack = 3)] = 'OverlapBack'), + (t[(t.Inside = 4)] = 'Inside'); + })(Mu || (Mu = {})); + o(Mne, 'compareRange'); + o(AD, 'inRange'); + fT = /^[\w\p{L}]$/u; + o(hMe, 'findDeclarationNodeAtOffset'); + o(_D, 'findCommentNode'); + o(CD, 'isCommentNode'); + o(LD, 'findLeafNodeAtOffset'); + o(Ine, 'findLeafNodeBeforeOffset'); + o(One, 'binarySearch'); + o(Pne, 'getPreviousNode'); + o(fMe, 'getNextNode'); + o(dMe, 'getStartlineNode'); + o(pMe, 'getInteriorNodes'); + o(mMe, 'getCommonParent'); + o(Nne, 'getParentChain'); + }); + function tf(t) { + throw new Error('Error! The input value was not handled.'); + } + var jd, + pT = R(() => { + 'use strict'; + jd = class extends Error { + static { + o(this, 'ErrorWithLocation'); + } + constructor(e, r) { + super(e ? `${r} at ${e.range.start.line}:${e.range.start.character}` : r); + } + }; + o(tf, 'assertUnreachable'); + }); + var Yv = {}; + hr(Yv, { + AbstractElement: () => RD, + AbstractRule: () => $v, + AbstractType: () => Vv, + Action: () => aR, + Alternatives: () => sR, + ArrayLiteral: () => ND, + ArrayType: () => MD, + Assignment: () => oR, + BooleanLiteral: () => OD, + CharacterRange: () => lR, + Condition: () => mT, + Conjunction: () => BD, + CrossReference: () => uR, + Disjunction: () => zD, + EndOfFile: () => hR, + Grammar: () => $D, + GrammarImport: () => Fne, + Group: () => dR, + InferredType: () => VD, + Interface: () => UD, + Keyword: () => pR, + LangiumGrammarAstReflection: () => Gm, + LangiumGrammarTerminals: () => gMe, + NamedArgument: () => zne, + NegatedToken: () => mR, + Negation: () => HD, + NumberLiteral: () => WD, + Parameter: () => qD, + ParameterReference: () => XD, + ParserRule: () => KD, + ReferenceType: () => QD, + RegexToken: () => yR, + ReturnType: () => Gne, + RuleCall: () => xR, + SimpleType: () => eR, + StringLiteral: () => tR, + TerminalAlternatives: () => bR, + TerminalGroup: () => TR, + TerminalRule: () => yT, + TerminalRuleCall: () => ER, + Type: () => rR, + TypeAttribute: () => $ne, + TypeDefinition: () => DD, + UnionType: () => nR, + UnorderedGroup: () => CR, + UntilToken: () => SR, + ValueLiteral: () => gT, + Wildcard: () => _R, + isAbstractElement: () => Uv, + isAbstractRule: () => yMe, + isAbstractType: () => vMe, + isAction: () => Iu, + isAlternatives: () => wT, + isArrayLiteral: () => kMe, + isArrayType: () => ID, + isAssignment: () => Nl, + isBooleanLiteral: () => PD, + isCharacterRange: () => cR, + isCondition: () => xMe, + isConjunction: () => FD, + isCrossReference: () => Kd, + isDisjunction: () => GD, + isEndOfFile: () => fR, + isFeatureName: () => bMe, + isGrammar: () => EMe, + isGrammarImport: () => CMe, + isGroup: () => rf, + isInferredType: () => vT, + isInterface: () => xT, + isKeyword: () => Ho, + isNamedArgument: () => SMe, + isNegatedToken: () => gR, + isNegation: () => YD, + isNumberLiteral: () => AMe, + isParameter: () => _Me, + isParameterReference: () => jD, + isParserRule: () => Oa, + isPrimitiveType: () => Bne, + isReferenceType: () => ZD, + isRegexToken: () => vR, + isReturnType: () => JD, + isRuleCall: () => Ml, + isSimpleType: () => bT, + isStringLiteral: () => LMe, + isTerminalAlternatives: () => wR, + isTerminalGroup: () => kR, + isTerminalRule: () => Uo, + isTerminalRuleCall: () => TT, + isType: () => Hv, + isTypeAttribute: () => DMe, + isTypeDefinition: () => wMe, + isUnionType: () => iR, + isUnorderedGroup: () => kT, + isUntilToken: () => AR, + isValueLiteral: () => TMe, + isWildcard: () => LR, + reflection: () => Kt + }); + function yMe(t) { + return Kt.isInstance(t, $v); + } + function vMe(t) { + return Kt.isInstance(t, Vv); + } + function xMe(t) { + return Kt.isInstance(t, mT); + } + function bMe(t) { + return ( + Bne(t) || + t === 'current' || + t === 'entry' || + t === 'extends' || + t === 'false' || + t === 'fragment' || + t === 'grammar' || + t === 'hidden' || + t === 'import' || + t === 'interface' || + t === 'returns' || + t === 'terminal' || + t === 'true' || + t === 'type' || + t === 'infer' || + t === 'infers' || + t === 'with' || + (typeof t == 'string' && /\^?[_a-zA-Z][\w_]*/.test(t)) + ); + } + function Bne(t) { + return t === 'string' || t === 'number' || t === 'boolean' || t === 'Date' || t === 'bigint'; + } + function wMe(t) { + return Kt.isInstance(t, DD); + } + function TMe(t) { + return Kt.isInstance(t, gT); + } + function Uv(t) { + return Kt.isInstance(t, RD); + } + function kMe(t) { + return Kt.isInstance(t, ND); + } + function ID(t) { + return Kt.isInstance(t, MD); + } + function PD(t) { + return Kt.isInstance(t, OD); + } + function FD(t) { + return Kt.isInstance(t, BD); + } + function GD(t) { + return Kt.isInstance(t, zD); + } + function EMe(t) { + return Kt.isInstance(t, $D); + } + function CMe(t) { + return Kt.isInstance(t, Fne); + } + function vT(t) { + return Kt.isInstance(t, VD); + } + function xT(t) { + return Kt.isInstance(t, UD); + } + function SMe(t) { + return Kt.isInstance(t, zne); + } + function YD(t) { + return Kt.isInstance(t, HD); + } + function AMe(t) { + return Kt.isInstance(t, WD); + } + function _Me(t) { + return Kt.isInstance(t, qD); + } + function jD(t) { + return Kt.isInstance(t, XD); + } + function Oa(t) { + return Kt.isInstance(t, KD); + } + function ZD(t) { + return Kt.isInstance(t, QD); + } + function JD(t) { + return Kt.isInstance(t, Gne); + } + function bT(t) { + return Kt.isInstance(t, eR); + } + function LMe(t) { + return Kt.isInstance(t, tR); + } + function Uo(t) { + return Kt.isInstance(t, yT); + } + function Hv(t) { + return Kt.isInstance(t, rR); + } + function DMe(t) { + return Kt.isInstance(t, $ne); + } + function iR(t) { + return Kt.isInstance(t, nR); + } + function Iu(t) { + return Kt.isInstance(t, aR); + } + function wT(t) { + return Kt.isInstance(t, sR); + } + function Nl(t) { + return Kt.isInstance(t, oR); + } + function cR(t) { + return Kt.isInstance(t, lR); + } + function Kd(t) { + return Kt.isInstance(t, uR); + } + function fR(t) { + return Kt.isInstance(t, hR); + } + function rf(t) { + return Kt.isInstance(t, dR); + } + function Ho(t) { + return Kt.isInstance(t, pR); + } + function gR(t) { + return Kt.isInstance(t, mR); + } + function vR(t) { + return Kt.isInstance(t, yR); + } + function Ml(t) { + return Kt.isInstance(t, xR); + } + function wR(t) { + return Kt.isInstance(t, bR); + } + function kR(t) { + return Kt.isInstance(t, TR); + } + function TT(t) { + return Kt.isInstance(t, ER); + } + function kT(t) { + return Kt.isInstance(t, CR); + } + function AR(t) { + return Kt.isInstance(t, SR); + } + function LR(t) { + return Kt.isInstance(t, _R); + } + var gMe, + $v, + Vv, + mT, + DD, + gT, + RD, + ND, + MD, + OD, + BD, + zD, + $D, + Fne, + VD, + UD, + zne, + HD, + WD, + qD, + XD, + KD, + QD, + Gne, + eR, + tR, + yT, + rR, + $ne, + nR, + aR, + sR, + oR, + lR, + uR, + hR, + dR, + pR, + mR, + yR, + xR, + bR, + TR, + ER, + CR, + SR, + _R, + Gm, + Kt, + Sc = R(() => { + 'use strict'; + Vo(); + (gMe = { + ID: /\^?[_a-zA-Z][\w_]*/, + STRING: /"(\\.|[^"\\])*"|'(\\.|[^'\\])*'/, + NUMBER: /NaN|-?((\d*\.\d+|\d+)([Ee][+-]?\d+)?|Infinity)/, + RegexLiteral: /\/(?![*+?])(?:[^\r\n\[/\\]|\\.|\[(?:[^\r\n\]\\]|\\.)*\])+\/[a-z]*/, + WS: /\s+/, + ML_COMMENT: /\/\*[\s\S]*?\*\//, + SL_COMMENT: /\/\/[^\n\r]*/ + }), + ($v = 'AbstractRule'); + o(yMe, 'isAbstractRule'); + Vv = 'AbstractType'; + o(vMe, 'isAbstractType'); + mT = 'Condition'; + o(xMe, 'isCondition'); + o(bMe, 'isFeatureName'); + o(Bne, 'isPrimitiveType'); + DD = 'TypeDefinition'; + o(wMe, 'isTypeDefinition'); + gT = 'ValueLiteral'; + o(TMe, 'isValueLiteral'); + RD = 'AbstractElement'; + o(Uv, 'isAbstractElement'); + ND = 'ArrayLiteral'; + o(kMe, 'isArrayLiteral'); + MD = 'ArrayType'; + o(ID, 'isArrayType'); + OD = 'BooleanLiteral'; + o(PD, 'isBooleanLiteral'); + BD = 'Conjunction'; + o(FD, 'isConjunction'); + zD = 'Disjunction'; + o(GD, 'isDisjunction'); + $D = 'Grammar'; + o(EMe, 'isGrammar'); + Fne = 'GrammarImport'; + o(CMe, 'isGrammarImport'); + VD = 'InferredType'; + o(vT, 'isInferredType'); + UD = 'Interface'; + o(xT, 'isInterface'); + zne = 'NamedArgument'; + o(SMe, 'isNamedArgument'); + HD = 'Negation'; + o(YD, 'isNegation'); + WD = 'NumberLiteral'; + o(AMe, 'isNumberLiteral'); + qD = 'Parameter'; + o(_Me, 'isParameter'); + XD = 'ParameterReference'; + o(jD, 'isParameterReference'); + KD = 'ParserRule'; + o(Oa, 'isParserRule'); + QD = 'ReferenceType'; + o(ZD, 'isReferenceType'); + Gne = 'ReturnType'; + o(JD, 'isReturnType'); + eR = 'SimpleType'; + o(bT, 'isSimpleType'); + tR = 'StringLiteral'; + o(LMe, 'isStringLiteral'); + yT = 'TerminalRule'; + o(Uo, 'isTerminalRule'); + rR = 'Type'; + o(Hv, 'isType'); + $ne = 'TypeAttribute'; + o(DMe, 'isTypeAttribute'); + nR = 'UnionType'; + o(iR, 'isUnionType'); + aR = 'Action'; + o(Iu, 'isAction'); + sR = 'Alternatives'; + o(wT, 'isAlternatives'); + oR = 'Assignment'; + o(Nl, 'isAssignment'); + lR = 'CharacterRange'; + o(cR, 'isCharacterRange'); + uR = 'CrossReference'; + o(Kd, 'isCrossReference'); + hR = 'EndOfFile'; + o(fR, 'isEndOfFile'); + dR = 'Group'; + o(rf, 'isGroup'); + pR = 'Keyword'; + o(Ho, 'isKeyword'); + mR = 'NegatedToken'; + o(gR, 'isNegatedToken'); + yR = 'RegexToken'; + o(vR, 'isRegexToken'); + xR = 'RuleCall'; + o(Ml, 'isRuleCall'); + bR = 'TerminalAlternatives'; + o(wR, 'isTerminalAlternatives'); + TR = 'TerminalGroup'; + o(kR, 'isTerminalGroup'); + ER = 'TerminalRuleCall'; + o(TT, 'isTerminalRuleCall'); + CR = 'UnorderedGroup'; + o(kT, 'isUnorderedGroup'); + SR = 'UntilToken'; + o(AR, 'isUntilToken'); + _R = 'Wildcard'; + o(LR, 'isWildcard'); + (Gm = class extends Yd { + static { + o(this, 'LangiumGrammarAstReflection'); + } + getAllTypes() { + return [ + 'AbstractElement', + 'AbstractRule', + 'AbstractType', + 'Action', + 'Alternatives', + 'ArrayLiteral', + 'ArrayType', + 'Assignment', + 'BooleanLiteral', + 'CharacterRange', + 'Condition', + 'Conjunction', + 'CrossReference', + 'Disjunction', + 'EndOfFile', + 'Grammar', + 'GrammarImport', + 'Group', + 'InferredType', + 'Interface', + 'Keyword', + 'NamedArgument', + 'NegatedToken', + 'Negation', + 'NumberLiteral', + 'Parameter', + 'ParameterReference', + 'ParserRule', + 'ReferenceType', + 'RegexToken', + 'ReturnType', + 'RuleCall', + 'SimpleType', + 'StringLiteral', + 'TerminalAlternatives', + 'TerminalGroup', + 'TerminalRule', + 'TerminalRuleCall', + 'Type', + 'TypeAttribute', + 'TypeDefinition', + 'UnionType', + 'UnorderedGroup', + 'UntilToken', + 'ValueLiteral', + 'Wildcard' + ]; + } + computeIsSubtype(e, r) { + switch (e) { + case aR: + case sR: + case oR: + case lR: + case uR: + case hR: + case dR: + case pR: + case mR: + case yR: + case xR: + case bR: + case TR: + case ER: + case CR: + case SR: + case _R: + return this.isSubtype(RD, r); + case ND: + case WD: + case tR: + return this.isSubtype(gT, r); + case MD: + case QD: + case eR: + case nR: + return this.isSubtype(DD, r); + case OD: + return this.isSubtype(mT, r) || this.isSubtype(gT, r); + case BD: + case zD: + case HD: + case XD: + return this.isSubtype(mT, r); + case VD: + case UD: + case rR: + return this.isSubtype(Vv, r); + case KD: + return this.isSubtype($v, r) || this.isSubtype(Vv, r); + case yT: + return this.isSubtype($v, r); + default: + return !1; + } + } + getReferenceType(e) { + let r = `${e.container.$type}:${e.property}`; + switch (r) { + case 'Action:type': + case 'CrossReference:type': + case 'Interface:superTypes': + case 'ParserRule:returnType': + case 'SimpleType:typeRef': + return Vv; + case 'Grammar:hiddenTokens': + case 'ParserRule:hiddenTokens': + case 'RuleCall:rule': + return $v; + case 'Grammar:usedGrammars': + return $D; + case 'NamedArgument:parameter': + case 'ParameterReference:parameter': + return qD; + case 'TerminalRuleCall:rule': + return yT; + default: + throw new Error(`${r} is not a valid reference id.`); + } + } + getTypeMetaData(e) { + switch (e) { + case 'AbstractElement': + return { + name: 'AbstractElement', + properties: [{ name: 'cardinality' }, { name: 'lookahead' }] + }; + case 'ArrayLiteral': + return { + name: 'ArrayLiteral', + properties: [{ name: 'elements', defaultValue: [] }] + }; + case 'ArrayType': + return { + name: 'ArrayType', + properties: [{ name: 'elementType' }] + }; + case 'BooleanLiteral': + return { + name: 'BooleanLiteral', + properties: [{ name: 'true', defaultValue: !1 }] + }; + case 'Conjunction': + return { + name: 'Conjunction', + properties: [{ name: 'left' }, { name: 'right' }] + }; + case 'Disjunction': + return { + name: 'Disjunction', + properties: [{ name: 'left' }, { name: 'right' }] + }; + case 'Grammar': + return { + name: 'Grammar', + properties: [ + { name: 'definesHiddenTokens', defaultValue: !1 }, + { name: 'hiddenTokens', defaultValue: [] }, + { name: 'imports', defaultValue: [] }, + { name: 'interfaces', defaultValue: [] }, + { name: 'isDeclared', defaultValue: !1 }, + { name: 'name' }, + { name: 'rules', defaultValue: [] }, + { name: 'types', defaultValue: [] }, + { name: 'usedGrammars', defaultValue: [] } + ] + }; + case 'GrammarImport': + return { name: 'GrammarImport', properties: [{ name: 'path' }] }; + case 'InferredType': + return { name: 'InferredType', properties: [{ name: 'name' }] }; + case 'Interface': + return { + name: 'Interface', + properties: [ + { name: 'attributes', defaultValue: [] }, + { name: 'name' }, + { name: 'superTypes', defaultValue: [] } + ] + }; + case 'NamedArgument': + return { + name: 'NamedArgument', + properties: [ + { name: 'calledByName', defaultValue: !1 }, + { name: 'parameter' }, + { name: 'value' } + ] + }; + case 'Negation': + return { name: 'Negation', properties: [{ name: 'value' }] }; + case 'NumberLiteral': + return { name: 'NumberLiteral', properties: [{ name: 'value' }] }; + case 'Parameter': + return { name: 'Parameter', properties: [{ name: 'name' }] }; + case 'ParameterReference': + return { + name: 'ParameterReference', + properties: [{ name: 'parameter' }] + }; + case 'ParserRule': + return { + name: 'ParserRule', + properties: [ + { name: 'dataType' }, + { name: 'definesHiddenTokens', defaultValue: !1 }, + { name: 'definition' }, + { name: 'entry', defaultValue: !1 }, + { name: 'fragment', defaultValue: !1 }, + { name: 'hiddenTokens', defaultValue: [] }, + { name: 'inferredType' }, + { name: 'name' }, + { name: 'parameters', defaultValue: [] }, + { name: 'returnType' }, + { name: 'wildcard', defaultValue: !1 } + ] + }; + case 'ReferenceType': + return { + name: 'ReferenceType', + properties: [{ name: 'referenceType' }] + }; + case 'ReturnType': + return { name: 'ReturnType', properties: [{ name: 'name' }] }; + case 'SimpleType': + return { + name: 'SimpleType', + properties: [{ name: 'primitiveType' }, { name: 'stringType' }, { name: 'typeRef' }] + }; + case 'StringLiteral': + return { name: 'StringLiteral', properties: [{ name: 'value' }] }; + case 'TerminalRule': + return { + name: 'TerminalRule', + properties: [ + { name: 'definition' }, + { name: 'fragment', defaultValue: !1 }, + { name: 'hidden', defaultValue: !1 }, + { name: 'name' }, + { name: 'type' } + ] + }; + case 'Type': + return { + name: 'Type', + properties: [{ name: 'name' }, { name: 'type' }] + }; + case 'TypeAttribute': + return { + name: 'TypeAttribute', + properties: [ + { name: 'defaultValue' }, + { name: 'isOptional', defaultValue: !1 }, + { name: 'name' }, + { name: 'type' } + ] + }; + case 'UnionType': + return { + name: 'UnionType', + properties: [{ name: 'types', defaultValue: [] }] + }; + case 'Action': + return { + name: 'Action', + properties: [ + { name: 'cardinality' }, + { name: 'feature' }, + { name: 'inferredType' }, + { name: 'lookahead' }, + { name: 'operator' }, + { name: 'type' } + ] + }; + case 'Alternatives': + return { + name: 'Alternatives', + properties: [ + { name: 'cardinality' }, + { name: 'elements', defaultValue: [] }, + { name: 'lookahead' } + ] + }; + case 'Assignment': + return { + name: 'Assignment', + properties: [ + { name: 'cardinality' }, + { name: 'feature' }, + { name: 'lookahead' }, + { name: 'operator' }, + { name: 'terminal' } + ] + }; + case 'CharacterRange': + return { + name: 'CharacterRange', + properties: [ + { name: 'cardinality' }, + { name: 'left' }, + { name: 'lookahead' }, + { name: 'right' } + ] + }; + case 'CrossReference': + return { + name: 'CrossReference', + properties: [ + { name: 'cardinality' }, + { name: 'deprecatedSyntax', defaultValue: !1 }, + { name: 'lookahead' }, + { name: 'terminal' }, + { name: 'type' } + ] + }; + case 'EndOfFile': + return { + name: 'EndOfFile', + properties: [{ name: 'cardinality' }, { name: 'lookahead' }] + }; + case 'Group': + return { + name: 'Group', + properties: [ + { name: 'cardinality' }, + { name: 'elements', defaultValue: [] }, + { name: 'guardCondition' }, + { name: 'lookahead' } + ] + }; + case 'Keyword': + return { + name: 'Keyword', + properties: [{ name: 'cardinality' }, { name: 'lookahead' }, { name: 'value' }] + }; + case 'NegatedToken': + return { + name: 'NegatedToken', + properties: [{ name: 'cardinality' }, { name: 'lookahead' }, { name: 'terminal' }] + }; + case 'RegexToken': + return { + name: 'RegexToken', + properties: [{ name: 'cardinality' }, { name: 'lookahead' }, { name: 'regex' }] + }; + case 'RuleCall': + return { + name: 'RuleCall', + properties: [ + { name: 'arguments', defaultValue: [] }, + { name: 'cardinality' }, + { name: 'lookahead' }, + { name: 'rule' } + ] + }; + case 'TerminalAlternatives': + return { + name: 'TerminalAlternatives', + properties: [ + { name: 'cardinality' }, + { name: 'elements', defaultValue: [] }, + { name: 'lookahead' } + ] + }; + case 'TerminalGroup': + return { + name: 'TerminalGroup', + properties: [ + { name: 'cardinality' }, + { name: 'elements', defaultValue: [] }, + { name: 'lookahead' } + ] + }; + case 'TerminalRuleCall': + return { + name: 'TerminalRuleCall', + properties: [{ name: 'cardinality' }, { name: 'lookahead' }, { name: 'rule' }] + }; + case 'UnorderedGroup': + return { + name: 'UnorderedGroup', + properties: [ + { name: 'cardinality' }, + { name: 'elements', defaultValue: [] }, + { name: 'lookahead' } + ] + }; + case 'UntilToken': + return { + name: 'UntilToken', + properties: [{ name: 'cardinality' }, { name: 'lookahead' }, { name: 'terminal' }] + }; + case 'Wildcard': + return { + name: 'Wildcard', + properties: [{ name: 'cardinality' }, { name: 'lookahead' }] + }; + default: + return { name: e, properties: [] }; + } + } + }), + (Kt = new Gm()); + }); + var CT = {}; + hr(CT, { + assignMandatoryProperties: () => NR, + copyAstNode: () => RR, + findLocalReferences: () => NMe, + findRootNode: () => Vne, + getContainerOfType: () => Qd, + getDocument: () => Oi, + hasContainerOfType: () => RMe, + linkContentToContainer: () => ET, + streamAllContents: () => Ac, + streamAst: () => Yo, + streamContents: () => Wv, + streamReferences: () => $m + }); + function ET(t) { + for (let [e, r] of Object.entries(t)) + e.startsWith('$') || + (Array.isArray(r) + ? r.forEach((n, i) => { + Xn(n) && ((n.$container = t), (n.$containerProperty = e), (n.$containerIndex = i)); + }) + : Xn(r) && ((r.$container = t), (r.$containerProperty = e))); + } + function Qd(t, e) { + let r = t; + for (; r; ) { + if (e(r)) return r; + r = r.$container; + } + } + function RMe(t, e) { + let r = t; + for (; r; ) { + if (e(r)) return !0; + r = r.$container; + } + return !1; + } + function Oi(t) { + let r = Vne(t).$document; + if (!r) throw new Error('AST node has no document.'); + return r; + } + function Vne(t) { + for (; t.$container; ) t = t.$container; + return t; + } + function Wv(t, e) { + if (!t) throw new Error('Node must be an AstNode.'); + let r = e?.range; + return new uo( + () => ({ keys: Object.keys(t), keyIndex: 0, arrayIndex: 0 }), + (n) => { + for (; n.keyIndex < n.keys.length; ) { + let i = n.keys[n.keyIndex]; + if (!i.startsWith('$')) { + let a = t[i]; + if (Xn(a)) { + if ((n.keyIndex++, DR(a, r))) return { done: !1, value: a }; + } else if (Array.isArray(a)) { + for (; n.arrayIndex < a.length; ) { + let s = n.arrayIndex++, + l = a[s]; + if (Xn(l) && DR(l, r)) return { done: !1, value: l }; + } + n.arrayIndex = 0; + } + } + n.keyIndex++; + } + return Ja; + } + ); + } + function Ac(t, e) { + if (!t) throw new Error('Root node must be an AstNode.'); + return new Cc(t, (r) => Wv(r, e)); + } + function Yo(t, e) { + if (t) { + if (e?.range && !DR(t, e.range)) return new Cc(t, () => []); + } else throw new Error('Root node must be an AstNode.'); + return new Cc(t, (r) => Wv(r, e), { includeRoot: !0 }); + } + function DR(t, e) { + var r; + if (!e) return !0; + let n = (r = t.$cstNode) === null || r === void 0 ? void 0 : r.range; + return n ? AD(n, e) : !1; + } + function $m(t) { + return new uo( + () => ({ keys: Object.keys(t), keyIndex: 0, arrayIndex: 0 }), + (e) => { + for (; e.keyIndex < e.keys.length; ) { + let r = e.keys[e.keyIndex]; + if (!r.startsWith('$')) { + let n = t[r]; + if (xa(n)) + return e.keyIndex++, { done: !1, value: { reference: n, container: t, property: r } }; + if (Array.isArray(n)) { + for (; e.arrayIndex < n.length; ) { + let i = e.arrayIndex++, + a = n[i]; + if (xa(a)) + return { + done: !1, + value: { + reference: a, + container: t, + property: r, + index: i + } + }; + } + e.arrayIndex = 0; + } + } + e.keyIndex++; + } + return Ja; + } + ); + } + function NMe(t, e = Oi(t).parseResult.value) { + let r = []; + return ( + Yo(e).forEach((n) => { + $m(n).forEach((i) => { + i.reference.ref === t && r.push(i.reference); + }); + }), + Kr(r) + ); + } + function NR(t, e) { + let r = t.getTypeMetaData(e.$type), + n = e; + for (let i of r.properties) + i.defaultValue !== void 0 && n[i.name] === void 0 && (n[i.name] = Une(i.defaultValue)); + } + function Une(t) { + return Array.isArray(t) ? [...t.map(Une)] : t; + } + function RR(t, e) { + let r = { $type: t.$type }; + for (let [n, i] of Object.entries(t)) + if (!n.startsWith('$')) + if (Xn(i)) r[n] = RR(i, e); + else if (xa(i)) r[n] = e(r, n, i.$refNode, i.$refText); + else if (Array.isArray(i)) { + let a = []; + for (let s of i) + Xn(s) ? a.push(RR(s, e)) : xa(s) ? a.push(e(r, n, s.$refNode, s.$refText)) : a.push(s); + r[n] = a; + } else r[n] = i; + return ET(r), r; + } + var es = R(() => { + 'use strict'; + Vo(); + Ds(); + Rl(); + o(ET, 'linkContentToContainer'); + o(Qd, 'getContainerOfType'); + o(RMe, 'hasContainerOfType'); + o(Oi, 'getDocument'); + o(Vne, 'findRootNode'); + o(Wv, 'streamContents'); + o(Ac, 'streamAllContents'); + o(Yo, 'streamAst'); + o(DR, 'isAstNodeInRange'); + o($m, 'streamReferences'); + o(NMe, 'findLocalReferences'); + o(NR, 'assignMandatoryProperties'); + o(Une, 'copyDefaultValue'); + o(RR, 'copyAstNode'); + }); + function qt(t) { + return t.charCodeAt(0); + } + function ST(t, e) { + Array.isArray(t) + ? t.forEach(function (r) { + e.push(r); + }) + : e.push(t); + } + function Vm(t, e) { + if (t[e] === !0) throw 'duplicate flag ' + e; + let r = t[e]; + t[e] = !0; + } + function Zd(t) { + if (t === void 0) throw Error('Internal Error - Should never get here!'); + return !0; + } + function qv() { + throw Error('Internal Error - Should never get here!'); + } + function MR(t) { + return t.type === 'Character'; + } + var IR = R(() => { + 'use strict'; + o(qt, 'cc'); + o(ST, 'insertToSet'); + o(Vm, 'addFlag'); + o(Zd, 'ASSERT_EXISTS'); + o(qv, 'ASSERT_NEVER_REACH_HERE'); + o(MR, 'isCharacter'); + }); + var Xv, + jv, + OR, + Hne = R(() => { + 'use strict'; + IR(); + Xv = []; + for (let t = qt('0'); t <= qt('9'); t++) Xv.push(t); + jv = [qt('_')].concat(Xv); + for (let t = qt('a'); t <= qt('z'); t++) jv.push(t); + for (let t = qt('A'); t <= qt('Z'); t++) jv.push(t); + OR = [ + qt(' '), + qt('\f'), + qt(` +`), + qt('\r'), + qt(' '), + qt('\v'), + qt(' '), + qt('\xA0'), + qt('\u1680'), + qt('\u2000'), + qt('\u2001'), + qt('\u2002'), + qt('\u2003'), + qt('\u2004'), + qt('\u2005'), + qt('\u2006'), + qt('\u2007'), + qt('\u2008'), + qt('\u2009'), + qt('\u200A'), + qt('\u2028'), + qt('\u2029'), + qt('\u202F'), + qt('\u205F'), + qt('\u3000'), + qt('\uFEFF') + ]; + }); + var MMe, + AT, + IMe, + Jd, + Yne = R(() => { + 'use strict'; + IR(); + Hne(); + (MMe = /[0-9a-fA-F]/), + (AT = /[0-9]/), + (IMe = /[1-9]/), + (Jd = class { + static { + o(this, 'RegExpParser'); + } + constructor() { + (this.idx = 0), (this.input = ''), (this.groupIdx = 0); + } + saveState() { + return { + idx: this.idx, + input: this.input, + groupIdx: this.groupIdx + }; + } + restoreState(e) { + (this.idx = e.idx), (this.input = e.input), (this.groupIdx = e.groupIdx); + } + pattern(e) { + (this.idx = 0), (this.input = e), (this.groupIdx = 0), this.consumeChar('/'); + let r = this.disjunction(); + this.consumeChar('/'); + let n = { + type: 'Flags', + loc: { begin: this.idx, end: e.length }, + global: !1, + ignoreCase: !1, + multiLine: !1, + unicode: !1, + sticky: !1 + }; + for (; this.isRegExpFlag(); ) + switch (this.popChar()) { + case 'g': + Vm(n, 'global'); + break; + case 'i': + Vm(n, 'ignoreCase'); + break; + case 'm': + Vm(n, 'multiLine'); + break; + case 'u': + Vm(n, 'unicode'); + break; + case 'y': + Vm(n, 'sticky'); + break; + } + if (this.idx !== this.input.length) + throw Error('Redundant input: ' + this.input.substring(this.idx)); + return { type: 'Pattern', flags: n, value: r, loc: this.loc(0) }; + } + disjunction() { + let e = [], + r = this.idx; + for (e.push(this.alternative()); this.peekChar() === '|'; ) + this.consumeChar('|'), e.push(this.alternative()); + return { type: 'Disjunction', value: e, loc: this.loc(r) }; + } + alternative() { + let e = [], + r = this.idx; + for (; this.isTerm(); ) e.push(this.term()); + return { type: 'Alternative', value: e, loc: this.loc(r) }; + } + term() { + return this.isAssertion() ? this.assertion() : this.atom(); + } + assertion() { + let e = this.idx; + switch (this.popChar()) { + case '^': + return { type: 'StartAnchor', loc: this.loc(e) }; + case '$': + return { type: 'EndAnchor', loc: this.loc(e) }; + case '\\': + switch (this.popChar()) { + case 'b': + return { type: 'WordBoundary', loc: this.loc(e) }; + case 'B': + return { type: 'NonWordBoundary', loc: this.loc(e) }; + } + throw Error('Invalid Assertion Escape'); + case '(': + this.consumeChar('?'); + let r; + switch (this.popChar()) { + case '=': + r = 'Lookahead'; + break; + case '!': + r = 'NegativeLookahead'; + break; + } + Zd(r); + let n = this.disjunction(); + return this.consumeChar(')'), { type: r, value: n, loc: this.loc(e) }; + } + return qv(); + } + quantifier(e = !1) { + let r, + n = this.idx; + switch (this.popChar()) { + case '*': + r = { atLeast: 0, atMost: 1 / 0 }; + break; + case '+': + r = { atLeast: 1, atMost: 1 / 0 }; + break; + case '?': + r = { atLeast: 0, atMost: 1 }; + break; + case '{': + let i = this.integerIncludingZero(); + switch (this.popChar()) { + case '}': + r = { atLeast: i, atMost: i }; + break; + case ',': + let a; + this.isDigit() + ? ((a = this.integerIncludingZero()), (r = { atLeast: i, atMost: a })) + : (r = { atLeast: i, atMost: 1 / 0 }), + this.consumeChar('}'); + break; + } + if (e === !0 && r === void 0) return; + Zd(r); + break; + } + if (!(e === !0 && r === void 0) && Zd(r)) + return ( + this.peekChar(0) === '?' ? (this.consumeChar('?'), (r.greedy = !1)) : (r.greedy = !0), + (r.type = 'Quantifier'), + (r.loc = this.loc(n)), + r + ); + } + atom() { + let e, + r = this.idx; + switch (this.peekChar()) { + case '.': + e = this.dotAll(); + break; + case '\\': + e = this.atomEscape(); + break; + case '[': + e = this.characterClass(); + break; + case '(': + e = this.group(); + break; + } + return ( + e === void 0 && this.isPatternCharacter() && (e = this.patternCharacter()), + Zd(e) + ? ((e.loc = this.loc(r)), this.isQuantifier() && (e.quantifier = this.quantifier()), e) + : qv() + ); + } + dotAll() { + return ( + this.consumeChar('.'), + { + type: 'Set', + complement: !0, + value: [ + qt(` +`), + qt('\r'), + qt('\u2028'), + qt('\u2029') + ] + } + ); + } + atomEscape() { + switch ((this.consumeChar('\\'), this.peekChar())) { + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + return this.decimalEscapeAtom(); + case 'd': + case 'D': + case 's': + case 'S': + case 'w': + case 'W': + return this.characterClassEscape(); + case 'f': + case 'n': + case 'r': + case 't': + case 'v': + return this.controlEscapeAtom(); + case 'c': + return this.controlLetterEscapeAtom(); + case '0': + return this.nulCharacterAtom(); + case 'x': + return this.hexEscapeSequenceAtom(); + case 'u': + return this.regExpUnicodeEscapeSequenceAtom(); + default: + return this.identityEscapeAtom(); + } + } + decimalEscapeAtom() { + return { + type: 'GroupBackReference', + value: this.positiveInteger() + }; + } + characterClassEscape() { + let e, + r = !1; + switch (this.popChar()) { + case 'd': + e = Xv; + break; + case 'D': + (e = Xv), (r = !0); + break; + case 's': + e = OR; + break; + case 'S': + (e = OR), (r = !0); + break; + case 'w': + e = jv; + break; + case 'W': + (e = jv), (r = !0); + break; + } + return Zd(e) ? { type: 'Set', value: e, complement: r } : qv(); + } + controlEscapeAtom() { + let e; + switch (this.popChar()) { + case 'f': + e = qt('\f'); + break; + case 'n': + e = qt(` +`); + break; + case 'r': + e = qt('\r'); + break; + case 't': + e = qt(' '); + break; + case 'v': + e = qt('\v'); + break; + } + return Zd(e) ? { type: 'Character', value: e } : qv(); + } + controlLetterEscapeAtom() { + this.consumeChar('c'); + let e = this.popChar(); + if (/[a-zA-Z]/.test(e) === !1) throw Error('Invalid '); + return { + type: 'Character', + value: e.toUpperCase().charCodeAt(0) - 64 + }; + } + nulCharacterAtom() { + return this.consumeChar('0'), { type: 'Character', value: qt('\0') }; + } + hexEscapeSequenceAtom() { + return this.consumeChar('x'), this.parseHexDigits(2); + } + regExpUnicodeEscapeSequenceAtom() { + return this.consumeChar('u'), this.parseHexDigits(4); + } + identityEscapeAtom() { + let e = this.popChar(); + return { type: 'Character', value: qt(e) }; + } + classPatternCharacterAtom() { + switch (this.peekChar()) { + case ` +`: + case '\r': + case '\u2028': + case '\u2029': + case '\\': + case ']': + throw Error('TBD'); + default: + let e = this.popChar(); + return { type: 'Character', value: qt(e) }; + } + } + characterClass() { + let e = [], + r = !1; + for ( + this.consumeChar('['), this.peekChar(0) === '^' && (this.consumeChar('^'), (r = !0)); + this.isClassAtom(); + + ) { + let n = this.classAtom(), + i = n.type === 'Character'; + if (MR(n) && this.isRangeDash()) { + this.consumeChar('-'); + let a = this.classAtom(), + s = a.type === 'Character'; + if (MR(a)) { + if (a.value < n.value) throw Error('Range out of order in character class'); + e.push({ from: n.value, to: a.value }); + } else ST(n.value, e), e.push(qt('-')), ST(a.value, e); + } else ST(n.value, e); + } + return this.consumeChar(']'), { type: 'Set', complement: r, value: e }; + } + classAtom() { + switch (this.peekChar()) { + case ']': + case ` +`: + case '\r': + case '\u2028': + case '\u2029': + throw Error('TBD'); + case '\\': + return this.classEscape(); + default: + return this.classPatternCharacterAtom(); + } + } + classEscape() { + switch ((this.consumeChar('\\'), this.peekChar())) { + case 'b': + return this.consumeChar('b'), { type: 'Character', value: qt('\b') }; + case 'd': + case 'D': + case 's': + case 'S': + case 'w': + case 'W': + return this.characterClassEscape(); + case 'f': + case 'n': + case 'r': + case 't': + case 'v': + return this.controlEscapeAtom(); + case 'c': + return this.controlLetterEscapeAtom(); + case '0': + return this.nulCharacterAtom(); + case 'x': + return this.hexEscapeSequenceAtom(); + case 'u': + return this.regExpUnicodeEscapeSequenceAtom(); + default: + return this.identityEscapeAtom(); + } + } + group() { + let e = !0; + switch ((this.consumeChar('('), this.peekChar(0))) { + case '?': + this.consumeChar('?'), this.consumeChar(':'), (e = !1); + break; + default: + this.groupIdx++; + break; + } + let r = this.disjunction(); + this.consumeChar(')'); + let n = { type: 'Group', capturing: e, value: r }; + return e && (n.idx = this.groupIdx), n; + } + positiveInteger() { + let e = this.popChar(); + if (IMe.test(e) === !1) throw Error('Expecting a positive integer'); + for (; AT.test(this.peekChar(0)); ) e += this.popChar(); + return parseInt(e, 10); + } + integerIncludingZero() { + let e = this.popChar(); + if (AT.test(e) === !1) throw Error('Expecting an integer'); + for (; AT.test(this.peekChar(0)); ) e += this.popChar(); + return parseInt(e, 10); + } + patternCharacter() { + let e = this.popChar(); + switch (e) { + case ` +`: + case '\r': + case '\u2028': + case '\u2029': + case '^': + case '$': + case '\\': + case '.': + case '*': + case '+': + case '?': + case '(': + case ')': + case '[': + case '|': + throw Error('TBD'); + default: + return { type: 'Character', value: qt(e) }; + } + } + isRegExpFlag() { + switch (this.peekChar(0)) { + case 'g': + case 'i': + case 'm': + case 'u': + case 'y': + return !0; + default: + return !1; + } + } + isRangeDash() { + return this.peekChar() === '-' && this.isClassAtom(1); + } + isDigit() { + return AT.test(this.peekChar(0)); + } + isClassAtom(e = 0) { + switch (this.peekChar(e)) { + case ']': + case ` +`: + case '\r': + case '\u2028': + case '\u2029': + return !1; + default: + return !0; + } + } + isTerm() { + return this.isAtom() || this.isAssertion(); + } + isAtom() { + if (this.isPatternCharacter()) return !0; + switch (this.peekChar(0)) { + case '.': + case '\\': + case '[': + case '(': + return !0; + default: + return !1; + } + } + isAssertion() { + switch (this.peekChar(0)) { + case '^': + case '$': + return !0; + case '\\': + switch (this.peekChar(1)) { + case 'b': + case 'B': + return !0; + default: + return !1; + } + case '(': + return ( + this.peekChar(1) === '?' && (this.peekChar(2) === '=' || this.peekChar(2) === '!') + ); + default: + return !1; + } + } + isQuantifier() { + let e = this.saveState(); + try { + return this.quantifier(!0) !== void 0; + } catch { + return !1; + } finally { + this.restoreState(e); + } + } + isPatternCharacter() { + switch (this.peekChar()) { + case '^': + case '$': + case '\\': + case '.': + case '*': + case '+': + case '?': + case '(': + case ')': + case '[': + case '|': + case '/': + case ` +`: + case '\r': + case '\u2028': + case '\u2029': + return !1; + default: + return !0; + } + } + parseHexDigits(e) { + let r = ''; + for (let i = 0; i < e; i++) { + let a = this.popChar(); + if (MMe.test(a) === !1) throw Error('Expecting a HexDecimal digits'); + r += a; + } + return { type: 'Character', value: parseInt(r, 16) }; + } + peekChar(e = 0) { + return this.input[this.idx + e]; + } + popChar() { + let e = this.peekChar(0); + return this.consumeChar(void 0), e; + } + consumeChar(e) { + if (e !== void 0 && this.input[this.idx] !== e) + throw Error( + "Expected: '" + e + "' but found: '" + this.input[this.idx] + "' at offset: " + this.idx + ); + if (this.idx >= this.input.length) throw Error('Unexpected end of input'); + this.idx++; + } + loc(e) { + return { begin: e, end: this.idx }; + } + }); + }); + var _c, + Wne = R(() => { + 'use strict'; + _c = class { + static { + o(this, 'BaseRegExpVisitor'); + } + visitChildren(e) { + for (let r in e) { + let n = e[r]; + e.hasOwnProperty(r) && + (n.type !== void 0 + ? this.visit(n) + : Array.isArray(n) && + n.forEach((i) => { + this.visit(i); + }, this)); + } + } + visit(e) { + switch (e.type) { + case 'Pattern': + this.visitPattern(e); + break; + case 'Flags': + this.visitFlags(e); + break; + case 'Disjunction': + this.visitDisjunction(e); + break; + case 'Alternative': + this.visitAlternative(e); + break; + case 'StartAnchor': + this.visitStartAnchor(e); + break; + case 'EndAnchor': + this.visitEndAnchor(e); + break; + case 'WordBoundary': + this.visitWordBoundary(e); + break; + case 'NonWordBoundary': + this.visitNonWordBoundary(e); + break; + case 'Lookahead': + this.visitLookahead(e); + break; + case 'NegativeLookahead': + this.visitNegativeLookahead(e); + break; + case 'Character': + this.visitCharacter(e); + break; + case 'Set': + this.visitSet(e); + break; + case 'Group': + this.visitGroup(e); + break; + case 'GroupBackReference': + this.visitGroupBackReference(e); + break; + case 'Quantifier': + this.visitQuantifier(e); + break; + } + this.visitChildren(e); + } + visitPattern(e) {} + visitFlags(e) {} + visitDisjunction(e) {} + visitAlternative(e) {} + visitStartAnchor(e) {} + visitEndAnchor(e) {} + visitWordBoundary(e) {} + visitNonWordBoundary(e) {} + visitLookahead(e) {} + visitNegativeLookahead(e) {} + visitCharacter(e) {} + visitSet(e) {} + visitGroup(e) {} + visitGroupBackReference(e) {} + visitQuantifier(e) {} + }; + }); + var Kv = R(() => { + 'use strict'; + Yne(); + Wne(); + }); + var LT = {}; + hr(LT, { + NEWLINE_REGEXP: () => BR, + escapeRegExp: () => t0, + getCaseInsensitivePattern: () => zR, + getTerminalParts: () => OMe, + isMultilineComment: () => FR, + isWhitespace: () => _T, + partialMatches: () => GR, + partialRegExp: () => Xne + }); + function OMe(t) { + try { + typeof t != 'string' && (t = t.source), (t = `/${t}/`); + let e = qne.pattern(t), + r = []; + for (let n of e.value.value) e0.reset(t), e0.visit(n), r.push({ start: e0.startRegexp, end: e0.endRegex }); + return r; + } catch { + return []; + } + } + function FR(t) { + try { + return ( + typeof t == 'string' && (t = new RegExp(t)), + (t = t.toString()), + e0.reset(t), + e0.visit(qne.pattern(t)), + e0.multiline + ); + } catch { + return !1; + } + } + function _T(t) { + return (typeof t == 'string' ? new RegExp(t) : t).test(' '); + } + function t0(t) { + return t.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); + } + function zR(t) { + return Array.prototype.map + .call(t, (e) => (/\w/.test(e) ? `[${e.toLowerCase()}${e.toUpperCase()}]` : t0(e))) + .join(''); + } + function GR(t, e) { + let r = Xne(t), + n = e.match(r); + return !!n && n[0].length > 0; + } + function Xne(t) { + typeof t == 'string' && (t = new RegExp(t)); + let e = t, + r = t.source, + n = 0; + function i() { + let a = '', + s; + function l(h) { + (a += r.substr(n, h)), (n += h); + } + o(l, 'appendRaw'); + function u(h) { + (a += '(?:' + r.substr(n, h) + '|$)'), (n += h); + } + for (o(u, 'appendOptional'); n < r.length; ) + switch (r[n]) { + case '\\': + switch (r[n + 1]) { + case 'c': + u(3); + break; + case 'x': + u(4); + break; + case 'u': + e.unicode ? (r[n + 2] === '{' ? u(r.indexOf('}', n) - n + 1) : u(6)) : u(2); + break; + case 'p': + case 'P': + e.unicode ? u(r.indexOf('}', n) - n + 1) : u(2); + break; + case 'k': + u(r.indexOf('>', n) - n + 1); + break; + default: + u(2); + break; + } + break; + case '[': + (s = /\[(?:\\.|.)*?\]/g), (s.lastIndex = n), (s = s.exec(r) || []), u(s[0].length); + break; + case '|': + case '^': + case '$': + case '*': + case '+': + case '?': + l(1); + break; + case '{': + (s = /\{\d+,?\d*\}/g), (s.lastIndex = n), (s = s.exec(r)), s ? l(s[0].length) : u(1); + break; + case '(': + if (r[n + 1] === '?') + switch (r[n + 2]) { + case ':': + (a += '(?:'), (n += 3), (a += i() + '|$)'); + break; + case '=': + (a += '(?='), (n += 3), (a += i() + ')'); + break; + case '!': + (s = n), (n += 3), i(), (a += r.substr(s, n - s)); + break; + case '<': + switch (r[n + 3]) { + case '=': + case '!': + (s = n), (n += 4), i(), (a += r.substr(s, n - s)); + break; + default: + l(r.indexOf('>', n) - n + 1), (a += i() + '|$)'); + break; + } + break; + } + else l(1), (a += i() + '|$)'); + break; + case ')': + return ++n, a; + default: + u(1); + break; + } + return a; + } + return o(i, 'process'), new RegExp(i(), t.flags); + } + var BR, + qne, + PR, + e0, + Um = R(() => { + 'use strict'; + Kv(); + (BR = /\r?\n/gm), + (qne = new Jd()), + (PR = class extends _c { + static { + o(this, 'TerminalRegExpVisitor'); + } + constructor() { + super(...arguments), (this.isStarting = !0), (this.endRegexpStack = []), (this.multiline = !1); + } + get endRegex() { + return this.endRegexpStack.join(''); + } + reset(e) { + (this.multiline = !1), + (this.regex = e), + (this.startRegexp = ''), + (this.isStarting = !0), + (this.endRegexpStack = []); + } + visitGroup(e) { + e.quantifier && ((this.isStarting = !1), (this.endRegexpStack = [])); + } + visitCharacter(e) { + let r = String.fromCharCode(e.value); + if ( + (!this.multiline && + r === + ` +` && + (this.multiline = !0), + e.quantifier) + ) + (this.isStarting = !1), (this.endRegexpStack = []); + else { + let n = t0(r); + this.endRegexpStack.push(n), this.isStarting && (this.startRegexp += n); + } + } + visitSet(e) { + if (!this.multiline) { + let r = this.regex.substring(e.loc.begin, e.loc.end), + n = new RegExp(r); + this.multiline = !!` +`.match(n); + } + if (e.quantifier) (this.isStarting = !1), (this.endRegexpStack = []); + else { + let r = this.regex.substring(e.loc.begin, e.loc.end); + this.endRegexpStack.push(r), this.isStarting && (this.startRegexp += r); + } + } + visitChildren(e) { + (e.type === 'Group' && e.quantifier) || super.visitChildren(e); + } + }), + (e0 = new PR()); + o(OMe, 'getTerminalParts'); + o(FR, 'isMultilineComment'); + o(_T, 'isWhitespace'); + o(t0, 'escapeRegExp'); + o(zR, 'getCaseInsensitivePattern'); + o(GR, 'partialMatches'); + o(Xne, 'partialRegExp'); + }); + var RT = {}; + hr(RT, { + findAssignment: () => jR, + findNameAssignment: () => DT, + findNodeForKeyword: () => qR, + findNodeForProperty: () => Zv, + findNodesForKeyword: () => PMe, + findNodesForKeywordInternal: () => XR, + findNodesForProperty: () => YR, + getActionAtElement: () => Jne, + getActionType: () => tie, + getAllReachableRules: () => Qv, + getCrossReferenceTerminal: () => UR, + getEntryRule: () => jne, + getExplicitRuleType: () => KR, + getHiddenRules: () => Kne, + getRuleType: () => QR, + getTypeName: () => r0, + isArrayCardinality: () => FMe, + isArrayOperator: () => zMe, + isCommentTerminal: () => HR, + isDataType: () => GMe, + isDataTypeRule: () => Jv, + isOptionalCardinality: () => BMe, + terminalRegex: () => Hm + }); + function jne(t) { + return t.rules.find((e) => Oa(e) && e.entry); + } + function Kne(t) { + return t.rules.filter((e) => Uo(e) && e.hidden); + } + function Qv(t, e) { + let r = new Set(), + n = jne(t); + if (!n) return new Set(t.rules); + let i = [n].concat(Kne(t)); + for (let s of i) Qne(s, r, e); + let a = new Set(); + for (let s of t.rules) (r.has(s.name) || (Uo(s) && s.hidden)) && a.add(s); + return a; + } + function Qne(t, e, r) { + e.add(t.name), + Ac(t).forEach((n) => { + if (Ml(n) || (r && TT(n))) { + let i = n.rule.ref; + i && !e.has(i.name) && Qne(i, e, r); + } + }); + } + function UR(t) { + if (t.terminal) return t.terminal; + if (t.type.ref) { + let e = DT(t.type.ref); + return e?.terminal; + } + } + function HR(t) { + return t.hidden && !Hm(t).test(' '); + } + function YR(t, e) { + return !t || !e ? [] : WR(t, e, t.astNode, !0); + } + function Zv(t, e, r) { + if (!t || !e) return; + let n = WR(t, e, t.astNode, !0); + if (n.length !== 0) return r !== void 0 ? (r = Math.max(0, Math.min(r, n.length - 1))) : (r = 0), n[r]; + } + function WR(t, e, r, n) { + if (!n) { + let i = Qd(t.grammarSource, Nl); + if (i && i.feature === e) return [t]; + } + return co(t) && t.astNode === r ? t.content.flatMap((i) => WR(i, e, r, !1)) : []; + } + function PMe(t, e) { + return t ? XR(t, e, t?.astNode) : []; + } + function qR(t, e, r) { + if (!t) return; + let n = XR(t, e, t?.astNode); + if (n.length !== 0) return r !== void 0 ? (r = Math.max(0, Math.min(r, n.length - 1))) : (r = 0), n[r]; + } + function XR(t, e, r) { + if (t.astNode !== r) return []; + if (Ho(t.grammarSource) && t.grammarSource.value === e) return [t]; + let n = qd(t).iterator(), + i, + a = []; + do + if (((i = n.next()), !i.done)) { + let s = i.value; + s.astNode === r ? Ho(s.grammarSource) && s.grammarSource.value === e && a.push(s) : n.prune(); + } + while (!i.done); + return a; + } + function jR(t) { + var e; + let r = t.astNode; + for (; r === ((e = t.container) === null || e === void 0 ? void 0 : e.astNode); ) { + let n = Qd(t.grammarSource, Nl); + if (n) return n; + t = t.container; + } + } + function DT(t) { + let e = t; + return ( + vT(e) && + (Iu(e.$container) + ? (e = e.$container.$container) + : Oa(e.$container) + ? (e = e.$container) + : tf(e.$container)), + Zne(t, e, new Map()) + ); + } + function Zne(t, e, r) { + var n; + function i(a, s) { + let l; + return Qd(a, Nl) || (l = Zne(s, s, r)), r.set(t, l), l; + } + if ((o(i, 'go'), r.has(t))) return r.get(t); + r.set(t, void 0); + for (let a of Ac(e)) { + if (Nl(a) && a.feature.toLowerCase() === 'name') return r.set(t, a), a; + if (Ml(a) && Oa(a.rule.ref)) return i(a, a.rule.ref); + if (bT(a) && !((n = a.typeRef) === null || n === void 0) && n.ref) return i(a, a.typeRef.ref); + } + } + function Jne(t) { + let e = t.$container; + if (rf(e)) { + let r = e.elements, + n = r.indexOf(t); + for (let i = n - 1; i >= 0; i--) { + let a = r[i]; + if (Iu(a)) return a; + { + let s = Ac(r[i]).find(Iu); + if (s) return s; + } + } + } + if (Uv(e)) return Jne(e); + } + function BMe(t, e) { + return t === '?' || t === '*' || (rf(e) && !!e.guardCondition); + } + function FMe(t) { + return t === '*' || t === '+'; + } + function zMe(t) { + return t === '+='; + } + function Jv(t) { + return eie(t, new Set()); + } + function eie(t, e) { + if (e.has(t)) return !0; + e.add(t); + for (let r of Ac(t)) + if (Ml(r)) { + if (!r.rule.ref || (Oa(r.rule.ref) && !eie(r.rule.ref, e))) return !1; + } else { + if (Nl(r)) return !1; + if (Iu(r)) return !1; + } + return !!t.definition; + } + function GMe(t) { + return VR(t.type, new Set()); + } + function VR(t, e) { + if (e.has(t)) return !0; + if ((e.add(t), ID(t))) return !1; + if (ZD(t)) return !1; + if (iR(t)) return t.types.every((r) => VR(r, e)); + if (bT(t)) { + if (t.primitiveType !== void 0) return !0; + if (t.stringType !== void 0) return !0; + if (t.typeRef !== void 0) { + let r = t.typeRef.ref; + return Hv(r) ? VR(r.type, e) : !1; + } else return !1; + } else return !1; + } + function KR(t) { + if (t.inferredType) return t.inferredType.name; + if (t.dataType) return t.dataType; + if (t.returnType) { + let e = t.returnType.ref; + if (e) { + if (Oa(e)) return e.name; + if (xT(e) || Hv(e)) return e.name; + } + } + } + function r0(t) { + var e; + if (Oa(t)) return Jv(t) ? t.name : (e = KR(t)) !== null && e !== void 0 ? e : t.name; + if (xT(t) || Hv(t) || JD(t)) return t.name; + if (Iu(t)) { + let r = tie(t); + if (r) return r; + } else if (vT(t)) return t.name; + throw new Error('Cannot get name of Unknown Type'); + } + function tie(t) { + var e; + if (t.inferredType) return t.inferredType.name; + if (!((e = t.type) === null || e === void 0) && e.ref) return r0(t.type.ref); + } + function QR(t) { + var e, r, n; + return Uo(t) + ? (r = (e = t.type) === null || e === void 0 ? void 0 : e.name) !== null && r !== void 0 + ? r + : 'string' + : Jv(t) + ? t.name + : (n = KR(t)) !== null && n !== void 0 + ? n + : t.name; + } + function Hm(t) { + let e = { s: !1, i: !1, u: !1 }, + r = Ym(t.definition, e), + n = Object.entries(e) + .filter(([, i]) => i) + .map(([i]) => i) + .join(''); + return new RegExp(r, n); + } + function Ym(t, e) { + if (wR(t)) return $Me(t); + if (kR(t)) return VMe(t); + if (cR(t)) return YMe(t); + if (TT(t)) { + let r = t.rule.ref; + if (!r) throw new Error('Missing rule reference.'); + return Ou(Ym(r.definition), { + cardinality: t.cardinality, + lookahead: t.lookahead + }); + } else { + if (gR(t)) return HMe(t); + if (AR(t)) return UMe(t); + if (vR(t)) { + let r = t.regex.lastIndexOf('/'), + n = t.regex.substring(1, r), + i = t.regex.substring(r + 1); + return ( + e && ((e.i = i.includes('i')), (e.s = i.includes('s')), (e.u = i.includes('u'))), + Ou(n, { + cardinality: t.cardinality, + lookahead: t.lookahead, + wrap: !1 + }) + ); + } else { + if (LR(t)) return Ou(ZR, { cardinality: t.cardinality, lookahead: t.lookahead }); + throw new Error(`Invalid terminal element: ${t?.$type}`); + } + } + } + function $Me(t) { + return Ou(t.elements.map((e) => Ym(e)).join('|'), { + cardinality: t.cardinality, + lookahead: t.lookahead + }); + } + function VMe(t) { + return Ou(t.elements.map((e) => Ym(e)).join(''), { + cardinality: t.cardinality, + lookahead: t.lookahead + }); + } + function UMe(t) { + return Ou(`${ZR}*?${Ym(t.terminal)}`, { + cardinality: t.cardinality, + lookahead: t.lookahead + }); + } + function HMe(t) { + return Ou(`(?!${Ym(t.terminal)})${ZR}*?`, { + cardinality: t.cardinality, + lookahead: t.lookahead + }); + } + function YMe(t) { + return t.right + ? Ou(`[${$R(t.left)}-${$R(t.right)}]`, { + cardinality: t.cardinality, + lookahead: t.lookahead, + wrap: !1 + }) + : Ou($R(t.left), { + cardinality: t.cardinality, + lookahead: t.lookahead, + wrap: !1 + }); + } + function $R(t) { + return t0(t.value); + } + function Ou(t, e) { + var r; + return ( + (e.wrap !== !1 || e.lookahead) && (t = `(${(r = e.lookahead) !== null && r !== void 0 ? r : ''}${t})`), + e.cardinality ? `${t}${e.cardinality}` : t + ); + } + var ZR, + Il = R(() => { + 'use strict'; + pT(); + Sc(); + Vo(); + es(); + Rl(); + Um(); + o(jne, 'getEntryRule'); + o(Kne, 'getHiddenRules'); + o(Qv, 'getAllReachableRules'); + o(Qne, 'ruleDfs'); + o(UR, 'getCrossReferenceTerminal'); + o(HR, 'isCommentTerminal'); + o(YR, 'findNodesForProperty'); + o(Zv, 'findNodeForProperty'); + o(WR, 'findNodesForPropertyInternal'); + o(PMe, 'findNodesForKeyword'); + o(qR, 'findNodeForKeyword'); + o(XR, 'findNodesForKeywordInternal'); + o(jR, 'findAssignment'); + o(DT, 'findNameAssignment'); + o(Zne, 'findNameAssignmentInternal'); + o(Jne, 'getActionAtElement'); + o(BMe, 'isOptionalCardinality'); + o(FMe, 'isArrayCardinality'); + o(zMe, 'isArrayOperator'); + o(Jv, 'isDataTypeRule'); + o(eie, 'isDataTypeRuleInternal'); + o(GMe, 'isDataType'); + o(VR, 'isDataTypeInternal'); + o(KR, 'getExplicitRuleType'); + o(r0, 'getTypeName'); + o(tie, 'getActionType'); + o(QR, 'getRuleType'); + o(Hm, 'terminalRegex'); + ZR = /[\s\S]/.source; + o(Ym, 'abstractElementToRegex'); + o($Me, 'terminalAlternativesToRegex'); + o(VMe, 'terminalGroupToRegex'); + o(UMe, 'untilTokenToRegex'); + o(HMe, 'negateTokenToRegex'); + o(YMe, 'characterRangeToRegex'); + o($R, 'keywordToRegex'); + o(Ou, 'withCardinality'); + }); + function JR(t) { + let e = [], + r = t.Grammar; + for (let n of r.rules) Uo(n) && HR(n) && FR(Hm(n)) && e.push(n.name); + return { multilineCommentRules: e, nameRegexp: fT }; + } + var eN = R(() => { + 'use strict'; + Rl(); + Il(); + Um(); + Sc(); + o(JR, 'createGrammarConfig'); + }); + var tN = R(() => { + 'use strict'; + }); + function Wm(t) { + console && console.error && console.error(`Error: ${t}`); + } + function e2(t) { + console && console.warn && console.warn(`Warning: ${t}`); + } + var rie = R(() => { + 'use strict'; + o(Wm, 'PRINT_ERROR'); + o(e2, 'PRINT_WARNING'); + }); + function t2(t) { + let e = new Date().getTime(), + r = t(); + return { time: new Date().getTime() - e, value: r }; + } + var nie = R(() => { + 'use strict'; + o(t2, 'timer'); + }); + function r2(t) { + function e() {} + o(e, 'FakeConstructor'), (e.prototype = t); + let r = new e(); + function n() { + return typeof r.bar; + } + return o(n, 'fakeAccess'), n(), n(), t; + (0, eval)(t); + } + var iie = R(() => { + 'use strict'; + o(r2, 'toFastProperties'); + }); + var qm = R(() => { + 'use strict'; + rie(); + nie(); + iie(); + }); + function WMe(t) { + return qMe(t) ? t.LABEL : t.name; + } + function qMe(t) { + return di(t.LABEL) && t.LABEL !== ''; + } + function NT(t) { + return qe(t, Xm); + } + function Xm(t) { + function e(r) { + return qe(r, Xm); + } + if ((o(e, 'convertDefinition'), t instanceof Zr)) { + let r = { type: 'NonTerminal', name: t.nonTerminalName, idx: t.idx }; + return di(t.label) && (r.label = t.label), r; + } else { + if (t instanceof Sn) return { type: 'Alternative', definition: e(t.definition) }; + if (t instanceof Jr) return { type: 'Option', idx: t.idx, definition: e(t.definition) }; + if (t instanceof An) + return { + type: 'RepetitionMandatory', + idx: t.idx, + definition: e(t.definition) + }; + if (t instanceof _n) + return { + type: 'RepetitionMandatoryWithSeparator', + idx: t.idx, + separator: Xm(new fr({ terminalType: t.separator })), + definition: e(t.definition) + }; + if (t instanceof mn) + return { + type: 'RepetitionWithSeparator', + idx: t.idx, + separator: Xm(new fr({ terminalType: t.separator })), + definition: e(t.definition) + }; + if (t instanceof br) return { type: 'Repetition', idx: t.idx, definition: e(t.definition) }; + if (t instanceof gn) return { type: 'Alternation', idx: t.idx, definition: e(t.definition) }; + if (t instanceof fr) { + let r = { + type: 'Terminal', + name: t.terminalType.name, + label: WMe(t.terminalType), + idx: t.idx + }; + di(t.label) && (r.terminalLabel = t.label); + let n = t.terminalType.PATTERN; + return t.terminalType.PATTERN && (r.pattern = zo(n) ? n.source : n), r; + } else { + if (t instanceof ts) + return { + type: 'Rule', + name: t.name, + orgText: t.orgText, + definition: e(t.definition) + }; + throw Error('non exhaustive match'); + } + } + } + var ho, + Zr, + ts, + Sn, + Jr, + An, + _n, + br, + mn, + gn, + fr, + MT = R(() => { + 'use strict'; + Pt(); + o(WMe, 'tokenLabel'); + o(qMe, 'hasTokenLabel'); + (ho = class { + static { + o(this, 'AbstractProduction'); + } + get definition() { + return this._definition; + } + set definition(e) { + this._definition = e; + } + constructor(e) { + this._definition = e; + } + accept(e) { + e.visit(this), + Ee(this.definition, (r) => { + r.accept(e); + }); + } + }), + (Zr = class extends ho { + static { + o(this, 'NonTerminal'); + } + constructor(e) { + super([]), + (this.idx = 1), + pa( + this, + Ls(e, (r) => r !== void 0) + ); + } + set definition(e) {} + get definition() { + return this.referencedRule !== void 0 ? this.referencedRule.definition : []; + } + accept(e) { + e.visit(this); + } + }), + (ts = class extends ho { + static { + o(this, 'Rule'); + } + constructor(e) { + super(e.definition), + (this.orgText = ''), + pa( + this, + Ls(e, (r) => r !== void 0) + ); + } + }), + (Sn = class extends ho { + static { + o(this, 'Alternative'); + } + constructor(e) { + super(e.definition), + (this.ignoreAmbiguities = !1), + pa( + this, + Ls(e, (r) => r !== void 0) + ); + } + }), + (Jr = class extends ho { + static { + o(this, 'Option'); + } + constructor(e) { + super(e.definition), + (this.idx = 1), + pa( + this, + Ls(e, (r) => r !== void 0) + ); + } + }), + (An = class extends ho { + static { + o(this, 'RepetitionMandatory'); + } + constructor(e) { + super(e.definition), + (this.idx = 1), + pa( + this, + Ls(e, (r) => r !== void 0) + ); + } + }), + (_n = class extends ho { + static { + o(this, 'RepetitionMandatoryWithSeparator'); + } + constructor(e) { + super(e.definition), + (this.idx = 1), + pa( + this, + Ls(e, (r) => r !== void 0) + ); + } + }), + (br = class extends ho { + static { + o(this, 'Repetition'); + } + constructor(e) { + super(e.definition), + (this.idx = 1), + pa( + this, + Ls(e, (r) => r !== void 0) + ); + } + }), + (mn = class extends ho { + static { + o(this, 'RepetitionWithSeparator'); + } + constructor(e) { + super(e.definition), + (this.idx = 1), + pa( + this, + Ls(e, (r) => r !== void 0) + ); + } + }), + (gn = class extends ho { + static { + o(this, 'Alternation'); + } + get definition() { + return this._definition; + } + set definition(e) { + this._definition = e; + } + constructor(e) { + super(e.definition), + (this.idx = 1), + (this.ignoreAmbiguities = !1), + (this.hasPredicates = !1), + pa( + this, + Ls(e, (r) => r !== void 0) + ); + } + }), + (fr = class { + static { + o(this, 'Terminal'); + } + constructor(e) { + (this.idx = 1), + pa( + this, + Ls(e, (r) => r !== void 0) + ); + } + accept(e) { + e.visit(this); + } + }); + o(NT, 'serializeGrammar'); + o(Xm, 'serializeProduction'); + }); + var rs, + aie = R(() => { + 'use strict'; + MT(); + rs = class { + static { + o(this, 'GAstVisitor'); + } + visit(e) { + let r = e; + switch (r.constructor) { + case Zr: + return this.visitNonTerminal(r); + case Sn: + return this.visitAlternative(r); + case Jr: + return this.visitOption(r); + case An: + return this.visitRepetitionMandatory(r); + case _n: + return this.visitRepetitionMandatoryWithSeparator(r); + case mn: + return this.visitRepetitionWithSeparator(r); + case br: + return this.visitRepetition(r); + case gn: + return this.visitAlternation(r); + case fr: + return this.visitTerminal(r); + case ts: + return this.visitRule(r); + default: + throw Error('non exhaustive match'); + } + } + visitNonTerminal(e) {} + visitAlternative(e) {} + visitOption(e) {} + visitRepetition(e) {} + visitRepetitionMandatory(e) {} + visitRepetitionMandatoryWithSeparator(e) {} + visitRepetitionWithSeparator(e) {} + visitAlternation(e) {} + visitTerminal(e) {} + visitRule(e) {} + }; + }); + function rN(t) { + return ( + t instanceof Sn || + t instanceof Jr || + t instanceof br || + t instanceof An || + t instanceof _n || + t instanceof mn || + t instanceof fr || + t instanceof ts + ); + } + function n0(t, e = []) { + return t instanceof Jr || t instanceof br || t instanceof mn + ? !0 + : t instanceof gn + ? Nv(t.definition, (n) => n0(n, e)) + : t instanceof Zr && Fn(e, t) + ? !1 + : t instanceof ho + ? (t instanceof Zr && e.push(t), Ia(t.definition, (n) => n0(n, e))) + : !1; + } + function nN(t) { + return t instanceof gn; + } + function Rs(t) { + if (t instanceof Zr) return 'SUBRULE'; + if (t instanceof Jr) return 'OPTION'; + if (t instanceof gn) return 'OR'; + if (t instanceof An) return 'AT_LEAST_ONE'; + if (t instanceof _n) return 'AT_LEAST_ONE_SEP'; + if (t instanceof mn) return 'MANY_SEP'; + if (t instanceof br) return 'MANY'; + if (t instanceof fr) return 'CONSUME'; + throw Error('non exhaustive match'); + } + var sie = R(() => { + 'use strict'; + Pt(); + MT(); + o(rN, 'isSequenceProd'); + o(n0, 'isOptionalProd'); + o(nN, 'isBranchingProd'); + o(Rs, 'getProductionDslName'); + }); + var ns = R(() => { + 'use strict'; + MT(); + aie(); + sie(); + }); + function oie(t, e, r) { + return [ + new Jr({ + definition: [new fr({ terminalType: t.separator })].concat(t.definition) + }) + ].concat(e, r); + } + var Pu, + IT = R(() => { + 'use strict'; + Pt(); + ns(); + Pu = class { + static { + o(this, 'RestWalker'); + } + walk(e, r = []) { + Ee(e.definition, (n, i) => { + let a = fi(e.definition, i + 1); + if (n instanceof Zr) this.walkProdRef(n, a, r); + else if (n instanceof fr) this.walkTerminal(n, a, r); + else if (n instanceof Sn) this.walkFlat(n, a, r); + else if (n instanceof Jr) this.walkOption(n, a, r); + else if (n instanceof An) this.walkAtLeastOne(n, a, r); + else if (n instanceof _n) this.walkAtLeastOneSep(n, a, r); + else if (n instanceof mn) this.walkManySep(n, a, r); + else if (n instanceof br) this.walkMany(n, a, r); + else if (n instanceof gn) this.walkOr(n, a, r); + else throw Error('non exhaustive match'); + }); + } + walkTerminal(e, r, n) {} + walkProdRef(e, r, n) {} + walkFlat(e, r, n) { + let i = r.concat(n); + this.walk(e, i); + } + walkOption(e, r, n) { + let i = r.concat(n); + this.walk(e, i); + } + walkAtLeastOne(e, r, n) { + let i = [new Jr({ definition: e.definition })].concat(r, n); + this.walk(e, i); + } + walkAtLeastOneSep(e, r, n) { + let i = oie(e, r, n); + this.walk(e, i); + } + walkMany(e, r, n) { + let i = [new Jr({ definition: e.definition })].concat(r, n); + this.walk(e, i); + } + walkManySep(e, r, n) { + let i = oie(e, r, n); + this.walk(e, i); + } + walkOr(e, r, n) { + let i = r.concat(n); + Ee(e.definition, (a) => { + let s = new Sn({ definition: [a] }); + this.walk(s, i); + }); + } + }; + o(oie, 'restForRepetitionWithSeparator'); + }); + function i0(t) { + if (t instanceof Zr) return i0(t.referencedRule); + if (t instanceof fr) return KMe(t); + if (rN(t)) return XMe(t); + if (nN(t)) return jMe(t); + throw Error('non exhaustive match'); + } + function XMe(t) { + let e = [], + r = t.definition, + n = 0, + i = r.length > n, + a, + s = !0; + for (; i && s; ) (a = r[n]), (s = n0(a)), (e = e.concat(i0(a))), (n = n + 1), (i = r.length > n); + return Pm(e); + } + function jMe(t) { + let e = qe(t.definition, (r) => i0(r)); + return Pm(Gr(e)); + } + function KMe(t) { + return [t.terminalType]; + } + var iN = R(() => { + 'use strict'; + Pt(); + ns(); + o(i0, 'first'); + o(XMe, 'firstForSequence'); + o(jMe, 'firstForBranching'); + o(KMe, 'firstForTerminal'); + }); + var OT, + aN = R(() => { + 'use strict'; + OT = '_~IN~_'; + }); + function lie(t) { + let e = {}; + return ( + Ee(t, (r) => { + let n = new sN(r).startWalking(); + pa(e, n); + }), + e + ); + } + function QMe(t, e) { + return t.name + e + OT; + } + var sN, + cie = R(() => { + 'use strict'; + IT(); + iN(); + Pt(); + aN(); + ns(); + sN = class extends Pu { + static { + o(this, 'ResyncFollowsWalker'); + } + constructor(e) { + super(), (this.topProd = e), (this.follows = {}); + } + startWalking() { + return this.walk(this.topProd), this.follows; + } + walkTerminal(e, r, n) {} + walkProdRef(e, r, n) { + let i = QMe(e.referencedRule, e.idx) + this.topProd.name, + a = r.concat(n), + s = new Sn({ definition: a }), + l = i0(s); + this.follows[i] = l; + } + }; + o(lie, 'computeAllProdsFollows'); + o(QMe, 'buildBetweenProdsFollowPrefix'); + }); + function jm(t) { + let e = t.toString(); + if (PT.hasOwnProperty(e)) return PT[e]; + { + let r = ZMe.pattern(e); + return (PT[e] = r), r; + } + } + function uie() { + PT = {}; + } + var PT, + ZMe, + BT = R(() => { + 'use strict'; + Kv(); + (PT = {}), (ZMe = new Jd()); + o(jm, 'getRegExpAst'); + o(uie, 'clearRegExpParserCache'); + }); + function die(t, e = !1) { + try { + let r = jm(t); + return oN(r.value, {}, r.flags.ignoreCase); + } catch (r) { + if (r.message === fie) + e && + e2(`${n2} Unable to optimize: < ${t.toString()} > + Complement Sets cannot be automatically optimized. + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`); + else { + let n = ''; + e && + (n = ` + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`), + Wm( + `${n2} + Failed parsing: < ${t.toString()} > + Using the @chevrotain/regexp-to-ast library + Please open an issue at: https://github.com/chevrotain/chevrotain/issues` + n + ); + } + } + return []; + } + function oN(t, e, r) { + switch (t.type) { + case 'Disjunction': + for (let i = 0; i < t.value.length; i++) oN(t.value[i], e, r); + break; + case 'Alternative': + let n = t.value; + for (let i = 0; i < n.length; i++) { + let a = n[i]; + switch (a.type) { + case 'EndAnchor': + case 'GroupBackReference': + case 'Lookahead': + case 'NegativeLookahead': + case 'StartAnchor': + case 'WordBoundary': + case 'NonWordBoundary': + continue; + } + let s = a; + switch (s.type) { + case 'Character': + FT(s.value, e, r); + break; + case 'Set': + if (s.complement === !0) throw Error(fie); + Ee(s.value, (u) => { + if (typeof u == 'number') FT(u, e, r); + else { + let h = u; + if (r === !0) for (let f = h.from; f <= h.to; f++) FT(f, e, r); + else { + for (let f = h.from; f <= h.to && f < Km; f++) FT(f, e, r); + if (h.to >= Km) { + let f = h.from >= Km ? h.from : Km, + d = h.to, + p = Lc(f), + m = Lc(d); + for (let g = p; g <= m; g++) e[g] = g; + } + } + } + }); + break; + case 'Group': + oN(s.value, e, r); + break; + default: + throw Error('Non Exhaustive Match'); + } + let l = s.quantifier !== void 0 && s.quantifier.atLeast === 0; + if ((s.type === 'Group' && lN(s) === !1) || (s.type !== 'Group' && l === !1)) break; + } + break; + default: + throw Error('non exhaustive match!'); + } + return or(e); + } + function FT(t, e, r) { + let n = Lc(t); + (e[n] = n), r === !0 && JMe(t, e); + } + function JMe(t, e) { + let r = String.fromCharCode(t), + n = r.toUpperCase(); + if (n !== r) { + let i = Lc(n.charCodeAt(0)); + e[i] = i; + } else { + let i = r.toLowerCase(); + if (i !== r) { + let a = Lc(i.charCodeAt(0)); + e[a] = a; + } + } + } + function hie(t, e) { + return Za(t.value, (r) => { + if (typeof r == 'number') return Fn(e, r); + { + let n = r; + return Za(e, (i) => n.from <= i && i <= n.to) !== void 0; + } + }); + } + function lN(t) { + let e = t.quantifier; + return e && e.atLeast === 0 ? !0 : t.value ? (wt(t.value) ? Ia(t.value, lN) : lN(t.value)) : !1; + } + function zT(t, e) { + if (e instanceof RegExp) { + let r = jm(e), + n = new cN(t); + return n.visit(r), n.found; + } else return Za(e, (r) => Fn(t, r.charCodeAt(0))) !== void 0; + } + var fie, + n2, + cN, + pie = R(() => { + 'use strict'; + Kv(); + Pt(); + qm(); + BT(); + uN(); + (fie = 'Complement Sets are not supported for first char optimization'), + (n2 = `Unable to use "first char" lexer optimizations: +`); + o(die, 'getOptimizedStartCodesIndices'); + o(oN, 'firstCharOptimizedIndices'); + o(FT, 'addOptimizedIdxToResult'); + o(JMe, 'handleIgnoreCase'); + o(hie, 'findCode'); + o(lN, 'isWholeOptional'); + cN = class extends _c { + static { + o(this, 'CharCodeFinder'); + } + constructor(e) { + super(), (this.targetCharCodes = e), (this.found = !1); + } + visitChildren(e) { + if (this.found !== !0) { + switch (e.type) { + case 'Lookahead': + this.visitLookahead(e); + return; + case 'NegativeLookahead': + this.visitNegativeLookahead(e); + return; + } + super.visitChildren(e); + } + } + visitCharacter(e) { + Fn(this.targetCharCodes, e.value) && (this.found = !0); + } + visitSet(e) { + e.complement + ? hie(e, this.targetCharCodes) === void 0 && (this.found = !0) + : hie(e, this.targetCharCodes) !== void 0 && (this.found = !0); + } + }; + o(zT, 'canMatchCharCode'); + }); + function yie(t, e) { + e = Xh(e, { + useSticky: fN, + debug: !1, + safeMode: !1, + positionTracking: 'full', + lineTerminatorCharacters: [ + '\r', + ` +` + ], + tracer: o((b, w) => w(), 'tracer') + }); + let r = e.tracer; + r('initCharCodeToOptimizedIndexMap', () => { + yIe(); + }); + let n; + r('Reject Lexer.NA', () => { + n = Kh(t, (b) => b[a0] === ni.NA); + }); + let i = !1, + a; + r('Transform Patterns', () => { + (i = !1), + (a = qe(n, (b) => { + let w = b[a0]; + if (zo(w)) { + let S = w.source; + return S.length === 1 && S !== '^' && S !== '$' && S !== '.' && !w.ignoreCase + ? S + : S.length === 2 && + S[0] === '\\' && + !Fn( + ['d', 'D', 's', 'S', 't', 'r', 'n', 't', '0', 'c', 'b', 'B', 'f', 'v', 'w', 'W'], + S[1] + ) + ? S[1] + : e.useSticky + ? gie(w) + : mie(w); + } else { + if (wi(w)) return (i = !0), { exec: w }; + if (typeof w == 'object') return (i = !0), w; + if (typeof w == 'string') { + if (w.length === 1) return w; + { + let S = w.replace(/[\\^$.*+?()[\]{}|]/g, '\\$&'), + T = new RegExp(S); + return e.useSticky ? gie(T) : mie(T); + } + } else throw Error('non exhaustive match'); + } + })); + }); + let s, l, u, h, f; + r('misc mapping', () => { + (s = qe(n, (b) => b.tokenTypeIdx)), + (l = qe(n, (b) => { + let w = b.GROUP; + if (w !== ni.SKIPPED) { + if (di(w)) return w; + if (er(w)) return !1; + throw Error('non exhaustive match'); + } + })), + (u = qe(n, (b) => { + let w = b.LONGER_ALT; + if (w) return wt(w) ? qe(w, (T) => Yw(n, T)) : [Yw(n, w)]; + })), + (h = qe(n, (b) => b.PUSH_MODE)), + (f = qe(n, (b) => Xe(b, 'POP_MODE'))); + }); + let d; + r('Line Terminator Handling', () => { + let b = Cie(e.lineTerminatorCharacters); + (d = qe(n, (w) => !1)), + e.positionTracking !== 'onlyOffset' && + (d = qe(n, (w) => (Xe(w, 'LINE_BREAKS') ? !!w.LINE_BREAKS : Eie(w, b) === !1 && zT(b, w.PATTERN)))); + }); + let p, m, g, y; + r('Misc Mapping #2', () => { + (p = qe(n, Tie)), + (m = qe(a, mIe)), + (g = Vr( + n, + (b, w) => { + let S = w.GROUP; + return di(S) && S !== ni.SKIPPED && (b[S] = []), b; + }, + {} + )), + (y = qe(a, (b, w) => ({ + pattern: a[w], + longerAlt: u[w], + canLineTerminator: d[w], + isCustom: p[w], + short: m[w], + group: l[w], + push: h[w], + pop: f[w], + tokenTypeIdx: s[w], + tokenType: n[w] + }))); + }); + let v = !0, + x = []; + return ( + e.safeMode || + r('First Char Optimization', () => { + x = Vr( + n, + (b, w, S) => { + if (typeof w.PATTERN == 'string') { + let T = w.PATTERN.charCodeAt(0), + E = Lc(T); + hN(b, E, y[S]); + } else if (wt(w.START_CHARS_HINT)) { + let T; + Ee(w.START_CHARS_HINT, (E) => { + let _ = typeof E == 'string' ? E.charCodeAt(0) : E, + A = Lc(_); + T !== A && ((T = A), hN(b, A, y[S])); + }); + } else if (zo(w.PATTERN)) + if (w.PATTERN.unicode) + (v = !1), + e.ensureOptimizations && + Wm(`${n2} Unable to analyze < ${w.PATTERN.toString()} > pattern. + The regexp unicode flag is not currently supported by the regexp-to-ast library. + This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`); + else { + let T = die(w.PATTERN, e.ensureOptimizations); + Qt(T) && (v = !1), + Ee(T, (E) => { + hN(b, E, y[S]); + }); + } + else + e.ensureOptimizations && + Wm(`${n2} TokenType: <${w.name}> is using a custom token pattern without providing parameter. + This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`), + (v = !1); + return b; + }, + [] + ); + }), + { + emptyGroups: g, + patternIdxToConfig: y, + charCodeToPatternIdxToConfig: x, + hasCustom: i, + canBeOptimized: v + } + ); + } + function vie(t, e) { + let r = [], + n = tIe(t); + r = r.concat(n.errors); + let i = rIe(n.valid), + a = i.valid; + return ( + (r = r.concat(i.errors)), + (r = r.concat(eIe(a))), + (r = r.concat(uIe(a))), + (r = r.concat(hIe(a, e))), + (r = r.concat(fIe(a))), + r + ); + } + function eIe(t) { + let e = [], + r = $r(t, (n) => zo(n[a0])); + return ( + (e = e.concat(iIe(r))), + (e = e.concat(oIe(r))), + (e = e.concat(lIe(r))), + (e = e.concat(cIe(r))), + (e = e.concat(aIe(r))), + e + ); + } + function tIe(t) { + let e = $r(t, (i) => !Xe(i, a0)), + r = qe(e, (i) => ({ + message: 'Token Type: ->' + i.name + "<- missing static 'PATTERN' property", + type: Gn.MISSING_PATTERN, + tokenTypes: [i] + })), + n = jh(t, e); + return { errors: r, valid: n }; + } + function rIe(t) { + let e = $r(t, (i) => { + let a = i[a0]; + return !zo(a) && !wi(a) && !Xe(a, 'exec') && !di(a); + }), + r = qe(e, (i) => ({ + message: + 'Token Type: ->' + + i.name + + "<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.", + type: Gn.INVALID_PATTERN, + tokenTypes: [i] + })), + n = jh(t, e); + return { errors: r, valid: n }; + } + function iIe(t) { + class e extends _c { + static { + o(this, 'EndAnchorFinder'); + } + constructor() { + super(...arguments), (this.found = !1); + } + visitEndAnchor(a) { + this.found = !0; + } + } + let r = $r(t, (i) => { + let a = i.PATTERN; + try { + let s = jm(a), + l = new e(); + return l.visit(s), l.found; + } catch { + return nIe.test(a.source); + } + }); + return qe(r, (i) => ({ + message: + `Unexpected RegExp Anchor Error: + Token Type: ->` + + i.name + + `<- static 'PATTERN' cannot contain end of input anchor '$' + See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`, + type: Gn.EOI_ANCHOR_FOUND, + tokenTypes: [i] + })); + } + function aIe(t) { + let e = $r(t, (n) => n.PATTERN.test('')); + return qe(e, (n) => ({ + message: 'Token Type: ->' + n.name + "<- static 'PATTERN' must not match an empty string", + type: Gn.EMPTY_MATCH_PATTERN, + tokenTypes: [n] + })); + } + function oIe(t) { + class e extends _c { + static { + o(this, 'StartAnchorFinder'); + } + constructor() { + super(...arguments), (this.found = !1); + } + visitStartAnchor(a) { + this.found = !0; + } + } + let r = $r(t, (i) => { + let a = i.PATTERN; + try { + let s = jm(a), + l = new e(); + return l.visit(s), l.found; + } catch { + return sIe.test(a.source); + } + }); + return qe(r, (i) => ({ + message: + `Unexpected RegExp Anchor Error: + Token Type: ->` + + i.name + + `<- static 'PATTERN' cannot contain start of input anchor '^' + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`, + type: Gn.SOI_ANCHOR_FOUND, + tokenTypes: [i] + })); + } + function lIe(t) { + let e = $r(t, (n) => { + let i = n[a0]; + return i instanceof RegExp && (i.multiline || i.global); + }); + return qe(e, (n) => ({ + message: 'Token Type: ->' + n.name + "<- static 'PATTERN' may NOT contain global('g') or multiline('m')", + type: Gn.UNSUPPORTED_FLAGS_FOUND, + tokenTypes: [n] + })); + } + function cIe(t) { + let e = [], + r = qe(t, (a) => + Vr( + t, + (s, l) => ( + a.PATTERN.source === l.PATTERN.source && + !Fn(e, l) && + l.PATTERN !== ni.NA && + (e.push(l), s.push(l)), + s + ), + [] + ) + ); + r = wc(r); + let n = $r(r, (a) => a.length > 1); + return qe(n, (a) => { + let s = qe(a, (u) => u.name); + return { + message: `The same RegExp pattern ->${ + na(a).PATTERN + }<-has been used in all of the following Token Types: ${s.join(', ')} <-`, + type: Gn.DUPLICATE_PATTERNS_FOUND, + tokenTypes: a + }; + }); + } + function uIe(t) { + let e = $r(t, (n) => { + if (!Xe(n, 'GROUP')) return !1; + let i = n.GROUP; + return i !== ni.SKIPPED && i !== ni.NA && !di(i); + }); + return qe(e, (n) => ({ + message: 'Token Type: ->' + n.name + "<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String", + type: Gn.INVALID_GROUP_TYPE_FOUND, + tokenTypes: [n] + })); + } + function hIe(t, e) { + let r = $r(t, (i) => i.PUSH_MODE !== void 0 && !Fn(e, i.PUSH_MODE)); + return qe(r, (i) => ({ + message: `Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`, + type: Gn.PUSH_MODE_DOES_NOT_EXIST, + tokenTypes: [i] + })); + } + function fIe(t) { + let e = [], + r = Vr( + t, + (n, i, a) => { + let s = i.PATTERN; + return ( + s === ni.NA || + (di(s) + ? n.push({ str: s, idx: a, tokenType: i }) + : zo(s) && pIe(s) && n.push({ str: s.source, idx: a, tokenType: i })), + n + ); + }, + [] + ); + return ( + Ee(t, (n, i) => { + Ee(r, ({ str: a, idx: s, tokenType: l }) => { + if (i < s && dIe(a, n.PATTERN)) { + let u = `Token: ->${l.name}<- can never be matched. +Because it appears AFTER the Token Type ->${n.name}<-in the lexer's definition. +See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`; + e.push({ + message: u, + type: Gn.UNREACHABLE_PATTERN, + tokenTypes: [n, l] + }); + } + }); + }), + e + ); + } + function dIe(t, e) { + if (zo(e)) { + let r = e.exec(t); + return r !== null && r.index === 0; + } else { + if (wi(e)) return e(t, 0, [], {}); + if (Xe(e, 'exec')) return e.exec(t, 0, [], {}); + if (typeof e == 'string') return e === t; + throw Error('non exhaustive match'); + } + } + function pIe(t) { + return ( + Za( + ['.', '\\', '[', ']', '|', '^', '$', '(', ')', '?', '*', '+', '{'], + (r) => t.source.indexOf(r) !== -1 + ) === void 0 + ); + } + function mie(t) { + let e = t.ignoreCase ? 'i' : ''; + return new RegExp(`^(?:${t.source})`, e); + } + function gie(t) { + let e = t.ignoreCase ? 'iy' : 'y'; + return new RegExp(`${t.source}`, e); + } + function xie(t, e, r) { + let n = []; + return ( + Xe(t, Qm) || + n.push({ + message: + 'A MultiMode Lexer cannot be initialized without a <' + + Qm + + `> property in its definition +`, + type: Gn.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE + }), + Xe(t, GT) || + n.push({ + message: + 'A MultiMode Lexer cannot be initialized without a <' + + GT + + `> property in its definition +`, + type: Gn.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY + }), + Xe(t, GT) && + Xe(t, Qm) && + !Xe(t.modes, t.defaultMode) && + n.push({ + message: `A MultiMode Lexer cannot be initialized with a ${Qm}: <${t.defaultMode}>which does not exist +`, + type: Gn.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST + }), + Xe(t, GT) && + Ee(t.modes, (i, a) => { + Ee(i, (s, l) => { + if (er(s)) + n.push({ + message: `A Lexer cannot be initialized using an undefined Token Type. Mode:<${a}> at index: <${l}> +`, + type: Gn.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED + }); + else if (Xe(s, 'LONGER_ALT')) { + let u = wt(s.LONGER_ALT) ? s.LONGER_ALT : [s.LONGER_ALT]; + Ee(u, (h) => { + !er(h) && + !Fn(i, h) && + n.push({ + message: `A MultiMode Lexer cannot be initialized with a longer_alt <${h.name}> on token <${s.name}> outside of mode <${a}> +`, + type: Gn.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE + }); + }); + } + }); + }), + n + ); + } + function bie(t, e, r) { + let n = [], + i = !1, + a = wc(Gr(or(t.modes))), + s = Kh(a, (u) => u[a0] === ni.NA), + l = Cie(r); + return ( + e && + Ee(s, (u) => { + let h = Eie(u, l); + if (h !== !1) { + let d = { message: gIe(u, h), type: h.issue, tokenType: u }; + n.push(d); + } else Xe(u, 'LINE_BREAKS') ? u.LINE_BREAKS === !0 && (i = !0) : zT(l, u.PATTERN) && (i = !0); + }), + e && + !i && + n.push({ + message: `Warning: No LINE_BREAKS Found. + This Lexer has been defined to track line and column information, + But none of the Token Types can be identified as matching a line terminator. + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS + for details.`, + type: Gn.NO_LINE_BREAKS_FLAGS + }), + n + ); + } + function wie(t) { + let e = {}, + r = Dr(t); + return ( + Ee(r, (n) => { + let i = t[n]; + if (wt(i)) e[n] = []; + else throw Error('non exhaustive match'); + }), + e + ); + } + function Tie(t) { + let e = t.PATTERN; + if (zo(e)) return !1; + if (wi(e)) return !0; + if (Xe(e, 'exec')) return !0; + if (di(e)) return !1; + throw Error('non exhaustive match'); + } + function mIe(t) { + return di(t) && t.length === 1 ? t.charCodeAt(0) : !1; + } + function Eie(t, e) { + if (Xe(t, 'LINE_BREAKS')) return !1; + if (zo(t.PATTERN)) { + try { + zT(e, t.PATTERN); + } catch (r) { + return { issue: Gn.IDENTIFY_TERMINATOR, errMsg: r.message }; + } + return !1; + } else { + if (di(t.PATTERN)) return !1; + if (Tie(t)) return { issue: Gn.CUSTOM_LINE_BREAK }; + throw Error('non exhaustive match'); + } + } + function gIe(t, e) { + if (e.issue === Gn.IDENTIFY_TERMINATOR) + return `Warning: unable to identify line terminator usage in pattern. + The problem is in the <${t.name}> Token Type + Root cause: ${e.errMsg}. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`; + if (e.issue === Gn.CUSTOM_LINE_BREAK) + return `Warning: A Custom Token Pattern should specify the option. + The problem is in the <${t.name}> Token Type + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`; + throw Error('non exhaustive match'); + } + function Cie(t) { + return qe(t, (r) => (di(r) ? r.charCodeAt(0) : r)); + } + function hN(t, e, r) { + t[e] === void 0 ? (t[e] = [r]) : t[e].push(r); + } + function Lc(t) { + return t < Km ? t : $T[t]; + } + function yIe() { + if (Qt($T)) { + $T = new Array(65536); + for (let t = 0; t < 65536; t++) $T[t] = t > 255 ? 255 + ~~(t / 255) : t; + } + } + var a0, + Qm, + GT, + fN, + nIe, + sIe, + kie, + Km, + $T, + uN = R(() => { + 'use strict'; + Kv(); + i2(); + Pt(); + qm(); + pie(); + BT(); + (a0 = 'PATTERN'), + (Qm = 'defaultMode'), + (GT = 'modes'), + (fN = typeof new RegExp('(?:)').sticky == 'boolean'); + o(yie, 'analyzeTokenTypes'); + o(vie, 'validatePatterns'); + o(eIe, 'validateRegExpPattern'); + o(tIe, 'findMissingPatterns'); + o(rIe, 'findInvalidPatterns'); + nIe = /[^\\][$]/; + o(iIe, 'findEndOfInputAnchor'); + o(aIe, 'findEmptyMatchRegExps'); + sIe = /[^\\[][\^]|^\^/; + o(oIe, 'findStartOfInputAnchor'); + o(lIe, 'findUnsupportedFlags'); + o(cIe, 'findDuplicatePatterns'); + o(uIe, 'findInvalidGroupType'); + o(hIe, 'findModesThatDoNotExist'); + o(fIe, 'findUnreachablePatterns'); + o(dIe, 'testTokenType'); + o(pIe, 'noMetaChar'); + o(mie, 'addStartOfInput'); + o(gie, 'addStickyFlag'); + o(xie, 'performRuntimeChecks'); + o(bie, 'performWarningRuntimeChecks'); + o(wie, 'cloneEmptyGroups'); + o(Tie, 'isCustomPattern'); + o(mIe, 'isShortPattern'); + kie = { + test: o(function (t) { + let e = t.length; + for (let r = this.lastIndex; r < e; r++) { + let n = t.charCodeAt(r); + if (n === 10) return (this.lastIndex = r + 1), !0; + if (n === 13) + return t.charCodeAt(r + 1) === 10 ? (this.lastIndex = r + 2) : (this.lastIndex = r + 1), !0; + } + return !1; + }, 'test'), + lastIndex: 0 + }; + o(Eie, 'checkLineBreaksIssues'); + o(gIe, 'buildLineBreakIssueMessage'); + o(Cie, 'getCharCodes'); + o(hN, 'addToMapOfArrays'); + (Km = 256), ($T = []); + o(Lc, 'charCodeToOptimizedIndex'); + o(yIe, 'initCharCodeToOptimizedIndexMap'); + }); + function Bu(t, e) { + let r = t.tokenTypeIdx; + return r === e.tokenTypeIdx ? !0 : e.isParent === !0 && e.categoryMatchesMap[r] === !0; + } + function Zm(t, e) { + return t.tokenTypeIdx === e.tokenTypeIdx; + } + function Fu(t) { + let e = vIe(t); + xIe(e), + wIe(e), + bIe(e), + Ee(e, (r) => { + r.isParent = r.categoryMatches.length > 0; + }); + } + function vIe(t) { + let e = Qr(t), + r = t, + n = !0; + for (; n; ) { + r = wc(Gr(qe(r, (a) => a.CATEGORIES))); + let i = jh(r, e); + (e = e.concat(i)), Qt(i) ? (n = !1) : (r = i); + } + return e; + } + function xIe(t) { + Ee(t, (e) => { + dN(e) || ((_ie[Sie] = e), (e.tokenTypeIdx = Sie++)), + Aie(e) && !wt(e.CATEGORIES) && (e.CATEGORIES = [e.CATEGORIES]), + Aie(e) || (e.CATEGORIES = []), + TIe(e) || (e.categoryMatches = []), + kIe(e) || (e.categoryMatchesMap = {}); + }); + } + function bIe(t) { + Ee(t, (e) => { + (e.categoryMatches = []), + Ee(e.categoryMatchesMap, (r, n) => { + e.categoryMatches.push(_ie[n].tokenTypeIdx); + }); + }); + } + function wIe(t) { + Ee(t, (e) => { + Lie([], e); + }); + } + function Lie(t, e) { + Ee(t, (r) => { + e.categoryMatchesMap[r.tokenTypeIdx] = !0; + }), + Ee(e.CATEGORIES, (r) => { + let n = t.concat(e); + Fn(n, r) || Lie(n, r); + }); + } + function dN(t) { + return Xe(t, 'tokenTypeIdx'); + } + function Aie(t) { + return Xe(t, 'CATEGORIES'); + } + function TIe(t) { + return Xe(t, 'categoryMatches'); + } + function kIe(t) { + return Xe(t, 'categoryMatchesMap'); + } + function Die(t) { + return Xe(t, 'tokenTypeIdx'); + } + var Sie, + _ie, + s0 = R(() => { + 'use strict'; + Pt(); + o(Bu, 'tokenStructuredMatcher'); + o(Zm, 'tokenStructuredMatcherNoCategories'); + (Sie = 1), (_ie = {}); + o(Fu, 'augmentTokenTypes'); + o(vIe, 'expandCategories'); + o(xIe, 'assignTokenDefaultProps'); + o(bIe, 'assignCategoriesTokensProp'); + o(wIe, 'assignCategoriesMapProp'); + o(Lie, 'singleAssignCategoriesToksMap'); + o(dN, 'hasShortKeyProperty'); + o(Aie, 'hasCategoriesProperty'); + o(TIe, 'hasExtendingTokensTypesProperty'); + o(kIe, 'hasExtendingTokensTypesMapProperty'); + o(Die, 'isTokenType'); + }); + var pN, + mN = R(() => { + 'use strict'; + pN = { + buildUnableToPopLexerModeMessage(t) { + return `Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`; + }, + buildUnexpectedCharactersMessage(t, e, r, n, i) { + return `unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`; + } + }; + }); + var Gn, + a2, + ni, + i2 = R(() => { + 'use strict'; + uN(); + Pt(); + qm(); + s0(); + mN(); + BT(); + (function (t) { + (t[(t.MISSING_PATTERN = 0)] = 'MISSING_PATTERN'), + (t[(t.INVALID_PATTERN = 1)] = 'INVALID_PATTERN'), + (t[(t.EOI_ANCHOR_FOUND = 2)] = 'EOI_ANCHOR_FOUND'), + (t[(t.UNSUPPORTED_FLAGS_FOUND = 3)] = 'UNSUPPORTED_FLAGS_FOUND'), + (t[(t.DUPLICATE_PATTERNS_FOUND = 4)] = 'DUPLICATE_PATTERNS_FOUND'), + (t[(t.INVALID_GROUP_TYPE_FOUND = 5)] = 'INVALID_GROUP_TYPE_FOUND'), + (t[(t.PUSH_MODE_DOES_NOT_EXIST = 6)] = 'PUSH_MODE_DOES_NOT_EXIST'), + (t[(t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE = 7)] = 'MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE'), + (t[(t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY = 8)] = 'MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY'), + (t[(t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST = 9)] = + 'MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST'), + (t[(t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED = 10)] = + 'LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED'), + (t[(t.SOI_ANCHOR_FOUND = 11)] = 'SOI_ANCHOR_FOUND'), + (t[(t.EMPTY_MATCH_PATTERN = 12)] = 'EMPTY_MATCH_PATTERN'), + (t[(t.NO_LINE_BREAKS_FLAGS = 13)] = 'NO_LINE_BREAKS_FLAGS'), + (t[(t.UNREACHABLE_PATTERN = 14)] = 'UNREACHABLE_PATTERN'), + (t[(t.IDENTIFY_TERMINATOR = 15)] = 'IDENTIFY_TERMINATOR'), + (t[(t.CUSTOM_LINE_BREAK = 16)] = 'CUSTOM_LINE_BREAK'), + (t[(t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE = 17)] = + 'MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE'); + })(Gn || (Gn = {})); + a2 = { + deferDefinitionErrorsHandling: !1, + positionTracking: 'full', + lineTerminatorsPattern: /\n|\r\n?/g, + lineTerminatorCharacters: [ + ` +`, + '\r' + ], + ensureOptimizations: !1, + safeMode: !1, + errorMessageProvider: pN, + traceInitPerf: !1, + skipValidations: !1, + recoveryEnabled: !0 + }; + Object.freeze(a2); + ni = class { + static { + o(this, 'Lexer'); + } + constructor(e, r = a2) { + if ( + ((this.lexerDefinition = e), + (this.lexerDefinitionErrors = []), + (this.lexerDefinitionWarning = []), + (this.patternIdxToConfig = {}), + (this.charCodeToPatternIdxToConfig = {}), + (this.modes = []), + (this.emptyGroups = {}), + (this.trackStartLines = !0), + (this.trackEndLines = !0), + (this.hasCustom = !1), + (this.canModeBeOptimized = {}), + (this.TRACE_INIT = (i, a) => { + if (this.traceInitPerf === !0) { + this.traceInitIndent++; + let s = new Array(this.traceInitIndent + 1).join(' '); + this.traceInitIndent < this.traceInitMaxIdent && console.log(`${s}--> <${i}>`); + let { time: l, value: u } = t2(a), + h = l > 10 ? console.warn : console.log; + return ( + this.traceInitIndent < this.traceInitMaxIdent && h(`${s}<-- <${i}> time: ${l}ms`), + this.traceInitIndent--, + u + ); + } else return a(); + }), + typeof r == 'boolean') + ) + throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. +a boolean 2nd argument is no longer supported`); + this.config = pa({}, a2, r); + let n = this.config.traceInitPerf; + n === !0 + ? ((this.traceInitMaxIdent = 1 / 0), (this.traceInitPerf = !0)) + : typeof n == 'number' && ((this.traceInitMaxIdent = n), (this.traceInitPerf = !0)), + (this.traceInitIndent = -1), + this.TRACE_INIT('Lexer Constructor', () => { + let i, + a = !0; + this.TRACE_INIT('Lexer Config handling', () => { + if (this.config.lineTerminatorsPattern === a2.lineTerminatorsPattern) + this.config.lineTerminatorsPattern = kie; + else if (this.config.lineTerminatorCharacters === a2.lineTerminatorCharacters) + throw Error(`Error: Missing property on the Lexer config. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`); + if (r.safeMode && r.ensureOptimizations) + throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.'); + (this.trackStartLines = /full|onlyStart/i.test(this.config.positionTracking)), + (this.trackEndLines = /full/i.test(this.config.positionTracking)), + wt(e) + ? (i = { modes: { defaultMode: Qr(e) }, defaultMode: Qm }) + : ((a = !1), (i = Qr(e))); + }), + this.config.skipValidations === !1 && + (this.TRACE_INIT('performRuntimeChecks', () => { + this.lexerDefinitionErrors = this.lexerDefinitionErrors.concat( + xie(i, this.trackStartLines, this.config.lineTerminatorCharacters) + ); + }), + this.TRACE_INIT('performWarningRuntimeChecks', () => { + this.lexerDefinitionWarning = this.lexerDefinitionWarning.concat( + bie(i, this.trackStartLines, this.config.lineTerminatorCharacters) + ); + })), + (i.modes = i.modes ? i.modes : {}), + Ee(i.modes, (l, u) => { + i.modes[u] = Kh(l, (h) => er(h)); + }); + let s = Dr(i.modes); + if ( + (Ee(i.modes, (l, u) => { + this.TRACE_INIT(`Mode: <${u}> processing`, () => { + if ( + (this.modes.push(u), + this.config.skipValidations === !1 && + this.TRACE_INIT('validatePatterns', () => { + this.lexerDefinitionErrors = this.lexerDefinitionErrors.concat( + vie(l, s) + ); + }), + Qt(this.lexerDefinitionErrors)) + ) { + Fu(l); + let h; + this.TRACE_INIT('analyzeTokenTypes', () => { + h = yie(l, { + lineTerminatorCharacters: this.config.lineTerminatorCharacters, + positionTracking: r.positionTracking, + ensureOptimizations: r.ensureOptimizations, + safeMode: r.safeMode, + tracer: this.TRACE_INIT + }); + }), + (this.patternIdxToConfig[u] = h.patternIdxToConfig), + (this.charCodeToPatternIdxToConfig[u] = h.charCodeToPatternIdxToConfig), + (this.emptyGroups = pa({}, this.emptyGroups, h.emptyGroups)), + (this.hasCustom = h.hasCustom || this.hasCustom), + (this.canModeBeOptimized[u] = h.canBeOptimized); + } + }); + }), + (this.defaultMode = i.defaultMode), + !Qt(this.lexerDefinitionErrors) && !this.config.deferDefinitionErrorsHandling) + ) { + let u = qe(this.lexerDefinitionErrors, (h) => h.message).join(`----------------------- +`); + throw new Error( + `Errors detected in definition of Lexer: +` + u + ); + } + Ee(this.lexerDefinitionWarning, (l) => { + e2(l.message); + }), + this.TRACE_INIT('Choosing sub-methods implementations', () => { + if ( + (fN + ? ((this.chopInput = ea), (this.match = this.matchWithTest)) + : ((this.updateLastIndex = qn), (this.match = this.matchWithExec)), + a && (this.handleModes = qn), + this.trackStartLines === !1 && (this.computeNewColumn = ea), + this.trackEndLines === !1 && (this.updateTokenEndLineColumnLocation = qn), + /full/i.test(this.config.positionTracking)) + ) + this.createTokenInstance = this.createFullToken; + else if (/onlyStart/i.test(this.config.positionTracking)) + this.createTokenInstance = this.createStartOnlyToken; + else if (/onlyOffset/i.test(this.config.positionTracking)) + this.createTokenInstance = this.createOffsetOnlyToken; + else + throw Error( + `Invalid config option: "${this.config.positionTracking}"` + ); + this.hasCustom + ? ((this.addToken = this.addTokenUsingPush), + (this.handlePayload = this.handlePayloadWithCustom)) + : ((this.addToken = this.addTokenUsingMemberAccess), + (this.handlePayload = this.handlePayloadNoCustom)); + }), + this.TRACE_INIT('Failed Optimization Warnings', () => { + let l = Vr(this.canModeBeOptimized, (u, h, f) => (h === !1 && u.push(f), u), []); + if (r.ensureOptimizations && !Qt(l)) + throw Error(`Lexer Modes: < ${l.join(', ')} > cannot be optimized. + Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. + Or inspect the console log for details on how to resolve these issues.`); + }), + this.TRACE_INIT('clearRegExpParserCache', () => { + uie(); + }), + this.TRACE_INIT('toFastProperties', () => { + r2(this); + }); + }); + } + tokenize(e, r = this.defaultMode) { + if (!Qt(this.lexerDefinitionErrors)) { + let i = qe(this.lexerDefinitionErrors, (a) => a.message).join(`----------------------- +`); + throw new Error( + `Unable to Tokenize because Errors detected in definition of Lexer: +` + i + ); + } + return this.tokenizeInternal(e, r); + } + tokenizeInternal(e, r) { + let n, + i, + a, + s, + l, + u, + h, + f, + d, + p, + m, + g, + y, + v, + x, + b, + w = e, + S = w.length, + T = 0, + E = 0, + _ = this.hasCustom ? 0 : Math.floor(e.length / 10), + A = new Array(_), + L = [], + M = this.trackStartLines ? 1 : void 0, + N = this.trackStartLines ? 1 : void 0, + k = wie(this.emptyGroups), + I = this.trackStartLines, + C = this.config.lineTerminatorsPattern, + O = 0, + D = [], + P = [], + F = [], + B = []; + Object.freeze(B); + let $; + function z() { + return D; + } + o(z, 'getPossiblePatternsSlow'); + function Y(J) { + let Z = Lc(J), + H = P[Z]; + return H === void 0 ? B : H; + } + o(Y, 'getPossiblePatternsOptimized'); + let Q = o((J) => { + if (F.length === 1 && J.tokenType.PUSH_MODE === void 0) { + let Z = this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(J); + L.push({ + offset: J.startOffset, + line: J.startLine, + column: J.startColumn, + length: J.image.length, + message: Z + }); + } else { + F.pop(); + let Z = ma(F); + (D = this.patternIdxToConfig[Z]), + (P = this.charCodeToPatternIdxToConfig[Z]), + (O = D.length); + let H = this.canModeBeOptimized[Z] && this.config.safeMode === !1; + P && H ? ($ = Y) : ($ = z); + } + }, 'pop_mode'); + function X(J) { + F.push(J), + (P = this.charCodeToPatternIdxToConfig[J]), + (D = this.patternIdxToConfig[J]), + (O = D.length), + (O = D.length); + let Z = this.canModeBeOptimized[J] && this.config.safeMode === !1; + P && Z ? ($ = Y) : ($ = z); + } + o(X, 'push_mode'), X.call(this, r); + let ie, + j = this.config.recoveryEnabled; + for (; T < S; ) { + u = null; + let J = w.charCodeAt(T), + Z = $(J), + H = Z.length; + for (n = 0; n < H; n++) { + ie = Z[n]; + let q = ie.pattern; + h = null; + let K = ie.short; + if ( + (K !== !1 + ? J === K && (u = q) + : ie.isCustom === !0 + ? ((b = q.exec(w, T, A, k)), + b !== null ? ((u = b[0]), b.payload !== void 0 && (h = b.payload)) : (u = null)) + : (this.updateLastIndex(q, T), (u = this.match(q, e, T))), + u !== null) + ) { + if (((l = ie.longerAlt), l !== void 0)) { + let se = l.length; + for (a = 0; a < se; a++) { + let ce = D[l[a]], + ue = ce.pattern; + if ( + ((f = null), + ce.isCustom === !0 + ? ((b = ue.exec(w, T, A, k)), + b !== null + ? ((s = b[0]), b.payload !== void 0 && (f = b.payload)) + : (s = null)) + : (this.updateLastIndex(ue, T), (s = this.match(ue, e, T))), + s && s.length > u.length) + ) { + (u = s), (h = f), (ie = ce); + break; + } + } + } + break; + } + } + if (u !== null) { + if ( + ((d = u.length), + (p = ie.group), + p !== void 0 && + ((m = ie.tokenTypeIdx), + (g = this.createTokenInstance(u, T, m, ie.tokenType, M, N, d)), + this.handlePayload(g, h), + p === !1 ? (E = this.addToken(A, E, g)) : k[p].push(g)), + (e = this.chopInput(e, d)), + (T = T + d), + (N = this.computeNewColumn(N, d)), + I === !0 && ie.canLineTerminator === !0) + ) { + let q = 0, + K, + se; + C.lastIndex = 0; + do (K = C.test(u)), K === !0 && ((se = C.lastIndex - 1), q++); + while (K === !0); + q !== 0 && + ((M = M + q), + (N = d - se), + this.updateTokenEndLineColumnLocation(g, p, se, q, M, N, d)); + } + this.handleModes(ie, Q, X, g); + } else { + let q = T, + K = M, + se = N, + ce = j === !1; + for (; ce === !1 && T < S; ) + for (e = this.chopInput(e, 1), T++, i = 0; i < O; i++) { + let ue = D[i], + te = ue.pattern, + De = ue.short; + if ( + (De !== !1 + ? w.charCodeAt(T) === De && (ce = !0) + : ue.isCustom === !0 + ? (ce = te.exec(w, T, A, k) !== null) + : (this.updateLastIndex(te, T), (ce = te.exec(e) !== null)), + ce === !0) + ) + break; + } + if ( + ((y = T - q), + (N = this.computeNewColumn(N, y)), + (x = this.config.errorMessageProvider.buildUnexpectedCharactersMessage(w, q, y, K, se)), + L.push({ + offset: q, + line: K, + column: se, + length: y, + message: x + }), + j === !1) + ) + break; + } + } + return this.hasCustom || (A.length = E), { tokens: A, groups: k, errors: L }; + } + handleModes(e, r, n, i) { + if (e.pop === !0) { + let a = e.push; + r(i), a !== void 0 && n.call(this, a); + } else e.push !== void 0 && n.call(this, e.push); + } + chopInput(e, r) { + return e.substring(r); + } + updateLastIndex(e, r) { + e.lastIndex = r; + } + updateTokenEndLineColumnLocation(e, r, n, i, a, s, l) { + let u, h; + r !== void 0 && + ((u = n === l - 1), + (h = u ? -1 : 0), + (i === 1 && u === !0) || ((e.endLine = a + h), (e.endColumn = s - 1 + -h))); + } + computeNewColumn(e, r) { + return e + r; + } + createOffsetOnlyToken(e, r, n, i) { + return { image: e, startOffset: r, tokenTypeIdx: n, tokenType: i }; + } + createStartOnlyToken(e, r, n, i, a, s) { + return { + image: e, + startOffset: r, + startLine: a, + startColumn: s, + tokenTypeIdx: n, + tokenType: i + }; + } + createFullToken(e, r, n, i, a, s, l) { + return { + image: e, + startOffset: r, + endOffset: r + l - 1, + startLine: a, + endLine: a, + startColumn: s, + endColumn: s + l - 1, + tokenTypeIdx: n, + tokenType: i + }; + } + addTokenUsingPush(e, r, n) { + return e.push(n), r; + } + addTokenUsingMemberAccess(e, r, n) { + return (e[r] = n), r++, r; + } + handlePayloadNoCustom(e, r) {} + handlePayloadWithCustom(e, r) { + r !== null && (e.payload = r); + } + matchWithTest(e, r, n) { + return e.test(r) === !0 ? r.substring(n, e.lastIndex) : null; + } + matchWithExec(e, r) { + let n = e.exec(r); + return n !== null ? n[0] : null; + } + }; + ni.SKIPPED = + 'This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.'; + ni.NA = /NOT_APPLICABLE/; + }); + function zu(t) { + return gN(t) ? t.LABEL : t.name; + } + function gN(t) { + return di(t.LABEL) && t.LABEL !== ''; + } + function VT(t) { + return CIe(t); + } + function CIe(t) { + let e = t.pattern, + r = {}; + if (((r.name = t.name), er(e) || (r.PATTERN = e), Xe(t, EIe))) + throw `The parent property is no longer supported. +See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`; + return ( + Xe(t, Rie) && (r.CATEGORIES = t[Rie]), + Fu([r]), + Xe(t, Nie) && (r.LABEL = t[Nie]), + Xe(t, Mie) && (r.GROUP = t[Mie]), + Xe(t, Oie) && (r.POP_MODE = t[Oie]), + Xe(t, Iie) && (r.PUSH_MODE = t[Iie]), + Xe(t, Pie) && (r.LONGER_ALT = t[Pie]), + Xe(t, Bie) && (r.LINE_BREAKS = t[Bie]), + Xe(t, Fie) && (r.START_CHARS_HINT = t[Fie]), + r + ); + } + function o0(t, e, r, n, i, a, s, l) { + return { + image: e, + startOffset: r, + endOffset: n, + startLine: i, + endLine: a, + startColumn: s, + endColumn: l, + tokenTypeIdx: t.tokenTypeIdx, + tokenType: t + }; + } + function s2(t, e) { + return Bu(t, e); + } + var EIe, + Rie, + Nie, + Mie, + Iie, + Oie, + Pie, + Bie, + Fie, + fo, + l0 = R(() => { + 'use strict'; + Pt(); + i2(); + s0(); + o(zu, 'tokenLabel'); + o(gN, 'hasTokenLabel'); + (EIe = 'parent'), + (Rie = 'categories'), + (Nie = 'label'), + (Mie = 'group'), + (Iie = 'push_mode'), + (Oie = 'pop_mode'), + (Pie = 'longer_alt'), + (Bie = 'line_breaks'), + (Fie = 'start_chars_hint'); + o(VT, 'createToken'); + o(CIe, 'createTokenInternal'); + fo = VT({ name: 'EOF', pattern: ni.NA }); + Fu([fo]); + o(o0, 'createTokenInstance'); + o(s2, 'tokenMatcher'); + }); + var Gu, + zie, + Ol, + Jm = R(() => { + 'use strict'; + l0(); + Pt(); + ns(); + Gu = { + buildMismatchTokenMessage({ expected: t, actual: e, previous: r, ruleName: n }) { + return `Expecting ${ + gN(t) ? `--> ${zu(t)} <--` : `token of type --> ${t.name} <--` + } but found --> '${e.image}' <--`; + }, + buildNotAllInputParsedMessage({ firstRedundant: t, ruleName: e }) { + return 'Redundant input, expecting EOF but found: ' + t.image; + }, + buildNoViableAltMessage({ + expectedPathsPerAlt: t, + actual: e, + previous: r, + customUserDescription: n, + ruleName: i + }) { + let a = 'Expecting: ', + l = + ` +but found: '` + + na(e).image + + "'"; + if (n) return a + n + l; + { + let u = Vr(t, (p, m) => p.concat(m), []), + h = qe(u, (p) => `[${qe(p, (m) => zu(m)).join(', ')}]`), + d = `one of these possible Token sequences: +${qe(h, (p, m) => ` ${m + 1}. ${p}`).join(` +`)}`; + return a + d + l; + } + }, + buildEarlyExitMessage({ expectedIterationPaths: t, actual: e, customUserDescription: r, ruleName: n }) { + let i = 'Expecting: ', + s = + ` +but found: '` + + na(e).image + + "'"; + if (r) return i + r + s; + { + let u = `expecting at least one iteration which starts with one of these possible Token sequences:: + <${qe(t, (h) => `[${qe(h, (f) => zu(f)).join(',')}]`).join(' ,')}>`; + return i + u + s; + } + } + }; + Object.freeze(Gu); + (zie = { + buildRuleNotFoundError(t, e) { + return ( + 'Invalid grammar, reference to a rule which is not defined: ->' + + e.nonTerminalName + + `<- +inside top level rule: ->` + + t.name + + '<-' + ); + } + }), + (Ol = { + buildDuplicateFoundError(t, e) { + function r(f) { + return f instanceof fr ? f.terminalType.name : f instanceof Zr ? f.nonTerminalName : ''; + } + o(r, 'getExtraProductionArgument'); + let n = t.name, + i = na(e), + a = i.idx, + s = Rs(i), + l = r(i), + u = a > 0, + h = `->${s}${u ? a : ''}<- ${l ? `with argument: ->${l}<-` : ''} + appears more than once (${e.length} times) in the top level rule: ->${n}<-. + For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES + `; + return ( + (h = h.replace(/[ \t]+/g, ' ')), + (h = h.replace( + /\s\s+/g, + ` +` + )), + h + ); + }, + buildNamespaceConflictError(t) { + return `Namespace conflict found in grammar. +The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>. +To resolve this make sure each Terminal and Non-Terminal names are unique +This is easy to accomplish by using the convention that Terminal names start with an uppercase letter +and Non-Terminal names start with a lower case letter.`; + }, + buildAlternationPrefixAmbiguityError(t) { + let e = qe(t.prefixPath, (i) => zu(i)).join(', '), + r = t.alternation.idx === 0 ? '' : t.alternation.idx; + return `Ambiguous alternatives: <${t.ambiguityIndices.join( + ' ,' + )}> due to common lookahead prefix +in inside <${t.topLevelRule.name}> Rule, +<${e}> may appears as a prefix path in all these alternatives. +See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX +For Further details.`; + }, + buildAlternationAmbiguityError(t) { + let e = qe(t.prefixPath, (i) => zu(i)).join(', '), + r = t.alternation.idx === 0 ? '' : t.alternation.idx, + n = `Ambiguous Alternatives Detected: <${t.ambiguityIndices.join( + ' ,' + )}> in inside <${t.topLevelRule.name}> Rule, +<${e}> may appears as a prefix path in all these alternatives. +`; + return ( + (n = + n + + `See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES +For Further details.`), + n + ); + }, + buildEmptyRepetitionError(t) { + let e = Rs(t.repetition); + return ( + t.repetition.idx !== 0 && (e += t.repetition.idx), + `The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens. +This could lead to an infinite loop.` + ); + }, + buildTokenNameError(t) { + return 'deprecated'; + }, + buildEmptyAlternationError(t) { + return `Ambiguous empty alternative: <${t.emptyChoiceIdx + 1}> in inside <${t.topLevelRule.name}> Rule. +Only the last alternative may be an empty alternative.`; + }, + buildTooManyAlternativesError(t) { + return `An Alternation cannot have more than 256 alternatives: + inside <${t.topLevelRule.name}> Rule. + has ${t.alternation.definition.length + 1} alternatives.`; + }, + buildLeftRecursionError(t) { + let e = t.topLevelRule.name, + r = qe(t.leftRecursionPath, (a) => a.name), + n = `${e} --> ${r.concat([e]).join(' --> ')}`; + return `Left Recursion found in grammar. +rule: <${e}> can be invoked from itself (directly or indirectly) +without consuming any Tokens. The grammar path that causes this is: + ${n} + To fix this refactor your grammar to remove the left recursion. +see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`; + }, + buildInvalidRuleNameError(t) { + return 'deprecated'; + }, + buildDuplicateRuleNameError(t) { + let e; + return ( + t.topLevelRule instanceof ts ? (e = t.topLevelRule.name) : (e = t.topLevelRule), + `Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-` + ); + } + }); + }); + function Gie(t, e) { + let r = new yN(t, e); + return r.resolveRefs(), r.errors; + } + var yN, + $ie = R(() => { + 'use strict'; + Ns(); + Pt(); + ns(); + o(Gie, 'resolveGrammar'); + yN = class extends rs { + static { + o(this, 'GastRefResolverVisitor'); + } + constructor(e, r) { + super(), (this.nameToTopRule = e), (this.errMsgProvider = r), (this.errors = []); + } + resolveRefs() { + Ee(or(this.nameToTopRule), (e) => { + (this.currTopLevel = e), e.accept(this); + }); + } + visitNonTerminal(e) { + let r = this.nameToTopRule[e.nonTerminalName]; + if (r) e.referencedRule = r; + else { + let n = this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel, e); + this.errors.push({ + message: n, + type: Pi.UNRESOLVED_SUBRULE_REF, + ruleName: this.currTopLevel.name, + unresolvedRefName: e.nonTerminalName + }); + } + } + }; + }); + function WT(t, e, r = []) { + r = Qr(r); + let n = [], + i = 0; + function a(l) { + return l.concat(fi(t, i + 1)); + } + o(a, 'remainingPathWith'); + function s(l) { + let u = WT(a(l), e, r); + return n.concat(u); + } + for (o(s, 'getAlternativesForProd'); r.length < e && i < t.length; ) { + let l = t[i]; + if (l instanceof Sn) return s(l.definition); + if (l instanceof Zr) return s(l.definition); + if (l instanceof Jr) n = s(l.definition); + else if (l instanceof An) { + let u = l.definition.concat([new br({ definition: l.definition })]); + return s(u); + } else if (l instanceof _n) { + let u = [ + new Sn({ definition: l.definition }), + new br({ + definition: [new fr({ terminalType: l.separator })].concat(l.definition) + }) + ]; + return s(u); + } else if (l instanceof mn) { + let u = l.definition.concat([ + new br({ + definition: [new fr({ terminalType: l.separator })].concat(l.definition) + }) + ]); + n = s(u); + } else if (l instanceof br) { + let u = l.definition.concat([new br({ definition: l.definition })]); + n = s(u); + } else { + if (l instanceof gn) + return ( + Ee(l.definition, (u) => { + Qt(u.definition) === !1 && (n = s(u.definition)); + }), + n + ); + if (l instanceof fr) r.push(l.terminalType); + else throw Error('non exhaustive match'); + } + i++; + } + return n.push({ partialPath: r, suffixDef: fi(t, i) }), n; + } + function qT(t, e, r, n) { + let i = 'EXIT_NONE_TERMINAL', + a = [i], + s = 'EXIT_ALTERNATIVE', + l = !1, + u = e.length, + h = u - n - 1, + f = [], + d = []; + for (d.push({ idx: -1, def: t, ruleStack: [], occurrenceStack: [] }); !Qt(d); ) { + let p = d.pop(); + if (p === s) { + l && ma(d).idx <= h && d.pop(); + continue; + } + let m = p.def, + g = p.idx, + y = p.ruleStack, + v = p.occurrenceStack; + if (Qt(m)) continue; + let x = m[0]; + if (x === i) { + let b = { + idx: g, + def: fi(m), + ruleStack: Ru(y), + occurrenceStack: Ru(v) + }; + d.push(b); + } else if (x instanceof fr) + if (g < u - 1) { + let b = g + 1, + w = e[b]; + if (r(w, x.terminalType)) { + let S = { idx: b, def: fi(m), ruleStack: y, occurrenceStack: v }; + d.push(S); + } + } else if (g === u - 1) + f.push({ + nextTokenType: x.terminalType, + nextTokenOccurrence: x.idx, + ruleStack: y, + occurrenceStack: v + }), + (l = !0); + else throw Error('non exhaustive match'); + else if (x instanceof Zr) { + let b = Qr(y); + b.push(x.nonTerminalName); + let w = Qr(v); + w.push(x.idx); + let S = { + idx: g, + def: x.definition.concat(a, fi(m)), + ruleStack: b, + occurrenceStack: w + }; + d.push(S); + } else if (x instanceof Jr) { + let b = { idx: g, def: fi(m), ruleStack: y, occurrenceStack: v }; + d.push(b), d.push(s); + let w = { + idx: g, + def: x.definition.concat(fi(m)), + ruleStack: y, + occurrenceStack: v + }; + d.push(w); + } else if (x instanceof An) { + let b = new br({ definition: x.definition, idx: x.idx }), + w = x.definition.concat([b], fi(m)), + S = { idx: g, def: w, ruleStack: y, occurrenceStack: v }; + d.push(S); + } else if (x instanceof _n) { + let b = new fr({ terminalType: x.separator }), + w = new br({ definition: [b].concat(x.definition), idx: x.idx }), + S = x.definition.concat([w], fi(m)), + T = { idx: g, def: S, ruleStack: y, occurrenceStack: v }; + d.push(T); + } else if (x instanceof mn) { + let b = { idx: g, def: fi(m), ruleStack: y, occurrenceStack: v }; + d.push(b), d.push(s); + let w = new fr({ terminalType: x.separator }), + S = new br({ definition: [w].concat(x.definition), idx: x.idx }), + T = x.definition.concat([S], fi(m)), + E = { idx: g, def: T, ruleStack: y, occurrenceStack: v }; + d.push(E); + } else if (x instanceof br) { + let b = { idx: g, def: fi(m), ruleStack: y, occurrenceStack: v }; + d.push(b), d.push(s); + let w = new br({ definition: x.definition, idx: x.idx }), + S = x.definition.concat([w], fi(m)), + T = { idx: g, def: S, ruleStack: y, occurrenceStack: v }; + d.push(T); + } else if (x instanceof gn) + for (let b = x.definition.length - 1; b >= 0; b--) { + let w = x.definition[b], + S = { + idx: g, + def: w.definition.concat(fi(m)), + ruleStack: y, + occurrenceStack: v + }; + d.push(S), d.push(s); + } + else if (x instanceof Sn) + d.push({ + idx: g, + def: x.definition.concat(fi(m)), + ruleStack: y, + occurrenceStack: v + }); + else if (x instanceof ts) d.push(SIe(x, g, y, v)); + else throw Error('non exhaustive match'); + } + return f; + } + function SIe(t, e, r, n) { + let i = Qr(r); + i.push(t.name); + let a = Qr(n); + return a.push(1), { idx: e, def: t.definition, ruleStack: i, occurrenceStack: a }; + } + var vN, + UT, + eg, + HT, + o2, + YT, + l2, + c2 = R(() => { + 'use strict'; + Pt(); + iN(); + IT(); + ns(); + (vN = class extends Pu { + static { + o(this, 'AbstractNextPossibleTokensWalker'); + } + constructor(e, r) { + super(), + (this.topProd = e), + (this.path = r), + (this.possibleTokTypes = []), + (this.nextProductionName = ''), + (this.nextProductionOccurrence = 0), + (this.found = !1), + (this.isAtEndOfPath = !1); + } + startWalking() { + if (((this.found = !1), this.path.ruleStack[0] !== this.topProd.name)) + throw Error("The path does not start with the walker's top Rule!"); + return ( + (this.ruleStack = Qr(this.path.ruleStack).reverse()), + (this.occurrenceStack = Qr(this.path.occurrenceStack).reverse()), + this.ruleStack.pop(), + this.occurrenceStack.pop(), + this.updateExpectedNext(), + this.walk(this.topProd), + this.possibleTokTypes + ); + } + walk(e, r = []) { + this.found || super.walk(e, r); + } + walkProdRef(e, r, n) { + if (e.referencedRule.name === this.nextProductionName && e.idx === this.nextProductionOccurrence) { + let i = r.concat(n); + this.updateExpectedNext(), this.walk(e.referencedRule, i); + } + } + updateExpectedNext() { + Qt(this.ruleStack) + ? ((this.nextProductionName = ''), + (this.nextProductionOccurrence = 0), + (this.isAtEndOfPath = !0)) + : ((this.nextProductionName = this.ruleStack.pop()), + (this.nextProductionOccurrence = this.occurrenceStack.pop())); + } + }), + (UT = class extends vN { + static { + o(this, 'NextAfterTokenWalker'); + } + constructor(e, r) { + super(e, r), + (this.path = r), + (this.nextTerminalName = ''), + (this.nextTerminalOccurrence = 0), + (this.nextTerminalName = this.path.lastTok.name), + (this.nextTerminalOccurrence = this.path.lastTokOccurrence); + } + walkTerminal(e, r, n) { + if ( + this.isAtEndOfPath && + e.terminalType.name === this.nextTerminalName && + e.idx === this.nextTerminalOccurrence && + !this.found + ) { + let i = r.concat(n), + a = new Sn({ definition: i }); + (this.possibleTokTypes = i0(a)), (this.found = !0); + } + } + }), + (eg = class extends Pu { + static { + o(this, 'AbstractNextTerminalAfterProductionWalker'); + } + constructor(e, r) { + super(), + (this.topRule = e), + (this.occurrence = r), + (this.result = { + token: void 0, + occurrence: void 0, + isEndOfRule: void 0 + }); + } + startWalking() { + return this.walk(this.topRule), this.result; + } + }), + (HT = class extends eg { + static { + o(this, 'NextTerminalAfterManyWalker'); + } + walkMany(e, r, n) { + if (e.idx === this.occurrence) { + let i = na(r.concat(n)); + (this.result.isEndOfRule = i === void 0), + i instanceof fr && + ((this.result.token = i.terminalType), (this.result.occurrence = i.idx)); + } else super.walkMany(e, r, n); + } + }), + (o2 = class extends eg { + static { + o(this, 'NextTerminalAfterManySepWalker'); + } + walkManySep(e, r, n) { + if (e.idx === this.occurrence) { + let i = na(r.concat(n)); + (this.result.isEndOfRule = i === void 0), + i instanceof fr && + ((this.result.token = i.terminalType), (this.result.occurrence = i.idx)); + } else super.walkManySep(e, r, n); + } + }), + (YT = class extends eg { + static { + o(this, 'NextTerminalAfterAtLeastOneWalker'); + } + walkAtLeastOne(e, r, n) { + if (e.idx === this.occurrence) { + let i = na(r.concat(n)); + (this.result.isEndOfRule = i === void 0), + i instanceof fr && + ((this.result.token = i.terminalType), (this.result.occurrence = i.idx)); + } else super.walkAtLeastOne(e, r, n); + } + }), + (l2 = class extends eg { + static { + o(this, 'NextTerminalAfterAtLeastOneSepWalker'); + } + walkAtLeastOneSep(e, r, n) { + if (e.idx === this.occurrence) { + let i = na(r.concat(n)); + (this.result.isEndOfRule = i === void 0), + i instanceof fr && + ((this.result.token = i.terminalType), (this.result.occurrence = i.idx)); + } else super.walkAtLeastOneSep(e, r, n); + } + }); + o(WT, 'possiblePathsFrom'); + o(qT, 'nextPossibleTokensAfter'); + o(SIe, 'expandTopLevelRule'); + }); + function u2(t) { + if (t instanceof Jr || t === 'Option') return $n.OPTION; + if (t instanceof br || t === 'Repetition') return $n.REPETITION; + if (t instanceof An || t === 'RepetitionMandatory') return $n.REPETITION_MANDATORY; + if (t instanceof _n || t === 'RepetitionMandatoryWithSeparator') return $n.REPETITION_MANDATORY_WITH_SEPARATOR; + if (t instanceof mn || t === 'RepetitionWithSeparator') return $n.REPETITION_WITH_SEPARATOR; + if (t instanceof gn || t === 'Alternation') return $n.ALTERNATION; + throw Error('non exhaustive match'); + } + function jT(t) { + let { occurrence: e, rule: r, prodType: n, maxLookahead: i } = t, + a = u2(n); + return a === $n.ALTERNATION ? tg(e, r, i) : rg(e, r, a, i); + } + function Uie(t, e, r, n, i, a) { + let s = tg(t, e, r), + l = jie(s) ? Zm : Bu; + return a(s, n, l, i); + } + function Hie(t, e, r, n, i, a) { + let s = rg(t, e, i, r), + l = jie(s) ? Zm : Bu; + return a(s[0], l, n); + } + function Yie(t, e, r, n) { + let i = t.length, + a = Ia(t, (s) => Ia(s, (l) => l.length === 1)); + if (e) + return function (s) { + let l = qe(s, (u) => u.GATE); + for (let u = 0; u < i; u++) { + let h = t[u], + f = h.length, + d = l[u]; + if (!(d !== void 0 && d.call(this) === !1)) + e: for (let p = 0; p < f; p++) { + let m = h[p], + g = m.length; + for (let y = 0; y < g; y++) { + let v = this.LA(y + 1); + if (r(v, m[y]) === !1) continue e; + } + return u; + } + } + }; + if (a && !n) { + let s = qe(t, (u) => Gr(u)), + l = Vr( + s, + (u, h, f) => ( + Ee(h, (d) => { + Xe(u, d.tokenTypeIdx) || (u[d.tokenTypeIdx] = f), + Ee(d.categoryMatches, (p) => { + Xe(u, p) || (u[p] = f); + }); + }), + u + ), + {} + ); + return function () { + let u = this.LA(1); + return l[u.tokenTypeIdx]; + }; + } else + return function () { + for (let s = 0; s < i; s++) { + let l = t[s], + u = l.length; + e: for (let h = 0; h < u; h++) { + let f = l[h], + d = f.length; + for (let p = 0; p < d; p++) { + let m = this.LA(p + 1); + if (r(m, f[p]) === !1) continue e; + } + return s; + } + } + }; + } + function Wie(t, e, r) { + let n = Ia(t, (a) => a.length === 1), + i = t.length; + if (n && !r) { + let a = Gr(t); + if (a.length === 1 && Qt(a[0].categoryMatches)) { + let l = a[0].tokenTypeIdx; + return function () { + return this.LA(1).tokenTypeIdx === l; + }; + } else { + let s = Vr( + a, + (l, u, h) => ( + (l[u.tokenTypeIdx] = !0), + Ee(u.categoryMatches, (f) => { + l[f] = !0; + }), + l + ), + [] + ); + return function () { + let l = this.LA(1); + return s[l.tokenTypeIdx] === !0; + }; + } + } else + return function () { + e: for (let a = 0; a < i; a++) { + let s = t[a], + l = s.length; + for (let u = 0; u < l; u++) { + let h = this.LA(u + 1); + if (e(h, s[u]) === !1) continue e; + } + return !0; + } + return !1; + }; + } + function Vie(t) { + let e = new Array(t); + for (let r = 0; r < t; r++) e[r] = []; + return e; + } + function xN(t) { + let e = ['']; + for (let r = 0; r < t.length; r++) { + let n = t[r], + i = []; + for (let a = 0; a < e.length; a++) { + let s = e[a]; + i.push(s + '_' + n.tokenTypeIdx); + for (let l = 0; l < n.categoryMatches.length; l++) { + let u = '_' + n.categoryMatches[l]; + i.push(s + u); + } + } + e = i; + } + return e; + } + function AIe(t, e, r) { + for (let n = 0; n < t.length; n++) { + if (n === r) continue; + let i = t[n]; + for (let a = 0; a < e.length; a++) { + let s = e[a]; + if (i[s] === !0) return !1; + } + } + return !0; + } + function qie(t, e) { + let r = qe(t, (s) => WT([s], 1)), + n = Vie(r.length), + i = qe(r, (s) => { + let l = {}; + return ( + Ee(s, (u) => { + let h = xN(u.partialPath); + Ee(h, (f) => { + l[f] = !0; + }); + }), + l + ); + }), + a = r; + for (let s = 1; s <= e; s++) { + let l = a; + a = Vie(l.length); + for (let u = 0; u < l.length; u++) { + let h = l[u]; + for (let f = 0; f < h.length; f++) { + let d = h[f].partialPath, + p = h[f].suffixDef, + m = xN(d); + if (AIe(i, m, u) || Qt(p) || d.length === e) { + let y = n[u]; + if (KT(y, d) === !1) { + y.push(d); + for (let v = 0; v < m.length; v++) { + let x = m[v]; + i[u][x] = !0; + } + } + } else { + let y = WT(p, s + 1, d); + (a[u] = a[u].concat(y)), + Ee(y, (v) => { + let x = xN(v.partialPath); + Ee(x, (b) => { + i[u][b] = !0; + }); + }); + } + } + } + } + return n; + } + function tg(t, e, r, n) { + let i = new XT(t, $n.ALTERNATION, n); + return e.accept(i), qie(i.result, r); + } + function rg(t, e, r, n) { + let i = new XT(t, r); + e.accept(i); + let a = i.result, + l = new bN(e, t, r).startWalking(), + u = new Sn({ definition: a }), + h = new Sn({ definition: l }); + return qie([u, h], n); + } + function KT(t, e) { + e: for (let r = 0; r < t.length; r++) { + let n = t[r]; + if (n.length === e.length) { + for (let i = 0; i < n.length; i++) { + let a = e[i], + s = n[i]; + if ((a === s || s.categoryMatchesMap[a.tokenTypeIdx] !== void 0) === !1) continue e; + } + return !0; + } + } + return !1; + } + function Xie(t, e) { + return ( + t.length < e.length && + Ia(t, (r, n) => { + let i = e[n]; + return r === i || i.categoryMatchesMap[r.tokenTypeIdx]; + }) + ); + } + function jie(t) { + return Ia(t, (e) => Ia(e, (r) => Ia(r, (n) => Qt(n.categoryMatches)))); + } + var $n, + bN, + XT, + ng = R(() => { + 'use strict'; + Pt(); + c2(); + IT(); + s0(); + ns(); + (function (t) { + (t[(t.OPTION = 0)] = 'OPTION'), + (t[(t.REPETITION = 1)] = 'REPETITION'), + (t[(t.REPETITION_MANDATORY = 2)] = 'REPETITION_MANDATORY'), + (t[(t.REPETITION_MANDATORY_WITH_SEPARATOR = 3)] = 'REPETITION_MANDATORY_WITH_SEPARATOR'), + (t[(t.REPETITION_WITH_SEPARATOR = 4)] = 'REPETITION_WITH_SEPARATOR'), + (t[(t.ALTERNATION = 5)] = 'ALTERNATION'); + })($n || ($n = {})); + o(u2, 'getProdType'); + o(jT, 'getLookaheadPaths'); + o(Uie, 'buildLookaheadFuncForOr'); + o(Hie, 'buildLookaheadFuncForOptionalProd'); + o(Yie, 'buildAlternativesLookAheadFunc'); + o(Wie, 'buildSingleAlternativeLookaheadFunction'); + (bN = class extends Pu { + static { + o(this, 'RestDefinitionFinderWalker'); + } + constructor(e, r, n) { + super(), (this.topProd = e), (this.targetOccurrence = r), (this.targetProdType = n); + } + startWalking() { + return this.walk(this.topProd), this.restDef; + } + checkIsTarget(e, r, n, i) { + return e.idx === this.targetOccurrence && this.targetProdType === r + ? ((this.restDef = n.concat(i)), !0) + : !1; + } + walkOption(e, r, n) { + this.checkIsTarget(e, $n.OPTION, r, n) || super.walkOption(e, r, n); + } + walkAtLeastOne(e, r, n) { + this.checkIsTarget(e, $n.REPETITION_MANDATORY, r, n) || super.walkOption(e, r, n); + } + walkAtLeastOneSep(e, r, n) { + this.checkIsTarget(e, $n.REPETITION_MANDATORY_WITH_SEPARATOR, r, n) || super.walkOption(e, r, n); + } + walkMany(e, r, n) { + this.checkIsTarget(e, $n.REPETITION, r, n) || super.walkOption(e, r, n); + } + walkManySep(e, r, n) { + this.checkIsTarget(e, $n.REPETITION_WITH_SEPARATOR, r, n) || super.walkOption(e, r, n); + } + }), + (XT = class extends rs { + static { + o(this, 'InsideDefinitionFinderVisitor'); + } + constructor(e, r, n) { + super(), + (this.targetOccurrence = e), + (this.targetProdType = r), + (this.targetRef = n), + (this.result = []); + } + checkIsTarget(e, r) { + e.idx === this.targetOccurrence && + this.targetProdType === r && + (this.targetRef === void 0 || e === this.targetRef) && + (this.result = e.definition); + } + visitOption(e) { + this.checkIsTarget(e, $n.OPTION); + } + visitRepetition(e) { + this.checkIsTarget(e, $n.REPETITION); + } + visitRepetitionMandatory(e) { + this.checkIsTarget(e, $n.REPETITION_MANDATORY); + } + visitRepetitionMandatoryWithSeparator(e) { + this.checkIsTarget(e, $n.REPETITION_MANDATORY_WITH_SEPARATOR); + } + visitRepetitionWithSeparator(e) { + this.checkIsTarget(e, $n.REPETITION_WITH_SEPARATOR); + } + visitAlternation(e) { + this.checkIsTarget(e, $n.ALTERNATION); + } + }); + o(Vie, 'initializeArrayOfArrays'); + o(xN, 'pathToHashKeys'); + o(AIe, 'isUniquePrefixHash'); + o(qie, 'lookAheadSequenceFromAlternatives'); + o(tg, 'getLookaheadPathsForOr'); + o(rg, 'getLookaheadPathsForOptionalProd'); + o(KT, 'containsPath'); + o(Xie, 'isStrictPrefixOfPath'); + o(jie, 'areTokenCategoriesNotUsed'); + }); + function Kie(t) { + let e = t.lookaheadStrategy.validate({ + rules: t.rules, + tokenTypes: t.tokenTypes, + grammarName: t.grammarName + }); + return qe(e, (r) => Object.assign({ type: Pi.CUSTOM_LOOKAHEAD_VALIDATION }, r)); + } + function Qie(t, e, r, n) { + let i = ga(t, (u) => _Ie(u, r)), + a = IIe(t, e, r), + s = ga(t, (u) => RIe(u, r)), + l = ga(t, (u) => DIe(u, t, n, r)); + return i.concat(a, s, l); + } + function _Ie(t, e) { + let r = new wN(); + t.accept(r); + let n = r.allProductions, + i = IL(n, LIe), + a = Ls(i, (l) => l.length > 1); + return qe(or(a), (l) => { + let u = na(l), + h = e.buildDuplicateFoundError(t, l), + f = Rs(u), + d = { + message: h, + type: Pi.DUPLICATE_PRODUCTIONS, + ruleName: t.name, + dslName: f, + occurrence: u.idx + }, + p = Zie(u); + return p && (d.parameter = p), d; + }); + } + function LIe(t) { + return `${Rs(t)}_#_${t.idx}_#_${Zie(t)}`; + } + function Zie(t) { + return t instanceof fr ? t.terminalType.name : t instanceof Zr ? t.nonTerminalName : ''; + } + function DIe(t, e, r, n) { + let i = []; + if (Vr(e, (s, l) => (l.name === t.name ? s + 1 : s), 0) > 1) { + let s = n.buildDuplicateRuleNameError({ + topLevelRule: t, + grammarName: r + }); + i.push({ message: s, type: Pi.DUPLICATE_RULE_NAME, ruleName: t.name }); + } + return i; + } + function Jie(t, e, r) { + let n = [], + i; + return ( + Fn(e, t) || + ((i = `Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `), + n.push({ message: i, type: Pi.INVALID_RULE_OVERRIDE, ruleName: t })), + n + ); + } + function kN(t, e, r, n = []) { + let i = [], + a = QT(e.definition); + if (Qt(a)) return []; + { + let s = t.name; + Fn(a, t) && + i.push({ + message: r.buildLeftRecursionError({ + topLevelRule: t, + leftRecursionPath: n + }), + type: Pi.LEFT_RECURSION, + ruleName: s + }); + let u = jh(a, n.concat([t])), + h = ga(u, (f) => { + let d = Qr(n); + return d.push(f), kN(t, f, r, d); + }); + return i.concat(h); + } + } + function QT(t) { + let e = []; + if (Qt(t)) return e; + let r = na(t); + if (r instanceof Zr) e.push(r.referencedRule); + else if ( + r instanceof Sn || + r instanceof Jr || + r instanceof An || + r instanceof _n || + r instanceof mn || + r instanceof br + ) + e = e.concat(QT(r.definition)); + else if (r instanceof gn) e = Gr(qe(r.definition, (a) => QT(a.definition))); + else if (!(r instanceof fr)) throw Error('non exhaustive match'); + let n = n0(r), + i = t.length > 1; + if (n && i) { + let a = fi(t); + return e.concat(QT(a)); + } else return e; + } + function eae(t, e) { + let r = new h2(); + t.accept(r); + let n = r.alternations; + return ga(n, (a) => { + let s = Ru(a.definition); + return ga(s, (l, u) => { + let h = qT([l], [], Bu, 1); + return Qt(h) + ? [ + { + message: e.buildEmptyAlternationError({ + topLevelRule: t, + alternation: a, + emptyChoiceIdx: u + }), + type: Pi.NONE_LAST_EMPTY_ALT, + ruleName: t.name, + occurrence: a.idx, + alternative: u + 1 + } + ] + : []; + }); + }); + } + function tae(t, e, r) { + let n = new h2(); + t.accept(n); + let i = n.alternations; + return ( + (i = Kh(i, (s) => s.ignoreAmbiguities === !0)), + ga(i, (s) => { + let l = s.idx, + u = s.maxLookahead || e, + h = tg(l, t, u, s), + f = NIe(h, s, t, r), + d = MIe(h, s, t, r); + return f.concat(d); + }) + ); + } + function RIe(t, e) { + let r = new h2(); + t.accept(r); + let n = r.alternations; + return ga(n, (a) => + a.definition.length > 255 + ? [ + { + message: e.buildTooManyAlternativesError({ + topLevelRule: t, + alternation: a + }), + type: Pi.TOO_MANY_ALTS, + ruleName: t.name, + occurrence: a.idx + } + ] + : [] + ); + } + function rae(t, e, r) { + let n = []; + return ( + Ee(t, (i) => { + let a = new TN(); + i.accept(a); + let s = a.allProductions; + Ee(s, (l) => { + let u = u2(l), + h = l.maxLookahead || e, + f = l.idx, + p = rg(f, i, u, h)[0]; + if (Qt(Gr(p))) { + let m = r.buildEmptyRepetitionError({ + topLevelRule: i, + repetition: l + }); + n.push({ + message: m, + type: Pi.NO_NON_EMPTY_LOOKAHEAD, + ruleName: i.name + }); + } + }); + }), + n + ); + } + function NIe(t, e, r, n) { + let i = [], + a = Vr( + t, + (l, u, h) => ( + e.definition[h].ignoreAmbiguities === !0 || + Ee(u, (f) => { + let d = [h]; + Ee(t, (p, m) => { + h !== m && KT(p, f) && e.definition[m].ignoreAmbiguities !== !0 && d.push(m); + }), + d.length > 1 && !KT(i, f) && (i.push(f), l.push({ alts: d, path: f })); + }), + l + ), + [] + ); + return qe(a, (l) => { + let u = qe(l.alts, (f) => f + 1); + return { + message: n.buildAlternationAmbiguityError({ + topLevelRule: r, + alternation: e, + ambiguityIndices: u, + prefixPath: l.path + }), + type: Pi.AMBIGUOUS_ALTS, + ruleName: r.name, + occurrence: e.idx, + alternatives: l.alts + }; + }); + } + function MIe(t, e, r, n) { + let i = Vr( + t, + (s, l, u) => { + let h = qe(l, (f) => ({ idx: u, path: f })); + return s.concat(h); + }, + [] + ); + return wc( + ga(i, (s) => { + if (e.definition[s.idx].ignoreAmbiguities === !0) return []; + let u = s.idx, + h = s.path, + f = $r(i, (p) => e.definition[p.idx].ignoreAmbiguities !== !0 && p.idx < u && Xie(p.path, h)); + return qe(f, (p) => { + let m = [p.idx + 1, u + 1], + g = e.idx === 0 ? '' : e.idx; + return { + message: n.buildAlternationPrefixAmbiguityError({ + topLevelRule: r, + alternation: e, + ambiguityIndices: m, + prefixPath: p.path + }), + type: Pi.AMBIGUOUS_PREFIX_ALTS, + ruleName: r.name, + occurrence: g, + alternatives: m + }; + }); + }) + ); + } + function IIe(t, e, r) { + let n = [], + i = qe(e, (a) => a.name); + return ( + Ee(t, (a) => { + let s = a.name; + if (Fn(i, s)) { + let l = r.buildNamespaceConflictError(a); + n.push({ + message: l, + type: Pi.CONFLICT_TOKENS_RULES_NAMESPACE, + ruleName: s + }); + } + }), + n + ); + } + var wN, + h2, + TN, + f2 = R(() => { + 'use strict'; + Pt(); + Ns(); + ns(); + ng(); + c2(); + s0(); + o(Kie, 'validateLookahead'); + o(Qie, 'validateGrammar'); + o(_Ie, 'validateDuplicateProductions'); + o(LIe, 'identifyProductionForDuplicates'); + o(Zie, 'getExtraProductionArgument'); + wN = class extends rs { + static { + o(this, 'OccurrenceValidationCollector'); + } + constructor() { + super(...arguments), (this.allProductions = []); + } + visitNonTerminal(e) { + this.allProductions.push(e); + } + visitOption(e) { + this.allProductions.push(e); + } + visitRepetitionWithSeparator(e) { + this.allProductions.push(e); + } + visitRepetitionMandatory(e) { + this.allProductions.push(e); + } + visitRepetitionMandatoryWithSeparator(e) { + this.allProductions.push(e); + } + visitRepetition(e) { + this.allProductions.push(e); + } + visitAlternation(e) { + this.allProductions.push(e); + } + visitTerminal(e) { + this.allProductions.push(e); + } + }; + o(DIe, 'validateRuleDoesNotAlreadyExist'); + o(Jie, 'validateRuleIsOverridden'); + o(kN, 'validateNoLeftRecursion'); + o(QT, 'getFirstNoneTerminal'); + h2 = class extends rs { + static { + o(this, 'OrCollector'); + } + constructor() { + super(...arguments), (this.alternations = []); + } + visitAlternation(e) { + this.alternations.push(e); + } + }; + o(eae, 'validateEmptyOrAlternative'); + o(tae, 'validateAmbiguousAlternationAlternatives'); + TN = class extends rs { + static { + o(this, 'RepetitionCollector'); + } + constructor() { + super(...arguments), (this.allProductions = []); + } + visitRepetitionWithSeparator(e) { + this.allProductions.push(e); + } + visitRepetitionMandatory(e) { + this.allProductions.push(e); + } + visitRepetitionMandatoryWithSeparator(e) { + this.allProductions.push(e); + } + visitRepetition(e) { + this.allProductions.push(e); + } + }; + o(RIe, 'validateTooManyAlts'); + o(rae, 'validateSomeNonEmptyLookaheadPath'); + o(NIe, 'checkAlternativesAmbiguities'); + o(MIe, 'checkPrefixAlternativesAmbiguities'); + o(IIe, 'checkTerminalAndNoneTerminalsNameSpace'); + }); + function nae(t) { + let e = Xh(t, { errMsgProvider: zie }), + r = {}; + return ( + Ee(t.rules, (n) => { + r[n.name] = n; + }), + Gie(r, e.errMsgProvider) + ); + } + function iae(t) { + return (t = Xh(t, { errMsgProvider: Ol })), Qie(t.rules, t.tokenTypes, t.errMsgProvider, t.grammarName); + } + var aae = R(() => { + 'use strict'; + Pt(); + $ie(); + f2(); + Jm(); + o(nae, 'resolveGrammar'); + o(iae, 'validateGrammar'); + }); + function nf(t) { + return Fn(uae, t.name); + } + var sae, + oae, + lae, + cae, + uae, + ig, + c0, + d2, + p2, + m2, + ag = R(() => { + 'use strict'; + Pt(); + (sae = 'MismatchedTokenException'), + (oae = 'NoViableAltException'), + (lae = 'EarlyExitException'), + (cae = 'NotAllInputParsedException'), + (uae = [sae, oae, lae, cae]); + Object.freeze(uae); + o(nf, 'isRecognitionException'); + (ig = class extends Error { + static { + o(this, 'RecognitionException'); + } + constructor(e, r) { + super(e), + (this.token = r), + (this.resyncedTokens = []), + Object.setPrototypeOf(this, new.target.prototype), + Error.captureStackTrace && Error.captureStackTrace(this, this.constructor); + } + }), + (c0 = class extends ig { + static { + o(this, 'MismatchedTokenException'); + } + constructor(e, r, n) { + super(e, r), (this.previousToken = n), (this.name = sae); + } + }), + (d2 = class extends ig { + static { + o(this, 'NoViableAltException'); + } + constructor(e, r, n) { + super(e, r), (this.previousToken = n), (this.name = oae); + } + }), + (p2 = class extends ig { + static { + o(this, 'NotAllInputParsedException'); + } + constructor(e, r) { + super(e, r), (this.name = cae); + } + }), + (m2 = class extends ig { + static { + o(this, 'EarlyExitException'); + } + constructor(e, r, n) { + super(e, r), (this.previousToken = n), (this.name = lae); + } + }); + }); + function OIe(t, e, r, n, i, a, s) { + let l = this.getKeyForAutomaticLookahead(n, i), + u = this.firstAfterRepMap[l]; + if (u === void 0) { + let p = this.getCurrRuleFullName(), + m = this.getGAstProductions()[p]; + (u = new a(m, i).startWalking()), (this.firstAfterRepMap[l] = u); + } + let h = u.token, + f = u.occurrence, + d = u.isEndOfRule; + this.RULE_STACK.length === 1 && d && h === void 0 && ((h = fo), (f = 1)), + !(h === void 0 || f === void 0) && + this.shouldInRepetitionRecoveryBeTried(h, f, s) && + this.tryInRepetitionRecovery(t, e, r, h); + } + var EN, + SN, + CN, + ZT, + AN = R(() => { + 'use strict'; + l0(); + Pt(); + ag(); + aN(); + Ns(); + (EN = {}), + (SN = 'InRuleRecoveryException'), + (CN = class extends Error { + static { + o(this, 'InRuleRecoveryException'); + } + constructor(e) { + super(e), (this.name = SN); + } + }), + (ZT = class { + static { + o(this, 'Recoverable'); + } + initRecoverable(e) { + (this.firstAfterRepMap = {}), + (this.resyncFollows = {}), + (this.recoveryEnabled = Xe(e, 'recoveryEnabled') ? e.recoveryEnabled : is.recoveryEnabled), + this.recoveryEnabled && (this.attemptInRepetitionRecovery = OIe); + } + getTokenToInsert(e) { + let r = o0(e, '', NaN, NaN, NaN, NaN, NaN, NaN); + return (r.isInsertedInRecovery = !0), r; + } + canTokenTypeBeInsertedInRecovery(e) { + return !0; + } + canTokenTypeBeDeletedInRecovery(e) { + return !0; + } + tryInRepetitionRecovery(e, r, n, i) { + let a = this.findReSyncTokenType(), + s = this.exportLexerState(), + l = [], + u = !1, + h = this.LA(1), + f = this.LA(1), + d = o(() => { + let p = this.LA(0), + m = this.errorMessageProvider.buildMismatchTokenMessage({ + expected: i, + actual: h, + previous: p, + ruleName: this.getCurrRuleFullName() + }), + g = new c0(m, h, this.LA(0)); + (g.resyncedTokens = Ru(l)), this.SAVE_ERROR(g); + }, 'generateErrorMessage'); + for (; !u; ) + if (this.tokenMatcher(f, i)) { + d(); + return; + } else if (n.call(this)) { + d(), e.apply(this, r); + return; + } else + this.tokenMatcher(f, a) + ? (u = !0) + : ((f = this.SKIP_TOKEN()), this.addToResyncTokens(f, l)); + this.importLexerState(s); + } + shouldInRepetitionRecoveryBeTried(e, r, n) { + return !( + n === !1 || + this.tokenMatcher(this.LA(1), e) || + this.isBackTracking() || + this.canPerformInRuleRecovery(e, this.getFollowsForInRuleRecovery(e, r)) + ); + } + getFollowsForInRuleRecovery(e, r) { + let n = this.getCurrentGrammarPath(e, r); + return this.getNextPossibleTokenTypes(n); + } + tryInRuleRecovery(e, r) { + if (this.canRecoverWithSingleTokenInsertion(e, r)) return this.getTokenToInsert(e); + if (this.canRecoverWithSingleTokenDeletion(e)) { + let n = this.SKIP_TOKEN(); + return this.consumeToken(), n; + } + throw new CN('sad sad panda'); + } + canPerformInRuleRecovery(e, r) { + return ( + this.canRecoverWithSingleTokenInsertion(e, r) || this.canRecoverWithSingleTokenDeletion(e) + ); + } + canRecoverWithSingleTokenInsertion(e, r) { + if (!this.canTokenTypeBeInsertedInRecovery(e) || Qt(r)) return !1; + let n = this.LA(1); + return Za(r, (a) => this.tokenMatcher(n, a)) !== void 0; + } + canRecoverWithSingleTokenDeletion(e) { + return this.canTokenTypeBeDeletedInRecovery(e) ? this.tokenMatcher(this.LA(2), e) : !1; + } + isInCurrentRuleReSyncSet(e) { + let r = this.getCurrFollowKey(), + n = this.getFollowSetFromFollowKey(r); + return Fn(n, e); + } + findReSyncTokenType() { + let e = this.flattenFollowSet(), + r = this.LA(1), + n = 2; + for (;;) { + let i = Za(e, (a) => s2(r, a)); + if (i !== void 0) return i; + (r = this.LA(n)), n++; + } + } + getCurrFollowKey() { + if (this.RULE_STACK.length === 1) return EN; + let e = this.getLastExplicitRuleShortName(), + r = this.getLastExplicitRuleOccurrenceIndex(), + n = this.getPreviousExplicitRuleShortName(); + return { + ruleName: this.shortRuleNameToFullName(e), + idxInCallingRule: r, + inRule: this.shortRuleNameToFullName(n) + }; + } + buildFullFollowKeyStack() { + let e = this.RULE_STACK, + r = this.RULE_OCCURRENCE_STACK; + return qe(e, (n, i) => + i === 0 + ? EN + : { + ruleName: this.shortRuleNameToFullName(n), + idxInCallingRule: r[i], + inRule: this.shortRuleNameToFullName(e[i - 1]) + } + ); + } + flattenFollowSet() { + let e = qe(this.buildFullFollowKeyStack(), (r) => this.getFollowSetFromFollowKey(r)); + return Gr(e); + } + getFollowSetFromFollowKey(e) { + if (e === EN) return [fo]; + let r = e.ruleName + e.idxInCallingRule + OT + e.inRule; + return this.resyncFollows[r]; + } + addToResyncTokens(e, r) { + return this.tokenMatcher(e, fo) || r.push(e), r; + } + reSyncTo(e) { + let r = [], + n = this.LA(1); + for (; this.tokenMatcher(n, e) === !1; ) (n = this.SKIP_TOKEN()), this.addToResyncTokens(n, r); + return Ru(r); + } + attemptInRepetitionRecovery(e, r, n, i, a, s, l) {} + getCurrentGrammarPath(e, r) { + let n = this.getHumanReadableRuleStack(), + i = Qr(this.RULE_OCCURRENCE_STACK); + return { + ruleStack: n, + occurrenceStack: i, + lastTok: e, + lastTokOccurrence: r + }; + } + getHumanReadableRuleStack() { + return qe(this.RULE_STACK, (e) => this.shortRuleNameToFullName(e)); + } + }); + o(OIe, 'attemptInRepetitionRecovery'); + }); + function JT(t, e, r) { + return r | e | t; + } + var ek = R(() => { + 'use strict'; + o(JT, 'getKeyForAutomaticLookahead'); + }); + var $u, + _N = R(() => { + 'use strict'; + Pt(); + Jm(); + Ns(); + f2(); + ng(); + $u = class { + static { + o(this, 'LLkLookaheadStrategy'); + } + constructor(e) { + var r; + this.maxLookahead = (r = e?.maxLookahead) !== null && r !== void 0 ? r : is.maxLookahead; + } + validate(e) { + let r = this.validateNoLeftRecursion(e.rules); + if (Qt(r)) { + let n = this.validateEmptyOrAlternatives(e.rules), + i = this.validateAmbiguousAlternationAlternatives(e.rules, this.maxLookahead), + a = this.validateSomeNonEmptyLookaheadPath(e.rules, this.maxLookahead); + return [...r, ...n, ...i, ...a]; + } + return r; + } + validateNoLeftRecursion(e) { + return ga(e, (r) => kN(r, r, Ol)); + } + validateEmptyOrAlternatives(e) { + return ga(e, (r) => eae(r, Ol)); + } + validateAmbiguousAlternationAlternatives(e, r) { + return ga(e, (n) => tae(n, r, Ol)); + } + validateSomeNonEmptyLookaheadPath(e, r) { + return rae(e, r, Ol); + } + buildLookaheadForAlternation(e) { + return Uie(e.prodOccurrence, e.rule, e.maxLookahead, e.hasPredicates, e.dynamicTokensEnabled, Yie); + } + buildLookaheadForOptional(e) { + return Hie(e.prodOccurrence, e.rule, e.maxLookahead, e.dynamicTokensEnabled, u2(e.prodType), Wie); + } + }; + }); + function PIe(t) { + tk.reset(), t.accept(tk); + let e = tk.dslMethods; + return tk.reset(), e; + } + var rk, + LN, + tk, + hae = R(() => { + 'use strict'; + Pt(); + Ns(); + ek(); + ns(); + _N(); + (rk = class { + static { + o(this, 'LooksAhead'); + } + initLooksAhead(e) { + (this.dynamicTokensEnabled = Xe(e, 'dynamicTokensEnabled') + ? e.dynamicTokensEnabled + : is.dynamicTokensEnabled), + (this.maxLookahead = Xe(e, 'maxLookahead') ? e.maxLookahead : is.maxLookahead), + (this.lookaheadStrategy = Xe(e, 'lookaheadStrategy') + ? e.lookaheadStrategy + : new $u({ maxLookahead: this.maxLookahead })), + (this.lookAheadFuncsCache = new Map()); + } + preComputeLookaheadFunctions(e) { + Ee(e, (r) => { + this.TRACE_INIT(`${r.name} Rule Lookahead`, () => { + let { + alternation: n, + repetition: i, + option: a, + repetitionMandatory: s, + repetitionMandatoryWithSeparator: l, + repetitionWithSeparator: u + } = PIe(r); + Ee(n, (h) => { + let f = h.idx === 0 ? '' : h.idx; + this.TRACE_INIT(`${Rs(h)}${f}`, () => { + let d = this.lookaheadStrategy.buildLookaheadForAlternation({ + prodOccurrence: h.idx, + rule: r, + maxLookahead: h.maxLookahead || this.maxLookahead, + hasPredicates: h.hasPredicates, + dynamicTokensEnabled: this.dynamicTokensEnabled + }), + p = JT(this.fullRuleNameToShort[r.name], 256, h.idx); + this.setLaFuncCache(p, d); + }); + }), + Ee(i, (h) => { + this.computeLookaheadFunc(r, h.idx, 768, 'Repetition', h.maxLookahead, Rs(h)); + }), + Ee(a, (h) => { + this.computeLookaheadFunc(r, h.idx, 512, 'Option', h.maxLookahead, Rs(h)); + }), + Ee(s, (h) => { + this.computeLookaheadFunc( + r, + h.idx, + 1024, + 'RepetitionMandatory', + h.maxLookahead, + Rs(h) + ); + }), + Ee(l, (h) => { + this.computeLookaheadFunc( + r, + h.idx, + 1536, + 'RepetitionMandatoryWithSeparator', + h.maxLookahead, + Rs(h) + ); + }), + Ee(u, (h) => { + this.computeLookaheadFunc( + r, + h.idx, + 1280, + 'RepetitionWithSeparator', + h.maxLookahead, + Rs(h) + ); + }); + }); + }); + } + computeLookaheadFunc(e, r, n, i, a, s) { + this.TRACE_INIT(`${s}${r === 0 ? '' : r}`, () => { + let l = this.lookaheadStrategy.buildLookaheadForOptional({ + prodOccurrence: r, + rule: e, + maxLookahead: a || this.maxLookahead, + dynamicTokensEnabled: this.dynamicTokensEnabled, + prodType: i + }), + u = JT(this.fullRuleNameToShort[e.name], n, r); + this.setLaFuncCache(u, l); + }); + } + getKeyForAutomaticLookahead(e, r) { + let n = this.getLastExplicitRuleShortName(); + return JT(n, e, r); + } + getLaFuncFromCache(e) { + return this.lookAheadFuncsCache.get(e); + } + setLaFuncCache(e, r) { + this.lookAheadFuncsCache.set(e, r); + } + }), + (LN = class extends rs { + static { + o(this, 'DslMethodsCollectorVisitor'); + } + constructor() { + super(...arguments), + (this.dslMethods = { + option: [], + alternation: [], + repetition: [], + repetitionWithSeparator: [], + repetitionMandatory: [], + repetitionMandatoryWithSeparator: [] + }); + } + reset() { + this.dslMethods = { + option: [], + alternation: [], + repetition: [], + repetitionWithSeparator: [], + repetitionMandatory: [], + repetitionMandatoryWithSeparator: [] + }; + } + visitOption(e) { + this.dslMethods.option.push(e); + } + visitRepetitionWithSeparator(e) { + this.dslMethods.repetitionWithSeparator.push(e); + } + visitRepetitionMandatory(e) { + this.dslMethods.repetitionMandatory.push(e); + } + visitRepetitionMandatoryWithSeparator(e) { + this.dslMethods.repetitionMandatoryWithSeparator.push(e); + } + visitRepetition(e) { + this.dslMethods.repetition.push(e); + } + visitAlternation(e) { + this.dslMethods.alternation.push(e); + } + }), + (tk = new LN()); + o(PIe, 'collectMethods'); + }); + function NN(t, e) { + isNaN(t.startOffset) === !0 + ? ((t.startOffset = e.startOffset), (t.endOffset = e.endOffset)) + : t.endOffset < e.endOffset && (t.endOffset = e.endOffset); + } + function MN(t, e) { + isNaN(t.startOffset) === !0 + ? ((t.startOffset = e.startOffset), + (t.startColumn = e.startColumn), + (t.startLine = e.startLine), + (t.endOffset = e.endOffset), + (t.endColumn = e.endColumn), + (t.endLine = e.endLine)) + : t.endOffset < e.endOffset && + ((t.endOffset = e.endOffset), (t.endColumn = e.endColumn), (t.endLine = e.endLine)); + } + function fae(t, e, r) { + t.children[r] === void 0 ? (t.children[r] = [e]) : t.children[r].push(e); + } + function dae(t, e, r) { + t.children[e] === void 0 ? (t.children[e] = [r]) : t.children[e].push(r); + } + var pae = R(() => { + 'use strict'; + o(NN, 'setNodeLocationOnlyOffset'); + o(MN, 'setNodeLocationFull'); + o(fae, 'addTerminalToCst'); + o(dae, 'addNoneTerminalToCst'); + }); + function IN(t, e) { + Object.defineProperty(t, BIe, { + enumerable: !1, + configurable: !0, + writable: !1, + value: e + }); + } + var BIe, + mae = R(() => { + 'use strict'; + BIe = 'name'; + o(IN, 'defineNameProp'); + }); + function FIe(t, e) { + let r = Dr(t), + n = r.length; + for (let i = 0; i < n; i++) { + let a = r[i], + s = t[a], + l = s.length; + for (let u = 0; u < l; u++) { + let h = s[u]; + h.tokenTypeIdx === void 0 && this[h.name](h.children, e); + } + } + } + function gae(t, e) { + let r = o(function () {}, 'derivedConstructor'); + IN(r, t + 'BaseSemantics'); + let n = { + visit: o(function (i, a) { + if ((wt(i) && (i = i[0]), !er(i))) return this[i.name](i.children, a); + }, 'visit'), + validateVisitor: o(function () { + let i = zIe(this, e); + if (!Qt(i)) { + let a = qe(i, (s) => s.msg); + throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>: + ${a + .join( + ` + +` + ) + .replace( + /\n/g, + ` + ` + )}`); + } + }, 'validateVisitor') + }; + return (r.prototype = n), (r.prototype.constructor = r), (r._RULE_NAMES = e), r; + } + function yae(t, e, r) { + let n = o(function () {}, 'derivedConstructor'); + IN(n, t + 'BaseSemanticsWithDefaults'); + let i = Object.create(r.prototype); + return ( + Ee(e, (a) => { + i[a] = FIe; + }), + (n.prototype = i), + (n.prototype.constructor = n), + n + ); + } + function zIe(t, e) { + return GIe(t, e); + } + function GIe(t, e) { + let r = $r(e, (i) => wi(t[i]) === !1), + n = qe(r, (i) => ({ + msg: `Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`, + type: ON.MISSING_METHOD, + methodName: i + })); + return wc(n); + } + var ON, + vae = R(() => { + 'use strict'; + Pt(); + mae(); + o(FIe, 'defaultVisit'); + o(gae, 'createBaseSemanticVisitorConstructor'); + o(yae, 'createBaseVisitorConstructorWithDefaults'); + (function (t) { + (t[(t.REDUNDANT_METHOD = 0)] = 'REDUNDANT_METHOD'), (t[(t.MISSING_METHOD = 1)] = 'MISSING_METHOD'); + })(ON || (ON = {})); + o(zIe, 'validateVisitor'); + o(GIe, 'validateMissingCstMethods'); + }); + var sk, + xae = R(() => { + 'use strict'; + pae(); + Pt(); + vae(); + Ns(); + sk = class { + static { + o(this, 'TreeBuilder'); + } + initTreeBuilder(e) { + if ( + ((this.CST_STACK = []), + (this.outputCst = e.outputCst), + (this.nodeLocationTracking = Xe(e, 'nodeLocationTracking') + ? e.nodeLocationTracking + : is.nodeLocationTracking), + !this.outputCst) + ) + (this.cstInvocationStateUpdate = qn), + (this.cstFinallyStateUpdate = qn), + (this.cstPostTerminal = qn), + (this.cstPostNonTerminal = qn), + (this.cstPostRule = qn); + else if (/full/i.test(this.nodeLocationTracking)) + this.recoveryEnabled + ? ((this.setNodeLocationFromToken = MN), + (this.setNodeLocationFromNode = MN), + (this.cstPostRule = qn), + (this.setInitialNodeLocation = this.setInitialNodeLocationFullRecovery)) + : ((this.setNodeLocationFromToken = qn), + (this.setNodeLocationFromNode = qn), + (this.cstPostRule = this.cstPostRuleFull), + (this.setInitialNodeLocation = this.setInitialNodeLocationFullRegular)); + else if (/onlyOffset/i.test(this.nodeLocationTracking)) + this.recoveryEnabled + ? ((this.setNodeLocationFromToken = NN), + (this.setNodeLocationFromNode = NN), + (this.cstPostRule = qn), + (this.setInitialNodeLocation = this.setInitialNodeLocationOnlyOffsetRecovery)) + : ((this.setNodeLocationFromToken = qn), + (this.setNodeLocationFromNode = qn), + (this.cstPostRule = this.cstPostRuleOnlyOffset), + (this.setInitialNodeLocation = this.setInitialNodeLocationOnlyOffsetRegular)); + else if (/none/i.test(this.nodeLocationTracking)) + (this.setNodeLocationFromToken = qn), + (this.setNodeLocationFromNode = qn), + (this.cstPostRule = qn), + (this.setInitialNodeLocation = qn); + else throw Error(`Invalid config option: "${e.nodeLocationTracking}"`); + } + setInitialNodeLocationOnlyOffsetRecovery(e) { + e.location = { startOffset: NaN, endOffset: NaN }; + } + setInitialNodeLocationOnlyOffsetRegular(e) { + e.location = { startOffset: this.LA(1).startOffset, endOffset: NaN }; + } + setInitialNodeLocationFullRecovery(e) { + e.location = { + startOffset: NaN, + startLine: NaN, + startColumn: NaN, + endOffset: NaN, + endLine: NaN, + endColumn: NaN + }; + } + setInitialNodeLocationFullRegular(e) { + let r = this.LA(1); + e.location = { + startOffset: r.startOffset, + startLine: r.startLine, + startColumn: r.startColumn, + endOffset: NaN, + endLine: NaN, + endColumn: NaN + }; + } + cstInvocationStateUpdate(e) { + let r = { name: e, children: Object.create(null) }; + this.setInitialNodeLocation(r), this.CST_STACK.push(r); + } + cstFinallyStateUpdate() { + this.CST_STACK.pop(); + } + cstPostRuleFull(e) { + let r = this.LA(0), + n = e.location; + n.startOffset <= r.startOffset + ? ((n.endOffset = r.endOffset), (n.endLine = r.endLine), (n.endColumn = r.endColumn)) + : ((n.startOffset = NaN), (n.startLine = NaN), (n.startColumn = NaN)); + } + cstPostRuleOnlyOffset(e) { + let r = this.LA(0), + n = e.location; + n.startOffset <= r.startOffset ? (n.endOffset = r.endOffset) : (n.startOffset = NaN); + } + cstPostTerminal(e, r) { + let n = this.CST_STACK[this.CST_STACK.length - 1]; + fae(n, r, e), this.setNodeLocationFromToken(n.location, r); + } + cstPostNonTerminal(e, r) { + let n = this.CST_STACK[this.CST_STACK.length - 1]; + dae(n, r, e), this.setNodeLocationFromNode(n.location, e.location); + } + getBaseCstVisitorConstructor() { + if (er(this.baseCstVisitorConstructor)) { + let e = gae(this.className, Dr(this.gastProductionsCache)); + return (this.baseCstVisitorConstructor = e), e; + } + return this.baseCstVisitorConstructor; + } + getBaseCstVisitorConstructorWithDefaults() { + if (er(this.baseCstVisitorWithDefaultsConstructor)) { + let e = yae(this.className, Dr(this.gastProductionsCache), this.getBaseCstVisitorConstructor()); + return (this.baseCstVisitorWithDefaultsConstructor = e), e; + } + return this.baseCstVisitorWithDefaultsConstructor; + } + getLastExplicitRuleShortName() { + let e = this.RULE_STACK; + return e[e.length - 1]; + } + getPreviousExplicitRuleShortName() { + let e = this.RULE_STACK; + return e[e.length - 2]; + } + getLastExplicitRuleOccurrenceIndex() { + let e = this.RULE_OCCURRENCE_STACK; + return e[e.length - 1]; + } + }; + }); + var ok, + bae = R(() => { + 'use strict'; + Ns(); + ok = class { + static { + o(this, 'LexerAdapter'); + } + initLexerAdapter() { + (this.tokVector = []), (this.tokVectorLength = 0), (this.currIdx = -1); + } + set input(e) { + if (this.selfAnalysisDone !== !0) + throw Error("Missing invocation at the end of the Parser's constructor."); + this.reset(), (this.tokVector = e), (this.tokVectorLength = e.length); + } + get input() { + return this.tokVector; + } + SKIP_TOKEN() { + return this.currIdx <= this.tokVector.length - 2 ? (this.consumeToken(), this.LA(1)) : sg; + } + LA(e) { + let r = this.currIdx + e; + return r < 0 || this.tokVectorLength <= r ? sg : this.tokVector[r]; + } + consumeToken() { + this.currIdx++; + } + exportLexerState() { + return this.currIdx; + } + importLexerState(e) { + this.currIdx = e; + } + resetLexerState() { + this.currIdx = -1; + } + moveToTerminatedState() { + this.currIdx = this.tokVector.length - 1; + } + getLexerPosition() { + return this.exportLexerState(); + } + }; + }); + var lk, + wae = R(() => { + 'use strict'; + Pt(); + ag(); + Ns(); + Jm(); + f2(); + ns(); + lk = class { + static { + o(this, 'RecognizerApi'); + } + ACTION(e) { + return e.call(this); + } + consume(e, r, n) { + return this.consumeInternal(r, e, n); + } + subrule(e, r, n) { + return this.subruleInternal(r, e, n); + } + option(e, r) { + return this.optionInternal(r, e); + } + or(e, r) { + return this.orInternal(r, e); + } + many(e, r) { + return this.manyInternal(e, r); + } + atLeastOne(e, r) { + return this.atLeastOneInternal(e, r); + } + CONSUME(e, r) { + return this.consumeInternal(e, 0, r); + } + CONSUME1(e, r) { + return this.consumeInternal(e, 1, r); + } + CONSUME2(e, r) { + return this.consumeInternal(e, 2, r); + } + CONSUME3(e, r) { + return this.consumeInternal(e, 3, r); + } + CONSUME4(e, r) { + return this.consumeInternal(e, 4, r); + } + CONSUME5(e, r) { + return this.consumeInternal(e, 5, r); + } + CONSUME6(e, r) { + return this.consumeInternal(e, 6, r); + } + CONSUME7(e, r) { + return this.consumeInternal(e, 7, r); + } + CONSUME8(e, r) { + return this.consumeInternal(e, 8, r); + } + CONSUME9(e, r) { + return this.consumeInternal(e, 9, r); + } + SUBRULE(e, r) { + return this.subruleInternal(e, 0, r); + } + SUBRULE1(e, r) { + return this.subruleInternal(e, 1, r); + } + SUBRULE2(e, r) { + return this.subruleInternal(e, 2, r); + } + SUBRULE3(e, r) { + return this.subruleInternal(e, 3, r); + } + SUBRULE4(e, r) { + return this.subruleInternal(e, 4, r); + } + SUBRULE5(e, r) { + return this.subruleInternal(e, 5, r); + } + SUBRULE6(e, r) { + return this.subruleInternal(e, 6, r); + } + SUBRULE7(e, r) { + return this.subruleInternal(e, 7, r); + } + SUBRULE8(e, r) { + return this.subruleInternal(e, 8, r); + } + SUBRULE9(e, r) { + return this.subruleInternal(e, 9, r); + } + OPTION(e) { + return this.optionInternal(e, 0); + } + OPTION1(e) { + return this.optionInternal(e, 1); + } + OPTION2(e) { + return this.optionInternal(e, 2); + } + OPTION3(e) { + return this.optionInternal(e, 3); + } + OPTION4(e) { + return this.optionInternal(e, 4); + } + OPTION5(e) { + return this.optionInternal(e, 5); + } + OPTION6(e) { + return this.optionInternal(e, 6); + } + OPTION7(e) { + return this.optionInternal(e, 7); + } + OPTION8(e) { + return this.optionInternal(e, 8); + } + OPTION9(e) { + return this.optionInternal(e, 9); + } + OR(e) { + return this.orInternal(e, 0); + } + OR1(e) { + return this.orInternal(e, 1); + } + OR2(e) { + return this.orInternal(e, 2); + } + OR3(e) { + return this.orInternal(e, 3); + } + OR4(e) { + return this.orInternal(e, 4); + } + OR5(e) { + return this.orInternal(e, 5); + } + OR6(e) { + return this.orInternal(e, 6); + } + OR7(e) { + return this.orInternal(e, 7); + } + OR8(e) { + return this.orInternal(e, 8); + } + OR9(e) { + return this.orInternal(e, 9); + } + MANY(e) { + this.manyInternal(0, e); + } + MANY1(e) { + this.manyInternal(1, e); + } + MANY2(e) { + this.manyInternal(2, e); + } + MANY3(e) { + this.manyInternal(3, e); + } + MANY4(e) { + this.manyInternal(4, e); + } + MANY5(e) { + this.manyInternal(5, e); + } + MANY6(e) { + this.manyInternal(6, e); + } + MANY7(e) { + this.manyInternal(7, e); + } + MANY8(e) { + this.manyInternal(8, e); + } + MANY9(e) { + this.manyInternal(9, e); + } + MANY_SEP(e) { + this.manySepFirstInternal(0, e); + } + MANY_SEP1(e) { + this.manySepFirstInternal(1, e); + } + MANY_SEP2(e) { + this.manySepFirstInternal(2, e); + } + MANY_SEP3(e) { + this.manySepFirstInternal(3, e); + } + MANY_SEP4(e) { + this.manySepFirstInternal(4, e); + } + MANY_SEP5(e) { + this.manySepFirstInternal(5, e); + } + MANY_SEP6(e) { + this.manySepFirstInternal(6, e); + } + MANY_SEP7(e) { + this.manySepFirstInternal(7, e); + } + MANY_SEP8(e) { + this.manySepFirstInternal(8, e); + } + MANY_SEP9(e) { + this.manySepFirstInternal(9, e); + } + AT_LEAST_ONE(e) { + this.atLeastOneInternal(0, e); + } + AT_LEAST_ONE1(e) { + return this.atLeastOneInternal(1, e); + } + AT_LEAST_ONE2(e) { + this.atLeastOneInternal(2, e); + } + AT_LEAST_ONE3(e) { + this.atLeastOneInternal(3, e); + } + AT_LEAST_ONE4(e) { + this.atLeastOneInternal(4, e); + } + AT_LEAST_ONE5(e) { + this.atLeastOneInternal(5, e); + } + AT_LEAST_ONE6(e) { + this.atLeastOneInternal(6, e); + } + AT_LEAST_ONE7(e) { + this.atLeastOneInternal(7, e); + } + AT_LEAST_ONE8(e) { + this.atLeastOneInternal(8, e); + } + AT_LEAST_ONE9(e) { + this.atLeastOneInternal(9, e); + } + AT_LEAST_ONE_SEP(e) { + this.atLeastOneSepFirstInternal(0, e); + } + AT_LEAST_ONE_SEP1(e) { + this.atLeastOneSepFirstInternal(1, e); + } + AT_LEAST_ONE_SEP2(e) { + this.atLeastOneSepFirstInternal(2, e); + } + AT_LEAST_ONE_SEP3(e) { + this.atLeastOneSepFirstInternal(3, e); + } + AT_LEAST_ONE_SEP4(e) { + this.atLeastOneSepFirstInternal(4, e); + } + AT_LEAST_ONE_SEP5(e) { + this.atLeastOneSepFirstInternal(5, e); + } + AT_LEAST_ONE_SEP6(e) { + this.atLeastOneSepFirstInternal(6, e); + } + AT_LEAST_ONE_SEP7(e) { + this.atLeastOneSepFirstInternal(7, e); + } + AT_LEAST_ONE_SEP8(e) { + this.atLeastOneSepFirstInternal(8, e); + } + AT_LEAST_ONE_SEP9(e) { + this.atLeastOneSepFirstInternal(9, e); + } + RULE(e, r, n = og) { + if (Fn(this.definedRulesNames, e)) { + let s = { + message: Ol.buildDuplicateRuleNameError({ + topLevelRule: e, + grammarName: this.className + }), + type: Pi.DUPLICATE_RULE_NAME, + ruleName: e + }; + this.definitionErrors.push(s); + } + this.definedRulesNames.push(e); + let i = this.defineRule(e, r, n); + return (this[e] = i), i; + } + OVERRIDE_RULE(e, r, n = og) { + let i = Jie(e, this.definedRulesNames, this.className); + this.definitionErrors = this.definitionErrors.concat(i); + let a = this.defineRule(e, r, n); + return (this[e] = a), a; + } + BACKTRACK(e, r) { + return function () { + this.isBackTrackingStack.push(1); + let n = this.saveRecogState(); + try { + return e.apply(this, r), !0; + } catch (i) { + if (nf(i)) return !1; + throw i; + } finally { + this.reloadRecogState(n), this.isBackTrackingStack.pop(); + } + }; + } + getGAstProductions() { + return this.gastProductionsCache; + } + getSerializedGastProductions() { + return NT(or(this.gastProductionsCache)); + } + }; + }); + var ck, + Tae = R(() => { + 'use strict'; + Pt(); + ek(); + ag(); + ng(); + c2(); + Ns(); + AN(); + l0(); + s0(); + ck = class { + static { + o(this, 'RecognizerEngine'); + } + initRecognizerEngine(e, r) { + if ( + ((this.className = this.constructor.name), + (this.shortRuleNameToFull = {}), + (this.fullRuleNameToShort = {}), + (this.ruleShortNameIdx = 256), + (this.tokenMatcher = Zm), + (this.subruleIdx = 0), + (this.definedRulesNames = []), + (this.tokensMap = {}), + (this.isBackTrackingStack = []), + (this.RULE_STACK = []), + (this.RULE_OCCURRENCE_STACK = []), + (this.gastProductionsCache = {}), + Xe(r, 'serializedGrammar')) + ) + throw Error(`The Parser's configuration can no longer contain a property. + See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 + For Further details.`); + if (wt(e)) { + if (Qt(e)) + throw Error(`A Token Vocabulary cannot be empty. + Note that the first argument for the parser constructor + is no longer a Token vector (since v4.0).`); + if (typeof e[0].startOffset == 'number') + throw Error(`The Parser constructor no longer accepts a token vector as the first argument. + See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0 + For Further details.`); + } + if (wt(e)) this.tokensMap = Vr(e, (a, s) => ((a[s.name] = s), a), {}); + else if (Xe(e, 'modes') && Ia(Gr(or(e.modes)), Die)) { + let a = Gr(or(e.modes)), + s = Pm(a); + this.tokensMap = Vr(s, (l, u) => ((l[u.name] = u), l), {}); + } else if (pn(e)) this.tokensMap = Qr(e); + else + throw new Error( + ' argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition' + ); + this.tokensMap.EOF = fo; + let n = Xe(e, 'modes') ? Gr(or(e.modes)) : or(e), + i = Ia(n, (a) => Qt(a.categoryMatches)); + (this.tokenMatcher = i ? Zm : Bu), Fu(or(this.tokensMap)); + } + defineRule(e, r, n) { + if (this.selfAnalysisDone) + throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called' +Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`); + let i = Xe(n, 'resyncEnabled') ? n.resyncEnabled : og.resyncEnabled, + a = Xe(n, 'recoveryValueFunc') ? n.recoveryValueFunc : og.recoveryValueFunc, + s = this.ruleShortNameIdx << 12; + this.ruleShortNameIdx++, (this.shortRuleNameToFull[s] = e), (this.fullRuleNameToShort[e] = s); + let l; + return ( + this.outputCst === !0 + ? (l = o(function (...f) { + try { + this.ruleInvocationStateUpdate(s, e, this.subruleIdx), r.apply(this, f); + let d = this.CST_STACK[this.CST_STACK.length - 1]; + return this.cstPostRule(d), d; + } catch (d) { + return this.invokeRuleCatch(d, i, a); + } finally { + this.ruleFinallyStateUpdate(); + } + }, 'invokeRuleWithTry')) + : (l = o(function (...f) { + try { + return this.ruleInvocationStateUpdate(s, e, this.subruleIdx), r.apply(this, f); + } catch (d) { + return this.invokeRuleCatch(d, i, a); + } finally { + this.ruleFinallyStateUpdate(); + } + }, 'invokeRuleWithTryCst')), + Object.assign(l, { ruleName: e, originalGrammarAction: r }) + ); + } + invokeRuleCatch(e, r, n) { + let i = this.RULE_STACK.length === 1, + a = r && !this.isBackTracking() && this.recoveryEnabled; + if (nf(e)) { + let s = e; + if (a) { + let l = this.findReSyncTokenType(); + if (this.isInCurrentRuleReSyncSet(l)) + if (((s.resyncedTokens = this.reSyncTo(l)), this.outputCst)) { + let u = this.CST_STACK[this.CST_STACK.length - 1]; + return (u.recoveredNode = !0), u; + } else return n(e); + else { + if (this.outputCst) { + let u = this.CST_STACK[this.CST_STACK.length - 1]; + (u.recoveredNode = !0), (s.partialCstResult = u); + } + throw s; + } + } else { + if (i) return this.moveToTerminatedState(), n(e); + throw s; + } + } else throw e; + } + optionInternal(e, r) { + let n = this.getKeyForAutomaticLookahead(512, r); + return this.optionInternalLogic(e, r, n); + } + optionInternalLogic(e, r, n) { + let i = this.getLaFuncFromCache(n), + a; + if (typeof e != 'function') { + a = e.DEF; + let s = e.GATE; + if (s !== void 0) { + let l = i; + i = o(() => s.call(this) && l.call(this), 'lookAheadFunc'); + } + } else a = e; + if (i.call(this) === !0) return a.call(this); + } + atLeastOneInternal(e, r) { + let n = this.getKeyForAutomaticLookahead(1024, e); + return this.atLeastOneInternalLogic(e, r, n); + } + atLeastOneInternalLogic(e, r, n) { + let i = this.getLaFuncFromCache(n), + a; + if (typeof r != 'function') { + a = r.DEF; + let s = r.GATE; + if (s !== void 0) { + let l = i; + i = o(() => s.call(this) && l.call(this), 'lookAheadFunc'); + } + } else a = r; + if (i.call(this) === !0) { + let s = this.doSingleRepetition(a); + for (; i.call(this) === !0 && s === !0; ) s = this.doSingleRepetition(a); + } else throw this.raiseEarlyExitException(e, $n.REPETITION_MANDATORY, r.ERR_MSG); + this.attemptInRepetitionRecovery(this.atLeastOneInternal, [e, r], i, 1024, e, YT); + } + atLeastOneSepFirstInternal(e, r) { + let n = this.getKeyForAutomaticLookahead(1536, e); + this.atLeastOneSepFirstInternalLogic(e, r, n); + } + atLeastOneSepFirstInternalLogic(e, r, n) { + let i = r.DEF, + a = r.SEP; + if (this.getLaFuncFromCache(n).call(this) === !0) { + i.call(this); + let l = o(() => this.tokenMatcher(this.LA(1), a), 'separatorLookAheadFunc'); + for (; this.tokenMatcher(this.LA(1), a) === !0; ) this.CONSUME(a), i.call(this); + this.attemptInRepetitionRecovery( + this.repetitionSepSecondInternal, + [e, a, l, i, l2], + l, + 1536, + e, + l2 + ); + } else throw this.raiseEarlyExitException(e, $n.REPETITION_MANDATORY_WITH_SEPARATOR, r.ERR_MSG); + } + manyInternal(e, r) { + let n = this.getKeyForAutomaticLookahead(768, e); + return this.manyInternalLogic(e, r, n); + } + manyInternalLogic(e, r, n) { + let i = this.getLaFuncFromCache(n), + a; + if (typeof r != 'function') { + a = r.DEF; + let l = r.GATE; + if (l !== void 0) { + let u = i; + i = o(() => l.call(this) && u.call(this), 'lookaheadFunction'); + } + } else a = r; + let s = !0; + for (; i.call(this) === !0 && s === !0; ) s = this.doSingleRepetition(a); + this.attemptInRepetitionRecovery(this.manyInternal, [e, r], i, 768, e, HT, s); + } + manySepFirstInternal(e, r) { + let n = this.getKeyForAutomaticLookahead(1280, e); + this.manySepFirstInternalLogic(e, r, n); + } + manySepFirstInternalLogic(e, r, n) { + let i = r.DEF, + a = r.SEP; + if (this.getLaFuncFromCache(n).call(this) === !0) { + i.call(this); + let l = o(() => this.tokenMatcher(this.LA(1), a), 'separatorLookAheadFunc'); + for (; this.tokenMatcher(this.LA(1), a) === !0; ) this.CONSUME(a), i.call(this); + this.attemptInRepetitionRecovery( + this.repetitionSepSecondInternal, + [e, a, l, i, o2], + l, + 1280, + e, + o2 + ); + } + } + repetitionSepSecondInternal(e, r, n, i, a) { + for (; n(); ) this.CONSUME(r), i.call(this); + this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal, [e, r, n, i, a], n, 1536, e, a); + } + doSingleRepetition(e) { + let r = this.getLexerPosition(); + return e.call(this), this.getLexerPosition() > r; + } + orInternal(e, r) { + let n = this.getKeyForAutomaticLookahead(256, r), + i = wt(e) ? e : e.DEF, + s = this.getLaFuncFromCache(n).call(this, i); + if (s !== void 0) return i[s].ALT.call(this); + this.raiseNoAltException(r, e.ERR_MSG); + } + ruleFinallyStateUpdate() { + if ( + (this.RULE_STACK.pop(), + this.RULE_OCCURRENCE_STACK.pop(), + this.cstFinallyStateUpdate(), + this.RULE_STACK.length === 0 && this.isAtEndOfInput() === !1) + ) { + let e = this.LA(1), + r = this.errorMessageProvider.buildNotAllInputParsedMessage({ + firstRedundant: e, + ruleName: this.getCurrRuleFullName() + }); + this.SAVE_ERROR(new p2(r, e)); + } + } + subruleInternal(e, r, n) { + let i; + try { + let a = n !== void 0 ? n.ARGS : void 0; + return ( + (this.subruleIdx = r), + (i = e.apply(this, a)), + this.cstPostNonTerminal(i, n !== void 0 && n.LABEL !== void 0 ? n.LABEL : e.ruleName), + i + ); + } catch (a) { + throw this.subruleInternalError(a, n, e.ruleName); + } + } + subruleInternalError(e, r, n) { + throw ( + (nf(e) && + e.partialCstResult !== void 0 && + (this.cstPostNonTerminal( + e.partialCstResult, + r !== void 0 && r.LABEL !== void 0 ? r.LABEL : n + ), + delete e.partialCstResult), + e) + ); + } + consumeInternal(e, r, n) { + let i; + try { + let a = this.LA(1); + this.tokenMatcher(a, e) === !0 + ? (this.consumeToken(), (i = a)) + : this.consumeInternalError(e, a, n); + } catch (a) { + i = this.consumeInternalRecovery(e, r, a); + } + return this.cstPostTerminal(n !== void 0 && n.LABEL !== void 0 ? n.LABEL : e.name, i), i; + } + consumeInternalError(e, r, n) { + let i, + a = this.LA(0); + throw ( + (n !== void 0 && n.ERR_MSG + ? (i = n.ERR_MSG) + : (i = this.errorMessageProvider.buildMismatchTokenMessage({ + expected: e, + actual: r, + previous: a, + ruleName: this.getCurrRuleFullName() + })), + this.SAVE_ERROR(new c0(i, r, a))) + ); + } + consumeInternalRecovery(e, r, n) { + if (this.recoveryEnabled && n.name === 'MismatchedTokenException' && !this.isBackTracking()) { + let i = this.getFollowsForInRuleRecovery(e, r); + try { + return this.tryInRuleRecovery(e, i); + } catch (a) { + throw a.name === SN ? n : a; + } + } else throw n; + } + saveRecogState() { + let e = this.errors, + r = Qr(this.RULE_STACK); + return { + errors: e, + lexerState: this.exportLexerState(), + RULE_STACK: r, + CST_STACK: this.CST_STACK + }; + } + reloadRecogState(e) { + (this.errors = e.errors), this.importLexerState(e.lexerState), (this.RULE_STACK = e.RULE_STACK); + } + ruleInvocationStateUpdate(e, r, n) { + this.RULE_OCCURRENCE_STACK.push(n), this.RULE_STACK.push(e), this.cstInvocationStateUpdate(r); + } + isBackTracking() { + return this.isBackTrackingStack.length !== 0; + } + getCurrRuleFullName() { + let e = this.getLastExplicitRuleShortName(); + return this.shortRuleNameToFull[e]; + } + shortRuleNameToFullName(e) { + return this.shortRuleNameToFull[e]; + } + isAtEndOfInput() { + return this.tokenMatcher(this.LA(1), fo); + } + reset() { + this.resetLexerState(), + (this.subruleIdx = 0), + (this.isBackTrackingStack = []), + (this.errors = []), + (this.RULE_STACK = []), + (this.CST_STACK = []), + (this.RULE_OCCURRENCE_STACK = []); + } + }; + }); + var uk, + kae = R(() => { + 'use strict'; + ag(); + Pt(); + ng(); + Ns(); + uk = class { + static { + o(this, 'ErrorHandler'); + } + initErrorHandler(e) { + (this._errors = []), + (this.errorMessageProvider = Xe(e, 'errorMessageProvider') + ? e.errorMessageProvider + : is.errorMessageProvider); + } + SAVE_ERROR(e) { + if (nf(e)) + return ( + (e.context = { + ruleStack: this.getHumanReadableRuleStack(), + ruleOccurrenceStack: Qr(this.RULE_OCCURRENCE_STACK) + }), + this._errors.push(e), + e + ); + throw Error('Trying to save an Error which is not a RecognitionException'); + } + get errors() { + return Qr(this._errors); + } + set errors(e) { + this._errors = e; + } + raiseEarlyExitException(e, r, n) { + let i = this.getCurrRuleFullName(), + a = this.getGAstProductions()[i], + l = rg(e, a, r, this.maxLookahead)[0], + u = []; + for (let f = 1; f <= this.maxLookahead; f++) u.push(this.LA(f)); + let h = this.errorMessageProvider.buildEarlyExitMessage({ + expectedIterationPaths: l, + actual: u, + previous: this.LA(0), + customUserDescription: n, + ruleName: i + }); + throw this.SAVE_ERROR(new m2(h, this.LA(1), this.LA(0))); + } + raiseNoAltException(e, r) { + let n = this.getCurrRuleFullName(), + i = this.getGAstProductions()[n], + a = tg(e, i, this.maxLookahead), + s = []; + for (let h = 1; h <= this.maxLookahead; h++) s.push(this.LA(h)); + let l = this.LA(0), + u = this.errorMessageProvider.buildNoViableAltMessage({ + expectedPathsPerAlt: a, + actual: s, + previous: l, + customUserDescription: r, + ruleName: this.getCurrRuleFullName() + }); + throw this.SAVE_ERROR(new d2(u, this.LA(1), l)); + } + }; + }); + var hk, + Eae = R(() => { + 'use strict'; + c2(); + Pt(); + hk = class { + static { + o(this, 'ContentAssist'); + } + initContentAssist() {} + computeContentAssist(e, r) { + let n = this.gastProductionsCache[e]; + if (er(n)) throw Error(`Rule ->${e}<- does not exist in this grammar.`); + return qT([n], r, this.tokenMatcher, this.maxLookahead); + } + getNextPossibleTokenTypes(e) { + let r = na(e.ruleStack), + i = this.getGAstProductions()[r]; + return new UT(i, e).startWalking(); + } + }; + }); + function y2(t, e, r, n = !1) { + dk(r); + let i = ma(this.recordingProdStack), + a = wi(e) ? e : e.DEF, + s = new t({ definition: [], idx: r }); + return ( + n && (s.separator = e.SEP), + Xe(e, 'MAX_LOOKAHEAD') && (s.maxLookahead = e.MAX_LOOKAHEAD), + this.recordingProdStack.push(s), + a.call(this), + i.definition.push(s), + this.recordingProdStack.pop(), + pk + ); + } + function UIe(t, e) { + dk(e); + let r = ma(this.recordingProdStack), + n = wt(t) === !1, + i = n === !1 ? t : t.DEF, + a = new gn({ + definition: [], + idx: e, + ignoreAmbiguities: n && t.IGNORE_AMBIGUITIES === !0 + }); + Xe(t, 'MAX_LOOKAHEAD') && (a.maxLookahead = t.MAX_LOOKAHEAD); + let s = Nv(i, (l) => wi(l.GATE)); + return ( + (a.hasPredicates = s), + r.definition.push(a), + Ee(i, (l) => { + let u = new Sn({ definition: [] }); + a.definition.push(u), + Xe(l, 'IGNORE_AMBIGUITIES') + ? (u.ignoreAmbiguities = l.IGNORE_AMBIGUITIES) + : Xe(l, 'GATE') && (u.ignoreAmbiguities = !0), + this.recordingProdStack.push(u), + l.ALT.call(this), + this.recordingProdStack.pop(); + }), + pk + ); + } + function Aae(t) { + return t === 0 ? '' : `${t}`; + } + function dk(t) { + if (t < 0 || t > Sae) { + let e = new Error(`Invalid DSL Method idx value: <${t}> + Idx value must be a none negative value smaller than ${Sae + 1}`); + throw ((e.KNOWN_RECORDER_ERROR = !0), e); + } + } + var pk, + Cae, + Sae, + _ae, + Lae, + VIe, + fk, + Dae = R(() => { + 'use strict'; + Pt(); + ns(); + i2(); + s0(); + l0(); + Ns(); + ek(); + pk = { + description: 'This Object indicates the Parser is during Recording Phase' + }; + Object.freeze(pk); + (Cae = !0), (Sae = Math.pow(2, 8) - 1), (_ae = VT({ name: 'RECORDING_PHASE_TOKEN', pattern: ni.NA })); + Fu([_ae]); + Lae = o0( + _ae, + `This IToken indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`, + -1, + -1, + -1, + -1, + -1, + -1 + ); + Object.freeze(Lae); + (VIe = { + name: `This CSTNode indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`, + children: {} + }), + (fk = class { + static { + o(this, 'GastRecorder'); + } + initGastRecorder(e) { + (this.recordingProdStack = []), (this.RECORDING_PHASE = !1); + } + enableRecording() { + (this.RECORDING_PHASE = !0), + this.TRACE_INIT('Enable Recording', () => { + for (let e = 0; e < 10; e++) { + let r = e > 0 ? e : ''; + (this[`CONSUME${r}`] = function (n, i) { + return this.consumeInternalRecord(n, e, i); + }), + (this[`SUBRULE${r}`] = function (n, i) { + return this.subruleInternalRecord(n, e, i); + }), + (this[`OPTION${r}`] = function (n) { + return this.optionInternalRecord(n, e); + }), + (this[`OR${r}`] = function (n) { + return this.orInternalRecord(n, e); + }), + (this[`MANY${r}`] = function (n) { + this.manyInternalRecord(e, n); + }), + (this[`MANY_SEP${r}`] = function (n) { + this.manySepFirstInternalRecord(e, n); + }), + (this[`AT_LEAST_ONE${r}`] = function (n) { + this.atLeastOneInternalRecord(e, n); + }), + (this[`AT_LEAST_ONE_SEP${r}`] = function (n) { + this.atLeastOneSepFirstInternalRecord(e, n); + }); + } + (this.consume = function (e, r, n) { + return this.consumeInternalRecord(r, e, n); + }), + (this.subrule = function (e, r, n) { + return this.subruleInternalRecord(r, e, n); + }), + (this.option = function (e, r) { + return this.optionInternalRecord(r, e); + }), + (this.or = function (e, r) { + return this.orInternalRecord(r, e); + }), + (this.many = function (e, r) { + this.manyInternalRecord(e, r); + }), + (this.atLeastOne = function (e, r) { + this.atLeastOneInternalRecord(e, r); + }), + (this.ACTION = this.ACTION_RECORD), + (this.BACKTRACK = this.BACKTRACK_RECORD), + (this.LA = this.LA_RECORD); + }); + } + disableRecording() { + (this.RECORDING_PHASE = !1), + this.TRACE_INIT('Deleting Recording methods', () => { + let e = this; + for (let r = 0; r < 10; r++) { + let n = r > 0 ? r : ''; + delete e[`CONSUME${n}`], + delete e[`SUBRULE${n}`], + delete e[`OPTION${n}`], + delete e[`OR${n}`], + delete e[`MANY${n}`], + delete e[`MANY_SEP${n}`], + delete e[`AT_LEAST_ONE${n}`], + delete e[`AT_LEAST_ONE_SEP${n}`]; + } + delete e.consume, + delete e.subrule, + delete e.option, + delete e.or, + delete e.many, + delete e.atLeastOne, + delete e.ACTION, + delete e.BACKTRACK, + delete e.LA; + }); + } + ACTION_RECORD(e) {} + BACKTRACK_RECORD(e, r) { + return () => !0; + } + LA_RECORD(e) { + return sg; + } + topLevelRuleRecord(e, r) { + try { + let n = new ts({ definition: [], name: e }); + return ( + (n.name = e), + this.recordingProdStack.push(n), + r.call(this), + this.recordingProdStack.pop(), + n + ); + } catch (n) { + if (n.KNOWN_RECORDER_ERROR !== !0) + try { + n.message = + n.message + + ` + This error was thrown during the "grammar recording phase" For more info see: + https://chevrotain.io/docs/guide/internals.html#grammar-recording`; + } catch { + throw n; + } + throw n; + } + } + optionInternalRecord(e, r) { + return y2.call(this, Jr, e, r); + } + atLeastOneInternalRecord(e, r) { + y2.call(this, An, r, e); + } + atLeastOneSepFirstInternalRecord(e, r) { + y2.call(this, _n, r, e, Cae); + } + manyInternalRecord(e, r) { + y2.call(this, br, r, e); + } + manySepFirstInternalRecord(e, r) { + y2.call(this, mn, r, e, Cae); + } + orInternalRecord(e, r) { + return UIe.call(this, e, r); + } + subruleInternalRecord(e, r, n) { + if ((dk(r), !e || Xe(e, 'ruleName') === !1)) { + let l = new Error(` argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`); + throw ((l.KNOWN_RECORDER_ERROR = !0), l); + } + let i = ma(this.recordingProdStack), + a = e.ruleName, + s = new Zr({ + idx: r, + nonTerminalName: a, + label: n?.LABEL, + referencedRule: void 0 + }); + return i.definition.push(s), this.outputCst ? VIe : pk; + } + consumeInternalRecord(e, r, n) { + if ((dk(r), !dN(e))) { + let s = new Error(` argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`); + throw ((s.KNOWN_RECORDER_ERROR = !0), s); + } + let i = ma(this.recordingProdStack), + a = new fr({ idx: r, terminalType: e, label: n?.LABEL }); + return i.definition.push(a), Lae; + } + }); + o(y2, 'recordProd'); + o(UIe, 'recordOrProd'); + o(Aae, 'getIdxSuffix'); + o(dk, 'assertMethodIdxIsValid'); + }); + var mk, + Rae = R(() => { + 'use strict'; + Pt(); + qm(); + Ns(); + mk = class { + static { + o(this, 'PerformanceTracer'); + } + initPerformanceTracer(e) { + if (Xe(e, 'traceInitPerf')) { + let r = e.traceInitPerf, + n = typeof r == 'number'; + (this.traceInitMaxIdent = n ? r : 1 / 0), (this.traceInitPerf = n ? r > 0 : r); + } else (this.traceInitMaxIdent = 0), (this.traceInitPerf = is.traceInitPerf); + this.traceInitIndent = -1; + } + TRACE_INIT(e, r) { + if (this.traceInitPerf === !0) { + this.traceInitIndent++; + let n = new Array(this.traceInitIndent + 1).join(' '); + this.traceInitIndent < this.traceInitMaxIdent && console.log(`${n}--> <${e}>`); + let { time: i, value: a } = t2(r), + s = i > 10 ? console.warn : console.log; + return ( + this.traceInitIndent < this.traceInitMaxIdent && s(`${n}<-- <${e}> time: ${i}ms`), + this.traceInitIndent--, + a + ); + } else return r(); + } + }; + }); + function Nae(t, e) { + e.forEach((r) => { + let n = r.prototype; + Object.getOwnPropertyNames(n).forEach((i) => { + if (i === 'constructor') return; + let a = Object.getOwnPropertyDescriptor(n, i); + a && (a.get || a.set) ? Object.defineProperty(t.prototype, i, a) : (t.prototype[i] = r.prototype[i]); + }); + }); + } + var Mae = R(() => { + 'use strict'; + o(Nae, 'applyMixins'); + }); + function gk(t = void 0) { + return function () { + return t; + }; + } + var sg, + is, + og, + Pi, + v2, + x2, + Ns = R(() => { + 'use strict'; + Pt(); + qm(); + cie(); + l0(); + Jm(); + aae(); + AN(); + hae(); + xae(); + bae(); + wae(); + Tae(); + kae(); + Eae(); + Dae(); + Rae(); + Mae(); + f2(); + sg = o0(fo, '', NaN, NaN, NaN, NaN, NaN, NaN); + Object.freeze(sg); + (is = Object.freeze({ + recoveryEnabled: !1, + maxLookahead: 3, + dynamicTokensEnabled: !1, + outputCst: !0, + errorMessageProvider: Gu, + nodeLocationTracking: 'none', + traceInitPerf: !1, + skipValidations: !1 + })), + (og = Object.freeze({ + recoveryValueFunc: o(() => {}, 'recoveryValueFunc'), + resyncEnabled: !0 + })); + (function (t) { + (t[(t.INVALID_RULE_NAME = 0)] = 'INVALID_RULE_NAME'), + (t[(t.DUPLICATE_RULE_NAME = 1)] = 'DUPLICATE_RULE_NAME'), + (t[(t.INVALID_RULE_OVERRIDE = 2)] = 'INVALID_RULE_OVERRIDE'), + (t[(t.DUPLICATE_PRODUCTIONS = 3)] = 'DUPLICATE_PRODUCTIONS'), + (t[(t.UNRESOLVED_SUBRULE_REF = 4)] = 'UNRESOLVED_SUBRULE_REF'), + (t[(t.LEFT_RECURSION = 5)] = 'LEFT_RECURSION'), + (t[(t.NONE_LAST_EMPTY_ALT = 6)] = 'NONE_LAST_EMPTY_ALT'), + (t[(t.AMBIGUOUS_ALTS = 7)] = 'AMBIGUOUS_ALTS'), + (t[(t.CONFLICT_TOKENS_RULES_NAMESPACE = 8)] = 'CONFLICT_TOKENS_RULES_NAMESPACE'), + (t[(t.INVALID_TOKEN_NAME = 9)] = 'INVALID_TOKEN_NAME'), + (t[(t.NO_NON_EMPTY_LOOKAHEAD = 10)] = 'NO_NON_EMPTY_LOOKAHEAD'), + (t[(t.AMBIGUOUS_PREFIX_ALTS = 11)] = 'AMBIGUOUS_PREFIX_ALTS'), + (t[(t.TOO_MANY_ALTS = 12)] = 'TOO_MANY_ALTS'), + (t[(t.CUSTOM_LOOKAHEAD_VALIDATION = 13)] = 'CUSTOM_LOOKAHEAD_VALIDATION'); + })(Pi || (Pi = {})); + o(gk, 'EMPTY_ALT'); + v2 = class t { + static { + o(this, 'Parser'); + } + static performSelfAnalysis(e) { + throw Error( + 'The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.' + ); + } + performSelfAnalysis() { + this.TRACE_INIT('performSelfAnalysis', () => { + let e; + this.selfAnalysisDone = !0; + let r = this.className; + this.TRACE_INIT('toFastProps', () => { + r2(this); + }), + this.TRACE_INIT('Grammar Recording', () => { + try { + this.enableRecording(), + Ee(this.definedRulesNames, (i) => { + let s = this[i].originalGrammarAction, + l; + this.TRACE_INIT(`${i} Rule`, () => { + l = this.topLevelRuleRecord(i, s); + }), + (this.gastProductionsCache[i] = l); + }); + } finally { + this.disableRecording(); + } + }); + let n = []; + if ( + (this.TRACE_INIT('Grammar Resolving', () => { + (n = nae({ rules: or(this.gastProductionsCache) })), + (this.definitionErrors = this.definitionErrors.concat(n)); + }), + this.TRACE_INIT('Grammar Validations', () => { + if (Qt(n) && this.skipValidations === !1) { + let i = iae({ + rules: or(this.gastProductionsCache), + tokenTypes: or(this.tokensMap), + errMsgProvider: Ol, + grammarName: r + }), + a = Kie({ + lookaheadStrategy: this.lookaheadStrategy, + rules: or(this.gastProductionsCache), + tokenTypes: or(this.tokensMap), + grammarName: r + }); + this.definitionErrors = this.definitionErrors.concat(i, a); + } + }), + Qt(this.definitionErrors) && + (this.recoveryEnabled && + this.TRACE_INIT('computeAllProdsFollows', () => { + let i = lie(or(this.gastProductionsCache)); + this.resyncFollows = i; + }), + this.TRACE_INIT('ComputeLookaheadFunctions', () => { + var i, a; + (a = (i = this.lookaheadStrategy).initialize) === null || + a === void 0 || + a.call(i, { rules: or(this.gastProductionsCache) }), + this.preComputeLookaheadFunctions(or(this.gastProductionsCache)); + })), + !t.DEFER_DEFINITION_ERRORS_HANDLING && !Qt(this.definitionErrors)) + ) + throw ( + ((e = qe(this.definitionErrors, (i) => i.message)), + new Error(`Parser Definition Errors detected: + ${e.join(` +------------------------------- +`)}`)) + ); + }); + } + constructor(e, r) { + (this.definitionErrors = []), (this.selfAnalysisDone = !1); + let n = this; + if ( + (n.initErrorHandler(r), + n.initLexerAdapter(), + n.initLooksAhead(r), + n.initRecognizerEngine(e, r), + n.initRecoverable(r), + n.initTreeBuilder(r), + n.initContentAssist(), + n.initGastRecorder(r), + n.initPerformanceTracer(r), + Xe(r, 'ignoredIssues')) + ) + throw new Error(`The IParserConfig property has been deprecated. + Please use the flag on the relevant DSL method instead. + See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES + For further details.`); + this.skipValidations = Xe(r, 'skipValidations') ? r.skipValidations : is.skipValidations; + } + }; + v2.DEFER_DEFINITION_ERRORS_HANDLING = !1; + Nae(v2, [ZT, rk, sk, ok, ck, lk, uk, hk, fk, mk]); + x2 = class extends v2 { + static { + o(this, 'EmbeddedActionsParser'); + } + constructor(e, r = is) { + let n = Qr(r); + (n.outputCst = !1), super(e, n); + } + }; + }); + var Iae = R(() => { + 'use strict'; + ns(); + }); + var Oae = R(() => { + 'use strict'; + }); + var Pae = R(() => { + 'use strict'; + Iae(); + Oae(); + }); + var Bae = R(() => { + 'use strict'; + tN(); + }); + var u0 = R(() => { + 'use strict'; + tN(); + Ns(); + i2(); + l0(); + ng(); + _N(); + Jm(); + ag(); + mN(); + ns(); + ns(); + Pae(); + Bae(); + }); + function h0(t, e, r) { + return `${t.name}_${e}_${r}`; + } + function $ae(t) { + let e = { + decisionMap: {}, + decisionStates: [], + ruleToStartState: new Map(), + ruleToStopState: new Map(), + states: [] + }; + KIe(e, t); + let r = t.length; + for (let n = 0; n < r; n++) { + let i = t[n], + a = f0(e, i, i); + a !== void 0 && oOe(e, i, a); + } + return e; + } + function KIe(t, e) { + let r = e.length; + for (let n = 0; n < r; n++) { + let i = e[n], + a = ia(t, i, void 0, { type: YIe }), + s = ia(t, i, void 0, { type: ug }); + (a.stop = s), t.ruleToStartState.set(i, a), t.ruleToStopState.set(i, s); + } + } + function Vae(t, e, r) { + return r instanceof fr + ? BN(t, e, r.terminalType, r) + : r instanceof Zr + ? sOe(t, e, r) + : r instanceof gn + ? tOe(t, e, r) + : r instanceof Jr + ? rOe(t, e, r) + : r instanceof br + ? QIe(t, e, r) + : r instanceof mn + ? ZIe(t, e, r) + : r instanceof An + ? JIe(t, e, r) + : r instanceof _n + ? eOe(t, e, r) + : f0(t, e, r); + } + function QIe(t, e, r) { + let n = ia(t, e, r, { type: zae }); + sf(t, n); + let i = hg(t, e, n, r, f0(t, e, r)); + return Hae(t, e, r, i); + } + function ZIe(t, e, r) { + let n = ia(t, e, r, { type: zae }); + sf(t, n); + let i = hg(t, e, n, r, f0(t, e, r)), + a = BN(t, e, r.separator, r); + return Hae(t, e, r, i, a); + } + function JIe(t, e, r) { + let n = ia(t, e, r, { type: Fae }); + sf(t, n); + let i = hg(t, e, n, r, f0(t, e, r)); + return Uae(t, e, r, i); + } + function eOe(t, e, r) { + let n = ia(t, e, r, { type: Fae }); + sf(t, n); + let i = hg(t, e, n, r, f0(t, e, r)), + a = BN(t, e, r.separator, r); + return Uae(t, e, r, i, a); + } + function tOe(t, e, r) { + let n = ia(t, e, r, { type: af }); + sf(t, n); + let i = qe(r.definition, (s) => Vae(t, e, s)); + return hg(t, e, n, r, ...i); + } + function rOe(t, e, r) { + let n = ia(t, e, r, { type: af }); + sf(t, n); + let i = hg(t, e, n, r, f0(t, e, r)); + return nOe(t, e, r, i); + } + function f0(t, e, r) { + let n = $r( + qe(r.definition, (i) => Vae(t, e, i)), + (i) => i !== void 0 + ); + return n.length === 1 ? n[0] : n.length === 0 ? void 0 : aOe(t, n); + } + function Uae(t, e, r, n, i) { + let a = n.left, + s = n.right, + l = ia(t, e, r, { type: jIe }); + sf(t, l); + let u = ia(t, e, r, { type: Gae }); + return ( + (a.loopback = l), + (u.loopback = l), + (t.decisionMap[h0(e, i ? 'RepetitionMandatoryWithSeparator' : 'RepetitionMandatory', r.idx)] = l), + Ei(s, l), + i === void 0 ? (Ei(l, a), Ei(l, u)) : (Ei(l, u), Ei(l, i.left), Ei(i.right, a)), + { left: a, right: u } + ); + } + function Hae(t, e, r, n, i) { + let a = n.left, + s = n.right, + l = ia(t, e, r, { type: XIe }); + sf(t, l); + let u = ia(t, e, r, { type: Gae }), + h = ia(t, e, r, { type: qIe }); + return ( + (l.loopback = h), + (u.loopback = h), + Ei(l, a), + Ei(l, u), + Ei(s, h), + i !== void 0 ? (Ei(h, u), Ei(h, i.left), Ei(i.right, a)) : Ei(h, l), + (t.decisionMap[h0(e, i ? 'RepetitionWithSeparator' : 'Repetition', r.idx)] = l), + { left: l, right: u } + ); + } + function nOe(t, e, r, n) { + let i = n.left, + a = n.right; + return Ei(i, a), (t.decisionMap[h0(e, 'Option', r.idx)] = i), n; + } + function sf(t, e) { + return t.decisionStates.push(e), (e.decision = t.decisionStates.length - 1), e.decision; + } + function hg(t, e, r, n, ...i) { + let a = ia(t, e, n, { type: WIe, start: r }); + r.end = a; + for (let l of i) l !== void 0 ? (Ei(r, l.left), Ei(l.right, a)) : Ei(r, a); + let s = { left: r, right: a }; + return (t.decisionMap[h0(e, iOe(n), n.idx)] = r), s; + } + function iOe(t) { + if (t instanceof gn) return 'Alternation'; + if (t instanceof Jr) return 'Option'; + if (t instanceof br) return 'Repetition'; + if (t instanceof mn) return 'RepetitionWithSeparator'; + if (t instanceof An) return 'RepetitionMandatory'; + if (t instanceof _n) return 'RepetitionMandatoryWithSeparator'; + throw new Error('Invalid production type encountered'); + } + function aOe(t, e) { + let r = e.length; + for (let a = 0; a < r - 1; a++) { + let s = e[a], + l; + s.left.transitions.length === 1 && (l = s.left.transitions[0]); + let u = l instanceof cg, + h = l, + f = e[a + 1].left; + s.left.type === af && + s.right.type === af && + l !== void 0 && + ((u && h.followState === s.right) || l.target === s.right) + ? (u ? (h.followState = f) : (l.target = f), lOe(t, s.right)) + : Ei(s.right, f); + } + let n = e[0], + i = e[r - 1]; + return { left: n.left, right: i.right }; + } + function BN(t, e, r, n) { + let i = ia(t, e, n, { type: af }), + a = ia(t, e, n, { type: af }); + return FN(i, new lg(a, r)), { left: i, right: a }; + } + function sOe(t, e, r) { + let n = r.referencedRule, + i = t.ruleToStartState.get(n), + a = ia(t, e, r, { type: af }), + s = ia(t, e, r, { type: af }), + l = new cg(i, n, s); + return FN(a, l), { left: a, right: s }; + } + function oOe(t, e, r) { + let n = t.ruleToStartState.get(e); + Ei(n, r.left); + let i = t.ruleToStopState.get(e); + return Ei(r.right, i), { left: n, right: i }; + } + function Ei(t, e) { + let r = new w2(e); + FN(t, r); + } + function ia(t, e, r, n) { + let i = Object.assign( + { + atn: t, + production: r, + epsilonOnlyTransitions: !1, + rule: e, + transitions: [], + nextTokenWithinRule: [], + stateNumber: t.states.length + }, + n + ); + return t.states.push(i), i; + } + function FN(t, e) { + t.transitions.length === 0 && (t.epsilonOnlyTransitions = e.isEpsilon()), t.transitions.push(e); + } + function lOe(t, e) { + t.states.splice(t.states.indexOf(e), 1); + } + var af, + YIe, + Fae, + zae, + ug, + WIe, + qIe, + XIe, + jIe, + Gae, + b2, + lg, + w2, + cg, + Yae = R(() => { + 'use strict'; + Mm(); + LL(); + u0(); + o(h0, 'buildATNKey'); + (af = 1), + (YIe = 2), + (Fae = 4), + (zae = 5), + (ug = 7), + (WIe = 8), + (qIe = 9), + (XIe = 10), + (jIe = 11), + (Gae = 12), + (b2 = class { + static { + o(this, 'AbstractTransition'); + } + constructor(e) { + this.target = e; + } + isEpsilon() { + return !1; + } + }), + (lg = class extends b2 { + static { + o(this, 'AtomTransition'); + } + constructor(e, r) { + super(e), (this.tokenType = r); + } + }), + (w2 = class extends b2 { + static { + o(this, 'EpsilonTransition'); + } + constructor(e) { + super(e); + } + isEpsilon() { + return !0; + } + }), + (cg = class extends b2 { + static { + o(this, 'RuleTransition'); + } + constructor(e, r, n) { + super(e), (this.rule = r), (this.followState = n); + } + isEpsilon() { + return !0; + } + }); + o($ae, 'createATN'); + o(KIe, 'createRuleStartAndStopATNStates'); + o(Vae, 'atom'); + o(QIe, 'repetition'); + o(ZIe, 'repetitionSep'); + o(JIe, 'repetitionMandatory'); + o(eOe, 'repetitionMandatorySep'); + o(tOe, 'alternation'); + o(rOe, 'option'); + o(f0, 'block'); + o(Uae, 'plus'); + o(Hae, 'star'); + o(nOe, 'optional'); + o(sf, 'defineDecisionState'); + o(hg, 'makeAlts'); + o(iOe, 'getProdType'); + o(aOe, 'makeBlock'); + o(BN, 'tokenRef'); + o(sOe, 'ruleRef'); + o(oOe, 'buildRuleHandle'); + o(Ei, 'epsilon'); + o(ia, 'newState'); + o(FN, 'addTransition'); + o(lOe, 'removeState'); + }); + function zN(t, e = !0) { + return `${e ? `a${t.alt}` : ''}s${t.state.stateNumber}:${t.stack + .map((r) => r.stateNumber.toString()) + .join('_')}`; + } + var T2, + fg, + Wae = R(() => { + 'use strict'; + Mm(); + (T2 = {}), + (fg = class { + static { + o(this, 'ATNConfigSet'); + } + constructor() { + (this.map = {}), (this.configs = []); + } + get size() { + return this.configs.length; + } + finalize() { + this.map = {}; + } + add(e) { + let r = zN(e); + r in this.map || ((this.map[r] = this.configs.length), this.configs.push(e)); + } + get elements() { + return this.configs; + } + get alts() { + return qe(this.configs, (e) => e.alt); + } + get key() { + let e = ''; + for (let r in this.map) e += r + ':'; + return e; + } + }); + o(zN, 'getATNConfigKey'); + }); + function cOe(t, e) { + let r = {}; + return (n) => { + let i = n.toString(), + a = r[i]; + return a !== void 0 || ((a = { atnStartState: t, decision: e, states: {} }), (r[i] = a)), a; + }; + } + function Xae(t, e = !0) { + let r = new Set(); + for (let n of t) { + let i = new Set(); + for (let a of n) { + if (a === void 0) { + if (e) break; + return !1; + } + let s = [a.tokenTypeIdx].concat(a.categoryMatches); + for (let l of s) + if (r.has(l)) { + if (!i.has(l)) return !1; + } else r.add(l), i.add(l); + } + } + return !0; + } + function uOe(t) { + let e = t.decisionStates.length, + r = Array(e); + for (let n = 0; n < e; n++) r[n] = cOe(t.decisionStates[n], n); + return r; + } + function GN(t, e, r, n) { + let i = t[e](r), + a = i.start; + if (a === void 0) { + let l = wOe(i.atnStartState); + (a = Qae(i, Kae(l))), (i.start = a); + } + return hOe.apply(this, [i, a, r, n]); + } + function hOe(t, e, r, n) { + let i = e, + a = 1, + s = [], + l = this.LA(a++); + for (;;) { + let u = yOe(i, l); + if ((u === void 0 && (u = fOe.apply(this, [t, i, l, a, r, n])), u === T2)) return gOe(s, i, l); + if (u.isAcceptState === !0) return u.prediction; + (i = u), s.push(l), (l = this.LA(a++)); + } + } + function fOe(t, e, r, n, i, a) { + let s = vOe(e.configs, r, i); + if (s.size === 0) return jae(t, e, r, T2), T2; + let l = Kae(s), + u = bOe(s, i); + if (u !== void 0) (l.isAcceptState = !0), (l.prediction = u), (l.configs.uniqueAlt = u); + else if (COe(s)) { + let h = Ll(s.alts); + (l.isAcceptState = !0), (l.prediction = h), (l.configs.uniqueAlt = h), dOe.apply(this, [t, n, s.alts, a]); + } + return (l = jae(t, e, r, l)), l; + } + function dOe(t, e, r, n) { + let i = []; + for (let h = 1; h <= e; h++) i.push(this.LA(h).tokenType); + let a = t.atnStartState, + s = a.rule, + l = a.production, + u = pOe({ + topLevelRule: s, + ambiguityIndices: r, + production: l, + prefixPath: i + }); + n(u); + } + function pOe(t) { + let e = qe(t.prefixPath, (i) => zu(i)).join(', '), + r = t.production.idx === 0 ? '' : t.production.idx, + n = `Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(', ')}> in <${mOe( + t.production + )}${r}> inside <${t.topLevelRule.name}> Rule, +<${e}> may appears as a prefix path in all these alternatives. +`; + return ( + (n = + n + + `See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES +For Further details.`), + n + ); + } + function mOe(t) { + if (t instanceof Zr) return 'SUBRULE'; + if (t instanceof Jr) return 'OPTION'; + if (t instanceof gn) return 'OR'; + if (t instanceof An) return 'AT_LEAST_ONE'; + if (t instanceof _n) return 'AT_LEAST_ONE_SEP'; + if (t instanceof mn) return 'MANY_SEP'; + if (t instanceof br) return 'MANY'; + if (t instanceof fr) return 'CONSUME'; + throw Error('non exhaustive match'); + } + function gOe(t, e, r) { + let n = ga(e.configs.elements, (a) => a.state.transitions), + i = nte( + n.filter((a) => a instanceof lg).map((a) => a.tokenType), + (a) => a.tokenTypeIdx + ); + return { actualToken: r, possibleTokenTypes: i, tokenPath: t }; + } + function yOe(t, e) { + return t.edges[e.tokenTypeIdx]; + } + function vOe(t, e, r) { + let n = new fg(), + i = []; + for (let s of t.elements) { + if (r.is(s.alt) === !1) continue; + if (s.state.type === ug) { + i.push(s); + continue; + } + let l = s.state.transitions.length; + for (let u = 0; u < l; u++) { + let h = s.state.transitions[u], + f = xOe(h, e); + f !== void 0 && n.add({ state: f, alt: s.alt, stack: s.stack }); + } + } + let a; + if ((i.length === 0 && n.size === 1 && (a = n), a === void 0)) { + a = new fg(); + for (let s of n.elements) vk(s, a); + } + if (i.length > 0 && !kOe(a)) for (let s of i) a.add(s); + return a; + } + function xOe(t, e) { + if (t instanceof lg && s2(e, t.tokenType)) return t.target; + } + function bOe(t, e) { + let r; + for (let n of t.elements) + if (e.is(n.alt) === !0) { + if (r === void 0) r = n.alt; + else if (r !== n.alt) return; + } + return r; + } + function Kae(t) { + return { configs: t, edges: {}, isAcceptState: !1, prediction: -1 }; + } + function jae(t, e, r, n) { + return (n = Qae(t, n)), (e.edges[r.tokenTypeIdx] = n), n; + } + function Qae(t, e) { + if (e === T2) return e; + let r = e.configs.key, + n = t.states[r]; + return n !== void 0 ? n : (e.configs.finalize(), (t.states[r] = e), e); + } + function wOe(t) { + let e = new fg(), + r = t.transitions.length; + for (let n = 0; n < r; n++) { + let a = { state: t.transitions[n].target, alt: n, stack: [] }; + vk(a, e); + } + return e; + } + function vk(t, e) { + let r = t.state; + if (r.type === ug) { + if (t.stack.length > 0) { + let i = [...t.stack], + s = { state: i.pop(), alt: t.alt, stack: i }; + vk(s, e); + } else e.add(t); + return; + } + r.epsilonOnlyTransitions || e.add(t); + let n = r.transitions.length; + for (let i = 0; i < n; i++) { + let a = r.transitions[i], + s = TOe(t, a); + s !== void 0 && vk(s, e); + } + } + function TOe(t, e) { + if (e instanceof w2) return { state: e.target, alt: t.alt, stack: t.stack }; + if (e instanceof cg) { + let r = [...t.stack, e.followState]; + return { state: e.target, alt: t.alt, stack: r }; + } + } + function kOe(t) { + for (let e of t.elements) if (e.state.type === ug) return !0; + return !1; + } + function EOe(t) { + for (let e of t.elements) if (e.state.type !== ug) return !1; + return !0; + } + function COe(t) { + if (EOe(t)) return !0; + let e = SOe(t.elements); + return AOe(e) && !_Oe(e); + } + function SOe(t) { + let e = new Map(); + for (let r of t) { + let n = zN(r, !1), + i = e.get(n); + i === void 0 && ((i = {}), e.set(n, i)), (i[r.alt] = !0); + } + return e; + } + function AOe(t) { + for (let e of Array.from(t.values())) if (Object.keys(e).length > 1) return !0; + return !1; + } + function _Oe(t) { + for (let e of Array.from(t.values())) if (Object.keys(e).length === 1) return !0; + return !1; + } + var yk, + qae, + k2, + Zae = R(() => { + 'use strict'; + u0(); + Yae(); + Wae(); + BL(); + RL(); + ite(); + Mm(); + fw(); + $w(); + Ww(); + $L(); + o(cOe, 'createDFACache'); + (yk = class { + static { + o(this, 'PredicateSet'); + } + constructor() { + this.predicates = []; + } + is(e) { + return e >= this.predicates.length || this.predicates[e]; + } + set(e, r) { + this.predicates[e] = r; + } + toString() { + let e = '', + r = this.predicates.length; + for (let n = 0; n < r; n++) e += this.predicates[n] === !0 ? '1' : '0'; + return e; + } + }), + (qae = new yk()), + (k2 = class extends $u { + static { + o(this, 'LLStarLookaheadStrategy'); + } + constructor(e) { + var r; + super(), (this.logging = (r = e?.logging) !== null && r !== void 0 ? r : (n) => console.log(n)); + } + initialize(e) { + (this.atn = $ae(e.rules)), (this.dfas = uOe(this.atn)); + } + validateAmbiguousAlternationAlternatives() { + return []; + } + validateEmptyOrAlternatives() { + return []; + } + buildLookaheadForAlternation(e) { + let { prodOccurrence: r, rule: n, hasPredicates: i, dynamicTokensEnabled: a } = e, + s = this.dfas, + l = this.logging, + u = h0(n, 'Alternation', r), + f = this.atn.decisionMap[u].decision, + d = qe( + jT({ + maxLookahead: 1, + occurrence: r, + prodType: 'Alternation', + rule: n + }), + (p) => qe(p, (m) => m[0]) + ); + if (Xae(d, !1) && !a) { + let p = Vr( + d, + (m, g, y) => ( + Ee(g, (v) => { + v && + ((m[v.tokenTypeIdx] = y), + Ee(v.categoryMatches, (x) => { + m[x] = y; + })); + }), + m + ), + {} + ); + return i + ? function (m) { + var g; + let y = this.LA(1), + v = p[y.tokenTypeIdx]; + if (m !== void 0 && v !== void 0) { + let x = (g = m[v]) === null || g === void 0 ? void 0 : g.GATE; + if (x !== void 0 && x.call(this) === !1) return; + } + return v; + } + : function () { + let m = this.LA(1); + return p[m.tokenTypeIdx]; + }; + } else + return i + ? function (p) { + let m = new yk(), + g = p === void 0 ? 0 : p.length; + for (let v = 0; v < g; v++) { + let x = p?.[v].GATE; + m.set(v, x === void 0 || x.call(this)); + } + let y = GN.call(this, s, f, m, l); + return typeof y == 'number' ? y : void 0; + } + : function () { + let p = GN.call(this, s, f, qae, l); + return typeof p == 'number' ? p : void 0; + }; + } + buildLookaheadForOptional(e) { + let { prodOccurrence: r, rule: n, prodType: i, dynamicTokensEnabled: a } = e, + s = this.dfas, + l = this.logging, + u = h0(n, i, r), + f = this.atn.decisionMap[u].decision, + d = qe(jT({ maxLookahead: 1, occurrence: r, prodType: i, rule: n }), (p) => + qe(p, (m) => m[0]) + ); + if (Xae(d) && d[0][0] && !a) { + let p = d[0], + m = Gr(p); + if (m.length === 1 && Qt(m[0].categoryMatches)) { + let y = m[0].tokenTypeIdx; + return function () { + return this.LA(1).tokenTypeIdx === y; + }; + } else { + let g = Vr( + m, + (y, v) => ( + v !== void 0 && + ((y[v.tokenTypeIdx] = !0), + Ee(v.categoryMatches, (x) => { + y[x] = !0; + })), + y + ), + {} + ); + return function () { + let y = this.LA(1); + return g[y.tokenTypeIdx] === !0; + }; + } + } + return function () { + let p = GN.call(this, s, f, qae, l); + return typeof p == 'object' ? !1 : p === 0; + }; + } + }); + o(Xae, 'isLL1Sequence'); + o(uOe, 'initATNSimulator'); + o(GN, 'adaptivePredict'); + o(hOe, 'performLookahead'); + o(fOe, 'computeLookaheadTarget'); + o(dOe, 'reportLookaheadAmbiguity'); + o(pOe, 'buildAmbiguityError'); + o(mOe, 'getProductionDslName'); + o(gOe, 'buildAdaptivePredictError'); + o(yOe, 'getExistingTargetState'); + o(vOe, 'computeReachSet'); + o(xOe, 'getReachableTarget'); + o(bOe, 'getUniqueAlt'); + o(Kae, 'newDFAState'); + o(jae, 'addDFAEdge'); + o(Qae, 'addDFAState'); + o(wOe, 'computeStartState'); + o(vk, 'closure'); + o(TOe, 'getEpsilonTarget'); + o(kOe, 'hasConfigInRuleStopState'); + o(EOe, 'allConfigsInRuleStopStates'); + o(COe, 'hasConflictTerminatingPrediction'); + o(SOe, 'getConflictingAltSets'); + o(AOe, 'hasConflictingAltSet'); + o(_Oe, 'hasStateAssociatedWithOneAlt'); + }); + var Jae = R(() => { + 'use strict'; + Zae(); + }); + var ese, + $N, + tse, + xk, + Ur, + wr, + bk, + rse, + VN, + nse, + ise, + ase, + sse, + UN, + ose, + lse, + cse, + wk, + dg, + pg, + HN, + mg, + use, + YN, + WN, + qN, + XN, + jN, + hse, + fse, + KN, + dse, + QN, + E2, + pse, + mse, + gse, + yse, + vse, + xse, + bse, + wse, + Tk, + Tse, + kse, + Ese, + Cse, + Sse, + Ase, + _se, + Lse, + Dse, + Rse, + Nse, + kk, + Mse, + Ise, + Ose, + Pse, + Bse, + Fse, + zse, + Gse, + $se, + Vse, + Use, + Hse, + Yse, + ZN, + JN, + Wse, + qse, + Xse, + jse, + Kse, + Qse, + Zse, + Jse, + eoe, + eM, + Fe, + tM = R(() => { + 'use strict'; + (function (t) { + function e(r) { + return typeof r == 'string'; + } + o(e, 'is'), (t.is = e); + })(ese || (ese = {})); + (function (t) { + function e(r) { + return typeof r == 'string'; + } + o(e, 'is'), (t.is = e); + })($N || ($N = {})); + (function (t) { + (t.MIN_VALUE = -2147483648), (t.MAX_VALUE = 2147483647); + function e(r) { + return typeof r == 'number' && t.MIN_VALUE <= r && r <= t.MAX_VALUE; + } + o(e, 'is'), (t.is = e); + })(tse || (tse = {})); + (function (t) { + (t.MIN_VALUE = 0), (t.MAX_VALUE = 2147483647); + function e(r) { + return typeof r == 'number' && t.MIN_VALUE <= r && r <= t.MAX_VALUE; + } + o(e, 'is'), (t.is = e); + })(xk || (xk = {})); + (function (t) { + function e(n, i) { + return ( + n === Number.MAX_VALUE && (n = xk.MAX_VALUE), + i === Number.MAX_VALUE && (i = xk.MAX_VALUE), + { line: n, character: i } + ); + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return Fe.objectLiteral(i) && Fe.uinteger(i.line) && Fe.uinteger(i.character); + } + o(r, 'is'), (t.is = r); + })(Ur || (Ur = {})); + (function (t) { + function e(n, i, a, s) { + if (Fe.uinteger(n) && Fe.uinteger(i) && Fe.uinteger(a) && Fe.uinteger(s)) + return { start: Ur.create(n, i), end: Ur.create(a, s) }; + if (Ur.is(n) && Ur.is(i)) return { start: n, end: i }; + throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${a}, ${s}]`); + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return Fe.objectLiteral(i) && Ur.is(i.start) && Ur.is(i.end); + } + o(r, 'is'), (t.is = r); + })(wr || (wr = {})); + (function (t) { + function e(n, i) { + return { uri: n, range: i }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return Fe.objectLiteral(i) && wr.is(i.range) && (Fe.string(i.uri) || Fe.undefined(i.uri)); + } + o(r, 'is'), (t.is = r); + })(bk || (bk = {})); + (function (t) { + function e(n, i, a, s) { + return { + targetUri: n, + targetRange: i, + targetSelectionRange: a, + originSelectionRange: s + }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return ( + Fe.objectLiteral(i) && + wr.is(i.targetRange) && + Fe.string(i.targetUri) && + wr.is(i.targetSelectionRange) && + (wr.is(i.originSelectionRange) || Fe.undefined(i.originSelectionRange)) + ); + } + o(r, 'is'), (t.is = r); + })(rse || (rse = {})); + (function (t) { + function e(n, i, a, s) { + return { red: n, green: i, blue: a, alpha: s }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return ( + Fe.objectLiteral(i) && + Fe.numberRange(i.red, 0, 1) && + Fe.numberRange(i.green, 0, 1) && + Fe.numberRange(i.blue, 0, 1) && + Fe.numberRange(i.alpha, 0, 1) + ); + } + o(r, 'is'), (t.is = r); + })(VN || (VN = {})); + (function (t) { + function e(n, i) { + return { range: n, color: i }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return Fe.objectLiteral(i) && wr.is(i.range) && VN.is(i.color); + } + o(r, 'is'), (t.is = r); + })(nse || (nse = {})); + (function (t) { + function e(n, i, a) { + return { label: n, textEdit: i, additionalTextEdits: a }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return ( + Fe.objectLiteral(i) && + Fe.string(i.label) && + (Fe.undefined(i.textEdit) || pg.is(i)) && + (Fe.undefined(i.additionalTextEdits) || Fe.typedArray(i.additionalTextEdits, pg.is)) + ); + } + o(r, 'is'), (t.is = r); + })(ise || (ise = {})); + (function (t) { + (t.Comment = 'comment'), (t.Imports = 'imports'), (t.Region = 'region'); + })(ase || (ase = {})); + (function (t) { + function e(n, i, a, s, l, u) { + let h = { startLine: n, endLine: i }; + return ( + Fe.defined(a) && (h.startCharacter = a), + Fe.defined(s) && (h.endCharacter = s), + Fe.defined(l) && (h.kind = l), + Fe.defined(u) && (h.collapsedText = u), + h + ); + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return ( + Fe.objectLiteral(i) && + Fe.uinteger(i.startLine) && + Fe.uinteger(i.startLine) && + (Fe.undefined(i.startCharacter) || Fe.uinteger(i.startCharacter)) && + (Fe.undefined(i.endCharacter) || Fe.uinteger(i.endCharacter)) && + (Fe.undefined(i.kind) || Fe.string(i.kind)) + ); + } + o(r, 'is'), (t.is = r); + })(sse || (sse = {})); + (function (t) { + function e(n, i) { + return { location: n, message: i }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return Fe.defined(i) && bk.is(i.location) && Fe.string(i.message); + } + o(r, 'is'), (t.is = r); + })(UN || (UN = {})); + (function (t) { + (t.Error = 1), (t.Warning = 2), (t.Information = 3), (t.Hint = 4); + })(ose || (ose = {})); + (function (t) { + (t.Unnecessary = 1), (t.Deprecated = 2); + })(lse || (lse = {})); + (function (t) { + function e(r) { + let n = r; + return Fe.objectLiteral(n) && Fe.string(n.href); + } + o(e, 'is'), (t.is = e); + })(cse || (cse = {})); + (function (t) { + function e(n, i, a, s, l, u) { + let h = { range: n, message: i }; + return ( + Fe.defined(a) && (h.severity = a), + Fe.defined(s) && (h.code = s), + Fe.defined(l) && (h.source = l), + Fe.defined(u) && (h.relatedInformation = u), + h + ); + } + o(e, 'create'), (t.create = e); + function r(n) { + var i; + let a = n; + return ( + Fe.defined(a) && + wr.is(a.range) && + Fe.string(a.message) && + (Fe.number(a.severity) || Fe.undefined(a.severity)) && + (Fe.integer(a.code) || Fe.string(a.code) || Fe.undefined(a.code)) && + (Fe.undefined(a.codeDescription) || + Fe.string((i = a.codeDescription) === null || i === void 0 ? void 0 : i.href)) && + (Fe.string(a.source) || Fe.undefined(a.source)) && + (Fe.undefined(a.relatedInformation) || Fe.typedArray(a.relatedInformation, UN.is)) + ); + } + o(r, 'is'), (t.is = r); + })(wk || (wk = {})); + (function (t) { + function e(n, i, ...a) { + let s = { title: n, command: i }; + return Fe.defined(a) && a.length > 0 && (s.arguments = a), s; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return Fe.defined(i) && Fe.string(i.title) && Fe.string(i.command); + } + o(r, 'is'), (t.is = r); + })(dg || (dg = {})); + (function (t) { + function e(a, s) { + return { range: a, newText: s }; + } + o(e, 'replace'), (t.replace = e); + function r(a, s) { + return { range: { start: a, end: a }, newText: s }; + } + o(r, 'insert'), (t.insert = r); + function n(a) { + return { range: a, newText: '' }; + } + o(n, 'del'), (t.del = n); + function i(a) { + let s = a; + return Fe.objectLiteral(s) && Fe.string(s.newText) && wr.is(s.range); + } + o(i, 'is'), (t.is = i); + })(pg || (pg = {})); + (function (t) { + function e(n, i, a) { + let s = { label: n }; + return i !== void 0 && (s.needsConfirmation = i), a !== void 0 && (s.description = a), s; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return ( + Fe.objectLiteral(i) && + Fe.string(i.label) && + (Fe.boolean(i.needsConfirmation) || i.needsConfirmation === void 0) && + (Fe.string(i.description) || i.description === void 0) + ); + } + o(r, 'is'), (t.is = r); + })(HN || (HN = {})); + (function (t) { + function e(r) { + let n = r; + return Fe.string(n); + } + o(e, 'is'), (t.is = e); + })(mg || (mg = {})); + (function (t) { + function e(a, s, l) { + return { range: a, newText: s, annotationId: l }; + } + o(e, 'replace'), (t.replace = e); + function r(a, s, l) { + return { range: { start: a, end: a }, newText: s, annotationId: l }; + } + o(r, 'insert'), (t.insert = r); + function n(a, s) { + return { range: a, newText: '', annotationId: s }; + } + o(n, 'del'), (t.del = n); + function i(a) { + let s = a; + return pg.is(s) && (HN.is(s.annotationId) || mg.is(s.annotationId)); + } + o(i, 'is'), (t.is = i); + })(use || (use = {})); + (function (t) { + function e(n, i) { + return { textDocument: n, edits: i }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return Fe.defined(i) && KN.is(i.textDocument) && Array.isArray(i.edits); + } + o(r, 'is'), (t.is = r); + })(YN || (YN = {})); + (function (t) { + function e(n, i, a) { + let s = { kind: 'create', uri: n }; + return ( + i !== void 0 && (i.overwrite !== void 0 || i.ignoreIfExists !== void 0) && (s.options = i), + a !== void 0 && (s.annotationId = a), + s + ); + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return ( + i && + i.kind === 'create' && + Fe.string(i.uri) && + (i.options === void 0 || + ((i.options.overwrite === void 0 || Fe.boolean(i.options.overwrite)) && + (i.options.ignoreIfExists === void 0 || Fe.boolean(i.options.ignoreIfExists)))) && + (i.annotationId === void 0 || mg.is(i.annotationId)) + ); + } + o(r, 'is'), (t.is = r); + })(WN || (WN = {})); + (function (t) { + function e(n, i, a, s) { + let l = { kind: 'rename', oldUri: n, newUri: i }; + return ( + a !== void 0 && (a.overwrite !== void 0 || a.ignoreIfExists !== void 0) && (l.options = a), + s !== void 0 && (l.annotationId = s), + l + ); + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return ( + i && + i.kind === 'rename' && + Fe.string(i.oldUri) && + Fe.string(i.newUri) && + (i.options === void 0 || + ((i.options.overwrite === void 0 || Fe.boolean(i.options.overwrite)) && + (i.options.ignoreIfExists === void 0 || Fe.boolean(i.options.ignoreIfExists)))) && + (i.annotationId === void 0 || mg.is(i.annotationId)) + ); + } + o(r, 'is'), (t.is = r); + })(qN || (qN = {})); + (function (t) { + function e(n, i, a) { + let s = { kind: 'delete', uri: n }; + return ( + i !== void 0 && (i.recursive !== void 0 || i.ignoreIfNotExists !== void 0) && (s.options = i), + a !== void 0 && (s.annotationId = a), + s + ); + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return ( + i && + i.kind === 'delete' && + Fe.string(i.uri) && + (i.options === void 0 || + ((i.options.recursive === void 0 || Fe.boolean(i.options.recursive)) && + (i.options.ignoreIfNotExists === void 0 || Fe.boolean(i.options.ignoreIfNotExists)))) && + (i.annotationId === void 0 || mg.is(i.annotationId)) + ); + } + o(r, 'is'), (t.is = r); + })(XN || (XN = {})); + (function (t) { + function e(r) { + let n = r; + return ( + n && + (n.changes !== void 0 || n.documentChanges !== void 0) && + (n.documentChanges === void 0 || + n.documentChanges.every((i) => + Fe.string(i.kind) ? WN.is(i) || qN.is(i) || XN.is(i) : YN.is(i) + )) + ); + } + o(e, 'is'), (t.is = e); + })(jN || (jN = {})); + (function (t) { + function e(n) { + return { uri: n }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return Fe.defined(i) && Fe.string(i.uri); + } + o(r, 'is'), (t.is = r); + })(hse || (hse = {})); + (function (t) { + function e(n, i) { + return { uri: n, version: i }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return Fe.defined(i) && Fe.string(i.uri) && Fe.integer(i.version); + } + o(r, 'is'), (t.is = r); + })(fse || (fse = {})); + (function (t) { + function e(n, i) { + return { uri: n, version: i }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return Fe.defined(i) && Fe.string(i.uri) && (i.version === null || Fe.integer(i.version)); + } + o(r, 'is'), (t.is = r); + })(KN || (KN = {})); + (function (t) { + function e(n, i, a, s) { + return { uri: n, languageId: i, version: a, text: s }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return ( + Fe.defined(i) && + Fe.string(i.uri) && + Fe.string(i.languageId) && + Fe.integer(i.version) && + Fe.string(i.text) + ); + } + o(r, 'is'), (t.is = r); + })(dse || (dse = {})); + (function (t) { + (t.PlainText = 'plaintext'), (t.Markdown = 'markdown'); + function e(r) { + let n = r; + return n === t.PlainText || n === t.Markdown; + } + o(e, 'is'), (t.is = e); + })(QN || (QN = {})); + (function (t) { + function e(r) { + let n = r; + return Fe.objectLiteral(r) && QN.is(n.kind) && Fe.string(n.value); + } + o(e, 'is'), (t.is = e); + })(E2 || (E2 = {})); + (function (t) { + (t.Text = 1), + (t.Method = 2), + (t.Function = 3), + (t.Constructor = 4), + (t.Field = 5), + (t.Variable = 6), + (t.Class = 7), + (t.Interface = 8), + (t.Module = 9), + (t.Property = 10), + (t.Unit = 11), + (t.Value = 12), + (t.Enum = 13), + (t.Keyword = 14), + (t.Snippet = 15), + (t.Color = 16), + (t.File = 17), + (t.Reference = 18), + (t.Folder = 19), + (t.EnumMember = 20), + (t.Constant = 21), + (t.Struct = 22), + (t.Event = 23), + (t.Operator = 24), + (t.TypeParameter = 25); + })(pse || (pse = {})); + (function (t) { + (t.PlainText = 1), (t.Snippet = 2); + })(mse || (mse = {})); + (function (t) { + t.Deprecated = 1; + })(gse || (gse = {})); + (function (t) { + function e(n, i, a) { + return { newText: n, insert: i, replace: a }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return i && Fe.string(i.newText) && wr.is(i.insert) && wr.is(i.replace); + } + o(r, 'is'), (t.is = r); + })(yse || (yse = {})); + (function (t) { + (t.asIs = 1), (t.adjustIndentation = 2); + })(vse || (vse = {})); + (function (t) { + function e(r) { + let n = r; + return ( + n && + (Fe.string(n.detail) || n.detail === void 0) && + (Fe.string(n.description) || n.description === void 0) + ); + } + o(e, 'is'), (t.is = e); + })(xse || (xse = {})); + (function (t) { + function e(r) { + return { label: r }; + } + o(e, 'create'), (t.create = e); + })(bse || (bse = {})); + (function (t) { + function e(r, n) { + return { items: r || [], isIncomplete: !!n }; + } + o(e, 'create'), (t.create = e); + })(wse || (wse = {})); + (function (t) { + function e(n) { + return n.replace(/[\\`*_{}[\]()#+\-.!]/g, '\\$&'); + } + o(e, 'fromPlainText'), (t.fromPlainText = e); + function r(n) { + let i = n; + return Fe.string(i) || (Fe.objectLiteral(i) && Fe.string(i.language) && Fe.string(i.value)); + } + o(r, 'is'), (t.is = r); + })(Tk || (Tk = {})); + (function (t) { + function e(r) { + let n = r; + return ( + !!n && + Fe.objectLiteral(n) && + (E2.is(n.contents) || Tk.is(n.contents) || Fe.typedArray(n.contents, Tk.is)) && + (r.range === void 0 || wr.is(r.range)) + ); + } + o(e, 'is'), (t.is = e); + })(Tse || (Tse = {})); + (function (t) { + function e(r, n) { + return n ? { label: r, documentation: n } : { label: r }; + } + o(e, 'create'), (t.create = e); + })(kse || (kse = {})); + (function (t) { + function e(r, n, ...i) { + let a = { label: r }; + return ( + Fe.defined(n) && (a.documentation = n), + Fe.defined(i) ? (a.parameters = i) : (a.parameters = []), + a + ); + } + o(e, 'create'), (t.create = e); + })(Ese || (Ese = {})); + (function (t) { + (t.Text = 1), (t.Read = 2), (t.Write = 3); + })(Cse || (Cse = {})); + (function (t) { + function e(r, n) { + let i = { range: r }; + return Fe.number(n) && (i.kind = n), i; + } + o(e, 'create'), (t.create = e); + })(Sse || (Sse = {})); + (function (t) { + (t.File = 1), + (t.Module = 2), + (t.Namespace = 3), + (t.Package = 4), + (t.Class = 5), + (t.Method = 6), + (t.Property = 7), + (t.Field = 8), + (t.Constructor = 9), + (t.Enum = 10), + (t.Interface = 11), + (t.Function = 12), + (t.Variable = 13), + (t.Constant = 14), + (t.String = 15), + (t.Number = 16), + (t.Boolean = 17), + (t.Array = 18), + (t.Object = 19), + (t.Key = 20), + (t.Null = 21), + (t.EnumMember = 22), + (t.Struct = 23), + (t.Event = 24), + (t.Operator = 25), + (t.TypeParameter = 26); + })(Ase || (Ase = {})); + (function (t) { + t.Deprecated = 1; + })(_se || (_se = {})); + (function (t) { + function e(r, n, i, a, s) { + let l = { name: r, kind: n, location: { uri: a, range: i } }; + return s && (l.containerName = s), l; + } + o(e, 'create'), (t.create = e); + })(Lse || (Lse = {})); + (function (t) { + function e(r, n, i, a) { + return a !== void 0 + ? { name: r, kind: n, location: { uri: i, range: a } } + : { name: r, kind: n, location: { uri: i } }; + } + o(e, 'create'), (t.create = e); + })(Dse || (Dse = {})); + (function (t) { + function e(n, i, a, s, l, u) { + let h = { name: n, detail: i, kind: a, range: s, selectionRange: l }; + return u !== void 0 && (h.children = u), h; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return ( + i && + Fe.string(i.name) && + Fe.number(i.kind) && + wr.is(i.range) && + wr.is(i.selectionRange) && + (i.detail === void 0 || Fe.string(i.detail)) && + (i.deprecated === void 0 || Fe.boolean(i.deprecated)) && + (i.children === void 0 || Array.isArray(i.children)) && + (i.tags === void 0 || Array.isArray(i.tags)) + ); + } + o(r, 'is'), (t.is = r); + })(Rse || (Rse = {})); + (function (t) { + (t.Empty = ''), + (t.QuickFix = 'quickfix'), + (t.Refactor = 'refactor'), + (t.RefactorExtract = 'refactor.extract'), + (t.RefactorInline = 'refactor.inline'), + (t.RefactorRewrite = 'refactor.rewrite'), + (t.Source = 'source'), + (t.SourceOrganizeImports = 'source.organizeImports'), + (t.SourceFixAll = 'source.fixAll'); + })(Nse || (Nse = {})); + (function (t) { + (t.Invoked = 1), (t.Automatic = 2); + })(kk || (kk = {})); + (function (t) { + function e(n, i, a) { + let s = { diagnostics: n }; + return i != null && (s.only = i), a != null && (s.triggerKind = a), s; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return ( + Fe.defined(i) && + Fe.typedArray(i.diagnostics, wk.is) && + (i.only === void 0 || Fe.typedArray(i.only, Fe.string)) && + (i.triggerKind === void 0 || i.triggerKind === kk.Invoked || i.triggerKind === kk.Automatic) + ); + } + o(r, 'is'), (t.is = r); + })(Mse || (Mse = {})); + (function (t) { + function e(n, i, a) { + let s = { title: n }, + l = !0; + return ( + typeof i == 'string' ? ((l = !1), (s.kind = i)) : dg.is(i) ? (s.command = i) : (s.edit = i), + l && a !== void 0 && (s.kind = a), + s + ); + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return ( + i && + Fe.string(i.title) && + (i.diagnostics === void 0 || Fe.typedArray(i.diagnostics, wk.is)) && + (i.kind === void 0 || Fe.string(i.kind)) && + (i.edit !== void 0 || i.command !== void 0) && + (i.command === void 0 || dg.is(i.command)) && + (i.isPreferred === void 0 || Fe.boolean(i.isPreferred)) && + (i.edit === void 0 || jN.is(i.edit)) + ); + } + o(r, 'is'), (t.is = r); + })(Ise || (Ise = {})); + (function (t) { + function e(n, i) { + let a = { range: n }; + return Fe.defined(i) && (a.data = i), a; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return Fe.defined(i) && wr.is(i.range) && (Fe.undefined(i.command) || dg.is(i.command)); + } + o(r, 'is'), (t.is = r); + })(Ose || (Ose = {})); + (function (t) { + function e(n, i) { + return { tabSize: n, insertSpaces: i }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return Fe.defined(i) && Fe.uinteger(i.tabSize) && Fe.boolean(i.insertSpaces); + } + o(r, 'is'), (t.is = r); + })(Pse || (Pse = {})); + (function (t) { + function e(n, i, a) { + return { range: n, target: i, data: a }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return Fe.defined(i) && wr.is(i.range) && (Fe.undefined(i.target) || Fe.string(i.target)); + } + o(r, 'is'), (t.is = r); + })(Bse || (Bse = {})); + (function (t) { + function e(n, i) { + return { range: n, parent: i }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return Fe.objectLiteral(i) && wr.is(i.range) && (i.parent === void 0 || t.is(i.parent)); + } + o(r, 'is'), (t.is = r); + })(Fse || (Fse = {})); + (function (t) { + (t.namespace = 'namespace'), + (t.type = 'type'), + (t.class = 'class'), + (t.enum = 'enum'), + (t.interface = 'interface'), + (t.struct = 'struct'), + (t.typeParameter = 'typeParameter'), + (t.parameter = 'parameter'), + (t.variable = 'variable'), + (t.property = 'property'), + (t.enumMember = 'enumMember'), + (t.event = 'event'), + (t.function = 'function'), + (t.method = 'method'), + (t.macro = 'macro'), + (t.keyword = 'keyword'), + (t.modifier = 'modifier'), + (t.comment = 'comment'), + (t.string = 'string'), + (t.number = 'number'), + (t.regexp = 'regexp'), + (t.operator = 'operator'), + (t.decorator = 'decorator'); + })(zse || (zse = {})); + (function (t) { + (t.declaration = 'declaration'), + (t.definition = 'definition'), + (t.readonly = 'readonly'), + (t.static = 'static'), + (t.deprecated = 'deprecated'), + (t.abstract = 'abstract'), + (t.async = 'async'), + (t.modification = 'modification'), + (t.documentation = 'documentation'), + (t.defaultLibrary = 'defaultLibrary'); + })(Gse || (Gse = {})); + (function (t) { + function e(r) { + let n = r; + return ( + Fe.objectLiteral(n) && + (n.resultId === void 0 || typeof n.resultId == 'string') && + Array.isArray(n.data) && + (n.data.length === 0 || typeof n.data[0] == 'number') + ); + } + o(e, 'is'), (t.is = e); + })($se || ($se = {})); + (function (t) { + function e(n, i) { + return { range: n, text: i }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return i != null && wr.is(i.range) && Fe.string(i.text); + } + o(r, 'is'), (t.is = r); + })(Vse || (Vse = {})); + (function (t) { + function e(n, i, a) { + return { range: n, variableName: i, caseSensitiveLookup: a }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return ( + i != null && + wr.is(i.range) && + Fe.boolean(i.caseSensitiveLookup) && + (Fe.string(i.variableName) || i.variableName === void 0) + ); + } + o(r, 'is'), (t.is = r); + })(Use || (Use = {})); + (function (t) { + function e(n, i) { + return { range: n, expression: i }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return i != null && wr.is(i.range) && (Fe.string(i.expression) || i.expression === void 0); + } + o(r, 'is'), (t.is = r); + })(Hse || (Hse = {})); + (function (t) { + function e(n, i) { + return { frameId: n, stoppedLocation: i }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return Fe.defined(i) && wr.is(n.stoppedLocation); + } + o(r, 'is'), (t.is = r); + })(Yse || (Yse = {})); + (function (t) { + (t.Type = 1), (t.Parameter = 2); + function e(r) { + return r === 1 || r === 2; + } + o(e, 'is'), (t.is = e); + })(ZN || (ZN = {})); + (function (t) { + function e(n) { + return { value: n }; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return ( + Fe.objectLiteral(i) && + (i.tooltip === void 0 || Fe.string(i.tooltip) || E2.is(i.tooltip)) && + (i.location === void 0 || bk.is(i.location)) && + (i.command === void 0 || dg.is(i.command)) + ); + } + o(r, 'is'), (t.is = r); + })(JN || (JN = {})); + (function (t) { + function e(n, i, a) { + let s = { position: n, label: i }; + return a !== void 0 && (s.kind = a), s; + } + o(e, 'create'), (t.create = e); + function r(n) { + let i = n; + return ( + (Fe.objectLiteral(i) && + Ur.is(i.position) && + (Fe.string(i.label) || Fe.typedArray(i.label, JN.is)) && + (i.kind === void 0 || ZN.is(i.kind)) && + i.textEdits === void 0) || + (Fe.typedArray(i.textEdits, pg.is) && + (i.tooltip === void 0 || Fe.string(i.tooltip) || E2.is(i.tooltip)) && + (i.paddingLeft === void 0 || Fe.boolean(i.paddingLeft)) && + (i.paddingRight === void 0 || Fe.boolean(i.paddingRight))) + ); + } + o(r, 'is'), (t.is = r); + })(Wse || (Wse = {})); + (function (t) { + function e(r) { + return { kind: 'snippet', value: r }; + } + o(e, 'createSnippet'), (t.createSnippet = e); + })(qse || (qse = {})); + (function (t) { + function e(r, n, i, a) { + return { insertText: r, filterText: n, range: i, command: a }; + } + o(e, 'create'), (t.create = e); + })(Xse || (Xse = {})); + (function (t) { + function e(r) { + return { items: r }; + } + o(e, 'create'), (t.create = e); + })(jse || (jse = {})); + (function (t) { + (t.Invoked = 0), (t.Automatic = 1); + })(Kse || (Kse = {})); + (function (t) { + function e(r, n) { + return { range: r, text: n }; + } + o(e, 'create'), (t.create = e); + })(Qse || (Qse = {})); + (function (t) { + function e(r, n) { + return { triggerKind: r, selectedCompletionInfo: n }; + } + o(e, 'create'), (t.create = e); + })(Zse || (Zse = {})); + (function (t) { + function e(r) { + let n = r; + return Fe.objectLiteral(n) && $N.is(n.uri) && Fe.string(n.name); + } + o(e, 'is'), (t.is = e); + })(Jse || (Jse = {})); + (function (t) { + function e(a, s, l, u) { + return new eM(a, s, l, u); + } + o(e, 'create'), (t.create = e); + function r(a) { + let s = a; + return !!( + Fe.defined(s) && + Fe.string(s.uri) && + (Fe.undefined(s.languageId) || Fe.string(s.languageId)) && + Fe.uinteger(s.lineCount) && + Fe.func(s.getText) && + Fe.func(s.positionAt) && + Fe.func(s.offsetAt) + ); + } + o(r, 'is'), (t.is = r); + function n(a, s) { + let l = a.getText(), + u = i(s, (f, d) => { + let p = f.range.start.line - d.range.start.line; + return p === 0 ? f.range.start.character - d.range.start.character : p; + }), + h = l.length; + for (let f = u.length - 1; f >= 0; f--) { + let d = u[f], + p = a.offsetAt(d.range.start), + m = a.offsetAt(d.range.end); + if (m <= h) l = l.substring(0, p) + d.newText + l.substring(m, l.length); + else throw new Error('Overlapping edit'); + h = p; + } + return l; + } + o(n, 'applyEdits'), (t.applyEdits = n); + function i(a, s) { + if (a.length <= 1) return a; + let l = (a.length / 2) | 0, + u = a.slice(0, l), + h = a.slice(l); + i(u, s), i(h, s); + let f = 0, + d = 0, + p = 0; + for (; f < u.length && d < h.length; ) s(u[f], h[d]) <= 0 ? (a[p++] = u[f++]) : (a[p++] = h[d++]); + for (; f < u.length; ) a[p++] = u[f++]; + for (; d < h.length; ) a[p++] = h[d++]; + return a; + } + o(i, 'mergeSort'); + })(eoe || (eoe = {})); + eM = class { + static { + o(this, 'FullTextDocument'); + } + constructor(e, r, n, i) { + (this._uri = e), + (this._languageId = r), + (this._version = n), + (this._content = i), + (this._lineOffsets = void 0); + } + get uri() { + return this._uri; + } + get languageId() { + return this._languageId; + } + get version() { + return this._version; + } + getText(e) { + if (e) { + let r = this.offsetAt(e.start), + n = this.offsetAt(e.end); + return this._content.substring(r, n); + } + return this._content; + } + update(e, r) { + (this._content = e.text), (this._version = r), (this._lineOffsets = void 0); + } + getLineOffsets() { + if (this._lineOffsets === void 0) { + let e = [], + r = this._content, + n = !0; + for (let i = 0; i < r.length; i++) { + n && (e.push(i), (n = !1)); + let a = r.charAt(i); + (n = + a === '\r' || + a === + ` +`), + a === '\r' && + i + 1 < r.length && + r.charAt(i + 1) === + ` +` && + i++; + } + n && r.length > 0 && e.push(r.length), (this._lineOffsets = e); + } + return this._lineOffsets; + } + positionAt(e) { + e = Math.max(Math.min(e, this._content.length), 0); + let r = this.getLineOffsets(), + n = 0, + i = r.length; + if (i === 0) return Ur.create(0, e); + for (; n < i; ) { + let s = Math.floor((n + i) / 2); + r[s] > e ? (i = s) : (n = s + 1); + } + let a = n - 1; + return Ur.create(a, e - r[a]); + } + offsetAt(e) { + let r = this.getLineOffsets(); + if (e.line >= r.length) return this._content.length; + if (e.line < 0) return 0; + let n = r[e.line], + i = e.line + 1 < r.length ? r[e.line + 1] : this._content.length; + return Math.max(Math.min(n + e.character, i), n); + } + get lineCount() { + return this.getLineOffsets().length; + } + }; + (function (t) { + let e = Object.prototype.toString; + function r(m) { + return typeof m < 'u'; + } + o(r, 'defined'), (t.defined = r); + function n(m) { + return typeof m > 'u'; + } + o(n, 'undefined'), (t.undefined = n); + function i(m) { + return m === !0 || m === !1; + } + o(i, 'boolean'), (t.boolean = i); + function a(m) { + return e.call(m) === '[object String]'; + } + o(a, 'string'), (t.string = a); + function s(m) { + return e.call(m) === '[object Number]'; + } + o(s, 'number'), (t.number = s); + function l(m, g, y) { + return e.call(m) === '[object Number]' && g <= m && m <= y; + } + o(l, 'numberRange'), (t.numberRange = l); + function u(m) { + return e.call(m) === '[object Number]' && -2147483648 <= m && m <= 2147483647; + } + o(u, 'integer'), (t.integer = u); + function h(m) { + return e.call(m) === '[object Number]' && 0 <= m && m <= 2147483647; + } + o(h, 'uinteger'), (t.uinteger = h); + function f(m) { + return e.call(m) === '[object Function]'; + } + o(f, 'func'), (t.func = f); + function d(m) { + return m !== null && typeof m == 'object'; + } + o(d, 'objectLiteral'), (t.objectLiteral = d); + function p(m, g) { + return Array.isArray(m) && m.every(g); + } + o(p, 'typedArray'), (t.typedArray = p); + })(Fe || (Fe = {})); + }); + var C2, + S2, + d0, + p0, + rM, + gg, + Ek = R(() => { + 'use strict'; + tM(); + Vo(); + Rl(); + (C2 = class { + static { + o(this, 'CstNodeBuilder'); + } + constructor() { + this.nodeStack = []; + } + get current() { + return this.nodeStack[this.nodeStack.length - 1]; + } + buildRootNode(e) { + return ( + (this.rootNode = new gg(e)), + (this.rootNode.root = this.rootNode), + (this.nodeStack = [this.rootNode]), + this.rootNode + ); + } + buildCompositeNode(e) { + let r = new p0(); + return ( + (r.grammarSource = e), + (r.root = this.rootNode), + this.current.content.push(r), + this.nodeStack.push(r), + r + ); + } + buildLeafNode(e, r) { + let n = new d0(e.startOffset, e.image.length, zm(e), e.tokenType, !1); + return (n.grammarSource = r), (n.root = this.rootNode), this.current.content.push(n), n; + } + removeNode(e) { + let r = e.container; + if (r) { + let n = r.content.indexOf(e); + n >= 0 && r.content.splice(n, 1); + } + } + construct(e) { + let r = this.current; + typeof e.$type == 'string' && (this.current.astNode = e), (e.$cstNode = r); + let n = this.nodeStack.pop(); + n?.content.length === 0 && this.removeNode(n); + } + addHiddenTokens(e) { + for (let r of e) { + let n = new d0(r.startOffset, r.image.length, zm(r), r.tokenType, !0); + (n.root = this.rootNode), this.addHiddenToken(this.rootNode, n); + } + } + addHiddenToken(e, r) { + let { offset: n, end: i } = r; + for (let a = 0; a < e.content.length; a++) { + let s = e.content[a], + { offset: l, end: u } = s; + if (co(s) && n > l && i < u) { + this.addHiddenToken(s, r); + return; + } else if (i <= l) { + e.content.splice(a, 0, r); + return; + } + } + e.content.push(r); + } + }), + (S2 = class { + static { + o(this, 'AbstractCstNode'); + } + get parent() { + return this.container; + } + get feature() { + return this.grammarSource; + } + get hidden() { + return !1; + } + get astNode() { + var e, r; + let n = + typeof ((e = this._astNode) === null || e === void 0 ? void 0 : e.$type) == 'string' + ? this._astNode + : (r = this.container) === null || r === void 0 + ? void 0 + : r.astNode; + if (!n) throw new Error('This node has no associated AST element'); + return n; + } + set astNode(e) { + this._astNode = e; + } + get element() { + return this.astNode; + } + get text() { + return this.root.fullText.substring(this.offset, this.end); + } + }), + (d0 = class extends S2 { + static { + o(this, 'LeafCstNodeImpl'); + } + get offset() { + return this._offset; + } + get length() { + return this._length; + } + get end() { + return this._offset + this._length; + } + get hidden() { + return this._hidden; + } + get tokenType() { + return this._tokenType; + } + get range() { + return this._range; + } + constructor(e, r, n, i, a = !1) { + super(), + (this._hidden = a), + (this._offset = e), + (this._tokenType = i), + (this._length = r), + (this._range = n); + } + }), + (p0 = class extends S2 { + static { + o(this, 'CompositeCstNodeImpl'); + } + constructor() { + super(...arguments), (this.content = new rM(this)); + } + get children() { + return this.content; + } + get offset() { + var e, r; + return (r = (e = this.firstNonHiddenNode) === null || e === void 0 ? void 0 : e.offset) !== + null && r !== void 0 + ? r + : 0; + } + get length() { + return this.end - this.offset; + } + get end() { + var e, r; + return (r = (e = this.lastNonHiddenNode) === null || e === void 0 ? void 0 : e.end) !== null && + r !== void 0 + ? r + : 0; + } + get range() { + let e = this.firstNonHiddenNode, + r = this.lastNonHiddenNode; + if (e && r) { + if (this._rangeCache === void 0) { + let { range: n } = e, + { range: i } = r; + this._rangeCache = { + start: n.start, + end: i.end.line < n.start.line ? n.start : i.end + }; + } + return this._rangeCache; + } else return { start: Ur.create(0, 0), end: Ur.create(0, 0) }; + } + get firstNonHiddenNode() { + for (let e of this.content) if (!e.hidden) return e; + return this.content[0]; + } + get lastNonHiddenNode() { + for (let e = this.content.length - 1; e >= 0; e--) { + let r = this.content[e]; + if (!r.hidden) return r; + } + return this.content[this.content.length - 1]; + } + }), + (rM = class t extends Array { + static { + o(this, 'CstNodeContainer'); + } + constructor(e) { + super(), (this.parent = e), Object.setPrototypeOf(this, t.prototype); + } + push(...e) { + return this.addParents(e), super.push(...e); + } + unshift(...e) { + return this.addParents(e), super.unshift(...e); + } + splice(e, r, ...n) { + return this.addParents(n), super.splice(e, r, ...n); + } + addParents(e) { + for (let r of e) r.container = this.parent; + } + }), + (gg = class extends p0 { + static { + o(this, 'RootCstNodeImpl'); + } + get text() { + return this._text.substring(this.offset, this.end); + } + get fullText() { + return this._text; + } + constructor(e) { + super(), (this._text = ''), (this._text = e ?? ''); + } + }); + }); + function nM(t) { + return t.$type === Ck; + } + var Ck, + toe, + roe, + A2, + _2, + Sk, + yg, + L2, + LOe, + iM, + D2 = R(() => { + 'use strict'; + u0(); + Jae(); + Sc(); + Il(); + es(); + Ek(); + Ck = Symbol('Datatype'); + o(nM, 'isDataTypeNode'); + (toe = '\u200B'), + (roe = o((t) => (t.endsWith(toe) ? t : t + toe), 'withRuleSuffix')), + (A2 = class { + static { + o(this, 'AbstractLangiumParser'); + } + constructor(e) { + (this._unorderedGroups = new Map()), (this.lexer = e.parser.Lexer); + let r = this.lexer.definition; + this.wrapper = new iM( + r, + Object.assign(Object.assign({}, e.parser.ParserConfig), { + errorMessageProvider: e.parser.ParserErrorMessageProvider + }) + ); + } + alternatives(e, r) { + this.wrapper.wrapOr(e, r); + } + optional(e, r) { + this.wrapper.wrapOption(e, r); + } + many(e, r) { + this.wrapper.wrapMany(e, r); + } + atLeastOne(e, r) { + this.wrapper.wrapAtLeastOne(e, r); + } + isRecording() { + return this.wrapper.IS_RECORDING; + } + get unorderedGroups() { + return this._unorderedGroups; + } + getRuleStack() { + return this.wrapper.RULE_STACK; + } + finalize() { + this.wrapper.wrapSelfAnalysis(); + } + }), + (_2 = class extends A2 { + static { + o(this, 'LangiumParser'); + } + get current() { + return this.stack[this.stack.length - 1]; + } + constructor(e) { + super(e), + (this.nodeBuilder = new C2()), + (this.stack = []), + (this.assignmentMap = new Map()), + (this.linker = e.references.Linker), + (this.converter = e.parser.ValueConverter), + (this.astReflection = e.shared.AstReflection); + } + rule(e, r) { + let n = e.fragment ? void 0 : Jv(e) ? Ck : r0(e), + i = this.wrapper.DEFINE_RULE(roe(e.name), this.startImplementation(n, r).bind(this)); + return e.entry && (this.mainRule = i), i; + } + parse(e) { + this.nodeBuilder.buildRootNode(e); + let r = this.lexer.tokenize(e); + this.wrapper.input = r.tokens; + let n = this.mainRule.call(this.wrapper, {}); + return ( + this.nodeBuilder.addHiddenTokens(r.hidden), + this.unorderedGroups.clear(), + { + value: n, + lexerErrors: r.errors, + parserErrors: this.wrapper.errors + } + ); + } + startImplementation(e, r) { + return (n) => { + if (!this.isRecording()) { + let a = { $type: e }; + this.stack.push(a), e === Ck && (a.value = ''); + } + let i; + try { + i = r(n); + } catch { + i = void 0; + } + return !this.isRecording() && i === void 0 && (i = this.construct()), i; + }; + } + consume(e, r, n) { + let i = this.wrapper.wrapConsume(e, r); + if (!this.isRecording() && this.isValidToken(i)) { + let a = this.nodeBuilder.buildLeafNode(i, n), + { assignment: s, isCrossRef: l } = this.getAssignment(n), + u = this.current; + if (s) { + let h = Ho(n) ? i.image : this.converter.convert(i.image, a); + this.assign(s.operator, s.feature, h, a, l); + } else if (nM(u)) { + let h = i.image; + Ho(n) || (h = this.converter.convert(h, a).toString()), (u.value += h); + } + } + } + isValidToken(e) { + return ( + !e.isInsertedInRecovery && + !isNaN(e.startOffset) && + typeof e.endOffset == 'number' && + !isNaN(e.endOffset) + ); + } + subrule(e, r, n, i) { + let a; + this.isRecording() || (a = this.nodeBuilder.buildCompositeNode(n)); + let s = this.wrapper.wrapSubrule(e, r, i); + !this.isRecording() && a && a.length > 0 && this.performSubruleAssignment(s, n, a); + } + performSubruleAssignment(e, r, n) { + let { assignment: i, isCrossRef: a } = this.getAssignment(r); + if (i) this.assign(i.operator, i.feature, e, n, a); + else if (!i) { + let s = this.current; + if (nM(s)) s.value += e.toString(); + else if (typeof e == 'object' && e) { + let l = e.$type, + u = this.assignWithoutOverride(e, s); + l && (u.$type = l); + let h = u; + this.stack.pop(), this.stack.push(h); + } + } + } + action(e, r) { + if (!this.isRecording()) { + let n = this.current; + if (!n.$cstNode && r.feature && r.operator) { + n = this.construct(!1); + let a = n.$cstNode.feature; + this.nodeBuilder.buildCompositeNode(a); + } + let i = { $type: e }; + this.stack.pop(), + this.stack.push(i), + r.feature && r.operator && this.assign(r.operator, r.feature, n, n.$cstNode, !1); + } + } + construct(e = !0) { + if (this.isRecording()) return; + let r = this.current; + return ( + ET(r), + this.nodeBuilder.construct(r), + e && this.stack.pop(), + nM(r) ? this.converter.convert(r.value, r.$cstNode) : (NR(this.astReflection, r), r) + ); + } + getAssignment(e) { + if (!this.assignmentMap.has(e)) { + let r = Qd(e, Nl); + this.assignmentMap.set(e, { + assignment: r, + isCrossRef: r ? Kd(r.terminal) : !1 + }); + } + return this.assignmentMap.get(e); + } + assign(e, r, n, i, a) { + let s = this.current, + l; + switch ( + (a && typeof n == 'string' ? (l = this.linker.buildReference(s, r, i, n)) : (l = n), e) + ) { + case '=': { + s[r] = l; + break; + } + case '?=': { + s[r] = !0; + break; + } + case '+=': + Array.isArray(s[r]) || (s[r] = []), s[r].push(l); + } + } + assignWithoutOverride(e, r) { + for (let [n, i] of Object.entries(r)) { + let a = e[n]; + a === void 0 + ? (e[n] = i) + : Array.isArray(a) && Array.isArray(i) && (i.push(...a), (e[n] = i)); + } + return e; + } + get definitionErrors() { + return this.wrapper.definitionErrors; + } + }), + (Sk = class { + static { + o(this, 'AbstractParserErrorMessageProvider'); + } + buildMismatchTokenMessage(e) { + return Gu.buildMismatchTokenMessage(e); + } + buildNotAllInputParsedMessage(e) { + return Gu.buildNotAllInputParsedMessage(e); + } + buildNoViableAltMessage(e) { + return Gu.buildNoViableAltMessage(e); + } + buildEarlyExitMessage(e) { + return Gu.buildEarlyExitMessage(e); + } + }), + (yg = class extends Sk { + static { + o(this, 'LangiumParserErrorMessageProvider'); + } + buildMismatchTokenMessage({ expected: e, actual: r }) { + return `Expecting ${ + e.LABEL + ? '`' + e.LABEL + '`' + : e.name.endsWith(':KW') + ? `keyword '${e.name.substring(0, e.name.length - 3)}'` + : `token of type '${e.name}'` + } but found \`${r.image}\`.`; + } + buildNotAllInputParsedMessage({ firstRedundant: e }) { + return `Expecting end of file but found \`${e.image}\`.`; + } + }), + (L2 = class extends A2 { + static { + o(this, 'LangiumCompletionParser'); + } + constructor() { + super(...arguments), + (this.tokens = []), + (this.elementStack = []), + (this.lastElementStack = []), + (this.nextTokenIndex = 0), + (this.stackSize = 0); + } + action() {} + construct() {} + parse(e) { + this.resetState(); + let r = this.lexer.tokenize(e); + return ( + (this.tokens = r.tokens), + (this.wrapper.input = [...this.tokens]), + this.mainRule.call(this.wrapper, {}), + this.unorderedGroups.clear(), + { + tokens: this.tokens, + elementStack: [...this.lastElementStack], + tokenIndex: this.nextTokenIndex + } + ); + } + rule(e, r) { + let n = this.wrapper.DEFINE_RULE(roe(e.name), this.startImplementation(r).bind(this)); + return e.entry && (this.mainRule = n), n; + } + resetState() { + (this.elementStack = []), + (this.lastElementStack = []), + (this.nextTokenIndex = 0), + (this.stackSize = 0); + } + startImplementation(e) { + return (r) => { + let n = this.keepStackSize(); + try { + e(r); + } finally { + this.resetStackSize(n); + } + }; + } + removeUnexpectedElements() { + this.elementStack.splice(this.stackSize); + } + keepStackSize() { + let e = this.elementStack.length; + return (this.stackSize = e), e; + } + resetStackSize(e) { + this.removeUnexpectedElements(), (this.stackSize = e); + } + consume(e, r, n) { + this.wrapper.wrapConsume(e, r), + this.isRecording() || + ((this.lastElementStack = [...this.elementStack, n]), + (this.nextTokenIndex = this.currIdx + 1)); + } + subrule(e, r, n, i) { + this.before(n), this.wrapper.wrapSubrule(e, r, i), this.after(n); + } + before(e) { + this.isRecording() || this.elementStack.push(e); + } + after(e) { + if (!this.isRecording()) { + let r = this.elementStack.lastIndexOf(e); + r >= 0 && this.elementStack.splice(r); + } + } + get currIdx() { + return this.wrapper.currIdx; + } + }), + (LOe = { + recoveryEnabled: !0, + nodeLocationTracking: 'full', + skipValidations: !0, + errorMessageProvider: new yg() + }), + (iM = class extends x2 { + static { + o(this, 'ChevrotainWrapper'); + } + constructor(e, r) { + let n = r && 'maxLookahead' in r; + super( + e, + Object.assign( + Object.assign(Object.assign({}, LOe), { + lookaheadStrategy: n ? new $u({ maxLookahead: r.maxLookahead }) : new k2() + }), + r + ) + ); + } + get IS_RECORDING() { + return this.RECORDING_PHASE; + } + DEFINE_RULE(e, r) { + return this.RULE(e, r); + } + wrapSelfAnalysis() { + this.performSelfAnalysis(); + } + wrapConsume(e, r) { + return this.consume(e, r); + } + wrapSubrule(e, r, n) { + return this.subrule(e, r, { ARGS: [n] }); + } + wrapOr(e, r) { + this.or(e, r); + } + wrapOption(e, r) { + this.option(e, r); + } + wrapMany(e, r) { + this.many(e, r); + } + wrapAtLeastOne(e, r) { + this.atLeastOne(e, r); + } + }); + }); + function _k(t, e, r) { + return DOe({ parser: e, tokens: r, rules: new Map(), ruleNames: new Map() }, t), e; + } + function DOe(t, e) { + let r = Qv(e, !1), + n = Kr(e.rules) + .filter(Oa) + .filter((i) => r.has(i)); + for (let i of n) { + let a = Object.assign(Object.assign({}, t), { + consume: 1, + optional: 1, + subrule: 1, + many: 1, + or: 1 + }); + a.rules.set(i.name, t.parser.rule(i, m0(a, i.definition))); + } + } + function m0(t, e, r = !1) { + let n; + if (Ho(e)) n = BOe(t, e); + else if (Iu(e)) n = ROe(t, e); + else if (Nl(e)) n = m0(t, e.terminal); + else if (Kd(e)) n = noe(t, e); + else if (Ml(e)) n = NOe(t, e); + else if (wT(e)) n = IOe(t, e); + else if (kT(e)) n = OOe(t, e); + else if (rf(e)) n = POe(t, e); + else if (fR(e)) { + let i = t.consume++; + n = o(() => t.parser.consume(i, fo, e), 'method'); + } else throw new jd(e.$cstNode, `Unexpected element type: ${e.$type}`); + return ioe(t, r ? void 0 : Ak(e), n, e.cardinality); + } + function ROe(t, e) { + let r = r0(e); + return () => t.parser.action(r, e); + } + function NOe(t, e) { + let r = e.rule.ref; + if (Oa(r)) { + let n = t.subrule++, + i = e.arguments.length > 0 ? MOe(r, e.arguments) : () => ({}); + return (a) => t.parser.subrule(n, aoe(t, r), e, i(a)); + } else if (Uo(r)) { + let n = t.consume++, + i = aM(t, r.name); + return () => t.parser.consume(n, i, e); + } else if (r) tf(r); + else throw new jd(e.$cstNode, `Undefined rule type: ${e.$type}`); + } + function MOe(t, e) { + let r = e.map((n) => Vu(n.value)); + return (n) => { + let i = {}; + for (let a = 0; a < r.length; a++) { + let s = t.parameters[a], + l = r[a]; + i[s.name] = l(n); + } + return i; + }; + } + function Vu(t) { + if (GD(t)) { + let e = Vu(t.left), + r = Vu(t.right); + return (n) => e(n) || r(n); + } else if (FD(t)) { + let e = Vu(t.left), + r = Vu(t.right); + return (n) => e(n) && r(n); + } else if (YD(t)) { + let e = Vu(t.value); + return (r) => !e(r); + } else if (jD(t)) { + let e = t.parameter.ref.name; + return (r) => r !== void 0 && r[e] === !0; + } else if (PD(t)) { + let e = !!t.true; + return () => e; + } + tf(t); + } + function IOe(t, e) { + if (e.elements.length === 1) return m0(t, e.elements[0]); + { + let r = []; + for (let i of e.elements) { + let a = { ALT: m0(t, i, !0) }, + s = Ak(i); + s && (a.GATE = Vu(s)), r.push(a); + } + let n = t.or++; + return (i) => + t.parser.alternatives( + n, + r.map((a) => { + let s = { ALT: o(() => a.ALT(i), 'ALT') }, + l = a.GATE; + return l && (s.GATE = () => l(i)), s; + }) + ); + } + } + function OOe(t, e) { + if (e.elements.length === 1) return m0(t, e.elements[0]); + let r = []; + for (let l of e.elements) { + let u = { ALT: m0(t, l, !0) }, + h = Ak(l); + h && (u.GATE = Vu(h)), r.push(u); + } + let n = t.or++, + i = o((l, u) => { + let h = u.getRuleStack().join('-'); + return `uGroup_${l}_${h}`; + }, 'idFunc'), + a = o( + (l) => + t.parser.alternatives( + n, + r.map((u, h) => { + let f = { ALT: o(() => !0, 'ALT') }, + d = t.parser; + f.ALT = () => { + if ((u.ALT(l), !d.isRecording())) { + let m = i(n, d); + d.unorderedGroups.get(m) || d.unorderedGroups.set(m, []); + let g = d.unorderedGroups.get(m); + typeof g?.[h] > 'u' && (g[h] = !0); + } + }; + let p = u.GATE; + return ( + p + ? (f.GATE = () => p(l)) + : (f.GATE = () => { + let m = d.unorderedGroups.get(i(n, d)); + return !m?.[h]; + }), + f + ); + }) + ), + 'alternatives' + ), + s = ioe(t, Ak(e), a, '*'); + return (l) => { + s(l), t.parser.isRecording() || t.parser.unorderedGroups.delete(i(n, t.parser)); + }; + } + function POe(t, e) { + let r = e.elements.map((n) => m0(t, n)); + return (n) => r.forEach((i) => i(n)); + } + function Ak(t) { + if (rf(t)) return t.guardCondition; + } + function noe(t, e, r = e.terminal) { + if (r) + if (Ml(r) && Oa(r.rule.ref)) { + let n = t.subrule++; + return (i) => t.parser.subrule(n, aoe(t, r.rule.ref), e, i); + } else if (Ml(r) && Uo(r.rule.ref)) { + let n = t.consume++, + i = aM(t, r.rule.ref.name); + return () => t.parser.consume(n, i, e); + } else if (Ho(r)) { + let n = t.consume++, + i = aM(t, r.value); + return () => t.parser.consume(n, i, e); + } else throw new Error('Could not build cross reference parser'); + else { + if (!e.type.ref) throw new Error('Could not resolve reference to type: ' + e.type.$refText); + let n = DT(e.type.ref), + i = n?.terminal; + if (!i) throw new Error('Could not find name assignment for type: ' + r0(e.type.ref)); + return noe(t, e, i); + } + } + function BOe(t, e) { + let r = t.consume++, + n = t.tokens[e.value]; + if (!n) throw new Error('Could not find token for keyword: ' + e.value); + return () => t.parser.consume(r, n, e); + } + function ioe(t, e, r, n) { + let i = e && Vu(e); + if (!n) + if (i) { + let a = t.or++; + return (s) => + t.parser.alternatives(a, [ + { ALT: o(() => r(s), 'ALT'), GATE: o(() => i(s), 'GATE') }, + { ALT: gk(), GATE: o(() => !i(s), 'GATE') } + ]); + } else return r; + if (n === '*') { + let a = t.many++; + return (s) => + t.parser.many(a, { + DEF: o(() => r(s), 'DEF'), + GATE: i ? () => i(s) : void 0 + }); + } else if (n === '+') { + let a = t.many++; + if (i) { + let s = t.or++; + return (l) => + t.parser.alternatives(s, [ + { + ALT: o(() => t.parser.atLeastOne(a, { DEF: o(() => r(l), 'DEF') }), 'ALT'), + GATE: o(() => i(l), 'GATE') + }, + { ALT: gk(), GATE: o(() => !i(l), 'GATE') } + ]); + } else return (s) => t.parser.atLeastOne(a, { DEF: o(() => r(s), 'DEF') }); + } else if (n === '?') { + let a = t.optional++; + return (s) => + t.parser.optional(a, { + DEF: o(() => r(s), 'DEF'), + GATE: i ? () => i(s) : void 0 + }); + } else tf(n); + } + function aoe(t, e) { + let r = FOe(t, e), + n = t.rules.get(r); + if (!n) throw new Error(`Rule "${r}" not found."`); + return n; + } + function FOe(t, e) { + if (Oa(e)) return e.name; + if (t.ruleNames.has(e)) return t.ruleNames.get(e); + { + let r = e, + n = r.$container, + i = e.$type; + for (; !Oa(n); ) + (rf(n) || wT(n) || kT(n)) && (i = n.elements.indexOf(r).toString() + ':' + i), + (r = n), + (n = n.$container); + return (i = n.name + ':' + i), t.ruleNames.set(e, i), i; + } + } + function aM(t, e) { + let r = t.tokens[e]; + if (!r) throw new Error(`Token "${e}" not found."`); + return r; + } + var sM = R(() => { + 'use strict'; + u0(); + Sc(); + pT(); + Ds(); + Il(); + o(_k, 'createParser'); + o(DOe, 'buildRules'); + o(m0, 'buildElement'); + o(ROe, 'buildAction'); + o(NOe, 'buildRuleCall'); + o(MOe, 'buildRuleCallPredicate'); + o(Vu, 'buildPredicate'); + o(IOe, 'buildAlternatives'); + o(OOe, 'buildUnorderedGroup'); + o(POe, 'buildGroup'); + o(Ak, 'getGuardCondition'); + o(noe, 'buildCrossReference'); + o(BOe, 'buildKeyword'); + o(ioe, 'wrap'); + o(aoe, 'getRule'); + o(FOe, 'getRuleName'); + o(aM, 'getToken'); + }); + function oM(t) { + let e = t.Grammar, + r = t.parser.Lexer, + n = new L2(t); + return _k(e, n, r.definition), n.finalize(), n; + } + var lM = R(() => { + 'use strict'; + D2(); + sM(); + o(oM, 'createCompletionParser'); + }); + function cM(t) { + let e = soe(t); + return e.finalize(), e; + } + function soe(t) { + let e = t.Grammar, + r = t.parser.Lexer, + n = new _2(t); + return _k(e, n, r.definition); + } + var uM = R(() => { + 'use strict'; + D2(); + sM(); + o(cM, 'createLangiumParser'); + o(soe, 'prepareLangiumParser'); + }); + var g0, + hM = R(() => { + 'use strict'; + u0(); + Sc(); + es(); + Il(); + Um(); + Ds(); + g0 = class { + static { + o(this, 'DefaultTokenBuilder'); + } + buildTokens(e, r) { + let n = Kr(Qv(e, !1)), + i = this.buildTerminalTokens(n), + a = this.buildKeywordTokens(n, i, r); + return ( + i.forEach((s) => { + let l = s.PATTERN; + typeof l == 'object' && l && 'test' in l && _T(l) ? a.unshift(s) : a.push(s); + }), + a + ); + } + buildTerminalTokens(e) { + return e + .filter(Uo) + .filter((r) => !r.fragment) + .map((r) => this.buildTerminalToken(r)) + .toArray(); + } + buildTerminalToken(e) { + let r = Hm(e), + n = this.requiresCustomPattern(r) ? this.regexPatternFunction(r) : r, + i = { name: e.name, PATTERN: n, LINE_BREAKS: !0 }; + return e.hidden && (i.GROUP = _T(r) ? ni.SKIPPED : 'hidden'), i; + } + requiresCustomPattern(e) { + return e.flags.includes('u') ? !0 : !!(e.source.includes('?<=') || e.source.includes('? ((r.lastIndex = i), r.exec(n)); + } + buildKeywordTokens(e, r, n) { + return e + .filter(Oa) + .flatMap((i) => Ac(i).filter(Ho)) + .distinct((i) => i.value) + .toArray() + .sort((i, a) => a.value.length - i.value.length) + .map((i) => this.buildKeywordToken(i, r, !!n?.caseInsensitive)); + } + buildKeywordToken(e, r, n) { + return { + name: e.value, + PATTERN: this.buildKeywordPattern(e, n), + LONGER_ALT: this.findLongerAlt(e, r) + }; + } + buildKeywordPattern(e, r) { + return r ? new RegExp(zR(e.value)) : e.value; + } + findLongerAlt(e, r) { + return r.reduce((n, i) => { + let a = i?.PATTERN; + return a?.source && GR('^' + a.source + '$', e.value) && n.push(i), n; + }, []); + } + }; + }); + var y0, + Dc, + fM = R(() => { + 'use strict'; + Sc(); + Il(); + y0 = class { + static { + o(this, 'DefaultValueConverter'); + } + convert(e, r) { + let n = r.grammarSource; + if ((Kd(n) && (n = UR(n)), Ml(n))) { + let i = n.rule.ref; + if (!i) throw new Error('This cst node was not parsed by a rule.'); + return this.runConverter(i, e, r); + } + return e; + } + runConverter(e, r, n) { + var i; + switch (e.name.toUpperCase()) { + case 'INT': + return Dc.convertInt(r); + case 'STRING': + return Dc.convertString(r); + case 'ID': + return Dc.convertID(r); + } + switch ((i = QR(e)) === null || i === void 0 ? void 0 : i.toLowerCase()) { + case 'number': + return Dc.convertNumber(r); + case 'boolean': + return Dc.convertBoolean(r); + case 'bigint': + return Dc.convertBigint(r); + case 'date': + return Dc.convertDate(r); + default: + return r; + } + } + }; + (function (t) { + function e(h) { + let f = ''; + for (let d = 1; d < h.length - 1; d++) { + let p = h.charAt(d); + if (p === '\\') { + let m = h.charAt(++d); + f += r(m); + } else f += p; + } + return f; + } + o(e, 'convertString'), (t.convertString = e); + function r(h) { + switch (h) { + case 'b': + return '\b'; + case 'f': + return '\f'; + case 'n': + return ` +`; + case 'r': + return '\r'; + case 't': + return ' '; + case 'v': + return '\v'; + case '0': + return '\0'; + default: + return h; + } + } + o(r, 'convertEscapeCharacter'); + function n(h) { + return h.charAt(0) === '^' ? h.substring(1) : h; + } + o(n, 'convertID'), (t.convertID = n); + function i(h) { + return parseInt(h); + } + o(i, 'convertInt'), (t.convertInt = i); + function a(h) { + return BigInt(h); + } + o(a, 'convertBigint'), (t.convertBigint = a); + function s(h) { + return new Date(h); + } + o(s, 'convertDate'), (t.convertDate = s); + function l(h) { + return Number(h); + } + o(l, 'convertNumber'), (t.convertNumber = l); + function u(h) { + return h.toLowerCase() === 'true'; + } + o(u, 'convertBoolean'), (t.convertBoolean = u); + })(Dc || (Dc = {})); + }); + var gM = gi((mM) => { + 'use strict'; + Object.defineProperty(mM, '__esModule', { value: !0 }); + var dM; + function pM() { + if (dM === void 0) throw new Error('No runtime abstraction layer installed'); + return dM; + } + o(pM, 'RAL'); + (function (t) { + function e(r) { + if (r === void 0) throw new Error('No runtime abstraction layer provided'); + dM = r; + } + o(e, 'install'), (t.install = e); + })(pM || (pM = {})); + mM.default = pM; + }); + var coe = gi((Pa) => { + 'use strict'; + Object.defineProperty(Pa, '__esModule', { value: !0 }); + Pa.stringArray = Pa.array = Pa.func = Pa.error = Pa.number = Pa.string = Pa.boolean = void 0; + function zOe(t) { + return t === !0 || t === !1; + } + o(zOe, 'boolean'); + Pa.boolean = zOe; + function ooe(t) { + return typeof t == 'string' || t instanceof String; + } + o(ooe, 'string'); + Pa.string = ooe; + function GOe(t) { + return typeof t == 'number' || t instanceof Number; + } + o(GOe, 'number'); + Pa.number = GOe; + function $Oe(t) { + return t instanceof Error; + } + o($Oe, 'error'); + Pa.error = $Oe; + function VOe(t) { + return typeof t == 'function'; + } + o(VOe, 'func'); + Pa.func = VOe; + function loe(t) { + return Array.isArray(t); + } + o(loe, 'array'); + Pa.array = loe; + function UOe(t) { + return loe(t) && t.every((e) => ooe(e)); + } + o(UOe, 'stringArray'); + Pa.stringArray = UOe; + }); + var vM = gi((vg) => { + 'use strict'; + Object.defineProperty(vg, '__esModule', { value: !0 }); + vg.Emitter = vg.Event = void 0; + var HOe = gM(), + uoe; + (function (t) { + let e = { dispose() {} }; + t.None = function () { + return e; + }; + })(uoe || (vg.Event = uoe = {})); + var yM = class { + static { + o(this, 'CallbackList'); + } + add(e, r = null, n) { + this._callbacks || ((this._callbacks = []), (this._contexts = [])), + this._callbacks.push(e), + this._contexts.push(r), + Array.isArray(n) && n.push({ dispose: o(() => this.remove(e, r), 'dispose') }); + } + remove(e, r = null) { + if (!this._callbacks) return; + let n = !1; + for (let i = 0, a = this._callbacks.length; i < a; i++) + if (this._callbacks[i] === e) + if (this._contexts[i] === r) { + this._callbacks.splice(i, 1), this._contexts.splice(i, 1); + return; + } else n = !0; + if (n) + throw new Error( + 'When adding a listener with a context, you should remove it with the same context' + ); + } + invoke(...e) { + if (!this._callbacks) return []; + let r = [], + n = this._callbacks.slice(0), + i = this._contexts.slice(0); + for (let a = 0, s = n.length; a < s; a++) + try { + r.push(n[a].apply(i[a], e)); + } catch (l) { + (0, HOe.default)().console.error(l); + } + return r; + } + isEmpty() { + return !this._callbacks || this._callbacks.length === 0; + } + dispose() { + (this._callbacks = void 0), (this._contexts = void 0); + } + }, + Lk = class t { + static { + o(this, 'Emitter'); + } + constructor(e) { + this._options = e; + } + get event() { + return ( + this._event || + (this._event = (e, r, n) => { + this._callbacks || (this._callbacks = new yM()), + this._options && + this._options.onFirstListenerAdd && + this._callbacks.isEmpty() && + this._options.onFirstListenerAdd(this), + this._callbacks.add(e, r); + let i = { + dispose: o(() => { + this._callbacks && + (this._callbacks.remove(e, r), + (i.dispose = t._noop), + this._options && + this._options.onLastListenerRemove && + this._callbacks.isEmpty() && + this._options.onLastListenerRemove(this)); + }, 'dispose') + }; + return Array.isArray(n) && n.push(i), i; + }), + this._event + ); + } + fire(e) { + this._callbacks && this._callbacks.invoke.call(this._callbacks, e); + } + dispose() { + this._callbacks && (this._callbacks.dispose(), (this._callbacks = void 0)); + } + }; + vg.Emitter = Lk; + Lk._noop = function () {}; + }); + var hoe = gi((xg) => { + 'use strict'; + Object.defineProperty(xg, '__esModule', { value: !0 }); + xg.CancellationTokenSource = xg.CancellationToken = void 0; + var YOe = gM(), + WOe = coe(), + xM = vM(), + Dk; + (function (t) { + (t.None = Object.freeze({ + isCancellationRequested: !1, + onCancellationRequested: xM.Event.None + })), + (t.Cancelled = Object.freeze({ + isCancellationRequested: !0, + onCancellationRequested: xM.Event.None + })); + function e(r) { + let n = r; + return ( + n && + (n === t.None || + n === t.Cancelled || + (WOe.boolean(n.isCancellationRequested) && !!n.onCancellationRequested)) + ); + } + o(e, 'is'), (t.is = e); + })(Dk || (xg.CancellationToken = Dk = {})); + var qOe = Object.freeze(function (t, e) { + let r = (0, YOe.default)().timer.setTimeout(t.bind(e), 0); + return { + dispose() { + r.dispose(); + } + }; + }), + Rk = class { + static { + o(this, 'MutableToken'); + } + constructor() { + this._isCancelled = !1; + } + cancel() { + this._isCancelled || + ((this._isCancelled = !0), this._emitter && (this._emitter.fire(void 0), this.dispose())); + } + get isCancellationRequested() { + return this._isCancelled; + } + get onCancellationRequested() { + return this._isCancelled + ? qOe + : (this._emitter || (this._emitter = new xM.Emitter()), this._emitter.event); + } + dispose() { + this._emitter && (this._emitter.dispose(), (this._emitter = void 0)); + } + }, + bM = class { + static { + o(this, 'CancellationTokenSource'); + } + get token() { + return this._token || (this._token = new Rk()), this._token; + } + cancel() { + this._token ? this._token.cancel() : (this._token = Dk.Cancelled); + } + dispose() { + this._token ? this._token instanceof Rk && this._token.dispose() : (this._token = Dk.None); + } + }; + xg.CancellationTokenSource = bM; + }); + var pr = {}; + var Wo = R(() => { + 'use strict'; + dr(pr, Xi(hoe(), 1)); + }); + function TM() { + return new Promise((t) => { + typeof setImmediate > 'u' ? setTimeout(t, 0) : setImmediate(t); + }); + } + function doe() { + return (wM = Date.now()), new pr.CancellationTokenSource(); + } + function poe(t) { + foe = t; + } + function of(t) { + return t === Rc; + } + async function Bi(t) { + if (t === pr.CancellationToken.None) return; + let e = Date.now(); + if ((e - wM >= foe && ((wM = e), await TM()), t.isCancellationRequested)) throw Rc; + } + var wM, + foe, + Rc, + as, + qo = R(() => { + 'use strict'; + Wo(); + o(TM, 'delayNextTick'); + (wM = 0), (foe = 10); + o(doe, 'startCancelableOperation'); + o(poe, 'setInterruptionPeriod'); + Rc = Symbol('OperationCancelled'); + o(of, 'isOperationCancelled'); + o(Bi, 'interruptAndCheck'); + as = class { + static { + o(this, 'Deferred'); + } + constructor() { + this.promise = new Promise((e, r) => { + (this.resolve = (n) => (e(n), this)), (this.reject = (n) => (r(n), this)); + }); + } + }; + }); + function kM(t, e) { + if (t.length <= 1) return t; + let r = (t.length / 2) | 0, + n = t.slice(0, r), + i = t.slice(r); + kM(n, e), kM(i, e); + let a = 0, + s = 0, + l = 0; + for (; a < n.length && s < i.length; ) e(n[a], i[s]) <= 0 ? (t[l++] = n[a++]) : (t[l++] = i[s++]); + for (; a < n.length; ) t[l++] = n[a++]; + for (; s < i.length; ) t[l++] = i[s++]; + return t; + } + function moe(t, e, r = 0) { + let n = e ? [r] : []; + for (let i = 0; i < t.length; i++) { + let a = t.charCodeAt(i); + goe(a) && (a === 13 && i + 1 < t.length && t.charCodeAt(i + 1) === 10 && i++, n.push(r + i + 1)); + } + return n; + } + function goe(t) { + return t === 13 || t === 10; + } + function yoe(t) { + let e = t.start, + r = t.end; + return e.line > r.line || (e.line === r.line && e.character > r.character) ? { start: r, end: e } : t; + } + function XOe(t) { + let e = yoe(t.range); + return e !== t.range ? { newText: t.newText, range: e } : t; + } + var Nk, + bg, + voe = R(() => { + 'use strict'; + Nk = class t { + static { + o(this, 'FullTextDocument'); + } + constructor(e, r, n, i) { + (this._uri = e), + (this._languageId = r), + (this._version = n), + (this._content = i), + (this._lineOffsets = void 0); + } + get uri() { + return this._uri; + } + get languageId() { + return this._languageId; + } + get version() { + return this._version; + } + getText(e) { + if (e) { + let r = this.offsetAt(e.start), + n = this.offsetAt(e.end); + return this._content.substring(r, n); + } + return this._content; + } + update(e, r) { + for (let n of e) + if (t.isIncremental(n)) { + let i = yoe(n.range), + a = this.offsetAt(i.start), + s = this.offsetAt(i.end); + this._content = + this._content.substring(0, a) + + n.text + + this._content.substring(s, this._content.length); + let l = Math.max(i.start.line, 0), + u = Math.max(i.end.line, 0), + h = this._lineOffsets, + f = moe(n.text, !1, a); + if (u - l === f.length) for (let p = 0, m = f.length; p < m; p++) h[p + l + 1] = f[p]; + else + f.length < 1e4 + ? h.splice(l + 1, u - l, ...f) + : (this._lineOffsets = h = h.slice(0, l + 1).concat(f, h.slice(u + 1))); + let d = n.text.length - (s - a); + if (d !== 0) for (let p = l + 1 + f.length, m = h.length; p < m; p++) h[p] = h[p] + d; + } else if (t.isFull(n)) (this._content = n.text), (this._lineOffsets = void 0); + else throw new Error('Unknown change event received'); + this._version = r; + } + getLineOffsets() { + return ( + this._lineOffsets === void 0 && (this._lineOffsets = moe(this._content, !0)), this._lineOffsets + ); + } + positionAt(e) { + e = Math.max(Math.min(e, this._content.length), 0); + let r = this.getLineOffsets(), + n = 0, + i = r.length; + if (i === 0) return { line: 0, character: e }; + for (; n < i; ) { + let s = Math.floor((n + i) / 2); + r[s] > e ? (i = s) : (n = s + 1); + } + let a = n - 1; + return (e = this.ensureBeforeEOL(e, r[a])), { line: a, character: e - r[a] }; + } + offsetAt(e) { + let r = this.getLineOffsets(); + if (e.line >= r.length) return this._content.length; + if (e.line < 0) return 0; + let n = r[e.line]; + if (e.character <= 0) return n; + let i = e.line + 1 < r.length ? r[e.line + 1] : this._content.length, + a = Math.min(n + e.character, i); + return this.ensureBeforeEOL(a, n); + } + ensureBeforeEOL(e, r) { + for (; e > r && goe(this._content.charCodeAt(e - 1)); ) e--; + return e; + } + get lineCount() { + return this.getLineOffsets().length; + } + static isIncremental(e) { + let r = e; + return ( + r != null && + typeof r.text == 'string' && + r.range !== void 0 && + (r.rangeLength === void 0 || typeof r.rangeLength == 'number') + ); + } + static isFull(e) { + let r = e; + return r != null && typeof r.text == 'string' && r.range === void 0 && r.rangeLength === void 0; + } + }; + (function (t) { + function e(i, a, s, l) { + return new Nk(i, a, s, l); + } + o(e, 'create'), (t.create = e); + function r(i, a, s) { + if (i instanceof Nk) return i.update(a, s), i; + throw new Error('TextDocument.update: document must be created by TextDocument.create'); + } + o(r, 'update'), (t.update = r); + function n(i, a) { + let s = i.getText(), + l = kM(a.map(XOe), (f, d) => { + let p = f.range.start.line - d.range.start.line; + return p === 0 ? f.range.start.character - d.range.start.character : p; + }), + u = 0, + h = []; + for (let f of l) { + let d = i.offsetAt(f.range.start); + if (d < u) throw new Error('Overlapping edit'); + d > u && h.push(s.substring(u, d)), + f.newText.length && h.push(f.newText), + (u = i.offsetAt(f.range.end)); + } + return h.push(s.substr(u)), h.join(''); + } + o(n, 'applyEdits'), (t.applyEdits = n); + })(bg || (bg = {})); + o(kM, 'mergeSort'); + o(moe, 'computeLineOffsets'); + o(goe, 'isEOL'); + o(yoe, 'getWellformedRange'); + o(XOe, 'getWellformedEdit'); + }); + var xoe, + Ms, + wg, + EM = R(() => { + 'use strict'; + (() => { + 'use strict'; + var t = { + 470: (i) => { + function a(u) { + if (typeof u != 'string') + throw new TypeError('Path must be a string. Received ' + JSON.stringify(u)); + } + o(a, 'e'); + function s(u, h) { + for (var f, d = '', p = 0, m = -1, g = 0, y = 0; y <= u.length; ++y) { + if (y < u.length) f = u.charCodeAt(y); + else { + if (f === 47) break; + f = 47; + } + if (f === 47) { + if (!(m === y - 1 || g === 1)) + if (m !== y - 1 && g === 2) { + if ( + d.length < 2 || + p !== 2 || + d.charCodeAt(d.length - 1) !== 46 || + d.charCodeAt(d.length - 2) !== 46 + ) { + if (d.length > 2) { + var v = d.lastIndexOf('/'); + if (v !== d.length - 1) { + v === -1 + ? ((d = ''), (p = 0)) + : (p = + (d = d.slice(0, v)).length - + 1 - + d.lastIndexOf('/')), + (m = y), + (g = 0); + continue; + } + } else if (d.length === 2 || d.length === 1) { + (d = ''), (p = 0), (m = y), (g = 0); + continue; + } + } + h && (d.length > 0 ? (d += '/..') : (d = '..'), (p = 2)); + } else + d.length > 0 ? (d += '/' + u.slice(m + 1, y)) : (d = u.slice(m + 1, y)), + (p = y - m - 1); + (m = y), (g = 0); + } else f === 46 && g !== -1 ? ++g : (g = -1); + } + return d; + } + o(s, 'r'); + var l = { + resolve: o(function () { + for (var u, h = '', f = !1, d = arguments.length - 1; d >= -1 && !f; d--) { + var p; + d >= 0 ? (p = arguments[d]) : (u === void 0 && (u = process.cwd()), (p = u)), + a(p), + p.length !== 0 && ((h = p + '/' + h), (f = p.charCodeAt(0) === 47)); + } + return (h = s(h, !f)), f ? (h.length > 0 ? '/' + h : '/') : h.length > 0 ? h : '.'; + }, 'resolve'), + normalize: o(function (u) { + if ((a(u), u.length === 0)) return '.'; + var h = u.charCodeAt(0) === 47, + f = u.charCodeAt(u.length - 1) === 47; + return ( + (u = s(u, !h)).length !== 0 || h || (u = '.'), + u.length > 0 && f && (u += '/'), + h ? '/' + u : u + ); + }, 'normalize'), + isAbsolute: o(function (u) { + return a(u), u.length > 0 && u.charCodeAt(0) === 47; + }, 'isAbsolute'), + join: o(function () { + if (arguments.length === 0) return '.'; + for (var u, h = 0; h < arguments.length; ++h) { + var f = arguments[h]; + a(f), f.length > 0 && (u === void 0 ? (u = f) : (u += '/' + f)); + } + return u === void 0 ? '.' : l.normalize(u); + }, 'join'), + relative: o(function (u, h) { + if ((a(u), a(h), u === h || (u = l.resolve(u)) === (h = l.resolve(h)))) return ''; + for (var f = 1; f < u.length && u.charCodeAt(f) === 47; ++f); + for ( + var d = u.length, p = d - f, m = 1; + m < h.length && h.charCodeAt(m) === 47; + ++m + ); + for (var g = h.length - m, y = p < g ? p : g, v = -1, x = 0; x <= y; ++x) { + if (x === y) { + if (g > y) { + if (h.charCodeAt(m + x) === 47) return h.slice(m + x + 1); + if (x === 0) return h.slice(m + x); + } else p > y && (u.charCodeAt(f + x) === 47 ? (v = x) : x === 0 && (v = 0)); + break; + } + var b = u.charCodeAt(f + x); + if (b !== h.charCodeAt(m + x)) break; + b === 47 && (v = x); + } + var w = ''; + for (x = f + v + 1; x <= d; ++x) + (x !== d && u.charCodeAt(x) !== 47) || + (w.length === 0 ? (w += '..') : (w += '/..')); + return w.length > 0 + ? w + h.slice(m + v) + : ((m += v), h.charCodeAt(m) === 47 && ++m, h.slice(m)); + }, 'relative'), + _makeLong: o(function (u) { + return u; + }, '_makeLong'), + dirname: o(function (u) { + if ((a(u), u.length === 0)) return '.'; + for ( + var h = u.charCodeAt(0), f = h === 47, d = -1, p = !0, m = u.length - 1; + m >= 1; + --m + ) + if ((h = u.charCodeAt(m)) === 47) { + if (!p) { + d = m; + break; + } + } else p = !1; + return d === -1 ? (f ? '/' : '.') : f && d === 1 ? '//' : u.slice(0, d); + }, 'dirname'), + basename: o(function (u, h) { + if (h !== void 0 && typeof h != 'string') + throw new TypeError('"ext" argument must be a string'); + a(u); + var f, + d = 0, + p = -1, + m = !0; + if (h !== void 0 && h.length > 0 && h.length <= u.length) { + if (h.length === u.length && h === u) return ''; + var g = h.length - 1, + y = -1; + for (f = u.length - 1; f >= 0; --f) { + var v = u.charCodeAt(f); + if (v === 47) { + if (!m) { + d = f + 1; + break; + } + } else + y === -1 && ((m = !1), (y = f + 1)), + g >= 0 && + (v === h.charCodeAt(g) + ? --g == -1 && (p = f) + : ((g = -1), (p = y))); + } + return d === p ? (p = y) : p === -1 && (p = u.length), u.slice(d, p); + } + for (f = u.length - 1; f >= 0; --f) + if (u.charCodeAt(f) === 47) { + if (!m) { + d = f + 1; + break; + } + } else p === -1 && ((m = !1), (p = f + 1)); + return p === -1 ? '' : u.slice(d, p); + }, 'basename'), + extname: o(function (u) { + a(u); + for (var h = -1, f = 0, d = -1, p = !0, m = 0, g = u.length - 1; g >= 0; --g) { + var y = u.charCodeAt(g); + if (y !== 47) + d === -1 && ((p = !1), (d = g + 1)), + y === 46 + ? h === -1 + ? (h = g) + : m !== 1 && (m = 1) + : h !== -1 && (m = -1); + else if (!p) { + f = g + 1; + break; + } + } + return h === -1 || d === -1 || m === 0 || (m === 1 && h === d - 1 && h === f + 1) + ? '' + : u.slice(h, d); + }, 'extname'), + format: o(function (u) { + if (u === null || typeof u != 'object') + throw new TypeError( + 'The "pathObject" argument must be of type Object. Received type ' + + typeof u + ); + return (function (h, f) { + var d = f.dir || f.root, + p = f.base || (f.name || '') + (f.ext || ''); + return d ? (d === f.root ? d + p : d + '/' + p) : p; + })(0, u); + }, 'format'), + parse: o(function (u) { + a(u); + var h = { root: '', dir: '', base: '', ext: '', name: '' }; + if (u.length === 0) return h; + var f, + d = u.charCodeAt(0), + p = d === 47; + p ? ((h.root = '/'), (f = 1)) : (f = 0); + for (var m = -1, g = 0, y = -1, v = !0, x = u.length - 1, b = 0; x >= f; --x) + if ((d = u.charCodeAt(x)) !== 47) + y === -1 && ((v = !1), (y = x + 1)), + d === 46 + ? m === -1 + ? (m = x) + : b !== 1 && (b = 1) + : m !== -1 && (b = -1); + else if (!v) { + g = x + 1; + break; + } + return ( + m === -1 || y === -1 || b === 0 || (b === 1 && m === y - 1 && m === g + 1) + ? y !== -1 && + (h.base = h.name = g === 0 && p ? u.slice(1, y) : u.slice(g, y)) + : (g === 0 && p + ? ((h.name = u.slice(1, m)), (h.base = u.slice(1, y))) + : ((h.name = u.slice(g, m)), (h.base = u.slice(g, y))), + (h.ext = u.slice(m, y))), + g > 0 ? (h.dir = u.slice(0, g - 1)) : p && (h.dir = '/'), + h + ); + }, 'parse'), + sep: '/', + delimiter: ':', + win32: null, + posix: null + }; + (l.posix = l), (i.exports = l); + } + }, + e = {}; + function r(i) { + var a = e[i]; + if (a !== void 0) return a.exports; + var s = (e[i] = { exports: {} }); + return t[i](s, s.exports, r), s.exports; + } + o(r, 'r'), + (r.d = (i, a) => { + for (var s in a) + r.o(a, s) && !r.o(i, s) && Object.defineProperty(i, s, { enumerable: !0, get: a[s] }); + }), + (r.o = (i, a) => Object.prototype.hasOwnProperty.call(i, a)), + (r.r = (i) => { + typeof Symbol < 'u' && + Symbol.toStringTag && + Object.defineProperty(i, Symbol.toStringTag, { value: 'Module' }), + Object.defineProperty(i, '__esModule', { value: !0 }); + }); + var n = {}; + (() => { + let i; + r.r(n), + r.d(n, { URI: o(() => p, 'URI'), Utils: o(() => M, 'Utils') }), + typeof process == 'object' + ? (i = process.platform === 'win32') + : typeof navigator == 'object' && (i = navigator.userAgent.indexOf('Windows') >= 0); + let a = /^\w[\w\d+.-]*$/, + s = /^\//, + l = /^\/\//; + function u(N, k) { + if (!N.scheme && k) + throw new Error( + `[UriError]: Scheme is missing: {scheme: "", authority: "${N.authority}", path: "${N.path}", query: "${N.query}", fragment: "${N.fragment}"}` + ); + if (N.scheme && !a.test(N.scheme)) + throw new Error('[UriError]: Scheme contains illegal characters.'); + if (N.path) { + if (N.authority) { + if (!s.test(N.path)) + throw new Error( + '[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character' + ); + } else if (l.test(N.path)) + throw new Error( + '[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")' + ); + } + } + o(u, 's'); + let h = '', + f = '/', + d = /^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/; + class p { + static { + o(this, 'f'); + } + static isUri(k) { + return ( + k instanceof p || + (!!k && + typeof k.authority == 'string' && + typeof k.fragment == 'string' && + typeof k.path == 'string' && + typeof k.query == 'string' && + typeof k.scheme == 'string' && + typeof k.fsPath == 'string' && + typeof k.with == 'function' && + typeof k.toString == 'function') + ); + } + scheme; + authority; + path; + query; + fragment; + constructor(k, I, C, O, D, P = !1) { + typeof k == 'object' + ? ((this.scheme = k.scheme || h), + (this.authority = k.authority || h), + (this.path = k.path || h), + (this.query = k.query || h), + (this.fragment = k.fragment || h)) + : ((this.scheme = (function (F, B) { + return F || B ? F : 'file'; + })(k, P)), + (this.authority = I || h), + (this.path = (function (F, B) { + switch (F) { + case 'https': + case 'http': + case 'file': + B ? B[0] !== f && (B = f + B) : (B = f); + } + return B; + })(this.scheme, C || h)), + (this.query = O || h), + (this.fragment = D || h), + u(this, P)); + } + get fsPath() { + return b(this, !1); + } + with(k) { + if (!k) return this; + let { scheme: I, authority: C, path: O, query: D, fragment: P } = k; + return ( + I === void 0 ? (I = this.scheme) : I === null && (I = h), + C === void 0 ? (C = this.authority) : C === null && (C = h), + O === void 0 ? (O = this.path) : O === null && (O = h), + D === void 0 ? (D = this.query) : D === null && (D = h), + P === void 0 ? (P = this.fragment) : P === null && (P = h), + I === this.scheme && + C === this.authority && + O === this.path && + D === this.query && + P === this.fragment + ? this + : new g(I, C, O, D, P) + ); + } + static parse(k, I = !1) { + let C = d.exec(k); + return C + ? new g(C[2] || h, E(C[4] || h), E(C[5] || h), E(C[7] || h), E(C[9] || h), I) + : new g(h, h, h, h, h); + } + static file(k) { + let I = h; + if ((i && (k = k.replace(/\\/g, f)), k[0] === f && k[1] === f)) { + let C = k.indexOf(f, 2); + C === -1 + ? ((I = k.substring(2)), (k = f)) + : ((I = k.substring(2, C)), (k = k.substring(C) || f)); + } + return new g('file', I, k, h, h); + } + static from(k) { + let I = new g(k.scheme, k.authority, k.path, k.query, k.fragment); + return u(I, !0), I; + } + toString(k = !1) { + return w(this, k); + } + toJSON() { + return this; + } + static revive(k) { + if (k) { + if (k instanceof p) return k; + { + let I = new g(k); + return (I._formatted = k.external), (I._fsPath = k._sep === m ? k.fsPath : null), I; + } + } + return k; + } + } + let m = i ? 1 : void 0; + class g extends p { + static { + o(this, 'l'); + } + _formatted = null; + _fsPath = null; + get fsPath() { + return this._fsPath || (this._fsPath = b(this, !1)), this._fsPath; + } + toString(k = !1) { + return k + ? w(this, !0) + : (this._formatted || (this._formatted = w(this, !1)), this._formatted); + } + toJSON() { + let k = { $mid: 1 }; + return ( + this._fsPath && ((k.fsPath = this._fsPath), (k._sep = m)), + this._formatted && (k.external = this._formatted), + this.path && (k.path = this.path), + this.scheme && (k.scheme = this.scheme), + this.authority && (k.authority = this.authority), + this.query && (k.query = this.query), + this.fragment && (k.fragment = this.fragment), + k + ); + } + } + let y = { + 58: '%3A', + 47: '%2F', + 63: '%3F', + 35: '%23', + 91: '%5B', + 93: '%5D', + 64: '%40', + 33: '%21', + 36: '%24', + 38: '%26', + 39: '%27', + 40: '%28', + 41: '%29', + 42: '%2A', + 43: '%2B', + 44: '%2C', + 59: '%3B', + 61: '%3D', + 32: '%20' + }; + function v(N, k, I) { + let C, + O = -1; + for (let D = 0; D < N.length; D++) { + let P = N.charCodeAt(D); + if ( + (P >= 97 && P <= 122) || + (P >= 65 && P <= 90) || + (P >= 48 && P <= 57) || + P === 45 || + P === 46 || + P === 95 || + P === 126 || + (k && P === 47) || + (I && P === 91) || + (I && P === 93) || + (I && P === 58) + ) + O !== -1 && ((C += encodeURIComponent(N.substring(O, D))), (O = -1)), + C !== void 0 && (C += N.charAt(D)); + else { + C === void 0 && (C = N.substr(0, D)); + let F = y[P]; + F !== void 0 + ? (O !== -1 && ((C += encodeURIComponent(N.substring(O, D))), (O = -1)), (C += F)) + : O === -1 && (O = D); + } + } + return O !== -1 && (C += encodeURIComponent(N.substring(O))), C !== void 0 ? C : N; + } + o(v, 'd'); + function x(N) { + let k; + for (let I = 0; I < N.length; I++) { + let C = N.charCodeAt(I); + C === 35 || C === 63 + ? (k === void 0 && (k = N.substr(0, I)), (k += y[C])) + : k !== void 0 && (k += N[I]); + } + return k !== void 0 ? k : N; + } + o(x, 'p'); + function b(N, k) { + let I; + return ( + (I = + N.authority && N.path.length > 1 && N.scheme === 'file' + ? `//${N.authority}${N.path}` + : N.path.charCodeAt(0) === 47 && + ((N.path.charCodeAt(1) >= 65 && N.path.charCodeAt(1) <= 90) || + (N.path.charCodeAt(1) >= 97 && N.path.charCodeAt(1) <= 122)) && + N.path.charCodeAt(2) === 58 + ? k + ? N.path.substr(1) + : N.path[1].toLowerCase() + N.path.substr(2) + : N.path), + i && (I = I.replace(/\//g, '\\')), + I + ); + } + o(b, 'm'); + function w(N, k) { + let I = k ? x : v, + C = '', + { scheme: O, authority: D, path: P, query: F, fragment: B } = N; + if ((O && ((C += O), (C += ':')), (D || O === 'file') && ((C += f), (C += f)), D)) { + let $ = D.indexOf('@'); + if ($ !== -1) { + let z = D.substr(0, $); + (D = D.substr($ + 1)), + ($ = z.lastIndexOf(':')), + $ === -1 + ? (C += I(z, !1, !1)) + : ((C += I(z.substr(0, $), !1, !1)), + (C += ':'), + (C += I(z.substr($ + 1), !1, !0))), + (C += '@'); + } + (D = D.toLowerCase()), + ($ = D.lastIndexOf(':')), + $ === -1 ? (C += I(D, !1, !0)) : ((C += I(D.substr(0, $), !1, !0)), (C += D.substr($))); + } + if (P) { + if (P.length >= 3 && P.charCodeAt(0) === 47 && P.charCodeAt(2) === 58) { + let $ = P.charCodeAt(1); + $ >= 65 && $ <= 90 && (P = `/${String.fromCharCode($ + 32)}:${P.substr(3)}`); + } else if (P.length >= 2 && P.charCodeAt(1) === 58) { + let $ = P.charCodeAt(0); + $ >= 65 && $ <= 90 && (P = `${String.fromCharCode($ + 32)}:${P.substr(2)}`); + } + C += I(P, !0, !1); + } + return ( + F && ((C += '?'), (C += I(F, !1, !1))), B && ((C += '#'), (C += k ? B : v(B, !1, !1))), C + ); + } + o(w, 'y'); + function S(N) { + try { + return decodeURIComponent(N); + } catch { + return N.length > 3 ? N.substr(0, 3) + S(N.substr(3)) : N; + } + } + o(S, 'v'); + let T = /(%[0-9A-Za-z][0-9A-Za-z])+/g; + function E(N) { + return N.match(T) ? N.replace(T, (k) => S(k)) : N; + } + o(E, 'C'); + var _ = r(470); + let A = _.posix || _, + L = '/'; + var M; + (function (N) { + (N.joinPath = function (k, ...I) { + return k.with({ path: A.join(k.path, ...I) }); + }), + (N.resolvePath = function (k, ...I) { + let C = k.path, + O = !1; + C[0] !== L && ((C = L + C), (O = !0)); + let D = A.resolve(C, ...I); + return O && D[0] === L && !k.authority && (D = D.substring(1)), k.with({ path: D }); + }), + (N.dirname = function (k) { + if (k.path.length === 0 || k.path === L) return k; + let I = A.dirname(k.path); + return I.length === 1 && I.charCodeAt(0) === 46 && (I = ''), k.with({ path: I }); + }), + (N.basename = function (k) { + return A.basename(k.path); + }), + (N.extname = function (k) { + return A.extname(k.path); + }); + })(M || (M = {})); + })(), + (xoe = n); + })(); + ({ URI: Ms, Utils: wg } = xoe); + }); + var ss, + Nc = R(() => { + 'use strict'; + EM(); + (function (t) { + (t.basename = wg.basename), + (t.dirname = wg.dirname), + (t.extname = wg.extname), + (t.joinPath = wg.joinPath), + (t.resolvePath = wg.resolvePath); + function e(n, i) { + return n?.toString() === i?.toString(); + } + o(e, 'equals'), (t.equals = e); + function r(n, i) { + let a = typeof n == 'string' ? n : n.path, + s = typeof i == 'string' ? i : i.path, + l = a.split('/').filter((p) => p.length > 0), + u = s.split('/').filter((p) => p.length > 0), + h = 0; + for (; h < l.length && l[h] === u[h]; h++); + let f = '../'.repeat(l.length - h), + d = u.slice(h).join('/'); + return f + d; + } + o(r, 'relative'), (t.relative = r); + })(ss || (ss = {})); + }); + var yn, + R2, + N2, + Tg = R(() => { + 'use strict'; + voe(); + Tg(); + Wo(); + Ds(); + Nc(); + (function (t) { + (t[(t.Changed = 0)] = 'Changed'), + (t[(t.Parsed = 1)] = 'Parsed'), + (t[(t.IndexedContent = 2)] = 'IndexedContent'), + (t[(t.ComputedScopes = 3)] = 'ComputedScopes'), + (t[(t.Linked = 4)] = 'Linked'), + (t[(t.IndexedReferences = 5)] = 'IndexedReferences'), + (t[(t.Validated = 6)] = 'Validated'); + })(yn || (yn = {})); + (R2 = class { + static { + o(this, 'DefaultLangiumDocumentFactory'); + } + constructor(e) { + (this.serviceRegistry = e.ServiceRegistry), + (this.textDocuments = e.workspace.TextDocuments), + (this.fileSystemProvider = e.workspace.FileSystemProvider); + } + async fromUri(e, r = pr.CancellationToken.None) { + let n = await this.fileSystemProvider.readFile(e); + return this.createAsync(e, n, r); + } + fromTextDocument(e, r, n) { + return (r = r ?? Ms.parse(e.uri)), n ? this.createAsync(r, e, n) : this.create(r, e); + } + fromString(e, r, n) { + return n ? this.createAsync(r, e, n) : this.create(r, e); + } + fromModel(e, r) { + return this.create(r, { $model: e }); + } + create(e, r) { + if (typeof r == 'string') { + let n = this.parse(e, r); + return this.createLangiumDocument(n, e, void 0, r); + } else if ('$model' in r) { + let n = { value: r.$model, parserErrors: [], lexerErrors: [] }; + return this.createLangiumDocument(n, e); + } else { + let n = this.parse(e, r.getText()); + return this.createLangiumDocument(n, e, r); + } + } + async createAsync(e, r, n) { + if (typeof r == 'string') { + let i = await this.parseAsync(e, r, n); + return this.createLangiumDocument(i, e, void 0, r); + } else { + let i = await this.parseAsync(e, r.getText(), n); + return this.createLangiumDocument(i, e, r); + } + } + createLangiumDocument(e, r, n, i) { + let a; + if (n) + a = { + parseResult: e, + uri: r, + state: yn.Parsed, + references: [], + textDocument: n + }; + else { + let s = this.createTextDocumentGetter(r, i); + a = { + parseResult: e, + uri: r, + state: yn.Parsed, + references: [], + get textDocument() { + return s(); + } + }; + } + return (e.value.$document = a), a; + } + async update(e, r) { + var n, i; + let a = (n = e.parseResult.value.$cstNode) === null || n === void 0 ? void 0 : n.root.fullText, + s = (i = this.textDocuments) === null || i === void 0 ? void 0 : i.get(e.uri.toString()), + l = s ? s.getText() : await this.fileSystemProvider.readFile(e.uri); + if (s) Object.defineProperty(e, 'textDocument', { value: s }); + else { + let u = this.createTextDocumentGetter(e.uri, l); + Object.defineProperty(e, 'textDocument', { get: u }); + } + return ( + a !== l && + ((e.parseResult = await this.parseAsync(e.uri, l, r)), (e.parseResult.value.$document = e)), + (e.state = yn.Parsed), + e + ); + } + parse(e, r) { + return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r); + } + parseAsync(e, r, n) { + return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r, n); + } + createTextDocumentGetter(e, r) { + let n = this.serviceRegistry, + i; + return () => + i ?? (i = bg.create(e.toString(), n.getServices(e).LanguageMetaData.languageId, 0, r ?? '')); + } + }), + (N2 = class { + static { + o(this, 'DefaultLangiumDocuments'); + } + constructor(e) { + (this.documentMap = new Map()), + (this.langiumDocumentFactory = e.workspace.LangiumDocumentFactory); + } + get all() { + return Kr(this.documentMap.values()); + } + addDocument(e) { + let r = e.uri.toString(); + if (this.documentMap.has(r)) + throw new Error(`A document with the URI '${r}' is already present.`); + this.documentMap.set(r, e); + } + getDocument(e) { + let r = e.toString(); + return this.documentMap.get(r); + } + async getOrCreateDocument(e, r) { + let n = this.getDocument(e); + return n || ((n = await this.langiumDocumentFactory.fromUri(e, r)), this.addDocument(n), n); + } + createDocument(e, r, n) { + if (n) + return this.langiumDocumentFactory + .fromString(r, e, n) + .then((i) => (this.addDocument(i), i)); + { + let i = this.langiumDocumentFactory.fromString(r, e); + return this.addDocument(i), i; + } + } + hasDocument(e) { + return this.documentMap.has(e.toString()); + } + invalidateDocument(e) { + let r = e.toString(), + n = this.documentMap.get(r); + return ( + n && + ((n.state = yn.Changed), + (n.precomputedScopes = void 0), + (n.references = []), + (n.diagnostics = void 0)), + n + ); + } + deleteDocument(e) { + let r = e.toString(), + n = this.documentMap.get(r); + return n && ((n.state = yn.Changed), this.documentMap.delete(r)), n; + } + }); + }); + var M2, + CM = R(() => { + 'use strict'; + Wo(); + Vo(); + es(); + qo(); + Tg(); + M2 = class { + static { + o(this, 'DefaultLinker'); + } + constructor(e) { + (this.reflection = e.shared.AstReflection), + (this.langiumDocuments = () => e.shared.workspace.LangiumDocuments), + (this.scopeProvider = e.references.ScopeProvider), + (this.astNodeLocator = e.workspace.AstNodeLocator); + } + async link(e, r = pr.CancellationToken.None) { + for (let n of Yo(e.parseResult.value)) await Bi(r), $m(n).forEach((i) => this.doLink(i, e)); + } + doLink(e, r) { + let n = e.reference; + if (n._ref === void 0) + try { + let i = this.getCandidate(e); + if (Wd(i)) n._ref = i; + else if (((n._nodeDescription = i), this.langiumDocuments().hasDocument(i.documentUri))) { + let a = this.loadAstNode(i); + n._ref = a ?? this.createLinkingError(e, i); + } + } catch (i) { + n._ref = Object.assign(Object.assign({}, e), { + message: `An error occurred while resolving reference to '${n.$refText}': ${i}` + }); + } + r.references.push(n); + } + unlink(e) { + for (let r of e.references) delete r._ref, delete r._nodeDescription; + e.references = []; + } + getCandidate(e) { + let n = this.scopeProvider.getScope(e).getElement(e.reference.$refText); + return n ?? this.createLinkingError(e); + } + buildReference(e, r, n, i) { + let a = this, + s = { + $refNode: n, + $refText: i, + get ref() { + var l; + if (Xn(this._ref)) return this._ref; + if (ED(this._nodeDescription)) { + let u = a.loadAstNode(this._nodeDescription); + this._ref = + u ?? + a.createLinkingError( + { reference: s, container: e, property: r }, + this._nodeDescription + ); + } else if (this._ref === void 0) { + let u = a.getLinkedNode({ + reference: s, + container: e, + property: r + }); + if (u.error && Oi(e).state < yn.ComputedScopes) return; + (this._ref = (l = u.node) !== null && l !== void 0 ? l : u.error), + (this._nodeDescription = u.descr); + } + return Xn(this._ref) ? this._ref : void 0; + }, + get $nodeDescription() { + return this._nodeDescription; + }, + get error() { + return Wd(this._ref) ? this._ref : void 0; + } + }; + return s; + } + getLinkedNode(e) { + try { + let r = this.getCandidate(e); + if (Wd(r)) return { error: r }; + let n = this.loadAstNode(r); + return n ? { node: n, descr: r } : { descr: r, error: this.createLinkingError(e, r) }; + } catch (r) { + return { + error: Object.assign(Object.assign({}, e), { + message: `An error occurred while resolving reference to '${e.reference.$refText}': ${r}` + }) + }; + } + } + loadAstNode(e) { + if (e.node) return e.node; + let r = this.langiumDocuments().getDocument(e.documentUri); + if (r) return this.astNodeLocator.getAstNode(r.parseResult.value, e.path); + } + createLinkingError(e, r) { + let n = Oi(e.container); + n.state < yn.ComputedScopes && + console.warn( + `Attempted reference resolution before document reached ComputedScopes state (${n.uri}).` + ); + let i = this.reflection.getReferenceType(e); + return Object.assign(Object.assign({}, e), { + message: `Could not resolve reference to ${i} named '${e.reference.$refText}'.`, + targetDescription: r + }); + } + }; + }); + function boe(t) { + return typeof t.name == 'string'; + } + var I2, + SM = R(() => { + 'use strict'; + Il(); + o(boe, 'isNamed'); + I2 = class { + static { + o(this, 'DefaultNameProvider'); + } + getName(e) { + if (boe(e)) return e.name; + } + getNameNode(e) { + return Zv(e.$cstNode, 'name'); + } + }; + }); + var O2, + AM = R(() => { + 'use strict'; + Il(); + Vo(); + es(); + Rl(); + Ds(); + Nc(); + O2 = class { + static { + o(this, 'DefaultReferences'); + } + constructor(e) { + (this.nameProvider = e.references.NameProvider), + (this.index = e.shared.workspace.IndexManager), + (this.nodeLocator = e.workspace.AstNodeLocator); + } + findDeclaration(e) { + if (e) { + let r = jR(e), + n = e.astNode; + if (r && n) { + let i = n[r.feature]; + if (xa(i)) return i.ref; + if (Array.isArray(i)) { + for (let a of i) + if (xa(a) && a.$refNode && a.$refNode.offset <= e.offset && a.$refNode.end >= e.end) + return a.ref; + } + } + if (n) { + let i = this.nameProvider.getNameNode(n); + if (i && (i === e || SD(e, i))) return n; + } + } + } + findDeclarationNode(e) { + let r = this.findDeclaration(e); + if (r?.$cstNode) { + let n = this.nameProvider.getNameNode(r); + return n ?? r.$cstNode; + } + } + findReferences(e, r) { + let n = []; + if (r.includeDeclaration) { + let a = this.getReferenceToSelf(e); + a && n.push(a); + } + let i = this.index.findAllReferences(e, this.nodeLocator.getAstNodePath(e)); + return ( + r.documentUri && (i = i.filter((a) => ss.equals(a.sourceUri, r.documentUri))), + n.push(...i), + Kr(n) + ); + } + getReferenceToSelf(e) { + let r = this.nameProvider.getNameNode(e); + if (r) { + let n = Oi(e), + i = this.nodeLocator.getAstNodePath(e); + return { + sourceUri: n.uri, + sourcePath: i, + targetUri: n.uri, + targetPath: i, + segment: Xd(r), + local: !0 + }; + } + } + }; + }); + var Mc, + v0, + kg = R(() => { + 'use strict'; + Ds(); + (Mc = class { + static { + o(this, 'MultiMap'); + } + constructor(e) { + if (((this.map = new Map()), e)) for (let [r, n] of e) this.add(r, n); + } + get size() { + return Fm.sum(Kr(this.map.values()).map((e) => e.length)); + } + clear() { + this.map.clear(); + } + delete(e, r) { + if (r === void 0) return this.map.delete(e); + { + let n = this.map.get(e); + if (n) { + let i = n.indexOf(r); + if (i >= 0) return n.length === 1 ? this.map.delete(e) : n.splice(i, 1), !0; + } + return !1; + } + } + get(e) { + var r; + return (r = this.map.get(e)) !== null && r !== void 0 ? r : []; + } + has(e, r) { + if (r === void 0) return this.map.has(e); + { + let n = this.map.get(e); + return n ? n.indexOf(r) >= 0 : !1; + } + } + add(e, r) { + return this.map.has(e) ? this.map.get(e).push(r) : this.map.set(e, [r]), this; + } + addAll(e, r) { + return this.map.has(e) ? this.map.get(e).push(...r) : this.map.set(e, Array.from(r)), this; + } + forEach(e) { + this.map.forEach((r, n) => r.forEach((i) => e(i, n, this))); + } + [Symbol.iterator]() { + return this.entries().iterator(); + } + entries() { + return Kr(this.map.entries()).flatMap(([e, r]) => r.map((n) => [e, n])); + } + keys() { + return Kr(this.map.keys()); + } + values() { + return Kr(this.map.values()).flat(); + } + entriesGroupedByKey() { + return Kr(this.map.entries()); + } + }), + (v0 = class { + static { + o(this, 'BiMap'); + } + get size() { + return this.map.size; + } + constructor(e) { + if (((this.map = new Map()), (this.inverse = new Map()), e)) + for (let [r, n] of e) this.set(r, n); + } + clear() { + this.map.clear(), this.inverse.clear(); + } + set(e, r) { + return this.map.set(e, r), this.inverse.set(r, e), this; + } + get(e) { + return this.map.get(e); + } + getKey(e) { + return this.inverse.get(e); + } + delete(e) { + let r = this.map.get(e); + return r !== void 0 ? (this.map.delete(e), this.inverse.delete(r), !0) : !1; + } + }); + }); + var P2, + _M = R(() => { + 'use strict'; + Wo(); + es(); + kg(); + qo(); + P2 = class { + static { + o(this, 'DefaultScopeComputation'); + } + constructor(e) { + (this.nameProvider = e.references.NameProvider), + (this.descriptions = e.workspace.AstNodeDescriptionProvider); + } + async computeExports(e, r = pr.CancellationToken.None) { + return this.computeExportsForNode(e.parseResult.value, e, void 0, r); + } + async computeExportsForNode(e, r, n = Wv, i = pr.CancellationToken.None) { + let a = []; + this.exportNode(e, a, r); + for (let s of n(e)) await Bi(i), this.exportNode(s, a, r); + return a; + } + exportNode(e, r, n) { + let i = this.nameProvider.getName(e); + i && r.push(this.descriptions.createDescription(e, i, n)); + } + async computeLocalScopes(e, r = pr.CancellationToken.None) { + let n = e.parseResult.value, + i = new Mc(); + for (let a of Ac(n)) await Bi(r), this.processNode(a, e, i); + return i; + } + processNode(e, r, n) { + let i = e.$container; + if (i) { + let a = this.nameProvider.getName(e); + a && n.add(i, this.descriptions.createDescription(e, a, r)); + } + } + }; + }); + var Eg, + B2, + jOe, + LM = R(() => { + 'use strict'; + Ds(); + (Eg = class { + static { + o(this, 'StreamScope'); + } + constructor(e, r, n) { + var i; + (this.elements = e), + (this.outerScope = r), + (this.caseInsensitive = (i = n?.caseInsensitive) !== null && i !== void 0 ? i : !1); + } + getAllElements() { + return this.outerScope ? this.elements.concat(this.outerScope.getAllElements()) : this.elements; + } + getElement(e) { + let r = this.caseInsensitive + ? this.elements.find((n) => n.name.toLowerCase() === e.toLowerCase()) + : this.elements.find((n) => n.name === e); + if (r) return r; + if (this.outerScope) return this.outerScope.getElement(e); + } + }), + (B2 = class { + static { + o(this, 'MapScope'); + } + constructor(e, r, n) { + var i; + (this.elements = new Map()), + (this.caseInsensitive = (i = n?.caseInsensitive) !== null && i !== void 0 ? i : !1); + for (let a of e) { + let s = this.caseInsensitive ? a.name.toLowerCase() : a.name; + this.elements.set(s, a); + } + this.outerScope = r; + } + getElement(e) { + let r = this.caseInsensitive ? e.toLowerCase() : e, + n = this.elements.get(r); + if (n) return n; + if (this.outerScope) return this.outerScope.getElement(e); + } + getAllElements() { + let e = Kr(this.elements.values()); + return this.outerScope && (e = e.concat(this.outerScope.getAllElements())), e; + } + }), + (jOe = { + getElement() {}, + getAllElements() { + return Gv; + } + }); + }); + var Cg, + F2, + x0, + Mk, + Sg, + Ik = R(() => { + 'use strict'; + (Cg = class { + static { + o(this, 'DisposableCache'); + } + constructor() { + (this.toDispose = []), (this.isDisposed = !1); + } + onDispose(e) { + this.toDispose.push(e); + } + dispose() { + this.throwIfDisposed(), + this.clear(), + (this.isDisposed = !0), + this.toDispose.forEach((e) => e.dispose()); + } + throwIfDisposed() { + if (this.isDisposed) throw new Error('This cache has already been disposed'); + } + }), + (F2 = class extends Cg { + static { + o(this, 'SimpleCache'); + } + constructor() { + super(...arguments), (this.cache = new Map()); + } + has(e) { + return this.throwIfDisposed(), this.cache.has(e); + } + set(e, r) { + this.throwIfDisposed(), this.cache.set(e, r); + } + get(e, r) { + if ((this.throwIfDisposed(), this.cache.has(e))) return this.cache.get(e); + if (r) { + let n = r(); + return this.cache.set(e, n), n; + } else return; + } + delete(e) { + return this.throwIfDisposed(), this.cache.delete(e); + } + clear() { + this.throwIfDisposed(), this.cache.clear(); + } + }), + (x0 = class extends Cg { + static { + o(this, 'ContextCache'); + } + constructor(e) { + super(), (this.cache = new Map()), (this.converter = e ?? ((r) => r)); + } + has(e, r) { + return this.throwIfDisposed(), this.cacheForContext(e).has(r); + } + set(e, r, n) { + this.throwIfDisposed(), this.cacheForContext(e).set(r, n); + } + get(e, r, n) { + this.throwIfDisposed(); + let i = this.cacheForContext(e); + if (i.has(r)) return i.get(r); + if (n) { + let a = n(); + return i.set(r, a), a; + } else return; + } + delete(e, r) { + return this.throwIfDisposed(), this.cacheForContext(e).delete(r); + } + clear(e) { + if ((this.throwIfDisposed(), e)) { + let r = this.converter(e); + this.cache.delete(r); + } else this.cache.clear(); + } + cacheForContext(e) { + let r = this.converter(e), + n = this.cache.get(r); + return n || ((n = new Map()), this.cache.set(r, n)), n; + } + }), + (Mk = class extends x0 { + static { + o(this, 'DocumentCache'); + } + constructor(e) { + super((r) => r.toString()), + this.onDispose( + e.workspace.DocumentBuilder.onUpdate((r, n) => { + let i = r.concat(n); + for (let a of i) this.clear(a); + }) + ); + } + }), + (Sg = class extends F2 { + static { + o(this, 'WorkspaceCache'); + } + constructor(e) { + super(), + this.onDispose( + e.workspace.DocumentBuilder.onUpdate(() => { + this.clear(); + }) + ); + } + }); + }); + var z2, + DM = R(() => { + 'use strict'; + LM(); + es(); + Ds(); + Ik(); + z2 = class { + static { + o(this, 'DefaultScopeProvider'); + } + constructor(e) { + (this.reflection = e.shared.AstReflection), + (this.nameProvider = e.references.NameProvider), + (this.descriptions = e.workspace.AstNodeDescriptionProvider), + (this.indexManager = e.shared.workspace.IndexManager), + (this.globalScopeCache = new Sg(e.shared)); + } + getScope(e) { + let r = [], + n = this.reflection.getReferenceType(e), + i = Oi(e.container).precomputedScopes; + if (i) { + let s = e.container; + do { + let l = i.get(s); + l.length > 0 && r.push(Kr(l).filter((u) => this.reflection.isSubtype(u.type, n))), + (s = s.$container); + } while (s); + } + let a = this.getGlobalScope(n, e); + for (let s = r.length - 1; s >= 0; s--) a = this.createScope(r[s], a); + return a; + } + createScope(e, r, n) { + return new Eg(Kr(e), r, n); + } + createScopeForNodes(e, r, n) { + let i = Kr(e) + .map((a) => { + let s = this.nameProvider.getName(a); + if (s) return this.descriptions.createDescription(a, s); + }) + .nonNullable(); + return new Eg(i, r, n); + } + getGlobalScope(e, r) { + return this.globalScopeCache.get(e, () => new B2(this.indexManager.allElements(e))); + } + }; + }); + function RM(t) { + return typeof t.$comment == 'string'; + } + function woe(t) { + return typeof t == 'object' && !!t && ('$ref' in t || '$error' in t); + } + var G2, + Ok = R(() => { + 'use strict'; + EM(); + Vo(); + es(); + Il(); + o(RM, 'isAstNodeWithComment'); + o(woe, 'isIntermediateReference'); + G2 = class { + static { + o(this, 'DefaultJsonSerializer'); + } + constructor(e) { + (this.ignoreProperties = new Set([ + '$container', + '$containerProperty', + '$containerIndex', + '$document', + '$cstNode' + ])), + (this.langiumDocuments = e.shared.workspace.LangiumDocuments), + (this.astNodeLocator = e.workspace.AstNodeLocator), + (this.nameProvider = e.references.NameProvider), + (this.commentProvider = e.documentation.CommentProvider); + } + serialize(e, r = {}) { + let n = r?.replacer, + i = o((s, l) => this.replacer(s, l, r), 'defaultReplacer'), + a = n ? (s, l) => n(s, l, i) : i; + try { + return (this.currentDocument = Oi(e)), JSON.stringify(e, a, r?.space); + } finally { + this.currentDocument = void 0; + } + } + deserialize(e, r = {}) { + let n = JSON.parse(e); + return this.linkNode(n, n, r), n; + } + replacer(e, r, { refText: n, sourceText: i, textRegions: a, comments: s, uriConverter: l }) { + var u, h, f, d; + if (!this.ignoreProperties.has(e)) + if (xa(r)) { + let p = r.ref, + m = n ? r.$refText : void 0; + if (p) { + let g = Oi(p), + y = ''; + this.currentDocument && + this.currentDocument !== g && + (l ? (y = l(g.uri, r)) : (y = g.uri.toString())); + let v = this.astNodeLocator.getAstNodePath(p); + return { $ref: `${y}#${v}`, $refText: m }; + } else + return { + $error: + (h = (u = r.error) === null || u === void 0 ? void 0 : u.message) !== null && + h !== void 0 + ? h + : 'Could not resolve reference', + $refText: m + }; + } else if (Xn(r)) { + let p; + if ( + (a && + ((p = this.addAstNodeRegionWithAssignmentsTo(Object.assign({}, r))), + (!e || r.$document) && + p?.$textRegion && + (p.$textRegion.documentURI = + (f = this.currentDocument) === null || f === void 0 + ? void 0 + : f.uri.toString())), + i && + !e && + (p ?? (p = Object.assign({}, r)), + (p.$sourceText = (d = r.$cstNode) === null || d === void 0 ? void 0 : d.text)), + s) + ) { + p ?? (p = Object.assign({}, r)); + let m = this.commentProvider.getComment(r); + m && (p.$comment = m.replace(/\r/g, '')); + } + return p ?? r; + } else return r; + } + addAstNodeRegionWithAssignmentsTo(e) { + let r = o( + (n) => ({ + offset: n.offset, + end: n.end, + length: n.length, + range: n.range + }), + 'createDocumentSegment' + ); + if (e.$cstNode) { + let n = (e.$textRegion = r(e.$cstNode)), + i = (n.assignments = {}); + return ( + Object.keys(e) + .filter((a) => !a.startsWith('$')) + .forEach((a) => { + let s = YR(e.$cstNode, a).map(r); + s.length !== 0 && (i[a] = s); + }), + e + ); + } + } + linkNode(e, r, n, i, a, s) { + for (let [u, h] of Object.entries(e)) + if (Array.isArray(h)) + for (let f = 0; f < h.length; f++) { + let d = h[f]; + woe(d) + ? (h[f] = this.reviveReference(e, u, r, d, n)) + : Xn(d) && this.linkNode(d, r, n, e, u, f); + } + else + woe(h) + ? (e[u] = this.reviveReference(e, u, r, h, n)) + : Xn(h) && this.linkNode(h, r, n, e, u); + let l = e; + (l.$container = i), (l.$containerProperty = a), (l.$containerIndex = s); + } + reviveReference(e, r, n, i, a) { + let s = i.$refText, + l = i.$error; + if (i.$ref) { + let u = this.getRefNode(n, i.$ref, a.uriConverter); + if (Xn(u)) return s || (s = this.nameProvider.getName(u)), { $refText: s ?? '', ref: u }; + l = u; + } + if (l) { + let u = { $refText: s ?? '' }; + return ( + (u.error = { + container: e, + property: r, + message: l, + reference: u + }), + u + ); + } else return; + } + getRefNode(e, r, n) { + try { + let i = r.indexOf('#'); + if (i === 0) { + let u = this.astNodeLocator.getAstNode(e, r.substring(1)); + return u || 'Could not resolve path: ' + r; + } + if (i < 0) { + let u = n ? n(r) : Ms.parse(r), + h = this.langiumDocuments.getDocument(u); + return h ? h.parseResult.value : 'Could not find document for URI: ' + r; + } + let a = n ? n(r.substring(0, i)) : Ms.parse(r.substring(0, i)), + s = this.langiumDocuments.getDocument(a); + if (!s) return 'Could not find document for URI: ' + r; + if (i === r.length - 1) return s.parseResult.value; + let l = this.astNodeLocator.getAstNode(s.parseResult.value, r.substring(i + 1)); + return l || 'Could not resolve URI: ' + r; + } catch (i) { + return String(i); + } + } + }; + }); + var $2, + NM = R(() => { + 'use strict'; + Nc(); + $2 = class { + static { + o(this, 'DefaultServiceRegistry'); + } + register(e) { + if (!this.singleton && !this.map) { + this.singleton = e; + return; + } + if (!this.map && ((this.map = {}), this.singleton)) { + for (let r of this.singleton.LanguageMetaData.fileExtensions) this.map[r] = this.singleton; + this.singleton = void 0; + } + for (let r of e.LanguageMetaData.fileExtensions) + this.map[r] !== void 0 && + this.map[r] !== e && + console.warn( + `The file extension ${r} is used by multiple languages. It is now assigned to '${e.LanguageMetaData.languageId}'.` + ), + (this.map[r] = e); + } + getServices(e) { + if (this.singleton !== void 0) return this.singleton; + if (this.map === void 0) + throw new Error( + 'The service registry is empty. Use `register` to register the services of a language.' + ); + let r = ss.extname(e), + n = this.map[r]; + if (!n) throw new Error(`The service registry contains no services for the extension '${r}'.`); + return n; + } + get all() { + return this.singleton !== void 0 + ? [this.singleton] + : this.map !== void 0 + ? Object.values(this.map) + : []; + } + }; + }); + function Pk(t) { + return { code: t }; + } + var Ag, + V2, + U2 = R(() => { + 'use strict'; + kg(); + qo(); + Ds(); + o(Pk, 'diagnosticData'); + (function (t) { + t.all = ['fast', 'slow', 'built-in']; + })(Ag || (Ag = {})); + V2 = class { + static { + o(this, 'ValidationRegistry'); + } + constructor(e) { + (this.entries = new Mc()), (this.reflection = e.shared.AstReflection); + } + register(e, r = this, n = 'fast') { + if (n === 'built-in') + throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors."); + for (let [i, a] of Object.entries(e)) { + let s = a; + if (Array.isArray(s)) + for (let l of s) { + let u = { + check: this.wrapValidationException(l, r), + category: n + }; + this.addEntry(i, u); + } + else if (typeof s == 'function') { + let l = { + check: this.wrapValidationException(s, r), + category: n + }; + this.addEntry(i, l); + } + } + } + wrapValidationException(e, r) { + return async (n, i, a) => { + try { + await e.call(r, n, i, a); + } catch (s) { + if (of(s)) throw s; + console.error('An error occurred during validation:', s); + let l = s instanceof Error ? s.message : String(s); + s instanceof Error && s.stack && console.error(s.stack), + i('error', 'An error occurred during validation: ' + l, { + node: n + }); + } + }; + } + addEntry(e, r) { + if (e === 'AstNode') { + this.entries.add('AstNode', r); + return; + } + for (let n of this.reflection.getAllSubTypes(e)) this.entries.add(n, r); + } + getChecks(e, r) { + let n = Kr(this.entries.get(e)).concat(this.entries.get('AstNode')); + return r && (n = n.filter((i) => r.includes(i.category))), n.map((i) => i.check); + } + }; + }); + function Toe(t) { + if (t.range) return t.range; + let e; + return ( + typeof t.property == 'string' + ? (e = Zv(t.node.$cstNode, t.property, t.index)) + : typeof t.keyword == 'string' && (e = qR(t.node.$cstNode, t.keyword, t.index)), + e ?? (e = t.node.$cstNode), + e ? e.range : { start: { line: 0, character: 0 }, end: { line: 0, character: 0 } } + ); + } + function Bk(t) { + switch (t) { + case 'error': + return 1; + case 'warning': + return 2; + case 'info': + return 3; + case 'hint': + return 4; + default: + throw new Error('Invalid diagnostic severity: ' + t); + } + } + var H2, + Uu, + MM = R(() => { + 'use strict'; + Wo(); + Il(); + es(); + Rl(); + qo(); + U2(); + H2 = class { + static { + o(this, 'DefaultDocumentValidator'); + } + constructor(e) { + (this.validationRegistry = e.validation.ValidationRegistry), (this.metadata = e.LanguageMetaData); + } + async validateDocument(e, r = {}, n = pr.CancellationToken.None) { + let i = e.parseResult, + a = []; + if ( + (await Bi(n), + (!r.categories || r.categories.includes('built-in')) && + (this.processLexingErrors(i, a, r), + (r.stopAfterLexingErrors && + a.some((s) => { + var l; + return ((l = s.data) === null || l === void 0 ? void 0 : l.code) === Uu.LexingError; + })) || + (this.processParsingErrors(i, a, r), + r.stopAfterParsingErrors && + a.some((s) => { + var l; + return ( + ((l = s.data) === null || l === void 0 ? void 0 : l.code) === + Uu.ParsingError + ); + })) || + (this.processLinkingErrors(e, a, r), + r.stopAfterLinkingErrors && + a.some((s) => { + var l; + return ( + ((l = s.data) === null || l === void 0 ? void 0 : l.code) === + Uu.LinkingError + ); + })))) + ) + return a; + try { + a.push(...(await this.validateAst(i.value, r, n))); + } catch (s) { + if (of(s)) throw s; + console.error('An error occurred during validation:', s); + } + return await Bi(n), a; + } + processLexingErrors(e, r, n) { + for (let i of e.lexerErrors) { + let a = { + severity: Bk('error'), + range: { + start: { line: i.line - 1, character: i.column - 1 }, + end: { line: i.line - 1, character: i.column + i.length - 1 } + }, + message: i.message, + data: Pk(Uu.LexingError), + source: this.getSource() + }; + r.push(a); + } + } + processParsingErrors(e, r, n) { + for (let i of e.parserErrors) { + let a; + if (isNaN(i.token.startOffset)) { + if ('previousToken' in i) { + let s = i.previousToken; + if (isNaN(s.startOffset)) { + let l = { line: 0, character: 0 }; + a = { start: l, end: l }; + } else { + let l = { line: s.endLine - 1, character: s.endColumn }; + a = { start: l, end: l }; + } + } + } else a = zm(i.token); + if (a) { + let s = { + severity: Bk('error'), + range: a, + message: i.message, + data: Pk(Uu.ParsingError), + source: this.getSource() + }; + r.push(s); + } + } + } + processLinkingErrors(e, r, n) { + for (let i of e.references) { + let a = i.error; + if (a) { + let s = { + node: a.container, + property: a.property, + index: a.index, + data: { + code: Uu.LinkingError, + containerType: a.container.$type, + property: a.property, + refText: a.reference.$refText + } + }; + r.push(this.toDiagnostic('error', a.message, s)); + } + } + } + async validateAst(e, r, n = pr.CancellationToken.None) { + let i = [], + a = o((s, l, u) => { + i.push(this.toDiagnostic(s, l, u)); + }, 'acceptor'); + return ( + await Promise.all( + Yo(e).map(async (s) => { + await Bi(n); + let l = this.validationRegistry.getChecks(s.$type, r.categories); + for (let u of l) await u(s, a, n); + }) + ), + i + ); + } + toDiagnostic(e, r, n) { + return { + message: r, + range: Toe(n), + severity: Bk(e), + code: n.code, + codeDescription: n.codeDescription, + tags: n.tags, + relatedInformation: n.relatedInformation, + data: n.data, + source: this.getSource() + }; + } + getSource() { + return this.metadata.languageId; + } + }; + o(Toe, 'getDiagnosticRange'); + o(Bk, 'toDiagnosticSeverity'); + (function (t) { + (t.LexingError = 'lexing-error'), + (t.ParsingError = 'parsing-error'), + (t.LinkingError = 'linking-error'); + })(Uu || (Uu = {})); + }); + var Y2, + W2, + IM = R(() => { + 'use strict'; + Wo(); + Vo(); + es(); + Rl(); + qo(); + Nc(); + (Y2 = class { + static { + o(this, 'DefaultAstNodeDescriptionProvider'); + } + constructor(e) { + (this.astNodeLocator = e.workspace.AstNodeLocator), (this.nameProvider = e.references.NameProvider); + } + createDescription(e, r, n = Oi(e)) { + r ?? (r = this.nameProvider.getName(e)); + let i = this.astNodeLocator.getAstNodePath(e); + if (!r) throw new Error(`Node at path ${i} has no name.`); + let a, + s = o(() => { + var l; + return ( + a ?? + (a = Xd( + (l = this.nameProvider.getNameNode(e)) !== null && l !== void 0 ? l : e.$cstNode + )) + ); + }, 'nameSegmentGetter'); + return { + node: e, + name: r, + get nameSegment() { + return s(); + }, + selectionSegment: Xd(e.$cstNode), + type: e.$type, + documentUri: n.uri, + path: i + }; + } + }), + (W2 = class { + static { + o(this, 'DefaultReferenceDescriptionProvider'); + } + constructor(e) { + this.nodeLocator = e.workspace.AstNodeLocator; + } + async createDescriptions(e, r = pr.CancellationToken.None) { + let n = [], + i = e.parseResult.value; + for (let a of Yo(i)) + await Bi(r), + $m(a) + .filter((s) => !Wd(s)) + .forEach((s) => { + let l = this.createDescription(s); + l && n.push(l); + }); + return n; + } + createDescription(e) { + let r = e.reference.$nodeDescription, + n = e.reference.$refNode; + if (!r || !n) return; + let i = Oi(e.container).uri; + return { + sourceUri: i, + sourcePath: this.nodeLocator.getAstNodePath(e.container), + targetUri: r.documentUri, + targetPath: r.path, + segment: Xd(n), + local: ss.equals(r.documentUri, i) + }; + } + }); + }); + var q2, + OM = R(() => { + 'use strict'; + q2 = class { + static { + o(this, 'DefaultAstNodeLocator'); + } + constructor() { + (this.segmentSeparator = '/'), (this.indexSeparator = '@'); + } + getAstNodePath(e) { + if (e.$container) { + let r = this.getAstNodePath(e.$container), + n = this.getPathSegment(e); + return r + this.segmentSeparator + n; + } + return ''; + } + getPathSegment({ $containerProperty: e, $containerIndex: r }) { + if (!e) throw new Error("Missing '$containerProperty' in AST node."); + return r !== void 0 ? e + this.indexSeparator + r : e; + } + getAstNode(e, r) { + return r.split(this.segmentSeparator).reduce((i, a) => { + if (!i || a.length === 0) return i; + let s = a.indexOf(this.indexSeparator); + if (s > 0) { + let l = a.substring(0, s), + u = parseInt(a.substring(s + 1)), + h = i[l]; + return h?.[u]; + } + return i[a]; + }, e); + } + }; + }); + var X2, + PM = R(() => { + 'use strict'; + qo(); + X2 = class { + static { + o(this, 'DefaultConfigurationProvider'); + } + constructor(e) { + (this._ready = new as()), + (this.settings = {}), + (this.workspaceConfig = !1), + (this.serviceRegistry = e.ServiceRegistry); + } + get ready() { + return this._ready.promise; + } + initialize(e) { + var r, n; + this.workspaceConfig = + (n = (r = e.capabilities.workspace) === null || r === void 0 ? void 0 : r.configuration) !== + null && n !== void 0 + ? n + : !1; + } + async initialized(e) { + if (this.workspaceConfig) { + if (e.register) { + let r = this.serviceRegistry.all; + e.register({ + section: r.map((n) => this.toSectionName(n.LanguageMetaData.languageId)) + }); + } + if (e.fetchConfiguration) { + let r = this.serviceRegistry.all.map((i) => ({ + section: this.toSectionName(i.LanguageMetaData.languageId) + })), + n = await e.fetchConfiguration(r); + r.forEach((i, a) => { + this.updateSectionConfiguration(i.section, n[a]); + }); + } + } + this._ready.resolve(); + } + updateConfiguration(e) { + e.settings && + Object.keys(e.settings).forEach((r) => { + this.updateSectionConfiguration(r, e.settings[r]); + }); + } + updateSectionConfiguration(e, r) { + this.settings[e] = r; + } + async getConfiguration(e, r) { + await this.ready; + let n = this.toSectionName(e); + if (this.settings[n]) return this.settings[n][r]; + } + toSectionName(e) { + return `${e}`; + } + }; + }); + var b0, + BM = R(() => { + 'use strict'; + (function (t) { + function e(r) { + return { dispose: o(async () => await r(), 'dispose') }; + } + o(e, 'create'), (t.create = e); + })(b0 || (b0 = {})); + }); + var j2, + FM = R(() => { + 'use strict'; + Wo(); + BM(); + kg(); + qo(); + Ds(); + U2(); + Tg(); + j2 = class { + static { + o(this, 'DefaultDocumentBuilder'); + } + constructor(e) { + (this.updateBuildOptions = { + validation: { categories: ['built-in', 'fast'] } + }), + (this.updateListeners = []), + (this.buildPhaseListeners = new Mc()), + (this.buildState = new Map()), + (this.documentBuildWaiters = new Map()), + (this.currentState = yn.Changed), + (this.langiumDocuments = e.workspace.LangiumDocuments), + (this.langiumDocumentFactory = e.workspace.LangiumDocumentFactory), + (this.indexManager = e.workspace.IndexManager), + (this.serviceRegistry = e.ServiceRegistry); + } + async build(e, r = {}, n = pr.CancellationToken.None) { + var i, a; + for (let s of e) { + let l = s.uri.toString(); + if (s.state === yn.Validated) { + if (typeof r.validation == 'boolean' && r.validation) + (s.state = yn.IndexedReferences), (s.diagnostics = void 0), this.buildState.delete(l); + else if (typeof r.validation == 'object') { + let u = this.buildState.get(l), + h = (i = u?.result) === null || i === void 0 ? void 0 : i.validationChecks; + if (h) { + let d = ( + (a = r.validation.categories) !== null && a !== void 0 ? a : Ag.all + ).filter((p) => !h.includes(p)); + d.length > 0 && + (this.buildState.set(l, { + completed: !1, + options: { + validation: Object.assign(Object.assign({}, r.validation), { + categories: d + }) + }, + result: u.result + }), + (s.state = yn.IndexedReferences)); + } + } + } else this.buildState.delete(l); + } + (this.currentState = yn.Changed), + await this.emitUpdate( + e.map((s) => s.uri), + [] + ), + await this.buildDocuments(e, r, n); + } + async update(e, r, n = pr.CancellationToken.None) { + this.currentState = yn.Changed; + for (let s of r) + this.langiumDocuments.deleteDocument(s), + this.buildState.delete(s.toString()), + this.indexManager.remove(s); + for (let s of e) { + if (!this.langiumDocuments.invalidateDocument(s)) { + let u = this.langiumDocumentFactory.fromModel({ $type: 'INVALID' }, s); + (u.state = yn.Changed), this.langiumDocuments.addDocument(u); + } + this.buildState.delete(s.toString()); + } + let i = Kr(e) + .concat(r) + .map((s) => s.toString()) + .toSet(); + this.langiumDocuments.all + .filter((s) => !i.has(s.uri.toString()) && this.shouldRelink(s, i)) + .forEach((s) => { + this.serviceRegistry.getServices(s.uri).references.Linker.unlink(s), + (s.state = Math.min(s.state, yn.ComputedScopes)), + (s.diagnostics = void 0); + }), + await this.emitUpdate(e, r), + await Bi(n); + let a = this.langiumDocuments.all + .filter((s) => { + var l; + return ( + s.state < yn.Linked || + !( + !((l = this.buildState.get(s.uri.toString())) === null || l === void 0) && + l.completed + ) + ); + }) + .toArray(); + await this.buildDocuments(a, this.updateBuildOptions, n); + } + async emitUpdate(e, r) { + await Promise.all(this.updateListeners.map((n) => n(e, r))); + } + shouldRelink(e, r) { + return e.references.some((n) => n.error !== void 0) ? !0 : this.indexManager.isAffected(e, r); + } + onUpdate(e) { + return ( + this.updateListeners.push(e), + b0.create(() => { + let r = this.updateListeners.indexOf(e); + r >= 0 && this.updateListeners.splice(r, 1); + }) + ); + } + async buildDocuments(e, r, n) { + this.prepareBuild(e, r), + await this.runCancelable(e, yn.Parsed, n, (a) => this.langiumDocumentFactory.update(a, n)), + await this.runCancelable(e, yn.IndexedContent, n, (a) => this.indexManager.updateContent(a, n)), + await this.runCancelable(e, yn.ComputedScopes, n, async (a) => { + let s = this.serviceRegistry.getServices(a.uri).references.ScopeComputation; + a.precomputedScopes = await s.computeLocalScopes(a, n); + }), + await this.runCancelable(e, yn.Linked, n, (a) => + this.serviceRegistry.getServices(a.uri).references.Linker.link(a, n) + ), + await this.runCancelable(e, yn.IndexedReferences, n, (a) => + this.indexManager.updateReferences(a, n) + ); + let i = e.filter((a) => this.shouldValidate(a)); + await this.runCancelable(i, yn.Validated, n, (a) => this.validate(a, n)); + for (let a of e) { + let s = this.buildState.get(a.uri.toString()); + s && (s.completed = !0); + } + } + prepareBuild(e, r) { + for (let n of e) { + let i = n.uri.toString(), + a = this.buildState.get(i); + (!a || a.completed) && + this.buildState.set(i, { + completed: !1, + options: r, + result: a?.result + }); + } + } + async runCancelable(e, r, n, i) { + let a = e.filter((s) => s.state < r); + for (let s of a) await Bi(n), await i(s), (s.state = r); + await this.notifyBuildPhase(a, r, n), (this.currentState = r); + } + onBuildPhase(e, r) { + return ( + this.buildPhaseListeners.add(e, r), + b0.create(() => { + this.buildPhaseListeners.delete(e, r); + }) + ); + } + waitUntil(e, r, n) { + let i; + if ((r && 'path' in r ? (i = r) : (n = r), n ?? (n = pr.CancellationToken.None), i)) { + let a = this.langiumDocuments.getDocument(i); + if (a && a.state > e) return Promise.resolve(i); + } + return this.currentState >= e + ? Promise.resolve(void 0) + : n.isCancellationRequested + ? Promise.reject(Rc) + : new Promise((a, s) => { + let l = this.onBuildPhase(e, () => { + if ((l.dispose(), u.dispose(), i)) { + let h = this.langiumDocuments.getDocument(i); + a(h?.uri); + } else a(void 0); + }), + u = n.onCancellationRequested(() => { + l.dispose(), u.dispose(), s(Rc); + }); + }); + } + async notifyBuildPhase(e, r, n) { + if (e.length === 0) return; + let i = this.buildPhaseListeners.get(r); + for (let a of i) await Bi(n), await a(e, n); + } + shouldValidate(e) { + return !!this.getBuildOptions(e).validation; + } + async validate(e, r) { + var n, i; + let a = this.serviceRegistry.getServices(e.uri).validation.DocumentValidator, + s = this.getBuildOptions(e).validation, + l = typeof s == 'object' ? s : void 0, + u = await a.validateDocument(e, l, r); + e.diagnostics ? e.diagnostics.push(...u) : (e.diagnostics = u); + let h = this.buildState.get(e.uri.toString()); + if (h) { + ((n = h.result) !== null && n !== void 0) || (h.result = {}); + let f = (i = l?.categories) !== null && i !== void 0 ? i : Ag.all; + h.result.validationChecks + ? h.result.validationChecks.push(...f) + : (h.result.validationChecks = [...f]); + } + } + getBuildOptions(e) { + var r, n; + return (n = + (r = this.buildState.get(e.uri.toString())) === null || r === void 0 ? void 0 : r.options) !== + null && n !== void 0 + ? n + : {}; + } + }; + }); + var K2, + zM = R(() => { + 'use strict'; + es(); + Ik(); + Wo(); + Ds(); + Nc(); + K2 = class { + static { + o(this, 'DefaultIndexManager'); + } + constructor(e) { + (this.symbolIndex = new Map()), + (this.symbolByTypeIndex = new x0()), + (this.referenceIndex = new Map()), + (this.documents = e.workspace.LangiumDocuments), + (this.serviceRegistry = e.ServiceRegistry), + (this.astReflection = e.AstReflection); + } + findAllReferences(e, r) { + let n = Oi(e).uri, + i = []; + return ( + this.referenceIndex.forEach((a) => { + a.forEach((s) => { + ss.equals(s.targetUri, n) && s.targetPath === r && i.push(s); + }); + }), + Kr(i) + ); + } + allElements(e, r) { + let n = Kr(this.symbolIndex.keys()); + return ( + r && (n = n.filter((i) => !r || r.has(i))), n.map((i) => this.getFileDescriptions(i, e)).flat() + ); + } + getFileDescriptions(e, r) { + var n; + return r + ? this.symbolByTypeIndex.get(e, r, () => { + var a; + return ((a = this.symbolIndex.get(e)) !== null && a !== void 0 ? a : []).filter((l) => + this.astReflection.isSubtype(l.type, r) + ); + }) + : (n = this.symbolIndex.get(e)) !== null && n !== void 0 + ? n + : []; + } + remove(e) { + let r = e.toString(); + this.symbolIndex.delete(r), this.symbolByTypeIndex.clear(r), this.referenceIndex.delete(r); + } + async updateContent(e, r = pr.CancellationToken.None) { + let i = await this.serviceRegistry + .getServices(e.uri) + .references.ScopeComputation.computeExports(e, r), + a = e.uri.toString(); + this.symbolIndex.set(a, i), this.symbolByTypeIndex.clear(a); + } + async updateReferences(e, r = pr.CancellationToken.None) { + let i = await this.serviceRegistry + .getServices(e.uri) + .workspace.ReferenceDescriptionProvider.createDescriptions(e, r); + this.referenceIndex.set(e.uri.toString(), i); + } + isAffected(e, r) { + let n = this.referenceIndex.get(e.uri.toString()); + return n ? n.some((i) => !i.local && r.has(i.targetUri.toString())) : !1; + } + }; + }); + var Q2, + GM = R(() => { + 'use strict'; + Wo(); + qo(); + Nc(); + Q2 = class { + static { + o(this, 'DefaultWorkspaceManager'); + } + constructor(e) { + (this.initialBuildOptions = {}), + (this._ready = new as()), + (this.serviceRegistry = e.ServiceRegistry), + (this.langiumDocuments = e.workspace.LangiumDocuments), + (this.documentBuilder = e.workspace.DocumentBuilder), + (this.fileSystemProvider = e.workspace.FileSystemProvider), + (this.mutex = e.workspace.WorkspaceLock); + } + get ready() { + return this._ready.promise; + } + initialize(e) { + var r; + this.folders = (r = e.workspaceFolders) !== null && r !== void 0 ? r : void 0; + } + initialized(e) { + return this.mutex.write((r) => { + var n; + return this.initializeWorkspace((n = this.folders) !== null && n !== void 0 ? n : [], r); + }); + } + async initializeWorkspace(e, r = pr.CancellationToken.None) { + let n = await this.performStartup(e); + await Bi(r), await this.documentBuilder.build(n, this.initialBuildOptions, r); + } + async performStartup(e) { + let r = this.serviceRegistry.all.flatMap((a) => a.LanguageMetaData.fileExtensions), + n = [], + i = o((a) => { + n.push(a), this.langiumDocuments.hasDocument(a.uri) || this.langiumDocuments.addDocument(a); + }, 'collector'); + return ( + await this.loadAdditionalDocuments(e, i), + await Promise.all( + e.map((a) => [a, this.getRootFolder(a)]).map(async (a) => this.traverseFolder(...a, r, i)) + ), + this._ready.resolve(), + n + ); + } + loadAdditionalDocuments(e, r) { + return Promise.resolve(); + } + getRootFolder(e) { + return Ms.parse(e.uri); + } + async traverseFolder(e, r, n, i) { + let a = await this.fileSystemProvider.readDirectory(r); + await Promise.all( + a.map(async (s) => { + if (this.includeEntry(e, s, n)) { + if (s.isDirectory) await this.traverseFolder(e, s.uri, n, i); + else if (s.isFile) { + let l = await this.langiumDocuments.getOrCreateDocument(s.uri); + i(l); + } + } + }) + ); + } + includeEntry(e, r, n) { + let i = ss.basename(r.uri); + if (i.startsWith('.')) return !1; + if (r.isDirectory) return i !== 'node_modules' && i !== 'out'; + if (r.isFile) { + let a = ss.extname(r.uri); + return n.includes(a); + } + return !1; + } + }; + }); + function koe(t) { + return Array.isArray(t) && (t.length === 0 || 'name' in t[0]); + } + function VM(t) { + return t && 'modes' in t && 'defaultMode' in t; + } + function $M(t) { + return !koe(t) && !VM(t); + } + var Z2, + UM = R(() => { + 'use strict'; + u0(); + Z2 = class { + static { + o(this, 'DefaultLexer'); + } + constructor(e) { + let r = e.parser.TokenBuilder.buildTokens(e.Grammar, { + caseInsensitive: e.LanguageMetaData.caseInsensitive + }); + this.tokenTypes = this.toTokenTypeDictionary(r); + let n = $M(r) ? Object.values(r) : r; + this.chevrotainLexer = new ni(n, { positionTracking: 'full' }); + } + get definition() { + return this.tokenTypes; + } + tokenize(e) { + var r; + let n = this.chevrotainLexer.tokenize(e); + return { + tokens: n.tokens, + errors: n.errors, + hidden: (r = n.groups.hidden) !== null && r !== void 0 ? r : [] + }; + } + toTokenTypeDictionary(e) { + if ($M(e)) return e; + let r = VM(e) ? Object.values(e.modes).flat() : e, + n = {}; + return r.forEach((i) => (n[i.name] = i)), n; + } + }; + o(koe, 'isTokenTypeArray'); + o(VM, 'isIMultiModeLexerDefinition'); + o($M, 'isTokenTypeDictionary'); + }); + function WM(t, e, r) { + let n, i; + typeof t == 'string' ? ((i = e), (n = r)) : ((i = t.range.start), (n = e)), i || (i = Ur.create(0, 0)); + let a = Soe(t), + s = XM(n), + l = QOe({ lines: a, position: i, options: s }); + return rPe({ index: 0, tokens: l, position: i }); + } + function qM(t, e) { + let r = XM(e), + n = Soe(t); + if (n.length === 0) return !1; + let i = n[0], + a = n[n.length - 1], + s = r.start, + l = r.end; + return !!s?.exec(i) && !!l?.exec(a); + } + function Soe(t) { + let e = ''; + return typeof t == 'string' ? (e = t) : (e = t.text), e.split(BR); + } + function QOe(t) { + var e, r, n; + let i = [], + a = t.position.line, + s = t.position.character; + for (let l = 0; l < t.lines.length; l++) { + let u = l === 0, + h = l === t.lines.length - 1, + f = t.lines[l], + d = 0; + if (u && t.options.start) { + let m = (e = t.options.start) === null || e === void 0 ? void 0 : e.exec(f); + m && (d = m.index + m[0].length); + } else { + let m = (r = t.options.line) === null || r === void 0 ? void 0 : r.exec(f); + m && (d = m.index + m[0].length); + } + if (h) { + let m = (n = t.options.end) === null || n === void 0 ? void 0 : n.exec(f); + m && (f = f.substring(0, m.index)); + } + if (((f = f.substring(0, tPe(f))), YM(f, d) >= f.length)) { + if (i.length > 0) { + let m = Ur.create(a, s); + i.push({ type: 'break', content: '', range: wr.create(m, m) }); + } + } else { + Eoe.lastIndex = d; + let m = Eoe.exec(f); + if (m) { + let g = m[0], + y = m[1], + v = Ur.create(a, s + d), + x = Ur.create(a, s + d + g.length); + i.push({ type: 'tag', content: y, range: wr.create(v, x) }), (d += g.length), (d = YM(f, d)); + } + if (d < f.length) { + let g = f.substring(d), + y = Array.from(g.matchAll(KOe)); + i.push(...ZOe(y, g, a, s + d)); + } + } + a++, (s = 0); + } + return i.length > 0 && i[i.length - 1].type === 'break' ? i.slice(0, -1) : i; + } + function ZOe(t, e, r, n) { + let i = []; + if (t.length === 0) { + let a = Ur.create(r, n), + s = Ur.create(r, n + e.length); + i.push({ type: 'text', content: e, range: wr.create(a, s) }); + } else { + let a = 0; + for (let l of t) { + let u = l.index, + h = e.substring(a, u); + h.length > 0 && + i.push({ + type: 'text', + content: e.substring(a, u), + range: wr.create(Ur.create(r, a + n), Ur.create(r, u + n)) + }); + let f = h.length + 1, + d = l[1]; + if ( + (i.push({ + type: 'inline-tag', + content: d, + range: wr.create(Ur.create(r, a + f + n), Ur.create(r, a + f + d.length + n)) + }), + (f += d.length), + l.length === 4) + ) { + f += l[2].length; + let p = l[3]; + i.push({ + type: 'text', + content: p, + range: wr.create(Ur.create(r, a + f + n), Ur.create(r, a + f + p.length + n)) + }); + } else + i.push({ + type: 'text', + content: '', + range: wr.create(Ur.create(r, a + f + n), Ur.create(r, a + f + n)) + }); + a = u + l[0].length; + } + let s = e.substring(a); + s.length > 0 && + i.push({ + type: 'text', + content: s, + range: wr.create(Ur.create(r, a + n), Ur.create(r, a + n + s.length)) + }); + } + return i; + } + function YM(t, e) { + let r = t.substring(e).match(JOe); + return r ? e + r.index : t.length; + } + function tPe(t) { + let e = t.match(ePe); + if (e && typeof e.index == 'number') return e.index; + } + function rPe(t) { + var e, r, n, i; + let a = Ur.create(t.position.line, t.position.character); + if (t.tokens.length === 0) return new Fk([], wr.create(a, a)); + let s = []; + for (; t.index < t.tokens.length; ) { + let h = nPe(t, s[s.length - 1]); + h && s.push(h); + } + let l = (r = (e = s[0]) === null || e === void 0 ? void 0 : e.range.start) !== null && r !== void 0 ? r : a, + u = + (i = (n = s[s.length - 1]) === null || n === void 0 ? void 0 : n.range.end) !== null && i !== void 0 + ? i + : a; + return new Fk(s, wr.create(l, u)); + } + function nPe(t, e) { + let r = t.tokens[t.index]; + if (r.type === 'tag') return _oe(t, !1); + if (r.type === 'text' || r.type === 'inline-tag') return Aoe(t); + iPe(r, e), t.index++; + } + function iPe(t, e) { + if (e) { + let r = new zk('', t.range); + 'inlines' in e ? e.inlines.push(r) : e.content.inlines.push(r); + } + } + function Aoe(t) { + let e = t.tokens[t.index], + r = e, + n = e, + i = []; + for (; e && e.type !== 'break' && e.type !== 'tag'; ) i.push(aPe(t)), (n = e), (e = t.tokens[t.index]); + return new ex(i, wr.create(r.range.start, n.range.end)); + } + function aPe(t) { + return t.tokens[t.index].type === 'inline-tag' ? _oe(t, !0) : Loe(t); + } + function _oe(t, e) { + let r = t.tokens[t.index++], + n = r.content.substring(1), + i = t.tokens[t.index]; + if (i?.type === 'text') + if (e) { + let a = Loe(t); + return new J2(n, new ex([a], a.range), e, wr.create(r.range.start, a.range.end)); + } else { + let a = Aoe(t); + return new J2(n, a, e, wr.create(r.range.start, a.range.end)); + } + else { + let a = r.range; + return new J2(n, new ex([], a), e, a); + } + } + function Loe(t) { + let e = t.tokens[t.index++]; + return new zk(e.content, e.range); + } + function XM(t) { + if (!t) return XM({ start: '/**', end: '*/', line: '*' }); + let { start: e, end: r, line: n } = t; + return { start: HM(e, !0), end: HM(r, !1), line: HM(n, !0) }; + } + function HM(t, e) { + if (typeof t == 'string' || typeof t == 'object') { + let r = typeof t == 'string' ? t0(t) : t.source; + return e ? new RegExp(`^\\s*${r}`) : new RegExp(`\\s*${r}\\s*$`); + } else return t; + } + function sPe(t, e, r) { + var n, i; + if (t === 'linkplain' || t === 'linkcode' || t === 'link') { + let a = e.indexOf(' '), + s = e; + if (a > 0) { + let u = YM(e, a); + (s = e.substring(u)), (e = e.substring(0, a)); + } + return ( + (t === 'linkcode' || (t === 'link' && r.link === 'code')) && (s = `\`${s}\``), + (i = (n = r.renderLink) === null || n === void 0 ? void 0 : n.call(r, e, s)) !== null && i !== void 0 + ? i + : oPe(e, s) + ); + } + } + function oPe(t, e) { + try { + return Ms.parse(t, !0), `[${e}](${t})`; + } catch { + return t; + } + } + function Coe(t) { + return t.endsWith(` +`) + ? ` +` + : ` + +`; + } + var Eoe, + KOe, + JOe, + ePe, + Fk, + J2, + ex, + zk, + jM = R(() => { + 'use strict'; + tM(); + Um(); + Nc(); + o(WM, 'parseJSDoc'); + o(qM, 'isJSDoc'); + o(Soe, 'getLines'); + (Eoe = /\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy), (KOe = /\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu); + o(QOe, 'tokenize'); + o(ZOe, 'buildInlineTokens'); + (JOe = /\S/), (ePe = /\s*$/); + o(YM, 'skipWhitespace'); + o(tPe, 'lastCharacter'); + o(rPe, 'parseJSDocComment'); + o(nPe, 'parseJSDocElement'); + o(iPe, 'appendEmptyLine'); + o(Aoe, 'parseJSDocText'); + o(aPe, 'parseJSDocInline'); + o(_oe, 'parseJSDocTag'); + o(Loe, 'parseJSDocLine'); + o(XM, 'normalizeOptions'); + o(HM, 'normalizeOption'); + (Fk = class { + static { + o(this, 'JSDocCommentImpl'); + } + constructor(e, r) { + (this.elements = e), (this.range = r); + } + getTag(e) { + return this.getAllTags().find((r) => r.name === e); + } + getTags(e) { + return this.getAllTags().filter((r) => r.name === e); + } + getAllTags() { + return this.elements.filter((e) => 'name' in e); + } + toString() { + let e = ''; + for (let r of this.elements) + if (e.length === 0) e = r.toString(); + else { + let n = r.toString(); + e += Coe(e) + n; + } + return e.trim(); + } + toMarkdown(e) { + let r = ''; + for (let n of this.elements) + if (r.length === 0) r = n.toMarkdown(e); + else { + let i = n.toMarkdown(e); + r += Coe(r) + i; + } + return r.trim(); + } + }), + (J2 = class { + static { + o(this, 'JSDocTagImpl'); + } + constructor(e, r, n, i) { + (this.name = e), (this.content = r), (this.inline = n), (this.range = i); + } + toString() { + let e = `@${this.name}`, + r = this.content.toString(); + return ( + this.content.inlines.length === 1 + ? (e = `${e} ${r}`) + : this.content.inlines.length > 1 && + (e = `${e} +${r}`), + this.inline ? `{${e}}` : e + ); + } + toMarkdown(e) { + var r, n; + return (n = (r = e?.renderTag) === null || r === void 0 ? void 0 : r.call(e, this)) !== null && + n !== void 0 + ? n + : this.toMarkdownDefault(e); + } + toMarkdownDefault(e) { + let r = this.content.toMarkdown(e); + if (this.inline) { + let a = sPe(this.name, r, e ?? {}); + if (typeof a == 'string') return a; + } + let n = ''; + e?.tag === 'italic' || e?.tag === void 0 + ? (n = '*') + : e?.tag === 'bold' + ? (n = '**') + : e?.tag === 'bold-italic' && (n = '***'); + let i = `${n}@${this.name}${n}`; + return ( + this.content.inlines.length === 1 + ? (i = `${i} \u2014 ${r}`) + : this.content.inlines.length > 1 && + (i = `${i} +${r}`), + this.inline ? `{${i}}` : i + ); + } + }); + o(sPe, 'renderInlineTag'); + o(oPe, 'renderLinkDefault'); + (ex = class { + static { + o(this, 'JSDocTextImpl'); + } + constructor(e, r) { + (this.inlines = e), (this.range = r); + } + toString() { + let e = ''; + for (let r = 0; r < this.inlines.length; r++) { + let n = this.inlines[r], + i = this.inlines[r + 1]; + (e += n.toString()), + i && + i.range.start.line > n.range.start.line && + (e += ` +`); + } + return e; + } + toMarkdown(e) { + let r = ''; + for (let n = 0; n < this.inlines.length; n++) { + let i = this.inlines[n], + a = this.inlines[n + 1]; + (r += i.toMarkdown(e)), + a && + a.range.start.line > i.range.start.line && + (r += ` +`); + } + return r; + } + }), + (zk = class { + static { + o(this, 'JSDocLineImpl'); + } + constructor(e, r) { + (this.text = e), (this.range = r); + } + toString() { + return this.text; + } + toMarkdown() { + return this.text; + } + }); + o(Coe, 'fillNewlines'); + }); + var tx, + KM = R(() => { + 'use strict'; + es(); + jM(); + tx = class { + static { + o(this, 'JSDocDocumentationProvider'); + } + constructor(e) { + (this.indexManager = e.shared.workspace.IndexManager), + (this.commentProvider = e.documentation.CommentProvider); + } + getDocumentation(e) { + let r = this.commentProvider.getComment(e); + if (r && qM(r)) + return WM(r).toMarkdown({ + renderLink: o((i, a) => this.documentationLinkRenderer(e, i, a), 'renderLink'), + renderTag: o((i) => this.documentationTagRenderer(e, i), 'renderTag') + }); + } + documentationLinkRenderer(e, r, n) { + var i; + let a = + (i = this.findNameInPrecomputedScopes(e, r)) !== null && i !== void 0 + ? i + : this.findNameInGlobalScope(e, r); + if (a && a.nameSegment) { + let s = a.nameSegment.range.start.line + 1, + l = a.nameSegment.range.start.character + 1, + u = a.documentUri.with({ fragment: `L${s},${l}` }); + return `[${n}](${u.toString()})`; + } else return; + } + documentationTagRenderer(e, r) {} + findNameInPrecomputedScopes(e, r) { + let i = Oi(e).precomputedScopes; + if (!i) return; + let a = e; + do { + let l = i.get(a).find((u) => u.name === r); + if (l) return l; + a = a.$container; + } while (a); + } + findNameInGlobalScope(e, r) { + return this.indexManager.allElements().find((i) => i.name === r); + } + }; + }); + var rx, + QM = R(() => { + 'use strict'; + Ok(); + Rl(); + rx = class { + static { + o(this, 'DefaultCommentProvider'); + } + constructor(e) { + this.grammarConfig = () => e.parser.GrammarConfig; + } + getComment(e) { + var r; + return RM(e) + ? e.$comment + : (r = _D(e.$cstNode, this.grammarConfig().multilineCommentRules)) === null || r === void 0 + ? void 0 + : r.text; + } + }; + }); + var ii = {}; + var ZM = R(() => { + 'use strict'; + dr(ii, Xi(vM(), 1)); + }); + var nx, + JM, + eI, + tI = R(() => { + 'use strict'; + qo(); + ZM(); + (nx = class { + static { + o(this, 'DefaultAsyncParser'); + } + constructor(e) { + this.syncParser = e.parser.LangiumParser; + } + parse(e) { + return Promise.resolve(this.syncParser.parse(e)); + } + }), + (JM = class { + static { + o(this, 'AbstractThreadedAsyncParser'); + } + constructor(e) { + (this.threadCount = 8), + (this.terminationDelay = 200), + (this.workerPool = []), + (this.queue = []), + (this.hydrator = e.serializer.Hydrator); + } + initializeWorkers() { + for (; this.workerPool.length < this.threadCount; ) { + let e = this.createWorker(); + e.onReady(() => { + if (this.queue.length > 0) { + let r = this.queue.shift(); + r && (e.lock(), r.resolve(e)); + } + }), + this.workerPool.push(e); + } + } + async parse(e, r) { + let n = await this.acquireParserWorker(r), + i = new as(), + a, + s = r.onCancellationRequested(() => { + a = setTimeout(() => { + this.terminateWorker(n); + }, this.terminationDelay); + }); + return ( + n + .parse(e) + .then((l) => { + let u = this.hydrator.hydrate(l); + i.resolve(u); + }) + .catch((l) => { + i.reject(l); + }) + .finally(() => { + s.dispose(), clearTimeout(a); + }), + i.promise + ); + } + terminateWorker(e) { + e.terminate(); + let r = this.workerPool.indexOf(e); + r >= 0 && this.workerPool.splice(r, 1); + } + async acquireParserWorker(e) { + this.initializeWorkers(); + for (let n of this.workerPool) if (n.ready) return n.lock(), n; + let r = new as(); + return ( + e.onCancellationRequested(() => { + let n = this.queue.indexOf(r); + n >= 0 && this.queue.splice(n, 1), r.reject(Rc); + }), + this.queue.push(r), + r.promise + ); + } + }), + (eI = class { + static { + o(this, 'ParserWorker'); + } + get ready() { + return this._ready; + } + get onReady() { + return this.onReadyEmitter.event; + } + constructor(e, r, n, i) { + (this.onReadyEmitter = new ii.Emitter()), + (this.deferred = new as()), + (this._ready = !0), + (this._parsing = !1), + (this.sendMessage = e), + (this._terminate = i), + r((a) => { + let s = a; + this.deferred.resolve(s), this.unlock(); + }), + n((a) => { + this.deferred.reject(a), this.unlock(); + }); + } + terminate() { + this.deferred.reject(Rc), this._terminate(); + } + lock() { + this._ready = !1; + } + unlock() { + (this._parsing = !1), (this._ready = !0), this.onReadyEmitter.fire(); + } + parse(e) { + if (this._parsing) throw new Error('Parser worker is busy'); + return ( + (this._parsing = !0), (this.deferred = new as()), this.sendMessage(e), this.deferred.promise + ); + } + }); + }); + var ix, + rI = R(() => { + 'use strict'; + Wo(); + qo(); + ix = class { + static { + o(this, 'DefaultWorkspaceLock'); + } + constructor() { + (this.previousTokenSource = new pr.CancellationTokenSource()), + (this.writeQueue = []), + (this.readQueue = []), + (this.done = !0); + } + write(e) { + this.cancelWrite(); + let r = new pr.CancellationTokenSource(); + return (this.previousTokenSource = r), this.enqueue(this.writeQueue, e, r.token); + } + read(e) { + return this.enqueue(this.readQueue, e); + } + enqueue(e, r, n) { + let i = new as(), + a = { + action: r, + deferred: i, + cancellationToken: n ?? pr.CancellationToken.None + }; + return e.push(a), this.performNextOperation(), i.promise; + } + async performNextOperation() { + if (!this.done) return; + let e = []; + if (this.writeQueue.length > 0) e.push(this.writeQueue.shift()); + else if (this.readQueue.length > 0) e.push(...this.readQueue.splice(0, this.readQueue.length)); + else return; + (this.done = !1), + await Promise.all( + e.map(async ({ action: r, deferred: n, cancellationToken: i }) => { + try { + let a = await Promise.resolve().then(() => r(i)); + n.resolve(a); + } catch (a) { + of(a) ? n.resolve(void 0) : n.reject(a); + } + }) + ), + (this.done = !0), + this.performNextOperation(); + } + cancelWrite() { + this.previousTokenSource.cancel(); + } + }; + }); + var ax, + nI = R(() => { + 'use strict'; + Ek(); + Sc(); + Vo(); + es(); + kg(); + Rl(); + ax = class { + static { + o(this, 'DefaultHydrator'); + } + constructor(e) { + (this.grammarElementIdMap = new v0()), + (this.tokenTypeIdMap = new v0()), + (this.grammar = e.Grammar), + (this.lexer = e.parser.Lexer), + (this.linker = e.references.Linker); + } + dehydrate(e) { + return { + lexerErrors: e.lexerErrors.map((r) => Object.assign({}, r)), + parserErrors: e.parserErrors.map((r) => Object.assign({}, r)), + value: this.dehydrateAstNode(e.value, this.createDehyrationContext(e.value)) + }; + } + createDehyrationContext(e) { + let r = new Map(), + n = new Map(); + for (let i of Yo(e)) r.set(i, {}); + if (e.$cstNode) for (let i of qd(e.$cstNode)) n.set(i, {}); + return { astNodes: r, cstNodes: n }; + } + dehydrateAstNode(e, r) { + let n = r.astNodes.get(e); + (n.$type = e.$type), + (n.$containerIndex = e.$containerIndex), + (n.$containerProperty = e.$containerProperty), + e.$cstNode !== void 0 && (n.$cstNode = this.dehydrateCstNode(e.$cstNode, r)); + for (let [i, a] of Object.entries(e)) + if (!i.startsWith('$')) + if (Array.isArray(a)) { + let s = []; + n[i] = s; + for (let l of a) + Xn(l) + ? s.push(this.dehydrateAstNode(l, r)) + : xa(l) + ? s.push(this.dehydrateReference(l, r)) + : s.push(l); + } else + Xn(a) + ? (n[i] = this.dehydrateAstNode(a, r)) + : xa(a) + ? (n[i] = this.dehydrateReference(a, r)) + : a !== void 0 && (n[i] = a); + return n; + } + dehydrateReference(e, r) { + let n = {}; + return (n.$refText = e.$refText), e.$refNode && (n.$refNode = r.cstNodes.get(e.$refNode)), n; + } + dehydrateCstNode(e, r) { + let n = r.cstNodes.get(e); + return ( + zv(e) + ? (n.fullText = e.fullText) + : (n.grammarSource = this.getGrammarElementId(e.grammarSource)), + (n.hidden = e.hidden), + (n.astNode = r.astNodes.get(e.astNode)), + co(e) + ? (n.content = e.content.map((i) => this.dehydrateCstNode(i, r))) + : ef(e) && + ((n.tokenType = e.tokenType.name), + (n.offset = e.offset), + (n.length = e.length), + (n.startLine = e.range.start.line), + (n.startColumn = e.range.start.character), + (n.endLine = e.range.end.line), + (n.endColumn = e.range.end.character)), + n + ); + } + hydrate(e) { + let r = e.value, + n = this.createHydrationContext(r); + return ( + '$cstNode' in r && this.hydrateCstNode(r.$cstNode, n), + { + lexerErrors: e.lexerErrors, + parserErrors: e.parserErrors, + value: this.hydrateAstNode(r, n) + } + ); + } + createHydrationContext(e) { + let r = new Map(), + n = new Map(); + for (let a of Yo(e)) r.set(a, {}); + let i; + if (e.$cstNode) + for (let a of qd(e.$cstNode)) { + let s; + 'fullText' in a + ? ((s = new gg(a.fullText)), (i = s)) + : 'content' in a + ? (s = new p0()) + : 'tokenType' in a && (s = this.hydrateCstLeafNode(a)), + s && (n.set(a, s), (s.root = i)); + } + return { astNodes: r, cstNodes: n }; + } + hydrateAstNode(e, r) { + let n = r.astNodes.get(e); + (n.$type = e.$type), + (n.$containerIndex = e.$containerIndex), + (n.$containerProperty = e.$containerProperty), + e.$cstNode && (n.$cstNode = r.cstNodes.get(e.$cstNode)); + for (let [i, a] of Object.entries(e)) + if (!i.startsWith('$')) + if (Array.isArray(a)) { + let s = []; + n[i] = s; + for (let l of a) + Xn(l) + ? s.push(this.setParent(this.hydrateAstNode(l, r), n)) + : xa(l) + ? s.push(this.hydrateReference(l, n, i, r)) + : s.push(l); + } else + Xn(a) + ? (n[i] = this.setParent(this.hydrateAstNode(a, r), n)) + : xa(a) + ? (n[i] = this.hydrateReference(a, n, i, r)) + : a !== void 0 && (n[i] = a); + return n; + } + setParent(e, r) { + return (e.$container = r), e; + } + hydrateReference(e, r, n, i) { + return this.linker.buildReference(r, n, i.cstNodes.get(e.$refNode), e.$refText); + } + hydrateCstNode(e, r, n = 0) { + let i = r.cstNodes.get(e); + if ( + (typeof e.grammarSource == 'number' && + (i.grammarSource = this.getGrammarElement(e.grammarSource)), + (i.astNode = r.astNodes.get(e.astNode)), + co(i)) + ) + for (let a of e.content) { + let s = this.hydrateCstNode(a, r, n++); + i.content.push(s); + } + return i; + } + hydrateCstLeafNode(e) { + let r = this.getTokenType(e.tokenType), + n = e.offset, + i = e.length, + a = e.startLine, + s = e.startColumn, + l = e.endLine, + u = e.endColumn, + h = e.hidden; + return new d0( + n, + i, + { + start: { line: a, character: s }, + end: { line: l, character: u } + }, + r, + h + ); + } + getTokenType(e) { + return this.lexer.definition[e]; + } + getGrammarElementId(e) { + return ( + this.grammarElementIdMap.size === 0 && this.createGrammarElementIdMap(), + this.grammarElementIdMap.get(e) + ); + } + getGrammarElement(e) { + this.grammarElementIdMap.size === 0 && this.createGrammarElementIdMap(); + let r = this.grammarElementIdMap.getKey(e); + if (r) return r; + throw new Error('Invalid grammar element id: ' + e); + } + createGrammarElementIdMap() { + let e = 0; + for (let r of Yo(this.grammar)) Uv(r) && this.grammarElementIdMap.set(r, e++); + } + }; + }); + function po(t) { + return { + documentation: { + CommentProvider: o((e) => new rx(e), 'CommentProvider'), + DocumentationProvider: o((e) => new tx(e), 'DocumentationProvider') + }, + parser: { + AsyncParser: o((e) => new nx(e), 'AsyncParser'), + GrammarConfig: o((e) => JR(e), 'GrammarConfig'), + LangiumParser: o((e) => cM(e), 'LangiumParser'), + CompletionParser: o((e) => oM(e), 'CompletionParser'), + ValueConverter: o(() => new y0(), 'ValueConverter'), + TokenBuilder: o(() => new g0(), 'TokenBuilder'), + Lexer: o((e) => new Z2(e), 'Lexer'), + ParserErrorMessageProvider: o(() => new yg(), 'ParserErrorMessageProvider') + }, + workspace: { + AstNodeLocator: o(() => new q2(), 'AstNodeLocator'), + AstNodeDescriptionProvider: o((e) => new Y2(e), 'AstNodeDescriptionProvider'), + ReferenceDescriptionProvider: o((e) => new W2(e), 'ReferenceDescriptionProvider') + }, + references: { + Linker: o((e) => new M2(e), 'Linker'), + NameProvider: o(() => new I2(), 'NameProvider'), + ScopeProvider: o((e) => new z2(e), 'ScopeProvider'), + ScopeComputation: o((e) => new P2(e), 'ScopeComputation'), + References: o((e) => new O2(e), 'References') + }, + serializer: { + Hydrator: o((e) => new ax(e), 'Hydrator'), + JsonSerializer: o((e) => new G2(e), 'JsonSerializer') + }, + validation: { + DocumentValidator: o((e) => new H2(e), 'DocumentValidator'), + ValidationRegistry: o((e) => new V2(e), 'ValidationRegistry') + }, + shared: o(() => t.shared, 'shared') + }; + } + function mo(t) { + return { + ServiceRegistry: o(() => new $2(), 'ServiceRegistry'), + workspace: { + LangiumDocuments: o((e) => new N2(e), 'LangiumDocuments'), + LangiumDocumentFactory: o((e) => new R2(e), 'LangiumDocumentFactory'), + DocumentBuilder: o((e) => new j2(e), 'DocumentBuilder'), + IndexManager: o((e) => new K2(e), 'IndexManager'), + WorkspaceManager: o((e) => new Q2(e), 'WorkspaceManager'), + FileSystemProvider: o((e) => t.fileSystemProvider(e), 'FileSystemProvider'), + WorkspaceLock: o(() => new ix(), 'WorkspaceLock'), + ConfigurationProvider: o((e) => new X2(e), 'ConfigurationProvider') + } + }; + } + var iI = R(() => { + 'use strict'; + eN(); + lM(); + uM(); + hM(); + fM(); + CM(); + SM(); + AM(); + _M(); + DM(); + Ok(); + NM(); + MM(); + U2(); + IM(); + OM(); + PM(); + FM(); + Tg(); + zM(); + GM(); + UM(); + KM(); + QM(); + D2(); + tI(); + rI(); + nI(); + o(po, 'createDefaultCoreModule'); + o(mo, 'createDefaultSharedCoreModule'); + }); + function Fi(t, e, r, n, i, a, s, l, u) { + let h = [t, e, r, n, i, a, s, l, u].reduce(Gk, {}); + return Moe(h); + } + function Noe(t) { + if (t && t[sI]) for (let e of Object.values(t)) Noe(e); + return t; + } + function Moe(t, e) { + let r = new Proxy( + {}, + { + deleteProperty: o(() => !1, 'deleteProperty'), + get: o((n, i) => Roe(n, i, t, e || r), 'get'), + getOwnPropertyDescriptor: o( + (n, i) => (Roe(n, i, t, e || r), Object.getOwnPropertyDescriptor(n, i)), + 'getOwnPropertyDescriptor' + ), + has: o((n, i) => i in t, 'has'), + ownKeys: o(() => [...Reflect.ownKeys(t), sI], 'ownKeys') + } + ); + return (r[sI] = !0), r; + } + function Roe(t, e, r, n) { + if (e in t) { + if (t[e] instanceof Error) + throw new Error('Construction failure. Please make sure that your dependencies are constructable.', { + cause: t[e] + }); + if (t[e] === Doe) + throw new Error( + 'Cycle detected. Please make "' + + String(e) + + '" lazy. See https://langium.org/docs/configuration-services/#resolving-cyclic-dependencies' + ); + return t[e]; + } else if (e in r) { + let i = r[e]; + t[e] = Doe; + try { + t[e] = typeof i == 'function' ? i(n) : Moe(i, n); + } catch (a) { + throw ((t[e] = a instanceof Error ? a : void 0), a); + } + return t[e]; + } else return; + } + function Gk(t, e) { + if (e) { + for (let [r, n] of Object.entries(e)) + if (n !== void 0) { + let i = t[r]; + i !== null && n !== null && typeof i == 'object' && typeof n == 'object' + ? (t[r] = Gk(i, n)) + : (t[r] = n); + } + } + return t; + } + var aI, + sI, + Doe, + oI = R(() => { + 'use strict'; + (function (t) { + t.merge = (e, r) => Gk(Gk({}, e), r); + })(aI || (aI = {})); + o(Fi, 'inject'); + sI = Symbol('isProxy'); + o(Noe, 'eagerLoad'); + o(Moe, '_inject'); + Doe = Symbol(); + o(Roe, '_resolve'); + o(Gk, '_merge'); + }); + var Ioe = R(() => { + 'use strict'; + }); + var Ooe = R(() => { + 'use strict'; + QM(); + KM(); + jM(); + }); + var Poe = R(() => { + 'use strict'; + }); + var Boe = R(() => { + 'use strict'; + eN(); + Poe(); + }); + var Foe = R(() => { + 'use strict'; + }); + var zoe = R(() => { + 'use strict'; + tI(); + lM(); + Ek(); + uM(); + D2(); + UM(); + Foe(); + hM(); + fM(); + }); + var Goe = R(() => { + 'use strict'; + CM(); + SM(); + AM(); + LM(); + _M(); + DM(); + }); + var $oe = R(() => { + 'use strict'; + nI(); + Ok(); + }); + var $k, + go, + lI = R(() => { + 'use strict'; + ($k = class { + static { + o(this, 'EmptyFileSystemProvider'); + } + readFile() { + throw new Error('No file system is available.'); + } + async readDirectory() { + return []; + } + }), + (go = { fileSystemProvider: o(() => new $k(), 'fileSystemProvider') }); + }); + function uPe() { + let t = Fi(mo(go), cPe), + e = Fi(po({ shared: t }), lPe); + return t.ServiceRegistry.register(e), e; + } + function lf(t) { + var e; + let r = uPe(), + n = r.serializer.JsonSerializer.deserialize(t); + return ( + r.shared.workspace.LangiumDocumentFactory.fromModel( + n, + Ms.parse(`memory://${(e = n.name) !== null && e !== void 0 ? e : 'grammar'}.langium`) + ), + n + ); + } + var lPe, + cPe, + Voe = R(() => { + 'use strict'; + iI(); + oI(); + Sc(); + lI(); + Nc(); + (lPe = { + Grammar: o(() => {}, 'Grammar'), + LanguageMetaData: o( + () => ({ + caseInsensitive: !1, + fileExtensions: ['.langium'], + languageId: 'langium' + }), + 'LanguageMetaData' + ) + }), + (cPe = { AstReflection: o(() => new Gm(), 'AstReflection') }); + o(uPe, 'createMinimalGrammarServices'); + o(lf, 'loadGrammarFromJson'); + }); + var Rr = {}; + hr(Rr, { + AstUtils: () => CT, + BiMap: () => v0, + Cancellation: () => pr, + ContextCache: () => x0, + CstUtils: () => dT, + DONE_RESULT: () => Ja, + Deferred: () => as, + Disposable: () => b0, + DisposableCache: () => Cg, + DocumentCache: () => Mk, + EMPTY_STREAM: () => Gv, + ErrorWithLocation: () => jd, + GrammarUtils: () => RT, + MultiMap: () => Mc, + OperationCancelled: () => Rc, + Reduction: () => Fm, + RegExpUtils: () => LT, + SimpleCache: () => F2, + StreamImpl: () => uo, + TreeStreamImpl: () => Cc, + URI: () => Ms, + UriUtils: () => ss, + WorkspaceCache: () => Sg, + assertUnreachable: () => tf, + delayNextTick: () => TM, + interruptAndCheck: () => Bi, + isOperationCancelled: () => of, + loadGrammarFromJson: () => lf, + setInterruptionPeriod: () => poe, + startCancelableOperation: () => doe, + stream: () => Kr + }); + var Uoe = R(() => { + 'use strict'; + Ik(); + ZM(); + dr(Rr, ii); + kg(); + BM(); + pT(); + Voe(); + qo(); + Ds(); + Nc(); + es(); + Wo(); + Rl(); + Il(); + Um(); + }); + var Hoe = R(() => { + 'use strict'; + MM(); + U2(); + }); + var Yoe = R(() => { + 'use strict'; + IM(); + OM(); + PM(); + FM(); + Tg(); + lI(); + zM(); + rI(); + GM(); + }); + var ba = {}; + hr(ba, { + AbstractAstReflection: () => Yd, + AbstractCstNode: () => S2, + AbstractLangiumParser: () => A2, + AbstractParserErrorMessageProvider: () => Sk, + AbstractThreadedAsyncParser: () => JM, + AstUtils: () => CT, + BiMap: () => v0, + Cancellation: () => pr, + CompositeCstNodeImpl: () => p0, + ContextCache: () => x0, + CstNodeBuilder: () => C2, + CstUtils: () => dT, + DONE_RESULT: () => Ja, + DatatypeSymbol: () => Ck, + DefaultAstNodeDescriptionProvider: () => Y2, + DefaultAstNodeLocator: () => q2, + DefaultAsyncParser: () => nx, + DefaultCommentProvider: () => rx, + DefaultConfigurationProvider: () => X2, + DefaultDocumentBuilder: () => j2, + DefaultDocumentValidator: () => H2, + DefaultHydrator: () => ax, + DefaultIndexManager: () => K2, + DefaultJsonSerializer: () => G2, + DefaultLangiumDocumentFactory: () => R2, + DefaultLangiumDocuments: () => N2, + DefaultLexer: () => Z2, + DefaultLinker: () => M2, + DefaultNameProvider: () => I2, + DefaultReferenceDescriptionProvider: () => W2, + DefaultReferences: () => O2, + DefaultScopeComputation: () => P2, + DefaultScopeProvider: () => z2, + DefaultServiceRegistry: () => $2, + DefaultTokenBuilder: () => g0, + DefaultValueConverter: () => y0, + DefaultWorkspaceLock: () => ix, + DefaultWorkspaceManager: () => Q2, + Deferred: () => as, + Disposable: () => b0, + DisposableCache: () => Cg, + DocumentCache: () => Mk, + DocumentState: () => yn, + DocumentValidator: () => Uu, + EMPTY_SCOPE: () => jOe, + EMPTY_STREAM: () => Gv, + EmptyFileSystem: () => go, + EmptyFileSystemProvider: () => $k, + ErrorWithLocation: () => jd, + GrammarAST: () => Yv, + GrammarUtils: () => RT, + JSDocDocumentationProvider: () => tx, + LangiumCompletionParser: () => L2, + LangiumParser: () => _2, + LangiumParserErrorMessageProvider: () => yg, + LeafCstNodeImpl: () => d0, + MapScope: () => B2, + Module: () => aI, + MultiMap: () => Mc, + OperationCancelled: () => Rc, + ParserWorker: () => eI, + Reduction: () => Fm, + RegExpUtils: () => LT, + RootCstNodeImpl: () => gg, + SimpleCache: () => F2, + StreamImpl: () => uo, + StreamScope: () => Eg, + TextDocument: () => bg, + TreeStreamImpl: () => Cc, + URI: () => Ms, + UriUtils: () => ss, + ValidationCategory: () => Ag, + ValidationRegistry: () => V2, + ValueConverter: () => Dc, + WorkspaceCache: () => Sg, + assertUnreachable: () => tf, + createCompletionParser: () => oM, + createDefaultCoreModule: () => po, + createDefaultSharedCoreModule: () => mo, + createGrammarConfig: () => JR, + createLangiumParser: () => cM, + delayNextTick: () => TM, + diagnosticData: () => Pk, + eagerLoad: () => Noe, + getDiagnosticRange: () => Toe, + inject: () => Fi, + interruptAndCheck: () => Bi, + isAstNode: () => Xn, + isAstNodeDescription: () => ED, + isAstNodeWithComment: () => RM, + isCompositeCstNode: () => co, + isIMultiModeLexerDefinition: () => VM, + isJSDoc: () => qM, + isLeafCstNode: () => ef, + isLinkingError: () => Wd, + isNamed: () => boe, + isOperationCancelled: () => of, + isReference: () => xa, + isRootCstNode: () => zv, + isTokenTypeArray: () => koe, + isTokenTypeDictionary: () => $M, + loadGrammarFromJson: () => lf, + parseJSDoc: () => WM, + prepareLangiumParser: () => soe, + setInterruptionPeriod: () => poe, + startCancelableOperation: () => doe, + stream: () => Kr, + toDiagnosticSeverity: () => Bk + }); + var Ic = R(() => { + 'use strict'; + iI(); + oI(); + NM(); + Ioe(); + Vo(); + Ooe(); + Boe(); + zoe(); + Goe(); + $oe(); + Uoe(); + dr(ba, Rr); + Hoe(); + Yoe(); + Sc(); + }); + function Joe(t) { + return Pl.isInstance(t, Zoe); + } + function ele(t) { + return Pl.isInstance(t, cI); + } + function tle(t) { + return Pl.isInstance(t, uI); + } + function rle(t) { + return Pl.isInstance(t, pPe); + } + function nle(t) { + return Pl.isInstance(t, hI); + } + function ale(t) { + return Pl.isInstance(t, ile); + } + function sle(t) { + return Pl.isInstance(t, fI); + } + function lle(t) { + return Pl.isInstance(t, ole); + } + function ule(t) { + return Pl.isInstance(t, cle); + } + function fle(t) { + return Pl.isInstance(t, hle); + } + function ple(t) { + return Pl.isInstance(t, dle); + } + var hPe, + Tt, + Qoe, + Zoe, + cI, + fPe, + dPe, + uI, + pPe, + hI, + ile, + fI, + ole, + cle, + hle, + dle, + mPe, + mle, + Pl, + Woe, + gPe, + qoe, + yPe, + Xoe, + vPe, + joe, + xPe, + Koe, + bPe, + wPe, + TPe, + kPe, + EPe, + CPe, + Bl, + dI, + pI, + mI, + gI, + yI, + SPe, + APe, + _Pe, + LPe, + _g, + w0, + Xo, + DPe, + jo = R(() => { + 'use strict'; + Ic(); + Ic(); + Ic(); + Ic(); + (hPe = Object.defineProperty), + (Tt = o((t, e) => hPe(t, 'name', { value: e, configurable: !0 }), '__name')), + (Qoe = 'Statement'), + (Zoe = 'Architecture'); + o(Joe, 'isArchitecture'); + Tt(Joe, 'isArchitecture'); + cI = 'Branch'; + o(ele, 'isBranch'); + Tt(ele, 'isBranch'); + (fPe = 'Checkout'), (dPe = 'CherryPicking'), (uI = 'Commit'); + o(tle, 'isCommit'); + Tt(tle, 'isCommit'); + pPe = 'Common'; + o(rle, 'isCommon'); + Tt(rle, 'isCommon'); + hI = 'GitGraph'; + o(nle, 'isGitGraph'); + Tt(nle, 'isGitGraph'); + ile = 'Info'; + o(ale, 'isInfo'); + Tt(ale, 'isInfo'); + fI = 'Merge'; + o(sle, 'isMerge'); + Tt(sle, 'isMerge'); + ole = 'Packet'; + o(lle, 'isPacket'); + Tt(lle, 'isPacket'); + cle = 'PacketBlock'; + o(ule, 'isPacketBlock'); + Tt(ule, 'isPacketBlock'); + hle = 'Pie'; + o(fle, 'isPie'); + Tt(fle, 'isPie'); + dle = 'PieSection'; + o(ple, 'isPieSection'); + Tt(ple, 'isPieSection'); + (mPe = 'Direction'), + (mle = class extends Yd { + static { + o(this, 'MermaidAstReflection'); + } + static { + Tt(this, 'MermaidAstReflection'); + } + getAllTypes() { + return [ + 'Architecture', + 'Branch', + 'Checkout', + 'CherryPicking', + 'Commit', + 'Common', + 'Direction', + 'Edge', + 'GitGraph', + 'Group', + 'Info', + 'Junction', + 'Merge', + 'Packet', + 'PacketBlock', + 'Pie', + 'PieSection', + 'Service', + 'Statement' + ]; + } + computeIsSubtype(t, e) { + switch (t) { + case cI: + case fPe: + case dPe: + case uI: + case fI: + return this.isSubtype(Qoe, e); + case mPe: + return this.isSubtype(hI, e); + default: + return !1; + } + } + getReferenceType(t) { + let e = `${t.container.$type}:${t.property}`; + switch (e) { + default: + throw new Error(`${e} is not a valid reference id.`); + } + } + getTypeMetaData(t) { + switch (t) { + case 'Architecture': + return { + name: 'Architecture', + properties: [ + { name: 'accDescr' }, + { name: 'accTitle' }, + { name: 'edges', defaultValue: [] }, + { name: 'groups', defaultValue: [] }, + { name: 'junctions', defaultValue: [] }, + { name: 'services', defaultValue: [] }, + { name: 'title' } + ] + }; + case 'Branch': + return { + name: 'Branch', + properties: [{ name: 'name' }, { name: 'order' }] + }; + case 'Checkout': + return { name: 'Checkout', properties: [{ name: 'branch' }] }; + case 'CherryPicking': + return { + name: 'CherryPicking', + properties: [{ name: 'id' }, { name: 'parent' }, { name: 'tags', defaultValue: [] }] + }; + case 'Commit': + return { + name: 'Commit', + properties: [ + { name: 'id' }, + { name: 'message' }, + { name: 'tags', defaultValue: [] }, + { name: 'type' } + ] + }; + case 'Common': + return { + name: 'Common', + properties: [{ name: 'accDescr' }, { name: 'accTitle' }, { name: 'title' }] + }; + case 'Edge': + return { + name: 'Edge', + properties: [ + { name: 'lhsDir' }, + { name: 'lhsGroup', defaultValue: !1 }, + { name: 'lhsId' }, + { name: 'lhsInto', defaultValue: !1 }, + { name: 'rhsDir' }, + { name: 'rhsGroup', defaultValue: !1 }, + { name: 'rhsId' }, + { name: 'rhsInto', defaultValue: !1 }, + { name: 'title' } + ] + }; + case 'GitGraph': + return { + name: 'GitGraph', + properties: [ + { name: 'accDescr' }, + { name: 'accTitle' }, + { name: 'statements', defaultValue: [] }, + { name: 'title' } + ] + }; + case 'Group': + return { + name: 'Group', + properties: [{ name: 'icon' }, { name: 'id' }, { name: 'in' }, { name: 'title' }] + }; + case 'Info': + return { + name: 'Info', + properties: [{ name: 'accDescr' }, { name: 'accTitle' }, { name: 'title' }] + }; + case 'Junction': + return { + name: 'Junction', + properties: [{ name: 'id' }, { name: 'in' }] + }; + case 'Merge': + return { + name: 'Merge', + properties: [ + { name: 'branch' }, + { name: 'id' }, + { name: 'tags', defaultValue: [] }, + { name: 'type' } + ] + }; + case 'Packet': + return { + name: 'Packet', + properties: [ + { name: 'accDescr' }, + { name: 'accTitle' }, + { name: 'blocks', defaultValue: [] }, + { name: 'title' } + ] + }; + case 'PacketBlock': + return { + name: 'PacketBlock', + properties: [{ name: 'end' }, { name: 'label' }, { name: 'start' }] + }; + case 'Pie': + return { + name: 'Pie', + properties: [ + { name: 'accDescr' }, + { name: 'accTitle' }, + { name: 'sections', defaultValue: [] }, + { name: 'showData', defaultValue: !1 }, + { name: 'title' } + ] + }; + case 'PieSection': + return { + name: 'PieSection', + properties: [{ name: 'label' }, { name: 'value' }] + }; + case 'Service': + return { + name: 'Service', + properties: [ + { name: 'icon' }, + { name: 'iconText' }, + { name: 'id' }, + { name: 'in' }, + { name: 'title' } + ] + }; + case 'Direction': + return { + name: 'Direction', + properties: [ + { name: 'accDescr' }, + { name: 'accTitle' }, + { name: 'dir' }, + { name: 'statements', defaultValue: [] }, + { name: 'title' } + ] + }; + default: + return { name: t, properties: [] }; + } + } + }), + (Pl = new mle()), + (gPe = Tt( + () => + Woe ?? + (Woe = lf( + '{"$type":"Grammar","isDeclared":true,"name":"Info","imports":[],"rules":[{"$type":"ParserRule","name":"Info","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}' + )), + 'InfoGrammar' + )), + (yPe = Tt( + () => + qoe ?? + (qoe = lf( + `{"$type":"Grammar","isDeclared":true,"name":"Packet","imports":[],"rules":[{"$type":"ParserRule","name":"Packet","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"packet-beta"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"+"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"?"},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}` + )), + 'PacketGrammar' + )), + (vPe = Tt( + () => + Xoe ?? + (Xoe = lf( + '{"$type":"Grammar","isDeclared":true,"name":"Pie","imports":[],"rules":[{"$type":"ParserRule","name":"Pie","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"+"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"PIE_SECTION_LABEL","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]+\\"/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"PIE_SECTION_VALUE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/(0|[1-9][0-9]*)(\\\\.[0-9]+)?/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}' + )), + 'PieGrammar' + )), + (xPe = Tt( + () => + joe ?? + (joe = lf( + '{"$type":"Grammar","isDeclared":true,"name":"Architecture","imports":[],"rules":[{"$type":"ParserRule","name":"Architecture","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Statement","fragment":true,"definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"LeftPort","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"RightPort","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Arrow","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_ID","definition":{"$type":"RegexToken","regex":"/[\\\\w]+/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TEXT_ICON","definition":{"$type":"RegexToken","regex":"/\\\\(\\"[^\\"]+\\"\\\\)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[[\\\\w ]+\\\\]/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}' + )), + 'ArchitectureGrammar' + )), + (bPe = Tt( + () => + Koe ?? + (Koe = lf( + `{"$type":"Grammar","isDeclared":true,"name":"GitGraph","interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"rules":[{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"ParserRule","name":"GitGraph","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+(?=\\\\s)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"imports":[],"types":[],"usedGrammars":[]}` + )), + 'GitGraphGrammar' + )), + (wPe = { + languageId: 'info', + fileExtensions: ['.mmd', '.mermaid'], + caseInsensitive: !1 + }), + (TPe = { + languageId: 'packet', + fileExtensions: ['.mmd', '.mermaid'], + caseInsensitive: !1 + }), + (kPe = { + languageId: 'pie', + fileExtensions: ['.mmd', '.mermaid'], + caseInsensitive: !1 + }), + (EPe = { + languageId: 'architecture', + fileExtensions: ['.mmd', '.mermaid'], + caseInsensitive: !1 + }), + (CPe = { + languageId: 'gitGraph', + fileExtensions: ['.mmd', '.mermaid'], + caseInsensitive: !1 + }), + (Bl = { AstReflection: Tt(() => new mle(), 'AstReflection') }), + (dI = { + Grammar: Tt(() => gPe(), 'Grammar'), + LanguageMetaData: Tt(() => wPe, 'LanguageMetaData'), + parser: {} + }), + (pI = { + Grammar: Tt(() => yPe(), 'Grammar'), + LanguageMetaData: Tt(() => TPe, 'LanguageMetaData'), + parser: {} + }), + (mI = { + Grammar: Tt(() => vPe(), 'Grammar'), + LanguageMetaData: Tt(() => kPe, 'LanguageMetaData'), + parser: {} + }), + (gI = { + Grammar: Tt(() => xPe(), 'Grammar'), + LanguageMetaData: Tt(() => EPe, 'LanguageMetaData'), + parser: {} + }), + (yI = { + Grammar: Tt(() => bPe(), 'Grammar'), + LanguageMetaData: Tt(() => CPe, 'LanguageMetaData'), + parser: {} + }), + (SPe = /accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/), + (APe = /accTitle[\t ]*:([^\n\r]*)/), + (_Pe = /title([\t ][^\n\r]*|)/), + (LPe = { ACC_DESCR: SPe, ACC_TITLE: APe, TITLE: _Pe }), + (_g = class extends y0 { + static { + o(this, 'AbstractMermaidValueConverter'); + } + static { + Tt(this, 'AbstractMermaidValueConverter'); + } + runConverter(t, e, r) { + let n = this.runCommonConverter(t, e, r); + return ( + n === void 0 && (n = this.runCustomConverter(t, e, r)), + n === void 0 ? super.runConverter(t, e, r) : n + ); + } + runCommonConverter(t, e, r) { + let n = LPe[t.name]; + if (n === void 0) return; + let i = n.exec(e); + if (i !== null) { + if (i[1] !== void 0) return i[1].trim().replace(/[\t ]{2,}/gm, ' '); + if (i[2] !== void 0) + return i[2] + .replace(/^\s*/gm, '') + .replace(/\s+$/gm, '') + .replace(/[\t ]{2,}/gm, ' ') + .replace( + /[\n\r]{2,}/gm, + ` +` + ); + } + } + }), + (w0 = class extends _g { + static { + o(this, 'CommonValueConverter'); + } + static { + Tt(this, 'CommonValueConverter'); + } + runCustomConverter(t, e, r) {} + }), + (Xo = class extends g0 { + static { + o(this, 'AbstractMermaidTokenBuilder'); + } + static { + Tt(this, 'AbstractMermaidTokenBuilder'); + } + constructor(t) { + super(), (this.keywords = new Set(t)); + } + buildKeywordTokens(t, e, r) { + let n = super.buildKeywordTokens(t, e, r); + return ( + n.forEach((i) => { + this.keywords.has(i.name) && + i.PATTERN !== void 0 && + (i.PATTERN = new RegExp(i.PATTERN.toString() + '(?:(?=%%)|(?!\\S))')); + }), + n + ); + } + }), + (DPe = class extends Xo { + static { + o(this, 'CommonTokenBuilder'); + } + static { + Tt(this, 'CommonTokenBuilder'); + } + }); + }); + function Uk(t = go) { + let e = Fi(mo(t), Bl), + r = Fi(po({ shared: e }), yI, Vk); + return e.ServiceRegistry.register(r), { shared: e, GitGraph: r }; + } + var RPe, + Vk, + vI = R(() => { + 'use strict'; + jo(); + Ic(); + (RPe = class extends Xo { + static { + o(this, 'GitGraphTokenBuilder'); + } + static { + Tt(this, 'GitGraphTokenBuilder'); + } + constructor() { + super(['gitGraph']); + } + }), + (Vk = { + parser: { + TokenBuilder: Tt(() => new RPe(), 'TokenBuilder'), + ValueConverter: Tt(() => new w0(), 'ValueConverter') + } + }); + o(Uk, 'createGitGraphServices'); + Tt(Uk, 'createGitGraphServices'); + }); + function Yk(t = go) { + let e = Fi(mo(t), Bl), + r = Fi(po({ shared: e }), dI, Hk); + return e.ServiceRegistry.register(r), { shared: e, Info: r }; + } + var NPe, + Hk, + xI = R(() => { + 'use strict'; + jo(); + Ic(); + (NPe = class extends Xo { + static { + o(this, 'InfoTokenBuilder'); + } + static { + Tt(this, 'InfoTokenBuilder'); + } + constructor() { + super(['info', 'showInfo']); + } + }), + (Hk = { + parser: { + TokenBuilder: Tt(() => new NPe(), 'TokenBuilder'), + ValueConverter: Tt(() => new w0(), 'ValueConverter') + } + }); + o(Yk, 'createInfoServices'); + Tt(Yk, 'createInfoServices'); + }); + function qk(t = go) { + let e = Fi(mo(t), Bl), + r = Fi(po({ shared: e }), pI, Wk); + return e.ServiceRegistry.register(r), { shared: e, Packet: r }; + } + var MPe, + Wk, + bI = R(() => { + 'use strict'; + jo(); + Ic(); + (MPe = class extends Xo { + static { + o(this, 'PacketTokenBuilder'); + } + static { + Tt(this, 'PacketTokenBuilder'); + } + constructor() { + super(['packet-beta']); + } + }), + (Wk = { + parser: { + TokenBuilder: Tt(() => new MPe(), 'TokenBuilder'), + ValueConverter: Tt(() => new w0(), 'ValueConverter') + } + }); + o(qk, 'createPacketServices'); + Tt(qk, 'createPacketServices'); + }); + function jk(t = go) { + let e = Fi(mo(t), Bl), + r = Fi(po({ shared: e }), mI, Xk); + return e.ServiceRegistry.register(r), { shared: e, Pie: r }; + } + var IPe, + OPe, + Xk, + wI = R(() => { + 'use strict'; + jo(); + Ic(); + (IPe = class extends Xo { + static { + o(this, 'PieTokenBuilder'); + } + static { + Tt(this, 'PieTokenBuilder'); + } + constructor() { + super(['pie', 'showData']); + } + }), + (OPe = class extends _g { + static { + o(this, 'PieValueConverter'); + } + static { + Tt(this, 'PieValueConverter'); + } + runCustomConverter(t, e, r) { + if (t.name === 'PIE_SECTION_LABEL') return e.replace(/"/g, '').trim(); + } + }), + (Xk = { + parser: { + TokenBuilder: Tt(() => new IPe(), 'TokenBuilder'), + ValueConverter: Tt(() => new OPe(), 'ValueConverter') + } + }); + o(jk, 'createPieServices'); + Tt(jk, 'createPieServices'); + }); + function Qk(t = go) { + let e = Fi(mo(t), Bl), + r = Fi(po({ shared: e }), gI, Kk); + return e.ServiceRegistry.register(r), { shared: e, Architecture: r }; + } + var PPe, + BPe, + Kk, + TI = R(() => { + 'use strict'; + jo(); + Ic(); + (PPe = class extends Xo { + static { + o(this, 'ArchitectureTokenBuilder'); + } + static { + Tt(this, 'ArchitectureTokenBuilder'); + } + constructor() { + super(['architecture']); + } + }), + (BPe = class extends _g { + static { + o(this, 'ArchitectureValueConverter'); + } + static { + Tt(this, 'ArchitectureValueConverter'); + } + runCustomConverter(t, e, r) { + if (t.name === 'ARCH_ICON') return e.replace(/[()]/g, '').trim(); + if (t.name === 'ARCH_TEXT_ICON') return e.replace(/["()]/g, ''); + if (t.name === 'ARCH_TITLE') return e.replace(/[[\]]/g, '').trim(); + } + }), + (Kk = { + parser: { + TokenBuilder: Tt(() => new PPe(), 'TokenBuilder'), + ValueConverter: Tt(() => new BPe(), 'ValueConverter') + } + }); + o(Qk, 'createArchitectureServices'); + Tt(Qk, 'createArchitectureServices'); + }); + var gle = {}; + hr(gle, { InfoModule: () => Hk, createInfoServices: () => Yk }); + var yle = R(() => { + 'use strict'; + xI(); + jo(); + }); + var vle = {}; + hr(vle, { PacketModule: () => Wk, createPacketServices: () => qk }); + var xle = R(() => { + 'use strict'; + bI(); + jo(); + }); + var ble = {}; + hr(ble, { PieModule: () => Xk, createPieServices: () => jk }); + var wle = R(() => { + 'use strict'; + wI(); + jo(); + }); + var Tle = {}; + hr(Tle, { + ArchitectureModule: () => Kk, + createArchitectureServices: () => Qk + }); + var kle = R(() => { + 'use strict'; + TI(); + jo(); + }); + var Ele = {}; + hr(Ele, { GitGraphModule: () => Vk, createGitGraphServices: () => Uk }); + var Cle = R(() => { + 'use strict'; + vI(); + jo(); + }); + async function Fl(t, e) { + let r = FPe[t]; + if (!r) throw new Error(`Unknown diagram type: ${t}`); + T0[t] || (await r()); + let i = T0[t].parse(e); + if (i.lexerErrors.length > 0 || i.parserErrors.length > 0) throw new zPe(i); + return i.value; + } + var T0, + FPe, + zPe, + Lg = R(() => { + 'use strict'; + vI(); + xI(); + bI(); + wI(); + TI(); + jo(); + (T0 = {}), + (FPe = { + info: Tt(async () => { + let { createInfoServices: t } = await Promise.resolve().then(() => (yle(), gle)), + e = t().Info.parser.LangiumParser; + T0.info = e; + }, 'info'), + packet: Tt(async () => { + let { createPacketServices: t } = await Promise.resolve().then(() => (xle(), vle)), + e = t().Packet.parser.LangiumParser; + T0.packet = e; + }, 'packet'), + pie: Tt(async () => { + let { createPieServices: t } = await Promise.resolve().then(() => (wle(), ble)), + e = t().Pie.parser.LangiumParser; + T0.pie = e; + }, 'pie'), + architecture: Tt(async () => { + let { createArchitectureServices: t } = await Promise.resolve().then(() => (kle(), Tle)), + e = t().Architecture.parser.LangiumParser; + T0.architecture = e; + }, 'architecture'), + gitGraph: Tt(async () => { + let { createGitGraphServices: t } = await Promise.resolve().then(() => (Cle(), Ele)), + e = t().GitGraph.parser.LangiumParser; + T0.gitGraph = e; + }, 'gitGraph') + }); + o(Fl, 'parse'); + Tt(Fl, 'parse'); + zPe = class extends Error { + static { + o(this, 'MermaidParseError'); + } + constructor(t) { + let e = t.lexerErrors.map((n) => n.message).join(` +`), + r = t.parserErrors.map((n) => n.message).join(` +`); + super(`Parsing failed: ${e} ${r}`), (this.result = t); + } + static { + Tt(this, 'MermaidParseError'); + } + }; + }); + function cf(t, e) { + t.accDescr && e.setAccDescription?.(t.accDescr), + t.accTitle && e.setAccTitle?.(t.accTitle), + t.title && e.setDiagramTitle?.(t.title); + } + var sx = R(() => { + 'use strict'; + o(cf, 'populateCommonDb'); + }); + var Hr, + Zk = R(() => { + 'use strict'; + Hr = { NORMAL: 0, REVERSE: 1, HIGHLIGHT: 2, MERGE: 3, CHERRY_PICK: 4 }; + }); + var uf, + Jk = R(() => { + 'use strict'; + uf = class { + constructor(e) { + this.init = e; + this.records = this.init(); + } + static { + o(this, 'ImperativeState'); + } + reset() { + this.records = this.init(); + } + }; + }); + function kI() { + return J_({ length: 7 }); + } + function $Pe(t, e) { + let r = Object.create(null); + return t.reduce((n, i) => { + let a = e(i); + return r[a] || ((r[a] = !0), n.push(i)), n; + }, []); + } + function Sle(t, e, r) { + let n = t.indexOf(e); + n === -1 ? t.push(r) : t.splice(n, 1, r); + } + function _le(t) { + let e = t.reduce((i, a) => (i.seq > a.seq ? i : a), t[0]), + r = ''; + t.forEach(function (i) { + i === e ? (r += ' *') : (r += ' |'); + }); + let n = [r, e.id, e.seq]; + for (let i in pt.records.branches) pt.records.branches.get(i) === e.id && n.push(i); + if ((V.debug(n.join(' ')), e.parents && e.parents.length == 2 && e.parents[0] && e.parents[1])) { + let i = pt.records.commits.get(e.parents[0]); + Sle(t, e, i), e.parents[1] && t.push(pt.records.commits.get(e.parents[1])); + } else { + if (e.parents.length == 0) return; + if (e.parents[0]) { + let i = pt.records.commits.get(e.parents[0]); + Sle(t, e, i); + } + } + (t = $Pe(t, (i) => i.id)), _le(t); + } + var GPe, + k0, + pt, + VPe, + UPe, + HPe, + YPe, + WPe, + qPe, + XPe, + Ale, + jPe, + KPe, + QPe, + ZPe, + JPe, + Lle, + eBe, + tBe, + rBe, + eE, + EI = R(() => { + 'use strict'; + ut(); + xr(); + qs(); + rr(); + bi(); + Zk(); + Jk(); + sl(); + (GPe = mr.gitGraph), + (k0 = o(() => Ts({ ...GPe, ...Or().gitGraph }), 'getConfig')), + (pt = new uf(() => { + let t = k0(), + e = t.mainBranchName, + r = t.mainBranchOrder; + return { + mainBranchName: e, + commits: new Map(), + head: null, + branchConfig: new Map([[e, { name: e, order: r }]]), + branches: new Map([[e, null]]), + currBranch: e, + direction: 'LR', + seq: 0, + options: {} + }; + })); + o(kI, 'getID'); + o($Pe, 'uniqBy'); + (VPe = o(function (t) { + pt.records.direction = t; + }, 'setDirection')), + (UPe = o(function (t) { + V.debug('options str', t), (t = t?.trim()), (t = t || '{}'); + try { + pt.records.options = JSON.parse(t); + } catch (e) { + V.error('error while parsing gitGraph options', e.message); + } + }, 'setOptions')), + (HPe = o(function () { + return pt.records.options; + }, 'getOptions')), + (YPe = o(function (t) { + let e = t.msg, + r = t.id, + n = t.type, + i = t.tags; + V.info('commit', e, r, n, i), V.debug('Entering commit:', e, r, n, i); + let a = k0(); + (r = We.sanitizeText(r, a)), + (e = We.sanitizeText(e, a)), + (i = i?.map((l) => We.sanitizeText(l, a))); + let s = { + id: r || pt.records.seq + '-' + kI(), + message: e, + seq: pt.records.seq++, + type: n ?? Hr.NORMAL, + tags: i ?? [], + parents: pt.records.head == null ? [] : [pt.records.head.id], + branch: pt.records.currBranch + }; + (pt.records.head = s), + V.info('main branch', a.mainBranchName), + pt.records.commits.set(s.id, s), + pt.records.branches.set(pt.records.currBranch, s.id), + V.debug('in pushCommit ' + s.id); + }, 'commit')), + (WPe = o(function (t) { + let e = t.name, + r = t.order; + if (((e = We.sanitizeText(e, k0())), pt.records.branches.has(e))) + throw new Error( + `Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${e}")` + ); + pt.records.branches.set(e, pt.records.head != null ? pt.records.head.id : null), + pt.records.branchConfig.set(e, { name: e, order: r }), + Ale(e), + V.debug('in createBranch'); + }, 'branch')), + (qPe = o((t) => { + let e = t.branch, + r = t.id, + n = t.type, + i = t.tags, + a = k0(); + (e = We.sanitizeText(e, a)), r && (r = We.sanitizeText(r, a)); + let s = pt.records.branches.get(pt.records.currBranch), + l = pt.records.branches.get(e), + u = s ? pt.records.commits.get(s) : void 0, + h = l ? pt.records.commits.get(l) : void 0; + if (u && h && u.branch === e) throw new Error(`Cannot merge branch '${e}' into itself.`); + if (pt.records.currBranch === e) { + let p = new Error('Incorrect usage of "merge". Cannot merge a branch to itself'); + throw ( + ((p.hash = { + text: `merge ${e}`, + token: `merge ${e}`, + expected: ['branch abc'] + }), + p) + ); + } + if (u === void 0 || !u) { + let p = new Error( + `Incorrect usage of "merge". Current branch (${pt.records.currBranch})has no commits` + ); + throw ( + ((p.hash = { + text: `merge ${e}`, + token: `merge ${e}`, + expected: ['commit'] + }), + p) + ); + } + if (!pt.records.branches.has(e)) { + let p = new Error('Incorrect usage of "merge". Branch to be merged (' + e + ') does not exist'); + throw ( + ((p.hash = { + text: `merge ${e}`, + token: `merge ${e}`, + expected: [`branch ${e}`] + }), + p) + ); + } + if (h === void 0 || !h) { + let p = new Error('Incorrect usage of "merge". Branch to be merged (' + e + ') has no commits'); + throw ( + ((p.hash = { + text: `merge ${e}`, + token: `merge ${e}`, + expected: ['"commit"'] + }), + p) + ); + } + if (u === h) { + let p = new Error('Incorrect usage of "merge". Both branches have same head'); + throw ( + ((p.hash = { + text: `merge ${e}`, + token: `merge ${e}`, + expected: ['branch abc'] + }), + p) + ); + } + if (r && pt.records.commits.has(r)) { + let p = new Error( + 'Incorrect usage of "merge". Commit with id:' + + r + + ' already exists, use different custom Id' + ); + throw ( + ((p.hash = { + text: `merge ${e} ${r} ${n} ${i?.join(' ')}`, + token: `merge ${e} ${r} ${n} ${i?.join(' ')}`, + expected: [`merge ${e} ${r}_UNIQUE ${n} ${i?.join(' ')}`] + }), + p) + ); + } + let f = l || '', + d = { + id: r || `${pt.records.seq}-${kI()}`, + message: `merged branch ${e} into ${pt.records.currBranch}`, + seq: pt.records.seq++, + parents: pt.records.head == null ? [] : [pt.records.head.id, f], + branch: pt.records.currBranch, + type: Hr.MERGE, + customType: n, + customId: !!r, + tags: i ?? [] + }; + (pt.records.head = d), + pt.records.commits.set(d.id, d), + pt.records.branches.set(pt.records.currBranch, d.id), + V.debug(pt.records.branches), + V.debug('in mergeBranch'); + }, 'merge')), + (XPe = o(function (t) { + let e = t.id, + r = t.targetId, + n = t.tags, + i = t.parent; + V.debug('Entering cherryPick:', e, r, n); + let a = k0(); + if ( + ((e = We.sanitizeText(e, a)), + (r = We.sanitizeText(r, a)), + (n = n?.map((u) => We.sanitizeText(u, a))), + (i = We.sanitizeText(i, a)), + !e || !pt.records.commits.has(e)) + ) { + let u = new Error( + 'Incorrect usage of "cherryPick". Source commit id should exist and provided' + ); + throw ( + ((u.hash = { + text: `cherryPick ${e} ${r}`, + token: `cherryPick ${e} ${r}`, + expected: ['cherry-pick abc'] + }), + u) + ); + } + let s = pt.records.commits.get(e); + if (s === void 0 || !s) + throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided'); + if (i && !(Array.isArray(s.parents) && s.parents.includes(i))) + throw new Error( + 'Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.' + ); + let l = s.branch; + if (s.type === Hr.MERGE && !i) + throw new Error( + 'Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.' + ); + if (!r || !pt.records.commits.has(r)) { + if (l === pt.records.currBranch) { + let d = new Error( + 'Incorrect usage of "cherryPick". Source commit is already on current branch' + ); + throw ( + ((d.hash = { + text: `cherryPick ${e} ${r}`, + token: `cherryPick ${e} ${r}`, + expected: ['cherry-pick abc'] + }), + d) + ); + } + let u = pt.records.branches.get(pt.records.currBranch); + if (u === void 0 || !u) { + let d = new Error( + `Incorrect usage of "cherry-pick". Current branch (${pt.records.currBranch})has no commits` + ); + throw ( + ((d.hash = { + text: `cherryPick ${e} ${r}`, + token: `cherryPick ${e} ${r}`, + expected: ['cherry-pick abc'] + }), + d) + ); + } + let h = pt.records.commits.get(u); + if (h === void 0 || !h) { + let d = new Error( + `Incorrect usage of "cherry-pick". Current branch (${pt.records.currBranch})has no commits` + ); + throw ( + ((d.hash = { + text: `cherryPick ${e} ${r}`, + token: `cherryPick ${e} ${r}`, + expected: ['cherry-pick abc'] + }), + d) + ); + } + let f = { + id: pt.records.seq + '-' + kI(), + message: `cherry-picked ${s?.message} into ${pt.records.currBranch}`, + seq: pt.records.seq++, + parents: pt.records.head == null ? [] : [pt.records.head.id, s.id], + branch: pt.records.currBranch, + type: Hr.CHERRY_PICK, + tags: n + ? n.filter(Boolean) + : [`cherry-pick:${s.id}${s.type === Hr.MERGE ? `|parent:${i}` : ''}`] + }; + (pt.records.head = f), + pt.records.commits.set(f.id, f), + pt.records.branches.set(pt.records.currBranch, f.id), + V.debug(pt.records.branches), + V.debug('in cherryPick'); + } + }, 'cherryPick')), + (Ale = o(function (t) { + if (((t = We.sanitizeText(t, k0())), pt.records.branches.has(t))) { + pt.records.currBranch = t; + let e = pt.records.branches.get(pt.records.currBranch); + e === void 0 || !e + ? (pt.records.head = null) + : (pt.records.head = pt.records.commits.get(e) ?? null); + } else { + let e = new Error( + `Trying to checkout branch which is not yet created. (Help try using "branch ${t}")` + ); + throw ( + ((e.hash = { + text: `checkout ${t}`, + token: `checkout ${t}`, + expected: [`branch ${t}`] + }), + e) + ); + } + }, 'checkout')); + o(Sle, 'upsert'); + o(_le, 'prettyPrintCommitHistory'); + (jPe = o(function () { + V.debug(pt.records.commits); + let t = Lle()[0]; + _le([t]); + }, 'prettyPrint')), + (KPe = o(function () { + pt.reset(), vr(); + }, 'clear')), + (QPe = o(function () { + return [...pt.records.branchConfig.values()] + .map((e, r) => + e.order !== null && e.order !== void 0 ? e : { ...e, order: parseFloat(`0.${r}`) } + ) + .sort((e, r) => (e.order ?? 0) - (r.order ?? 0)) + .map(({ name: e }) => ({ name: e })); + }, 'getBranchesAsObjArray')), + (ZPe = o(function () { + return pt.records.branches; + }, 'getBranches')), + (JPe = o(function () { + return pt.records.commits; + }, 'getCommits')), + (Lle = o(function () { + let t = [...pt.records.commits.values()]; + return ( + t.forEach(function (e) { + V.debug(e.id); + }), + t.sort((e, r) => e.seq - r.seq), + t + ); + }, 'getCommitsArray')), + (eBe = o(function () { + return pt.records.currBranch; + }, 'getCurrentBranch')), + (tBe = o(function () { + return pt.records.direction; + }, 'getDirection')), + (rBe = o(function () { + return pt.records.head; + }, 'getHead')), + (eE = { + commitType: Hr, + getConfig: k0, + setDirection: VPe, + setOptions: UPe, + getOptions: HPe, + commit: YPe, + branch: WPe, + merge: qPe, + cherryPick: XPe, + checkout: Ale, + prettyPrint: jPe, + clear: KPe, + getBranchesAsObjArray: QPe, + getBranches: ZPe, + getCommits: JPe, + getCommitsArray: Lle, + getCurrentBranch: eBe, + getDirection: tBe, + getHead: rBe, + setAccTitle: kr, + getAccTitle: Ar, + getAccDescription: Lr, + setAccDescription: _r, + setDiagramTitle: nn, + getDiagramTitle: Xr + }); + }); + var nBe, + iBe, + aBe, + sBe, + oBe, + lBe, + cBe, + Dle, + Rle = R(() => { + 'use strict'; + Lg(); + ut(); + sx(); + EI(); + Zk(); + (nBe = o((t, e) => { + cf(t, e), t.dir && e.setDirection(t.dir); + for (let r of t.statements) iBe(r, e); + }, 'populate')), + (iBe = o((t, e) => { + let n = { + Commit: o((i) => e.commit(aBe(i)), 'Commit'), + Branch: o((i) => e.branch(sBe(i)), 'Branch'), + Merge: o((i) => e.merge(oBe(i)), 'Merge'), + Checkout: o((i) => e.checkout(lBe(i)), 'Checkout'), + CherryPicking: o((i) => e.cherryPick(cBe(i)), 'CherryPicking') + }[t.$type]; + n ? n(t) : V.error(`Unknown statement type: ${t.$type}`); + }, 'parseStatement')), + (aBe = o( + (t) => ({ + id: t.id, + msg: t.message ?? '', + type: t.type !== void 0 ? Hr[t.type] : Hr.NORMAL, + tags: t.tags ?? void 0 + }), + 'parseCommit' + )), + (sBe = o((t) => ({ name: t.name, order: t.order ?? 0 }), 'parseBranch')), + (oBe = o( + (t) => ({ + branch: t.branch, + id: t.id ?? '', + type: t.type !== void 0 ? Hr[t.type] : void 0, + tags: t.tags ?? void 0 + }), + 'parseMerge' + )), + (lBe = o((t) => t.branch, 'parseCheckout')), + (cBe = o( + (t) => ({ + id: t.id, + targetId: '', + tags: t.tags?.length === 0 ? void 0 : t.tags, + parent: t.parent + }), + 'parseCherryPicking' + )), + (Dle = { + parse: o(async (t) => { + let e = await Fl('gitGraph', t); + V.debug(e), nBe(e, eE); + }, 'parse') + }); + }); + var uBe, + Ko, + ff, + df, + Oc, + Hu, + E0, + Is, + Os, + tE, + ox, + rE, + hf, + Tr, + hBe, + Mle, + Ile, + fBe, + dBe, + pBe, + mBe, + gBe, + yBe, + vBe, + xBe, + bBe, + wBe, + TBe, + kBe, + Nle, + EBe, + lx, + CBe, + SBe, + ABe, + _Be, + LBe, + Ole, + Ple = R(() => { + 'use strict'; + Zt(); + _t(); + ut(); + xr(); + Zk(); + (uBe = de()), + (Ko = uBe?.gitGraph), + (ff = 10), + (df = 40), + (Oc = 4), + (Hu = 2), + (E0 = 8), + (Is = new Map()), + (Os = new Map()), + (tE = 30), + (ox = new Map()), + (rE = []), + (hf = 0), + (Tr = 'LR'), + (hBe = o(() => { + Is.clear(), Os.clear(), ox.clear(), (hf = 0), (rE = []), (Tr = 'LR'); + }, 'clear')), + (Mle = o((t) => { + let e = document.createElementNS('http://www.w3.org/2000/svg', 'text'); + return ( + (typeof t == 'string' ? t.split(/\\n|\n|/gi) : t).forEach((n) => { + let i = document.createElementNS('http://www.w3.org/2000/svg', 'tspan'); + i.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve'), + i.setAttribute('dy', '1em'), + i.setAttribute('x', '0'), + i.setAttribute('class', 'row'), + (i.textContent = n.trim()), + e.appendChild(i); + }), + e + ); + }, 'drawText')), + (Ile = o((t) => { + let e, r, n; + return ( + Tr === 'BT' + ? ((r = o((i, a) => i <= a, 'comparisonFunc')), (n = 1 / 0)) + : ((r = o((i, a) => i >= a, 'comparisonFunc')), (n = 0)), + t.forEach((i) => { + let a = Tr === 'TB' || Tr == 'BT' ? Os.get(i)?.y : Os.get(i)?.x; + a !== void 0 && r(a, n) && ((e = i), (n = a)); + }), + e + ); + }, 'findClosestParent')), + (fBe = o((t) => { + let e = '', + r = 1 / 0; + return ( + t.forEach((n) => { + let i = Os.get(n).y; + i <= r && ((e = n), (r = i)); + }), + e || void 0 + ); + }, 'findClosestParentBT')), + (dBe = o((t, e, r) => { + let n = r, + i = r, + a = []; + t.forEach((s) => { + let l = e.get(s); + if (!l) throw new Error(`Commit not found for key ${s}`); + l.parents.length ? ((n = mBe(l)), (i = Math.max(n, i))) : a.push(l), gBe(l, n); + }), + (n = i), + a.forEach((s) => { + yBe(s, n, r); + }), + t.forEach((s) => { + let l = e.get(s); + if (l?.parents.length) { + let u = fBe(l.parents); + (n = Os.get(u).y - df), n <= i && (i = n); + let h = Is.get(l.branch).pos, + f = n - ff; + Os.set(l.id, { x: h, y: f }); + } + }); + }, 'setParallelBTPos')), + (pBe = o((t) => { + let e = Ile(t.parents.filter((n) => n !== null)); + if (!e) throw new Error(`Closest parent not found for commit ${t.id}`); + let r = Os.get(e)?.y; + if (r === void 0) throw new Error(`Closest parent position not found for commit ${t.id}`); + return r; + }, 'findClosestParentPos')), + (mBe = o((t) => pBe(t) + df, 'calculateCommitPosition')), + (gBe = o((t, e) => { + let r = Is.get(t.branch); + if (!r) throw new Error(`Branch not found for commit ${t.id}`); + let n = r.pos, + i = e + ff; + return Os.set(t.id, { x: n, y: i }), { x: n, y: i }; + }, 'setCommitPosition')), + (yBe = o((t, e, r) => { + let n = Is.get(t.branch); + if (!n) throw new Error(`Branch not found for commit ${t.id}`); + let i = e + r, + a = n.pos; + Os.set(t.id, { x: a, y: i }); + }, 'setRootPosition')), + (vBe = o((t, e, r, n, i, a) => { + if (a === Hr.HIGHLIGHT) + t + .append('rect') + .attr('x', r.x - 10) + .attr('y', r.y - 10) + .attr('width', 20) + .attr('height', 20) + .attr('class', `commit ${e.id} commit-highlight${i % E0} ${n}-outer`), + t + .append('rect') + .attr('x', r.x - 6) + .attr('y', r.y - 6) + .attr('width', 12) + .attr('height', 12) + .attr('class', `commit ${e.id} commit${i % E0} ${n}-inner`); + else if (a === Hr.CHERRY_PICK) + t + .append('circle') + .attr('cx', r.x) + .attr('cy', r.y) + .attr('r', 10) + .attr('class', `commit ${e.id} ${n}`), + t + .append('circle') + .attr('cx', r.x - 3) + .attr('cy', r.y + 2) + .attr('r', 2.75) + .attr('fill', '#fff') + .attr('class', `commit ${e.id} ${n}`), + t + .append('circle') + .attr('cx', r.x + 3) + .attr('cy', r.y + 2) + .attr('r', 2.75) + .attr('fill', '#fff') + .attr('class', `commit ${e.id} ${n}`), + t + .append('line') + .attr('x1', r.x + 3) + .attr('y1', r.y + 1) + .attr('x2', r.x) + .attr('y2', r.y - 5) + .attr('stroke', '#fff') + .attr('class', `commit ${e.id} ${n}`), + t + .append('line') + .attr('x1', r.x - 3) + .attr('y1', r.y + 1) + .attr('x2', r.x) + .attr('y2', r.y - 5) + .attr('stroke', '#fff') + .attr('class', `commit ${e.id} ${n}`); + else { + let s = t.append('circle'); + if ( + (s.attr('cx', r.x), + s.attr('cy', r.y), + s.attr('r', e.type === Hr.MERGE ? 9 : 10), + s.attr('class', `commit ${e.id} commit${i % E0}`), + a === Hr.MERGE) + ) { + let l = t.append('circle'); + l.attr('cx', r.x), + l.attr('cy', r.y), + l.attr('r', 6), + l.attr('class', `commit ${n} ${e.id} commit${i % E0}`); + } + a === Hr.REVERSE && + t + .append('path') + .attr( + 'd', + `M ${r.x - 5},${r.y - 5}L${r.x + 5},${r.y + 5}M${r.x - 5},${r.y + 5}L${r.x + 5},${ + r.y - 5 + }` + ) + .attr('class', `commit ${n} ${e.id} commit${i % E0}`); + } + }, 'drawCommitBullet')), + (xBe = o((t, e, r, n) => { + if ( + e.type !== Hr.CHERRY_PICK && + ((e.customId && e.type === Hr.MERGE) || e.type !== Hr.MERGE) && + Ko?.showCommitLabel + ) { + let i = t.append('g'), + a = i.insert('rect').attr('class', 'commit-label-bkg'), + s = i + .append('text') + .attr('x', n) + .attr('y', r.y + 25) + .attr('class', 'commit-label') + .text(e.id), + l = s.node()?.getBBox(); + if ( + l && + (a + .attr('x', r.posWithOffset - l.width / 2 - Hu) + .attr('y', r.y + 13.5) + .attr('width', l.width + 2 * Hu) + .attr('height', l.height + 2 * Hu), + Tr === 'TB' || Tr === 'BT' + ? (a.attr('x', r.x - (l.width + 4 * Oc + 5)).attr('y', r.y - 12), + s.attr('x', r.x - (l.width + 4 * Oc)).attr('y', r.y + l.height - 12)) + : s.attr('x', r.posWithOffset - l.width / 2), + Ko.rotateCommitLabel) + ) + if (Tr === 'TB' || Tr === 'BT') + s.attr('transform', 'rotate(-45, ' + r.x + ', ' + r.y + ')'), + a.attr('transform', 'rotate(-45, ' + r.x + ', ' + r.y + ')'); + else { + let u = -7.5 - ((l.width + 10) / 25) * 9.5, + h = 10 + (l.width / 25) * 8.5; + i.attr( + 'transform', + 'translate(' + u + ', ' + h + ') rotate(-45, ' + n + ', ' + r.y + ')' + ); + } + } + }, 'drawCommitLabel')), + (bBe = o((t, e, r, n) => { + if (e.tags.length > 0) { + let i = 0, + a = 0, + s = 0, + l = []; + for (let u of e.tags.reverse()) { + let h = t.insert('polygon'), + f = t.append('circle'), + d = t + .append('text') + .attr('y', r.y - 16 - i) + .attr('class', 'tag-label') + .text(u), + p = d.node()?.getBBox(); + if (!p) throw new Error('Tag bbox not found'); + (a = Math.max(a, p.width)), + (s = Math.max(s, p.height)), + d.attr('x', r.posWithOffset - p.width / 2), + l.push({ tag: d, hole: f, rect: h, yOffset: i }), + (i += 20); + } + for (let { tag: u, hole: h, rect: f, yOffset: d } of l) { + let p = s / 2, + m = r.y - 19.2 - d; + if ( + (f.attr('class', 'tag-label-bkg').attr( + 'points', + ` + ${n - a / 2 - Oc / 2},${m + Hu} + ${n - a / 2 - Oc / 2},${m - Hu} + ${r.posWithOffset - a / 2 - Oc},${m - p - Hu} + ${r.posWithOffset + a / 2 + Oc},${m - p - Hu} + ${r.posWithOffset + a / 2 + Oc},${m + p + Hu} + ${r.posWithOffset - a / 2 - Oc},${m + p + Hu}` + ), + h + .attr('cy', m) + .attr('cx', n - a / 2 + Oc / 2) + .attr('r', 1.5) + .attr('class', 'tag-hole'), + Tr === 'TB' || Tr === 'BT') + ) { + let g = n + d; + f + .attr('class', 'tag-label-bkg') + .attr( + 'points', + ` + ${r.x},${g + 2} + ${r.x},${g - 2} + ${r.x + ff},${g - p - 2} + ${r.x + ff + a + 4},${g - p - 2} + ${r.x + ff + a + 4},${g + p + 2} + ${r.x + ff},${g + p + 2}` + ) + .attr('transform', 'translate(12,12) rotate(45, ' + r.x + ',' + n + ')'), + h + .attr('cx', r.x + Oc / 2) + .attr('cy', g) + .attr('transform', 'translate(12,12) rotate(45, ' + r.x + ',' + n + ')'), + u + .attr('x', r.x + 5) + .attr('y', g + 3) + .attr('transform', 'translate(14,14) rotate(45, ' + r.x + ',' + n + ')'); + } + } + } + }, 'drawCommitTags')), + (wBe = o((t) => { + switch (t.customType ?? t.type) { + case Hr.NORMAL: + return 'commit-normal'; + case Hr.REVERSE: + return 'commit-reverse'; + case Hr.HIGHLIGHT: + return 'commit-highlight'; + case Hr.MERGE: + return 'commit-merge'; + case Hr.CHERRY_PICK: + return 'commit-cherry-pick'; + default: + return 'commit-normal'; + } + }, 'getCommitClassType')), + (TBe = o((t, e, r, n) => { + let i = { x: 0, y: 0 }; + if (t.parents.length > 0) { + let a = Ile(t.parents); + if (a) { + let s = n.get(a) ?? i; + return e === 'TB' ? s.y + df : e === 'BT' ? (n.get(t.id) ?? i).y - df : s.x + df; + } + } else return e === 'TB' ? tE : e === 'BT' ? (n.get(t.id) ?? i).y - df : 0; + return 0; + }, 'calculatePosition')), + (kBe = o((t, e, r) => { + let n = Tr === 'BT' && r ? e : e + ff, + i = Tr === 'TB' || Tr === 'BT' ? n : Is.get(t.branch)?.pos, + a = Tr === 'TB' || Tr === 'BT' ? Is.get(t.branch)?.pos : n; + if (a === void 0 || i === void 0) throw new Error(`Position were undefined for commit ${t.id}`); + return { x: a, y: i, posWithOffset: n }; + }, 'getCommitPosition')), + (Nle = o((t, e, r) => { + if (!Ko) throw new Error('GitGraph config not found'); + let n = t.append('g').attr('class', 'commit-bullets'), + i = t.append('g').attr('class', 'commit-labels'), + a = Tr === 'TB' || Tr === 'BT' ? tE : 0, + s = [...e.keys()], + l = Ko?.parallelCommits ?? !1, + u = o((f, d) => { + let p = e.get(f)?.seq, + m = e.get(d)?.seq; + return p !== void 0 && m !== void 0 ? p - m : 0; + }, 'sortKeys'), + h = s.sort(u); + Tr === 'BT' && (l && dBe(h, e, a), (h = h.reverse())), + h.forEach((f) => { + let d = e.get(f); + if (!d) throw new Error(`Commit not found for key ${f}`); + l && (a = TBe(d, Tr, a, Os)); + let p = kBe(d, a, l); + if (r) { + let m = wBe(d), + g = d.customType ?? d.type, + y = Is.get(d.branch)?.index ?? 0; + vBe(n, d, p, m, y, g), xBe(i, d, p, a), bBe(i, d, p, a); + } + Tr === 'TB' || Tr === 'BT' + ? Os.set(d.id, { x: p.x, y: p.posWithOffset }) + : Os.set(d.id, { x: p.posWithOffset, y: p.y }), + (a = Tr === 'BT' && l ? a + df : a + df + ff), + a > hf && (hf = a); + }); + }, 'drawCommits')), + (EBe = o((t, e, r, n, i) => { + let s = (Tr === 'TB' || Tr === 'BT' ? r.x < n.x : r.y < n.y) ? e.branch : t.branch, + l = o((h) => h.branch === s, 'isOnBranchToGetCurve'), + u = o((h) => h.seq > t.seq && h.seq < e.seq, 'isBetweenCommits'); + return [...i.values()].some((h) => u(h) && l(h)); + }, 'shouldRerouteArrow')), + (lx = o((t, e, r = 0) => { + let n = t + Math.abs(t - e) / 2; + if (r > 5) return n; + if (rE.every((s) => Math.abs(s - n) >= 10)) return rE.push(n), n; + let a = Math.abs(t - e); + return lx(t, e - a / 5, r + 1); + }, 'findLane')), + (CBe = o((t, e, r, n) => { + let i = Os.get(e.id), + a = Os.get(r.id); + if (i === void 0 || a === void 0) + throw new Error(`Commit positions not found for commits ${e.id} and ${r.id}`); + let s = EBe(e, r, i, a, n), + l = '', + u = '', + h = 0, + f = 0, + d = Is.get(r.branch)?.index; + r.type === Hr.MERGE && e.id !== r.parents[0] && (d = Is.get(e.branch)?.index); + let p; + if (s) { + (l = 'A 10 10, 0, 0, 0,'), (u = 'A 10 10, 0, 0, 1,'), (h = 10), (f = 10); + let m = i.y < a.y ? lx(i.y, a.y) : lx(a.y, i.y), + g = i.x < a.x ? lx(i.x, a.x) : lx(a.x, i.x); + Tr === 'TB' + ? i.x < a.x + ? (p = `M ${i.x} ${i.y} L ${g - h} ${i.y} ${u} ${g} ${i.y + f} L ${g} ${a.y - h} ${l} ${ + g + f + } ${a.y} L ${a.x} ${a.y}`) + : ((d = Is.get(e.branch)?.index), + (p = `M ${i.x} ${i.y} L ${g + h} ${i.y} ${l} ${g} ${i.y + f} L ${g} ${a.y - h} ${u} ${ + g - f + } ${a.y} L ${a.x} ${a.y}`)) + : Tr === 'BT' + ? i.x < a.x + ? (p = `M ${i.x} ${i.y} L ${g - h} ${i.y} ${l} ${g} ${i.y - f} L ${g} ${a.y + h} ${u} ${ + g + f + } ${a.y} L ${a.x} ${a.y}`) + : ((d = Is.get(e.branch)?.index), + (p = `M ${i.x} ${i.y} L ${g + h} ${i.y} ${u} ${g} ${i.y - f} L ${g} ${a.y + h} ${l} ${ + g - f + } ${a.y} L ${a.x} ${a.y}`)) + : i.y < a.y + ? (p = `M ${i.x} ${i.y} L ${i.x} ${m - h} ${l} ${i.x + f} ${m} L ${a.x - h} ${m} ${u} ${ + a.x + } ${m + f} L ${a.x} ${a.y}`) + : ((d = Is.get(e.branch)?.index), + (p = `M ${i.x} ${i.y} L ${i.x} ${m + h} ${u} ${i.x + f} ${m} L ${a.x - h} ${m} ${l} ${ + a.x + } ${m - f} L ${a.x} ${a.y}`)); + } else + (l = 'A 20 20, 0, 0, 0,'), + (u = 'A 20 20, 0, 0, 1,'), + (h = 20), + (f = 20), + Tr === 'TB' + ? (i.x < a.x && + (r.type === Hr.MERGE && e.id !== r.parents[0] + ? (p = `M ${i.x} ${i.y} L ${i.x} ${a.y - h} ${l} ${i.x + f} ${a.y} L ${a.x} ${ + a.y + }`) + : (p = `M ${i.x} ${i.y} L ${a.x - h} ${i.y} ${u} ${a.x} ${i.y + f} L ${a.x} ${ + a.y + }`)), + i.x > a.x && + ((l = 'A 20 20, 0, 0, 0,'), + (u = 'A 20 20, 0, 0, 1,'), + (h = 20), + (f = 20), + r.type === Hr.MERGE && e.id !== r.parents[0] + ? (p = `M ${i.x} ${i.y} L ${i.x} ${a.y - h} ${u} ${i.x - f} ${a.y} L ${a.x} ${ + a.y + }`) + : (p = `M ${i.x} ${i.y} L ${a.x + h} ${i.y} ${l} ${a.x} ${i.y + f} L ${a.x} ${ + a.y + }`)), + i.x === a.x && (p = `M ${i.x} ${i.y} L ${a.x} ${a.y}`)) + : Tr === 'BT' + ? (i.x < a.x && + (r.type === Hr.MERGE && e.id !== r.parents[0] + ? (p = `M ${i.x} ${i.y} L ${i.x} ${a.y + h} ${u} ${i.x + f} ${a.y} L ${a.x} ${ + a.y + }`) + : (p = `M ${i.x} ${i.y} L ${a.x - h} ${i.y} ${l} ${a.x} ${i.y - f} L ${a.x} ${ + a.y + }`)), + i.x > a.x && + ((l = 'A 20 20, 0, 0, 0,'), + (u = 'A 20 20, 0, 0, 1,'), + (h = 20), + (f = 20), + r.type === Hr.MERGE && e.id !== r.parents[0] + ? (p = `M ${i.x} ${i.y} L ${i.x} ${a.y + h} ${l} ${i.x - f} ${a.y} L ${a.x} ${ + a.y + }`) + : (p = `M ${i.x} ${i.y} L ${a.x - h} ${i.y} ${l} ${a.x} ${i.y - f} L ${a.x} ${ + a.y + }`)), + i.x === a.x && (p = `M ${i.x} ${i.y} L ${a.x} ${a.y}`)) + : (i.y < a.y && + (r.type === Hr.MERGE && e.id !== r.parents[0] + ? (p = `M ${i.x} ${i.y} L ${a.x - h} ${i.y} ${u} ${a.x} ${i.y + f} L ${a.x} ${ + a.y + }`) + : (p = `M ${i.x} ${i.y} L ${i.x} ${a.y - h} ${l} ${i.x + f} ${a.y} L ${a.x} ${ + a.y + }`)), + i.y > a.y && + (r.type === Hr.MERGE && e.id !== r.parents[0] + ? (p = `M ${i.x} ${i.y} L ${a.x - h} ${i.y} ${l} ${a.x} ${i.y - f} L ${a.x} ${ + a.y + }`) + : (p = `M ${i.x} ${i.y} L ${i.x} ${a.y + h} ${u} ${i.x + f} ${a.y} L ${a.x} ${ + a.y + }`)), + i.y === a.y && (p = `M ${i.x} ${i.y} L ${a.x} ${a.y}`)); + if (p === void 0) throw new Error('Line definition not found'); + t.append('path') + .attr('d', p) + .attr('class', 'arrow arrow' + (d % E0)); + }, 'drawArrow')), + (SBe = o((t, e) => { + let r = t.append('g').attr('class', 'commit-arrows'); + [...e.keys()].forEach((n) => { + let i = e.get(n); + i.parents && + i.parents.length > 0 && + i.parents.forEach((a) => { + CBe(r, e.get(a), i, e); + }); + }); + }, 'drawArrows')), + (ABe = o((t, e) => { + let r = t.append('g'); + e.forEach((n, i) => { + let a = i % E0, + s = Is.get(n.name)?.pos; + if (s === void 0) throw new Error(`Position not found for branch ${n.name}`); + let l = r.append('line'); + l.attr('x1', 0), + l.attr('y1', s), + l.attr('x2', hf), + l.attr('y2', s), + l.attr('class', 'branch branch' + a), + Tr === 'TB' + ? (l.attr('y1', tE), l.attr('x1', s), l.attr('y2', hf), l.attr('x2', s)) + : Tr === 'BT' && (l.attr('y1', hf), l.attr('x1', s), l.attr('y2', tE), l.attr('x2', s)), + rE.push(s); + let u = n.name, + h = Mle(u), + f = r.insert('rect'), + p = r + .insert('g') + .attr('class', 'branchLabel') + .insert('g') + .attr('class', 'label branch-label' + a); + p.node().appendChild(h); + let m = h.getBBox(); + f + .attr('class', 'branchLabelBkg label' + a) + .attr('rx', 4) + .attr('ry', 4) + .attr('x', -m.width - 4 - (Ko?.rotateCommitLabel === !0 ? 30 : 0)) + .attr('y', -m.height / 2 + 8) + .attr('width', m.width + 18) + .attr('height', m.height + 4), + p.attr( + 'transform', + 'translate(' + + (-m.width - 14 - (Ko?.rotateCommitLabel === !0 ? 30 : 0)) + + ', ' + + (s - m.height / 2 - 1) + + ')' + ), + Tr === 'TB' + ? (f.attr('x', s - m.width / 2 - 10).attr('y', 0), + p.attr('transform', 'translate(' + (s - m.width / 2 - 5) + ', 0)')) + : Tr === 'BT' + ? (f.attr('x', s - m.width / 2 - 10).attr('y', hf), + p.attr('transform', 'translate(' + (s - m.width / 2 - 5) + ', ' + hf + ')')) + : f.attr('transform', 'translate(-19, ' + (s - m.height / 2) + ')'); + }); + }, 'drawBranches')), + (_Be = o(function (t, e, r, n, i) { + return ( + Is.set(t, { pos: e, index: r }), + (e += 50 + (i ? 40 : 0) + (Tr === 'TB' || Tr === 'BT' ? n.width / 2 : 0)), + e + ); + }, 'setBranchPosition')), + (LBe = o(function (t, e, r, n) { + if ( + (hBe(), + V.debug( + 'in gitgraph renderer', + t + + ` +`, + 'id:', + e, + r + ), + !Ko) + ) + throw new Error('GitGraph config not found'); + let i = Ko.rotateCommitLabel ?? !1, + a = n.db; + ox = a.getCommits(); + let s = a.getBranchesAsObjArray(); + Tr = a.getDirection(); + let l = $e(`[id="${e}"]`), + u = 0; + s.forEach((h, f) => { + let d = Mle(h.name), + p = l.append('g'), + m = p.insert('g').attr('class', 'branchLabel'), + g = m.insert('g').attr('class', 'label branch-label'); + g.node()?.appendChild(d); + let y = d.getBBox(); + (u = _Be(h.name, u, f, y, i)), g.remove(), m.remove(), p.remove(); + }), + Nle(l, ox, !1), + Ko.showBranches && ABe(l, s), + SBe(l, ox), + Nle(l, ox, !0), + Lt.insertTitle(l, 'gitTitleText', Ko.titleTopMargin ?? 0, a.getDiagramTitle()), + aS(void 0, l, Ko.diagramPadding, Ko.useMaxWidth); + }, 'draw')), + (Ole = { draw: LBe }); + }); + var DBe, + Ble, + Fle = R(() => { + 'use strict'; + (DBe = o( + (t) => ` + .commit-id, + .commit-msg, + .branch-label { + fill: lightgrey; + color: lightgrey; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + } + ${[0, 1, 2, 3, 4, 5, 6, 7].map( + (e) => ` + .branch-label${e} { fill: ${t['gitBranchLabel' + e]}; } + .commit${e} { stroke: ${t['git' + e]}; fill: ${t['git' + e]}; } + .commit-highlight${e} { stroke: ${t['gitInv' + e]}; fill: ${t['gitInv' + e]}; } + .label${e} { fill: ${t['git' + e]}; } + .arrow${e} { stroke: ${t['git' + e]}; } + ` + ).join(` +`)} + + .branch { + stroke-width: 1; + stroke: ${t.lineColor}; + stroke-dasharray: 2; + } + .commit-label { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelColor};} + .commit-label-bkg { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelBackground}; opacity: 0.5; } + .tag-label { font-size: ${t.tagLabelFontSize}; fill: ${t.tagLabelColor};} + .tag-label-bkg { fill: ${t.tagLabelBackground}; stroke: ${t.tagLabelBorder}; } + .tag-hole { fill: ${t.textColor}; } + + .commit-merge { + stroke: ${t.primaryColor}; + fill: ${t.primaryColor}; + } + .commit-reverse { + stroke: ${t.primaryColor}; + fill: ${t.primaryColor}; + stroke-width: 3; + } + .commit-highlight-outer { + } + .commit-highlight-inner { + stroke: ${t.primaryColor}; + fill: ${t.primaryColor}; + } + + .arrow { stroke-width: 8; stroke-linecap: round; fill: none} + .gitTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; + } +`, + 'getStyles' + )), + (Ble = DBe); + }); + var zle = {}; + hr(zle, { diagram: () => RBe }); + var RBe, + Gle = R(() => { + 'use strict'; + Rle(); + EI(); + Ple(); + Fle(); + RBe = { parser: Dle, db: eE, renderer: Ole, styles: Ble }; + }); + var CI, + Ule, + Hle = R(() => { + 'use strict'; + CI = (function () { + var t = o(function (I, C, O, D) { + for (O = O || {}, D = I.length; D--; O[I[D]] = C); + return O; + }, 'o'), + e = [ + 6, 8, 10, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 33, 35, + 36, 38, 40 + ], + r = [1, 26], + n = [1, 27], + i = [1, 28], + a = [1, 29], + s = [1, 30], + l = [1, 31], + u = [1, 32], + h = [1, 33], + f = [1, 34], + d = [1, 9], + p = [1, 10], + m = [1, 11], + g = [1, 12], + y = [1, 13], + v = [1, 14], + x = [1, 15], + b = [1, 16], + w = [1, 19], + S = [1, 20], + T = [1, 21], + E = [1, 22], + _ = [1, 23], + A = [1, 25], + L = [1, 35], + M = { + trace: o(function () {}, 'trace'), + yy: {}, + symbols_: { + error: 2, + start: 3, + gantt: 4, + document: 5, + EOF: 6, + line: 7, + SPACE: 8, + statement: 9, + NL: 10, + weekday: 11, + weekday_monday: 12, + weekday_tuesday: 13, + weekday_wednesday: 14, + weekday_thursday: 15, + weekday_friday: 16, + weekday_saturday: 17, + weekday_sunday: 18, + weekend: 19, + weekend_friday: 20, + weekend_saturday: 21, + dateFormat: 22, + inclusiveEndDates: 23, + topAxis: 24, + axisFormat: 25, + tickInterval: 26, + excludes: 27, + includes: 28, + todayMarker: 29, + title: 30, + acc_title: 31, + acc_title_value: 32, + acc_descr: 33, + acc_descr_value: 34, + acc_descr_multiline_value: 35, + section: 36, + clickStatement: 37, + taskTxt: 38, + taskData: 39, + click: 40, + callbackname: 41, + callbackargs: 42, + href: 43, + clickStatementDebug: 44, + $accept: 0, + $end: 1 + }, + terminals_: { + 2: 'error', + 4: 'gantt', + 6: 'EOF', + 8: 'SPACE', + 10: 'NL', + 12: 'weekday_monday', + 13: 'weekday_tuesday', + 14: 'weekday_wednesday', + 15: 'weekday_thursday', + 16: 'weekday_friday', + 17: 'weekday_saturday', + 18: 'weekday_sunday', + 20: 'weekend_friday', + 21: 'weekend_saturday', + 22: 'dateFormat', + 23: 'inclusiveEndDates', + 24: 'topAxis', + 25: 'axisFormat', + 26: 'tickInterval', + 27: 'excludes', + 28: 'includes', + 29: 'todayMarker', + 30: 'title', + 31: 'acc_title', + 32: 'acc_title_value', + 33: 'acc_descr', + 34: 'acc_descr_value', + 35: 'acc_descr_multiline_value', + 36: 'section', + 38: 'taskTxt', + 39: 'taskData', + 40: 'click', + 41: 'callbackname', + 42: 'callbackargs', + 43: 'href' + }, + productions_: [ + 0, + [3, 3], + [5, 0], + [5, 2], + [7, 2], + [7, 1], + [7, 1], + [7, 1], + [11, 1], + [11, 1], + [11, 1], + [11, 1], + [11, 1], + [11, 1], + [11, 1], + [19, 1], + [19, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 2], + [9, 2], + [9, 1], + [9, 1], + [9, 1], + [9, 2], + [37, 2], + [37, 3], + [37, 3], + [37, 4], + [37, 3], + [37, 4], + [37, 2], + [44, 2], + [44, 3], + [44, 3], + [44, 4], + [44, 3], + [44, 4], + [44, 2] + ], + performAction: o(function (C, O, D, P, F, B, $) { + var z = B.length - 1; + switch (F) { + case 1: + return B[z - 1]; + case 2: + this.$ = []; + break; + case 3: + B[z - 1].push(B[z]), (this.$ = B[z - 1]); + break; + case 4: + case 5: + this.$ = B[z]; + break; + case 6: + case 7: + this.$ = []; + break; + case 8: + P.setWeekday('monday'); + break; + case 9: + P.setWeekday('tuesday'); + break; + case 10: + P.setWeekday('wednesday'); + break; + case 11: + P.setWeekday('thursday'); + break; + case 12: + P.setWeekday('friday'); + break; + case 13: + P.setWeekday('saturday'); + break; + case 14: + P.setWeekday('sunday'); + break; + case 15: + P.setWeekend('friday'); + break; + case 16: + P.setWeekend('saturday'); + break; + case 17: + P.setDateFormat(B[z].substr(11)), (this.$ = B[z].substr(11)); + break; + case 18: + P.enableInclusiveEndDates(), (this.$ = B[z].substr(18)); + break; + case 19: + P.TopAxis(), (this.$ = B[z].substr(8)); + break; + case 20: + P.setAxisFormat(B[z].substr(11)), (this.$ = B[z].substr(11)); + break; + case 21: + P.setTickInterval(B[z].substr(13)), (this.$ = B[z].substr(13)); + break; + case 22: + P.setExcludes(B[z].substr(9)), (this.$ = B[z].substr(9)); + break; + case 23: + P.setIncludes(B[z].substr(9)), (this.$ = B[z].substr(9)); + break; + case 24: + P.setTodayMarker(B[z].substr(12)), (this.$ = B[z].substr(12)); + break; + case 27: + P.setDiagramTitle(B[z].substr(6)), (this.$ = B[z].substr(6)); + break; + case 28: + (this.$ = B[z].trim()), P.setAccTitle(this.$); + break; + case 29: + case 30: + (this.$ = B[z].trim()), P.setAccDescription(this.$); + break; + case 31: + P.addSection(B[z].substr(8)), (this.$ = B[z].substr(8)); + break; + case 33: + P.addTask(B[z - 1], B[z]), (this.$ = 'task'); + break; + case 34: + (this.$ = B[z - 1]), P.setClickEvent(B[z - 1], B[z], null); + break; + case 35: + (this.$ = B[z - 2]), P.setClickEvent(B[z - 2], B[z - 1], B[z]); + break; + case 36: + (this.$ = B[z - 2]), + P.setClickEvent(B[z - 2], B[z - 1], null), + P.setLink(B[z - 2], B[z]); + break; + case 37: + (this.$ = B[z - 3]), + P.setClickEvent(B[z - 3], B[z - 2], B[z - 1]), + P.setLink(B[z - 3], B[z]); + break; + case 38: + (this.$ = B[z - 2]), + P.setClickEvent(B[z - 2], B[z], null), + P.setLink(B[z - 2], B[z - 1]); + break; + case 39: + (this.$ = B[z - 3]), + P.setClickEvent(B[z - 3], B[z - 1], B[z]), + P.setLink(B[z - 3], B[z - 2]); + break; + case 40: + (this.$ = B[z - 1]), P.setLink(B[z - 1], B[z]); + break; + case 41: + case 47: + this.$ = B[z - 1] + ' ' + B[z]; + break; + case 42: + case 43: + case 45: + this.$ = B[z - 2] + ' ' + B[z - 1] + ' ' + B[z]; + break; + case 44: + case 46: + this.$ = B[z - 3] + ' ' + B[z - 2] + ' ' + B[z - 1] + ' ' + B[z]; + break; + } + }, 'anonymous'), + table: [ + { 3: 1, 4: [1, 2] }, + { 1: [3] }, + t(e, [2, 2], { 5: 3 }), + { + 6: [1, 4], + 7: 5, + 8: [1, 6], + 9: 7, + 10: [1, 8], + 11: 17, + 12: r, + 13: n, + 14: i, + 15: a, + 16: s, + 17: l, + 18: u, + 19: 18, + 20: h, + 21: f, + 22: d, + 23: p, + 24: m, + 25: g, + 26: y, + 27: v, + 28: x, + 29: b, + 30: w, + 31: S, + 33: T, + 35: E, + 36: _, + 37: 24, + 38: A, + 40: L + }, + t(e, [2, 7], { 1: [2, 1] }), + t(e, [2, 3]), + { + 9: 36, + 11: 17, + 12: r, + 13: n, + 14: i, + 15: a, + 16: s, + 17: l, + 18: u, + 19: 18, + 20: h, + 21: f, + 22: d, + 23: p, + 24: m, + 25: g, + 26: y, + 27: v, + 28: x, + 29: b, + 30: w, + 31: S, + 33: T, + 35: E, + 36: _, + 37: 24, + 38: A, + 40: L + }, + t(e, [2, 5]), + t(e, [2, 6]), + t(e, [2, 17]), + t(e, [2, 18]), + t(e, [2, 19]), + t(e, [2, 20]), + t(e, [2, 21]), + t(e, [2, 22]), + t(e, [2, 23]), + t(e, [2, 24]), + t(e, [2, 25]), + t(e, [2, 26]), + t(e, [2, 27]), + { 32: [1, 37] }, + { 34: [1, 38] }, + t(e, [2, 30]), + t(e, [2, 31]), + t(e, [2, 32]), + { 39: [1, 39] }, + t(e, [2, 8]), + t(e, [2, 9]), + t(e, [2, 10]), + t(e, [2, 11]), + t(e, [2, 12]), + t(e, [2, 13]), + t(e, [2, 14]), + t(e, [2, 15]), + t(e, [2, 16]), + { 41: [1, 40], 43: [1, 41] }, + t(e, [2, 4]), + t(e, [2, 28]), + t(e, [2, 29]), + t(e, [2, 33]), + t(e, [2, 34], { 42: [1, 42], 43: [1, 43] }), + t(e, [2, 40], { 41: [1, 44] }), + t(e, [2, 35], { 43: [1, 45] }), + t(e, [2, 36]), + t(e, [2, 38], { 42: [1, 46] }), + t(e, [2, 37]), + t(e, [2, 39]) + ], + defaultActions: {}, + parseError: o(function (C, O) { + if (O.recoverable) this.trace(C); + else { + var D = new Error(C); + throw ((D.hash = O), D); + } + }, 'parseError'), + parse: o(function (C) { + var O = this, + D = [0], + P = [], + F = [null], + B = [], + $ = this.table, + z = '', + Y = 0, + Q = 0, + X = 0, + ie = 2, + j = 1, + J = B.slice.call(arguments, 1), + Z = Object.create(this.lexer), + H = { yy: {} }; + for (var q in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, q) && (H.yy[q] = this.yy[q]); + Z.setInput(C, H.yy), + (H.yy.lexer = Z), + (H.yy.parser = this), + typeof Z.yylloc > 'u' && (Z.yylloc = {}); + var K = Z.yylloc; + B.push(K); + var se = Z.options && Z.options.ranges; + typeof H.yy.parseError == 'function' + ? (this.parseError = H.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError); + function ce(ge) { + (D.length = D.length - 2 * ge), (F.length = F.length - ge), (B.length = B.length - ge); + } + o(ce, 'popStack'); + function ue() { + var ge; + return ( + (ge = P.pop() || Z.lex() || j), + typeof ge != 'number' && + (ge instanceof Array && ((P = ge), (ge = P.pop())), + (ge = O.symbols_[ge] || ge)), + ge + ); + } + o(ue, 'lex'); + for (var te, De, oe, ke, Ie, Se, Ue = {}, Pe, _e, me, W; ; ) { + if ( + ((oe = D[D.length - 1]), + this.defaultActions[oe] + ? (ke = this.defaultActions[oe]) + : ((te === null || typeof te > 'u') && (te = ue()), (ke = $[oe] && $[oe][te])), + typeof ke > 'u' || !ke.length || !ke[0]) + ) { + var fe = ''; + W = []; + for (Pe in $[oe]) + this.terminals_[Pe] && Pe > ie && W.push("'" + this.terminals_[Pe] + "'"); + Z.showPosition + ? (fe = + 'Parse error on line ' + + (Y + 1) + + `: +` + + Z.showPosition() + + ` +Expecting ` + + W.join(', ') + + ", got '" + + (this.terminals_[te] || te) + + "'") + : (fe = + 'Parse error on line ' + + (Y + 1) + + ': Unexpected ' + + (te == j ? 'end of input' : "'" + (this.terminals_[te] || te) + "'")), + this.parseError(fe, { + text: Z.match, + token: this.terminals_[te] || te, + line: Z.yylineno, + loc: K, + expected: W + }); + } + if (ke[0] instanceof Array && ke.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + oe + ', token: ' + te + ); + switch (ke[0]) { + case 1: + D.push(te), + F.push(Z.yytext), + B.push(Z.yylloc), + D.push(ke[1]), + (te = null), + De + ? ((te = De), (De = null)) + : ((Q = Z.yyleng), + (z = Z.yytext), + (Y = Z.yylineno), + (K = Z.yylloc), + X > 0 && X--); + break; + case 2: + if ( + ((_e = this.productions_[ke[1]][1]), + (Ue.$ = F[F.length - _e]), + (Ue._$ = { + first_line: B[B.length - (_e || 1)].first_line, + last_line: B[B.length - 1].last_line, + first_column: B[B.length - (_e || 1)].first_column, + last_column: B[B.length - 1].last_column + }), + se && + (Ue._$.range = [ + B[B.length - (_e || 1)].range[0], + B[B.length - 1].range[1] + ]), + (Se = this.performAction.apply(Ue, [z, Q, Y, H.yy, ke[1], F, B].concat(J))), + typeof Se < 'u') + ) + return Se; + _e && + ((D = D.slice(0, -1 * _e * 2)), + (F = F.slice(0, -1 * _e)), + (B = B.slice(0, -1 * _e))), + D.push(this.productions_[ke[1]][0]), + F.push(Ue.$), + B.push(Ue._$), + (me = $[D[D.length - 2]][D[D.length - 1]]), + D.push(me); + break; + case 3: + return !0; + } + } + return !0; + }, 'parse') + }, + N = (function () { + var I = { + EOF: 1, + parseError: o(function (O, D) { + if (this.yy.parser) this.yy.parser.parseError(O, D); + else throw new Error(O); + }, 'parseError'), + setInput: o(function (C, O) { + return ( + (this.yy = O || this.yy || {}), + (this._input = C), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, 'setInput'), + input: o(function () { + var C = this._input[0]; + (this.yytext += C), + this.yyleng++, + this.offset++, + (this.match += C), + (this.matched += C); + var O = C.match(/(?:\r\n?|\n).*/g); + return ( + O ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + C + ); + }, 'input'), + unput: o(function (C) { + var O = C.length, + D = C.split(/(?:\r\n?|\n)/g); + (this._input = C + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - O)), + (this.offset -= O); + var P = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + D.length - 1 && (this.yylineno -= D.length - 1); + var F = this.yylloc.range; + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: D + ? (D.length === P.length ? this.yylloc.first_column : 0) + + P[P.length - D.length].length - + D[0].length + : this.yylloc.first_column - O + }), + this.options.ranges && (this.yylloc.range = [F[0], F[0] + this.yyleng - O]), + (this.yyleng = this.yytext.length), + this + ); + }, 'unput'), + more: o(function () { + return (this._more = !0), this; + }, 'more'), + reject: o(function () { + if (this.options.backtrack_lexer) this._backtrack = !0; + else + return this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + return this; + }, 'reject'), + less: o(function (C) { + this.unput(this.match.slice(C)); + }, 'less'), + pastInput: o(function () { + var C = this.matched.substr(0, this.matched.length - this.match.length); + return (C.length > 20 ? '...' : '') + C.substr(-20).replace(/\n/g, ''); + }, 'pastInput'), + upcomingInput: o(function () { + var C = this.match; + return ( + C.length < 20 && (C += this._input.substr(0, 20 - C.length)), + (C.substr(0, 20) + (C.length > 20 ? '...' : '')).replace(/\n/g, '') + ); + }, 'upcomingInput'), + showPosition: o(function () { + var C = this.pastInput(), + O = new Array(C.length + 1).join('-'); + return ( + C + + this.upcomingInput() + + ` +` + + O + + '^' + ); + }, 'showPosition'), + test_match: o(function (C, O) { + var D, P, F; + if ( + (this.options.backtrack_lexer && + ((F = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }), + this.options.ranges && (F.yylloc.range = this.yylloc.range.slice(0))), + (P = C[0].match(/(?:\r\n?|\n).*/g)), + P && (this.yylineno += P.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: P + ? P[P.length - 1].length - P[P.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + C[0].length + }), + (this.yytext += C[0]), + (this.match += C[0]), + (this.matches = C), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(C[0].length)), + (this.matched += C[0]), + (D = this.performAction.call( + this, + this.yy, + this, + O, + this.conditionStack[this.conditionStack.length - 1] + )), + this.done && this._input && (this.done = !1), + D) + ) + return D; + if (this._backtrack) { + for (var B in F) this[B] = F[B]; + return !1; + } + return !1; + }, 'test_match'), + next: o(function () { + if (this.done) return this.EOF; + this._input || (this.done = !0); + var C, O, D, P; + this._more || ((this.yytext = ''), (this.match = '')); + for (var F = this._currentRules(), B = 0; B < F.length; B++) + if ( + ((D = this._input.match(this.rules[F[B]])), + D && (!O || D[0].length > O[0].length)) + ) { + if (((O = D), (P = B), this.options.backtrack_lexer)) { + if (((C = this.test_match(D, F[B])), C !== !1)) return C; + if (this._backtrack) { + O = !1; + continue; + } else return !1; + } else if (!this.options.flex) break; + } + return O + ? ((C = this.test_match(O, F[P])), C !== !1 ? C : !1) + : this._input === '' + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, 'next'), + lex: o(function () { + var O = this.next(); + return O || this.lex(); + }, 'lex'), + begin: o(function (O) { + this.conditionStack.push(O); + }, 'begin'), + popState: o(function () { + var O = this.conditionStack.length - 1; + return O > 0 ? this.conditionStack.pop() : this.conditionStack[0]; + }, 'popState'), + _currentRules: o(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules; + }, '_currentRules'), + topState: o(function (O) { + return ( + (O = this.conditionStack.length - 1 - Math.abs(O || 0)), + O >= 0 ? this.conditionStack[O] : 'INITIAL' + ); + }, 'topState'), + pushState: o(function (O) { + this.begin(O); + }, 'pushState'), + stateStackSize: o(function () { + return this.conditionStack.length; + }, 'stateStackSize'), + options: { 'case-insensitive': !0 }, + performAction: o(function (O, D, P, F) { + var B = F; + switch (P) { + case 0: + return this.begin('open_directive'), 'open_directive'; + break; + case 1: + return this.begin('acc_title'), 31; + break; + case 2: + return this.popState(), 'acc_title_value'; + break; + case 3: + return this.begin('acc_descr'), 33; + break; + case 4: + return this.popState(), 'acc_descr_value'; + break; + case 5: + this.begin('acc_descr_multiline'); + break; + case 6: + this.popState(); + break; + case 7: + return 'acc_descr_multiline_value'; + case 8: + break; + case 9: + break; + case 10: + break; + case 11: + return 10; + case 12: + break; + case 13: + break; + case 14: + this.begin('href'); + break; + case 15: + this.popState(); + break; + case 16: + return 43; + case 17: + this.begin('callbackname'); + break; + case 18: + this.popState(); + break; + case 19: + this.popState(), this.begin('callbackargs'); + break; + case 20: + return 41; + case 21: + this.popState(); + break; + case 22: + return 42; + case 23: + this.begin('click'); + break; + case 24: + this.popState(); + break; + case 25: + return 40; + case 26: + return 4; + case 27: + return 22; + case 28: + return 23; + case 29: + return 24; + case 30: + return 25; + case 31: + return 26; + case 32: + return 28; + case 33: + return 27; + case 34: + return 29; + case 35: + return 12; + case 36: + return 13; + case 37: + return 14; + case 38: + return 15; + case 39: + return 16; + case 40: + return 17; + case 41: + return 18; + case 42: + return 20; + case 43: + return 21; + case 44: + return 'date'; + case 45: + return 30; + case 46: + return 'accDescription'; + case 47: + return 36; + case 48: + return 38; + case 49: + return 39; + case 50: + return ':'; + case 51: + return 6; + case 52: + return 'INVALID'; + } + }, 'anonymous'), + rules: [ + /^(?:%%\{)/i, + /^(?:accTitle\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*\{\s*)/i, + /^(?:[\}])/i, + /^(?:[^\}]*)/i, + /^(?:%%(?!\{)*[^\n]*)/i, + /^(?:[^\}]%%*[^\n]*)/i, + /^(?:%%*[^\n]*[\n]*)/i, + /^(?:[\n]+)/i, + /^(?:\s+)/i, + /^(?:%[^\n]*)/i, + /^(?:href[\s]+["])/i, + /^(?:["])/i, + /^(?:[^"]*)/i, + /^(?:call[\s]+)/i, + /^(?:\([\s]*\))/i, + /^(?:\()/i, + /^(?:[^(]*)/i, + /^(?:\))/i, + /^(?:[^)]*)/i, + /^(?:click[\s]+)/i, + /^(?:[\s\n])/i, + /^(?:[^\s\n]*)/i, + /^(?:gantt\b)/i, + /^(?:dateFormat\s[^#\n;]+)/i, + /^(?:inclusiveEndDates\b)/i, + /^(?:topAxis\b)/i, + /^(?:axisFormat\s[^#\n;]+)/i, + /^(?:tickInterval\s[^#\n;]+)/i, + /^(?:includes\s[^#\n;]+)/i, + /^(?:excludes\s[^#\n;]+)/i, + /^(?:todayMarker\s[^\n;]+)/i, + /^(?:weekday\s+monday\b)/i, + /^(?:weekday\s+tuesday\b)/i, + /^(?:weekday\s+wednesday\b)/i, + /^(?:weekday\s+thursday\b)/i, + /^(?:weekday\s+friday\b)/i, + /^(?:weekday\s+saturday\b)/i, + /^(?:weekday\s+sunday\b)/i, + /^(?:weekend\s+friday\b)/i, + /^(?:weekend\s+saturday\b)/i, + /^(?:\d\d\d\d-\d\d-\d\d\b)/i, + /^(?:title\s[^\n]+)/i, + /^(?:accDescription\s[^#\n;]+)/i, + /^(?:section\s[^\n]+)/i, + /^(?:[^:\n]+)/i, + /^(?::[^#\n;]+)/i, + /^(?::)/i, + /^(?:$)/i, + /^(?:.)/i + ], + conditions: { + acc_descr_multiline: { rules: [6, 7], inclusive: !1 }, + acc_descr: { rules: [4], inclusive: !1 }, + acc_title: { rules: [2], inclusive: !1 }, + callbackargs: { rules: [21, 22], inclusive: !1 }, + callbackname: { rules: [18, 19, 20], inclusive: !1 }, + href: { rules: [15, 16], inclusive: !1 }, + click: { rules: [24, 25], inclusive: !1 }, + INITIAL: { + rules: [ + 0, 1, 3, 5, 8, 9, 10, 11, 12, 13, 14, 17, 23, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52 + ], + inclusive: !0 + } + } + }; + return I; + })(); + M.lexer = N; + function k() { + this.yy = {}; + } + return o(k, 'Parser'), (k.prototype = M), (M.Parser = k), new k(); + })(); + CI.parser = CI; + Ule = CI; + }); + var Yle = gi((SI, AI) => { + 'use strict'; + (function (t, e) { + typeof SI == 'object' && typeof AI < 'u' + ? (AI.exports = e()) + : typeof define == 'function' && define.amd + ? define(e) + : ((t = typeof globalThis < 'u' ? globalThis : t || self).dayjs_plugin_isoWeek = e()); + })(SI, function () { + 'use strict'; + var t = 'day'; + return function (e, r, n) { + var i = o(function (l) { + return l.add(4 - l.isoWeekday(), t); + }, 'a'), + a = r.prototype; + (a.isoWeekYear = function () { + return i(this).year(); + }), + (a.isoWeek = function (l) { + if (!this.$utils().u(l)) return this.add(7 * (l - this.isoWeek()), t); + var u, + h, + f, + d, + p = i(this), + m = + ((u = this.isoWeekYear()), + (h = this.$u), + (f = (h ? n.utc : n)().year(u).startOf('year')), + (d = 4 - f.isoWeekday()), + f.isoWeekday() > 4 && (d += 7), + f.add(d, t)); + return p.diff(m, 'week') + 1; + }), + (a.isoWeekday = function (l) { + return this.$utils().u(l) ? this.day() || 7 : this.day(this.day() % 7 ? l : l - 7); + }); + var s = a.startOf; + a.startOf = function (l, u) { + var h = this.$utils(), + f = !!h.u(u) || u; + return h.p(l) === 'isoweek' + ? f + ? this.date(this.date() - (this.isoWeekday() - 1)).startOf('day') + : this.date(this.date() - 1 - (this.isoWeekday() - 1) + 7).endOf('day') + : s.bind(this)(l, u); + }; + }; + }); + }); + var Wle = gi((_I, LI) => { + 'use strict'; + (function (t, e) { + typeof _I == 'object' && typeof LI < 'u' + ? (LI.exports = e()) + : typeof define == 'function' && define.amd + ? define(e) + : ((t = typeof globalThis < 'u' ? globalThis : t || self).dayjs_plugin_customParseFormat = e()); + })(_I, function () { + 'use strict'; + var t = { + LTS: 'h:mm:ss A', + LT: 'h:mm A', + L: 'MM/DD/YYYY', + LL: 'MMMM D, YYYY', + LLL: 'MMMM D, YYYY h:mm A', + LLLL: 'dddd, MMMM D, YYYY h:mm A' + }, + e = /(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g, + r = /\d/, + n = /\d\d/, + i = /\d\d?/, + a = /\d*[^-_:/,()\s\d]+/, + s = {}, + l = o(function (g) { + return (g = +g) + (g > 68 ? 1900 : 2e3); + }, 'a'), + u = o(function (g) { + return function (y) { + this[g] = +y; + }; + }, 'f'), + h = [ + /[+-]\d\d:?(\d\d)?|Z/, + function (g) { + (this.zone || (this.zone = {})).offset = (function (y) { + if (!y || y === 'Z') return 0; + var v = y.match(/([+-]|\d\d)/g), + x = 60 * v[1] + (+v[2] || 0); + return x === 0 ? 0 : v[0] === '+' ? -x : x; + })(g); + } + ], + f = o(function (g) { + var y = s[g]; + return y && (y.indexOf ? y : y.s.concat(y.f)); + }, 'u'), + d = o(function (g, y) { + var v, + x = s.meridiem; + if (x) { + for (var b = 1; b <= 24; b += 1) + if (g.indexOf(x(b, 0, y)) > -1) { + v = b > 12; + break; + } + } else v = g === (y ? 'pm' : 'PM'); + return v; + }, 'd'), + p = { + A: [ + a, + function (g) { + this.afternoon = d(g, !1); + } + ], + a: [ + a, + function (g) { + this.afternoon = d(g, !0); + } + ], + Q: [ + r, + function (g) { + this.month = 3 * (g - 1) + 1; + } + ], + S: [ + r, + function (g) { + this.milliseconds = 100 * +g; + } + ], + SS: [ + n, + function (g) { + this.milliseconds = 10 * +g; + } + ], + SSS: [ + /\d{3}/, + function (g) { + this.milliseconds = +g; + } + ], + s: [i, u('seconds')], + ss: [i, u('seconds')], + m: [i, u('minutes')], + mm: [i, u('minutes')], + H: [i, u('hours')], + h: [i, u('hours')], + HH: [i, u('hours')], + hh: [i, u('hours')], + D: [i, u('day')], + DD: [n, u('day')], + Do: [ + a, + function (g) { + var y = s.ordinal, + v = g.match(/\d+/); + if (((this.day = v[0]), y)) + for (var x = 1; x <= 31; x += 1) y(x).replace(/\[|\]/g, '') === g && (this.day = x); + } + ], + w: [i, u('week')], + ww: [n, u('week')], + M: [i, u('month')], + MM: [n, u('month')], + MMM: [ + a, + function (g) { + var y = f('months'), + v = + ( + f('monthsShort') || + y.map(function (x) { + return x.slice(0, 3); + }) + ).indexOf(g) + 1; + if (v < 1) throw new Error(); + this.month = v % 12 || v; + } + ], + MMMM: [ + a, + function (g) { + var y = f('months').indexOf(g) + 1; + if (y < 1) throw new Error(); + this.month = y % 12 || y; + } + ], + Y: [/[+-]?\d+/, u('year')], + YY: [ + n, + function (g) { + this.year = l(g); + } + ], + YYYY: [/\d{4}/, u('year')], + Z: h, + ZZ: h + }; + function m(g) { + var y, v; + (y = g), (v = s && s.formats); + for ( + var x = (g = y.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g, function (A, L, M) { + var N = M && M.toUpperCase(); + return ( + L || + v[M] || + t[M] || + v[N].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g, function (k, I, C) { + return I || C.slice(1); + }) + ); + })).match(e), + b = x.length, + w = 0; + w < b; + w += 1 + ) { + var S = x[w], + T = p[S], + E = T && T[0], + _ = T && T[1]; + x[w] = _ ? { regex: E, parser: _ } : S.replace(/^\[|\]$/g, ''); + } + return function (A) { + for (var L = {}, M = 0, N = 0; M < b; M += 1) { + var k = x[M]; + if (typeof k == 'string') N += k.length; + else { + var I = k.regex, + C = k.parser, + O = A.slice(N), + D = I.exec(O)[0]; + C.call(L, D), (A = A.replace(D, '')); + } + } + return ( + (function (P) { + var F = P.afternoon; + if (F !== void 0) { + var B = P.hours; + F ? B < 12 && (P.hours += 12) : B === 12 && (P.hours = 0), delete P.afternoon; + } + })(L), + L + ); + }; + } + return ( + o(m, 'l'), + function (g, y, v) { + (v.p.customParseFormat = !0), g && g.parseTwoDigitYear && (l = g.parseTwoDigitYear); + var x = y.prototype, + b = x.parse; + x.parse = function (w) { + var S = w.date, + T = w.utc, + E = w.args; + this.$u = T; + var _ = E[1]; + if (typeof _ == 'string') { + var A = E[2] === !0, + L = E[3] === !0, + M = A || L, + N = E[2]; + L && (N = E[2]), + (s = this.$locale()), + !A && N && (s = v.Ls[N]), + (this.$d = (function (O, D, P, F) { + try { + if (['x', 'X'].indexOf(D) > -1) return new Date((D === 'X' ? 1e3 : 1) * O); + var B = m(D)(O), + $ = B.year, + z = B.month, + Y = B.day, + Q = B.hours, + X = B.minutes, + ie = B.seconds, + j = B.milliseconds, + J = B.zone, + Z = B.week, + H = new Date(), + q = Y || ($ || z ? 1 : H.getDate()), + K = $ || H.getFullYear(), + se = 0; + ($ && !z) || (se = z > 0 ? z - 1 : H.getMonth()); + var ce, + ue = Q || 0, + te = X || 0, + De = ie || 0, + oe = j || 0; + return J + ? new Date(Date.UTC(K, se, q, ue, te, De, oe + 60 * J.offset * 1e3)) + : P + ? new Date(Date.UTC(K, se, q, ue, te, De, oe)) + : ((ce = new Date(K, se, q, ue, te, De, oe)), + Z && (ce = F(ce).week(Z).toDate()), + ce); + } catch { + return new Date(''); + } + })(S, _, T, v)), + this.init(), + N && N !== !0 && (this.$L = this.locale(N).$L), + M && S != this.format(_) && (this.$d = new Date('')), + (s = {}); + } else if (_ instanceof Array) + for (var k = _.length, I = 1; I <= k; I += 1) { + E[1] = _[I - 1]; + var C = v.apply(this, E); + if (C.isValid()) { + (this.$d = C.$d), (this.$L = C.$L), this.init(); + break; + } + I === k && (this.$d = new Date('')); + } + else b.call(this, w); + }; + } + ); + }); + }); + var qle = gi((DI, RI) => { + 'use strict'; + (function (t, e) { + typeof DI == 'object' && typeof RI < 'u' + ? (RI.exports = e()) + : typeof define == 'function' && define.amd + ? define(e) + : ((t = typeof globalThis < 'u' ? globalThis : t || self).dayjs_plugin_advancedFormat = e()); + })(DI, function () { + 'use strict'; + return function (t, e) { + var r = e.prototype, + n = r.format; + r.format = function (i) { + var a = this, + s = this.$locale(); + if (!this.isValid()) return n.bind(this)(i); + var l = this.$utils(), + u = (i || 'YYYY-MM-DDTHH:mm:ssZ').replace( + /\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g, + function (h) { + switch (h) { + case 'Q': + return Math.ceil((a.$M + 1) / 3); + case 'Do': + return s.ordinal(a.$D); + case 'gggg': + return a.weekYear(); + case 'GGGG': + return a.isoWeekYear(); + case 'wo': + return s.ordinal(a.week(), 'W'); + case 'w': + case 'ww': + return l.s(a.week(), h === 'w' ? 1 : 2, '0'); + case 'W': + case 'WW': + return l.s(a.isoWeek(), h === 'W' ? 1 : 2, '0'); + case 'k': + case 'kk': + return l.s(String(a.$H === 0 ? 24 : a.$H), h === 'k' ? 1 : 2, '0'); + case 'X': + return Math.floor(a.$d.getTime() / 1e3); + case 'x': + return a.$d.getTime(); + case 'z': + return '[' + a.offsetName() + ']'; + case 'zzz': + return '[' + a.offsetName('long') + ']'; + default: + return h; + } + } + ); + return n.bind(this)(u); + }; + }; + }); + }); + function cce(t, e, r) { + let n = !0; + for (; n; ) + (n = !1), + r.forEach(function (i) { + let a = '^\\s*' + i + '\\s*$', + s = new RegExp(a); + t[0].match(s) && ((e[i] = !0), t.shift(1), (n = !0)); + }); + } + var Kle, + yo, + Qle, + Zle, + Jle, + Xle, + Pc, + OI, + PI, + BI, + cx, + ux, + FI, + zI, + aE, + Rg, + GI, + ece, + $I, + hx, + VI, + UI, + sE, + NI, + OBe, + PBe, + BBe, + FBe, + zBe, + GBe, + $Be, + VBe, + UBe, + HBe, + YBe, + WBe, + qBe, + XBe, + jBe, + KBe, + QBe, + ZBe, + JBe, + eFe, + tFe, + rFe, + nFe, + tce, + iFe, + aFe, + sFe, + rce, + oFe, + MI, + nce, + ice, + nE, + Dg, + lFe, + cFe, + II, + iE, + zi, + ace, + uFe, + C0, + hFe, + jle, + fFe, + sce, + dFe, + oce, + pFe, + mFe, + lce, + uce = R(() => { + 'use strict'; + (Kle = Xi(Up(), 1)), (yo = Xi(Nb(), 1)), (Qle = Xi(Yle(), 1)), (Zle = Xi(Wle(), 1)), (Jle = Xi(qle(), 1)); + ut(); + _t(); + xr(); + bi(); + yo.default.extend(Qle.default); + yo.default.extend(Zle.default); + yo.default.extend(Jle.default); + (Xle = { friday: 5, saturday: 6 }), + (Pc = ''), + (OI = ''), + (BI = ''), + (cx = []), + (ux = []), + (FI = new Map()), + (zI = []), + (aE = []), + (Rg = ''), + (GI = ''), + (ece = ['active', 'done', 'crit', 'milestone']), + ($I = []), + (hx = !1), + (VI = !1), + (UI = 'sunday'), + (sE = 'saturday'), + (NI = 0), + (OBe = o(function () { + (zI = []), + (aE = []), + (Rg = ''), + ($I = []), + (nE = 0), + (II = void 0), + (iE = void 0), + (zi = []), + (Pc = ''), + (OI = ''), + (GI = ''), + (PI = void 0), + (BI = ''), + (cx = []), + (ux = []), + (hx = !1), + (VI = !1), + (NI = 0), + (FI = new Map()), + vr(), + (UI = 'sunday'), + (sE = 'saturday'); + }, 'clear')), + (PBe = o(function (t) { + OI = t; + }, 'setAxisFormat')), + (BBe = o(function () { + return OI; + }, 'getAxisFormat')), + (FBe = o(function (t) { + PI = t; + }, 'setTickInterval')), + (zBe = o(function () { + return PI; + }, 'getTickInterval')), + (GBe = o(function (t) { + BI = t; + }, 'setTodayMarker')), + ($Be = o(function () { + return BI; + }, 'getTodayMarker')), + (VBe = o(function (t) { + Pc = t; + }, 'setDateFormat')), + (UBe = o(function () { + hx = !0; + }, 'enableInclusiveEndDates')), + (HBe = o(function () { + return hx; + }, 'endDatesAreInclusive')), + (YBe = o(function () { + VI = !0; + }, 'enableTopAxis')), + (WBe = o(function () { + return VI; + }, 'topAxisEnabled')), + (qBe = o(function (t) { + GI = t; + }, 'setDisplayMode')), + (XBe = o(function () { + return GI; + }, 'getDisplayMode')), + (jBe = o(function () { + return Pc; + }, 'getDateFormat')), + (KBe = o(function (t) { + cx = t.toLowerCase().split(/[\s,]+/); + }, 'setIncludes')), + (QBe = o(function () { + return cx; + }, 'getIncludes')), + (ZBe = o(function (t) { + ux = t.toLowerCase().split(/[\s,]+/); + }, 'setExcludes')), + (JBe = o(function () { + return ux; + }, 'getExcludes')), + (eFe = o(function () { + return FI; + }, 'getLinks')), + (tFe = o(function (t) { + (Rg = t), zI.push(t); + }, 'addSection')), + (rFe = o(function () { + return zI; + }, 'getSections')), + (nFe = o(function () { + let t = jle(), + e = 10, + r = 0; + for (; !t && r < e; ) (t = jle()), r++; + return (aE = zi), aE; + }, 'getTasks')), + (tce = o(function (t, e, r, n) { + return n.includes(t.format(e.trim())) + ? !1 + : (r.includes('weekends') && (t.isoWeekday() === Xle[sE] || t.isoWeekday() === Xle[sE] + 1)) || + r.includes(t.format('dddd').toLowerCase()) + ? !0 + : r.includes(t.format(e.trim())); + }, 'isInvalidDate')), + (iFe = o(function (t) { + UI = t; + }, 'setWeekday')), + (aFe = o(function () { + return UI; + }, 'getWeekday')), + (sFe = o(function (t) { + sE = t; + }, 'setWeekend')), + (rce = o(function (t, e, r, n) { + if (!r.length || t.manualEndTime) return; + let i; + t.startTime instanceof Date + ? (i = (0, yo.default)(t.startTime)) + : (i = (0, yo.default)(t.startTime, e, !0)), + (i = i.add(1, 'd')); + let a; + t.endTime instanceof Date + ? (a = (0, yo.default)(t.endTime)) + : (a = (0, yo.default)(t.endTime, e, !0)); + let [s, l] = oFe(i, a, e, r, n); + (t.endTime = s.toDate()), (t.renderEndTime = l); + }, 'checkTaskDates')), + (oFe = o(function (t, e, r, n, i) { + let a = !1, + s = null; + for (; t <= e; ) + a || (s = e.toDate()), (a = tce(t, r, n, i)), a && (e = e.add(1, 'd')), (t = t.add(1, 'd')); + return [e, s]; + }, 'fixTaskDates')), + (MI = o(function (t, e, r) { + r = r.trim(); + let i = /^after\s+(?[\d\w- ]+)/.exec(r); + if (i !== null) { + let s = null; + for (let u of i.groups.ids.split(' ')) { + let h = C0(u); + h !== void 0 && (!s || h.endTime > s.endTime) && (s = h); + } + if (s) return s.endTime; + let l = new Date(); + return l.setHours(0, 0, 0, 0), l; + } + let a = (0, yo.default)(r, e.trim(), !0); + if (a.isValid()) return a.toDate(); + { + V.debug('Invalid date:' + r), V.debug('With date format:' + e.trim()); + let s = new Date(r); + if (s === void 0 || isNaN(s.getTime()) || s.getFullYear() < -1e4 || s.getFullYear() > 1e4) + throw new Error('Invalid date:' + r); + return s; + } + }, 'getStartDate')), + (nce = o(function (t) { + let e = /^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim()); + return e !== null ? [Number.parseFloat(e[1]), e[2]] : [NaN, 'ms']; + }, 'parseDuration')), + (ice = o(function (t, e, r, n = !1) { + r = r.trim(); + let a = /^until\s+(?[\d\w- ]+)/.exec(r); + if (a !== null) { + let f = null; + for (let p of a.groups.ids.split(' ')) { + let m = C0(p); + m !== void 0 && (!f || m.startTime < f.startTime) && (f = m); + } + if (f) return f.startTime; + let d = new Date(); + return d.setHours(0, 0, 0, 0), d; + } + let s = (0, yo.default)(r, e.trim(), !0); + if (s.isValid()) return n && (s = s.add(1, 'd')), s.toDate(); + let l = (0, yo.default)(t), + [u, h] = nce(r); + if (!Number.isNaN(u)) { + let f = l.add(u, h); + f.isValid() && (l = f); + } + return l.toDate(); + }, 'getEndDate')), + (nE = 0), + (Dg = o(function (t) { + return t === void 0 ? ((nE = nE + 1), 'task' + nE) : t; + }, 'parseId')), + (lFe = o(function (t, e) { + let r; + e.substr(0, 1) === ':' ? (r = e.substr(1, e.length)) : (r = e); + let n = r.split(','), + i = {}; + cce(n, i, ece); + for (let s = 0; s < n.length; s++) n[s] = n[s].trim(); + let a = ''; + switch (n.length) { + case 1: + (i.id = Dg()), (i.startTime = t.endTime), (a = n[0]); + break; + case 2: + (i.id = Dg()), (i.startTime = MI(void 0, Pc, n[0])), (a = n[1]); + break; + case 3: + (i.id = Dg(n[0])), (i.startTime = MI(void 0, Pc, n[1])), (a = n[2]); + break; + default: + } + return ( + a && + ((i.endTime = ice(i.startTime, Pc, a, hx)), + (i.manualEndTime = (0, yo.default)(a, 'YYYY-MM-DD', !0).isValid()), + rce(i, Pc, ux, cx)), + i + ); + }, 'compileData')), + (cFe = o(function (t, e) { + let r; + e.substr(0, 1) === ':' ? (r = e.substr(1, e.length)) : (r = e); + let n = r.split(','), + i = {}; + cce(n, i, ece); + for (let a = 0; a < n.length; a++) n[a] = n[a].trim(); + switch (n.length) { + case 1: + (i.id = Dg()), (i.startTime = { type: 'prevTaskEnd', id: t }), (i.endTime = { data: n[0] }); + break; + case 2: + (i.id = Dg()), + (i.startTime = { type: 'getStartDate', startData: n[0] }), + (i.endTime = { data: n[1] }); + break; + case 3: + (i.id = Dg(n[0])), + (i.startTime = { type: 'getStartDate', startData: n[1] }), + (i.endTime = { data: n[2] }); + break; + default: + } + return i; + }, 'parseData')), + (zi = []), + (ace = {}), + (uFe = o(function (t, e) { + let r = { + section: Rg, + type: Rg, + processed: !1, + manualEndTime: !1, + renderEndTime: null, + raw: { data: e }, + task: t, + classes: [] + }, + n = cFe(iE, e); + (r.raw.startTime = n.startTime), + (r.raw.endTime = n.endTime), + (r.id = n.id), + (r.prevTaskId = iE), + (r.active = n.active), + (r.done = n.done), + (r.crit = n.crit), + (r.milestone = n.milestone), + (r.order = NI), + NI++; + let i = zi.push(r); + (iE = r.id), (ace[r.id] = i - 1); + }, 'addTask')), + (C0 = o(function (t) { + let e = ace[t]; + return zi[e]; + }, 'findTaskById')), + (hFe = o(function (t, e) { + let r = { + section: Rg, + type: Rg, + description: t, + task: t, + classes: [] + }, + n = lFe(II, e); + (r.startTime = n.startTime), + (r.endTime = n.endTime), + (r.id = n.id), + (r.active = n.active), + (r.done = n.done), + (r.crit = n.crit), + (r.milestone = n.milestone), + (II = r), + aE.push(r); + }, 'addTaskOrg')), + (jle = o(function () { + let t = o(function (r) { + let n = zi[r], + i = ''; + switch (zi[r].raw.startTime.type) { + case 'prevTaskEnd': { + let a = C0(n.prevTaskId); + n.startTime = a.endTime; + break; + } + case 'getStartDate': + (i = MI(void 0, Pc, zi[r].raw.startTime.startData)), i && (zi[r].startTime = i); + break; + } + return ( + zi[r].startTime && + ((zi[r].endTime = ice(zi[r].startTime, Pc, zi[r].raw.endTime.data, hx)), + zi[r].endTime && + ((zi[r].processed = !0), + (zi[r].manualEndTime = (0, yo.default)( + zi[r].raw.endTime.data, + 'YYYY-MM-DD', + !0 + ).isValid()), + rce(zi[r], Pc, ux, cx))), + zi[r].processed + ); + }, 'compileTask'), + e = !0; + for (let [r, n] of zi.entries()) t(r), (e = e && n.processed); + return e; + }, 'compileTasks')), + (fFe = o(function (t, e) { + let r = e; + de().securityLevel !== 'loose' && (r = (0, Kle.sanitizeUrl)(e)), + t.split(',').forEach(function (n) { + C0(n) !== void 0 && + (oce(n, () => { + window.open(r, '_self'); + }), + FI.set(n, r)); + }), + sce(t, 'clickable'); + }, 'setLink')), + (sce = o(function (t, e) { + t.split(',').forEach(function (r) { + let n = C0(r); + n !== void 0 && n.classes.push(e); + }); + }, 'setClass')), + (dFe = o(function (t, e, r) { + if (de().securityLevel !== 'loose' || e === void 0) return; + let n = []; + if (typeof r == 'string') { + n = r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/); + for (let a = 0; a < n.length; a++) { + let s = n[a].trim(); + s.startsWith('"') && s.endsWith('"') && (s = s.substr(1, s.length - 2)), (n[a] = s); + } + } + n.length === 0 && n.push(t), + C0(t) !== void 0 && + oce(t, () => { + Lt.runFunc(e, ...n); + }); + }, 'setClickFun')), + (oce = o(function (t, e) { + $I.push( + function () { + let r = document.querySelector(`[id="${t}"]`); + r !== null && + r.addEventListener('click', function () { + e(); + }); + }, + function () { + let r = document.querySelector(`[id="${t}-text"]`); + r !== null && + r.addEventListener('click', function () { + e(); + }); + } + ); + }, 'pushFun')), + (pFe = o(function (t, e, r) { + t.split(',').forEach(function (n) { + dFe(n, e, r); + }), + sce(t, 'clickable'); + }, 'setClickEvent')), + (mFe = o(function (t) { + $I.forEach(function (e) { + e(t); + }); + }, 'bindFunctions')), + (lce = { + getConfig: o(() => de().gantt, 'getConfig'), + clear: OBe, + setDateFormat: VBe, + getDateFormat: jBe, + enableInclusiveEndDates: UBe, + endDatesAreInclusive: HBe, + enableTopAxis: YBe, + topAxisEnabled: WBe, + setAxisFormat: PBe, + getAxisFormat: BBe, + setTickInterval: FBe, + getTickInterval: zBe, + setTodayMarker: GBe, + getTodayMarker: $Be, + setAccTitle: kr, + getAccTitle: Ar, + setDiagramTitle: nn, + getDiagramTitle: Xr, + setDisplayMode: qBe, + getDisplayMode: XBe, + setAccDescription: _r, + getAccDescription: Lr, + addSection: tFe, + getSections: rFe, + getTasks: nFe, + addTask: uFe, + findTaskById: C0, + addTaskOrg: hFe, + setIncludes: KBe, + getIncludes: QBe, + setExcludes: ZBe, + getExcludes: JBe, + setClickEvent: pFe, + setLink: fFe, + getLinks: eFe, + bindFunctions: mFe, + parseDuration: nce, + isInvalidDate: tce, + setWeekday: iFe, + getWeekday: aFe, + setWeekend: sFe + }); + o(cce, 'getTaskTags'); + }); + var oE, + gFe, + hce, + yFe, + Yu, + vFe, + fce, + dce = R(() => { + 'use strict'; + oE = Xi(Nb(), 1); + ut(); + Zt(); + rr(); + _t(); + Yn(); + (gFe = o(function () { + V.debug('Something is calling, setConf, remove the call'); + }, 'setConf')), + (hce = { + monday: _h, + tuesday: k3, + wednesday: E3, + thursday: cc, + friday: C3, + saturday: S3, + sunday: yl + }), + (yFe = o((t, e) => { + let r = [...t].map(() => -1 / 0), + n = [...t].sort((a, s) => a.startTime - s.startTime || a.order - s.order), + i = 0; + for (let a of n) + for (let s = 0; s < r.length; s++) + if (a.startTime >= r[s]) { + (r[s] = a.endTime), (a.order = s + e), s > i && (i = s); + break; + } + return i; + }, 'getMaxIntersections')), + (vFe = o(function (t, e, r, n) { + let i = de().gantt, + a = de().securityLevel, + s; + a === 'sandbox' && (s = $e('#i' + e)); + let l = a === 'sandbox' ? $e(s.nodes()[0].contentDocument.body) : $e('body'), + u = a === 'sandbox' ? s.nodes()[0].contentDocument : document, + h = u.getElementById(e); + (Yu = h.parentElement.offsetWidth), + Yu === void 0 && (Yu = 1200), + i.useWidth !== void 0 && (Yu = i.useWidth); + let f = n.db.getTasks(), + d = []; + for (let A of f) d.push(A.type); + d = _(d); + let p = {}, + m = 2 * i.topPadding; + if (n.db.getDisplayMode() === 'compact' || i.displayMode === 'compact') { + let A = {}; + for (let M of f) A[M.section] === void 0 ? (A[M.section] = [M]) : A[M.section].push(M); + let L = 0; + for (let M of Object.keys(A)) { + let N = yFe(A[M], L) + 1; + (L += N), (m += N * (i.barHeight + i.barGap)), (p[M] = N); + } + } else { + m += f.length * (i.barHeight + i.barGap); + for (let A of d) p[A] = f.filter((L) => L.type === A).length; + } + h.setAttribute('viewBox', '0 0 ' + Yu + ' ' + m); + let g = l.select(`[id="${e}"]`), + y = L3() + .domain([ + I4(f, function (A) { + return A.startTime; + }), + M4(f, function (A) { + return A.endTime; + }) + ]) + .rangeRound([0, Yu - i.leftPadding - i.rightPadding]); + function v(A, L) { + let M = A.startTime, + N = L.startTime, + k = 0; + return M > N ? (k = 1) : M < N && (k = -1), k; + } + o(v, 'taskCompare'), + f.sort(v), + x(f, Yu, m), + Sr(g, m, Yu, i.useMaxWidth), + g + .append('text') + .text(n.db.getDiagramTitle()) + .attr('x', Yu / 2) + .attr('y', i.titleTopMargin) + .attr('class', 'titleText'); + function x(A, L, M) { + let N = i.barHeight, + k = N + i.barGap, + I = i.topPadding, + C = i.leftPadding, + O = gl().domain([0, d.length]).range(['#00B9FA', '#F95002']).interpolate(BA); + w(k, I, C, L, M, A, n.db.getExcludes(), n.db.getIncludes()), + S(C, I, L, M), + b(A, k, I, C, N, O, L, M), + T(k, I, C, N, O), + E(C, I, L, M); + } + o(x, 'makeGantt'); + function b(A, L, M, N, k, I, C) { + let D = [...new Set(A.map(($) => $.order))].map(($) => A.find((z) => z.order === $)); + g.append('g') + .selectAll('rect') + .data(D) + .enter() + .append('rect') + .attr('x', 0) + .attr('y', function ($, z) { + return (z = $.order), z * L + M - 2; + }) + .attr('width', function () { + return C - i.rightPadding / 2; + }) + .attr('height', L) + .attr('class', function ($) { + for (let [z, Y] of d.entries()) + if ($.type === Y) return 'section section' + (z % i.numberSectionStyles); + return 'section section0'; + }); + let P = g.append('g').selectAll('rect').data(A).enter(), + F = n.db.getLinks(); + if ( + (P.append('rect') + .attr('id', function ($) { + return $.id; + }) + .attr('rx', 3) + .attr('ry', 3) + .attr('x', function ($) { + return $.milestone + ? y($.startTime) + N + 0.5 * (y($.endTime) - y($.startTime)) - 0.5 * k + : y($.startTime) + N; + }) + .attr('y', function ($, z) { + return (z = $.order), z * L + M; + }) + .attr('width', function ($) { + return $.milestone ? k : y($.renderEndTime || $.endTime) - y($.startTime); + }) + .attr('height', k) + .attr('transform-origin', function ($, z) { + return ( + (z = $.order), + (y($.startTime) + N + 0.5 * (y($.endTime) - y($.startTime))).toString() + + 'px ' + + (z * L + M + 0.5 * k).toString() + + 'px' + ); + }) + .attr('class', function ($) { + let z = 'task', + Y = ''; + $.classes.length > 0 && (Y = $.classes.join(' ')); + let Q = 0; + for (let [ie, j] of d.entries()) $.type === j && (Q = ie % i.numberSectionStyles); + let X = ''; + return ( + $.active + ? $.crit + ? (X += ' activeCrit') + : (X = ' active') + : $.done + ? $.crit + ? (X = ' doneCrit') + : (X = ' done') + : $.crit && (X += ' crit'), + X.length === 0 && (X = ' task'), + $.milestone && (X = ' milestone ' + X), + (X += Q), + (X += ' ' + Y), + z + X + ); + }), + P.append('text') + .attr('id', function ($) { + return $.id + '-text'; + }) + .text(function ($) { + return $.task; + }) + .attr('font-size', i.fontSize) + .attr('x', function ($) { + let z = y($.startTime), + Y = y($.renderEndTime || $.endTime); + $.milestone && (z += 0.5 * (y($.endTime) - y($.startTime)) - 0.5 * k), + $.milestone && (Y = z + k); + let Q = this.getBBox().width; + return Q > Y - z + ? Y + Q + 1.5 * i.leftPadding > C + ? z + N - 5 + : Y + N + 5 + : (Y - z) / 2 + z + N; + }) + .attr('y', function ($, z) { + return (z = $.order), z * L + i.barHeight / 2 + (i.fontSize / 2 - 2) + M; + }) + .attr('text-height', k) + .attr('class', function ($) { + let z = y($.startTime), + Y = y($.endTime); + $.milestone && (Y = z + k); + let Q = this.getBBox().width, + X = ''; + $.classes.length > 0 && (X = $.classes.join(' ')); + let ie = 0; + for (let [J, Z] of d.entries()) $.type === Z && (ie = J % i.numberSectionStyles); + let j = ''; + return ( + $.active && ($.crit ? (j = 'activeCritText' + ie) : (j = 'activeText' + ie)), + $.done + ? $.crit + ? (j = j + ' doneCritText' + ie) + : (j = j + ' doneText' + ie) + : $.crit && (j = j + ' critText' + ie), + $.milestone && (j += ' milestoneText'), + Q > Y - z + ? Y + Q + 1.5 * i.leftPadding > C + ? X + ' taskTextOutsideLeft taskTextOutside' + ie + ' ' + j + : X + + ' taskTextOutsideRight taskTextOutside' + + ie + + ' ' + + j + + ' width-' + + Q + : X + ' taskText taskText' + ie + ' ' + j + ' width-' + Q + ); + }), + de().securityLevel === 'sandbox') + ) { + let $; + $ = $e('#i' + e); + let z = $.nodes()[0].contentDocument; + P.filter(function (Y) { + return F.has(Y.id); + }).each(function (Y) { + var Q = z.querySelector('#' + Y.id), + X = z.querySelector('#' + Y.id + '-text'); + let ie = Q.parentNode; + var j = z.createElement('a'); + j.setAttribute('xlink:href', F.get(Y.id)), + j.setAttribute('target', '_top'), + ie.appendChild(j), + j.appendChild(Q), + j.appendChild(X); + }); + } + } + o(b, 'drawRects'); + function w(A, L, M, N, k, I, C, O) { + if (C.length === 0 && O.length === 0) return; + let D, P; + for (let { startTime: Q, endTime: X } of I) + (D === void 0 || Q < D) && (D = Q), (P === void 0 || X > P) && (P = X); + if (!D || !P) return; + if ((0, oE.default)(P).diff((0, oE.default)(D), 'year') > 5) { + V.warn( + 'The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.' + ); + return; + } + let F = n.db.getDateFormat(), + B = [], + $ = null, + z = (0, oE.default)(D); + for (; z.valueOf() <= P; ) + n.db.isInvalidDate(z, F, C, O) + ? $ + ? ($.end = z) + : ($ = { start: z, end: z }) + : $ && (B.push($), ($ = null)), + (z = z.add(1, 'd')); + g.append('g') + .selectAll('rect') + .data(B) + .enter() + .append('rect') + .attr('id', function (Q) { + return 'exclude-' + Q.start.format('YYYY-MM-DD'); + }) + .attr('x', function (Q) { + return y(Q.start) + M; + }) + .attr('y', i.gridLineStartPadding) + .attr('width', function (Q) { + let X = Q.end.add(1, 'day'); + return y(X) - y(Q.start); + }) + .attr('height', k - L - i.gridLineStartPadding) + .attr('transform-origin', function (Q, X) { + return ( + (y(Q.start) + M + 0.5 * (y(Q.end) - y(Q.start))).toString() + + 'px ' + + (X * A + 0.5 * k).toString() + + 'px' + ); + }) + .attr('class', 'exclude-range'); + } + o(w, 'drawExcludeDays'); + function S(A, L, M, N) { + let k = vS(y) + .tickSize(-N + L + i.gridLineStartPadding) + .tickFormat(md(n.db.getAxisFormat() || i.axisFormat || '%Y-%m-%d')), + C = /^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec( + n.db.getTickInterval() || i.tickInterval + ); + if (C !== null) { + let O = C[1], + D = C[2], + P = n.db.getWeekday() || i.weekday; + switch (D) { + case 'millisecond': + k.ticks(oc.every(O)); + break; + case 'second': + k.ticks(Ks.every(O)); + break; + case 'minute': + k.ticks(gu.every(O)); + break; + case 'hour': + k.ticks(yu.every(O)); + break; + case 'day': + k.ticks(Do.every(O)); + break; + case 'week': + k.ticks(hce[P].every(O)); + break; + case 'month': + k.ticks(vu.every(O)); + break; + } + } + if ( + (g + .append('g') + .attr('class', 'grid') + .attr('transform', 'translate(' + A + ', ' + (N - 50) + ')') + .call(k) + .selectAll('text') + .style('text-anchor', 'middle') + .attr('fill', '#000') + .attr('stroke', 'none') + .attr('font-size', 10) + .attr('dy', '1em'), + n.db.topAxisEnabled() || i.topAxis) + ) { + let O = yS(y) + .tickSize(-N + L + i.gridLineStartPadding) + .tickFormat(md(n.db.getAxisFormat() || i.axisFormat || '%Y-%m-%d')); + if (C !== null) { + let D = C[1], + P = C[2], + F = n.db.getWeekday() || i.weekday; + switch (P) { + case 'millisecond': + O.ticks(oc.every(D)); + break; + case 'second': + O.ticks(Ks.every(D)); + break; + case 'minute': + O.ticks(gu.every(D)); + break; + case 'hour': + O.ticks(yu.every(D)); + break; + case 'day': + O.ticks(Do.every(D)); + break; + case 'week': + O.ticks(hce[F].every(D)); + break; + case 'month': + O.ticks(vu.every(D)); + break; + } + } + g.append('g') + .attr('class', 'grid') + .attr('transform', 'translate(' + A + ', ' + L + ')') + .call(O) + .selectAll('text') + .style('text-anchor', 'middle') + .attr('fill', '#000') + .attr('stroke', 'none') + .attr('font-size', 10); + } + } + o(S, 'makeGrid'); + function T(A, L) { + let M = 0, + N = Object.keys(p).map((k) => [k, p[k]]); + g.append('g') + .selectAll('text') + .data(N) + .enter() + .append(function (k) { + let I = k[0].split(We.lineBreakRegex), + C = -(I.length - 1) / 2, + O = u.createElementNS('http://www.w3.org/2000/svg', 'text'); + O.setAttribute('dy', C + 'em'); + for (let [D, P] of I.entries()) { + let F = u.createElementNS('http://www.w3.org/2000/svg', 'tspan'); + F.setAttribute('alignment-baseline', 'central'), + F.setAttribute('x', '10'), + D > 0 && F.setAttribute('dy', '1em'), + (F.textContent = P), + O.appendChild(F); + } + return O; + }) + .attr('x', 10) + .attr('y', function (k, I) { + if (I > 0) + for (let C = 0; C < I; C++) return (M += N[I - 1][1]), (k[1] * A) / 2 + M * A + L; + else return (k[1] * A) / 2 + L; + }) + .attr('font-size', i.sectionFontSize) + .attr('class', function (k) { + for (let [I, C] of d.entries()) + if (k[0] === C) return 'sectionTitle sectionTitle' + (I % i.numberSectionStyles); + return 'sectionTitle'; + }); + } + o(T, 'vertLabels'); + function E(A, L, M, N) { + let k = n.db.getTodayMarker(); + if (k === 'off') return; + let I = g.append('g').attr('class', 'today'), + C = new Date(), + O = I.append('line'); + O.attr('x1', y(C) + A) + .attr('x2', y(C) + A) + .attr('y1', i.titleTopMargin) + .attr('y2', N - i.titleTopMargin) + .attr('class', 'today'), + k !== '' && O.attr('style', k.replace(/,/g, ';')); + } + o(E, 'drawToday'); + function _(A) { + let L = {}, + M = []; + for (let N = 0, k = A.length; N < k; ++N) + Object.prototype.hasOwnProperty.call(L, A[N]) || ((L[A[N]] = !0), M.push(A[N])); + return M; + } + o(_, 'checkUnique'); + }, 'draw')), + (fce = { setConf: gFe, draw: vFe }); + }); + var xFe, + pce, + mce = R(() => { + 'use strict'; + (xFe = o( + (t) => ` + .mermaid-main-font { + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + .exclude-range { + fill: ${t.excludeBkgColor}; + } + + .section { + stroke: none; + opacity: 0.2; + } + + .section0 { + fill: ${t.sectionBkgColor}; + } + + .section2 { + fill: ${t.sectionBkgColor2}; + } + + .section1, + .section3 { + fill: ${t.altSectionBkgColor}; + opacity: 0.2; + } + + .sectionTitle0 { + fill: ${t.titleColor}; + } + + .sectionTitle1 { + fill: ${t.titleColor}; + } + + .sectionTitle2 { + fill: ${t.titleColor}; + } + + .sectionTitle3 { + fill: ${t.titleColor}; + } + + .sectionTitle { + text-anchor: start; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + + /* Grid and axis */ + + .grid .tick { + stroke: ${t.gridColor}; + opacity: 0.8; + shape-rendering: crispEdges; + } + + .grid .tick text { + font-family: ${t.fontFamily}; + fill: ${t.textColor}; + } + + .grid path { + stroke-width: 0; + } + + + /* Today line */ + + .today { + fill: none; + stroke: ${t.todayLineColor}; + stroke-width: 2px; + } + + + /* Task styling */ + + /* Default task */ + + .task { + stroke-width: 2; + } + + .taskText { + text-anchor: middle; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + .taskTextOutsideRight { + fill: ${t.taskTextDarkColor}; + text-anchor: start; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + .taskTextOutsideLeft { + fill: ${t.taskTextDarkColor}; + text-anchor: end; + } + + + /* Special case clickable */ + + .task.clickable { + cursor: pointer; + } + + .taskText.clickable { + cursor: pointer; + fill: ${t.taskTextClickableColor} !important; + font-weight: bold; + } + + .taskTextOutsideLeft.clickable { + cursor: pointer; + fill: ${t.taskTextClickableColor} !important; + font-weight: bold; + } + + .taskTextOutsideRight.clickable { + cursor: pointer; + fill: ${t.taskTextClickableColor} !important; + font-weight: bold; + } + + + /* Specific task settings for the sections*/ + + .taskText0, + .taskText1, + .taskText2, + .taskText3 { + fill: ${t.taskTextColor}; + } + + .task0, + .task1, + .task2, + .task3 { + fill: ${t.taskBkgColor}; + stroke: ${t.taskBorderColor}; + } + + .taskTextOutside0, + .taskTextOutside2 + { + fill: ${t.taskTextOutsideColor}; + } + + .taskTextOutside1, + .taskTextOutside3 { + fill: ${t.taskTextOutsideColor}; + } + + + /* Active task */ + + .active0, + .active1, + .active2, + .active3 { + fill: ${t.activeTaskBkgColor}; + stroke: ${t.activeTaskBorderColor}; + } + + .activeText0, + .activeText1, + .activeText2, + .activeText3 { + fill: ${t.taskTextDarkColor} !important; + } + + + /* Completed task */ + + .done0, + .done1, + .done2, + .done3 { + stroke: ${t.doneTaskBorderColor}; + fill: ${t.doneTaskBkgColor}; + stroke-width: 2; + } + + .doneText0, + .doneText1, + .doneText2, + .doneText3 { + fill: ${t.taskTextDarkColor} !important; + } + + + /* Tasks on the critical line */ + + .crit0, + .crit1, + .crit2, + .crit3 { + stroke: ${t.critBorderColor}; + fill: ${t.critBkgColor}; + stroke-width: 2; + } + + .activeCrit0, + .activeCrit1, + .activeCrit2, + .activeCrit3 { + stroke: ${t.critBorderColor}; + fill: ${t.activeTaskBkgColor}; + stroke-width: 2; + } + + .doneCrit0, + .doneCrit1, + .doneCrit2, + .doneCrit3 { + stroke: ${t.critBorderColor}; + fill: ${t.doneTaskBkgColor}; + stroke-width: 2; + cursor: pointer; + shape-rendering: crispEdges; + } + + .milestone { + transform: rotate(45deg) scale(0.8,0.8); + } + + .milestoneText { + font-style: italic; + } + .doneCritText0, + .doneCritText1, + .doneCritText2, + .doneCritText3 { + fill: ${t.taskTextDarkColor} !important; + } + + .activeCritText0, + .activeCritText1, + .activeCritText2, + .activeCritText3 { + fill: ${t.taskTextDarkColor} !important; + } + + .titleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.titleColor || t.textColor}; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } +`, + 'getStyles' + )), + (pce = xFe); + }); + var gce = {}; + hr(gce, { diagram: () => bFe }); + var bFe, + yce = R(() => { + 'use strict'; + Hle(); + uce(); + dce(); + mce(); + bFe = { parser: Ule, db: lce, renderer: fce, styles: pce }; + }); + var bce, + wce = R(() => { + 'use strict'; + Lg(); + ut(); + bce = { + parse: o(async (t) => { + let e = await Fl('info', t); + V.debug(e); + }, 'parse') + }; + }); + var fx, + HI = R(() => { + fx = '11.2.0'; + }); + var CFe, + SFe, + Tce, + kce = R(() => { + 'use strict'; + HI(); + (CFe = { version: fx }), (SFe = o(() => CFe.version, 'getVersion')), (Tce = { getVersion: SFe }); + }); + var Ps, + pf = R(() => { + 'use strict'; + Zt(); + _t(); + Ps = o((t) => { + let { securityLevel: e } = de(), + r = $e('body'); + if (e === 'sandbox') { + let a = $e(`#i${t}`).node()?.contentDocument ?? document; + r = $e(a.body); + } + return r.select(`#${t}`); + }, 'selectSvgElement'); + }); + var AFe, + Ece, + Cce = R(() => { + 'use strict'; + ut(); + pf(); + Yn(); + (AFe = o((t, e, r) => { + V.debug( + `rendering info diagram +` + t + ); + let n = Ps(e); + Sr(n, 100, 400, !0), + n + .append('g') + .append('text') + .attr('x', 100) + .attr('y', 40) + .attr('class', 'version') + .attr('font-size', 32) + .style('text-anchor', 'middle') + .text(`v${r}`); + }, 'draw')), + (Ece = { draw: AFe }); + }); + var Sce = {}; + hr(Sce, { diagram: () => _Fe }); + var _Fe, + Ace = R(() => { + 'use strict'; + wce(); + kce(); + Cce(); + _Fe = { parser: bce, db: Tce, renderer: Ece }; + }); + var Dce, + YI, + lE, + WI, + RFe, + NFe, + MFe, + IFe, + OFe, + PFe, + BFe, + cE, + qI = R(() => { + 'use strict'; + ut(); + bi(); + sl(); + (Dce = mr.pie), + (YI = { sections: new Map(), showData: !1, config: Dce }), + (lE = YI.sections), + (WI = YI.showData), + (RFe = structuredClone(Dce)), + (NFe = o(() => structuredClone(RFe), 'getConfig')), + (MFe = o(() => { + (lE = new Map()), (WI = YI.showData), vr(); + }, 'clear')), + (IFe = o(({ label: t, value: e }) => { + lE.has(t) || (lE.set(t, e), V.debug(`added new section: ${t}, with value: ${e}`)); + }, 'addSection')), + (OFe = o(() => lE, 'getSections')), + (PFe = o((t) => { + WI = t; + }, 'setShowData')), + (BFe = o(() => WI, 'getShowData')), + (cE = { + getConfig: NFe, + clear: MFe, + setDiagramTitle: nn, + getDiagramTitle: Xr, + setAccTitle: kr, + getAccTitle: Ar, + setAccDescription: _r, + getAccDescription: Lr, + addSection: IFe, + getSections: OFe, + setShowData: PFe, + getShowData: BFe + }); + }); + var FFe, + Rce, + Nce = R(() => { + 'use strict'; + Lg(); + ut(); + sx(); + qI(); + (FFe = o((t, e) => { + cf(t, e), e.setShowData(t.showData), t.sections.map(e.addSection); + }, 'populateDb')), + (Rce = { + parse: o(async (t) => { + let e = await Fl('pie', t); + V.debug(e), FFe(e, cE); + }, 'parse') + }); + }); + var zFe, + Mce, + Ice = R(() => { + 'use strict'; + (zFe = o( + (t) => ` + .pieCircle{ + stroke: ${t.pieStrokeColor}; + stroke-width : ${t.pieStrokeWidth}; + opacity : ${t.pieOpacity}; + } + .pieOuterCircle{ + stroke: ${t.pieOuterStrokeColor}; + stroke-width: ${t.pieOuterStrokeWidth}; + fill: none; + } + .pieTitleText { + text-anchor: middle; + font-size: ${t.pieTitleTextSize}; + fill: ${t.pieTitleTextColor}; + font-family: ${t.fontFamily}; + } + .slice { + font-family: ${t.fontFamily}; + fill: ${t.pieSectionTextColor}; + font-size:${t.pieSectionTextSize}; + // fill: white; + } + .legend text { + fill: ${t.pieLegendTextColor}; + font-family: ${t.fontFamily}; + font-size: ${t.pieLegendTextSize}; + } +`, + 'getStyles' + )), + (Mce = zFe); + }); + var GFe, + $Fe, + Oce, + Pce = R(() => { + 'use strict'; + Zt(); + _t(); + ut(); + pf(); + Yn(); + xr(); + (GFe = o((t) => { + let e = [...t.entries()].map((n) => ({ label: n[0], value: n[1] })).sort((n, i) => i.value - n.value); + return O3().value((n) => n.value)(e); + }, 'createPieArcs')), + ($Fe = o((t, e, r, n) => { + V.debug( + `rendering pie chart +` + t + ); + let i = n.db, + a = de(), + s = Ts(i.getConfig(), a.pie), + l = 40, + u = 18, + h = 4, + f = 450, + d = f, + p = Ps(e), + m = p.append('g'); + m.attr('transform', 'translate(' + d / 2 + ',' + f / 2 + ')'); + let { themeVariables: g } = a, + [y] = mc(g.pieOuterStrokeWidth); + y ??= 2; + let v = s.textPosition, + x = Math.min(d, f) / 2 - l, + b = bl().innerRadius(0).outerRadius(x), + w = bl() + .innerRadius(x * v) + .outerRadius(x * v); + m.append('circle') + .attr('cx', 0) + .attr('cy', 0) + .attr('r', x + y / 2) + .attr('class', 'pieOuterCircle'); + let S = i.getSections(), + T = GFe(S), + E = [ + g.pie1, + g.pie2, + g.pie3, + g.pie4, + g.pie5, + g.pie6, + g.pie7, + g.pie8, + g.pie9, + g.pie10, + g.pie11, + g.pie12 + ], + _ = pu(E); + m.selectAll('mySlices') + .data(T) + .enter() + .append('path') + .attr('d', b) + .attr('fill', (k) => _(k.data.label)) + .attr('class', 'pieCircle'); + let A = 0; + S.forEach((k) => { + A += k; + }), + m + .selectAll('mySlices') + .data(T) + .enter() + .append('text') + .text((k) => ((k.data.value / A) * 100).toFixed(0) + '%') + .attr('transform', (k) => 'translate(' + w.centroid(k) + ')') + .style('text-anchor', 'middle') + .attr('class', 'slice'), + m + .append('text') + .text(i.getDiagramTitle()) + .attr('x', 0) + .attr('y', -(f - 50) / 2) + .attr('class', 'pieTitleText'); + let L = m + .selectAll('.legend') + .data(_.domain()) + .enter() + .append('g') + .attr('class', 'legend') + .attr('transform', (k, I) => { + let C = u + h, + O = (C * _.domain().length) / 2, + D = 12 * u, + P = I * C - O; + return 'translate(' + D + ',' + P + ')'; + }); + L.append('rect').attr('width', u).attr('height', u).style('fill', _).style('stroke', _), + L.data(T) + .append('text') + .attr('x', u + h) + .attr('y', u - h) + .text((k) => { + let { label: I, value: C } = k.data; + return i.getShowData() ? `${I} [${C}]` : I; + }); + let M = Math.max( + ...L.selectAll('text') + .nodes() + .map((k) => k?.getBoundingClientRect().width ?? 0) + ), + N = d + l + u + h + M; + p.attr('viewBox', `0 0 ${N} ${f}`), Sr(p, f, N, s.useMaxWidth); + }, 'draw')), + (Oce = { draw: $Fe }); + }); + var Bce = {}; + hr(Bce, { diagram: () => VFe }); + var VFe, + Fce = R(() => { + 'use strict'; + Nce(); + qI(); + Ice(); + Pce(); + VFe = { parser: Rce, db: cE, renderer: Oce, styles: Mce }; + }); + var XI, + $ce, + Vce = R(() => { + 'use strict'; + XI = (function () { + var t = o(function (we, Te, Ce, Ae) { + for (Ce = Ce || {}, Ae = we.length; Ae--; Ce[we[Ae]] = Te); + return Ce; + }, 'o'), + e = [1, 3], + r = [1, 4], + n = [1, 5], + i = [1, 6], + a = [1, 7], + s = [ + 1, 4, 5, 10, 12, 13, 14, 18, 25, 35, 37, 39, 41, 42, 48, 50, 51, 52, 53, 54, 55, 56, 57, 60, 61, + 63, 64, 65, 66, 67 + ], + l = [ + 1, 4, 5, 10, 12, 13, 14, 18, 25, 28, 35, 37, 39, 41, 42, 48, 50, 51, 52, 53, 54, 55, 56, 57, 60, + 61, 63, 64, 65, 66, 67 + ], + u = [55, 56, 57], + h = [2, 36], + f = [1, 37], + d = [1, 36], + p = [1, 38], + m = [1, 35], + g = [1, 43], + y = [1, 41], + v = [1, 14], + x = [1, 23], + b = [1, 18], + w = [1, 19], + S = [1, 20], + T = [1, 21], + E = [1, 22], + _ = [1, 24], + A = [1, 25], + L = [1, 26], + M = [1, 27], + N = [1, 28], + k = [1, 29], + I = [1, 32], + C = [1, 33], + O = [1, 34], + D = [1, 39], + P = [1, 40], + F = [1, 42], + B = [1, 44], + $ = [1, 62], + z = [1, 61], + Y = [4, 5, 8, 10, 12, 13, 14, 18, 44, 47, 49, 55, 56, 57, 63, 64, 65, 66, 67], + Q = [1, 65], + X = [1, 66], + ie = [1, 67], + j = [1, 68], + J = [1, 69], + Z = [1, 70], + H = [1, 71], + q = [1, 72], + K = [1, 73], + se = [1, 74], + ce = [1, 75], + ue = [1, 76], + te = [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18], + De = [1, 90], + oe = [1, 91], + ke = [1, 92], + Ie = [1, 99], + Se = [1, 93], + Ue = [1, 96], + Pe = [1, 94], + _e = [1, 95], + me = [1, 97], + W = [1, 98], + fe = [1, 102], + ge = [10, 55, 56, 57], + re = [4, 5, 6, 8, 10, 11, 13, 17, 18, 19, 20, 55, 56, 57], + he = { + trace: o(function () {}, 'trace'), + yy: {}, + symbols_: { + error: 2, + idStringToken: 3, + ALPHA: 4, + NUM: 5, + NODE_STRING: 6, + DOWN: 7, + MINUS: 8, + DEFAULT: 9, + COMMA: 10, + COLON: 11, + AMP: 12, + BRKT: 13, + MULT: 14, + UNICODE_TEXT: 15, + styleComponent: 16, + UNIT: 17, + SPACE: 18, + STYLE: 19, + PCT: 20, + idString: 21, + style: 22, + stylesOpt: 23, + classDefStatement: 24, + CLASSDEF: 25, + start: 26, + eol: 27, + QUADRANT: 28, + document: 29, + line: 30, + statement: 31, + axisDetails: 32, + quadrantDetails: 33, + points: 34, + title: 35, + title_value: 36, + acc_title: 37, + acc_title_value: 38, + acc_descr: 39, + acc_descr_value: 40, + acc_descr_multiline_value: 41, + section: 42, + text: 43, + point_start: 44, + point_x: 45, + point_y: 46, + class_name: 47, + 'X-AXIS': 48, + 'AXIS-TEXT-DELIMITER': 49, + 'Y-AXIS': 50, + QUADRANT_1: 51, + QUADRANT_2: 52, + QUADRANT_3: 53, + QUADRANT_4: 54, + NEWLINE: 55, + SEMI: 56, + EOF: 57, + alphaNumToken: 58, + textNoTagsToken: 59, + STR: 60, + MD_STR: 61, + alphaNum: 62, + PUNCTUATION: 63, + PLUS: 64, + EQUALS: 65, + DOT: 66, + UNDERSCORE: 67, + $accept: 0, + $end: 1 + }, + terminals_: { + 2: 'error', + 4: 'ALPHA', + 5: 'NUM', + 6: 'NODE_STRING', + 7: 'DOWN', + 8: 'MINUS', + 9: 'DEFAULT', + 10: 'COMMA', + 11: 'COLON', + 12: 'AMP', + 13: 'BRKT', + 14: 'MULT', + 15: 'UNICODE_TEXT', + 17: 'UNIT', + 18: 'SPACE', + 19: 'STYLE', + 20: 'PCT', + 25: 'CLASSDEF', + 28: 'QUADRANT', + 35: 'title', + 36: 'title_value', + 37: 'acc_title', + 38: 'acc_title_value', + 39: 'acc_descr', + 40: 'acc_descr_value', + 41: 'acc_descr_multiline_value', + 42: 'section', + 44: 'point_start', + 45: 'point_x', + 46: 'point_y', + 47: 'class_name', + 48: 'X-AXIS', + 49: 'AXIS-TEXT-DELIMITER', + 50: 'Y-AXIS', + 51: 'QUADRANT_1', + 52: 'QUADRANT_2', + 53: 'QUADRANT_3', + 54: 'QUADRANT_4', + 55: 'NEWLINE', + 56: 'SEMI', + 57: 'EOF', + 60: 'STR', + 61: 'MD_STR', + 63: 'PUNCTUATION', + 64: 'PLUS', + 65: 'EQUALS', + 66: 'DOT', + 67: 'UNDERSCORE' + }, + productions_: [ + 0, + [3, 1], + [3, 1], + [3, 1], + [3, 1], + [3, 1], + [3, 1], + [3, 1], + [3, 1], + [3, 1], + [3, 1], + [3, 1], + [3, 1], + [16, 1], + [16, 1], + [16, 1], + [16, 1], + [16, 1], + [16, 1], + [16, 1], + [16, 1], + [16, 1], + [16, 1], + [21, 1], + [21, 2], + [22, 1], + [22, 2], + [23, 1], + [23, 3], + [24, 5], + [26, 2], + [26, 2], + [26, 2], + [29, 0], + [29, 2], + [30, 2], + [31, 0], + [31, 1], + [31, 2], + [31, 1], + [31, 1], + [31, 1], + [31, 2], + [31, 2], + [31, 2], + [31, 1], + [31, 1], + [34, 4], + [34, 5], + [34, 5], + [34, 6], + [32, 4], + [32, 3], + [32, 2], + [32, 4], + [32, 3], + [32, 2], + [33, 2], + [33, 2], + [33, 2], + [33, 2], + [27, 1], + [27, 1], + [27, 1], + [43, 1], + [43, 2], + [43, 1], + [43, 1], + [62, 1], + [62, 2], + [58, 1], + [58, 1], + [58, 1], + [58, 1], + [58, 1], + [58, 1], + [58, 1], + [58, 1], + [58, 1], + [58, 1], + [58, 1], + [59, 1], + [59, 1], + [59, 1] + ], + performAction: o(function (Te, Ce, Ae, Ge, Me, ye, He) { + var ze = ye.length - 1; + switch (Me) { + case 23: + this.$ = ye[ze]; + break; + case 24: + this.$ = ye[ze - 1] + '' + ye[ze]; + break; + case 26: + this.$ = ye[ze - 1] + ye[ze]; + break; + case 27: + this.$ = [ye[ze].trim()]; + break; + case 28: + ye[ze - 2].push(ye[ze].trim()), (this.$ = ye[ze - 2]); + break; + case 29: + (this.$ = ye[ze - 4]), Ge.addClass(ye[ze - 2], ye[ze]); + break; + case 37: + this.$ = []; + break; + case 42: + (this.$ = ye[ze].trim()), Ge.setDiagramTitle(this.$); + break; + case 43: + (this.$ = ye[ze].trim()), Ge.setAccTitle(this.$); + break; + case 44: + case 45: + (this.$ = ye[ze].trim()), Ge.setAccDescription(this.$); + break; + case 46: + Ge.addSection(ye[ze].substr(8)), (this.$ = ye[ze].substr(8)); + break; + case 47: + Ge.addPoint(ye[ze - 3], '', ye[ze - 1], ye[ze], []); + break; + case 48: + Ge.addPoint(ye[ze - 4], ye[ze - 3], ye[ze - 1], ye[ze], []); + break; + case 49: + Ge.addPoint(ye[ze - 4], '', ye[ze - 2], ye[ze - 1], ye[ze]); + break; + case 50: + Ge.addPoint(ye[ze - 5], ye[ze - 4], ye[ze - 2], ye[ze - 1], ye[ze]); + break; + case 51: + Ge.setXAxisLeftText(ye[ze - 2]), Ge.setXAxisRightText(ye[ze]); + break; + case 52: + (ye[ze - 1].text += ' \u27F6 '), Ge.setXAxisLeftText(ye[ze - 1]); + break; + case 53: + Ge.setXAxisLeftText(ye[ze]); + break; + case 54: + Ge.setYAxisBottomText(ye[ze - 2]), Ge.setYAxisTopText(ye[ze]); + break; + case 55: + (ye[ze - 1].text += ' \u27F6 '), Ge.setYAxisBottomText(ye[ze - 1]); + break; + case 56: + Ge.setYAxisBottomText(ye[ze]); + break; + case 57: + Ge.setQuadrant1Text(ye[ze]); + break; + case 58: + Ge.setQuadrant2Text(ye[ze]); + break; + case 59: + Ge.setQuadrant3Text(ye[ze]); + break; + case 60: + Ge.setQuadrant4Text(ye[ze]); + break; + case 64: + this.$ = { text: ye[ze], type: 'text' }; + break; + case 65: + this.$ = { + text: ye[ze - 1].text + '' + ye[ze], + type: ye[ze - 1].type + }; + break; + case 66: + this.$ = { text: ye[ze], type: 'text' }; + break; + case 67: + this.$ = { text: ye[ze], type: 'markdown' }; + break; + case 68: + this.$ = ye[ze]; + break; + case 69: + this.$ = ye[ze - 1] + '' + ye[ze]; + break; + } + }, 'anonymous'), + table: [ + { 18: e, 26: 1, 27: 2, 28: r, 55: n, 56: i, 57: a }, + { 1: [3] }, + { 18: e, 26: 8, 27: 2, 28: r, 55: n, 56: i, 57: a }, + { 18: e, 26: 9, 27: 2, 28: r, 55: n, 56: i, 57: a }, + t(s, [2, 33], { 29: 10 }), + t(l, [2, 61]), + t(l, [2, 62]), + t(l, [2, 63]), + { 1: [2, 30] }, + { 1: [2, 31] }, + t(u, h, { + 30: 11, + 31: 12, + 24: 13, + 32: 15, + 33: 16, + 34: 17, + 43: 30, + 58: 31, + 1: [2, 32], + 4: f, + 5: d, + 10: p, + 12: m, + 13: g, + 14: y, + 18: v, + 25: x, + 35: b, + 37: w, + 39: S, + 41: T, + 42: E, + 48: _, + 50: A, + 51: L, + 52: M, + 53: N, + 54: k, + 60: I, + 61: C, + 63: O, + 64: D, + 65: P, + 66: F, + 67: B + }), + t(s, [2, 34]), + { 27: 45, 55: n, 56: i, 57: a }, + t(u, [2, 37]), + t(u, h, { + 24: 13, + 32: 15, + 33: 16, + 34: 17, + 43: 30, + 58: 31, + 31: 46, + 4: f, + 5: d, + 10: p, + 12: m, + 13: g, + 14: y, + 18: v, + 25: x, + 35: b, + 37: w, + 39: S, + 41: T, + 42: E, + 48: _, + 50: A, + 51: L, + 52: M, + 53: N, + 54: k, + 60: I, + 61: C, + 63: O, + 64: D, + 65: P, + 66: F, + 67: B + }), + t(u, [2, 39]), + t(u, [2, 40]), + t(u, [2, 41]), + { 36: [1, 47] }, + { 38: [1, 48] }, + { 40: [1, 49] }, + t(u, [2, 45]), + t(u, [2, 46]), + { 18: [1, 50] }, + { + 4: f, + 5: d, + 10: p, + 12: m, + 13: g, + 14: y, + 43: 51, + 58: 31, + 60: I, + 61: C, + 63: O, + 64: D, + 65: P, + 66: F, + 67: B + }, + { + 4: f, + 5: d, + 10: p, + 12: m, + 13: g, + 14: y, + 43: 52, + 58: 31, + 60: I, + 61: C, + 63: O, + 64: D, + 65: P, + 66: F, + 67: B + }, + { + 4: f, + 5: d, + 10: p, + 12: m, + 13: g, + 14: y, + 43: 53, + 58: 31, + 60: I, + 61: C, + 63: O, + 64: D, + 65: P, + 66: F, + 67: B + }, + { + 4: f, + 5: d, + 10: p, + 12: m, + 13: g, + 14: y, + 43: 54, + 58: 31, + 60: I, + 61: C, + 63: O, + 64: D, + 65: P, + 66: F, + 67: B + }, + { + 4: f, + 5: d, + 10: p, + 12: m, + 13: g, + 14: y, + 43: 55, + 58: 31, + 60: I, + 61: C, + 63: O, + 64: D, + 65: P, + 66: F, + 67: B + }, + { + 4: f, + 5: d, + 10: p, + 12: m, + 13: g, + 14: y, + 43: 56, + 58: 31, + 60: I, + 61: C, + 63: O, + 64: D, + 65: P, + 66: F, + 67: B + }, + { + 4: f, + 5: d, + 8: $, + 10: p, + 12: m, + 13: g, + 14: y, + 18: z, + 44: [1, 57], + 47: [1, 58], + 58: 60, + 59: 59, + 63: O, + 64: D, + 65: P, + 66: F, + 67: B + }, + t(Y, [2, 64]), + t(Y, [2, 66]), + t(Y, [2, 67]), + t(Y, [2, 70]), + t(Y, [2, 71]), + t(Y, [2, 72]), + t(Y, [2, 73]), + t(Y, [2, 74]), + t(Y, [2, 75]), + t(Y, [2, 76]), + t(Y, [2, 77]), + t(Y, [2, 78]), + t(Y, [2, 79]), + t(Y, [2, 80]), + t(s, [2, 35]), + t(u, [2, 38]), + t(u, [2, 42]), + t(u, [2, 43]), + t(u, [2, 44]), + { + 3: 64, + 4: Q, + 5: X, + 6: ie, + 7: j, + 8: J, + 9: Z, + 10: H, + 11: q, + 12: K, + 13: se, + 14: ce, + 15: ue, + 21: 63 + }, + t(u, [2, 53], { + 59: 59, + 58: 60, + 4: f, + 5: d, + 8: $, + 10: p, + 12: m, + 13: g, + 14: y, + 18: z, + 49: [1, 77], + 63: O, + 64: D, + 65: P, + 66: F, + 67: B + }), + t(u, [2, 56], { + 59: 59, + 58: 60, + 4: f, + 5: d, + 8: $, + 10: p, + 12: m, + 13: g, + 14: y, + 18: z, + 49: [1, 78], + 63: O, + 64: D, + 65: P, + 66: F, + 67: B + }), + t(u, [2, 57], { + 59: 59, + 58: 60, + 4: f, + 5: d, + 8: $, + 10: p, + 12: m, + 13: g, + 14: y, + 18: z, + 63: O, + 64: D, + 65: P, + 66: F, + 67: B + }), + t(u, [2, 58], { + 59: 59, + 58: 60, + 4: f, + 5: d, + 8: $, + 10: p, + 12: m, + 13: g, + 14: y, + 18: z, + 63: O, + 64: D, + 65: P, + 66: F, + 67: B + }), + t(u, [2, 59], { + 59: 59, + 58: 60, + 4: f, + 5: d, + 8: $, + 10: p, + 12: m, + 13: g, + 14: y, + 18: z, + 63: O, + 64: D, + 65: P, + 66: F, + 67: B + }), + t(u, [2, 60], { + 59: 59, + 58: 60, + 4: f, + 5: d, + 8: $, + 10: p, + 12: m, + 13: g, + 14: y, + 18: z, + 63: O, + 64: D, + 65: P, + 66: F, + 67: B + }), + { 45: [1, 79] }, + { 44: [1, 80] }, + t(Y, [2, 65]), + t(Y, [2, 81]), + t(Y, [2, 82]), + t(Y, [2, 83]), + { + 3: 82, + 4: Q, + 5: X, + 6: ie, + 7: j, + 8: J, + 9: Z, + 10: H, + 11: q, + 12: K, + 13: se, + 14: ce, + 15: ue, + 18: [1, 81] + }, + t(te, [2, 23]), + t(te, [2, 1]), + t(te, [2, 2]), + t(te, [2, 3]), + t(te, [2, 4]), + t(te, [2, 5]), + t(te, [2, 6]), + t(te, [2, 7]), + t(te, [2, 8]), + t(te, [2, 9]), + t(te, [2, 10]), + t(te, [2, 11]), + t(te, [2, 12]), + t(u, [2, 52], { + 58: 31, + 43: 83, + 4: f, + 5: d, + 10: p, + 12: m, + 13: g, + 14: y, + 60: I, + 61: C, + 63: O, + 64: D, + 65: P, + 66: F, + 67: B + }), + t(u, [2, 55], { + 58: 31, + 43: 84, + 4: f, + 5: d, + 10: p, + 12: m, + 13: g, + 14: y, + 60: I, + 61: C, + 63: O, + 64: D, + 65: P, + 66: F, + 67: B + }), + { 46: [1, 85] }, + { 45: [1, 86] }, + { + 4: De, + 5: oe, + 6: ke, + 8: Ie, + 11: Se, + 13: Ue, + 16: 89, + 17: Pe, + 18: _e, + 19: me, + 20: W, + 22: 88, + 23: 87 + }, + t(te, [2, 24]), + t(u, [2, 51], { + 59: 59, + 58: 60, + 4: f, + 5: d, + 8: $, + 10: p, + 12: m, + 13: g, + 14: y, + 18: z, + 63: O, + 64: D, + 65: P, + 66: F, + 67: B + }), + t(u, [2, 54], { + 59: 59, + 58: 60, + 4: f, + 5: d, + 8: $, + 10: p, + 12: m, + 13: g, + 14: y, + 18: z, + 63: O, + 64: D, + 65: P, + 66: F, + 67: B + }), + t(u, [2, 47], { + 22: 88, + 16: 89, + 23: 100, + 4: De, + 5: oe, + 6: ke, + 8: Ie, + 11: Se, + 13: Ue, + 17: Pe, + 18: _e, + 19: me, + 20: W + }), + { 46: [1, 101] }, + t(u, [2, 29], { 10: fe }), + t(ge, [2, 27], { + 16: 103, + 4: De, + 5: oe, + 6: ke, + 8: Ie, + 11: Se, + 13: Ue, + 17: Pe, + 18: _e, + 19: me, + 20: W + }), + t(re, [2, 25]), + t(re, [2, 13]), + t(re, [2, 14]), + t(re, [2, 15]), + t(re, [2, 16]), + t(re, [2, 17]), + t(re, [2, 18]), + t(re, [2, 19]), + t(re, [2, 20]), + t(re, [2, 21]), + t(re, [2, 22]), + t(u, [2, 49], { 10: fe }), + t(u, [2, 48], { + 22: 88, + 16: 89, + 23: 104, + 4: De, + 5: oe, + 6: ke, + 8: Ie, + 11: Se, + 13: Ue, + 17: Pe, + 18: _e, + 19: me, + 20: W + }), + { + 4: De, + 5: oe, + 6: ke, + 8: Ie, + 11: Se, + 13: Ue, + 16: 89, + 17: Pe, + 18: _e, + 19: me, + 20: W, + 22: 105 + }, + t(re, [2, 26]), + t(u, [2, 50], { 10: fe }), + t(ge, [2, 28], { + 16: 103, + 4: De, + 5: oe, + 6: ke, + 8: Ie, + 11: Se, + 13: Ue, + 17: Pe, + 18: _e, + 19: me, + 20: W + }) + ], + defaultActions: { 8: [2, 30], 9: [2, 31] }, + parseError: o(function (Te, Ce) { + if (Ce.recoverable) this.trace(Te); + else { + var Ae = new Error(Te); + throw ((Ae.hash = Ce), Ae); + } + }, 'parseError'), + parse: o(function (Te) { + var Ce = this, + Ae = [0], + Ge = [], + Me = [null], + ye = [], + He = this.table, + ze = '', + Ze = 0, + gt = 0, + yt = 0, + tt = 2, + Ye = 1, + Je = ye.slice.call(arguments, 1), + Ve = Object.create(this.lexer), + je = { yy: {} }; + for (var kt in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, kt) && (je.yy[kt] = this.yy[kt]); + Ve.setInput(Te, je.yy), + (je.yy.lexer = Ve), + (je.yy.parser = this), + typeof Ve.yylloc > 'u' && (Ve.yylloc = {}); + var at = Ve.yylloc; + ye.push(at); + var xt = Ve.options && Ve.options.ranges; + typeof je.yy.parseError == 'function' + ? (this.parseError = je.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError); + function it(on) { + (Ae.length = Ae.length - 2 * on), + (Me.length = Me.length - on), + (ye.length = ye.length - on); + } + o(it, 'popStack'); + function dt() { + var on; + return ( + (on = Ge.pop() || Ve.lex() || Ye), + typeof on != 'number' && + (on instanceof Array && ((Ge = on), (on = Ge.pop())), + (on = Ce.symbols_[on] || on)), + on + ); + } + o(dt, 'lex'); + for (var lt, It, mt, St, gr, xn, jt = {}, rn, Er, Kn, hn; ; ) { + if ( + ((mt = Ae[Ae.length - 1]), + this.defaultActions[mt] + ? (St = this.defaultActions[mt]) + : ((lt === null || typeof lt > 'u') && (lt = dt()), + (St = He[mt] && He[mt][lt])), + typeof St > 'u' || !St.length || !St[0]) + ) { + var Qn = ''; + hn = []; + for (rn in He[mt]) + this.terminals_[rn] && rn > tt && hn.push("'" + this.terminals_[rn] + "'"); + Ve.showPosition + ? (Qn = + 'Parse error on line ' + + (Ze + 1) + + `: +` + + Ve.showPosition() + + ` +Expecting ` + + hn.join(', ') + + ", got '" + + (this.terminals_[lt] || lt) + + "'") + : (Qn = + 'Parse error on line ' + + (Ze + 1) + + ': Unexpected ' + + (lt == Ye ? 'end of input' : "'" + (this.terminals_[lt] || lt) + "'")), + this.parseError(Qn, { + text: Ve.match, + token: this.terminals_[lt] || lt, + line: Ve.yylineno, + loc: at, + expected: hn + }); + } + if (St[0] instanceof Array && St.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + mt + ', token: ' + lt + ); + switch (St[0]) { + case 1: + Ae.push(lt), + Me.push(Ve.yytext), + ye.push(Ve.yylloc), + Ae.push(St[1]), + (lt = null), + It + ? ((lt = It), (It = null)) + : ((gt = Ve.yyleng), + (ze = Ve.yytext), + (Ze = Ve.yylineno), + (at = Ve.yylloc), + yt > 0 && yt--); + break; + case 2: + if ( + ((Er = this.productions_[St[1]][1]), + (jt.$ = Me[Me.length - Er]), + (jt._$ = { + first_line: ye[ye.length - (Er || 1)].first_line, + last_line: ye[ye.length - 1].last_line, + first_column: ye[ye.length - (Er || 1)].first_column, + last_column: ye[ye.length - 1].last_column + }), + xt && + (jt._$.range = [ + ye[ye.length - (Er || 1)].range[0], + ye[ye.length - 1].range[1] + ]), + (xn = this.performAction.apply( + jt, + [ze, gt, Ze, je.yy, St[1], Me, ye].concat(Je) + )), + typeof xn < 'u') + ) + return xn; + Er && + ((Ae = Ae.slice(0, -1 * Er * 2)), + (Me = Me.slice(0, -1 * Er)), + (ye = ye.slice(0, -1 * Er))), + Ae.push(this.productions_[St[1]][0]), + Me.push(jt.$), + ye.push(jt._$), + (Kn = He[Ae[Ae.length - 2]][Ae[Ae.length - 1]]), + Ae.push(Kn); + break; + case 3: + return !0; + } + } + return !0; + }, 'parse') + }, + ne = (function () { + var we = { + EOF: 1, + parseError: o(function (Ce, Ae) { + if (this.yy.parser) this.yy.parser.parseError(Ce, Ae); + else throw new Error(Ce); + }, 'parseError'), + setInput: o(function (Te, Ce) { + return ( + (this.yy = Ce || this.yy || {}), + (this._input = Te), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, 'setInput'), + input: o(function () { + var Te = this._input[0]; + (this.yytext += Te), + this.yyleng++, + this.offset++, + (this.match += Te), + (this.matched += Te); + var Ce = Te.match(/(?:\r\n?|\n).*/g); + return ( + Ce ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + Te + ); + }, 'input'), + unput: o(function (Te) { + var Ce = Te.length, + Ae = Te.split(/(?:\r\n?|\n)/g); + (this._input = Te + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - Ce)), + (this.offset -= Ce); + var Ge = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + Ae.length - 1 && (this.yylineno -= Ae.length - 1); + var Me = this.yylloc.range; + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: Ae + ? (Ae.length === Ge.length ? this.yylloc.first_column : 0) + + Ge[Ge.length - Ae.length].length - + Ae[0].length + : this.yylloc.first_column - Ce + }), + this.options.ranges && (this.yylloc.range = [Me[0], Me[0] + this.yyleng - Ce]), + (this.yyleng = this.yytext.length), + this + ); + }, 'unput'), + more: o(function () { + return (this._more = !0), this; + }, 'more'), + reject: o(function () { + if (this.options.backtrack_lexer) this._backtrack = !0; + else + return this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + return this; + }, 'reject'), + less: o(function (Te) { + this.unput(this.match.slice(Te)); + }, 'less'), + pastInput: o(function () { + var Te = this.matched.substr(0, this.matched.length - this.match.length); + return (Te.length > 20 ? '...' : '') + Te.substr(-20).replace(/\n/g, ''); + }, 'pastInput'), + upcomingInput: o(function () { + var Te = this.match; + return ( + Te.length < 20 && (Te += this._input.substr(0, 20 - Te.length)), + (Te.substr(0, 20) + (Te.length > 20 ? '...' : '')).replace(/\n/g, '') + ); + }, 'upcomingInput'), + showPosition: o(function () { + var Te = this.pastInput(), + Ce = new Array(Te.length + 1).join('-'); + return ( + Te + + this.upcomingInput() + + ` +` + + Ce + + '^' + ); + }, 'showPosition'), + test_match: o(function (Te, Ce) { + var Ae, Ge, Me; + if ( + (this.options.backtrack_lexer && + ((Me = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }), + this.options.ranges && (Me.yylloc.range = this.yylloc.range.slice(0))), + (Ge = Te[0].match(/(?:\r\n?|\n).*/g)), + Ge && (this.yylineno += Ge.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: Ge + ? Ge[Ge.length - 1].length - Ge[Ge.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + Te[0].length + }), + (this.yytext += Te[0]), + (this.match += Te[0]), + (this.matches = Te), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(Te[0].length)), + (this.matched += Te[0]), + (Ae = this.performAction.call( + this, + this.yy, + this, + Ce, + this.conditionStack[this.conditionStack.length - 1] + )), + this.done && this._input && (this.done = !1), + Ae) + ) + return Ae; + if (this._backtrack) { + for (var ye in Me) this[ye] = Me[ye]; + return !1; + } + return !1; + }, 'test_match'), + next: o(function () { + if (this.done) return this.EOF; + this._input || (this.done = !0); + var Te, Ce, Ae, Ge; + this._more || ((this.yytext = ''), (this.match = '')); + for (var Me = this._currentRules(), ye = 0; ye < Me.length; ye++) + if ( + ((Ae = this._input.match(this.rules[Me[ye]])), + Ae && (!Ce || Ae[0].length > Ce[0].length)) + ) { + if (((Ce = Ae), (Ge = ye), this.options.backtrack_lexer)) { + if (((Te = this.test_match(Ae, Me[ye])), Te !== !1)) return Te; + if (this._backtrack) { + Ce = !1; + continue; + } else return !1; + } else if (!this.options.flex) break; + } + return Ce + ? ((Te = this.test_match(Ce, Me[Ge])), Te !== !1 ? Te : !1) + : this._input === '' + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, 'next'), + lex: o(function () { + var Ce = this.next(); + return Ce || this.lex(); + }, 'lex'), + begin: o(function (Ce) { + this.conditionStack.push(Ce); + }, 'begin'), + popState: o(function () { + var Ce = this.conditionStack.length - 1; + return Ce > 0 ? this.conditionStack.pop() : this.conditionStack[0]; + }, 'popState'), + _currentRules: o(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules; + }, '_currentRules'), + topState: o(function (Ce) { + return ( + (Ce = this.conditionStack.length - 1 - Math.abs(Ce || 0)), + Ce >= 0 ? this.conditionStack[Ce] : 'INITIAL' + ); + }, 'topState'), + pushState: o(function (Ce) { + this.begin(Ce); + }, 'pushState'), + stateStackSize: o(function () { + return this.conditionStack.length; + }, 'stateStackSize'), + options: { 'case-insensitive': !0 }, + performAction: o(function (Ce, Ae, Ge, Me) { + var ye = Me; + switch (Ge) { + case 0: + break; + case 1: + break; + case 2: + return 55; + case 3: + break; + case 4: + return this.begin('title'), 35; + break; + case 5: + return this.popState(), 'title_value'; + break; + case 6: + return this.begin('acc_title'), 37; + break; + case 7: + return this.popState(), 'acc_title_value'; + break; + case 8: + return this.begin('acc_descr'), 39; + break; + case 9: + return this.popState(), 'acc_descr_value'; + break; + case 10: + this.begin('acc_descr_multiline'); + break; + case 11: + this.popState(); + break; + case 12: + return 'acc_descr_multiline_value'; + case 13: + return 48; + case 14: + return 50; + case 15: + return 49; + case 16: + return 51; + case 17: + return 52; + case 18: + return 53; + case 19: + return 54; + case 20: + return 25; + case 21: + this.begin('md_string'); + break; + case 22: + return 'MD_STR'; + case 23: + this.popState(); + break; + case 24: + this.begin('string'); + break; + case 25: + this.popState(); + break; + case 26: + return 'STR'; + case 27: + this.begin('class_name'); + break; + case 28: + return this.popState(), 47; + break; + case 29: + return this.begin('point_start'), 44; + break; + case 30: + return this.begin('point_x'), 45; + break; + case 31: + this.popState(); + break; + case 32: + this.popState(), this.begin('point_y'); + break; + case 33: + return this.popState(), 46; + break; + case 34: + return 28; + case 35: + return 4; + case 36: + return 11; + case 37: + return 64; + case 38: + return 10; + case 39: + return 65; + case 40: + return 65; + case 41: + return 14; + case 42: + return 13; + case 43: + return 67; + case 44: + return 66; + case 45: + return 12; + case 46: + return 8; + case 47: + return 5; + case 48: + return 18; + case 49: + return 56; + case 50: + return 63; + case 51: + return 57; + } + }, 'anonymous'), + rules: [ + /^(?:%%(?!\{)[^\n]*)/i, + /^(?:[^\}]%%[^\n]*)/i, + /^(?:[\n\r]+)/i, + /^(?:%%[^\n]*)/i, + /^(?:title\b)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accTitle\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*\{\s*)/i, + /^(?:[\}])/i, + /^(?:[^\}]*)/i, + /^(?: *x-axis *)/i, + /^(?: *y-axis *)/i, + /^(?: *--+> *)/i, + /^(?: *quadrant-1 *)/i, + /^(?: *quadrant-2 *)/i, + /^(?: *quadrant-3 *)/i, + /^(?: *quadrant-4 *)/i, + /^(?:classDef\b)/i, + /^(?:["][`])/i, + /^(?:[^`"]+)/i, + /^(?:[`]["])/i, + /^(?:["])/i, + /^(?:["])/i, + /^(?:[^"]*)/i, + /^(?::::)/i, + /^(?:^\w+)/i, + /^(?:\s*:\s*\[\s*)/i, + /^(?:(1)|(0(.\d+)?))/i, + /^(?:\s*\] *)/i, + /^(?:\s*,\s*)/i, + /^(?:(1)|(0(.\d+)?))/i, + /^(?: *quadrantChart *)/i, + /^(?:[A-Za-z]+)/i, + /^(?::)/i, + /^(?:\+)/i, + /^(?:,)/i, + /^(?:=)/i, + /^(?:=)/i, + /^(?:\*)/i, + /^(?:#)/i, + /^(?:[\_])/i, + /^(?:\.)/i, + /^(?:&)/i, + /^(?:-)/i, + /^(?:[0-9]+)/i, + /^(?:\s)/i, + /^(?:;)/i, + /^(?:[!"#$%&'*+,-.`?\\_/])/i, + /^(?:$)/i + ], + conditions: { + class_name: { rules: [28], inclusive: !1 }, + point_y: { rules: [33], inclusive: !1 }, + point_x: { rules: [32], inclusive: !1 }, + point_start: { rules: [30, 31], inclusive: !1 }, + acc_descr_multiline: { rules: [11, 12], inclusive: !1 }, + acc_descr: { rules: [9], inclusive: !1 }, + acc_title: { rules: [7], inclusive: !1 }, + title: { rules: [5], inclusive: !1 }, + md_string: { rules: [22, 23], inclusive: !1 }, + string: { rules: [25, 26], inclusive: !1 }, + INITIAL: { + rules: [ + 0, 1, 2, 3, 4, 6, 8, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 24, 27, 29, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51 + ], + inclusive: !0 + } + } + }; + return we; + })(); + he.lexer = ne; + function ae() { + this.yy = {}; + } + return o(ae, 'Parser'), (ae.prototype = he), (he.Parser = ae), new ae(); + })(); + XI.parser = XI; + $ce = XI; + }); + var os, + uE, + Uce = R(() => { + 'use strict'; + Zt(); + sl(); + ut(); + jb(); + (os = hp()), + (uE = class { + constructor() { + this.classes = new Map(); + (this.config = this.getDefaultConfig()), + (this.themeConfig = this.getDefaultThemeConfig()), + (this.data = this.getDefaultData()); + } + static { + o(this, 'QuadrantBuilder'); + } + getDefaultData() { + return { + titleText: '', + quadrant1Text: '', + quadrant2Text: '', + quadrant3Text: '', + quadrant4Text: '', + xAxisLeftText: '', + xAxisRightText: '', + yAxisBottomText: '', + yAxisTopText: '', + points: [] + }; + } + getDefaultConfig() { + return { + showXAxis: !0, + showYAxis: !0, + showTitle: !0, + chartHeight: mr.quadrantChart?.chartWidth || 500, + chartWidth: mr.quadrantChart?.chartHeight || 500, + titlePadding: mr.quadrantChart?.titlePadding || 10, + titleFontSize: mr.quadrantChart?.titleFontSize || 20, + quadrantPadding: mr.quadrantChart?.quadrantPadding || 5, + xAxisLabelPadding: mr.quadrantChart?.xAxisLabelPadding || 5, + yAxisLabelPadding: mr.quadrantChart?.yAxisLabelPadding || 5, + xAxisLabelFontSize: mr.quadrantChart?.xAxisLabelFontSize || 16, + yAxisLabelFontSize: mr.quadrantChart?.yAxisLabelFontSize || 16, + quadrantLabelFontSize: mr.quadrantChart?.quadrantLabelFontSize || 16, + quadrantTextTopPadding: mr.quadrantChart?.quadrantTextTopPadding || 5, + pointTextPadding: mr.quadrantChart?.pointTextPadding || 5, + pointLabelFontSize: mr.quadrantChart?.pointLabelFontSize || 12, + pointRadius: mr.quadrantChart?.pointRadius || 5, + xAxisPosition: mr.quadrantChart?.xAxisPosition || 'top', + yAxisPosition: mr.quadrantChart?.yAxisPosition || 'left', + quadrantInternalBorderStrokeWidth: mr.quadrantChart?.quadrantInternalBorderStrokeWidth || 1, + quadrantExternalBorderStrokeWidth: mr.quadrantChart?.quadrantExternalBorderStrokeWidth || 2 + }; + } + getDefaultThemeConfig() { + return { + quadrant1Fill: os.quadrant1Fill, + quadrant2Fill: os.quadrant2Fill, + quadrant3Fill: os.quadrant3Fill, + quadrant4Fill: os.quadrant4Fill, + quadrant1TextFill: os.quadrant1TextFill, + quadrant2TextFill: os.quadrant2TextFill, + quadrant3TextFill: os.quadrant3TextFill, + quadrant4TextFill: os.quadrant4TextFill, + quadrantPointFill: os.quadrantPointFill, + quadrantPointTextFill: os.quadrantPointTextFill, + quadrantXAxisTextFill: os.quadrantXAxisTextFill, + quadrantYAxisTextFill: os.quadrantYAxisTextFill, + quadrantTitleFill: os.quadrantTitleFill, + quadrantInternalBorderStrokeFill: os.quadrantInternalBorderStrokeFill, + quadrantExternalBorderStrokeFill: os.quadrantExternalBorderStrokeFill + }; + } + clear() { + (this.config = this.getDefaultConfig()), + (this.themeConfig = this.getDefaultThemeConfig()), + (this.data = this.getDefaultData()), + (this.classes = new Map()), + V.info('clear called'); + } + setData(e) { + this.data = { ...this.data, ...e }; + } + addPoints(e) { + this.data.points = [...e, ...this.data.points]; + } + addClass(e, r) { + this.classes.set(e, r); + } + setConfig(e) { + V.trace('setConfig called with: ', e), (this.config = { ...this.config, ...e }); + } + setThemeConfig(e) { + V.trace('setThemeConfig called with: ', e), (this.themeConfig = { ...this.themeConfig, ...e }); + } + calculateSpace(e, r, n, i) { + let a = this.config.xAxisLabelPadding * 2 + this.config.xAxisLabelFontSize, + s = { + top: e === 'top' && r ? a : 0, + bottom: e === 'bottom' && r ? a : 0 + }, + l = this.config.yAxisLabelPadding * 2 + this.config.yAxisLabelFontSize, + u = { + left: this.config.yAxisPosition === 'left' && n ? l : 0, + right: this.config.yAxisPosition === 'right' && n ? l : 0 + }, + h = this.config.titleFontSize + this.config.titlePadding * 2, + f = { top: i ? h : 0 }, + d = this.config.quadrantPadding + u.left, + p = this.config.quadrantPadding + s.top + f.top, + m = this.config.chartWidth - this.config.quadrantPadding * 2 - u.left - u.right, + g = this.config.chartHeight - this.config.quadrantPadding * 2 - s.top - s.bottom - f.top, + y = m / 2, + v = g / 2; + return { + xAxisSpace: s, + yAxisSpace: u, + titleSpace: f, + quadrantSpace: { + quadrantLeft: d, + quadrantTop: p, + quadrantWidth: m, + quadrantHalfWidth: y, + quadrantHeight: g, + quadrantHalfHeight: v + } + }; + } + getAxisLabels(e, r, n, i) { + let { quadrantSpace: a, titleSpace: s } = i, + { + quadrantHalfHeight: l, + quadrantHeight: u, + quadrantLeft: h, + quadrantHalfWidth: f, + quadrantTop: d, + quadrantWidth: p + } = a, + m = !!this.data.xAxisRightText, + g = !!this.data.yAxisTopText, + y = []; + return ( + this.data.xAxisLeftText && + r && + y.push({ + text: this.data.xAxisLeftText, + fill: this.themeConfig.quadrantXAxisTextFill, + x: h + (m ? f / 2 : 0), + y: + e === 'top' + ? this.config.xAxisLabelPadding + s.top + : this.config.xAxisLabelPadding + d + u + this.config.quadrantPadding, + fontSize: this.config.xAxisLabelFontSize, + verticalPos: m ? 'center' : 'left', + horizontalPos: 'top', + rotation: 0 + }), + this.data.xAxisRightText && + r && + y.push({ + text: this.data.xAxisRightText, + fill: this.themeConfig.quadrantXAxisTextFill, + x: h + f + (m ? f / 2 : 0), + y: + e === 'top' + ? this.config.xAxisLabelPadding + s.top + : this.config.xAxisLabelPadding + d + u + this.config.quadrantPadding, + fontSize: this.config.xAxisLabelFontSize, + verticalPos: m ? 'center' : 'left', + horizontalPos: 'top', + rotation: 0 + }), + this.data.yAxisBottomText && + n && + y.push({ + text: this.data.yAxisBottomText, + fill: this.themeConfig.quadrantYAxisTextFill, + x: + this.config.yAxisPosition === 'left' + ? this.config.yAxisLabelPadding + : this.config.yAxisLabelPadding + h + p + this.config.quadrantPadding, + y: d + u - (g ? l / 2 : 0), + fontSize: this.config.yAxisLabelFontSize, + verticalPos: g ? 'center' : 'left', + horizontalPos: 'top', + rotation: -90 + }), + this.data.yAxisTopText && + n && + y.push({ + text: this.data.yAxisTopText, + fill: this.themeConfig.quadrantYAxisTextFill, + x: + this.config.yAxisPosition === 'left' + ? this.config.yAxisLabelPadding + : this.config.yAxisLabelPadding + h + p + this.config.quadrantPadding, + y: d + l - (g ? l / 2 : 0), + fontSize: this.config.yAxisLabelFontSize, + verticalPos: g ? 'center' : 'left', + horizontalPos: 'top', + rotation: -90 + }), + y + ); + } + getQuadrants(e) { + let { quadrantSpace: r } = e, + { quadrantHalfHeight: n, quadrantLeft: i, quadrantHalfWidth: a, quadrantTop: s } = r, + l = [ + { + text: { + text: this.data.quadrant1Text, + fill: this.themeConfig.quadrant1TextFill, + x: 0, + y: 0, + fontSize: this.config.quadrantLabelFontSize, + verticalPos: 'center', + horizontalPos: 'middle', + rotation: 0 + }, + x: i + a, + y: s, + width: a, + height: n, + fill: this.themeConfig.quadrant1Fill + }, + { + text: { + text: this.data.quadrant2Text, + fill: this.themeConfig.quadrant2TextFill, + x: 0, + y: 0, + fontSize: this.config.quadrantLabelFontSize, + verticalPos: 'center', + horizontalPos: 'middle', + rotation: 0 + }, + x: i, + y: s, + width: a, + height: n, + fill: this.themeConfig.quadrant2Fill + }, + { + text: { + text: this.data.quadrant3Text, + fill: this.themeConfig.quadrant3TextFill, + x: 0, + y: 0, + fontSize: this.config.quadrantLabelFontSize, + verticalPos: 'center', + horizontalPos: 'middle', + rotation: 0 + }, + x: i, + y: s + n, + width: a, + height: n, + fill: this.themeConfig.quadrant3Fill + }, + { + text: { + text: this.data.quadrant4Text, + fill: this.themeConfig.quadrant4TextFill, + x: 0, + y: 0, + fontSize: this.config.quadrantLabelFontSize, + verticalPos: 'center', + horizontalPos: 'middle', + rotation: 0 + }, + x: i + a, + y: s + n, + width: a, + height: n, + fill: this.themeConfig.quadrant4Fill + } + ]; + for (let u of l) + (u.text.x = u.x + u.width / 2), + this.data.points.length === 0 + ? ((u.text.y = u.y + u.height / 2), (u.text.horizontalPos = 'middle')) + : ((u.text.y = u.y + this.config.quadrantTextTopPadding), + (u.text.horizontalPos = 'top')); + return l; + } + getQuadrantPoints(e) { + let { quadrantSpace: r } = e, + { quadrantHeight: n, quadrantLeft: i, quadrantTop: a, quadrantWidth: s } = r, + l = gl() + .domain([0, 1]) + .range([i, s + i]), + u = gl() + .domain([0, 1]) + .range([n + a, a]); + return this.data.points.map((f) => { + let d = this.classes.get(f.className); + return ( + d && (f = { ...d, ...f }), + { + x: l(f.x), + y: u(f.y), + fill: f.color ?? this.themeConfig.quadrantPointFill, + radius: f.radius ?? this.config.pointRadius, + text: { + text: f.text, + fill: this.themeConfig.quadrantPointTextFill, + x: l(f.x), + y: u(f.y) + this.config.pointTextPadding, + verticalPos: 'center', + horizontalPos: 'top', + fontSize: this.config.pointLabelFontSize, + rotation: 0 + }, + strokeColor: f.strokeColor ?? this.themeConfig.quadrantPointFill, + strokeWidth: f.strokeWidth ?? '0px' + } + ); + }); + } + getBorders(e) { + let r = this.config.quadrantExternalBorderStrokeWidth / 2, + { quadrantSpace: n } = e, + { + quadrantHalfHeight: i, + quadrantHeight: a, + quadrantLeft: s, + quadrantHalfWidth: l, + quadrantTop: u, + quadrantWidth: h + } = n; + return [ + { + strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill, + strokeWidth: this.config.quadrantExternalBorderStrokeWidth, + x1: s - r, + y1: u, + x2: s + h + r, + y2: u + }, + { + strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill, + strokeWidth: this.config.quadrantExternalBorderStrokeWidth, + x1: s + h, + y1: u + r, + x2: s + h, + y2: u + a - r + }, + { + strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill, + strokeWidth: this.config.quadrantExternalBorderStrokeWidth, + x1: s - r, + y1: u + a, + x2: s + h + r, + y2: u + a + }, + { + strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill, + strokeWidth: this.config.quadrantExternalBorderStrokeWidth, + x1: s, + y1: u + r, + x2: s, + y2: u + a - r + }, + { + strokeFill: this.themeConfig.quadrantInternalBorderStrokeFill, + strokeWidth: this.config.quadrantInternalBorderStrokeWidth, + x1: s + l, + y1: u + r, + x2: s + l, + y2: u + a - r + }, + { + strokeFill: this.themeConfig.quadrantInternalBorderStrokeFill, + strokeWidth: this.config.quadrantInternalBorderStrokeWidth, + x1: s + r, + y1: u + i, + x2: s + h - r, + y2: u + i + } + ]; + } + getTitle(e) { + if (e) + return { + text: this.data.titleText, + fill: this.themeConfig.quadrantTitleFill, + fontSize: this.config.titleFontSize, + horizontalPos: 'top', + verticalPos: 'center', + rotation: 0, + y: this.config.titlePadding, + x: this.config.chartWidth / 2 + }; + } + build() { + let e = this.config.showXAxis && !!(this.data.xAxisLeftText || this.data.xAxisRightText), + r = this.config.showYAxis && !!(this.data.yAxisTopText || this.data.yAxisBottomText), + n = this.config.showTitle && !!this.data.titleText, + i = this.data.points.length > 0 ? 'bottom' : this.config.xAxisPosition, + a = this.calculateSpace(i, e, r, n); + return { + points: this.getQuadrantPoints(a), + quadrants: this.getQuadrants(a), + axisLabels: this.getAxisLabels(i, e, r, a), + borderLines: this.getBorders(a), + title: this.getTitle(n) + }; + } + }); + }); + function jI(t) { + return !/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(t); + } + function Hce(t) { + return !/^\d+$/.test(t); + } + function Yce(t) { + return !/^\d+px$/.test(t); + } + var S0, + Wce = R(() => { + 'use strict'; + S0 = class extends Error { + static { + o(this, 'InvalidStyleError'); + } + constructor(e, r, n) { + super(`value for ${e} ${r} is invalid, please use a valid ${n}`), (this.name = 'InvalidStyleError'); + } + }; + o(jI, 'validateHexCode'); + o(Hce, 'validateNumber'); + o(Yce, 'validateSizeInPixels'); + }); + function Wu(t) { + return qr(t.trim(), YFe); + } + function WFe(t) { + wa.setData({ quadrant1Text: Wu(t.text) }); + } + function qFe(t) { + wa.setData({ quadrant2Text: Wu(t.text) }); + } + function XFe(t) { + wa.setData({ quadrant3Text: Wu(t.text) }); + } + function jFe(t) { + wa.setData({ quadrant4Text: Wu(t.text) }); + } + function KFe(t) { + wa.setData({ xAxisLeftText: Wu(t.text) }); + } + function QFe(t) { + wa.setData({ xAxisRightText: Wu(t.text) }); + } + function ZFe(t) { + wa.setData({ yAxisTopText: Wu(t.text) }); + } + function JFe(t) { + wa.setData({ yAxisBottomText: Wu(t.text) }); + } + function KI(t) { + let e = {}; + for (let r of t) { + let [n, i] = r.trim().split(/\s*:\s*/); + if (n === 'radius') { + if (Hce(i)) throw new S0(n, i, 'number'); + e.radius = parseInt(i); + } else if (n === 'color') { + if (jI(i)) throw new S0(n, i, 'hex code'); + e.color = i; + } else if (n === 'stroke-color') { + if (jI(i)) throw new S0(n, i, 'hex code'); + e.strokeColor = i; + } else if (n === 'stroke-width') { + if (Yce(i)) throw new S0(n, i, 'number of pixels (eg. 10px)'); + e.strokeWidth = i; + } else throw new Error(`style named ${n} is not supported.`); + } + return e; + } + function eze(t, e, r, n, i) { + let a = KI(i); + wa.addPoints([{ x: r, y: n, text: Wu(t.text), className: e, ...a }]); + } + function tze(t, e) { + wa.addClass(t, KI(e)); + } + function rze(t) { + wa.setConfig({ chartWidth: t }); + } + function nze(t) { + wa.setConfig({ chartHeight: t }); + } + function ize() { + let t = de(), + { themeVariables: e, quadrantChart: r } = t; + return ( + r && wa.setConfig(r), + wa.setThemeConfig({ + quadrant1Fill: e.quadrant1Fill, + quadrant2Fill: e.quadrant2Fill, + quadrant3Fill: e.quadrant3Fill, + quadrant4Fill: e.quadrant4Fill, + quadrant1TextFill: e.quadrant1TextFill, + quadrant2TextFill: e.quadrant2TextFill, + quadrant3TextFill: e.quadrant3TextFill, + quadrant4TextFill: e.quadrant4TextFill, + quadrantPointFill: e.quadrantPointFill, + quadrantPointTextFill: e.quadrantPointTextFill, + quadrantXAxisTextFill: e.quadrantXAxisTextFill, + quadrantYAxisTextFill: e.quadrantYAxisTextFill, + quadrantExternalBorderStrokeFill: e.quadrantExternalBorderStrokeFill, + quadrantInternalBorderStrokeFill: e.quadrantInternalBorderStrokeFill, + quadrantTitleFill: e.quadrantTitleFill + }), + wa.setData({ titleText: Xr() }), + wa.build() + ); + } + var YFe, + wa, + aze, + qce, + Xce = R(() => { + 'use strict'; + _t(); + rr(); + bi(); + Uce(); + Wce(); + YFe = de(); + o(Wu, 'textSanitizer'); + wa = new uE(); + o(WFe, 'setQuadrant1Text'); + o(qFe, 'setQuadrant2Text'); + o(XFe, 'setQuadrant3Text'); + o(jFe, 'setQuadrant4Text'); + o(KFe, 'setXAxisLeftText'); + o(QFe, 'setXAxisRightText'); + o(ZFe, 'setYAxisTopText'); + o(JFe, 'setYAxisBottomText'); + o(KI, 'parseStyles'); + o(eze, 'addPoint'); + o(tze, 'addClass'); + o(rze, 'setWidth'); + o(nze, 'setHeight'); + o(ize, 'getQuadrantData'); + (aze = o(function () { + wa.clear(), vr(); + }, 'clear')), + (qce = { + setWidth: rze, + setHeight: nze, + setQuadrant1Text: WFe, + setQuadrant2Text: qFe, + setQuadrant3Text: XFe, + setQuadrant4Text: jFe, + setXAxisLeftText: KFe, + setXAxisRightText: QFe, + setYAxisTopText: ZFe, + setYAxisBottomText: JFe, + parseStyles: KI, + addPoint: eze, + addClass: tze, + getQuadrantData: ize, + clear: aze, + setAccTitle: kr, + getAccTitle: Ar, + setDiagramTitle: nn, + getDiagramTitle: Xr, + getAccDescription: Lr, + setAccDescription: _r + }); + }); + var sze, + jce, + Kce = R(() => { + 'use strict'; + Zt(); + _t(); + ut(); + Yn(); + (sze = o((t, e, r, n) => { + function i(A) { + return A === 'top' ? 'hanging' : 'middle'; + } + o(i, 'getDominantBaseLine'); + function a(A) { + return A === 'left' ? 'start' : 'middle'; + } + o(a, 'getTextAnchor'); + function s(A) { + return `translate(${A.x}, ${A.y}) rotate(${A.rotation || 0})`; + } + o(s, 'getTransformation'); + let l = de(); + V.debug( + `Rendering quadrant chart +` + t + ); + let u = l.securityLevel, + h; + u === 'sandbox' && (h = $e('#i' + e)); + let d = (u === 'sandbox' ? $e(h.nodes()[0].contentDocument.body) : $e('body')).select(`[id="${e}"]`), + p = d.append('g').attr('class', 'main'), + m = l.quadrantChart?.chartWidth ?? 500, + g = l.quadrantChart?.chartHeight ?? 500; + Sr(d, g, m, l.quadrantChart?.useMaxWidth ?? !0), + d.attr('viewBox', '0 0 ' + m + ' ' + g), + n.db.setHeight(g), + n.db.setWidth(m); + let y = n.db.getQuadrantData(), + v = p.append('g').attr('class', 'quadrants'), + x = p.append('g').attr('class', 'border'), + b = p.append('g').attr('class', 'data-points'), + w = p.append('g').attr('class', 'labels'), + S = p.append('g').attr('class', 'title'); + y.title && + S.append('text') + .attr('x', 0) + .attr('y', 0) + .attr('fill', y.title.fill) + .attr('font-size', y.title.fontSize) + .attr('dominant-baseline', i(y.title.horizontalPos)) + .attr('text-anchor', a(y.title.verticalPos)) + .attr('transform', s(y.title)) + .text(y.title.text), + y.borderLines && + x + .selectAll('line') + .data(y.borderLines) + .enter() + .append('line') + .attr('x1', (A) => A.x1) + .attr('y1', (A) => A.y1) + .attr('x2', (A) => A.x2) + .attr('y2', (A) => A.y2) + .style('stroke', (A) => A.strokeFill) + .style('stroke-width', (A) => A.strokeWidth); + let T = v.selectAll('g.quadrant').data(y.quadrants).enter().append('g').attr('class', 'quadrant'); + T.append('rect') + .attr('x', (A) => A.x) + .attr('y', (A) => A.y) + .attr('width', (A) => A.width) + .attr('height', (A) => A.height) + .attr('fill', (A) => A.fill), + T.append('text') + .attr('x', 0) + .attr('y', 0) + .attr('fill', (A) => A.text.fill) + .attr('font-size', (A) => A.text.fontSize) + .attr('dominant-baseline', (A) => i(A.text.horizontalPos)) + .attr('text-anchor', (A) => a(A.text.verticalPos)) + .attr('transform', (A) => s(A.text)) + .text((A) => A.text.text), + w + .selectAll('g.label') + .data(y.axisLabels) + .enter() + .append('g') + .attr('class', 'label') + .append('text') + .attr('x', 0) + .attr('y', 0) + .text((A) => A.text) + .attr('fill', (A) => A.fill) + .attr('font-size', (A) => A.fontSize) + .attr('dominant-baseline', (A) => i(A.horizontalPos)) + .attr('text-anchor', (A) => a(A.verticalPos)) + .attr('transform', (A) => s(A)); + let _ = b.selectAll('g.data-point').data(y.points).enter().append('g').attr('class', 'data-point'); + _.append('circle') + .attr('cx', (A) => A.x) + .attr('cy', (A) => A.y) + .attr('r', (A) => A.radius) + .attr('fill', (A) => A.fill) + .attr('stroke', (A) => A.strokeColor) + .attr('stroke-width', (A) => A.strokeWidth), + _.append('text') + .attr('x', 0) + .attr('y', 0) + .text((A) => A.text.text) + .attr('fill', (A) => A.text.fill) + .attr('font-size', (A) => A.text.fontSize) + .attr('dominant-baseline', (A) => i(A.text.horizontalPos)) + .attr('text-anchor', (A) => a(A.text.verticalPos)) + .attr('transform', (A) => s(A.text)); + }, 'draw')), + (jce = { draw: sze }); + }); + var Qce = {}; + hr(Qce, { diagram: () => oze }); + var oze, + Zce = R(() => { + 'use strict'; + Vce(); + Xce(); + Kce(); + oze = { + parser: $ce, + db: qce, + renderer: jce, + styles: o(() => '', 'styles') + }; + }); + var QI, + tue, + rue = R(() => { + 'use strict'; + QI = (function () { + var t = o(function (O, D, P, F) { + for (P = P || {}, F = O.length; F--; P[O[F]] = D); + return P; + }, 'o'), + e = [1, 10, 12, 14, 16, 18, 19, 21, 23], + r = [2, 6], + n = [1, 3], + i = [1, 5], + a = [1, 6], + s = [1, 7], + l = [1, 5, 10, 12, 14, 16, 18, 19, 21, 23, 34, 35, 36], + u = [1, 25], + h = [1, 26], + f = [1, 28], + d = [1, 29], + p = [1, 30], + m = [1, 31], + g = [1, 32], + y = [1, 33], + v = [1, 34], + x = [1, 35], + b = [1, 36], + w = [1, 37], + S = [1, 43], + T = [1, 42], + E = [1, 47], + _ = [1, 50], + A = [1, 10, 12, 14, 16, 18, 19, 21, 23, 34, 35, 36], + L = [1, 10, 12, 14, 16, 18, 19, 21, 23, 24, 26, 27, 28, 34, 35, 36], + M = [ + 1, 10, 12, 14, 16, 18, 19, 21, 23, 24, 26, 27, 28, 34, 35, 36, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50 + ], + N = [1, 64], + k = { + trace: o(function () {}, 'trace'), + yy: {}, + symbols_: { + error: 2, + start: 3, + eol: 4, + XYCHART: 5, + chartConfig: 6, + document: 7, + CHART_ORIENTATION: 8, + statement: 9, + title: 10, + text: 11, + X_AXIS: 12, + parseXAxis: 13, + Y_AXIS: 14, + parseYAxis: 15, + LINE: 16, + plotData: 17, + BAR: 18, + acc_title: 19, + acc_title_value: 20, + acc_descr: 21, + acc_descr_value: 22, + acc_descr_multiline_value: 23, + SQUARE_BRACES_START: 24, + commaSeparatedNumbers: 25, + SQUARE_BRACES_END: 26, + NUMBER_WITH_DECIMAL: 27, + COMMA: 28, + xAxisData: 29, + bandData: 30, + ARROW_DELIMITER: 31, + commaSeparatedTexts: 32, + yAxisData: 33, + NEWLINE: 34, + SEMI: 35, + EOF: 36, + alphaNum: 37, + STR: 38, + MD_STR: 39, + alphaNumToken: 40, + AMP: 41, + NUM: 42, + ALPHA: 43, + PLUS: 44, + EQUALS: 45, + MULT: 46, + DOT: 47, + BRKT: 48, + MINUS: 49, + UNDERSCORE: 50, + $accept: 0, + $end: 1 + }, + terminals_: { + 2: 'error', + 5: 'XYCHART', + 8: 'CHART_ORIENTATION', + 10: 'title', + 12: 'X_AXIS', + 14: 'Y_AXIS', + 16: 'LINE', + 18: 'BAR', + 19: 'acc_title', + 20: 'acc_title_value', + 21: 'acc_descr', + 22: 'acc_descr_value', + 23: 'acc_descr_multiline_value', + 24: 'SQUARE_BRACES_START', + 26: 'SQUARE_BRACES_END', + 27: 'NUMBER_WITH_DECIMAL', + 28: 'COMMA', + 31: 'ARROW_DELIMITER', + 34: 'NEWLINE', + 35: 'SEMI', + 36: 'EOF', + 38: 'STR', + 39: 'MD_STR', + 41: 'AMP', + 42: 'NUM', + 43: 'ALPHA', + 44: 'PLUS', + 45: 'EQUALS', + 46: 'MULT', + 47: 'DOT', + 48: 'BRKT', + 49: 'MINUS', + 50: 'UNDERSCORE' + }, + productions_: [ + 0, + [3, 2], + [3, 3], + [3, 2], + [3, 1], + [6, 1], + [7, 0], + [7, 2], + [9, 2], + [9, 2], + [9, 2], + [9, 2], + [9, 2], + [9, 3], + [9, 2], + [9, 3], + [9, 2], + [9, 2], + [9, 1], + [17, 3], + [25, 3], + [25, 1], + [13, 1], + [13, 2], + [13, 1], + [29, 1], + [29, 3], + [30, 3], + [32, 3], + [32, 1], + [15, 1], + [15, 2], + [15, 1], + [33, 3], + [4, 1], + [4, 1], + [4, 1], + [11, 1], + [11, 1], + [11, 1], + [37, 1], + [37, 2], + [40, 1], + [40, 1], + [40, 1], + [40, 1], + [40, 1], + [40, 1], + [40, 1], + [40, 1], + [40, 1], + [40, 1] + ], + performAction: o(function (D, P, F, B, $, z, Y) { + var Q = z.length - 1; + switch ($) { + case 5: + B.setOrientation(z[Q]); + break; + case 9: + B.setDiagramTitle(z[Q].text.trim()); + break; + case 12: + B.setLineData({ text: '', type: 'text' }, z[Q]); + break; + case 13: + B.setLineData(z[Q - 1], z[Q]); + break; + case 14: + B.setBarData({ text: '', type: 'text' }, z[Q]); + break; + case 15: + B.setBarData(z[Q - 1], z[Q]); + break; + case 16: + (this.$ = z[Q].trim()), B.setAccTitle(this.$); + break; + case 17: + case 18: + (this.$ = z[Q].trim()), B.setAccDescription(this.$); + break; + case 19: + this.$ = z[Q - 1]; + break; + case 20: + this.$ = [Number(z[Q - 2]), ...z[Q]]; + break; + case 21: + this.$ = [Number(z[Q])]; + break; + case 22: + B.setXAxisTitle(z[Q]); + break; + case 23: + B.setXAxisTitle(z[Q - 1]); + break; + case 24: + B.setXAxisTitle({ type: 'text', text: '' }); + break; + case 25: + B.setXAxisBand(z[Q]); + break; + case 26: + B.setXAxisRangeData(Number(z[Q - 2]), Number(z[Q])); + break; + case 27: + this.$ = z[Q - 1]; + break; + case 28: + this.$ = [z[Q - 2], ...z[Q]]; + break; + case 29: + this.$ = [z[Q]]; + break; + case 30: + B.setYAxisTitle(z[Q]); + break; + case 31: + B.setYAxisTitle(z[Q - 1]); + break; + case 32: + B.setYAxisTitle({ type: 'text', text: '' }); + break; + case 33: + B.setYAxisRangeData(Number(z[Q - 2]), Number(z[Q])); + break; + case 37: + this.$ = { text: z[Q], type: 'text' }; + break; + case 38: + this.$ = { text: z[Q], type: 'text' }; + break; + case 39: + this.$ = { text: z[Q], type: 'markdown' }; + break; + case 40: + this.$ = z[Q]; + break; + case 41: + this.$ = z[Q - 1] + '' + z[Q]; + break; + } + }, 'anonymous'), + table: [ + t(e, r, { 3: 1, 4: 2, 7: 4, 5: n, 34: i, 35: a, 36: s }), + { 1: [3] }, + t(e, r, { 4: 2, 7: 4, 3: 8, 5: n, 34: i, 35: a, 36: s }), + t(e, r, { + 4: 2, + 7: 4, + 6: 9, + 3: 10, + 5: n, + 8: [1, 11], + 34: i, + 35: a, + 36: s + }), + { + 1: [2, 4], + 9: 12, + 10: [1, 13], + 12: [1, 14], + 14: [1, 15], + 16: [1, 16], + 18: [1, 17], + 19: [1, 18], + 21: [1, 19], + 23: [1, 20] + }, + t(l, [2, 34]), + t(l, [2, 35]), + t(l, [2, 36]), + { 1: [2, 1] }, + t(e, r, { 4: 2, 7: 4, 3: 21, 5: n, 34: i, 35: a, 36: s }), + { 1: [2, 3] }, + t(l, [2, 5]), + t(e, [2, 7], { 4: 22, 34: i, 35: a, 36: s }), + { + 11: 23, + 37: 24, + 38: u, + 39: h, + 40: 27, + 41: f, + 42: d, + 43: p, + 44: m, + 45: g, + 46: y, + 47: v, + 48: x, + 49: b, + 50: w + }, + { + 11: 39, + 13: 38, + 24: S, + 27: T, + 29: 40, + 30: 41, + 37: 24, + 38: u, + 39: h, + 40: 27, + 41: f, + 42: d, + 43: p, + 44: m, + 45: g, + 46: y, + 47: v, + 48: x, + 49: b, + 50: w + }, + { + 11: 45, + 15: 44, + 27: E, + 33: 46, + 37: 24, + 38: u, + 39: h, + 40: 27, + 41: f, + 42: d, + 43: p, + 44: m, + 45: g, + 46: y, + 47: v, + 48: x, + 49: b, + 50: w + }, + { + 11: 49, + 17: 48, + 24: _, + 37: 24, + 38: u, + 39: h, + 40: 27, + 41: f, + 42: d, + 43: p, + 44: m, + 45: g, + 46: y, + 47: v, + 48: x, + 49: b, + 50: w + }, + { + 11: 52, + 17: 51, + 24: _, + 37: 24, + 38: u, + 39: h, + 40: 27, + 41: f, + 42: d, + 43: p, + 44: m, + 45: g, + 46: y, + 47: v, + 48: x, + 49: b, + 50: w + }, + { 20: [1, 53] }, + { 22: [1, 54] }, + t(A, [2, 18]), + { 1: [2, 2] }, + t(A, [2, 8]), + t(A, [2, 9]), + t(L, [2, 37], { + 40: 55, + 41: f, + 42: d, + 43: p, + 44: m, + 45: g, + 46: y, + 47: v, + 48: x, + 49: b, + 50: w + }), + t(L, [2, 38]), + t(L, [2, 39]), + t(M, [2, 40]), + t(M, [2, 42]), + t(M, [2, 43]), + t(M, [2, 44]), + t(M, [2, 45]), + t(M, [2, 46]), + t(M, [2, 47]), + t(M, [2, 48]), + t(M, [2, 49]), + t(M, [2, 50]), + t(M, [2, 51]), + t(A, [2, 10]), + t(A, [2, 22], { 30: 41, 29: 56, 24: S, 27: T }), + t(A, [2, 24]), + t(A, [2, 25]), + { 31: [1, 57] }, + { + 11: 59, + 32: 58, + 37: 24, + 38: u, + 39: h, + 40: 27, + 41: f, + 42: d, + 43: p, + 44: m, + 45: g, + 46: y, + 47: v, + 48: x, + 49: b, + 50: w + }, + t(A, [2, 11]), + t(A, [2, 30], { 33: 60, 27: E }), + t(A, [2, 32]), + { 31: [1, 61] }, + t(A, [2, 12]), + { 17: 62, 24: _ }, + { 25: 63, 27: N }, + t(A, [2, 14]), + { 17: 65, 24: _ }, + t(A, [2, 16]), + t(A, [2, 17]), + t(M, [2, 41]), + t(A, [2, 23]), + { 27: [1, 66] }, + { 26: [1, 67] }, + { 26: [2, 29], 28: [1, 68] }, + t(A, [2, 31]), + { 27: [1, 69] }, + t(A, [2, 13]), + { 26: [1, 70] }, + { 26: [2, 21], 28: [1, 71] }, + t(A, [2, 15]), + t(A, [2, 26]), + t(A, [2, 27]), + { + 11: 59, + 32: 72, + 37: 24, + 38: u, + 39: h, + 40: 27, + 41: f, + 42: d, + 43: p, + 44: m, + 45: g, + 46: y, + 47: v, + 48: x, + 49: b, + 50: w + }, + t(A, [2, 33]), + t(A, [2, 19]), + { 25: 73, 27: N }, + { 26: [2, 28] }, + { 26: [2, 20] } + ], + defaultActions: { + 8: [2, 1], + 10: [2, 3], + 21: [2, 2], + 72: [2, 28], + 73: [2, 20] + }, + parseError: o(function (D, P) { + if (P.recoverable) this.trace(D); + else { + var F = new Error(D); + throw ((F.hash = P), F); + } + }, 'parseError'), + parse: o(function (D) { + var P = this, + F = [0], + B = [], + $ = [null], + z = [], + Y = this.table, + Q = '', + X = 0, + ie = 0, + j = 0, + J = 2, + Z = 1, + H = z.slice.call(arguments, 1), + q = Object.create(this.lexer), + K = { yy: {} }; + for (var se in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, se) && (K.yy[se] = this.yy[se]); + q.setInput(D, K.yy), + (K.yy.lexer = q), + (K.yy.parser = this), + typeof q.yylloc > 'u' && (q.yylloc = {}); + var ce = q.yylloc; + z.push(ce); + var ue = q.options && q.options.ranges; + typeof K.yy.parseError == 'function' + ? (this.parseError = K.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError); + function te(he) { + (F.length = F.length - 2 * he), ($.length = $.length - he), (z.length = z.length - he); + } + o(te, 'popStack'); + function De() { + var he; + return ( + (he = B.pop() || q.lex() || Z), + typeof he != 'number' && + (he instanceof Array && ((B = he), (he = B.pop())), + (he = P.symbols_[he] || he)), + he + ); + } + o(De, 'lex'); + for (var oe, ke, Ie, Se, Ue, Pe, _e = {}, me, W, fe, ge; ; ) { + if ( + ((Ie = F[F.length - 1]), + this.defaultActions[Ie] + ? (Se = this.defaultActions[Ie]) + : ((oe === null || typeof oe > 'u') && (oe = De()), (Se = Y[Ie] && Y[Ie][oe])), + typeof Se > 'u' || !Se.length || !Se[0]) + ) { + var re = ''; + ge = []; + for (me in Y[Ie]) + this.terminals_[me] && me > J && ge.push("'" + this.terminals_[me] + "'"); + q.showPosition + ? (re = + 'Parse error on line ' + + (X + 1) + + `: +` + + q.showPosition() + + ` +Expecting ` + + ge.join(', ') + + ", got '" + + (this.terminals_[oe] || oe) + + "'") + : (re = + 'Parse error on line ' + + (X + 1) + + ': Unexpected ' + + (oe == Z ? 'end of input' : "'" + (this.terminals_[oe] || oe) + "'")), + this.parseError(re, { + text: q.match, + token: this.terminals_[oe] || oe, + line: q.yylineno, + loc: ce, + expected: ge + }); + } + if (Se[0] instanceof Array && Se.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + Ie + ', token: ' + oe + ); + switch (Se[0]) { + case 1: + F.push(oe), + $.push(q.yytext), + z.push(q.yylloc), + F.push(Se[1]), + (oe = null), + ke + ? ((oe = ke), (ke = null)) + : ((ie = q.yyleng), + (Q = q.yytext), + (X = q.yylineno), + (ce = q.yylloc), + j > 0 && j--); + break; + case 2: + if ( + ((W = this.productions_[Se[1]][1]), + (_e.$ = $[$.length - W]), + (_e._$ = { + first_line: z[z.length - (W || 1)].first_line, + last_line: z[z.length - 1].last_line, + first_column: z[z.length - (W || 1)].first_column, + last_column: z[z.length - 1].last_column + }), + ue && + (_e._$.range = [ + z[z.length - (W || 1)].range[0], + z[z.length - 1].range[1] + ]), + (Pe = this.performAction.apply( + _e, + [Q, ie, X, K.yy, Se[1], $, z].concat(H) + )), + typeof Pe < 'u') + ) + return Pe; + W && + ((F = F.slice(0, -1 * W * 2)), + ($ = $.slice(0, -1 * W)), + (z = z.slice(0, -1 * W))), + F.push(this.productions_[Se[1]][0]), + $.push(_e.$), + z.push(_e._$), + (fe = Y[F[F.length - 2]][F[F.length - 1]]), + F.push(fe); + break; + case 3: + return !0; + } + } + return !0; + }, 'parse') + }, + I = (function () { + var O = { + EOF: 1, + parseError: o(function (P, F) { + if (this.yy.parser) this.yy.parser.parseError(P, F); + else throw new Error(P); + }, 'parseError'), + setInput: o(function (D, P) { + return ( + (this.yy = P || this.yy || {}), + (this._input = D), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, 'setInput'), + input: o(function () { + var D = this._input[0]; + (this.yytext += D), + this.yyleng++, + this.offset++, + (this.match += D), + (this.matched += D); + var P = D.match(/(?:\r\n?|\n).*/g); + return ( + P ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + D + ); + }, 'input'), + unput: o(function (D) { + var P = D.length, + F = D.split(/(?:\r\n?|\n)/g); + (this._input = D + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - P)), + (this.offset -= P); + var B = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + F.length - 1 && (this.yylineno -= F.length - 1); + var $ = this.yylloc.range; + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: F + ? (F.length === B.length ? this.yylloc.first_column : 0) + + B[B.length - F.length].length - + F[0].length + : this.yylloc.first_column - P + }), + this.options.ranges && (this.yylloc.range = [$[0], $[0] + this.yyleng - P]), + (this.yyleng = this.yytext.length), + this + ); + }, 'unput'), + more: o(function () { + return (this._more = !0), this; + }, 'more'), + reject: o(function () { + if (this.options.backtrack_lexer) this._backtrack = !0; + else + return this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + return this; + }, 'reject'), + less: o(function (D) { + this.unput(this.match.slice(D)); + }, 'less'), + pastInput: o(function () { + var D = this.matched.substr(0, this.matched.length - this.match.length); + return (D.length > 20 ? '...' : '') + D.substr(-20).replace(/\n/g, ''); + }, 'pastInput'), + upcomingInput: o(function () { + var D = this.match; + return ( + D.length < 20 && (D += this._input.substr(0, 20 - D.length)), + (D.substr(0, 20) + (D.length > 20 ? '...' : '')).replace(/\n/g, '') + ); + }, 'upcomingInput'), + showPosition: o(function () { + var D = this.pastInput(), + P = new Array(D.length + 1).join('-'); + return ( + D + + this.upcomingInput() + + ` +` + + P + + '^' + ); + }, 'showPosition'), + test_match: o(function (D, P) { + var F, B, $; + if ( + (this.options.backtrack_lexer && + (($ = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }), + this.options.ranges && ($.yylloc.range = this.yylloc.range.slice(0))), + (B = D[0].match(/(?:\r\n?|\n).*/g)), + B && (this.yylineno += B.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: B + ? B[B.length - 1].length - B[B.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + D[0].length + }), + (this.yytext += D[0]), + (this.match += D[0]), + (this.matches = D), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(D[0].length)), + (this.matched += D[0]), + (F = this.performAction.call( + this, + this.yy, + this, + P, + this.conditionStack[this.conditionStack.length - 1] + )), + this.done && this._input && (this.done = !1), + F) + ) + return F; + if (this._backtrack) { + for (var z in $) this[z] = $[z]; + return !1; + } + return !1; + }, 'test_match'), + next: o(function () { + if (this.done) return this.EOF; + this._input || (this.done = !0); + var D, P, F, B; + this._more || ((this.yytext = ''), (this.match = '')); + for (var $ = this._currentRules(), z = 0; z < $.length; z++) + if ( + ((F = this._input.match(this.rules[$[z]])), + F && (!P || F[0].length > P[0].length)) + ) { + if (((P = F), (B = z), this.options.backtrack_lexer)) { + if (((D = this.test_match(F, $[z])), D !== !1)) return D; + if (this._backtrack) { + P = !1; + continue; + } else return !1; + } else if (!this.options.flex) break; + } + return P + ? ((D = this.test_match(P, $[B])), D !== !1 ? D : !1) + : this._input === '' + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, 'next'), + lex: o(function () { + var P = this.next(); + return P || this.lex(); + }, 'lex'), + begin: o(function (P) { + this.conditionStack.push(P); + }, 'begin'), + popState: o(function () { + var P = this.conditionStack.length - 1; + return P > 0 ? this.conditionStack.pop() : this.conditionStack[0]; + }, 'popState'), + _currentRules: o(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules; + }, '_currentRules'), + topState: o(function (P) { + return ( + (P = this.conditionStack.length - 1 - Math.abs(P || 0)), + P >= 0 ? this.conditionStack[P] : 'INITIAL' + ); + }, 'topState'), + pushState: o(function (P) { + this.begin(P); + }, 'pushState'), + stateStackSize: o(function () { + return this.conditionStack.length; + }, 'stateStackSize'), + options: { 'case-insensitive': !0 }, + performAction: o(function (P, F, B, $) { + var z = $; + switch (B) { + case 0: + break; + case 1: + break; + case 2: + return this.popState(), 34; + break; + case 3: + return this.popState(), 34; + break; + case 4: + return 34; + case 5: + break; + case 6: + return 10; + case 7: + return this.pushState('acc_title'), 19; + break; + case 8: + return this.popState(), 'acc_title_value'; + break; + case 9: + return this.pushState('acc_descr'), 21; + break; + case 10: + return this.popState(), 'acc_descr_value'; + break; + case 11: + this.pushState('acc_descr_multiline'); + break; + case 12: + this.popState(); + break; + case 13: + return 'acc_descr_multiline_value'; + case 14: + return 5; + case 15: + return 8; + case 16: + return this.pushState('axis_data'), 'X_AXIS'; + break; + case 17: + return this.pushState('axis_data'), 'Y_AXIS'; + break; + case 18: + return this.pushState('axis_band_data'), 24; + break; + case 19: + return 31; + case 20: + return this.pushState('data'), 16; + break; + case 21: + return this.pushState('data'), 18; + break; + case 22: + return this.pushState('data_inner'), 24; + break; + case 23: + return 27; + case 24: + return this.popState(), 26; + break; + case 25: + this.popState(); + break; + case 26: + this.pushState('string'); + break; + case 27: + this.popState(); + break; + case 28: + return 'STR'; + case 29: + return 24; + case 30: + return 26; + case 31: + return 43; + case 32: + return 'COLON'; + case 33: + return 44; + case 34: + return 28; + case 35: + return 45; + case 36: + return 46; + case 37: + return 48; + case 38: + return 50; + case 39: + return 47; + case 40: + return 41; + case 41: + return 49; + case 42: + return 42; + case 43: + break; + case 44: + return 35; + case 45: + return 36; + } + }, 'anonymous'), + rules: [ + /^(?:%%(?!\{)[^\n]*)/i, + /^(?:[^\}]%%[^\n]*)/i, + /^(?:(\r?\n))/i, + /^(?:(\r?\n))/i, + /^(?:[\n\r]+)/i, + /^(?:%%[^\n]*)/i, + /^(?:title\b)/i, + /^(?:accTitle\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*\{\s*)/i, + /^(?:\{)/i, + /^(?:[^\}]*)/i, + /^(?:xychart-beta\b)/i, + /^(?:(?:vertical|horizontal))/i, + /^(?:x-axis\b)/i, + /^(?:y-axis\b)/i, + /^(?:\[)/i, + /^(?:-->)/i, + /^(?:line\b)/i, + /^(?:bar\b)/i, + /^(?:\[)/i, + /^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i, + /^(?:\])/i, + /^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i, + /^(?:["])/i, + /^(?:["])/i, + /^(?:[^"]*)/i, + /^(?:\[)/i, + /^(?:\])/i, + /^(?:[A-Za-z]+)/i, + /^(?::)/i, + /^(?:\+)/i, + /^(?:,)/i, + /^(?:=)/i, + /^(?:\*)/i, + /^(?:#)/i, + /^(?:[\_])/i, + /^(?:\.)/i, + /^(?:&)/i, + /^(?:-)/i, + /^(?:[0-9]+)/i, + /^(?:\s+)/i, + /^(?:;)/i, + /^(?:$)/i + ], + conditions: { + data_inner: { + rules: [ + 0, 1, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 20, 21, 23, 24, 25, 26, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45 + ], + inclusive: !0 + }, + data: { + rules: [ + 0, 1, 3, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 20, 21, 22, 25, 26, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45 + ], + inclusive: !0 + }, + axis_band_data: { + rules: [ + 0, 1, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 20, 21, 24, 25, 26, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45 + ], + inclusive: !0 + }, + axis_data: { + rules: [ + 0, 1, 2, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45 + ], + inclusive: !0 + }, + acc_descr_multiline: { rules: [12, 13], inclusive: !1 }, + acc_descr: { rules: [10], inclusive: !1 }, + acc_title: { rules: [8], inclusive: !1 }, + title: { rules: [], inclusive: !1 }, + md_string: { rules: [], inclusive: !1 }, + string: { rules: [27, 28], inclusive: !1 }, + INITIAL: { + rules: [ + 0, 1, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 20, 21, 25, 26, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45 + ], + inclusive: !0 + } + } + }; + return O; + })(); + k.lexer = I; + function C() { + this.yy = {}; + } + return o(C, 'Parser'), (C.prototype = k), (k.Parser = C), new C(); + })(); + QI.parser = QI; + tue = QI; + }); + function ZI(t) { + return t.type === 'bar'; + } + function hE(t) { + return t.type === 'band'; + } + function Ng(t) { + return t.type === 'linear'; + } + var fE = R(() => { + 'use strict'; + o(ZI, 'isBarPlot'); + o(hE, 'isBandAxisData'); + o(Ng, 'isLinearAxisData'); + }); + var Mg, + JI = R(() => { + 'use strict'; + Al(); + Mg = class { + constructor(e) { + this.parentGroup = e; + } + static { + o(this, 'TextDimensionCalculatorWithFont'); + } + getMaxDimension(e, r) { + if (!this.parentGroup) + return { + width: e.reduce((a, s) => Math.max(s.length, a), 0) * r, + height: r + }; + let n = { width: 0, height: 0 }, + i = this.parentGroup.append('g').attr('visibility', 'hidden').attr('font-size', r); + for (let a of e) { + let s = bj(i, 1, a), + l = s ? s.width : a.length * r, + u = s ? s.height : r; + (n.width = Math.max(n.width, l)), (n.height = Math.max(n.height, u)); + } + return i.remove(), n; + } + }; + }); + var Ig, + eO = R(() => { + 'use strict'; + Ig = class { + constructor(e, r, n, i) { + this.axisConfig = e; + this.title = r; + this.textDimensionCalculator = n; + this.axisThemeConfig = i; + this.boundingRect = { x: 0, y: 0, width: 0, height: 0 }; + this.axisPosition = 'left'; + this.showTitle = !1; + this.showLabel = !1; + this.showTick = !1; + this.showAxisLine = !1; + this.outerPadding = 0; + this.titleTextHeight = 0; + this.labelTextHeight = 0; + (this.range = [0, 10]), + (this.boundingRect = { x: 0, y: 0, width: 0, height: 0 }), + (this.axisPosition = 'left'); + } + static { + o(this, 'BaseAxis'); + } + setRange(e) { + (this.range = e), + this.axisPosition === 'left' || this.axisPosition === 'right' + ? (this.boundingRect.height = e[1] - e[0]) + : (this.boundingRect.width = e[1] - e[0]), + this.recalculateScale(); + } + getRange() { + return [this.range[0] + this.outerPadding, this.range[1] - this.outerPadding]; + } + setAxisPosition(e) { + (this.axisPosition = e), this.setRange(this.range); + } + getTickDistance() { + let e = this.getRange(); + return Math.abs(e[0] - e[1]) / this.getTickValues().length; + } + getAxisOuterPadding() { + return this.outerPadding; + } + getLabelDimension() { + return this.textDimensionCalculator.getMaxDimension( + this.getTickValues().map((e) => e.toString()), + this.axisConfig.labelFontSize + ); + } + recalculateOuterPaddingToDrawBar() { + 0.7 * this.getTickDistance() > this.outerPadding * 2 && + (this.outerPadding = Math.floor((0.7 * this.getTickDistance()) / 2)), + this.recalculateScale(); + } + calculateSpaceIfDrawnHorizontally(e) { + let r = e.height; + if ( + (this.axisConfig.showAxisLine && + r > this.axisConfig.axisLineWidth && + ((r -= this.axisConfig.axisLineWidth), (this.showAxisLine = !0)), + this.axisConfig.showLabel) + ) { + let n = this.getLabelDimension(), + i = 0.2 * e.width; + this.outerPadding = Math.min(n.width / 2, i); + let a = n.height + this.axisConfig.labelPadding * 2; + (this.labelTextHeight = n.height), a <= r && ((r -= a), (this.showLabel = !0)); + } + if ( + (this.axisConfig.showTick && + r >= this.axisConfig.tickLength && + ((this.showTick = !0), (r -= this.axisConfig.tickLength)), + this.axisConfig.showTitle && this.title) + ) { + let n = this.textDimensionCalculator.getMaxDimension( + [this.title], + this.axisConfig.titleFontSize + ), + i = n.height + this.axisConfig.titlePadding * 2; + (this.titleTextHeight = n.height), i <= r && ((r -= i), (this.showTitle = !0)); + } + (this.boundingRect.width = e.width), (this.boundingRect.height = e.height - r); + } + calculateSpaceIfDrawnVertical(e) { + let r = e.width; + if ( + (this.axisConfig.showAxisLine && + r > this.axisConfig.axisLineWidth && + ((r -= this.axisConfig.axisLineWidth), (this.showAxisLine = !0)), + this.axisConfig.showLabel) + ) { + let n = this.getLabelDimension(), + i = 0.2 * e.height; + this.outerPadding = Math.min(n.height / 2, i); + let a = n.width + this.axisConfig.labelPadding * 2; + a <= r && ((r -= a), (this.showLabel = !0)); + } + if ( + (this.axisConfig.showTick && + r >= this.axisConfig.tickLength && + ((this.showTick = !0), (r -= this.axisConfig.tickLength)), + this.axisConfig.showTitle && this.title) + ) { + let n = this.textDimensionCalculator.getMaxDimension( + [this.title], + this.axisConfig.titleFontSize + ), + i = n.height + this.axisConfig.titlePadding * 2; + (this.titleTextHeight = n.height), i <= r && ((r -= i), (this.showTitle = !0)); + } + (this.boundingRect.width = e.width - r), (this.boundingRect.height = e.height); + } + calculateSpace(e) { + return ( + this.axisPosition === 'left' || this.axisPosition === 'right' + ? this.calculateSpaceIfDrawnVertical(e) + : this.calculateSpaceIfDrawnHorizontally(e), + this.recalculateScale(), + { width: this.boundingRect.width, height: this.boundingRect.height } + ); + } + setBoundingBoxXY(e) { + (this.boundingRect.x = e.x), (this.boundingRect.y = e.y); + } + getDrawableElementsForLeftAxis() { + let e = []; + if (this.showAxisLine) { + let r = this.boundingRect.x + this.boundingRect.width - this.axisConfig.axisLineWidth / 2; + e.push({ + type: 'path', + groupTexts: ['left-axis', 'axisl-line'], + data: [ + { + path: `M ${r},${this.boundingRect.y} L ${r},${ + this.boundingRect.y + this.boundingRect.height + } `, + strokeFill: this.axisThemeConfig.axisLineColor, + strokeWidth: this.axisConfig.axisLineWidth + } + ] + }); + } + if ( + (this.showLabel && + e.push({ + type: 'text', + groupTexts: ['left-axis', 'label'], + data: this.getTickValues().map((r) => ({ + text: r.toString(), + x: + this.boundingRect.x + + this.boundingRect.width - + (this.showLabel ? this.axisConfig.labelPadding : 0) - + (this.showTick ? this.axisConfig.tickLength : 0) - + (this.showAxisLine ? this.axisConfig.axisLineWidth : 0), + y: this.getScaleValue(r), + fill: this.axisThemeConfig.labelColor, + fontSize: this.axisConfig.labelFontSize, + rotation: 0, + verticalPos: 'middle', + horizontalPos: 'right' + })) + }), + this.showTick) + ) { + let r = + this.boundingRect.x + + this.boundingRect.width - + (this.showAxisLine ? this.axisConfig.axisLineWidth : 0); + e.push({ + type: 'path', + groupTexts: ['left-axis', 'ticks'], + data: this.getTickValues().map((n) => ({ + path: `M ${r},${this.getScaleValue(n)} L ${ + r - this.axisConfig.tickLength + },${this.getScaleValue(n)}`, + strokeFill: this.axisThemeConfig.tickColor, + strokeWidth: this.axisConfig.tickWidth + })) + }); + } + return ( + this.showTitle && + e.push({ + type: 'text', + groupTexts: ['left-axis', 'title'], + data: [ + { + text: this.title, + x: this.boundingRect.x + this.axisConfig.titlePadding, + y: this.boundingRect.y + this.boundingRect.height / 2, + fill: this.axisThemeConfig.titleColor, + fontSize: this.axisConfig.titleFontSize, + rotation: 270, + verticalPos: 'top', + horizontalPos: 'center' + } + ] + }), + e + ); + } + getDrawableElementsForBottomAxis() { + let e = []; + if (this.showAxisLine) { + let r = this.boundingRect.y + this.axisConfig.axisLineWidth / 2; + e.push({ + type: 'path', + groupTexts: ['bottom-axis', 'axis-line'], + data: [ + { + path: `M ${this.boundingRect.x},${r} L ${ + this.boundingRect.x + this.boundingRect.width + },${r}`, + strokeFill: this.axisThemeConfig.axisLineColor, + strokeWidth: this.axisConfig.axisLineWidth + } + ] + }); + } + if ( + (this.showLabel && + e.push({ + type: 'text', + groupTexts: ['bottom-axis', 'label'], + data: this.getTickValues().map((r) => ({ + text: r.toString(), + x: this.getScaleValue(r), + y: + this.boundingRect.y + + this.axisConfig.labelPadding + + (this.showTick ? this.axisConfig.tickLength : 0) + + (this.showAxisLine ? this.axisConfig.axisLineWidth : 0), + fill: this.axisThemeConfig.labelColor, + fontSize: this.axisConfig.labelFontSize, + rotation: 0, + verticalPos: 'top', + horizontalPos: 'center' + })) + }), + this.showTick) + ) { + let r = this.boundingRect.y + (this.showAxisLine ? this.axisConfig.axisLineWidth : 0); + e.push({ + type: 'path', + groupTexts: ['bottom-axis', 'ticks'], + data: this.getTickValues().map((n) => ({ + path: `M ${this.getScaleValue(n)},${r} L ${this.getScaleValue(n)},${ + r + this.axisConfig.tickLength + }`, + strokeFill: this.axisThemeConfig.tickColor, + strokeWidth: this.axisConfig.tickWidth + })) + }); + } + return ( + this.showTitle && + e.push({ + type: 'text', + groupTexts: ['bottom-axis', 'title'], + data: [ + { + text: this.title, + x: this.range[0] + (this.range[1] - this.range[0]) / 2, + y: + this.boundingRect.y + + this.boundingRect.height - + this.axisConfig.titlePadding - + this.titleTextHeight, + fill: this.axisThemeConfig.titleColor, + fontSize: this.axisConfig.titleFontSize, + rotation: 0, + verticalPos: 'top', + horizontalPos: 'center' + } + ] + }), + e + ); + } + getDrawableElementsForTopAxis() { + let e = []; + if (this.showAxisLine) { + let r = this.boundingRect.y + this.boundingRect.height - this.axisConfig.axisLineWidth / 2; + e.push({ + type: 'path', + groupTexts: ['top-axis', 'axis-line'], + data: [ + { + path: `M ${this.boundingRect.x},${r} L ${ + this.boundingRect.x + this.boundingRect.width + },${r}`, + strokeFill: this.axisThemeConfig.axisLineColor, + strokeWidth: this.axisConfig.axisLineWidth + } + ] + }); + } + if ( + (this.showLabel && + e.push({ + type: 'text', + groupTexts: ['top-axis', 'label'], + data: this.getTickValues().map((r) => ({ + text: r.toString(), + x: this.getScaleValue(r), + y: + this.boundingRect.y + + (this.showTitle ? this.titleTextHeight + this.axisConfig.titlePadding * 2 : 0) + + this.axisConfig.labelPadding, + fill: this.axisThemeConfig.labelColor, + fontSize: this.axisConfig.labelFontSize, + rotation: 0, + verticalPos: 'top', + horizontalPos: 'center' + })) + }), + this.showTick) + ) { + let r = this.boundingRect.y; + e.push({ + type: 'path', + groupTexts: ['top-axis', 'ticks'], + data: this.getTickValues().map((n) => ({ + path: `M ${this.getScaleValue(n)},${ + r + + this.boundingRect.height - + (this.showAxisLine ? this.axisConfig.axisLineWidth : 0) + } L ${this.getScaleValue(n)},${ + r + + this.boundingRect.height - + this.axisConfig.tickLength - + (this.showAxisLine ? this.axisConfig.axisLineWidth : 0) + }`, + strokeFill: this.axisThemeConfig.tickColor, + strokeWidth: this.axisConfig.tickWidth + })) + }); + } + return ( + this.showTitle && + e.push({ + type: 'text', + groupTexts: ['top-axis', 'title'], + data: [ + { + text: this.title, + x: this.boundingRect.x + this.boundingRect.width / 2, + y: this.boundingRect.y + this.axisConfig.titlePadding, + fill: this.axisThemeConfig.titleColor, + fontSize: this.axisConfig.titleFontSize, + rotation: 0, + verticalPos: 'top', + horizontalPos: 'center' + } + ] + }), + e + ); + } + getDrawableElements() { + if (this.axisPosition === 'left') return this.getDrawableElementsForLeftAxis(); + if (this.axisPosition === 'right') throw Error('Drawing of right axis is not implemented'); + return this.axisPosition === 'bottom' + ? this.getDrawableElementsForBottomAxis() + : this.axisPosition === 'top' + ? this.getDrawableElementsForTopAxis() + : []; + } + }; + }); + var dE, + nue = R(() => { + 'use strict'; + Zt(); + ut(); + eO(); + dE = class extends Ig { + static { + o(this, 'BandAxis'); + } + constructor(e, r, n, i, a) { + super(e, i, a, r), + (this.categories = n), + (this.scale = Op().domain(this.categories).range(this.getRange())); + } + setRange(e) { + super.setRange(e); + } + recalculateScale() { + (this.scale = Op() + .domain(this.categories) + .range(this.getRange()) + .paddingInner(1) + .paddingOuter(0) + .align(0.5)), + V.trace('BandAxis axis final categories, range: ', this.categories, this.getRange()); + } + getTickValues() { + return this.categories; + } + getScaleValue(e) { + return this.scale(e) ?? this.getRange()[0]; + } + }; + }); + var pE, + iue = R(() => { + 'use strict'; + Zt(); + eO(); + pE = class extends Ig { + static { + o(this, 'LinearAxis'); + } + constructor(e, r, n, i, a) { + super(e, i, a, r), + (this.domain = n), + (this.scale = gl().domain(this.domain).range(this.getRange())); + } + getTickValues() { + return this.scale.ticks(); + } + recalculateScale() { + let e = [...this.domain]; + this.axisPosition === 'left' && e.reverse(), (this.scale = gl().domain(e).range(this.getRange())); + } + getScaleValue(e) { + return this.scale(e); + } + }; + }); + function tO(t, e, r, n) { + let i = new Mg(n); + return hE(t) ? new dE(e, r, t.categories, t.title, i) : new pE(e, r, [t.min, t.max], t.title, i); + } + var aue = R(() => { + 'use strict'; + fE(); + JI(); + nue(); + iue(); + o(tO, 'getAxis'); + }); + function sue(t, e, r, n) { + let i = new Mg(n); + return new rO(i, t, e, r); + } + var rO, + oue = R(() => { + 'use strict'; + JI(); + rO = class { + constructor(e, r, n, i) { + this.textDimensionCalculator = e; + this.chartConfig = r; + this.chartData = n; + this.chartThemeConfig = i; + (this.boundingRect = { x: 0, y: 0, width: 0, height: 0 }), (this.showChartTitle = !1); + } + static { + o(this, 'ChartTitle'); + } + setBoundingBoxXY(e) { + (this.boundingRect.x = e.x), (this.boundingRect.y = e.y); + } + calculateSpace(e) { + let r = this.textDimensionCalculator.getMaxDimension( + [this.chartData.title], + this.chartConfig.titleFontSize + ), + n = Math.max(r.width, e.width), + i = r.height + 2 * this.chartConfig.titlePadding; + return ( + r.width <= n && + r.height <= i && + this.chartConfig.showTitle && + this.chartData.title && + ((this.boundingRect.width = n), (this.boundingRect.height = i), (this.showChartTitle = !0)), + { width: this.boundingRect.width, height: this.boundingRect.height } + ); + } + getDrawableElements() { + let e = []; + return ( + this.showChartTitle && + e.push({ + groupTexts: ['chart-title'], + type: 'text', + data: [ + { + fontSize: this.chartConfig.titleFontSize, + text: this.chartData.title, + verticalPos: 'middle', + horizontalPos: 'center', + x: this.boundingRect.x + this.boundingRect.width / 2, + y: this.boundingRect.y + this.boundingRect.height / 2, + fill: this.chartThemeConfig.titleColor, + rotation: 0 + } + ] + }), + e + ); + } + }; + o(sue, 'getChartTitleComponent'); + }); + var mE, + lue = R(() => { + 'use strict'; + Zt(); + mE = class { + constructor(e, r, n, i, a) { + this.plotData = e; + this.xAxis = r; + this.yAxis = n; + this.orientation = i; + this.plotIndex = a; + } + static { + o(this, 'LinePlot'); + } + getDrawableElement() { + let e = this.plotData.data.map((n) => [ + this.xAxis.getScaleValue(n[0]), + this.yAxis.getScaleValue(n[1]) + ]), + r; + return ( + this.orientation === 'horizontal' + ? (r = ha() + .y((n) => n[0]) + .x((n) => n[1])(e)) + : (r = ha() + .x((n) => n[0]) + .y((n) => n[1])(e)), + r + ? [ + { + groupTexts: ['plot', `line-plot-${this.plotIndex}`], + type: 'path', + data: [ + { + path: r, + strokeFill: this.plotData.strokeFill, + strokeWidth: this.plotData.strokeWidth + } + ] + } + ] + : [] + ); + } + }; + }); + var gE, + cue = R(() => { + 'use strict'; + gE = class { + constructor(e, r, n, i, a, s) { + this.barData = e; + this.boundingRect = r; + this.xAxis = n; + this.yAxis = i; + this.orientation = a; + this.plotIndex = s; + } + static { + o(this, 'BarPlot'); + } + getDrawableElement() { + let e = this.barData.data.map((a) => [ + this.xAxis.getScaleValue(a[0]), + this.yAxis.getScaleValue(a[1]) + ]), + n = Math.min(this.xAxis.getAxisOuterPadding() * 2, this.xAxis.getTickDistance()) * (1 - 0.05), + i = n / 2; + return this.orientation === 'horizontal' + ? [ + { + groupTexts: ['plot', `bar-plot-${this.plotIndex}`], + type: 'rect', + data: e.map((a) => ({ + x: this.boundingRect.x, + y: a[0] - i, + height: n, + width: a[1] - this.boundingRect.x, + fill: this.barData.fill, + strokeWidth: 0, + strokeFill: this.barData.fill + })) + } + ] + : [ + { + groupTexts: ['plot', `bar-plot-${this.plotIndex}`], + type: 'rect', + data: e.map((a) => ({ + x: a[0] - i, + y: a[1], + width: n, + height: this.boundingRect.y + this.boundingRect.height - a[1], + fill: this.barData.fill, + strokeWidth: 0, + strokeFill: this.barData.fill + })) + } + ]; + } + }; + }); + function uue(t, e, r) { + return new nO(t, e, r); + } + var nO, + hue = R(() => { + 'use strict'; + lue(); + cue(); + nO = class { + constructor(e, r, n) { + this.chartConfig = e; + this.chartData = r; + this.chartThemeConfig = n; + this.boundingRect = { x: 0, y: 0, width: 0, height: 0 }; + } + static { + o(this, 'BasePlot'); + } + setAxes(e, r) { + (this.xAxis = e), (this.yAxis = r); + } + setBoundingBoxXY(e) { + (this.boundingRect.x = e.x), (this.boundingRect.y = e.y); + } + calculateSpace(e) { + return ( + (this.boundingRect.width = e.width), + (this.boundingRect.height = e.height), + { width: this.boundingRect.width, height: this.boundingRect.height } + ); + } + getDrawableElements() { + if (!(this.xAxis && this.yAxis)) throw Error('Axes must be passed to render Plots'); + let e = []; + for (let [r, n] of this.chartData.plots.entries()) + switch (n.type) { + case 'line': + { + let i = new mE(n, this.xAxis, this.yAxis, this.chartConfig.chartOrientation, r); + e.push(...i.getDrawableElement()); + } + break; + case 'bar': + { + let i = new gE( + n, + this.boundingRect, + this.xAxis, + this.yAxis, + this.chartConfig.chartOrientation, + r + ); + e.push(...i.getDrawableElement()); + } + break; + } + return e; + } + }; + o(uue, 'getPlotComponent'); + }); + var yE, + fue = R(() => { + 'use strict'; + aue(); + oue(); + hue(); + fE(); + yE = class { + constructor(e, r, n, i) { + this.chartConfig = e; + this.chartData = r; + this.componentStore = { + title: sue(e, r, n, i), + plot: uue(e, r, n), + xAxis: tO( + r.xAxis, + e.xAxis, + { + titleColor: n.xAxisTitleColor, + labelColor: n.xAxisLabelColor, + tickColor: n.xAxisTickColor, + axisLineColor: n.xAxisLineColor + }, + i + ), + yAxis: tO( + r.yAxis, + e.yAxis, + { + titleColor: n.yAxisTitleColor, + labelColor: n.yAxisLabelColor, + tickColor: n.yAxisTickColor, + axisLineColor: n.yAxisLineColor + }, + i + ) + }; + } + static { + o(this, 'Orchestrator'); + } + calculateVerticalSpace() { + let e = this.chartConfig.width, + r = this.chartConfig.height, + n = 0, + i = 0, + a = Math.floor((e * this.chartConfig.plotReservedSpacePercent) / 100), + s = Math.floor((r * this.chartConfig.plotReservedSpacePercent) / 100), + l = this.componentStore.plot.calculateSpace({ + width: a, + height: s + }); + (e -= l.width), + (r -= l.height), + (l = this.componentStore.title.calculateSpace({ + width: this.chartConfig.width, + height: r + })), + (i = l.height), + (r -= l.height), + this.componentStore.xAxis.setAxisPosition('bottom'), + (l = this.componentStore.xAxis.calculateSpace({ + width: e, + height: r + })), + (r -= l.height), + this.componentStore.yAxis.setAxisPosition('left'), + (l = this.componentStore.yAxis.calculateSpace({ + width: e, + height: r + })), + (n = l.width), + (e -= l.width), + e > 0 && ((a += e), (e = 0)), + r > 0 && ((s += r), (r = 0)), + this.componentStore.plot.calculateSpace({ width: a, height: s }), + this.componentStore.plot.setBoundingBoxXY({ x: n, y: i }), + this.componentStore.xAxis.setRange([n, n + a]), + this.componentStore.xAxis.setBoundingBoxXY({ x: n, y: i + s }), + this.componentStore.yAxis.setRange([i, i + s]), + this.componentStore.yAxis.setBoundingBoxXY({ x: 0, y: i }), + this.chartData.plots.some((u) => ZI(u)) && + this.componentStore.xAxis.recalculateOuterPaddingToDrawBar(); + } + calculateHorizontalSpace() { + let e = this.chartConfig.width, + r = this.chartConfig.height, + n = 0, + i = 0, + a = 0, + s = Math.floor((e * this.chartConfig.plotReservedSpacePercent) / 100), + l = Math.floor((r * this.chartConfig.plotReservedSpacePercent) / 100), + u = this.componentStore.plot.calculateSpace({ + width: s, + height: l + }); + (e -= u.width), + (r -= u.height), + (u = this.componentStore.title.calculateSpace({ + width: this.chartConfig.width, + height: r + })), + (n = u.height), + (r -= u.height), + this.componentStore.xAxis.setAxisPosition('left'), + (u = this.componentStore.xAxis.calculateSpace({ + width: e, + height: r + })), + (e -= u.width), + (i = u.width), + this.componentStore.yAxis.setAxisPosition('top'), + (u = this.componentStore.yAxis.calculateSpace({ + width: e, + height: r + })), + (r -= u.height), + (a = n + u.height), + e > 0 && ((s += e), (e = 0)), + r > 0 && ((l += r), (r = 0)), + this.componentStore.plot.calculateSpace({ width: s, height: l }), + this.componentStore.plot.setBoundingBoxXY({ x: i, y: a }), + this.componentStore.yAxis.setRange([i, i + s]), + this.componentStore.yAxis.setBoundingBoxXY({ x: i, y: n }), + this.componentStore.xAxis.setRange([a, a + l]), + this.componentStore.xAxis.setBoundingBoxXY({ x: 0, y: a }), + this.chartData.plots.some((h) => ZI(h)) && + this.componentStore.xAxis.recalculateOuterPaddingToDrawBar(); + } + calculateSpace() { + this.chartConfig.chartOrientation === 'horizontal' + ? this.calculateHorizontalSpace() + : this.calculateVerticalSpace(); + } + getDrawableElement() { + this.calculateSpace(); + let e = []; + this.componentStore.plot.setAxes(this.componentStore.xAxis, this.componentStore.yAxis); + for (let r of Object.values(this.componentStore)) e.push(...r.getDrawableElements()); + return e; + } + }; + }); + var vE, + due = R(() => { + 'use strict'; + fue(); + vE = class { + static { + o(this, 'XYChartBuilder'); + } + static build(e, r, n, i) { + return new yE(e, r, n, i).getDrawableElement(); + } + }; + }); + function mue() { + let t = hp(), + e = Or(); + return Ts(t.xyChart, e.themeVariables.xyChart); + } + function gue() { + let t = Or(); + return Ts(mr.xyChart, t.xyChart); + } + function yue() { + return { + yAxis: { type: 'linear', title: '', min: 1 / 0, max: -1 / 0 }, + xAxis: { type: 'band', title: '', categories: [] }, + title: '', + plots: [] + }; + } + function sO(t) { + let e = Or(); + return qr(t.trim(), e); + } + function hze(t) { + pue = t; + } + function fze(t) { + t === 'horizontal' ? (px.chartOrientation = 'horizontal') : (px.chartOrientation = 'vertical'); + } + function dze(t) { + sn.xAxis.title = sO(t.text); + } + function vue(t, e) { + (sn.xAxis = { type: 'linear', title: sn.xAxis.title, min: t, max: e }), (xE = !0); + } + function pze(t) { + (sn.xAxis = { + type: 'band', + title: sn.xAxis.title, + categories: t.map((e) => sO(e.text)) + }), + (xE = !0); + } + function mze(t) { + sn.yAxis.title = sO(t.text); + } + function gze(t, e) { + (sn.yAxis = { type: 'linear', title: sn.yAxis.title, min: t, max: e }), (aO = !0); + } + function yze(t) { + let e = Math.min(...t), + r = Math.max(...t), + n = Ng(sn.yAxis) ? sn.yAxis.min : 1 / 0, + i = Ng(sn.yAxis) ? sn.yAxis.max : -1 / 0; + sn.yAxis = { + type: 'linear', + title: sn.yAxis.title, + min: Math.min(n, e), + max: Math.max(i, r) + }; + } + function xue(t) { + let e = []; + if (t.length === 0) return e; + if (!xE) { + let r = Ng(sn.xAxis) ? sn.xAxis.min : 1 / 0, + n = Ng(sn.xAxis) ? sn.xAxis.max : -1 / 0; + vue(Math.min(r, 1), Math.max(n, t.length)); + } + if ((aO || yze(t), hE(sn.xAxis) && (e = sn.xAxis.categories.map((r, n) => [r, t[n]])), Ng(sn.xAxis))) { + let r = sn.xAxis.min, + n = sn.xAxis.max, + i = (n - r) / (t.length - 1), + a = []; + for (let s = r; s <= n; s += i) a.push(`${s}`); + e = a.map((s, l) => [s, t[l]]); + } + return e; + } + function bue(t) { + return iO[t === 0 ? 0 : t % iO.length]; + } + function vze(t, e) { + let r = xue(e); + sn.plots.push({ + type: 'line', + strokeFill: bue(dx), + strokeWidth: 2, + data: r + }), + dx++; + } + function xze(t, e) { + let r = xue(e); + sn.plots.push({ type: 'bar', fill: bue(dx), data: r }), dx++; + } + function bze() { + if (sn.plots.length === 0) throw Error('No Plot to render, please provide a plot with some data'); + return (sn.title = Xr()), vE.build(px, sn, mx, pue); + } + function wze() { + return mx; + } + function Tze() { + return px; + } + var dx, + pue, + px, + mx, + sn, + iO, + xE, + aO, + kze, + wue, + Tue = R(() => { + 'use strict'; + qs(); + sl(); + jb(); + xr(); + rr(); + bi(); + due(); + fE(); + (dx = 0), + (px = gue()), + (mx = mue()), + (sn = yue()), + (iO = mx.plotColorPalette.split(',').map((t) => t.trim())), + (xE = !1), + (aO = !1); + o(mue, 'getChartDefaultThemeConfig'); + o(gue, 'getChartDefaultConfig'); + o(yue, 'getChartDefaultData'); + o(sO, 'textSanitizer'); + o(hze, 'setTmpSVGG'); + o(fze, 'setOrientation'); + o(dze, 'setXAxisTitle'); + o(vue, 'setXAxisRangeData'); + o(pze, 'setXAxisBand'); + o(mze, 'setYAxisTitle'); + o(gze, 'setYAxisRangeData'); + o(yze, 'setYAxisRangeFromPlotData'); + o(xue, 'transformDataWithoutCategory'); + o(bue, 'getPlotColorFromPalette'); + o(vze, 'setLineData'); + o(xze, 'setBarData'); + o(bze, 'getDrawableElem'); + o(wze, 'getChartThemeConfig'); + o(Tze, 'getChartConfig'); + (kze = o(function () { + vr(), + (dx = 0), + (px = gue()), + (sn = yue()), + (mx = mue()), + (iO = mx.plotColorPalette.split(',').map((t) => t.trim())), + (xE = !1), + (aO = !1); + }, 'clear')), + (wue = { + getDrawableElem: bze, + clear: kze, + setAccTitle: kr, + getAccTitle: Ar, + setDiagramTitle: nn, + getDiagramTitle: Xr, + getAccDescription: Lr, + setAccDescription: _r, + setOrientation: fze, + setXAxisTitle: dze, + setXAxisRangeData: vue, + setXAxisBand: pze, + setYAxisTitle: mze, + setYAxisRangeData: gze, + setLineData: vze, + setBarData: xze, + setTmpSVGG: hze, + getChartThemeConfig: wze, + getChartConfig: Tze + }); + }); + var Eze, + kue, + Eue = R(() => { + 'use strict'; + ut(); + pf(); + Yn(); + (Eze = o((t, e, r, n) => { + let i = n.db, + a = i.getChartThemeConfig(), + s = i.getChartConfig(); + function l(v) { + return v === 'top' ? 'text-before-edge' : 'middle'; + } + o(l, 'getDominantBaseLine'); + function u(v) { + return v === 'left' ? 'start' : v === 'right' ? 'end' : 'middle'; + } + o(u, 'getTextAnchor'); + function h(v) { + return `translate(${v.x}, ${v.y}) rotate(${v.rotation || 0})`; + } + o(h, 'getTextTransformation'), + V.debug( + `Rendering xychart chart +` + t + ); + let f = Ps(e), + d = f.append('g').attr('class', 'main'), + p = d.append('rect').attr('width', s.width).attr('height', s.height).attr('class', 'background'); + Sr(f, s.height, s.width, !0), + f.attr('viewBox', `0 0 ${s.width} ${s.height}`), + p.attr('fill', a.backgroundColor), + i.setTmpSVGG(f.append('g').attr('class', 'mermaid-tmp-group')); + let m = i.getDrawableElem(), + g = {}; + function y(v) { + let x = d, + b = ''; + for (let [w] of v.entries()) { + let S = d; + w > 0 && g[b] && (S = g[b]), + (b += v[w]), + (x = g[b]), + x || (x = g[b] = S.append('g').attr('class', v[w])); + } + return x; + } + o(y, 'getGroup'); + for (let v of m) { + if (v.data.length === 0) continue; + let x = y(v.groupTexts); + switch (v.type) { + case 'rect': + x.selectAll('rect') + .data(v.data) + .enter() + .append('rect') + .attr('x', (b) => b.x) + .attr('y', (b) => b.y) + .attr('width', (b) => b.width) + .attr('height', (b) => b.height) + .attr('fill', (b) => b.fill) + .attr('stroke', (b) => b.strokeFill) + .attr('stroke-width', (b) => b.strokeWidth); + break; + case 'text': + x.selectAll('text') + .data(v.data) + .enter() + .append('text') + .attr('x', 0) + .attr('y', 0) + .attr('fill', (b) => b.fill) + .attr('font-size', (b) => b.fontSize) + .attr('dominant-baseline', (b) => l(b.verticalPos)) + .attr('text-anchor', (b) => u(b.horizontalPos)) + .attr('transform', (b) => h(b)) + .text((b) => b.text); + break; + case 'path': + x.selectAll('path') + .data(v.data) + .enter() + .append('path') + .attr('d', (b) => b.path) + .attr('fill', (b) => (b.fill ? b.fill : 'none')) + .attr('stroke', (b) => b.strokeFill) + .attr('stroke-width', (b) => b.strokeWidth); + break; + } + } + }, 'draw')), + (kue = { draw: Eze }); + }); + var Cue = {}; + hr(Cue, { diagram: () => Cze }); + var Cze, + Sue = R(() => { + 'use strict'; + rue(); + Tue(); + Eue(); + Cze = { parser: tue, db: wue, renderer: kue }; + }); + var oO, + Lue, + Due = R(() => { + 'use strict'; + oO = (function () { + var t = o(function (ie, j, J, Z) { + for (J = J || {}, Z = ie.length; Z--; J[ie[Z]] = j); + return J; + }, 'o'), + e = [1, 3], + r = [1, 4], + n = [1, 5], + i = [1, 6], + a = [5, 6, 8, 9, 11, 13, 31, 32, 33, 34, 35, 36, 44, 62, 63], + s = [1, 18], + l = [2, 7], + u = [1, 22], + h = [1, 23], + f = [1, 24], + d = [1, 25], + p = [1, 26], + m = [1, 27], + g = [1, 20], + y = [1, 28], + v = [1, 29], + x = [62, 63], + b = [5, 8, 9, 11, 13, 31, 32, 33, 34, 35, 36, 44, 51, 53, 62, 63], + w = [1, 47], + S = [1, 48], + T = [1, 49], + E = [1, 50], + _ = [1, 51], + A = [1, 52], + L = [1, 53], + M = [53, 54], + N = [1, 64], + k = [1, 60], + I = [1, 61], + C = [1, 62], + O = [1, 63], + D = [1, 65], + P = [1, 69], + F = [1, 70], + B = [1, 67], + $ = [1, 68], + z = [5, 8, 9, 11, 13, 31, 32, 33, 34, 35, 36, 44, 62, 63], + Y = { + trace: o(function () {}, 'trace'), + yy: {}, + symbols_: { + error: 2, + start: 3, + directive: 4, + NEWLINE: 5, + RD: 6, + diagram: 7, + EOF: 8, + acc_title: 9, + acc_title_value: 10, + acc_descr: 11, + acc_descr_value: 12, + acc_descr_multiline_value: 13, + requirementDef: 14, + elementDef: 15, + relationshipDef: 16, + requirementType: 17, + requirementName: 18, + STRUCT_START: 19, + requirementBody: 20, + ID: 21, + COLONSEP: 22, + id: 23, + TEXT: 24, + text: 25, + RISK: 26, + riskLevel: 27, + VERIFYMTHD: 28, + verifyType: 29, + STRUCT_STOP: 30, + REQUIREMENT: 31, + FUNCTIONAL_REQUIREMENT: 32, + INTERFACE_REQUIREMENT: 33, + PERFORMANCE_REQUIREMENT: 34, + PHYSICAL_REQUIREMENT: 35, + DESIGN_CONSTRAINT: 36, + LOW_RISK: 37, + MED_RISK: 38, + HIGH_RISK: 39, + VERIFY_ANALYSIS: 40, + VERIFY_DEMONSTRATION: 41, + VERIFY_INSPECTION: 42, + VERIFY_TEST: 43, + ELEMENT: 44, + elementName: 45, + elementBody: 46, + TYPE: 47, + type: 48, + DOCREF: 49, + ref: 50, + END_ARROW_L: 51, + relationship: 52, + LINE: 53, + END_ARROW_R: 54, + CONTAINS: 55, + COPIES: 56, + DERIVES: 57, + SATISFIES: 58, + VERIFIES: 59, + REFINES: 60, + TRACES: 61, + unqString: 62, + qString: 63, + $accept: 0, + $end: 1 + }, + terminals_: { + 2: 'error', + 5: 'NEWLINE', + 6: 'RD', + 8: 'EOF', + 9: 'acc_title', + 10: 'acc_title_value', + 11: 'acc_descr', + 12: 'acc_descr_value', + 13: 'acc_descr_multiline_value', + 19: 'STRUCT_START', + 21: 'ID', + 22: 'COLONSEP', + 24: 'TEXT', + 26: 'RISK', + 28: 'VERIFYMTHD', + 30: 'STRUCT_STOP', + 31: 'REQUIREMENT', + 32: 'FUNCTIONAL_REQUIREMENT', + 33: 'INTERFACE_REQUIREMENT', + 34: 'PERFORMANCE_REQUIREMENT', + 35: 'PHYSICAL_REQUIREMENT', + 36: 'DESIGN_CONSTRAINT', + 37: 'LOW_RISK', + 38: 'MED_RISK', + 39: 'HIGH_RISK', + 40: 'VERIFY_ANALYSIS', + 41: 'VERIFY_DEMONSTRATION', + 42: 'VERIFY_INSPECTION', + 43: 'VERIFY_TEST', + 44: 'ELEMENT', + 47: 'TYPE', + 49: 'DOCREF', + 51: 'END_ARROW_L', + 53: 'LINE', + 54: 'END_ARROW_R', + 55: 'CONTAINS', + 56: 'COPIES', + 57: 'DERIVES', + 58: 'SATISFIES', + 59: 'VERIFIES', + 60: 'REFINES', + 61: 'TRACES', + 62: 'unqString', + 63: 'qString' + }, + productions_: [ + 0, + [3, 3], + [3, 2], + [3, 4], + [4, 2], + [4, 2], + [4, 1], + [7, 0], + [7, 2], + [7, 2], + [7, 2], + [7, 2], + [7, 2], + [14, 5], + [20, 5], + [20, 5], + [20, 5], + [20, 5], + [20, 2], + [20, 1], + [17, 1], + [17, 1], + [17, 1], + [17, 1], + [17, 1], + [17, 1], + [27, 1], + [27, 1], + [27, 1], + [29, 1], + [29, 1], + [29, 1], + [29, 1], + [15, 5], + [46, 5], + [46, 5], + [46, 2], + [46, 1], + [16, 5], + [16, 5], + [52, 1], + [52, 1], + [52, 1], + [52, 1], + [52, 1], + [52, 1], + [52, 1], + [18, 1], + [18, 1], + [23, 1], + [23, 1], + [25, 1], + [25, 1], + [45, 1], + [45, 1], + [48, 1], + [48, 1], + [50, 1], + [50, 1] + ], + performAction: o(function (j, J, Z, H, q, K, se) { + var ce = K.length - 1; + switch (q) { + case 4: + (this.$ = K[ce].trim()), H.setAccTitle(this.$); + break; + case 5: + case 6: + (this.$ = K[ce].trim()), H.setAccDescription(this.$); + break; + case 7: + this.$ = []; + break; + case 13: + H.addRequirement(K[ce - 3], K[ce - 4]); + break; + case 14: + H.setNewReqId(K[ce - 2]); + break; + case 15: + H.setNewReqText(K[ce - 2]); + break; + case 16: + H.setNewReqRisk(K[ce - 2]); + break; + case 17: + H.setNewReqVerifyMethod(K[ce - 2]); + break; + case 20: + this.$ = H.RequirementType.REQUIREMENT; + break; + case 21: + this.$ = H.RequirementType.FUNCTIONAL_REQUIREMENT; + break; + case 22: + this.$ = H.RequirementType.INTERFACE_REQUIREMENT; + break; + case 23: + this.$ = H.RequirementType.PERFORMANCE_REQUIREMENT; + break; + case 24: + this.$ = H.RequirementType.PHYSICAL_REQUIREMENT; + break; + case 25: + this.$ = H.RequirementType.DESIGN_CONSTRAINT; + break; + case 26: + this.$ = H.RiskLevel.LOW_RISK; + break; + case 27: + this.$ = H.RiskLevel.MED_RISK; + break; + case 28: + this.$ = H.RiskLevel.HIGH_RISK; + break; + case 29: + this.$ = H.VerifyType.VERIFY_ANALYSIS; + break; + case 30: + this.$ = H.VerifyType.VERIFY_DEMONSTRATION; + break; + case 31: + this.$ = H.VerifyType.VERIFY_INSPECTION; + break; + case 32: + this.$ = H.VerifyType.VERIFY_TEST; + break; + case 33: + H.addElement(K[ce - 3]); + break; + case 34: + H.setNewElementType(K[ce - 2]); + break; + case 35: + H.setNewElementDocRef(K[ce - 2]); + break; + case 38: + H.addRelationship(K[ce - 2], K[ce], K[ce - 4]); + break; + case 39: + H.addRelationship(K[ce - 2], K[ce - 4], K[ce]); + break; + case 40: + this.$ = H.Relationships.CONTAINS; + break; + case 41: + this.$ = H.Relationships.COPIES; + break; + case 42: + this.$ = H.Relationships.DERIVES; + break; + case 43: + this.$ = H.Relationships.SATISFIES; + break; + case 44: + this.$ = H.Relationships.VERIFIES; + break; + case 45: + this.$ = H.Relationships.REFINES; + break; + case 46: + this.$ = H.Relationships.TRACES; + break; + } + }, 'anonymous'), + table: [ + { 3: 1, 4: 2, 6: e, 9: r, 11: n, 13: i }, + { 1: [3] }, + { 3: 8, 4: 2, 5: [1, 7], 6: e, 9: r, 11: n, 13: i }, + { 5: [1, 9] }, + { 10: [1, 10] }, + { 12: [1, 11] }, + t(a, [2, 6]), + { 3: 12, 4: 2, 6: e, 9: r, 11: n, 13: i }, + { 1: [2, 2] }, + { + 4: 17, + 5: s, + 7: 13, + 8: l, + 9: r, + 11: n, + 13: i, + 14: 14, + 15: 15, + 16: 16, + 17: 19, + 23: 21, + 31: u, + 32: h, + 33: f, + 34: d, + 35: p, + 36: m, + 44: g, + 62: y, + 63: v + }, + t(a, [2, 4]), + t(a, [2, 5]), + { 1: [2, 1] }, + { 8: [1, 30] }, + { + 4: 17, + 5: s, + 7: 31, + 8: l, + 9: r, + 11: n, + 13: i, + 14: 14, + 15: 15, + 16: 16, + 17: 19, + 23: 21, + 31: u, + 32: h, + 33: f, + 34: d, + 35: p, + 36: m, + 44: g, + 62: y, + 63: v + }, + { + 4: 17, + 5: s, + 7: 32, + 8: l, + 9: r, + 11: n, + 13: i, + 14: 14, + 15: 15, + 16: 16, + 17: 19, + 23: 21, + 31: u, + 32: h, + 33: f, + 34: d, + 35: p, + 36: m, + 44: g, + 62: y, + 63: v + }, + { + 4: 17, + 5: s, + 7: 33, + 8: l, + 9: r, + 11: n, + 13: i, + 14: 14, + 15: 15, + 16: 16, + 17: 19, + 23: 21, + 31: u, + 32: h, + 33: f, + 34: d, + 35: p, + 36: m, + 44: g, + 62: y, + 63: v + }, + { + 4: 17, + 5: s, + 7: 34, + 8: l, + 9: r, + 11: n, + 13: i, + 14: 14, + 15: 15, + 16: 16, + 17: 19, + 23: 21, + 31: u, + 32: h, + 33: f, + 34: d, + 35: p, + 36: m, + 44: g, + 62: y, + 63: v + }, + { + 4: 17, + 5: s, + 7: 35, + 8: l, + 9: r, + 11: n, + 13: i, + 14: 14, + 15: 15, + 16: 16, + 17: 19, + 23: 21, + 31: u, + 32: h, + 33: f, + 34: d, + 35: p, + 36: m, + 44: g, + 62: y, + 63: v + }, + { 18: 36, 62: [1, 37], 63: [1, 38] }, + { 45: 39, 62: [1, 40], 63: [1, 41] }, + { 51: [1, 42], 53: [1, 43] }, + t(x, [2, 20]), + t(x, [2, 21]), + t(x, [2, 22]), + t(x, [2, 23]), + t(x, [2, 24]), + t(x, [2, 25]), + t(b, [2, 49]), + t(b, [2, 50]), + { 1: [2, 3] }, + { 8: [2, 8] }, + { 8: [2, 9] }, + { 8: [2, 10] }, + { 8: [2, 11] }, + { 8: [2, 12] }, + { 19: [1, 44] }, + { 19: [2, 47] }, + { 19: [2, 48] }, + { 19: [1, 45] }, + { 19: [2, 53] }, + { 19: [2, 54] }, + { 52: 46, 55: w, 56: S, 57: T, 58: E, 59: _, 60: A, 61: L }, + { 52: 54, 55: w, 56: S, 57: T, 58: E, 59: _, 60: A, 61: L }, + { 5: [1, 55] }, + { 5: [1, 56] }, + { 53: [1, 57] }, + t(M, [2, 40]), + t(M, [2, 41]), + t(M, [2, 42]), + t(M, [2, 43]), + t(M, [2, 44]), + t(M, [2, 45]), + t(M, [2, 46]), + { 54: [1, 58] }, + { 5: N, 20: 59, 21: k, 24: I, 26: C, 28: O, 30: D }, + { 5: P, 30: F, 46: 66, 47: B, 49: $ }, + { 23: 71, 62: y, 63: v }, + { 23: 72, 62: y, 63: v }, + t(z, [2, 13]), + { 22: [1, 73] }, + { 22: [1, 74] }, + { 22: [1, 75] }, + { 22: [1, 76] }, + { 5: N, 20: 77, 21: k, 24: I, 26: C, 28: O, 30: D }, + t(z, [2, 19]), + t(z, [2, 33]), + { 22: [1, 78] }, + { 22: [1, 79] }, + { 5: P, 30: F, 46: 80, 47: B, 49: $ }, + t(z, [2, 37]), + t(z, [2, 38]), + t(z, [2, 39]), + { 23: 81, 62: y, 63: v }, + { 25: 82, 62: [1, 83], 63: [1, 84] }, + { 27: 85, 37: [1, 86], 38: [1, 87], 39: [1, 88] }, + { 29: 89, 40: [1, 90], 41: [1, 91], 42: [1, 92], 43: [1, 93] }, + t(z, [2, 18]), + { 48: 94, 62: [1, 95], 63: [1, 96] }, + { 50: 97, 62: [1, 98], 63: [1, 99] }, + t(z, [2, 36]), + { 5: [1, 100] }, + { 5: [1, 101] }, + { 5: [2, 51] }, + { 5: [2, 52] }, + { 5: [1, 102] }, + { 5: [2, 26] }, + { 5: [2, 27] }, + { 5: [2, 28] }, + { 5: [1, 103] }, + { 5: [2, 29] }, + { 5: [2, 30] }, + { 5: [2, 31] }, + { 5: [2, 32] }, + { 5: [1, 104] }, + { 5: [2, 55] }, + { 5: [2, 56] }, + { 5: [1, 105] }, + { 5: [2, 57] }, + { 5: [2, 58] }, + { 5: N, 20: 106, 21: k, 24: I, 26: C, 28: O, 30: D }, + { 5: N, 20: 107, 21: k, 24: I, 26: C, 28: O, 30: D }, + { 5: N, 20: 108, 21: k, 24: I, 26: C, 28: O, 30: D }, + { 5: N, 20: 109, 21: k, 24: I, 26: C, 28: O, 30: D }, + { 5: P, 30: F, 46: 110, 47: B, 49: $ }, + { 5: P, 30: F, 46: 111, 47: B, 49: $ }, + t(z, [2, 14]), + t(z, [2, 15]), + t(z, [2, 16]), + t(z, [2, 17]), + t(z, [2, 34]), + t(z, [2, 35]) + ], + defaultActions: { + 8: [2, 2], + 12: [2, 1], + 30: [2, 3], + 31: [2, 8], + 32: [2, 9], + 33: [2, 10], + 34: [2, 11], + 35: [2, 12], + 37: [2, 47], + 38: [2, 48], + 40: [2, 53], + 41: [2, 54], + 83: [2, 51], + 84: [2, 52], + 86: [2, 26], + 87: [2, 27], + 88: [2, 28], + 90: [2, 29], + 91: [2, 30], + 92: [2, 31], + 93: [2, 32], + 95: [2, 55], + 96: [2, 56], + 98: [2, 57], + 99: [2, 58] + }, + parseError: o(function (j, J) { + if (J.recoverable) this.trace(j); + else { + var Z = new Error(j); + throw ((Z.hash = J), Z); + } + }, 'parseError'), + parse: o(function (j) { + var J = this, + Z = [0], + H = [], + q = [null], + K = [], + se = this.table, + ce = '', + ue = 0, + te = 0, + De = 0, + oe = 2, + ke = 1, + Ie = K.slice.call(arguments, 1), + Se = Object.create(this.lexer), + Ue = { yy: {} }; + for (var Pe in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, Pe) && (Ue.yy[Pe] = this.yy[Pe]); + Se.setInput(j, Ue.yy), + (Ue.yy.lexer = Se), + (Ue.yy.parser = this), + typeof Se.yylloc > 'u' && (Se.yylloc = {}); + var _e = Se.yylloc; + K.push(_e); + var me = Se.options && Se.options.ranges; + typeof Ue.yy.parseError == 'function' + ? (this.parseError = Ue.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError); + function W(He) { + (Z.length = Z.length - 2 * He), (q.length = q.length - He), (K.length = K.length - He); + } + o(W, 'popStack'); + function fe() { + var He; + return ( + (He = H.pop() || Se.lex() || ke), + typeof He != 'number' && + (He instanceof Array && ((H = He), (He = H.pop())), + (He = J.symbols_[He] || He)), + He + ); + } + o(fe, 'lex'); + for (var ge, re, he, ne, ae, we, Te = {}, Ce, Ae, Ge, Me; ; ) { + if ( + ((he = Z[Z.length - 1]), + this.defaultActions[he] + ? (ne = this.defaultActions[he]) + : ((ge === null || typeof ge > 'u') && (ge = fe()), + (ne = se[he] && se[he][ge])), + typeof ne > 'u' || !ne.length || !ne[0]) + ) { + var ye = ''; + Me = []; + for (Ce in se[he]) + this.terminals_[Ce] && Ce > oe && Me.push("'" + this.terminals_[Ce] + "'"); + Se.showPosition + ? (ye = + 'Parse error on line ' + + (ue + 1) + + `: +` + + Se.showPosition() + + ` +Expecting ` + + Me.join(', ') + + ", got '" + + (this.terminals_[ge] || ge) + + "'") + : (ye = + 'Parse error on line ' + + (ue + 1) + + ': Unexpected ' + + (ge == ke ? 'end of input' : "'" + (this.terminals_[ge] || ge) + "'")), + this.parseError(ye, { + text: Se.match, + token: this.terminals_[ge] || ge, + line: Se.yylineno, + loc: _e, + expected: Me + }); + } + if (ne[0] instanceof Array && ne.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + he + ', token: ' + ge + ); + switch (ne[0]) { + case 1: + Z.push(ge), + q.push(Se.yytext), + K.push(Se.yylloc), + Z.push(ne[1]), + (ge = null), + re + ? ((ge = re), (re = null)) + : ((te = Se.yyleng), + (ce = Se.yytext), + (ue = Se.yylineno), + (_e = Se.yylloc), + De > 0 && De--); + break; + case 2: + if ( + ((Ae = this.productions_[ne[1]][1]), + (Te.$ = q[q.length - Ae]), + (Te._$ = { + first_line: K[K.length - (Ae || 1)].first_line, + last_line: K[K.length - 1].last_line, + first_column: K[K.length - (Ae || 1)].first_column, + last_column: K[K.length - 1].last_column + }), + me && + (Te._$.range = [ + K[K.length - (Ae || 1)].range[0], + K[K.length - 1].range[1] + ]), + (we = this.performAction.apply( + Te, + [ce, te, ue, Ue.yy, ne[1], q, K].concat(Ie) + )), + typeof we < 'u') + ) + return we; + Ae && + ((Z = Z.slice(0, -1 * Ae * 2)), + (q = q.slice(0, -1 * Ae)), + (K = K.slice(0, -1 * Ae))), + Z.push(this.productions_[ne[1]][0]), + q.push(Te.$), + K.push(Te._$), + (Ge = se[Z[Z.length - 2]][Z[Z.length - 1]]), + Z.push(Ge); + break; + case 3: + return !0; + } + } + return !0; + }, 'parse') + }, + Q = (function () { + var ie = { + EOF: 1, + parseError: o(function (J, Z) { + if (this.yy.parser) this.yy.parser.parseError(J, Z); + else throw new Error(J); + }, 'parseError'), + setInput: o(function (j, J) { + return ( + (this.yy = J || this.yy || {}), + (this._input = j), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, 'setInput'), + input: o(function () { + var j = this._input[0]; + (this.yytext += j), + this.yyleng++, + this.offset++, + (this.match += j), + (this.matched += j); + var J = j.match(/(?:\r\n?|\n).*/g); + return ( + J ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + j + ); + }, 'input'), + unput: o(function (j) { + var J = j.length, + Z = j.split(/(?:\r\n?|\n)/g); + (this._input = j + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - J)), + (this.offset -= J); + var H = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + Z.length - 1 && (this.yylineno -= Z.length - 1); + var q = this.yylloc.range; + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: Z + ? (Z.length === H.length ? this.yylloc.first_column : 0) + + H[H.length - Z.length].length - + Z[0].length + : this.yylloc.first_column - J + }), + this.options.ranges && (this.yylloc.range = [q[0], q[0] + this.yyleng - J]), + (this.yyleng = this.yytext.length), + this + ); + }, 'unput'), + more: o(function () { + return (this._more = !0), this; + }, 'more'), + reject: o(function () { + if (this.options.backtrack_lexer) this._backtrack = !0; + else + return this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + return this; + }, 'reject'), + less: o(function (j) { + this.unput(this.match.slice(j)); + }, 'less'), + pastInput: o(function () { + var j = this.matched.substr(0, this.matched.length - this.match.length); + return (j.length > 20 ? '...' : '') + j.substr(-20).replace(/\n/g, ''); + }, 'pastInput'), + upcomingInput: o(function () { + var j = this.match; + return ( + j.length < 20 && (j += this._input.substr(0, 20 - j.length)), + (j.substr(0, 20) + (j.length > 20 ? '...' : '')).replace(/\n/g, '') + ); + }, 'upcomingInput'), + showPosition: o(function () { + var j = this.pastInput(), + J = new Array(j.length + 1).join('-'); + return ( + j + + this.upcomingInput() + + ` +` + + J + + '^' + ); + }, 'showPosition'), + test_match: o(function (j, J) { + var Z, H, q; + if ( + (this.options.backtrack_lexer && + ((q = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }), + this.options.ranges && (q.yylloc.range = this.yylloc.range.slice(0))), + (H = j[0].match(/(?:\r\n?|\n).*/g)), + H && (this.yylineno += H.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: H + ? H[H.length - 1].length - H[H.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + j[0].length + }), + (this.yytext += j[0]), + (this.match += j[0]), + (this.matches = j), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(j[0].length)), + (this.matched += j[0]), + (Z = this.performAction.call( + this, + this.yy, + this, + J, + this.conditionStack[this.conditionStack.length - 1] + )), + this.done && this._input && (this.done = !1), + Z) + ) + return Z; + if (this._backtrack) { + for (var K in q) this[K] = q[K]; + return !1; + } + return !1; + }, 'test_match'), + next: o(function () { + if (this.done) return this.EOF; + this._input || (this.done = !0); + var j, J, Z, H; + this._more || ((this.yytext = ''), (this.match = '')); + for (var q = this._currentRules(), K = 0; K < q.length; K++) + if ( + ((Z = this._input.match(this.rules[q[K]])), + Z && (!J || Z[0].length > J[0].length)) + ) { + if (((J = Z), (H = K), this.options.backtrack_lexer)) { + if (((j = this.test_match(Z, q[K])), j !== !1)) return j; + if (this._backtrack) { + J = !1; + continue; + } else return !1; + } else if (!this.options.flex) break; + } + return J + ? ((j = this.test_match(J, q[H])), j !== !1 ? j : !1) + : this._input === '' + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, 'next'), + lex: o(function () { + var J = this.next(); + return J || this.lex(); + }, 'lex'), + begin: o(function (J) { + this.conditionStack.push(J); + }, 'begin'), + popState: o(function () { + var J = this.conditionStack.length - 1; + return J > 0 ? this.conditionStack.pop() : this.conditionStack[0]; + }, 'popState'), + _currentRules: o(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules; + }, '_currentRules'), + topState: o(function (J) { + return ( + (J = this.conditionStack.length - 1 - Math.abs(J || 0)), + J >= 0 ? this.conditionStack[J] : 'INITIAL' + ); + }, 'topState'), + pushState: o(function (J) { + this.begin(J); + }, 'pushState'), + stateStackSize: o(function () { + return this.conditionStack.length; + }, 'stateStackSize'), + options: { 'case-insensitive': !0 }, + performAction: o(function (J, Z, H, q) { + var K = q; + switch (H) { + case 0: + return 'title'; + case 1: + return this.begin('acc_title'), 9; + break; + case 2: + return this.popState(), 'acc_title_value'; + break; + case 3: + return this.begin('acc_descr'), 11; + break; + case 4: + return this.popState(), 'acc_descr_value'; + break; + case 5: + this.begin('acc_descr_multiline'); + break; + case 6: + this.popState(); + break; + case 7: + return 'acc_descr_multiline_value'; + case 8: + return 5; + case 9: + break; + case 10: + break; + case 11: + break; + case 12: + return 8; + case 13: + return 6; + case 14: + return 19; + case 15: + return 30; + case 16: + return 22; + case 17: + return 21; + case 18: + return 24; + case 19: + return 26; + case 20: + return 28; + case 21: + return 31; + case 22: + return 32; + case 23: + return 33; + case 24: + return 34; + case 25: + return 35; + case 26: + return 36; + case 27: + return 37; + case 28: + return 38; + case 29: + return 39; + case 30: + return 40; + case 31: + return 41; + case 32: + return 42; + case 33: + return 43; + case 34: + return 44; + case 35: + return 55; + case 36: + return 56; + case 37: + return 57; + case 38: + return 58; + case 39: + return 59; + case 40: + return 60; + case 41: + return 61; + case 42: + return 47; + case 43: + return 49; + case 44: + return 51; + case 45: + return 54; + case 46: + return 53; + case 47: + this.begin('string'); + break; + case 48: + this.popState(); + break; + case 49: + return 'qString'; + case 50: + return (Z.yytext = Z.yytext.trim()), 62; + break; + } + }, 'anonymous'), + rules: [ + /^(?:title\s[^#\n;]+)/i, + /^(?:accTitle\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*\{\s*)/i, + /^(?:[\}])/i, + /^(?:[^\}]*)/i, + /^(?:(\r?\n)+)/i, + /^(?:\s+)/i, + /^(?:#[^\n]*)/i, + /^(?:%[^\n]*)/i, + /^(?:$)/i, + /^(?:requirementDiagram\b)/i, + /^(?:\{)/i, + /^(?:\})/i, + /^(?::)/i, + /^(?:id\b)/i, + /^(?:text\b)/i, + /^(?:risk\b)/i, + /^(?:verifyMethod\b)/i, + /^(?:requirement\b)/i, + /^(?:functionalRequirement\b)/i, + /^(?:interfaceRequirement\b)/i, + /^(?:performanceRequirement\b)/i, + /^(?:physicalRequirement\b)/i, + /^(?:designConstraint\b)/i, + /^(?:low\b)/i, + /^(?:medium\b)/i, + /^(?:high\b)/i, + /^(?:analysis\b)/i, + /^(?:demonstration\b)/i, + /^(?:inspection\b)/i, + /^(?:test\b)/i, + /^(?:element\b)/i, + /^(?:contains\b)/i, + /^(?:copies\b)/i, + /^(?:derives\b)/i, + /^(?:satisfies\b)/i, + /^(?:verifies\b)/i, + /^(?:refines\b)/i, + /^(?:traces\b)/i, + /^(?:type\b)/i, + /^(?:docref\b)/i, + /^(?:<-)/i, + /^(?:->)/i, + /^(?:-)/i, + /^(?:["])/i, + /^(?:["])/i, + /^(?:[^"]*)/i, + /^(?:[\w][^\r\n\{\<\>\-\=]*)/i + ], + conditions: { + acc_descr_multiline: { rules: [6, 7], inclusive: !1 }, + acc_descr: { rules: [4], inclusive: !1 }, + acc_title: { rules: [2], inclusive: !1 }, + unqString: { rules: [], inclusive: !1 }, + token: { rules: [], inclusive: !1 }, + string: { rules: [48, 49], inclusive: !1 }, + INITIAL: { + rules: [ + 0, 1, 3, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 47, 50 + ], + inclusive: !0 + } + } + }; + return ie; + })(); + Y.lexer = Q; + function X() { + this.yy = {}; + } + return o(X, 'Parser'), (X.prototype = Y), (Y.Parser = X), new X(); + })(); + oO.parser = oO; + Lue = oO; + }); + var lO, + Bs, + gx, + mf, + yx, + Lze, + Dze, + Rze, + Nze, + Mze, + Ize, + Oze, + Pze, + Bze, + Fze, + zze, + Gze, + $ze, + Vze, + Uze, + Hze, + Yze, + Rue, + Nue = R(() => { + 'use strict'; + _t(); + ut(); + bi(); + (lO = []), + (Bs = {}), + (gx = new Map()), + (mf = {}), + (yx = new Map()), + (Lze = { + REQUIREMENT: 'Requirement', + FUNCTIONAL_REQUIREMENT: 'Functional Requirement', + INTERFACE_REQUIREMENT: 'Interface Requirement', + PERFORMANCE_REQUIREMENT: 'Performance Requirement', + PHYSICAL_REQUIREMENT: 'Physical Requirement', + DESIGN_CONSTRAINT: 'Design Constraint' + }), + (Dze = { LOW_RISK: 'Low', MED_RISK: 'Medium', HIGH_RISK: 'High' }), + (Rze = { + VERIFY_ANALYSIS: 'Analysis', + VERIFY_DEMONSTRATION: 'Demonstration', + VERIFY_INSPECTION: 'Inspection', + VERIFY_TEST: 'Test' + }), + (Nze = { + CONTAINS: 'contains', + COPIES: 'copies', + DERIVES: 'derives', + SATISFIES: 'satisfies', + VERIFIES: 'verifies', + REFINES: 'refines', + TRACES: 'traces' + }), + (Mze = o( + (t, e) => ( + gx.has(t) || + gx.set(t, { + name: t, + type: e, + id: Bs.id, + text: Bs.text, + risk: Bs.risk, + verifyMethod: Bs.verifyMethod + }), + (Bs = {}), + gx.get(t) + ), + 'addRequirement' + )), + (Ize = o(() => gx, 'getRequirements')), + (Oze = o((t) => { + Bs !== void 0 && (Bs.id = t); + }, 'setNewReqId')), + (Pze = o((t) => { + Bs !== void 0 && (Bs.text = t); + }, 'setNewReqText')), + (Bze = o((t) => { + Bs !== void 0 && (Bs.risk = t); + }, 'setNewReqRisk')), + (Fze = o((t) => { + Bs !== void 0 && (Bs.verifyMethod = t); + }, 'setNewReqVerifyMethod')), + (zze = o( + (t) => ( + yx.has(t) || + (yx.set(t, { name: t, type: mf.type, docRef: mf.docRef }), + V.info('Added new requirement: ', t)), + (mf = {}), + yx.get(t) + ), + 'addElement' + )), + (Gze = o(() => yx, 'getElements')), + ($ze = o((t) => { + mf !== void 0 && (mf.type = t); + }, 'setNewElementType')), + (Vze = o((t) => { + mf !== void 0 && (mf.docRef = t); + }, 'setNewElementDocRef')), + (Uze = o((t, e, r) => { + lO.push({ type: t, src: e, dst: r }); + }, 'addRelationship')), + (Hze = o(() => lO, 'getRelationships')), + (Yze = o(() => { + (lO = []), (Bs = {}), (gx = new Map()), (mf = {}), (yx = new Map()), vr(); + }, 'clear')), + (Rue = { + RequirementType: Lze, + RiskLevel: Dze, + VerifyType: Rze, + Relationships: Nze, + getConfig: o(() => de().req, 'getConfig'), + addRequirement: Mze, + getRequirements: Ize, + setNewReqId: Oze, + setNewReqText: Pze, + setNewReqRisk: Bze, + setNewReqVerifyMethod: Fze, + setAccTitle: kr, + getAccTitle: Ar, + setAccDescription: _r, + getAccDescription: Lr, + addElement: zze, + getElements: Gze, + setNewElementType: $ze, + setNewElementDocRef: Vze, + addRelationship: Uze, + getRelationships: Hze, + clear: Yze + }); + }); + var Wze, + Mue, + Iue = R(() => { + 'use strict'; + (Wze = o( + (t) => ` + + marker { + fill: ${t.relationColor}; + stroke: ${t.relationColor}; + } + + marker.cross { + stroke: ${t.lineColor}; + } + + svg { + font-family: ${t.fontFamily}; + font-size: ${t.fontSize}; + } + + .reqBox { + fill: ${t.requirementBackground}; + fill-opacity: 1.0; + stroke: ${t.requirementBorderColor}; + stroke-width: ${t.requirementBorderSize}; + } + + .reqTitle, .reqLabel{ + fill: ${t.requirementTextColor}; + } + .reqLabelBox { + fill: ${t.relationLabelBackground}; + fill-opacity: 1.0; + } + + .req-title-line { + stroke: ${t.requirementBorderColor}; + stroke-width: ${t.requirementBorderSize}; + } + .relationshipLine { + stroke: ${t.relationColor}; + stroke-width: 1; + } + .relationshipLabel { + fill: ${t.relationLabelColor}; + } + +`, + 'getStyles' + )), + (Mue = Wze); + }); + var cO, + qze, + uO, + Oue = R(() => { + 'use strict'; + (cO = { CONTAINS: 'contains', ARROW: 'arrow' }), + (qze = o((t, e) => { + let r = t + .append('defs') + .append('marker') + .attr('id', cO.CONTAINS + '_line_ending') + .attr('refX', 0) + .attr('refY', e.line_height / 2) + .attr('markerWidth', e.line_height) + .attr('markerHeight', e.line_height) + .attr('orient', 'auto') + .append('g'); + r + .append('circle') + .attr('cx', e.line_height / 2) + .attr('cy', e.line_height / 2) + .attr('r', e.line_height / 2) + .attr('fill', 'none'), + r + .append('line') + .attr('x1', 0) + .attr('x2', e.line_height) + .attr('y1', e.line_height / 2) + .attr('y2', e.line_height / 2) + .attr('stroke-width', 1), + r + .append('line') + .attr('y1', 0) + .attr('y2', e.line_height) + .attr('x1', e.line_height / 2) + .attr('x2', e.line_height / 2) + .attr('stroke-width', 1), + t + .append('defs') + .append('marker') + .attr('id', cO.ARROW + '_line_ending') + .attr('refX', e.line_height) + .attr('refY', 0.5 * e.line_height) + .attr('markerWidth', e.line_height) + .attr('markerHeight', e.line_height) + .attr('orient', 'auto') + .append('path') + .attr( + 'd', + `M0,0 + L${e.line_height},${e.line_height / 2} + M${e.line_height},${e.line_height / 2} + L0,${e.line_height}` + ) + .attr('stroke-width', 1); + }, 'insertLineEndings')), + (uO = { ReqMarkers: cO, insertLineEndings: qze }); + }); + var ai, + Pue, + Bue, + Fue, + zue, + Xze, + jze, + Kze, + Qze, + Zze, + Jze, + Og, + eGe, + Gue, + $ue = R(() => { + 'use strict'; + Zt(); + Vd(); + ya(); + _t(); + ut(); + Yn(); + rr(); + Oue(); + (ai = {}), + (Pue = 0), + (Bue = o( + (t, e) => + t + .insert('rect', '#' + e) + .attr('class', 'req reqBox') + .attr('x', 0) + .attr('y', 0) + .attr('width', ai.rect_min_width + 'px') + .attr('height', ai.rect_min_height + 'px'), + 'newRectNode' + )), + (Fue = o((t, e, r) => { + let n = ai.rect_min_width / 2, + i = t + .append('text') + .attr('class', 'req reqLabel reqTitle') + .attr('id', e) + .attr('x', n) + .attr('y', ai.rect_padding) + .attr('dominant-baseline', 'hanging'), + a = 0; + r.forEach((h) => { + a == 0 + ? i + .append('tspan') + .attr('text-anchor', 'middle') + .attr('x', ai.rect_min_width / 2) + .attr('dy', 0) + .text(h) + : i + .append('tspan') + .attr('text-anchor', 'middle') + .attr('x', ai.rect_min_width / 2) + .attr('dy', ai.line_height * 0.75) + .text(h), + a++; + }); + let s = 1.5 * ai.rect_padding, + l = a * ai.line_height * 0.75, + u = s + l; + return ( + t + .append('line') + .attr('class', 'req-title-line') + .attr('x1', '0') + .attr('x2', ai.rect_min_width) + .attr('y1', u) + .attr('y2', u), + { titleNode: i, y: u } + ); + }, 'newTitleNode')), + (zue = o((t, e, r, n) => { + let i = t + .append('text') + .attr('class', 'req reqLabel') + .attr('id', e) + .attr('x', ai.rect_padding) + .attr('y', n) + .attr('dominant-baseline', 'hanging'), + a = 0, + s = 30, + l = []; + return ( + r.forEach((u) => { + let h = u.length; + for (; h > s && a < 3; ) { + let f = u.substring(0, s); + (u = u.substring(s, u.length)), (h = u.length), (l[l.length] = f), a++; + } + if (a == 3) { + let f = l[l.length - 1]; + l[l.length - 1] = f.substring(0, f.length - 4) + '...'; + } else l[l.length] = u; + a = 0; + }), + l.forEach((u) => { + i.append('tspan').attr('x', ai.rect_padding).attr('dy', ai.line_height).text(u); + }), + i + ); + }, 'newBodyNode')), + (Xze = o((t, e, r, n) => { + let i = e.node().getTotalLength(), + a = e.node().getPointAtLength(i * 0.5), + s = 'rel' + Pue; + Pue++; + let u = t + .append('text') + .attr('class', 'req relationshipLabel') + .attr('id', s) + .attr('x', a.x) + .attr('y', a.y) + .attr('text-anchor', 'middle') + .attr('dominant-baseline', 'middle') + .text(n) + .node() + .getBBox(); + t.insert('rect', '#' + s) + .attr('class', 'req reqLabelBox') + .attr('x', a.x - u.width / 2) + .attr('y', a.y - u.height / 2) + .attr('width', u.width) + .attr('height', u.height) + .attr('fill', 'white') + .attr('fill-opacity', '85%'); + }, 'addEdgeLabel')), + (jze = o(function (t, e, r, n, i) { + let a = r.edge(Og(e.src), Og(e.dst)), + s = ha() + .x(function (u) { + return u.x; + }) + .y(function (u) { + return u.y; + }), + l = t + .insert('path', '#' + n) + .attr('class', 'er relationshipLine') + .attr('d', s(a.points)) + .attr('fill', 'none'); + e.type == i.db.Relationships.CONTAINS + ? l.attr( + 'marker-start', + 'url(' + We.getUrl(ai.arrowMarkerAbsolute) + '#' + e.type + '_line_ending)' + ) + : (l.attr('stroke-dasharray', '10,7'), + l.attr( + 'marker-end', + 'url(' + We.getUrl(ai.arrowMarkerAbsolute) + '#' + uO.ReqMarkers.ARROW + '_line_ending)' + )), + Xze(t, l, ai, `<<${e.type}>>`); + }, 'drawRelationshipFromLayout')), + (Kze = o((t, e, r) => { + t.forEach((n, i) => { + (i = Og(i)), V.info('Added new requirement: ', i); + let a = r.append('g').attr('id', i), + s = 'req-' + i, + l = Bue(a, s), + u = [], + h = Fue(a, i + '_title', [`<<${n.type}>>`, `${n.name}`]); + u.push(h.titleNode); + let f = zue( + a, + i + '_body', + [`Id: ${n.id}`, `Text: ${n.text}`, `Risk: ${n.risk}`, `Verification: ${n.verifyMethod}`], + h.y + ); + u.push(f); + let d = l.node().getBBox(); + e.setNode(i, { + width: d.width, + height: d.height, + shape: 'rect', + id: i + }); + }); + }, 'drawReqs')), + (Qze = o((t, e, r) => { + t.forEach((n, i) => { + let a = Og(i), + s = r.append('g').attr('id', a), + l = 'element-' + a, + u = Bue(s, l), + h = [], + f = Fue(s, l + '_title', ['<>', `${i}`]); + h.push(f.titleNode); + let d = zue( + s, + l + '_body', + [`Type: ${n.type || 'Not Specified'}`, `Doc Ref: ${n.docRef || 'None'}`], + f.y + ); + h.push(d); + let p = u.node().getBBox(); + e.setNode(a, { + width: p.width, + height: p.height, + shape: 'rect', + id: a + }); + }); + }, 'drawElements')), + (Zze = o( + (t, e) => ( + t.forEach(function (r) { + let n = Og(r.src), + i = Og(r.dst); + e.setEdge(n, i, { relationship: r }); + }), + t + ), + 'addRelationships' + )), + (Jze = o(function (t, e) { + e.nodes().forEach(function (r) { + r !== void 0 && + e.node(r) !== void 0 && + (t.select('#' + r), + t + .select('#' + r) + .attr( + 'transform', + 'translate(' + + (e.node(r).x - e.node(r).width / 2) + + ',' + + (e.node(r).y - e.node(r).height / 2) + + ' )' + )); + }); + }, 'adjustEntities')), + (Og = o((t) => t.replace(/\s/g, '').replace(/\./g, '_'), 'elementString')), + (eGe = o((t, e, r, n) => { + ai = de().requirement; + let i = ai.securityLevel, + a; + i === 'sandbox' && (a = $e('#i' + e)); + let l = (i === 'sandbox' ? $e(a.nodes()[0].contentDocument.body) : $e('body')).select( + `[id='${e}']` + ); + uO.insertLineEndings(l, ai); + let u = new lr({ multigraph: !1, compound: !1, directed: !0 }) + .setGraph({ + rankdir: ai.layoutDirection, + marginx: 20, + marginy: 20, + nodesep: 100, + edgesep: 100, + ranksep: 100 + }) + .setDefaultEdgeLabel(function () { + return {}; + }), + h = n.db.getRequirements(), + f = n.db.getElements(), + d = n.db.getRelationships(); + Kze(h, u, l), + Qze(f, u, l), + Zze(d, u), + lo(u), + Jze(l, u), + d.forEach(function (v) { + jze(l, v, u, e, n); + }); + let p = ai.rect_padding, + m = l.node().getBBox(), + g = m.width + p * 2, + y = m.height + p * 2; + Sr(l, y, g, ai.useMaxWidth), l.attr('viewBox', `${m.x - p} ${m.y - p} ${g} ${y}`); + }, 'draw')), + (Gue = { draw: eGe }); + }); + var Vue = {}; + hr(Vue, { diagram: () => tGe }); + var tGe, + Uue = R(() => { + 'use strict'; + Due(); + Nue(); + Iue(); + $ue(); + tGe = { parser: Lue, db: Rue, renderer: Gue, styles: Mue }; + }); + var hO, + Wue, + que = R(() => { + 'use strict'; + hO = (function () { + var t = o(function (H, q, K, se) { + for (K = K || {}, se = H.length; se--; K[H[se]] = q); + return K; + }, 'o'), + e = [1, 2], + r = [1, 3], + n = [1, 4], + i = [2, 4], + a = [1, 9], + s = [1, 11], + l = [1, 13], + u = [1, 14], + h = [1, 16], + f = [1, 17], + d = [1, 18], + p = [1, 24], + m = [1, 25], + g = [1, 26], + y = [1, 27], + v = [1, 28], + x = [1, 29], + b = [1, 30], + w = [1, 31], + S = [1, 32], + T = [1, 33], + E = [1, 34], + _ = [1, 35], + A = [1, 36], + L = [1, 37], + M = [1, 38], + N = [1, 39], + k = [1, 41], + I = [1, 42], + C = [1, 43], + O = [1, 44], + D = [1, 45], + P = [1, 46], + F = [ + 1, 4, 5, 13, 14, 16, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 47, 48, 49, + 50, 52, 53, 54, 59, 60, 61, 62, 70 + ], + B = [4, 5, 16, 50, 52, 53], + $ = [ + 4, 5, 13, 14, 16, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 50, 52, 53, + 54, 59, 60, 61, 62, 70 + ], + z = [ + 4, 5, 13, 14, 16, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 49, 50, 52, + 53, 54, 59, 60, 61, 62, 70 + ], + Y = [ + 4, 5, 13, 14, 16, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 48, 50, 52, + 53, 54, 59, 60, 61, 62, 70 + ], + Q = [ + 4, 5, 13, 14, 16, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 47, 50, 52, + 53, 54, 59, 60, 61, 62, 70 + ], + X = [68, 69, 70], + ie = [1, 122], + j = { + trace: o(function () {}, 'trace'), + yy: {}, + symbols_: { + error: 2, + start: 3, + SPACE: 4, + NEWLINE: 5, + SD: 6, + document: 7, + line: 8, + statement: 9, + box_section: 10, + box_line: 11, + participant_statement: 12, + create: 13, + box: 14, + restOfLine: 15, + end: 16, + signal: 17, + autonumber: 18, + NUM: 19, + off: 20, + activate: 21, + actor: 22, + deactivate: 23, + note_statement: 24, + links_statement: 25, + link_statement: 26, + properties_statement: 27, + details_statement: 28, + title: 29, + legacy_title: 30, + acc_title: 31, + acc_title_value: 32, + acc_descr: 33, + acc_descr_value: 34, + acc_descr_multiline_value: 35, + loop: 36, + rect: 37, + opt: 38, + alt: 39, + else_sections: 40, + par: 41, + par_sections: 42, + par_over: 43, + critical: 44, + option_sections: 45, + break: 46, + option: 47, + and: 48, + else: 49, + participant: 50, + AS: 51, + participant_actor: 52, + destroy: 53, + note: 54, + placement: 55, + text2: 56, + over: 57, + actor_pair: 58, + links: 59, + link: 60, + properties: 61, + details: 62, + spaceList: 63, + ',': 64, + left_of: 65, + right_of: 66, + signaltype: 67, + '+': 68, + '-': 69, + ACTOR: 70, + SOLID_OPEN_ARROW: 71, + DOTTED_OPEN_ARROW: 72, + SOLID_ARROW: 73, + BIDIRECTIONAL_SOLID_ARROW: 74, + DOTTED_ARROW: 75, + BIDIRECTIONAL_DOTTED_ARROW: 76, + SOLID_CROSS: 77, + DOTTED_CROSS: 78, + SOLID_POINT: 79, + DOTTED_POINT: 80, + TXT: 81, + $accept: 0, + $end: 1 + }, + terminals_: { + 2: 'error', + 4: 'SPACE', + 5: 'NEWLINE', + 6: 'SD', + 13: 'create', + 14: 'box', + 15: 'restOfLine', + 16: 'end', + 18: 'autonumber', + 19: 'NUM', + 20: 'off', + 21: 'activate', + 23: 'deactivate', + 29: 'title', + 30: 'legacy_title', + 31: 'acc_title', + 32: 'acc_title_value', + 33: 'acc_descr', + 34: 'acc_descr_value', + 35: 'acc_descr_multiline_value', + 36: 'loop', + 37: 'rect', + 38: 'opt', + 39: 'alt', + 41: 'par', + 43: 'par_over', + 44: 'critical', + 46: 'break', + 47: 'option', + 48: 'and', + 49: 'else', + 50: 'participant', + 51: 'AS', + 52: 'participant_actor', + 53: 'destroy', + 54: 'note', + 57: 'over', + 59: 'links', + 60: 'link', + 61: 'properties', + 62: 'details', + 64: ',', + 65: 'left_of', + 66: 'right_of', + 68: '+', + 69: '-', + 70: 'ACTOR', + 71: 'SOLID_OPEN_ARROW', + 72: 'DOTTED_OPEN_ARROW', + 73: 'SOLID_ARROW', + 74: 'BIDIRECTIONAL_SOLID_ARROW', + 75: 'DOTTED_ARROW', + 76: 'BIDIRECTIONAL_DOTTED_ARROW', + 77: 'SOLID_CROSS', + 78: 'DOTTED_CROSS', + 79: 'SOLID_POINT', + 80: 'DOTTED_POINT', + 81: 'TXT' + }, + productions_: [ + 0, + [3, 2], + [3, 2], + [3, 2], + [7, 0], + [7, 2], + [8, 2], + [8, 1], + [8, 1], + [10, 0], + [10, 2], + [11, 2], + [11, 1], + [11, 1], + [9, 1], + [9, 2], + [9, 4], + [9, 2], + [9, 4], + [9, 3], + [9, 3], + [9, 2], + [9, 3], + [9, 3], + [9, 2], + [9, 2], + [9, 2], + [9, 2], + [9, 2], + [9, 1], + [9, 1], + [9, 2], + [9, 2], + [9, 1], + [9, 4], + [9, 4], + [9, 4], + [9, 4], + [9, 4], + [9, 4], + [9, 4], + [9, 4], + [45, 1], + [45, 4], + [42, 1], + [42, 4], + [40, 1], + [40, 4], + [12, 5], + [12, 3], + [12, 5], + [12, 3], + [12, 3], + [24, 4], + [24, 4], + [25, 3], + [26, 3], + [27, 3], + [28, 3], + [63, 2], + [63, 1], + [58, 3], + [58, 1], + [55, 1], + [55, 1], + [17, 5], + [17, 5], + [17, 4], + [22, 1], + [67, 1], + [67, 1], + [67, 1], + [67, 1], + [67, 1], + [67, 1], + [67, 1], + [67, 1], + [67, 1], + [67, 1], + [56, 1] + ], + performAction: o(function (q, K, se, ce, ue, te, De) { + var oe = te.length - 1; + switch (ue) { + case 3: + return ce.apply(te[oe]), te[oe]; + break; + case 4: + case 9: + this.$ = []; + break; + case 5: + case 10: + te[oe - 1].push(te[oe]), (this.$ = te[oe - 1]); + break; + case 6: + case 7: + case 11: + case 12: + this.$ = te[oe]; + break; + case 8: + case 13: + this.$ = []; + break; + case 15: + (te[oe].type = 'createParticipant'), (this.$ = te[oe]); + break; + case 16: + te[oe - 1].unshift({ + type: 'boxStart', + boxData: ce.parseBoxData(te[oe - 2]) + }), + te[oe - 1].push({ type: 'boxEnd', boxText: te[oe - 2] }), + (this.$ = te[oe - 1]); + break; + case 18: + this.$ = { + type: 'sequenceIndex', + sequenceIndex: Number(te[oe - 2]), + sequenceIndexStep: Number(te[oe - 1]), + sequenceVisible: !0, + signalType: ce.LINETYPE.AUTONUMBER + }; + break; + case 19: + this.$ = { + type: 'sequenceIndex', + sequenceIndex: Number(te[oe - 1]), + sequenceIndexStep: 1, + sequenceVisible: !0, + signalType: ce.LINETYPE.AUTONUMBER + }; + break; + case 20: + this.$ = { + type: 'sequenceIndex', + sequenceVisible: !1, + signalType: ce.LINETYPE.AUTONUMBER + }; + break; + case 21: + this.$ = { + type: 'sequenceIndex', + sequenceVisible: !0, + signalType: ce.LINETYPE.AUTONUMBER + }; + break; + case 22: + this.$ = { + type: 'activeStart', + signalType: ce.LINETYPE.ACTIVE_START, + actor: te[oe - 1].actor + }; + break; + case 23: + this.$ = { + type: 'activeEnd', + signalType: ce.LINETYPE.ACTIVE_END, + actor: te[oe - 1].actor + }; + break; + case 29: + ce.setDiagramTitle(te[oe].substring(6)), (this.$ = te[oe].substring(6)); + break; + case 30: + ce.setDiagramTitle(te[oe].substring(7)), (this.$ = te[oe].substring(7)); + break; + case 31: + (this.$ = te[oe].trim()), ce.setAccTitle(this.$); + break; + case 32: + case 33: + (this.$ = te[oe].trim()), ce.setAccDescription(this.$); + break; + case 34: + te[oe - 1].unshift({ + type: 'loopStart', + loopText: ce.parseMessage(te[oe - 2]), + signalType: ce.LINETYPE.LOOP_START + }), + te[oe - 1].push({ + type: 'loopEnd', + loopText: te[oe - 2], + signalType: ce.LINETYPE.LOOP_END + }), + (this.$ = te[oe - 1]); + break; + case 35: + te[oe - 1].unshift({ + type: 'rectStart', + color: ce.parseMessage(te[oe - 2]), + signalType: ce.LINETYPE.RECT_START + }), + te[oe - 1].push({ + type: 'rectEnd', + color: ce.parseMessage(te[oe - 2]), + signalType: ce.LINETYPE.RECT_END + }), + (this.$ = te[oe - 1]); + break; + case 36: + te[oe - 1].unshift({ + type: 'optStart', + optText: ce.parseMessage(te[oe - 2]), + signalType: ce.LINETYPE.OPT_START + }), + te[oe - 1].push({ + type: 'optEnd', + optText: ce.parseMessage(te[oe - 2]), + signalType: ce.LINETYPE.OPT_END + }), + (this.$ = te[oe - 1]); + break; + case 37: + te[oe - 1].unshift({ + type: 'altStart', + altText: ce.parseMessage(te[oe - 2]), + signalType: ce.LINETYPE.ALT_START + }), + te[oe - 1].push({ + type: 'altEnd', + signalType: ce.LINETYPE.ALT_END + }), + (this.$ = te[oe - 1]); + break; + case 38: + te[oe - 1].unshift({ + type: 'parStart', + parText: ce.parseMessage(te[oe - 2]), + signalType: ce.LINETYPE.PAR_START + }), + te[oe - 1].push({ + type: 'parEnd', + signalType: ce.LINETYPE.PAR_END + }), + (this.$ = te[oe - 1]); + break; + case 39: + te[oe - 1].unshift({ + type: 'parStart', + parText: ce.parseMessage(te[oe - 2]), + signalType: ce.LINETYPE.PAR_OVER_START + }), + te[oe - 1].push({ + type: 'parEnd', + signalType: ce.LINETYPE.PAR_END + }), + (this.$ = te[oe - 1]); + break; + case 40: + te[oe - 1].unshift({ + type: 'criticalStart', + criticalText: ce.parseMessage(te[oe - 2]), + signalType: ce.LINETYPE.CRITICAL_START + }), + te[oe - 1].push({ + type: 'criticalEnd', + signalType: ce.LINETYPE.CRITICAL_END + }), + (this.$ = te[oe - 1]); + break; + case 41: + te[oe - 1].unshift({ + type: 'breakStart', + breakText: ce.parseMessage(te[oe - 2]), + signalType: ce.LINETYPE.BREAK_START + }), + te[oe - 1].push({ + type: 'breakEnd', + optText: ce.parseMessage(te[oe - 2]), + signalType: ce.LINETYPE.BREAK_END + }), + (this.$ = te[oe - 1]); + break; + case 43: + this.$ = te[oe - 3].concat([ + { + type: 'option', + optionText: ce.parseMessage(te[oe - 1]), + signalType: ce.LINETYPE.CRITICAL_OPTION + }, + te[oe] + ]); + break; + case 45: + this.$ = te[oe - 3].concat([ + { + type: 'and', + parText: ce.parseMessage(te[oe - 1]), + signalType: ce.LINETYPE.PAR_AND + }, + te[oe] + ]); + break; + case 47: + this.$ = te[oe - 3].concat([ + { + type: 'else', + altText: ce.parseMessage(te[oe - 1]), + signalType: ce.LINETYPE.ALT_ELSE + }, + te[oe] + ]); + break; + case 48: + (te[oe - 3].draw = 'participant'), + (te[oe - 3].type = 'addParticipant'), + (te[oe - 3].description = ce.parseMessage(te[oe - 1])), + (this.$ = te[oe - 3]); + break; + case 49: + (te[oe - 1].draw = 'participant'), + (te[oe - 1].type = 'addParticipant'), + (this.$ = te[oe - 1]); + break; + case 50: + (te[oe - 3].draw = 'actor'), + (te[oe - 3].type = 'addParticipant'), + (te[oe - 3].description = ce.parseMessage(te[oe - 1])), + (this.$ = te[oe - 3]); + break; + case 51: + (te[oe - 1].draw = 'actor'), + (te[oe - 1].type = 'addParticipant'), + (this.$ = te[oe - 1]); + break; + case 52: + (te[oe - 1].type = 'destroyParticipant'), (this.$ = te[oe - 1]); + break; + case 53: + this.$ = [ + te[oe - 1], + { + type: 'addNote', + placement: te[oe - 2], + actor: te[oe - 1].actor, + text: te[oe] + } + ]; + break; + case 54: + (te[oe - 2] = [].concat(te[oe - 1], te[oe - 1]).slice(0, 2)), + (te[oe - 2][0] = te[oe - 2][0].actor), + (te[oe - 2][1] = te[oe - 2][1].actor), + (this.$ = [ + te[oe - 1], + { + type: 'addNote', + placement: ce.PLACEMENT.OVER, + actor: te[oe - 2].slice(0, 2), + text: te[oe] + } + ]); + break; + case 55: + this.$ = [te[oe - 1], { type: 'addLinks', actor: te[oe - 1].actor, text: te[oe] }]; + break; + case 56: + this.$ = [te[oe - 1], { type: 'addALink', actor: te[oe - 1].actor, text: te[oe] }]; + break; + case 57: + this.$ = [ + te[oe - 1], + { + type: 'addProperties', + actor: te[oe - 1].actor, + text: te[oe] + } + ]; + break; + case 58: + this.$ = [ + te[oe - 1], + { + type: 'addDetails', + actor: te[oe - 1].actor, + text: te[oe] + } + ]; + break; + case 61: + this.$ = [te[oe - 2], te[oe]]; + break; + case 62: + this.$ = te[oe]; + break; + case 63: + this.$ = ce.PLACEMENT.LEFTOF; + break; + case 64: + this.$ = ce.PLACEMENT.RIGHTOF; + break; + case 65: + this.$ = [ + te[oe - 4], + te[oe - 1], + { + type: 'addMessage', + from: te[oe - 4].actor, + to: te[oe - 1].actor, + signalType: te[oe - 3], + msg: te[oe], + activate: !0 + }, + { + type: 'activeStart', + signalType: ce.LINETYPE.ACTIVE_START, + actor: te[oe - 1].actor + } + ]; + break; + case 66: + this.$ = [ + te[oe - 4], + te[oe - 1], + { + type: 'addMessage', + from: te[oe - 4].actor, + to: te[oe - 1].actor, + signalType: te[oe - 3], + msg: te[oe] + }, + { + type: 'activeEnd', + signalType: ce.LINETYPE.ACTIVE_END, + actor: te[oe - 4].actor + } + ]; + break; + case 67: + this.$ = [ + te[oe - 3], + te[oe - 1], + { + type: 'addMessage', + from: te[oe - 3].actor, + to: te[oe - 1].actor, + signalType: te[oe - 2], + msg: te[oe] + } + ]; + break; + case 68: + this.$ = { type: 'addParticipant', actor: te[oe] }; + break; + case 69: + this.$ = ce.LINETYPE.SOLID_OPEN; + break; + case 70: + this.$ = ce.LINETYPE.DOTTED_OPEN; + break; + case 71: + this.$ = ce.LINETYPE.SOLID; + break; + case 72: + this.$ = ce.LINETYPE.BIDIRECTIONAL_SOLID; + break; + case 73: + this.$ = ce.LINETYPE.DOTTED; + break; + case 74: + this.$ = ce.LINETYPE.BIDIRECTIONAL_DOTTED; + break; + case 75: + this.$ = ce.LINETYPE.SOLID_CROSS; + break; + case 76: + this.$ = ce.LINETYPE.DOTTED_CROSS; + break; + case 77: + this.$ = ce.LINETYPE.SOLID_POINT; + break; + case 78: + this.$ = ce.LINETYPE.DOTTED_POINT; + break; + case 79: + this.$ = ce.parseMessage(te[oe].trim().substring(1)); + break; + } + }, 'anonymous'), + table: [ + { 3: 1, 4: e, 5: r, 6: n }, + { 1: [3] }, + { 3: 5, 4: e, 5: r, 6: n }, + { 3: 6, 4: e, 5: r, 6: n }, + t( + [ + 1, 4, 5, 13, 14, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 50, + 52, 53, 54, 59, 60, 61, 62, 70 + ], + i, + { 7: 7 } + ), + { 1: [2, 1] }, + { 1: [2, 2] }, + { + 1: [2, 3], + 4: a, + 5: s, + 8: 8, + 9: 10, + 12: 12, + 13: l, + 14: u, + 17: 15, + 18: h, + 21: f, + 22: 40, + 23: d, + 24: 19, + 25: 20, + 26: 21, + 27: 22, + 28: 23, + 29: p, + 30: m, + 31: g, + 33: y, + 35: v, + 36: x, + 37: b, + 38: w, + 39: S, + 41: T, + 43: E, + 44: _, + 46: A, + 50: L, + 52: M, + 53: N, + 54: k, + 59: I, + 60: C, + 61: O, + 62: D, + 70: P + }, + t(F, [2, 5]), + { + 9: 47, + 12: 12, + 13: l, + 14: u, + 17: 15, + 18: h, + 21: f, + 22: 40, + 23: d, + 24: 19, + 25: 20, + 26: 21, + 27: 22, + 28: 23, + 29: p, + 30: m, + 31: g, + 33: y, + 35: v, + 36: x, + 37: b, + 38: w, + 39: S, + 41: T, + 43: E, + 44: _, + 46: A, + 50: L, + 52: M, + 53: N, + 54: k, + 59: I, + 60: C, + 61: O, + 62: D, + 70: P + }, + t(F, [2, 7]), + t(F, [2, 8]), + t(F, [2, 14]), + { 12: 48, 50: L, 52: M, 53: N }, + { 15: [1, 49] }, + { 5: [1, 50] }, + { 5: [1, 53], 19: [1, 51], 20: [1, 52] }, + { 22: 54, 70: P }, + { 22: 55, 70: P }, + { 5: [1, 56] }, + { 5: [1, 57] }, + { 5: [1, 58] }, + { 5: [1, 59] }, + { 5: [1, 60] }, + t(F, [2, 29]), + t(F, [2, 30]), + { 32: [1, 61] }, + { 34: [1, 62] }, + t(F, [2, 33]), + { 15: [1, 63] }, + { 15: [1, 64] }, + { 15: [1, 65] }, + { 15: [1, 66] }, + { 15: [1, 67] }, + { 15: [1, 68] }, + { 15: [1, 69] }, + { 15: [1, 70] }, + { 22: 71, 70: P }, + { 22: 72, 70: P }, + { 22: 73, 70: P }, + { + 67: 74, + 71: [1, 75], + 72: [1, 76], + 73: [1, 77], + 74: [1, 78], + 75: [1, 79], + 76: [1, 80], + 77: [1, 81], + 78: [1, 82], + 79: [1, 83], + 80: [1, 84] + }, + { 55: 85, 57: [1, 86], 65: [1, 87], 66: [1, 88] }, + { 22: 89, 70: P }, + { 22: 90, 70: P }, + { 22: 91, 70: P }, + { 22: 92, 70: P }, + t([5, 51, 64, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], [2, 68]), + t(F, [2, 6]), + t(F, [2, 15]), + t(B, [2, 9], { 10: 93 }), + t(F, [2, 17]), + { 5: [1, 95], 19: [1, 94] }, + { 5: [1, 96] }, + t(F, [2, 21]), + { 5: [1, 97] }, + { 5: [1, 98] }, + t(F, [2, 24]), + t(F, [2, 25]), + t(F, [2, 26]), + t(F, [2, 27]), + t(F, [2, 28]), + t(F, [2, 31]), + t(F, [2, 32]), + t($, i, { 7: 99 }), + t($, i, { 7: 100 }), + t($, i, { 7: 101 }), + t(z, i, { 40: 102, 7: 103 }), + t(Y, i, { 42: 104, 7: 105 }), + t(Y, i, { 7: 105, 42: 106 }), + t(Q, i, { 45: 107, 7: 108 }), + t($, i, { 7: 109 }), + { 5: [1, 111], 51: [1, 110] }, + { 5: [1, 113], 51: [1, 112] }, + { 5: [1, 114] }, + { 22: 117, 68: [1, 115], 69: [1, 116], 70: P }, + t(X, [2, 69]), + t(X, [2, 70]), + t(X, [2, 71]), + t(X, [2, 72]), + t(X, [2, 73]), + t(X, [2, 74]), + t(X, [2, 75]), + t(X, [2, 76]), + t(X, [2, 77]), + t(X, [2, 78]), + { 22: 118, 70: P }, + { 22: 120, 58: 119, 70: P }, + { 70: [2, 63] }, + { 70: [2, 64] }, + { 56: 121, 81: ie }, + { 56: 123, 81: ie }, + { 56: 124, 81: ie }, + { 56: 125, 81: ie }, + { + 4: [1, 128], + 5: [1, 130], + 11: 127, + 12: 129, + 16: [1, 126], + 50: L, + 52: M, + 53: N + }, + { 5: [1, 131] }, + t(F, [2, 19]), + t(F, [2, 20]), + t(F, [2, 22]), + t(F, [2, 23]), + { + 4: a, + 5: s, + 8: 8, + 9: 10, + 12: 12, + 13: l, + 14: u, + 16: [1, 132], + 17: 15, + 18: h, + 21: f, + 22: 40, + 23: d, + 24: 19, + 25: 20, + 26: 21, + 27: 22, + 28: 23, + 29: p, + 30: m, + 31: g, + 33: y, + 35: v, + 36: x, + 37: b, + 38: w, + 39: S, + 41: T, + 43: E, + 44: _, + 46: A, + 50: L, + 52: M, + 53: N, + 54: k, + 59: I, + 60: C, + 61: O, + 62: D, + 70: P + }, + { + 4: a, + 5: s, + 8: 8, + 9: 10, + 12: 12, + 13: l, + 14: u, + 16: [1, 133], + 17: 15, + 18: h, + 21: f, + 22: 40, + 23: d, + 24: 19, + 25: 20, + 26: 21, + 27: 22, + 28: 23, + 29: p, + 30: m, + 31: g, + 33: y, + 35: v, + 36: x, + 37: b, + 38: w, + 39: S, + 41: T, + 43: E, + 44: _, + 46: A, + 50: L, + 52: M, + 53: N, + 54: k, + 59: I, + 60: C, + 61: O, + 62: D, + 70: P + }, + { + 4: a, + 5: s, + 8: 8, + 9: 10, + 12: 12, + 13: l, + 14: u, + 16: [1, 134], + 17: 15, + 18: h, + 21: f, + 22: 40, + 23: d, + 24: 19, + 25: 20, + 26: 21, + 27: 22, + 28: 23, + 29: p, + 30: m, + 31: g, + 33: y, + 35: v, + 36: x, + 37: b, + 38: w, + 39: S, + 41: T, + 43: E, + 44: _, + 46: A, + 50: L, + 52: M, + 53: N, + 54: k, + 59: I, + 60: C, + 61: O, + 62: D, + 70: P + }, + { 16: [1, 135] }, + { + 4: a, + 5: s, + 8: 8, + 9: 10, + 12: 12, + 13: l, + 14: u, + 16: [2, 46], + 17: 15, + 18: h, + 21: f, + 22: 40, + 23: d, + 24: 19, + 25: 20, + 26: 21, + 27: 22, + 28: 23, + 29: p, + 30: m, + 31: g, + 33: y, + 35: v, + 36: x, + 37: b, + 38: w, + 39: S, + 41: T, + 43: E, + 44: _, + 46: A, + 49: [1, 136], + 50: L, + 52: M, + 53: N, + 54: k, + 59: I, + 60: C, + 61: O, + 62: D, + 70: P + }, + { 16: [1, 137] }, + { + 4: a, + 5: s, + 8: 8, + 9: 10, + 12: 12, + 13: l, + 14: u, + 16: [2, 44], + 17: 15, + 18: h, + 21: f, + 22: 40, + 23: d, + 24: 19, + 25: 20, + 26: 21, + 27: 22, + 28: 23, + 29: p, + 30: m, + 31: g, + 33: y, + 35: v, + 36: x, + 37: b, + 38: w, + 39: S, + 41: T, + 43: E, + 44: _, + 46: A, + 48: [1, 138], + 50: L, + 52: M, + 53: N, + 54: k, + 59: I, + 60: C, + 61: O, + 62: D, + 70: P + }, + { 16: [1, 139] }, + { 16: [1, 140] }, + { + 4: a, + 5: s, + 8: 8, + 9: 10, + 12: 12, + 13: l, + 14: u, + 16: [2, 42], + 17: 15, + 18: h, + 21: f, + 22: 40, + 23: d, + 24: 19, + 25: 20, + 26: 21, + 27: 22, + 28: 23, + 29: p, + 30: m, + 31: g, + 33: y, + 35: v, + 36: x, + 37: b, + 38: w, + 39: S, + 41: T, + 43: E, + 44: _, + 46: A, + 47: [1, 141], + 50: L, + 52: M, + 53: N, + 54: k, + 59: I, + 60: C, + 61: O, + 62: D, + 70: P + }, + { + 4: a, + 5: s, + 8: 8, + 9: 10, + 12: 12, + 13: l, + 14: u, + 16: [1, 142], + 17: 15, + 18: h, + 21: f, + 22: 40, + 23: d, + 24: 19, + 25: 20, + 26: 21, + 27: 22, + 28: 23, + 29: p, + 30: m, + 31: g, + 33: y, + 35: v, + 36: x, + 37: b, + 38: w, + 39: S, + 41: T, + 43: E, + 44: _, + 46: A, + 50: L, + 52: M, + 53: N, + 54: k, + 59: I, + 60: C, + 61: O, + 62: D, + 70: P + }, + { 15: [1, 143] }, + t(F, [2, 49]), + { 15: [1, 144] }, + t(F, [2, 51]), + t(F, [2, 52]), + { 22: 145, 70: P }, + { 22: 146, 70: P }, + { 56: 147, 81: ie }, + { 56: 148, 81: ie }, + { 56: 149, 81: ie }, + { 64: [1, 150], 81: [2, 62] }, + { 5: [2, 55] }, + { 5: [2, 79] }, + { 5: [2, 56] }, + { 5: [2, 57] }, + { 5: [2, 58] }, + t(F, [2, 16]), + t(B, [2, 10]), + { 12: 151, 50: L, 52: M, 53: N }, + t(B, [2, 12]), + t(B, [2, 13]), + t(F, [2, 18]), + t(F, [2, 34]), + t(F, [2, 35]), + t(F, [2, 36]), + t(F, [2, 37]), + { 15: [1, 152] }, + t(F, [2, 38]), + { 15: [1, 153] }, + t(F, [2, 39]), + t(F, [2, 40]), + { 15: [1, 154] }, + t(F, [2, 41]), + { 5: [1, 155] }, + { 5: [1, 156] }, + { 56: 157, 81: ie }, + { 56: 158, 81: ie }, + { 5: [2, 67] }, + { 5: [2, 53] }, + { 5: [2, 54] }, + { 22: 159, 70: P }, + t(B, [2, 11]), + t(z, i, { 7: 103, 40: 160 }), + t(Y, i, { 7: 105, 42: 161 }), + t(Q, i, { 7: 108, 45: 162 }), + t(F, [2, 48]), + t(F, [2, 50]), + { 5: [2, 65] }, + { 5: [2, 66] }, + { 81: [2, 61] }, + { 16: [2, 47] }, + { 16: [2, 45] }, + { 16: [2, 43] } + ], + defaultActions: { + 5: [2, 1], + 6: [2, 2], + 87: [2, 63], + 88: [2, 64], + 121: [2, 55], + 122: [2, 79], + 123: [2, 56], + 124: [2, 57], + 125: [2, 58], + 147: [2, 67], + 148: [2, 53], + 149: [2, 54], + 157: [2, 65], + 158: [2, 66], + 159: [2, 61], + 160: [2, 47], + 161: [2, 45], + 162: [2, 43] + }, + parseError: o(function (q, K) { + if (K.recoverable) this.trace(q); + else { + var se = new Error(q); + throw ((se.hash = K), se); + } + }, 'parseError'), + parse: o(function (q) { + var K = this, + se = [0], + ce = [], + ue = [null], + te = [], + De = this.table, + oe = '', + ke = 0, + Ie = 0, + Se = 0, + Ue = 2, + Pe = 1, + _e = te.slice.call(arguments, 1), + me = Object.create(this.lexer), + W = { yy: {} }; + for (var fe in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, fe) && (W.yy[fe] = this.yy[fe]); + me.setInput(q, W.yy), + (W.yy.lexer = me), + (W.yy.parser = this), + typeof me.yylloc > 'u' && (me.yylloc = {}); + var ge = me.yylloc; + te.push(ge); + var re = me.options && me.options.ranges; + typeof W.yy.parseError == 'function' + ? (this.parseError = W.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError); + function he(yt) { + (se.length = se.length - 2 * yt), + (ue.length = ue.length - yt), + (te.length = te.length - yt); + } + o(he, 'popStack'); + function ne() { + var yt; + return ( + (yt = ce.pop() || me.lex() || Pe), + typeof yt != 'number' && + (yt instanceof Array && ((ce = yt), (yt = ce.pop())), + (yt = K.symbols_[yt] || yt)), + yt + ); + } + o(ne, 'lex'); + for (var ae, we, Te, Ce, Ae, Ge, Me = {}, ye, He, ze, Ze; ; ) { + if ( + ((Te = se[se.length - 1]), + this.defaultActions[Te] + ? (Ce = this.defaultActions[Te]) + : ((ae === null || typeof ae > 'u') && (ae = ne()), + (Ce = De[Te] && De[Te][ae])), + typeof Ce > 'u' || !Ce.length || !Ce[0]) + ) { + var gt = ''; + Ze = []; + for (ye in De[Te]) + this.terminals_[ye] && ye > Ue && Ze.push("'" + this.terminals_[ye] + "'"); + me.showPosition + ? (gt = + 'Parse error on line ' + + (ke + 1) + + `: +` + + me.showPosition() + + ` +Expecting ` + + Ze.join(', ') + + ", got '" + + (this.terminals_[ae] || ae) + + "'") + : (gt = + 'Parse error on line ' + + (ke + 1) + + ': Unexpected ' + + (ae == Pe ? 'end of input' : "'" + (this.terminals_[ae] || ae) + "'")), + this.parseError(gt, { + text: me.match, + token: this.terminals_[ae] || ae, + line: me.yylineno, + loc: ge, + expected: Ze + }); + } + if (Ce[0] instanceof Array && Ce.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + Te + ', token: ' + ae + ); + switch (Ce[0]) { + case 1: + se.push(ae), + ue.push(me.yytext), + te.push(me.yylloc), + se.push(Ce[1]), + (ae = null), + we + ? ((ae = we), (we = null)) + : ((Ie = me.yyleng), + (oe = me.yytext), + (ke = me.yylineno), + (ge = me.yylloc), + Se > 0 && Se--); + break; + case 2: + if ( + ((He = this.productions_[Ce[1]][1]), + (Me.$ = ue[ue.length - He]), + (Me._$ = { + first_line: te[te.length - (He || 1)].first_line, + last_line: te[te.length - 1].last_line, + first_column: te[te.length - (He || 1)].first_column, + last_column: te[te.length - 1].last_column + }), + re && + (Me._$.range = [ + te[te.length - (He || 1)].range[0], + te[te.length - 1].range[1] + ]), + (Ge = this.performAction.apply( + Me, + [oe, Ie, ke, W.yy, Ce[1], ue, te].concat(_e) + )), + typeof Ge < 'u') + ) + return Ge; + He && + ((se = se.slice(0, -1 * He * 2)), + (ue = ue.slice(0, -1 * He)), + (te = te.slice(0, -1 * He))), + se.push(this.productions_[Ce[1]][0]), + ue.push(Me.$), + te.push(Me._$), + (ze = De[se[se.length - 2]][se[se.length - 1]]), + se.push(ze); + break; + case 3: + return !0; + } + } + return !0; + }, 'parse') + }, + J = (function () { + var H = { + EOF: 1, + parseError: o(function (K, se) { + if (this.yy.parser) this.yy.parser.parseError(K, se); + else throw new Error(K); + }, 'parseError'), + setInput: o(function (q, K) { + return ( + (this.yy = K || this.yy || {}), + (this._input = q), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, 'setInput'), + input: o(function () { + var q = this._input[0]; + (this.yytext += q), + this.yyleng++, + this.offset++, + (this.match += q), + (this.matched += q); + var K = q.match(/(?:\r\n?|\n).*/g); + return ( + K ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + q + ); + }, 'input'), + unput: o(function (q) { + var K = q.length, + se = q.split(/(?:\r\n?|\n)/g); + (this._input = q + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - K)), + (this.offset -= K); + var ce = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + se.length - 1 && (this.yylineno -= se.length - 1); + var ue = this.yylloc.range; + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: se + ? (se.length === ce.length ? this.yylloc.first_column : 0) + + ce[ce.length - se.length].length - + se[0].length + : this.yylloc.first_column - K + }), + this.options.ranges && (this.yylloc.range = [ue[0], ue[0] + this.yyleng - K]), + (this.yyleng = this.yytext.length), + this + ); + }, 'unput'), + more: o(function () { + return (this._more = !0), this; + }, 'more'), + reject: o(function () { + if (this.options.backtrack_lexer) this._backtrack = !0; + else + return this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + return this; + }, 'reject'), + less: o(function (q) { + this.unput(this.match.slice(q)); + }, 'less'), + pastInput: o(function () { + var q = this.matched.substr(0, this.matched.length - this.match.length); + return (q.length > 20 ? '...' : '') + q.substr(-20).replace(/\n/g, ''); + }, 'pastInput'), + upcomingInput: o(function () { + var q = this.match; + return ( + q.length < 20 && (q += this._input.substr(0, 20 - q.length)), + (q.substr(0, 20) + (q.length > 20 ? '...' : '')).replace(/\n/g, '') + ); + }, 'upcomingInput'), + showPosition: o(function () { + var q = this.pastInput(), + K = new Array(q.length + 1).join('-'); + return ( + q + + this.upcomingInput() + + ` +` + + K + + '^' + ); + }, 'showPosition'), + test_match: o(function (q, K) { + var se, ce, ue; + if ( + (this.options.backtrack_lexer && + ((ue = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }), + this.options.ranges && (ue.yylloc.range = this.yylloc.range.slice(0))), + (ce = q[0].match(/(?:\r\n?|\n).*/g)), + ce && (this.yylineno += ce.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: ce + ? ce[ce.length - 1].length - ce[ce.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + q[0].length + }), + (this.yytext += q[0]), + (this.match += q[0]), + (this.matches = q), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(q[0].length)), + (this.matched += q[0]), + (se = this.performAction.call( + this, + this.yy, + this, + K, + this.conditionStack[this.conditionStack.length - 1] + )), + this.done && this._input && (this.done = !1), + se) + ) + return se; + if (this._backtrack) { + for (var te in ue) this[te] = ue[te]; + return !1; + } + return !1; + }, 'test_match'), + next: o(function () { + if (this.done) return this.EOF; + this._input || (this.done = !0); + var q, K, se, ce; + this._more || ((this.yytext = ''), (this.match = '')); + for (var ue = this._currentRules(), te = 0; te < ue.length; te++) + if ( + ((se = this._input.match(this.rules[ue[te]])), + se && (!K || se[0].length > K[0].length)) + ) { + if (((K = se), (ce = te), this.options.backtrack_lexer)) { + if (((q = this.test_match(se, ue[te])), q !== !1)) return q; + if (this._backtrack) { + K = !1; + continue; + } else return !1; + } else if (!this.options.flex) break; + } + return K + ? ((q = this.test_match(K, ue[ce])), q !== !1 ? q : !1) + : this._input === '' + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, 'next'), + lex: o(function () { + var K = this.next(); + return K || this.lex(); + }, 'lex'), + begin: o(function (K) { + this.conditionStack.push(K); + }, 'begin'), + popState: o(function () { + var K = this.conditionStack.length - 1; + return K > 0 ? this.conditionStack.pop() : this.conditionStack[0]; + }, 'popState'), + _currentRules: o(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules; + }, '_currentRules'), + topState: o(function (K) { + return ( + (K = this.conditionStack.length - 1 - Math.abs(K || 0)), + K >= 0 ? this.conditionStack[K] : 'INITIAL' + ); + }, 'topState'), + pushState: o(function (K) { + this.begin(K); + }, 'pushState'), + stateStackSize: o(function () { + return this.conditionStack.length; + }, 'stateStackSize'), + options: { 'case-insensitive': !0 }, + performAction: o(function (K, se, ce, ue) { + var te = ue; + switch (ce) { + case 0: + return 5; + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + break; + case 5: + break; + case 6: + return 19; + case 7: + return this.begin('LINE'), 14; + break; + case 8: + return this.begin('ID'), 50; + break; + case 9: + return this.begin('ID'), 52; + break; + case 10: + return 13; + case 11: + return this.begin('ID'), 53; + break; + case 12: + return (se.yytext = se.yytext.trim()), this.begin('ALIAS'), 70; + break; + case 13: + return this.popState(), this.popState(), this.begin('LINE'), 51; + break; + case 14: + return this.popState(), this.popState(), 5; + break; + case 15: + return this.begin('LINE'), 36; + break; + case 16: + return this.begin('LINE'), 37; + break; + case 17: + return this.begin('LINE'), 38; + break; + case 18: + return this.begin('LINE'), 39; + break; + case 19: + return this.begin('LINE'), 49; + break; + case 20: + return this.begin('LINE'), 41; + break; + case 21: + return this.begin('LINE'), 43; + break; + case 22: + return this.begin('LINE'), 48; + break; + case 23: + return this.begin('LINE'), 44; + break; + case 24: + return this.begin('LINE'), 47; + break; + case 25: + return this.begin('LINE'), 46; + break; + case 26: + return this.popState(), 15; + break; + case 27: + return 16; + case 28: + return 65; + case 29: + return 66; + case 30: + return 59; + case 31: + return 60; + case 32: + return 61; + case 33: + return 62; + case 34: + return 57; + case 35: + return 54; + case 36: + return this.begin('ID'), 21; + break; + case 37: + return this.begin('ID'), 23; + break; + case 38: + return 29; + case 39: + return 30; + case 40: + return this.begin('acc_title'), 31; + break; + case 41: + return this.popState(), 'acc_title_value'; + break; + case 42: + return this.begin('acc_descr'), 33; + break; + case 43: + return this.popState(), 'acc_descr_value'; + break; + case 44: + this.begin('acc_descr_multiline'); + break; + case 45: + this.popState(); + break; + case 46: + return 'acc_descr_multiline_value'; + case 47: + return 6; + case 48: + return 18; + case 49: + return 20; + case 50: + return 64; + case 51: + return 5; + case 52: + return (se.yytext = se.yytext.trim()), 70; + break; + case 53: + return 73; + case 54: + return 74; + case 55: + return 75; + case 56: + return 76; + case 57: + return 71; + case 58: + return 72; + case 59: + return 77; + case 60: + return 78; + case 61: + return 79; + case 62: + return 80; + case 63: + return 81; + case 64: + return 68; + case 65: + return 69; + case 66: + return 5; + case 67: + return 'INVALID'; + } + }, 'anonymous'), + rules: [ + /^(?:[\n]+)/i, + /^(?:\s+)/i, + /^(?:((?!\n)\s)+)/i, + /^(?:#[^\n]*)/i, + /^(?:%(?!\{)[^\n]*)/i, + /^(?:[^\}]%%[^\n]*)/i, + /^(?:[0-9]+(?=[ \n]+))/i, + /^(?:box\b)/i, + /^(?:participant\b)/i, + /^(?:actor\b)/i, + /^(?:create\b)/i, + /^(?:destroy\b)/i, + /^(?:[^\<->\->:\n,;]+?([\-]*[^\<->\->:\n,;]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i, + /^(?:as\b)/i, + /^(?:(?:))/i, + /^(?:loop\b)/i, + /^(?:rect\b)/i, + /^(?:opt\b)/i, + /^(?:alt\b)/i, + /^(?:else\b)/i, + /^(?:par\b)/i, + /^(?:par_over\b)/i, + /^(?:and\b)/i, + /^(?:critical\b)/i, + /^(?:option\b)/i, + /^(?:break\b)/i, + /^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i, + /^(?:end\b)/i, + /^(?:left of\b)/i, + /^(?:right of\b)/i, + /^(?:links\b)/i, + /^(?:link\b)/i, + /^(?:properties\b)/i, + /^(?:details\b)/i, + /^(?:over\b)/i, + /^(?:note\b)/i, + /^(?:activate\b)/i, + /^(?:deactivate\b)/i, + /^(?:title\s[^#\n;]+)/i, + /^(?:title:\s[^#\n;]+)/i, + /^(?:accTitle\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*\{\s*)/i, + /^(?:[\}])/i, + /^(?:[^\}]*)/i, + /^(?:sequenceDiagram\b)/i, + /^(?:autonumber\b)/i, + /^(?:off\b)/i, + /^(?:,)/i, + /^(?:;)/i, + /^(?:[^\+\<->\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+\<->\->:\n,;]+)*)/i, + /^(?:->>)/i, + /^(?:<<->>)/i, + /^(?:-->>)/i, + /^(?:<<-->>)/i, + /^(?:->)/i, + /^(?:-->)/i, + /^(?:-[x])/i, + /^(?:--[x])/i, + /^(?:-[\)])/i, + /^(?:--[\)])/i, + /^(?::(?:(?:no)?wrap)?[^#\n;]+)/i, + /^(?:\+)/i, + /^(?:-)/i, + /^(?:$)/i, + /^(?:.)/i + ], + conditions: { + acc_descr_multiline: { rules: [45, 46], inclusive: !1 }, + acc_descr: { rules: [43], inclusive: !1 }, + acc_title: { rules: [41], inclusive: !1 }, + ID: { rules: [2, 3, 12], inclusive: !1 }, + ALIAS: { rules: [2, 3, 13, 14], inclusive: !1 }, + LINE: { rules: [2, 3, 26], inclusive: !1 }, + INITIAL: { + rules: [ + 0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 44, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67 + ], + inclusive: !0 + } + } + }; + return H; + })(); + j.lexer = J; + function Z() { + this.yy = {}; + } + return o(Z, 'Parser'), (Z.prototype = j), (j.Parser = Z), new Z(); + })(); + hO.parser = hO; + Wue = hO; + }); + function dO(t, e) { + if (t.links == null) t.links = e; + else for (let r in e) t.links[r] = e[r]; + } + function Zue(t, e) { + if (t.properties == null) t.properties = e; + else for (let r in e) t.properties[r] = e[r]; + } + function SGe() { + Mt.records.currentBox = void 0; + } + var Mt, + aGe, + fO, + sGe, + oGe, + pi, + lGe, + cGe, + uGe, + hGe, + fGe, + dGe, + pGe, + xx, + mGe, + gGe, + yGe, + vGe, + xGe, + Xue, + A0, + bGe, + wGe, + TGe, + vx, + kGe, + EGe, + jue, + Kue, + CGe, + Que, + Jue, + AGe, + ehe, + pO, + the = R(() => { + 'use strict'; + _t(); + ut(); + Jk(); + rr(); + bi(); + (Mt = new uf(() => ({ + prevActor: void 0, + actors: new Map(), + createdActors: new Map(), + destroyedActors: new Map(), + boxes: [], + messages: [], + notes: [], + sequenceNumbersEnabled: !1, + wrapEnabled: void 0, + currentBox: void 0, + lastCreated: void 0, + lastDestroyed: void 0 + }))), + (aGe = o(function (t) { + Mt.records.boxes.push({ + name: t.text, + wrap: t.wrap ?? A0(), + fill: t.color, + actorKeys: [] + }), + (Mt.records.currentBox = Mt.records.boxes.slice(-1)[0]); + }, 'addBox')), + (fO = o(function (t, e, r, n) { + let i = Mt.records.currentBox, + a = Mt.records.actors.get(t); + if (a) { + if (Mt.records.currentBox && a.box && Mt.records.currentBox !== a.box) + throw new Error( + `A same participant should only be defined in one Box: ${a.name} can't be in '${a.box.name}' and in '${Mt.records.currentBox.name}' at the same time.` + ); + if (((i = a.box ? a.box : Mt.records.currentBox), (a.box = i), a && e === a.name && r == null)) + return; + } + if ( + (r?.text == null && (r = { text: e, type: n }), + (n == null || r.text == null) && (r = { text: e, type: n }), + Mt.records.actors.set(t, { + box: i, + name: e, + description: r.text, + wrap: r.wrap ?? A0(), + prevActor: Mt.records.prevActor, + links: {}, + properties: {}, + actorCnt: null, + rectData: null, + type: n ?? 'participant' + }), + Mt.records.prevActor) + ) { + let s = Mt.records.actors.get(Mt.records.prevActor); + s && (s.nextActor = t); + } + Mt.records.currentBox && Mt.records.currentBox.actorKeys.push(t), (Mt.records.prevActor = t); + }, 'addActor')), + (sGe = o((t) => { + let e, + r = 0; + if (!t) return 0; + for (e = 0; e < Mt.records.messages.length; e++) + Mt.records.messages[e].type === vx.ACTIVE_START && Mt.records.messages[e].from === t && r++, + Mt.records.messages[e].type === vx.ACTIVE_END && Mt.records.messages[e].from === t && r--; + return r; + }, 'activationCount')), + (oGe = o(function (t, e, r, n) { + Mt.records.messages.push({ + from: t, + to: e, + message: r.text, + wrap: r.wrap ?? A0(), + answer: n + }); + }, 'addMessage')), + (pi = o(function (t, e, r, n, i = !1) { + if (n === vx.ACTIVE_END && sGe(t ?? '') < 1) { + let s = new Error('Trying to inactivate an inactive participant (' + t + ')'); + throw ( + ((s.hash = { + text: '->>-', + token: '->>-', + line: '1', + loc: { + first_line: 1, + last_line: 1, + first_column: 1, + last_column: 1 + }, + expected: ["'ACTIVE_PARTICIPANT'"] + }), + s) + ); + } + return ( + Mt.records.messages.push({ + from: t, + to: e, + message: r?.text ?? '', + wrap: r?.wrap ?? A0(), + type: n, + activate: i + }), + !0 + ); + }, 'addSignal')), + (lGe = o(function () { + return Mt.records.boxes.length > 0; + }, 'hasAtLeastOneBox')), + (cGe = o(function () { + return Mt.records.boxes.some((t) => t.name); + }, 'hasAtLeastOneBoxWithTitle')), + (uGe = o(function () { + return Mt.records.messages; + }, 'getMessages')), + (hGe = o(function () { + return Mt.records.boxes; + }, 'getBoxes')), + (fGe = o(function () { + return Mt.records.actors; + }, 'getActors')), + (dGe = o(function () { + return Mt.records.createdActors; + }, 'getCreatedActors')), + (pGe = o(function () { + return Mt.records.destroyedActors; + }, 'getDestroyedActors')), + (xx = o(function (t) { + return Mt.records.actors.get(t); + }, 'getActor')), + (mGe = o(function () { + return [...Mt.records.actors.keys()]; + }, 'getActorKeys')), + (gGe = o(function () { + Mt.records.sequenceNumbersEnabled = !0; + }, 'enableSequenceNumbers')), + (yGe = o(function () { + Mt.records.sequenceNumbersEnabled = !1; + }, 'disableSequenceNumbers')), + (vGe = o(() => Mt.records.sequenceNumbersEnabled, 'showSequenceNumbers')), + (xGe = o(function (t) { + Mt.records.wrapEnabled = t; + }, 'setWrap')), + (Xue = o((t) => { + if (t === void 0) return {}; + t = t.trim(); + let e = /^:?wrap:/.exec(t) !== null ? !0 : /^:?nowrap:/.exec(t) !== null ? !1 : void 0; + return { + cleanedText: (e === void 0 ? t : t.replace(/^:?(?:no)?wrap:/, '')).trim(), + wrap: e + }; + }, 'extractWrap')), + (A0 = o( + () => (Mt.records.wrapEnabled !== void 0 ? Mt.records.wrapEnabled : de().sequence?.wrap ?? !1), + 'autoWrap' + )), + (bGe = o(function () { + Mt.reset(), vr(); + }, 'clear')), + (wGe = o(function (t) { + let e = t.trim(), + { wrap: r, cleanedText: n } = Xue(e), + i = { text: n, wrap: r }; + return V.debug(`parseMessage: ${JSON.stringify(i)}`), i; + }, 'parseMessage')), + (TGe = o(function (t) { + let e = /^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(t), + r = e?.[1] ? e[1].trim() : 'transparent', + n = e?.[2] ? e[2].trim() : void 0; + if (window?.CSS) window.CSS.supports('color', r) || ((r = 'transparent'), (n = t.trim())); + else { + let s = new Option().style; + (s.color = r), s.color !== r && ((r = 'transparent'), (n = t.trim())); + } + let { wrap: i, cleanedText: a } = Xue(n); + return { text: a ? qr(a, de()) : void 0, color: r, wrap: i }; + }, 'parseBoxData')), + (vx = { + SOLID: 0, + DOTTED: 1, + NOTE: 2, + SOLID_CROSS: 3, + DOTTED_CROSS: 4, + SOLID_OPEN: 5, + DOTTED_OPEN: 6, + LOOP_START: 10, + LOOP_END: 11, + ALT_START: 12, + ALT_ELSE: 13, + ALT_END: 14, + OPT_START: 15, + OPT_END: 16, + ACTIVE_START: 17, + ACTIVE_END: 18, + PAR_START: 19, + PAR_AND: 20, + PAR_END: 21, + RECT_START: 22, + RECT_END: 23, + SOLID_POINT: 24, + DOTTED_POINT: 25, + AUTONUMBER: 26, + CRITICAL_START: 27, + CRITICAL_OPTION: 28, + CRITICAL_END: 29, + BREAK_START: 30, + BREAK_END: 31, + PAR_OVER_START: 32, + BIDIRECTIONAL_SOLID: 33, + BIDIRECTIONAL_DOTTED: 34 + }), + (kGe = { FILLED: 0, OPEN: 1 }), + (EGe = { LEFTOF: 0, RIGHTOF: 1, OVER: 2 }), + (jue = o(function (t, e, r) { + let n = { + actor: t, + placement: e, + message: r.text, + wrap: r.wrap ?? A0() + }, + i = [].concat(t, t); + Mt.records.notes.push(n), + Mt.records.messages.push({ + from: i[0], + to: i[1], + message: r.text, + wrap: r.wrap ?? A0(), + type: vx.NOTE, + placement: e + }); + }, 'addNote')), + (Kue = o(function (t, e) { + let r = xx(t); + try { + let n = qr(e.text, de()); + (n = n.replace(/&/g, '&')), (n = n.replace(/=/g, '=')); + let i = JSON.parse(n); + dO(r, i); + } catch (n) { + V.error('error while parsing actor link text', n); + } + }, 'addLinks')), + (CGe = o(function (t, e) { + let r = xx(t); + try { + let n = {}, + i = qr(e.text, de()), + a = i.indexOf('@'); + (i = i.replace(/&/g, '&')), (i = i.replace(/=/g, '=')); + let s = i.slice(0, a - 1).trim(), + l = i.slice(a + 1).trim(); + (n[s] = l), dO(r, n); + } catch (n) { + V.error('error while parsing actor link text', n); + } + }, 'addALink')); + o(dO, 'insertLinks'); + Que = o(function (t, e) { + let r = xx(t); + try { + let n = qr(e.text, de()), + i = JSON.parse(n); + Zue(r, i); + } catch (n) { + V.error('error while parsing actor properties text', n); + } + }, 'addProperties'); + o(Zue, 'insertProperties'); + o(SGe, 'boxEnd'); + (Jue = o(function (t, e) { + let r = xx(t), + n = document.getElementById(e.text); + try { + let i = n.innerHTML, + a = JSON.parse(i); + a.properties && Zue(r, a.properties), a.links && dO(r, a.links); + } catch (i) { + V.error('error while parsing actor details text', i); + } + }, 'addDetails')), + (AGe = o(function (t, e) { + if (t?.properties !== void 0) return t.properties[e]; + }, 'getActorProperty')), + (ehe = o(function (t) { + if (Array.isArray(t)) + t.forEach(function (e) { + ehe(e); + }); + else + switch (t.type) { + case 'sequenceIndex': + Mt.records.messages.push({ + from: void 0, + to: void 0, + message: { + start: t.sequenceIndex, + step: t.sequenceIndexStep, + visible: t.sequenceVisible + }, + wrap: !1, + type: t.signalType + }); + break; + case 'addParticipant': + fO(t.actor, t.actor, t.description, t.draw); + break; + case 'createParticipant': + if (Mt.records.actors.has(t.actor)) + throw new Error( + "It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior" + ); + (Mt.records.lastCreated = t.actor), + fO(t.actor, t.actor, t.description, t.draw), + Mt.records.createdActors.set(t.actor, Mt.records.messages.length); + break; + case 'destroyParticipant': + (Mt.records.lastDestroyed = t.actor), + Mt.records.destroyedActors.set(t.actor, Mt.records.messages.length); + break; + case 'activeStart': + pi(t.actor, void 0, void 0, t.signalType); + break; + case 'activeEnd': + pi(t.actor, void 0, void 0, t.signalType); + break; + case 'addNote': + jue(t.actor, t.placement, t.text); + break; + case 'addLinks': + Kue(t.actor, t.text); + break; + case 'addALink': + CGe(t.actor, t.text); + break; + case 'addProperties': + Que(t.actor, t.text); + break; + case 'addDetails': + Jue(t.actor, t.text); + break; + case 'addMessage': + if (Mt.records.lastCreated) { + if (t.to !== Mt.records.lastCreated) + throw new Error( + 'The created participant ' + + Mt.records.lastCreated.name + + ' does not have an associated creating message after its declaration. Please check the sequence diagram.' + ); + Mt.records.lastCreated = void 0; + } else if (Mt.records.lastDestroyed) { + if (t.to !== Mt.records.lastDestroyed && t.from !== Mt.records.lastDestroyed) + throw new Error( + 'The destroyed participant ' + + Mt.records.lastDestroyed.name + + ' does not have an associated destroying message after its declaration. Please check the sequence diagram.' + ); + Mt.records.lastDestroyed = void 0; + } + pi(t.from, t.to, t.msg, t.signalType, t.activate); + break; + case 'boxStart': + aGe(t.boxData); + break; + case 'boxEnd': + SGe(); + break; + case 'loopStart': + pi(void 0, void 0, t.loopText, t.signalType); + break; + case 'loopEnd': + pi(void 0, void 0, void 0, t.signalType); + break; + case 'rectStart': + pi(void 0, void 0, t.color, t.signalType); + break; + case 'rectEnd': + pi(void 0, void 0, void 0, t.signalType); + break; + case 'optStart': + pi(void 0, void 0, t.optText, t.signalType); + break; + case 'optEnd': + pi(void 0, void 0, void 0, t.signalType); + break; + case 'altStart': + pi(void 0, void 0, t.altText, t.signalType); + break; + case 'else': + pi(void 0, void 0, t.altText, t.signalType); + break; + case 'altEnd': + pi(void 0, void 0, void 0, t.signalType); + break; + case 'setAccTitle': + kr(t.text); + break; + case 'parStart': + pi(void 0, void 0, t.parText, t.signalType); + break; + case 'and': + pi(void 0, void 0, t.parText, t.signalType); + break; + case 'parEnd': + pi(void 0, void 0, void 0, t.signalType); + break; + case 'criticalStart': + pi(void 0, void 0, t.criticalText, t.signalType); + break; + case 'option': + pi(void 0, void 0, t.optionText, t.signalType); + break; + case 'criticalEnd': + pi(void 0, void 0, void 0, t.signalType); + break; + case 'breakStart': + pi(void 0, void 0, t.breakText, t.signalType); + break; + case 'breakEnd': + pi(void 0, void 0, void 0, t.signalType); + break; + } + }, 'apply')), + (pO = { + addActor: fO, + addMessage: oGe, + addSignal: pi, + addLinks: Kue, + addDetails: Jue, + addProperties: Que, + autoWrap: A0, + setWrap: xGe, + enableSequenceNumbers: gGe, + disableSequenceNumbers: yGe, + showSequenceNumbers: vGe, + getMessages: uGe, + getActors: fGe, + getCreatedActors: dGe, + getDestroyedActors: pGe, + getActor: xx, + getActorKeys: mGe, + getActorProperty: AGe, + getAccTitle: Ar, + getBoxes: hGe, + getDiagramTitle: Xr, + setDiagramTitle: nn, + getConfig: o(() => de().sequence, 'getConfig'), + clear: bGe, + parseMessage: wGe, + parseBoxData: TGe, + LINETYPE: vx, + ARROWTYPE: kGe, + PLACEMENT: EGe, + addNote: jue, + setAccTitle: kr, + apply: ehe, + setAccDescription: _r, + getAccDescription: Lr, + hasAtLeastOneBox: lGe, + hasAtLeastOneBoxWithTitle: cGe + }); + }); + var _Ge, + rhe, + nhe = R(() => { + 'use strict'; + (_Ge = o( + (t) => `.actor { + stroke: ${t.actorBorder}; + fill: ${t.actorBkg}; + } + + text.actor > tspan { + fill: ${t.actorTextColor}; + stroke: none; + } + + .actor-line { + stroke: ${t.actorLineColor}; + } + + .messageLine0 { + stroke-width: 1.5; + stroke-dasharray: none; + stroke: ${t.signalColor}; + } + + .messageLine1 { + stroke-width: 1.5; + stroke-dasharray: 2, 2; + stroke: ${t.signalColor}; + } + + #arrowhead path { + fill: ${t.signalColor}; + stroke: ${t.signalColor}; + } + + .sequenceNumber { + fill: ${t.sequenceNumberColor}; + } + + #sequencenumber { + fill: ${t.signalColor}; + } + + #crosshead path { + fill: ${t.signalColor}; + stroke: ${t.signalColor}; + } + + .messageText { + fill: ${t.signalTextColor}; + stroke: none; + } + + .labelBox { + stroke: ${t.labelBoxBorderColor}; + fill: ${t.labelBoxBkgColor}; + } + + .labelText, .labelText > tspan { + fill: ${t.labelTextColor}; + stroke: none; + } + + .loopText, .loopText > tspan { + fill: ${t.loopTextColor}; + stroke: none; + } + + .loopLine { + stroke-width: 2px; + stroke-dasharray: 2, 2; + stroke: ${t.labelBoxBorderColor}; + fill: ${t.labelBoxBorderColor}; + } + + .note { + //stroke: #decc93; + stroke: ${t.noteBorderColor}; + fill: ${t.noteBkgColor}; + } + + .noteText, .noteText > tspan { + fill: ${t.noteTextColor}; + stroke: none; + } + + .activation0 { + fill: ${t.activationBkgColor}; + stroke: ${t.activationBorderColor}; + } + + .activation1 { + fill: ${t.activationBkgColor}; + stroke: ${t.activationBorderColor}; + } + + .activation2 { + fill: ${t.activationBkgColor}; + stroke: ${t.activationBorderColor}; + } + + .actorPopupMenu { + position: absolute; + } + + .actorPopupMenuPanel { + position: absolute; + fill: ${t.actorBkg}; + box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); + filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4)); +} + .actor-man line { + stroke: ${t.actorBorder}; + fill: ${t.actorBkg}; + } + .actor-man circle, line { + stroke: ${t.actorBorder}; + fill: ${t.actorBkg}; + stroke-width: 2px; + } +`, + 'getStyles' + )), + (rhe = _Ge); + }); + var mO, + gf, + ahe, + she, + LGe, + ihe, + gO, + DGe, + RGe, + bx, + _0, + ohe, + Bc, + yO, + NGe, + MGe, + IGe, + OGe, + PGe, + BGe, + FGe, + lhe, + zGe, + GGe, + $Ge, + VGe, + UGe, + HGe, + YGe, + che, + WGe, + vO, + qGe, + si, + uhe = R(() => { + 'use strict'; + rr(); + Qy(); + xr(); + mO = Xi(Up(), 1); + qs(); + (gf = 18 * 2), + (ahe = 'actor-top'), + (she = 'actor-bottom'), + (LGe = 'actor-box'), + (ihe = 'actor-man'), + (gO = o(function (t, e) { + return yd(t, e); + }, 'drawRect')), + (DGe = o(function (t, e, r, n, i) { + if (e.links === void 0 || e.links === null || Object.keys(e.links).length === 0) + return { height: 0, width: 0 }; + let a = e.links, + s = e.actorCnt, + l = e.rectData; + var u = 'none'; + i && (u = 'block !important'); + let h = t.append('g'); + h.attr('id', 'actor' + s + '_popup'), h.attr('class', 'actorPopupMenu'), h.attr('display', u); + var f = ''; + l.class !== void 0 && (f = ' ' + l.class); + let d = l.width > r ? l.width : r, + p = h.append('rect'); + if ( + (p.attr('class', 'actorPopupMenuPanel' + f), + p.attr('x', l.x), + p.attr('y', l.height), + p.attr('fill', l.fill), + p.attr('stroke', l.stroke), + p.attr('width', d), + p.attr('height', l.height), + p.attr('rx', l.rx), + p.attr('ry', l.ry), + a != null) + ) { + var m = 20; + for (let v in a) { + var g = h.append('a'), + y = (0, mO.sanitizeUrl)(a[v]); + g.attr('xlink:href', y), + g.attr('target', '_blank'), + qGe(n)(v, g, l.x + 10, l.height + m, d, 20, { class: 'actor' }, n), + (m += 30); + } + } + return p.attr('height', m), { height: l.height + m, width: d }; + }, 'drawPopup')), + (RGe = o(function (t) { + return ( + "var pu = document.getElementById('" + + t + + "'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }" + ); + }, 'popupMenuToggle')), + (bx = o(async function (t, e, r = null) { + let n = t.append('foreignObject'), + i = await yh(e.text, Or()), + s = n + .append('xhtml:div') + .attr('style', 'width: fit-content;') + .attr('xmlns', 'http://www.w3.org/1999/xhtml') + .html(i) + .node() + .getBoundingClientRect(); + if ( + (n.attr('height', Math.round(s.height)).attr('width', Math.round(s.width)), + e.class === 'noteText') + ) { + let l = t.node().firstChild; + l.setAttribute('height', s.height + 2 * e.textMargin); + let u = l.getBBox(); + n.attr('x', Math.round(u.x + u.width / 2 - s.width / 2)).attr( + 'y', + Math.round(u.y + u.height / 2 - s.height / 2) + ); + } else if (r) { + let { startx: l, stopx: u, starty: h } = r; + if (l > u) { + let f = l; + (l = u), (u = f); + } + n.attr('x', Math.round(l + Math.abs(l - u) / 2 - s.width / 2)), + e.class === 'loopText' ? n.attr('y', Math.round(h)) : n.attr('y', Math.round(h - s.height)); + } + return [n]; + }, 'drawKatex')), + (_0 = o(function (t, e) { + let r = 0, + n = 0, + i = e.text.split(We.lineBreakRegex), + [a, s] = mc(e.fontSize), + l = [], + u = 0, + h = o(() => e.y, 'yfunc'); + if (e.valign !== void 0 && e.textMargin !== void 0 && e.textMargin > 0) + switch (e.valign) { + case 'top': + case 'start': + h = o(() => Math.round(e.y + e.textMargin), 'yfunc'); + break; + case 'middle': + case 'center': + h = o(() => Math.round(e.y + (r + n + e.textMargin) / 2), 'yfunc'); + break; + case 'bottom': + case 'end': + h = o(() => Math.round(e.y + (r + n + 2 * e.textMargin) - e.textMargin), 'yfunc'); + break; + } + if (e.anchor !== void 0 && e.textMargin !== void 0 && e.width !== void 0) + switch (e.anchor) { + case 'left': + case 'start': + (e.x = Math.round(e.x + e.textMargin)), + (e.anchor = 'start'), + (e.dominantBaseline = 'middle'), + (e.alignmentBaseline = 'middle'); + break; + case 'middle': + case 'center': + (e.x = Math.round(e.x + e.width / 2)), + (e.anchor = 'middle'), + (e.dominantBaseline = 'middle'), + (e.alignmentBaseline = 'middle'); + break; + case 'right': + case 'end': + (e.x = Math.round(e.x + e.width - e.textMargin)), + (e.anchor = 'end'), + (e.dominantBaseline = 'middle'), + (e.alignmentBaseline = 'middle'); + break; + } + for (let [f, d] of i.entries()) { + e.textMargin !== void 0 && e.textMargin === 0 && a !== void 0 && (u = f * a); + let p = t.append('text'); + p.attr('x', e.x), + p.attr('y', h()), + e.anchor !== void 0 && + p + .attr('text-anchor', e.anchor) + .attr('dominant-baseline', e.dominantBaseline) + .attr('alignment-baseline', e.alignmentBaseline), + e.fontFamily !== void 0 && p.style('font-family', e.fontFamily), + s !== void 0 && p.style('font-size', s), + e.fontWeight !== void 0 && p.style('font-weight', e.fontWeight), + e.fill !== void 0 && p.attr('fill', e.fill), + e.class !== void 0 && p.attr('class', e.class), + e.dy !== void 0 ? p.attr('dy', e.dy) : u !== 0 && p.attr('dy', u); + let m = d || K_; + if (e.tspan) { + let g = p.append('tspan'); + g.attr('x', e.x), e.fill !== void 0 && g.attr('fill', e.fill), g.text(m); + } else p.text(m); + e.valign !== void 0 && + e.textMargin !== void 0 && + e.textMargin > 0 && + ((n += (p._groups || p)[0][0].getBBox().height), (r = n)), + l.push(p); + } + return l; + }, 'drawText')), + (ohe = o(function (t, e) { + function r(i, a, s, l, u) { + return ( + i + + ',' + + a + + ' ' + + (i + s) + + ',' + + a + + ' ' + + (i + s) + + ',' + + (a + l - u) + + ' ' + + (i + s - u * 1.2) + + ',' + + (a + l) + + ' ' + + i + + ',' + + (a + l) + ); + } + o(r, 'genPoints'); + let n = t.append('polygon'); + return ( + n.attr('points', r(e.x, e.y, e.width, e.height, 7)), + n.attr('class', 'labelBox'), + (e.y = e.y + e.height / 2), + _0(t, e), + n + ); + }, 'drawLabel')), + (Bc = -1), + (yO = o((t, e, r, n) => { + t.select && + r.forEach((i) => { + let a = e.get(i), + s = t.select('#actor' + a.actorCnt); + !n.mirrorActors && a.stopy + ? s.attr('y2', a.stopy + a.height / 2) + : n.mirrorActors && s.attr('y2', a.stopy); + }); + }, 'fixLifeLineHeights')), + (NGe = o(function (t, e, r, n) { + let i = n ? e.stopy : e.starty, + a = e.x + e.width / 2, + s = i + 5, + l = t.append('g').lower(); + var u = l; + n || + (Bc++, + Object.keys(e.links || {}).length && + !r.forceMenus && + u.attr('onclick', RGe(`actor${Bc}_popup`)).attr('cursor', 'pointer'), + u + .append('line') + .attr('id', 'actor' + Bc) + .attr('x1', a) + .attr('y1', s) + .attr('x2', a) + .attr('y2', 2e3) + .attr('class', 'actor-line 200') + .attr('stroke-width', '0.5px') + .attr('stroke', '#999') + .attr('name', e.name), + (u = l.append('g')), + (e.actorCnt = Bc), + e.links != null && u.attr('id', 'root-' + Bc)); + let h = wl(); + var f = 'actor'; + e.properties?.class ? (f = e.properties.class) : (h.fill = '#eaeaea'), + n ? (f += ` ${she}`) : (f += ` ${ahe}`), + (h.x = e.x), + (h.y = i), + (h.width = e.width), + (h.height = e.height), + (h.class = f), + (h.rx = 3), + (h.ry = 3), + (h.name = e.name); + let d = gO(u, h); + if (((e.rectData = h), e.properties?.icon)) { + let m = e.properties.icon.trim(); + m.charAt(0) === '@' + ? EW(u, h.x + h.width - 20, h.y + 10, m.substr(1)) + : kW(u, h.x + h.width - 20, h.y + 10, m); + } + vO(r, Ni(e.description))( + e.description, + u, + h.x, + h.y, + h.width, + h.height, + { class: `actor ${LGe}` }, + r + ); + let p = e.height; + if (d.node) { + let m = d.node().getBBox(); + (e.height = m.height), (p = m.height); + } + return p; + }, 'drawActorTypeParticipant')), + (MGe = o(function (t, e, r, n) { + let i = n ? e.stopy : e.starty, + a = e.x + e.width / 2, + s = i + 80, + l = t.append('g').lower(); + n || + (Bc++, + l + .append('line') + .attr('id', 'actor' + Bc) + .attr('x1', a) + .attr('y1', s) + .attr('x2', a) + .attr('y2', 2e3) + .attr('class', 'actor-line 200') + .attr('stroke-width', '0.5px') + .attr('stroke', '#999') + .attr('name', e.name), + (e.actorCnt = Bc)); + let u = t.append('g'), + h = ihe; + n ? (h += ` ${she}`) : (h += ` ${ahe}`), u.attr('class', h), u.attr('name', e.name); + let f = wl(); + (f.x = e.x), + (f.y = i), + (f.fill = '#eaeaea'), + (f.width = e.width), + (f.height = e.height), + (f.class = 'actor'), + (f.rx = 3), + (f.ry = 3), + u + .append('line') + .attr('id', 'actor-man-torso' + Bc) + .attr('x1', a) + .attr('y1', i + 25) + .attr('x2', a) + .attr('y2', i + 45), + u + .append('line') + .attr('id', 'actor-man-arms' + Bc) + .attr('x1', a - gf / 2) + .attr('y1', i + 33) + .attr('x2', a + gf / 2) + .attr('y2', i + 33), + u + .append('line') + .attr('x1', a - gf / 2) + .attr('y1', i + 60) + .attr('x2', a) + .attr('y2', i + 45), + u + .append('line') + .attr('x1', a) + .attr('y1', i + 45) + .attr('x2', a + gf / 2 - 2) + .attr('y2', i + 60); + let d = u.append('circle'); + d.attr('cx', e.x + e.width / 2), + d.attr('cy', i + 10), + d.attr('r', 15), + d.attr('width', e.width), + d.attr('height', e.height); + let p = u.node().getBBox(); + return ( + (e.height = p.height), + vO(r, Ni(e.description))( + e.description, + u, + f.x, + f.y + 35, + f.width, + f.height, + { class: `actor ${ihe}` }, + r + ), + e.height + ); + }, 'drawActorTypeActor')), + (IGe = o(async function (t, e, r, n) { + switch (e.type) { + case 'actor': + return await MGe(t, e, r, n); + case 'participant': + return await NGe(t, e, r, n); + } + }, 'drawActor')), + (OGe = o(function (t, e, r) { + let i = t.append('g'); + lhe(i, e), + e.name && + vO(r)(e.name, i, e.x, e.y + (e.textMaxHeight || 0) / 2, e.width, 0, { class: 'text' }, r), + i.lower(); + }, 'drawBox')), + (PGe = o(function (t) { + return t.append('g'); + }, 'anchorElement')), + (BGe = o(function (t, e, r, n, i) { + let a = wl(), + s = e.anchored; + (a.x = e.startx), + (a.y = e.starty), + (a.class = 'activation' + (i % 3)), + (a.width = e.stopx - e.startx), + (a.height = r - e.starty), + gO(s, a); + }, 'drawActivation')), + (FGe = o(async function (t, e, r, n) { + let { + boxMargin: i, + boxTextMargin: a, + labelBoxHeight: s, + labelBoxWidth: l, + messageFontFamily: u, + messageFontSize: h, + messageFontWeight: f + } = n, + d = t.append('g'), + p = o(function (y, v, x, b) { + return d + .append('line') + .attr('x1', y) + .attr('y1', v) + .attr('x2', x) + .attr('y2', b) + .attr('class', 'loopLine'); + }, 'drawLoopLine'); + p(e.startx, e.starty, e.stopx, e.starty), + p(e.stopx, e.starty, e.stopx, e.stopy), + p(e.startx, e.stopy, e.stopx, e.stopy), + p(e.startx, e.starty, e.startx, e.stopy), + e.sections !== void 0 && + e.sections.forEach(function (y) { + p(e.startx, y.y, e.stopx, y.y).style('stroke-dasharray', '3, 3'); + }); + let m = Ky(); + (m.text = r), + (m.x = e.startx), + (m.y = e.starty), + (m.fontFamily = u), + (m.fontSize = h), + (m.fontWeight = f), + (m.anchor = 'middle'), + (m.valign = 'middle'), + (m.tspan = !1), + (m.width = l || 50), + (m.height = s || 20), + (m.textMargin = a), + (m.class = 'labelText'), + ohe(d, m), + (m = che()), + (m.text = e.title), + (m.x = e.startx + l / 2 + (e.stopx - e.startx) / 2), + (m.y = e.starty + i + a), + (m.anchor = 'middle'), + (m.valign = 'middle'), + (m.textMargin = a), + (m.class = 'loopText'), + (m.fontFamily = u), + (m.fontSize = h), + (m.fontWeight = f), + (m.wrap = !0); + let g = Ni(m.text) ? await bx(d, m, e) : _0(d, m); + if (e.sectionTitles !== void 0) { + for (let [y, v] of Object.entries(e.sectionTitles)) + if (v.message) { + (m.text = v.message), + (m.x = e.startx + (e.stopx - e.startx) / 2), + (m.y = e.sections[y].y + i + a), + (m.class = 'loopText'), + (m.anchor = 'middle'), + (m.valign = 'middle'), + (m.tspan = !1), + (m.fontFamily = u), + (m.fontSize = h), + (m.fontWeight = f), + (m.wrap = e.wrap), + Ni(m.text) ? ((e.starty = e.sections[y].y), await bx(d, m, e)) : _0(d, m); + let x = Math.round( + g.map((b) => (b._groups || b)[0][0].getBBox().height).reduce((b, w) => b + w) + ); + e.sections[y].height += x - (i + a); + } + } + return (e.height = Math.round(e.stopy - e.starty)), d; + }, 'drawLoop')), + (lhe = o(function (t, e) { + j3(t, e); + }, 'drawBackgroundRect')), + (zGe = o(function (t) { + t.append('defs') + .append('symbol') + .attr('id', 'database') + .attr('fill-rule', 'evenodd') + .attr('clip-rule', 'evenodd') + .append('path') + .attr('transform', 'scale(.5)') + .attr( + 'd', + 'M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z' + ); + }, 'insertDatabaseIcon')), + (GGe = o(function (t) { + t.append('defs') + .append('symbol') + .attr('id', 'computer') + .attr('width', '24') + .attr('height', '24') + .append('path') + .attr('transform', 'scale(.5)') + .attr( + 'd', + 'M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z' + ); + }, 'insertComputerIcon')), + ($Ge = o(function (t) { + t.append('defs') + .append('symbol') + .attr('id', 'clock') + .attr('width', '24') + .attr('height', '24') + .append('path') + .attr('transform', 'scale(.5)') + .attr( + 'd', + 'M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z' + ); + }, 'insertClockIcon')), + (VGe = o(function (t) { + t.append('defs') + .append('marker') + .attr('id', 'arrowhead') + .attr('refX', 7.9) + .attr('refY', 5) + .attr('markerUnits', 'userSpaceOnUse') + .attr('markerWidth', 12) + .attr('markerHeight', 12) + .attr('orient', 'auto-start-reverse') + .append('path') + .attr('d', 'M -1 0 L 10 5 L 0 10 z'); + }, 'insertArrowHead')), + (UGe = o(function (t) { + t.append('defs') + .append('marker') + .attr('id', 'filled-head') + .attr('refX', 15.5) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L14,7 L9,1 Z'); + }, 'insertArrowFilledHead')), + (HGe = o(function (t) { + t.append('defs') + .append('marker') + .attr('id', 'sequencenumber') + .attr('refX', 15) + .attr('refY', 15) + .attr('markerWidth', 60) + .attr('markerHeight', 40) + .attr('orient', 'auto') + .append('circle') + .attr('cx', 15) + .attr('cy', 15) + .attr('r', 6); + }, 'insertSequenceNumber')), + (YGe = o(function (t) { + t.append('defs') + .append('marker') + .attr('id', 'crosshead') + .attr('markerWidth', 15) + .attr('markerHeight', 8) + .attr('orient', 'auto') + .attr('refX', 4) + .attr('refY', 4.5) + .append('path') + .attr('fill', 'none') + .attr('stroke', '#000000') + .style('stroke-dasharray', '0, 0') + .attr('stroke-width', '1pt') + .attr('d', 'M 1,2 L 6,7 M 6,2 L 1,7'); + }, 'insertArrowCrossHead')), + (che = o(function () { + return { + x: 0, + y: 0, + fill: void 0, + anchor: void 0, + style: '#666', + width: void 0, + height: void 0, + textMargin: 0, + rx: 0, + ry: 0, + tspan: !0, + valign: void 0 + }; + }, 'getTextObj')), + (WGe = o(function () { + return { + x: 0, + y: 0, + fill: '#EDF2AE', + stroke: '#666', + width: 100, + anchor: 'start', + height: 100, + rx: 0, + ry: 0 + }; + }, 'getNoteRect')), + (vO = (function () { + function t(a, s, l, u, h, f, d) { + let p = s + .append('text') + .attr('x', l + h / 2) + .attr('y', u + f / 2 + 5) + .style('text-anchor', 'middle') + .text(a); + i(p, d); + } + o(t, 'byText'); + function e(a, s, l, u, h, f, d, p) { + let { actorFontSize: m, actorFontFamily: g, actorFontWeight: y } = p, + [v, x] = mc(m), + b = a.split(We.lineBreakRegex); + for (let w = 0; w < b.length; w++) { + let S = w * v - (v * (b.length - 1)) / 2, + T = s + .append('text') + .attr('x', l + h / 2) + .attr('y', u) + .style('text-anchor', 'middle') + .style('font-size', x) + .style('font-weight', y) + .style('font-family', g); + T.append('tspan') + .attr('x', l + h / 2) + .attr('dy', S) + .text(b[w]), + T.attr('y', u + f / 2) + .attr('dominant-baseline', 'central') + .attr('alignment-baseline', 'central'), + i(T, d); + } + } + o(e, 'byTspan'); + function r(a, s, l, u, h, f, d, p) { + let m = s.append('switch'), + y = m + .append('foreignObject') + .attr('x', l) + .attr('y', u) + .attr('width', h) + .attr('height', f) + .append('xhtml:div') + .style('display', 'table') + .style('height', '100%') + .style('width', '100%'); + y + .append('div') + .style('display', 'table-cell') + .style('text-align', 'center') + .style('vertical-align', 'middle') + .text(a), + e(a, m, l, u, h, f, d, p), + i(y, d); + } + o(r, 'byFo'); + async function n(a, s, l, u, h, f, d, p) { + let m = await Zf(a, Or()), + g = s.append('switch'), + v = g + .append('foreignObject') + .attr('x', l + h / 2 - m.width / 2) + .attr('y', u + f / 2 - m.height / 2) + .attr('width', m.width) + .attr('height', m.height) + .append('xhtml:div') + .style('height', '100%') + .style('width', '100%'); + v + .append('div') + .style('text-align', 'center') + .style('vertical-align', 'middle') + .html(await yh(a, Or())), + e(a, g, l, u, h, f, d, p), + i(v, d); + } + o(n, 'byKatex'); + function i(a, s) { + for (let l in s) s.hasOwnProperty(l) && a.attr(l, s[l]); + } + return ( + o(i, '_setTextAttrs'), + function (a, s = !1) { + return s ? n : a.textPlacement === 'fo' ? r : a.textPlacement === 'old' ? t : e; + } + ); + })()), + (qGe = (function () { + function t(i, a, s, l, u, h, f) { + let d = a.append('text').attr('x', s).attr('y', l).style('text-anchor', 'start').text(i); + n(d, f); + } + o(t, 'byText'); + function e(i, a, s, l, u, h, f, d) { + let { actorFontSize: p, actorFontFamily: m, actorFontWeight: g } = d, + y = i.split(We.lineBreakRegex); + for (let v = 0; v < y.length; v++) { + let x = v * p - (p * (y.length - 1)) / 2, + b = a + .append('text') + .attr('x', s) + .attr('y', l) + .style('text-anchor', 'start') + .style('font-size', p) + .style('font-weight', g) + .style('font-family', m); + b.append('tspan').attr('x', s).attr('dy', x).text(y[v]), + b + .attr('y', l + h / 2) + .attr('dominant-baseline', 'central') + .attr('alignment-baseline', 'central'), + n(b, f); + } + } + o(e, 'byTspan'); + function r(i, a, s, l, u, h, f, d) { + let p = a.append('switch'), + g = p + .append('foreignObject') + .attr('x', s) + .attr('y', l) + .attr('width', u) + .attr('height', h) + .append('xhtml:div') + .style('display', 'table') + .style('height', '100%') + .style('width', '100%'); + g + .append('div') + .style('display', 'table-cell') + .style('text-align', 'center') + .style('vertical-align', 'middle') + .text(i), + e(i, p, s, l, u, h, f, d), + n(g, f); + } + o(r, 'byFo'); + function n(i, a) { + for (let s in a) a.hasOwnProperty(s) && i.attr(s, a[s]); + } + return ( + o(n, '_setTextAttrs'), + function (i) { + return i.textPlacement === 'fo' ? r : i.textPlacement === 'old' ? t : e; + } + ); + })()), + (si = { + drawRect: gO, + drawText: _0, + drawLabel: ohe, + drawActor: IGe, + drawBox: OGe, + drawPopup: DGe, + anchorElement: PGe, + drawActivation: BGe, + drawLoop: FGe, + drawBackgroundRect: lhe, + insertArrowHead: VGe, + insertArrowFilledHead: UGe, + insertSequenceNumber: HGe, + insertArrowCrossHead: YGe, + insertDatabaseIcon: zGe, + insertComputerIcon: GGe, + insertClockIcon: $Ge, + getTextObj: che, + getNoteRect: WGe, + fixLifeLineHeights: yO, + sanitizeUrl: mO.sanitizeUrl + }); + }); + async function jGe(t, e) { + Ke.bumpVerticalPos(10); + let { startx: r, stopx: n, message: i } = e, + a = We.splitBreaks(i).length, + s = Ni(i), + l = s ? await Zf(i, de()) : Lt.calculateTextDimensions(i, L0(Ne)); + if (!s) { + let d = l.height / a; + (e.height += d), Ke.bumpVerticalPos(d); + } + let u, + h = l.height - 10, + f = l.width; + if (r === n) { + (u = Ke.getVerticalPos() + h), + Ne.rightAngles || ((h += Ne.boxMargin), (u = Ke.getVerticalPos() + h)), + (h += 30); + let d = We.getMax(f / 2, Ne.width / 2); + Ke.insert(r - d, Ke.getVerticalPos() - 10 + h, n + d, Ke.getVerticalPos() + 30 + h); + } else (h += Ne.boxMargin), (u = Ke.getVerticalPos() + h), Ke.insert(r, u - 10, n, u); + return ( + Ke.bumpVerticalPos(h), + (e.height += h), + (e.stopy = e.starty + e.height), + Ke.insert(e.fromBounds, e.starty, e.toBounds, e.stopy), + u + ); + } + function Fc(t, e, r, n, i) { + Ke.bumpVerticalPos(r); + let a = n; + if (e.id && e.message && t[e.id]) { + let s = t[e.id].width, + l = L0(Ne); + (e.message = Lt.wrapLabel(`[${e.message}]`, s - 2 * Ne.wrapPadding, l)), (e.width = s), (e.wrap = !0); + let u = Lt.calculateTextDimensions(e.message, l), + h = We.getMax(u.height, Ne.labelBoxHeight); + (a = n + h), V.debug(`${h} - ${e.message}`); + } + i(e), Ke.bumpVerticalPos(a); + } + function ZGe(t, e, r, n, i, a, s) { + function l(h, f) { + h.x < i.get(t.from).x + ? (Ke.insert(e.stopx - f, e.starty, e.startx, e.stopy + h.height / 2 + Ne.noteMargin), + (e.stopx = e.stopx + f)) + : (Ke.insert(e.startx, e.starty, e.stopx + f, e.stopy + h.height / 2 + Ne.noteMargin), + (e.stopx = e.stopx - f)); + } + o(l, 'receiverAdjustment'); + function u(h, f) { + h.x < i.get(t.to).x + ? (Ke.insert(e.startx - f, e.starty, e.stopx, e.stopy + h.height / 2 + Ne.noteMargin), + (e.startx = e.startx + f)) + : (Ke.insert(e.stopx, e.starty, e.startx + f, e.stopy + h.height / 2 + Ne.noteMargin), + (e.startx = e.startx - f)); + } + if ((o(u, 'senderAdjustment'), a.get(t.to) == n)) { + let h = i.get(t.to), + f = h.type == 'actor' ? gf / 2 + 3 : h.width / 2 + 3; + l(h, f), (h.starty = r - h.height / 2), Ke.bumpVerticalPos(h.height / 2); + } else if (s.get(t.from) == n) { + let h = i.get(t.from); + if (Ne.mirrorActors) { + let f = h.type == 'actor' ? gf / 2 : h.width / 2; + u(h, f); + } + (h.stopy = r - h.height / 2), Ke.bumpVerticalPos(h.height / 2); + } else if (s.get(t.to) == n) { + let h = i.get(t.to); + if (Ne.mirrorActors) { + let f = h.type == 'actor' ? gf / 2 + 3 : h.width / 2 + 3; + l(h, f); + } + (h.stopy = r - h.height / 2), Ke.bumpVerticalPos(h.height / 2); + } + } + async function e$e(t, e, r) { + let n = {}; + for (let i of e) + if (t.get(i.to) && t.get(i.from)) { + let a = t.get(i.to); + if ( + (i.placement === r.db.PLACEMENT.LEFTOF && !a.prevActor) || + (i.placement === r.db.PLACEMENT.RIGHTOF && !a.nextActor) + ) + continue; + let s = i.placement !== void 0, + l = !s, + u = s ? Pg(Ne) : L0(Ne), + h = i.wrap ? Lt.wrapLabel(i.message, Ne.width - 2 * Ne.wrapPadding, u) : i.message, + d = + (Ni(h) ? await Zf(i.message, de()) : Lt.calculateTextDimensions(h, u)).width + + 2 * Ne.wrapPadding; + l && i.from === a.nextActor + ? (n[i.to] = We.getMax(n[i.to] || 0, d)) + : l && i.from === a.prevActor + ? (n[i.from] = We.getMax(n[i.from] || 0, d)) + : l && i.from === i.to + ? ((n[i.from] = We.getMax(n[i.from] || 0, d / 2)), (n[i.to] = We.getMax(n[i.to] || 0, d / 2))) + : i.placement === r.db.PLACEMENT.RIGHTOF + ? (n[i.from] = We.getMax(n[i.from] || 0, d)) + : i.placement === r.db.PLACEMENT.LEFTOF + ? (n[a.prevActor] = We.getMax(n[a.prevActor] || 0, d)) + : i.placement === r.db.PLACEMENT.OVER && + (a.prevActor && (n[a.prevActor] = We.getMax(n[a.prevActor] || 0, d / 2)), + a.nextActor && (n[i.from] = We.getMax(n[i.from] || 0, d / 2))); + } + return V.debug('maxMessageWidthPerActor:', n), n; + } + async function r$e(t, e, r) { + let n = 0; + for (let a of t.keys()) { + let s = t.get(a); + s.wrap && (s.description = Lt.wrapLabel(s.description, Ne.width - 2 * Ne.wrapPadding, xO(Ne))); + let l = Ni(s.description) + ? await Zf(s.description, de()) + : Lt.calculateTextDimensions(s.description, xO(Ne)); + (s.width = s.wrap ? Ne.width : We.getMax(Ne.width, l.width + 2 * Ne.wrapPadding)), + (s.height = s.wrap ? We.getMax(l.height, Ne.height) : Ne.height), + (n = We.getMax(n, s.height)); + } + for (let a in e) { + let s = t.get(a); + if (!s) continue; + let l = t.get(s.nextActor); + if (!l) { + let d = e[a] + Ne.actorMargin - s.width / 2; + s.margin = We.getMax(d, Ne.actorMargin); + continue; + } + let h = e[a] + Ne.actorMargin - s.width / 2 - l.width / 2; + s.margin = We.getMax(h, Ne.actorMargin); + } + let i = 0; + return ( + r.forEach((a) => { + let s = L0(Ne), + l = a.actorKeys.reduce((f, d) => (f += t.get(d).width + (t.get(d).margin || 0)), 0); + (l -= 2 * Ne.boxTextMargin), a.wrap && (a.name = Lt.wrapLabel(a.name, l - 2 * Ne.wrapPadding, s)); + let u = Lt.calculateTextDimensions(a.name, s); + i = We.getMax(u.height, i); + let h = We.getMax(l, u.width + 2 * Ne.wrapPadding); + if (((a.margin = Ne.boxTextMargin), l < h)) { + let f = (h - l) / 2; + a.margin += f; + } + }), + r.forEach((a) => (a.textMaxHeight = i)), + We.getMax(n, Ne.height) + ); + } + var Ne, + Ke, + XGe, + L0, + Pg, + xO, + KGe, + QGe, + bO, + fhe, + dhe, + bE, + hhe, + JGe, + t$e, + n$e, + i$e, + a$e, + phe, + mhe = R(() => { + 'use strict'; + Zt(); + uhe(); + ut(); + rr(); + Qy(); + _t(); + cp(); + xr(); + Yn(); + (Ne = {}), + (Ke = { + data: { + startx: void 0, + stopx: void 0, + starty: void 0, + stopy: void 0 + }, + verticalPos: 0, + sequenceItems: [], + activations: [], + models: { + getHeight: o(function () { + return ( + Math.max.apply( + null, + this.actors.length === 0 ? [0] : this.actors.map((t) => t.height || 0) + ) + + (this.loops.length === 0 + ? 0 + : this.loops.map((t) => t.height || 0).reduce((t, e) => t + e)) + + (this.messages.length === 0 + ? 0 + : this.messages.map((t) => t.height || 0).reduce((t, e) => t + e)) + + (this.notes.length === 0 + ? 0 + : this.notes.map((t) => t.height || 0).reduce((t, e) => t + e)) + ); + }, 'getHeight'), + clear: o(function () { + (this.actors = []), + (this.boxes = []), + (this.loops = []), + (this.messages = []), + (this.notes = []); + }, 'clear'), + addBox: o(function (t) { + this.boxes.push(t); + }, 'addBox'), + addActor: o(function (t) { + this.actors.push(t); + }, 'addActor'), + addLoop: o(function (t) { + this.loops.push(t); + }, 'addLoop'), + addMessage: o(function (t) { + this.messages.push(t); + }, 'addMessage'), + addNote: o(function (t) { + this.notes.push(t); + }, 'addNote'), + lastActor: o(function () { + return this.actors[this.actors.length - 1]; + }, 'lastActor'), + lastLoop: o(function () { + return this.loops[this.loops.length - 1]; + }, 'lastLoop'), + lastMessage: o(function () { + return this.messages[this.messages.length - 1]; + }, 'lastMessage'), + lastNote: o(function () { + return this.notes[this.notes.length - 1]; + }, 'lastNote'), + actors: [], + boxes: [], + loops: [], + messages: [], + notes: [] + }, + init: o(function () { + (this.sequenceItems = []), + (this.activations = []), + this.models.clear(), + (this.data = { + startx: void 0, + stopx: void 0, + starty: void 0, + stopy: void 0 + }), + (this.verticalPos = 0), + dhe(de()); + }, 'init'), + updateVal: o(function (t, e, r, n) { + t[e] === void 0 ? (t[e] = r) : (t[e] = n(r, t[e])); + }, 'updateVal'), + updateBounds: o(function (t, e, r, n) { + let i = this, + a = 0; + function s(l) { + return o(function (h) { + a++; + let f = i.sequenceItems.length - a + 1; + i.updateVal(h, 'starty', e - f * Ne.boxMargin, Math.min), + i.updateVal(h, 'stopy', n + f * Ne.boxMargin, Math.max), + i.updateVal(Ke.data, 'startx', t - f * Ne.boxMargin, Math.min), + i.updateVal(Ke.data, 'stopx', r + f * Ne.boxMargin, Math.max), + l !== 'activation' && + (i.updateVal(h, 'startx', t - f * Ne.boxMargin, Math.min), + i.updateVal(h, 'stopx', r + f * Ne.boxMargin, Math.max), + i.updateVal(Ke.data, 'starty', e - f * Ne.boxMargin, Math.min), + i.updateVal(Ke.data, 'stopy', n + f * Ne.boxMargin, Math.max)); + }, 'updateItemBounds'); + } + o(s, 'updateFn'), this.sequenceItems.forEach(s()), this.activations.forEach(s('activation')); + }, 'updateBounds'), + insert: o(function (t, e, r, n) { + let i = We.getMin(t, r), + a = We.getMax(t, r), + s = We.getMin(e, n), + l = We.getMax(e, n); + this.updateVal(Ke.data, 'startx', i, Math.min), + this.updateVal(Ke.data, 'starty', s, Math.min), + this.updateVal(Ke.data, 'stopx', a, Math.max), + this.updateVal(Ke.data, 'stopy', l, Math.max), + this.updateBounds(i, s, a, l); + }, 'insert'), + newActivation: o(function (t, e, r) { + let n = r.get(t.from), + i = bE(t.from).length || 0, + a = n.x + n.width / 2 + ((i - 1) * Ne.activationWidth) / 2; + this.activations.push({ + startx: a, + starty: this.verticalPos + 2, + stopx: a + Ne.activationWidth, + stopy: void 0, + actor: t.from, + anchored: si.anchorElement(e) + }); + }, 'newActivation'), + endActivation: o(function (t) { + let e = this.activations + .map(function (r) { + return r.actor; + }) + .lastIndexOf(t.from); + return this.activations.splice(e, 1)[0]; + }, 'endActivation'), + createLoop: o(function (t = { message: void 0, wrap: !1, width: void 0 }, e) { + return { + startx: void 0, + starty: this.verticalPos, + stopx: void 0, + stopy: void 0, + title: t.message, + wrap: t.wrap, + width: t.width, + height: 0, + fill: e + }; + }, 'createLoop'), + newLoop: o(function (t = { message: void 0, wrap: !1, width: void 0 }, e) { + this.sequenceItems.push(this.createLoop(t, e)); + }, 'newLoop'), + endLoop: o(function () { + return this.sequenceItems.pop(); + }, 'endLoop'), + isLoopOverlap: o(function () { + return this.sequenceItems.length + ? this.sequenceItems[this.sequenceItems.length - 1].overlap + : !1; + }, 'isLoopOverlap'), + addSectionToLoop: o(function (t) { + let e = this.sequenceItems.pop(); + (e.sections = e.sections || []), + (e.sectionTitles = e.sectionTitles || []), + e.sections.push({ y: Ke.getVerticalPos(), height: 0 }), + e.sectionTitles.push(t), + this.sequenceItems.push(e); + }, 'addSectionToLoop'), + saveVerticalPos: o(function () { + this.isLoopOverlap() && (this.savedVerticalPos = this.verticalPos); + }, 'saveVerticalPos'), + resetVerticalPos: o(function () { + this.isLoopOverlap() && (this.verticalPos = this.savedVerticalPos); + }, 'resetVerticalPos'), + bumpVerticalPos: o(function (t) { + (this.verticalPos = this.verticalPos + t), + (this.data.stopy = We.getMax(this.data.stopy, this.verticalPos)); + }, 'bumpVerticalPos'), + getVerticalPos: o(function () { + return this.verticalPos; + }, 'getVerticalPos'), + getBounds: o(function () { + return { bounds: this.data, models: this.models }; + }, 'getBounds') + }), + (XGe = o(async function (t, e) { + Ke.bumpVerticalPos(Ne.boxMargin), (e.height = Ne.boxMargin), (e.starty = Ke.getVerticalPos()); + let r = wl(); + (r.x = e.startx), (r.y = e.starty), (r.width = e.width || Ne.width), (r.class = 'note'); + let n = t.append('g'), + i = si.drawRect(n, r), + a = Ky(); + (a.x = e.startx), + (a.y = e.starty), + (a.width = r.width), + (a.dy = '1em'), + (a.text = e.message), + (a.class = 'noteText'), + (a.fontFamily = Ne.noteFontFamily), + (a.fontSize = Ne.noteFontSize), + (a.fontWeight = Ne.noteFontWeight), + (a.anchor = Ne.noteAlign), + (a.textMargin = Ne.noteMargin), + (a.valign = 'center'); + let s = Ni(a.text) ? await bx(n, a) : _0(n, a), + l = Math.round(s.map((u) => (u._groups || u)[0][0].getBBox().height).reduce((u, h) => u + h)); + i.attr('height', l + 2 * Ne.noteMargin), + (e.height += l + 2 * Ne.noteMargin), + Ke.bumpVerticalPos(l + 2 * Ne.noteMargin), + (e.stopy = e.starty + l + 2 * Ne.noteMargin), + (e.stopx = e.startx + r.width), + Ke.insert(e.startx, e.starty, e.stopx, e.stopy), + Ke.models.addNote(e); + }, 'drawNote')), + (L0 = o( + (t) => ({ + fontFamily: t.messageFontFamily, + fontSize: t.messageFontSize, + fontWeight: t.messageFontWeight + }), + 'messageFont' + )), + (Pg = o( + (t) => ({ + fontFamily: t.noteFontFamily, + fontSize: t.noteFontSize, + fontWeight: t.noteFontWeight + }), + 'noteFont' + )), + (xO = o( + (t) => ({ + fontFamily: t.actorFontFamily, + fontSize: t.actorFontSize, + fontWeight: t.actorFontWeight + }), + 'actorFont' + )); + o(jGe, 'boundMessage'); + (KGe = o(async function (t, e, r, n) { + let { startx: i, stopx: a, starty: s, message: l, type: u, sequenceIndex: h, sequenceVisible: f } = e, + d = Lt.calculateTextDimensions(l, L0(Ne)), + p = Ky(); + (p.x = i), + (p.y = s + 10), + (p.width = a - i), + (p.class = 'messageText'), + (p.dy = '1em'), + (p.text = l), + (p.fontFamily = Ne.messageFontFamily), + (p.fontSize = Ne.messageFontSize), + (p.fontWeight = Ne.messageFontWeight), + (p.anchor = Ne.messageAlign), + (p.valign = 'center'), + (p.textMargin = Ne.wrapPadding), + (p.tspan = !1), + Ni(p.text) ? await bx(t, p, { startx: i, stopx: a, starty: r }) : _0(t, p); + let m = d.width, + g; + i === a + ? Ne.rightAngles + ? (g = t + .append('path') + .attr('d', `M ${i},${r} H ${i + We.getMax(Ne.width / 2, m / 2)} V ${r + 25} H ${i}`)) + : (g = t + .append('path') + .attr( + 'd', + 'M ' + + i + + ',' + + r + + ' C ' + + (i + 60) + + ',' + + (r - 10) + + ' ' + + (i + 60) + + ',' + + (r + 30) + + ' ' + + i + + ',' + + (r + 20) + )) + : ((g = t.append('line')), g.attr('x1', i), g.attr('y1', r), g.attr('x2', a), g.attr('y2', r)), + u === n.db.LINETYPE.DOTTED || + u === n.db.LINETYPE.DOTTED_CROSS || + u === n.db.LINETYPE.DOTTED_POINT || + u === n.db.LINETYPE.DOTTED_OPEN || + u === n.db.LINETYPE.BIDIRECTIONAL_DOTTED + ? (g.style('stroke-dasharray', '3, 3'), g.attr('class', 'messageLine1')) + : g.attr('class', 'messageLine0'); + let y = ''; + Ne.arrowMarkerAbsolute && + ((y = + window.location.protocol + + '//' + + window.location.host + + window.location.pathname + + window.location.search), + (y = y.replace(/\(/g, '\\(')), + (y = y.replace(/\)/g, '\\)'))), + g.attr('stroke-width', 2), + g.attr('stroke', 'none'), + g.style('fill', 'none'), + (u === n.db.LINETYPE.SOLID || u === n.db.LINETYPE.DOTTED) && + g.attr('marker-end', 'url(' + y + '#arrowhead)'), + (u === n.db.LINETYPE.BIDIRECTIONAL_SOLID || u === n.db.LINETYPE.BIDIRECTIONAL_DOTTED) && + (g.attr('marker-start', 'url(' + y + '#arrowhead)'), + g.attr('marker-end', 'url(' + y + '#arrowhead)')), + (u === n.db.LINETYPE.SOLID_POINT || u === n.db.LINETYPE.DOTTED_POINT) && + g.attr('marker-end', 'url(' + y + '#filled-head)'), + (u === n.db.LINETYPE.SOLID_CROSS || u === n.db.LINETYPE.DOTTED_CROSS) && + g.attr('marker-end', 'url(' + y + '#crosshead)'), + (f || Ne.showSequenceNumbers) && + (g.attr('marker-start', 'url(' + y + '#sequencenumber)'), + t + .append('text') + .attr('x', i) + .attr('y', r + 4) + .attr('font-family', 'sans-serif') + .attr('font-size', '12px') + .attr('text-anchor', 'middle') + .attr('class', 'sequenceNumber') + .text(h)); + }, 'drawMessage')), + (QGe = o(function (t, e, r, n, i, a, s) { + let l = 0, + u = 0, + h, + f = 0; + for (let d of n) { + let p = e.get(d), + m = p.box; + h && h != m && (s || Ke.models.addBox(h), (u += Ne.boxMargin + h.margin)), + m && m != h && (s || ((m.x = l + u), (m.y = i)), (u += m.margin)), + (p.width = p.width || Ne.width), + (p.height = We.getMax(p.height || Ne.height, Ne.height)), + (p.margin = p.margin || Ne.actorMargin), + (f = We.getMax(f, p.height)), + r.get(p.name) && (u += p.width / 2), + (p.x = l + u), + (p.starty = Ke.getVerticalPos()), + Ke.insert(p.x, i, p.x + p.width, p.height), + (l += p.width + u), + p.box && (p.box.width = l + m.margin - p.box.x), + (u = p.margin), + (h = p.box), + Ke.models.addActor(p); + } + h && !s && Ke.models.addBox(h), Ke.bumpVerticalPos(f); + }, 'addActorRenderingData')), + (bO = o(async function (t, e, r, n) { + if (n) { + let i = 0; + Ke.bumpVerticalPos(Ne.boxMargin * 2); + for (let a of r) { + let s = e.get(a); + s.stopy || (s.stopy = Ke.getVerticalPos()); + let l = await si.drawActor(t, s, Ne, !0); + i = We.getMax(i, l); + } + Ke.bumpVerticalPos(i + Ne.boxMargin); + } else + for (let i of r) { + let a = e.get(i); + await si.drawActor(t, a, Ne, !1); + } + }, 'drawActors')), + (fhe = o(function (t, e, r, n) { + let i = 0, + a = 0; + for (let s of r) { + let l = e.get(s), + u = t$e(l), + h = si.drawPopup(t, l, u, Ne, Ne.forceMenus, n); + h.height > i && (i = h.height), h.width + l.x > a && (a = h.width + l.x); + } + return { maxHeight: i, maxWidth: a }; + }, 'drawActorsPopup')), + (dhe = o(function (t) { + On(Ne, t), + t.fontFamily && (Ne.actorFontFamily = Ne.noteFontFamily = Ne.messageFontFamily = t.fontFamily), + t.fontSize && (Ne.actorFontSize = Ne.noteFontSize = Ne.messageFontSize = t.fontSize), + t.fontWeight && (Ne.actorFontWeight = Ne.noteFontWeight = Ne.messageFontWeight = t.fontWeight); + }, 'setConf')), + (bE = o(function (t) { + return Ke.activations.filter(function (e) { + return e.actor === t; + }); + }, 'actorActivations')), + (hhe = o(function (t, e) { + let r = e.get(t), + n = bE(t), + i = n.reduce(function (s, l) { + return We.getMin(s, l.startx); + }, r.x + r.width / 2 - 1), + a = n.reduce(function (s, l) { + return We.getMax(s, l.stopx); + }, r.x + r.width / 2 + 1); + return [i, a]; + }, 'activationBounds')); + o(Fc, 'adjustLoopHeightForWrap'); + o(ZGe, 'adjustCreatedDestroyedData'); + JGe = o(async function (t, e, r, n) { + let { securityLevel: i, sequence: a } = de(); + Ne = a; + let s; + i === 'sandbox' && (s = $e('#i' + e)); + let l = i === 'sandbox' ? $e(s.nodes()[0].contentDocument.body) : $e('body'), + u = i === 'sandbox' ? s.nodes()[0].contentDocument : document; + Ke.init(), V.debug(n.db); + let h = i === 'sandbox' ? l.select(`[id="${e}"]`) : $e(`[id="${e}"]`), + f = n.db.getActors(), + d = n.db.getCreatedActors(), + p = n.db.getDestroyedActors(), + m = n.db.getBoxes(), + g = n.db.getActorKeys(), + y = n.db.getMessages(), + v = n.db.getDiagramTitle(), + x = n.db.hasAtLeastOneBox(), + b = n.db.hasAtLeastOneBoxWithTitle(), + w = await e$e(f, y, n); + if ( + ((Ne.height = await r$e(f, w, m)), + si.insertComputerIcon(h), + si.insertDatabaseIcon(h), + si.insertClockIcon(h), + x && (Ke.bumpVerticalPos(Ne.boxMargin), b && Ke.bumpVerticalPos(m[0].textMaxHeight)), + Ne.hideUnusedParticipants === !0) + ) { + let F = new Set(); + y.forEach((B) => { + F.add(B.from), F.add(B.to); + }), + (g = g.filter((B) => F.has(B))); + } + QGe(h, f, d, g, 0, y, !1); + let S = await a$e(y, f, w, n); + si.insertArrowHead(h), + si.insertArrowCrossHead(h), + si.insertArrowFilledHead(h), + si.insertSequenceNumber(h); + function T(F, B) { + let $ = Ke.endActivation(F); + $.starty + 18 > B && (($.starty = B - 6), (B += 12)), + si.drawActivation(h, $, B, Ne, bE(F.from).length), + Ke.insert($.startx, B - 10, $.stopx, B); + } + o(T, 'activeEnd'); + let E = 1, + _ = 1, + A = [], + L = [], + M = 0; + for (let F of y) { + let B, $, z; + switch (F.type) { + case n.db.LINETYPE.NOTE: + Ke.resetVerticalPos(), ($ = F.noteModel), await XGe(h, $); + break; + case n.db.LINETYPE.ACTIVE_START: + Ke.newActivation(F, h, f); + break; + case n.db.LINETYPE.ACTIVE_END: + T(F, Ke.getVerticalPos()); + break; + case n.db.LINETYPE.LOOP_START: + Fc(S, F, Ne.boxMargin, Ne.boxMargin + Ne.boxTextMargin, (Y) => Ke.newLoop(Y)); + break; + case n.db.LINETYPE.LOOP_END: + (B = Ke.endLoop()), + await si.drawLoop(h, B, 'loop', Ne), + Ke.bumpVerticalPos(B.stopy - Ke.getVerticalPos()), + Ke.models.addLoop(B); + break; + case n.db.LINETYPE.RECT_START: + Fc(S, F, Ne.boxMargin, Ne.boxMargin, (Y) => Ke.newLoop(void 0, Y.message)); + break; + case n.db.LINETYPE.RECT_END: + (B = Ke.endLoop()), + L.push(B), + Ke.models.addLoop(B), + Ke.bumpVerticalPos(B.stopy - Ke.getVerticalPos()); + break; + case n.db.LINETYPE.OPT_START: + Fc(S, F, Ne.boxMargin, Ne.boxMargin + Ne.boxTextMargin, (Y) => Ke.newLoop(Y)); + break; + case n.db.LINETYPE.OPT_END: + (B = Ke.endLoop()), + await si.drawLoop(h, B, 'opt', Ne), + Ke.bumpVerticalPos(B.stopy - Ke.getVerticalPos()), + Ke.models.addLoop(B); + break; + case n.db.LINETYPE.ALT_START: + Fc(S, F, Ne.boxMargin, Ne.boxMargin + Ne.boxTextMargin, (Y) => Ke.newLoop(Y)); + break; + case n.db.LINETYPE.ALT_ELSE: + Fc(S, F, Ne.boxMargin + Ne.boxTextMargin, Ne.boxMargin, (Y) => Ke.addSectionToLoop(Y)); + break; + case n.db.LINETYPE.ALT_END: + (B = Ke.endLoop()), + await si.drawLoop(h, B, 'alt', Ne), + Ke.bumpVerticalPos(B.stopy - Ke.getVerticalPos()), + Ke.models.addLoop(B); + break; + case n.db.LINETYPE.PAR_START: + case n.db.LINETYPE.PAR_OVER_START: + Fc(S, F, Ne.boxMargin, Ne.boxMargin + Ne.boxTextMargin, (Y) => Ke.newLoop(Y)), + Ke.saveVerticalPos(); + break; + case n.db.LINETYPE.PAR_AND: + Fc(S, F, Ne.boxMargin + Ne.boxTextMargin, Ne.boxMargin, (Y) => Ke.addSectionToLoop(Y)); + break; + case n.db.LINETYPE.PAR_END: + (B = Ke.endLoop()), + await si.drawLoop(h, B, 'par', Ne), + Ke.bumpVerticalPos(B.stopy - Ke.getVerticalPos()), + Ke.models.addLoop(B); + break; + case n.db.LINETYPE.AUTONUMBER: + (E = F.message.start || E), + (_ = F.message.step || _), + F.message.visible ? n.db.enableSequenceNumbers() : n.db.disableSequenceNumbers(); + break; + case n.db.LINETYPE.CRITICAL_START: + Fc(S, F, Ne.boxMargin, Ne.boxMargin + Ne.boxTextMargin, (Y) => Ke.newLoop(Y)); + break; + case n.db.LINETYPE.CRITICAL_OPTION: + Fc(S, F, Ne.boxMargin + Ne.boxTextMargin, Ne.boxMargin, (Y) => Ke.addSectionToLoop(Y)); + break; + case n.db.LINETYPE.CRITICAL_END: + (B = Ke.endLoop()), + await si.drawLoop(h, B, 'critical', Ne), + Ke.bumpVerticalPos(B.stopy - Ke.getVerticalPos()), + Ke.models.addLoop(B); + break; + case n.db.LINETYPE.BREAK_START: + Fc(S, F, Ne.boxMargin, Ne.boxMargin + Ne.boxTextMargin, (Y) => Ke.newLoop(Y)); + break; + case n.db.LINETYPE.BREAK_END: + (B = Ke.endLoop()), + await si.drawLoop(h, B, 'break', Ne), + Ke.bumpVerticalPos(B.stopy - Ke.getVerticalPos()), + Ke.models.addLoop(B); + break; + default: + try { + (z = F.msgModel), + (z.starty = Ke.getVerticalPos()), + (z.sequenceIndex = E), + (z.sequenceVisible = n.db.showSequenceNumbers()); + let Y = await jGe(h, z); + ZGe(F, z, Y, M, f, d, p), + A.push({ messageModel: z, lineStartY: Y }), + Ke.models.addMessage(z); + } catch (Y) { + V.error('error while drawing message', Y); + } + } + [ + n.db.LINETYPE.SOLID_OPEN, + n.db.LINETYPE.DOTTED_OPEN, + n.db.LINETYPE.SOLID, + n.db.LINETYPE.DOTTED, + n.db.LINETYPE.SOLID_CROSS, + n.db.LINETYPE.DOTTED_CROSS, + n.db.LINETYPE.SOLID_POINT, + n.db.LINETYPE.DOTTED_POINT, + n.db.LINETYPE.BIDIRECTIONAL_SOLID, + n.db.LINETYPE.BIDIRECTIONAL_DOTTED + ].includes(F.type) && (E = E + _), + M++; + } + V.debug('createdActors', d), V.debug('destroyedActors', p), await bO(h, f, g, !1); + for (let F of A) await KGe(h, F.messageModel, F.lineStartY, n); + Ne.mirrorActors && (await bO(h, f, g, !0)), + L.forEach((F) => si.drawBackgroundRect(h, F)), + yO(h, f, g, Ne); + for (let F of Ke.models.boxes) + (F.height = Ke.getVerticalPos() - F.y), + Ke.insert(F.x, F.y, F.x + F.width, F.height), + (F.startx = F.x), + (F.starty = F.y), + (F.stopx = F.startx + F.width), + (F.stopy = F.starty + F.height), + (F.stroke = 'rgb(0,0,0, 0.5)'), + si.drawBox(h, F, Ne); + x && Ke.bumpVerticalPos(Ne.boxMargin); + let N = fhe(h, f, g, u), + { bounds: k } = Ke.getBounds(); + k.startx === void 0 && (k.startx = 0), + k.starty === void 0 && (k.starty = 0), + k.stopx === void 0 && (k.stopx = 0), + k.stopy === void 0 && (k.stopy = 0); + let I = k.stopy - k.starty; + I < N.maxHeight && (I = N.maxHeight); + let C = I + 2 * Ne.diagramMarginY; + Ne.mirrorActors && (C = C - Ne.boxMargin + Ne.bottomMarginAdj); + let O = k.stopx - k.startx; + O < N.maxWidth && (O = N.maxWidth); + let D = O + 2 * Ne.diagramMarginX; + v && + h + .append('text') + .text(v) + .attr('x', (k.stopx - k.startx) / 2 - 2 * Ne.diagramMarginX) + .attr('y', -25), + Sr(h, C, D, Ne.useMaxWidth); + let P = v ? 40 : 0; + h.attr( + 'viewBox', + k.startx - Ne.diagramMarginX + ' -' + (Ne.diagramMarginY + P) + ' ' + D + ' ' + (C + P) + ), + V.debug('models:', Ke.models); + }, 'draw'); + o(e$e, 'getMaxMessageWidthPerActor'); + t$e = o(function (t) { + let e = 0, + r = xO(Ne); + for (let n in t.links) { + let a = Lt.calculateTextDimensions(n, r).width + 2 * Ne.wrapPadding + 2 * Ne.boxMargin; + e < a && (e = a); + } + return e; + }, 'getRequiredPopupWidth'); + o(r$e, 'calculateActorMargins'); + (n$e = o(async function (t, e, r) { + let n = e.get(t.from), + i = e.get(t.to), + a = n.x, + s = i.x, + l = t.wrap && t.message, + u = Ni(t.message) + ? await Zf(t.message, de()) + : Lt.calculateTextDimensions(l ? Lt.wrapLabel(t.message, Ne.width, Pg(Ne)) : t.message, Pg(Ne)), + h = { + width: l ? Ne.width : We.getMax(Ne.width, u.width + 2 * Ne.noteMargin), + height: 0, + startx: n.x, + stopx: 0, + starty: 0, + stopy: 0, + message: t.message + }; + return ( + t.placement === r.db.PLACEMENT.RIGHTOF + ? ((h.width = l + ? We.getMax(Ne.width, u.width) + : We.getMax(n.width / 2 + i.width / 2, u.width + 2 * Ne.noteMargin)), + (h.startx = a + (n.width + Ne.actorMargin) / 2)) + : t.placement === r.db.PLACEMENT.LEFTOF + ? ((h.width = l + ? We.getMax(Ne.width, u.width + 2 * Ne.noteMargin) + : We.getMax(n.width / 2 + i.width / 2, u.width + 2 * Ne.noteMargin)), + (h.startx = a - h.width + (n.width - Ne.actorMargin) / 2)) + : t.to === t.from + ? ((u = Lt.calculateTextDimensions( + l ? Lt.wrapLabel(t.message, We.getMax(Ne.width, n.width), Pg(Ne)) : t.message, + Pg(Ne) + )), + (h.width = l + ? We.getMax(Ne.width, n.width) + : We.getMax(n.width, Ne.width, u.width + 2 * Ne.noteMargin)), + (h.startx = a + (n.width - h.width) / 2)) + : ((h.width = Math.abs(a + n.width / 2 - (s + i.width / 2)) + Ne.actorMargin), + (h.startx = + a < s ? a + n.width / 2 - Ne.actorMargin / 2 : s + i.width / 2 - Ne.actorMargin / 2)), + l && (h.message = Lt.wrapLabel(t.message, h.width - 2 * Ne.wrapPadding, Pg(Ne))), + V.debug(`NM:[${h.startx},${h.stopx},${h.starty},${h.stopy}:${h.width},${h.height}=${t.message}]`), + h + ); + }, 'buildNoteModel')), + (i$e = o(function (t, e, r) { + if ( + ![ + r.db.LINETYPE.SOLID_OPEN, + r.db.LINETYPE.DOTTED_OPEN, + r.db.LINETYPE.SOLID, + r.db.LINETYPE.DOTTED, + r.db.LINETYPE.SOLID_CROSS, + r.db.LINETYPE.DOTTED_CROSS, + r.db.LINETYPE.SOLID_POINT, + r.db.LINETYPE.DOTTED_POINT, + r.db.LINETYPE.BIDIRECTIONAL_SOLID, + r.db.LINETYPE.BIDIRECTIONAL_DOTTED + ].includes(t.type) + ) + return {}; + let [n, i] = hhe(t.from, e), + [a, s] = hhe(t.to, e), + l = n <= a, + u = l ? i : n, + h = l ? a : s, + f = Math.abs(a - s) > 2, + d = o((y) => (l ? -y : y), 'adjustValue'); + t.from === t.to + ? (h = u) + : (t.activate && !f && (h += d(Ne.activationWidth / 2 - 1)), + [r.db.LINETYPE.SOLID_OPEN, r.db.LINETYPE.DOTTED_OPEN].includes(t.type) || (h += d(3)), + [r.db.LINETYPE.BIDIRECTIONAL_SOLID, r.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(t.type) && + (u -= d(3))); + let p = [n, i, a, s], + m = Math.abs(u - h); + t.wrap && + t.message && + (t.message = Lt.wrapLabel(t.message, We.getMax(m + 2 * Ne.wrapPadding, Ne.width), L0(Ne))); + let g = Lt.calculateTextDimensions(t.message, L0(Ne)); + return { + width: We.getMax(t.wrap ? 0 : g.width + 2 * Ne.wrapPadding, m + 2 * Ne.wrapPadding, Ne.width), + height: 0, + startx: u, + stopx: h, + starty: 0, + stopy: 0, + message: t.message, + type: t.type, + wrap: t.wrap, + fromBounds: Math.min.apply(null, p), + toBounds: Math.max.apply(null, p) + }; + }, 'buildMessageModel')), + (a$e = o(async function (t, e, r, n) { + let i = {}, + a = [], + s, + l, + u; + for (let h of t) { + switch (((h.id = Lt.random({ length: 10 })), h.type)) { + case n.db.LINETYPE.LOOP_START: + case n.db.LINETYPE.ALT_START: + case n.db.LINETYPE.OPT_START: + case n.db.LINETYPE.PAR_START: + case n.db.LINETYPE.PAR_OVER_START: + case n.db.LINETYPE.CRITICAL_START: + case n.db.LINETYPE.BREAK_START: + a.push({ + id: h.id, + msg: h.message, + from: Number.MAX_SAFE_INTEGER, + to: Number.MIN_SAFE_INTEGER, + width: 0 + }); + break; + case n.db.LINETYPE.ALT_ELSE: + case n.db.LINETYPE.PAR_AND: + case n.db.LINETYPE.CRITICAL_OPTION: + h.message && ((s = a.pop()), (i[s.id] = s), (i[h.id] = s), a.push(s)); + break; + case n.db.LINETYPE.LOOP_END: + case n.db.LINETYPE.ALT_END: + case n.db.LINETYPE.OPT_END: + case n.db.LINETYPE.PAR_END: + case n.db.LINETYPE.CRITICAL_END: + case n.db.LINETYPE.BREAK_END: + (s = a.pop()), (i[s.id] = s); + break; + case n.db.LINETYPE.ACTIVE_START: + { + let d = e.get(h.from ? h.from : h.to.actor), + p = bE(h.from ? h.from : h.to.actor).length, + m = d.x + d.width / 2 + ((p - 1) * Ne.activationWidth) / 2, + g = { + startx: m, + stopx: m + Ne.activationWidth, + actor: h.from, + enabled: !0 + }; + Ke.activations.push(g); + } + break; + case n.db.LINETYPE.ACTIVE_END: + { + let d = Ke.activations.map((p) => p.actor).lastIndexOf(h.from); + Ke.activations.splice(d, 1).splice(0, 1); + } + break; + } + h.placement !== void 0 + ? ((l = await n$e(h, e, n)), + (h.noteModel = l), + a.forEach((d) => { + (s = d), + (s.from = We.getMin(s.from, l.startx)), + (s.to = We.getMax(s.to, l.startx + l.width)), + (s.width = We.getMax(s.width, Math.abs(s.from - s.to)) - Ne.labelBoxWidth); + })) + : ((u = i$e(h, e, n)), + (h.msgModel = u), + u.startx && + u.stopx && + a.length > 0 && + a.forEach((d) => { + if (((s = d), u.startx === u.stopx)) { + let p = e.get(h.from), + m = e.get(h.to); + (s.from = We.getMin(p.x - u.width / 2, p.x - p.width / 2, s.from)), + (s.to = We.getMax(m.x + u.width / 2, m.x + p.width / 2, s.to)), + (s.width = + We.getMax(s.width, Math.abs(s.to - s.from)) - Ne.labelBoxWidth); + } else + (s.from = We.getMin(u.startx, s.from)), + (s.to = We.getMax(u.stopx, s.to)), + (s.width = We.getMax(s.width, u.width) - Ne.labelBoxWidth); + })); + } + return (Ke.activations = []), V.debug('Loop type widths:', i), i; + }, 'calculateLoopBounds')), + (phe = { + bounds: Ke, + drawActors: bO, + drawActorsPopup: fhe, + setConf: dhe, + draw: JGe + }); + }); + var ghe = {}; + hr(ghe, { diagram: () => s$e }); + var s$e, + yhe = R(() => { + 'use strict'; + que(); + the(); + nhe(); + mhe(); + s$e = { + parser: Wue, + db: pO, + renderer: phe, + styles: rhe, + init: o(({ wrap: t }) => { + pO.setWrap(t); + }, 'init') + }; + }); + var wO, + wE, + TO = R(() => { + 'use strict'; + wO = (function () { + var t = o(function (Pe, _e, me, W) { + for (me = me || {}, W = Pe.length; W--; me[Pe[W]] = _e); + return me; + }, 'o'), + e = [1, 17], + r = [1, 18], + n = [1, 19], + i = [1, 39], + a = [1, 40], + s = [1, 25], + l = [1, 23], + u = [1, 24], + h = [1, 31], + f = [1, 32], + d = [1, 33], + p = [1, 34], + m = [1, 35], + g = [1, 36], + y = [1, 26], + v = [1, 27], + x = [1, 28], + b = [1, 29], + w = [1, 43], + S = [1, 30], + T = [1, 42], + E = [1, 44], + _ = [1, 41], + A = [1, 45], + L = [1, 9], + M = [1, 8, 9], + N = [1, 56], + k = [1, 57], + I = [1, 58], + C = [1, 59], + O = [1, 60], + D = [1, 61], + P = [1, 62], + F = [1, 8, 9, 39], + B = [1, 74], + $ = [1, 8, 9, 12, 13, 21, 37, 39, 42, 59, 60, 61, 62, 63, 64, 65, 70, 72], + z = [ + 1, 8, 9, 12, 13, 19, 21, 37, 39, 42, 46, 59, 60, 61, 62, 63, 64, 65, 70, 72, 74, 80, 95, 97, 98 + ], + Y = [13, 74, 80, 95, 97, 98], + Q = [13, 64, 65, 74, 80, 95, 97, 98], + X = [13, 59, 60, 61, 62, 63, 74, 80, 95, 97, 98], + ie = [1, 93], + j = [1, 110], + J = [1, 108], + Z = [1, 102], + H = [1, 103], + q = [1, 104], + K = [1, 105], + se = [1, 106], + ce = [1, 107], + ue = [1, 109], + te = [1, 8, 9, 37, 39, 42], + De = [1, 8, 9, 21], + oe = [1, 8, 9, 78], + ke = [1, 8, 9, 21, 73, 74, 78, 80, 81, 82, 83, 84, 85], + Ie = { + trace: o(function () {}, 'trace'), + yy: {}, + symbols_: { + error: 2, + start: 3, + mermaidDoc: 4, + statements: 5, + graphConfig: 6, + CLASS_DIAGRAM: 7, + NEWLINE: 8, + EOF: 9, + statement: 10, + classLabel: 11, + SQS: 12, + STR: 13, + SQE: 14, + namespaceName: 15, + alphaNumToken: 16, + className: 17, + classLiteralName: 18, + GENERICTYPE: 19, + relationStatement: 20, + LABEL: 21, + namespaceStatement: 22, + classStatement: 23, + memberStatement: 24, + annotationStatement: 25, + clickStatement: 26, + styleStatement: 27, + cssClassStatement: 28, + noteStatement: 29, + direction: 30, + acc_title: 31, + acc_title_value: 32, + acc_descr: 33, + acc_descr_value: 34, + acc_descr_multiline_value: 35, + namespaceIdentifier: 36, + STRUCT_START: 37, + classStatements: 38, + STRUCT_STOP: 39, + NAMESPACE: 40, + classIdentifier: 41, + STYLE_SEPARATOR: 42, + members: 43, + CLASS: 44, + ANNOTATION_START: 45, + ANNOTATION_END: 46, + MEMBER: 47, + SEPARATOR: 48, + relation: 49, + NOTE_FOR: 50, + noteText: 51, + NOTE: 52, + direction_tb: 53, + direction_bt: 54, + direction_rl: 55, + direction_lr: 56, + relationType: 57, + lineType: 58, + AGGREGATION: 59, + EXTENSION: 60, + COMPOSITION: 61, + DEPENDENCY: 62, + LOLLIPOP: 63, + LINE: 64, + DOTTED_LINE: 65, + CALLBACK: 66, + LINK: 67, + LINK_TARGET: 68, + CLICK: 69, + CALLBACK_NAME: 70, + CALLBACK_ARGS: 71, + HREF: 72, + STYLE: 73, + ALPHA: 74, + stylesOpt: 75, + CSSCLASS: 76, + style: 77, + COMMA: 78, + styleComponent: 79, + NUM: 80, + COLON: 81, + UNIT: 82, + SPACE: 83, + BRKT: 84, + PCT: 85, + commentToken: 86, + textToken: 87, + graphCodeTokens: 88, + textNoTagsToken: 89, + TAGSTART: 90, + TAGEND: 91, + '==': 92, + '--': 93, + DEFAULT: 94, + MINUS: 95, + keywords: 96, + UNICODE_TEXT: 97, + BQUOTE_STR: 98, + $accept: 0, + $end: 1 + }, + terminals_: { + 2: 'error', + 7: 'CLASS_DIAGRAM', + 8: 'NEWLINE', + 9: 'EOF', + 12: 'SQS', + 13: 'STR', + 14: 'SQE', + 19: 'GENERICTYPE', + 21: 'LABEL', + 31: 'acc_title', + 32: 'acc_title_value', + 33: 'acc_descr', + 34: 'acc_descr_value', + 35: 'acc_descr_multiline_value', + 37: 'STRUCT_START', + 39: 'STRUCT_STOP', + 40: 'NAMESPACE', + 42: 'STYLE_SEPARATOR', + 44: 'CLASS', + 45: 'ANNOTATION_START', + 46: 'ANNOTATION_END', + 47: 'MEMBER', + 48: 'SEPARATOR', + 50: 'NOTE_FOR', + 52: 'NOTE', + 53: 'direction_tb', + 54: 'direction_bt', + 55: 'direction_rl', + 56: 'direction_lr', + 59: 'AGGREGATION', + 60: 'EXTENSION', + 61: 'COMPOSITION', + 62: 'DEPENDENCY', + 63: 'LOLLIPOP', + 64: 'LINE', + 65: 'DOTTED_LINE', + 66: 'CALLBACK', + 67: 'LINK', + 68: 'LINK_TARGET', + 69: 'CLICK', + 70: 'CALLBACK_NAME', + 71: 'CALLBACK_ARGS', + 72: 'HREF', + 73: 'STYLE', + 74: 'ALPHA', + 76: 'CSSCLASS', + 78: 'COMMA', + 80: 'NUM', + 81: 'COLON', + 82: 'UNIT', + 83: 'SPACE', + 84: 'BRKT', + 85: 'PCT', + 88: 'graphCodeTokens', + 90: 'TAGSTART', + 91: 'TAGEND', + 92: '==', + 93: '--', + 94: 'DEFAULT', + 95: 'MINUS', + 96: 'keywords', + 97: 'UNICODE_TEXT', + 98: 'BQUOTE_STR' + }, + productions_: [ + 0, + [3, 1], + [3, 1], + [4, 1], + [6, 4], + [5, 1], + [5, 2], + [5, 3], + [11, 3], + [15, 1], + [15, 2], + [17, 1], + [17, 1], + [17, 2], + [17, 2], + [17, 2], + [10, 1], + [10, 2], + [10, 1], + [10, 1], + [10, 1], + [10, 1], + [10, 1], + [10, 1], + [10, 1], + [10, 1], + [10, 1], + [10, 2], + [10, 2], + [10, 1], + [22, 4], + [22, 5], + [36, 2], + [38, 1], + [38, 2], + [38, 3], + [23, 1], + [23, 3], + [23, 4], + [23, 6], + [41, 2], + [41, 3], + [25, 4], + [43, 1], + [43, 2], + [24, 1], + [24, 2], + [24, 1], + [24, 1], + [20, 3], + [20, 4], + [20, 4], + [20, 5], + [29, 3], + [29, 2], + [30, 1], + [30, 1], + [30, 1], + [30, 1], + [49, 3], + [49, 2], + [49, 2], + [49, 1], + [57, 1], + [57, 1], + [57, 1], + [57, 1], + [57, 1], + [58, 1], + [58, 1], + [26, 3], + [26, 4], + [26, 3], + [26, 4], + [26, 4], + [26, 5], + [26, 3], + [26, 4], + [26, 4], + [26, 5], + [26, 4], + [26, 5], + [26, 5], + [26, 6], + [27, 3], + [28, 3], + [75, 1], + [75, 3], + [77, 1], + [77, 2], + [79, 1], + [79, 1], + [79, 1], + [79, 1], + [79, 1], + [79, 1], + [79, 1], + [79, 1], + [79, 1], + [86, 1], + [86, 1], + [87, 1], + [87, 1], + [87, 1], + [87, 1], + [87, 1], + [87, 1], + [87, 1], + [89, 1], + [89, 1], + [89, 1], + [89, 1], + [16, 1], + [16, 1], + [16, 1], + [16, 1], + [18, 1], + [51, 1] + ], + performAction: o(function (_e, me, W, fe, ge, re, he) { + var ne = re.length - 1; + switch (ge) { + case 8: + this.$ = re[ne - 1]; + break; + case 9: + case 11: + case 12: + this.$ = re[ne]; + break; + case 10: + case 13: + this.$ = re[ne - 1] + re[ne]; + break; + case 14: + case 15: + this.$ = re[ne - 1] + '~' + re[ne] + '~'; + break; + case 16: + fe.addRelation(re[ne]); + break; + case 17: + (re[ne - 1].title = fe.cleanupLabel(re[ne])), fe.addRelation(re[ne - 1]); + break; + case 27: + (this.$ = re[ne].trim()), fe.setAccTitle(this.$); + break; + case 28: + case 29: + (this.$ = re[ne].trim()), fe.setAccDescription(this.$); + break; + case 30: + fe.addClassesToNamespace(re[ne - 3], re[ne - 1]); + break; + case 31: + fe.addClassesToNamespace(re[ne - 4], re[ne - 1]); + break; + case 32: + (this.$ = re[ne]), fe.addNamespace(re[ne]); + break; + case 33: + this.$ = [re[ne]]; + break; + case 34: + this.$ = [re[ne - 1]]; + break; + case 35: + re[ne].unshift(re[ne - 2]), (this.$ = re[ne]); + break; + case 37: + fe.setCssClass(re[ne - 2], re[ne]); + break; + case 38: + fe.addMembers(re[ne - 3], re[ne - 1]); + break; + case 39: + fe.setCssClass(re[ne - 5], re[ne - 3]), fe.addMembers(re[ne - 5], re[ne - 1]); + break; + case 40: + (this.$ = re[ne]), fe.addClass(re[ne]); + break; + case 41: + (this.$ = re[ne - 1]), + fe.addClass(re[ne - 1]), + fe.setClassLabel(re[ne - 1], re[ne]); + break; + case 42: + fe.addAnnotation(re[ne], re[ne - 2]); + break; + case 43: + this.$ = [re[ne]]; + break; + case 44: + re[ne].push(re[ne - 1]), (this.$ = re[ne]); + break; + case 45: + break; + case 46: + fe.addMember(re[ne - 1], fe.cleanupLabel(re[ne])); + break; + case 47: + break; + case 48: + break; + case 49: + this.$ = { + id1: re[ne - 2], + id2: re[ne], + relation: re[ne - 1], + relationTitle1: 'none', + relationTitle2: 'none' + }; + break; + case 50: + this.$ = { + id1: re[ne - 3], + id2: re[ne], + relation: re[ne - 1], + relationTitle1: re[ne - 2], + relationTitle2: 'none' + }; + break; + case 51: + this.$ = { + id1: re[ne - 3], + id2: re[ne], + relation: re[ne - 2], + relationTitle1: 'none', + relationTitle2: re[ne - 1] + }; + break; + case 52: + this.$ = { + id1: re[ne - 4], + id2: re[ne], + relation: re[ne - 2], + relationTitle1: re[ne - 3], + relationTitle2: re[ne - 1] + }; + break; + case 53: + fe.addNote(re[ne], re[ne - 1]); + break; + case 54: + fe.addNote(re[ne]); + break; + case 55: + fe.setDirection('TB'); + break; + case 56: + fe.setDirection('BT'); + break; + case 57: + fe.setDirection('RL'); + break; + case 58: + fe.setDirection('LR'); + break; + case 59: + this.$ = { + type1: re[ne - 2], + type2: re[ne], + lineType: re[ne - 1] + }; + break; + case 60: + this.$ = { + type1: 'none', + type2: re[ne], + lineType: re[ne - 1] + }; + break; + case 61: + this.$ = { + type1: re[ne - 1], + type2: 'none', + lineType: re[ne] + }; + break; + case 62: + this.$ = { type1: 'none', type2: 'none', lineType: re[ne] }; + break; + case 63: + this.$ = fe.relationType.AGGREGATION; + break; + case 64: + this.$ = fe.relationType.EXTENSION; + break; + case 65: + this.$ = fe.relationType.COMPOSITION; + break; + case 66: + this.$ = fe.relationType.DEPENDENCY; + break; + case 67: + this.$ = fe.relationType.LOLLIPOP; + break; + case 68: + this.$ = fe.lineType.LINE; + break; + case 69: + this.$ = fe.lineType.DOTTED_LINE; + break; + case 70: + case 76: + (this.$ = re[ne - 2]), fe.setClickEvent(re[ne - 1], re[ne]); + break; + case 71: + case 77: + (this.$ = re[ne - 3]), + fe.setClickEvent(re[ne - 2], re[ne - 1]), + fe.setTooltip(re[ne - 2], re[ne]); + break; + case 72: + (this.$ = re[ne - 2]), fe.setLink(re[ne - 1], re[ne]); + break; + case 73: + (this.$ = re[ne - 3]), fe.setLink(re[ne - 2], re[ne - 1], re[ne]); + break; + case 74: + (this.$ = re[ne - 3]), + fe.setLink(re[ne - 2], re[ne - 1]), + fe.setTooltip(re[ne - 2], re[ne]); + break; + case 75: + (this.$ = re[ne - 4]), + fe.setLink(re[ne - 3], re[ne - 2], re[ne]), + fe.setTooltip(re[ne - 3], re[ne - 1]); + break; + case 78: + (this.$ = re[ne - 3]), fe.setClickEvent(re[ne - 2], re[ne - 1], re[ne]); + break; + case 79: + (this.$ = re[ne - 4]), + fe.setClickEvent(re[ne - 3], re[ne - 2], re[ne - 1]), + fe.setTooltip(re[ne - 3], re[ne]); + break; + case 80: + (this.$ = re[ne - 3]), fe.setLink(re[ne - 2], re[ne]); + break; + case 81: + (this.$ = re[ne - 4]), fe.setLink(re[ne - 3], re[ne - 1], re[ne]); + break; + case 82: + (this.$ = re[ne - 4]), + fe.setLink(re[ne - 3], re[ne - 1]), + fe.setTooltip(re[ne - 3], re[ne]); + break; + case 83: + (this.$ = re[ne - 5]), + fe.setLink(re[ne - 4], re[ne - 2], re[ne]), + fe.setTooltip(re[ne - 4], re[ne - 1]); + break; + case 84: + (this.$ = re[ne - 2]), fe.setCssStyle(re[ne - 1], re[ne]); + break; + case 85: + fe.setCssClass(re[ne - 1], re[ne]); + break; + case 86: + this.$ = [re[ne]]; + break; + case 87: + re[ne - 2].push(re[ne]), (this.$ = re[ne - 2]); + break; + case 89: + this.$ = re[ne - 1] + re[ne]; + break; + } + }, 'anonymous'), + table: [ + { + 3: 1, + 4: 2, + 5: 3, + 6: 4, + 7: [1, 6], + 10: 5, + 16: 37, + 17: 20, + 18: 38, + 20: 7, + 22: 8, + 23: 9, + 24: 10, + 25: 11, + 26: 12, + 27: 13, + 28: 14, + 29: 15, + 30: 16, + 31: e, + 33: r, + 35: n, + 36: 21, + 40: i, + 41: 22, + 44: a, + 45: s, + 47: l, + 48: u, + 50: h, + 52: f, + 53: d, + 54: p, + 55: m, + 56: g, + 66: y, + 67: v, + 69: x, + 73: b, + 74: w, + 76: S, + 80: T, + 95: E, + 97: _, + 98: A + }, + { 1: [3] }, + { 1: [2, 1] }, + { 1: [2, 2] }, + { 1: [2, 3] }, + t(L, [2, 5], { 8: [1, 46] }), + { 8: [1, 47] }, + t(M, [2, 16], { 21: [1, 48] }), + t(M, [2, 18]), + t(M, [2, 19]), + t(M, [2, 20]), + t(M, [2, 21]), + t(M, [2, 22]), + t(M, [2, 23]), + t(M, [2, 24]), + t(M, [2, 25]), + t(M, [2, 26]), + { 32: [1, 49] }, + { 34: [1, 50] }, + t(M, [2, 29]), + t(M, [2, 45], { + 49: 51, + 57: 54, + 58: 55, + 13: [1, 52], + 21: [1, 53], + 59: N, + 60: k, + 61: I, + 62: C, + 63: O, + 64: D, + 65: P + }), + { 37: [1, 63] }, + t(F, [2, 36], { 37: [1, 65], 42: [1, 64] }), + t(M, [2, 47]), + t(M, [2, 48]), + { 16: 66, 74: w, 80: T, 95: E, 97: _ }, + { 16: 37, 17: 67, 18: 38, 74: w, 80: T, 95: E, 97: _, 98: A }, + { 16: 37, 17: 68, 18: 38, 74: w, 80: T, 95: E, 97: _, 98: A }, + { 16: 37, 17: 69, 18: 38, 74: w, 80: T, 95: E, 97: _, 98: A }, + { 74: [1, 70] }, + { 13: [1, 71] }, + { 16: 37, 17: 72, 18: 38, 74: w, 80: T, 95: E, 97: _, 98: A }, + { 13: B, 51: 73 }, + t(M, [2, 55]), + t(M, [2, 56]), + t(M, [2, 57]), + t(M, [2, 58]), + t($, [2, 11], { + 16: 37, + 18: 38, + 17: 75, + 19: [1, 76], + 74: w, + 80: T, + 95: E, + 97: _, + 98: A + }), + t($, [2, 12], { 19: [1, 77] }), + { 15: 78, 16: 79, 74: w, 80: T, 95: E, 97: _ }, + { 16: 37, 17: 80, 18: 38, 74: w, 80: T, 95: E, 97: _, 98: A }, + t(z, [2, 112]), + t(z, [2, 113]), + t(z, [2, 114]), + t(z, [2, 115]), + t([1, 8, 9, 12, 13, 19, 21, 37, 39, 42, 59, 60, 61, 62, 63, 64, 65, 70, 72], [2, 116]), + t(L, [2, 6], { + 10: 5, + 20: 7, + 22: 8, + 23: 9, + 24: 10, + 25: 11, + 26: 12, + 27: 13, + 28: 14, + 29: 15, + 30: 16, + 17: 20, + 36: 21, + 41: 22, + 16: 37, + 18: 38, + 5: 81, + 31: e, + 33: r, + 35: n, + 40: i, + 44: a, + 45: s, + 47: l, + 48: u, + 50: h, + 52: f, + 53: d, + 54: p, + 55: m, + 56: g, + 66: y, + 67: v, + 69: x, + 73: b, + 74: w, + 76: S, + 80: T, + 95: E, + 97: _, + 98: A + }), + { + 5: 82, + 10: 5, + 16: 37, + 17: 20, + 18: 38, + 20: 7, + 22: 8, + 23: 9, + 24: 10, + 25: 11, + 26: 12, + 27: 13, + 28: 14, + 29: 15, + 30: 16, + 31: e, + 33: r, + 35: n, + 36: 21, + 40: i, + 41: 22, + 44: a, + 45: s, + 47: l, + 48: u, + 50: h, + 52: f, + 53: d, + 54: p, + 55: m, + 56: g, + 66: y, + 67: v, + 69: x, + 73: b, + 74: w, + 76: S, + 80: T, + 95: E, + 97: _, + 98: A + }, + t(M, [2, 17]), + t(M, [2, 27]), + t(M, [2, 28]), + { + 13: [1, 84], + 16: 37, + 17: 83, + 18: 38, + 74: w, + 80: T, + 95: E, + 97: _, + 98: A + }, + { + 49: 85, + 57: 54, + 58: 55, + 59: N, + 60: k, + 61: I, + 62: C, + 63: O, + 64: D, + 65: P + }, + t(M, [2, 46]), + { 58: 86, 64: D, 65: P }, + t(Y, [2, 62], { 57: 87, 59: N, 60: k, 61: I, 62: C, 63: O }), + t(Q, [2, 63]), + t(Q, [2, 64]), + t(Q, [2, 65]), + t(Q, [2, 66]), + t(Q, [2, 67]), + t(X, [2, 68]), + t(X, [2, 69]), + { 8: [1, 89], 23: 90, 38: 88, 41: 22, 44: a }, + { 16: 91, 74: w, 80: T, 95: E, 97: _ }, + { 43: 92, 47: ie }, + { 46: [1, 94] }, + { 13: [1, 95] }, + { 13: [1, 96] }, + { 70: [1, 97], 72: [1, 98] }, + { + 21: j, + 73: J, + 74: Z, + 75: 99, + 77: 100, + 79: 101, + 80: H, + 81: q, + 82: K, + 83: se, + 84: ce, + 85: ue + }, + { 74: [1, 111] }, + { 13: B, 51: 112 }, + t(M, [2, 54]), + t(M, [2, 117]), + t($, [2, 13]), + t($, [2, 14]), + t($, [2, 15]), + { 37: [2, 32] }, + { 15: 113, 16: 79, 37: [2, 9], 74: w, 80: T, 95: E, 97: _ }, + t(te, [2, 40], { 11: 114, 12: [1, 115] }), + t(L, [2, 7]), + { 9: [1, 116] }, + t(De, [2, 49]), + { 16: 37, 17: 117, 18: 38, 74: w, 80: T, 95: E, 97: _, 98: A }, + { + 13: [1, 119], + 16: 37, + 17: 118, + 18: 38, + 74: w, + 80: T, + 95: E, + 97: _, + 98: A + }, + t(Y, [2, 61], { 57: 120, 59: N, 60: k, 61: I, 62: C, 63: O }), + t(Y, [2, 60]), + { 39: [1, 121] }, + { 23: 90, 38: 122, 41: 22, 44: a }, + { 8: [1, 123], 39: [2, 33] }, + t(F, [2, 37], { 37: [1, 124] }), + { 39: [1, 125] }, + { 39: [2, 43], 43: 126, 47: ie }, + { 16: 37, 17: 127, 18: 38, 74: w, 80: T, 95: E, 97: _, 98: A }, + t(M, [2, 70], { 13: [1, 128] }), + t(M, [2, 72], { 13: [1, 130], 68: [1, 129] }), + t(M, [2, 76], { 13: [1, 131], 71: [1, 132] }), + { 13: [1, 133] }, + t(M, [2, 84], { 78: [1, 134] }), + t(oe, [2, 86], { + 79: 135, + 21: j, + 73: J, + 74: Z, + 80: H, + 81: q, + 82: K, + 83: se, + 84: ce, + 85: ue + }), + t(ke, [2, 88]), + t(ke, [2, 90]), + t(ke, [2, 91]), + t(ke, [2, 92]), + t(ke, [2, 93]), + t(ke, [2, 94]), + t(ke, [2, 95]), + t(ke, [2, 96]), + t(ke, [2, 97]), + t(ke, [2, 98]), + t(M, [2, 85]), + t(M, [2, 53]), + { 37: [2, 10] }, + t(te, [2, 41]), + { 13: [1, 136] }, + { 1: [2, 4] }, + t(De, [2, 51]), + t(De, [2, 50]), + { 16: 37, 17: 137, 18: 38, 74: w, 80: T, 95: E, 97: _, 98: A }, + t(Y, [2, 59]), + t(M, [2, 30]), + { 39: [1, 138] }, + { 23: 90, 38: 139, 39: [2, 34], 41: 22, 44: a }, + { 43: 140, 47: ie }, + t(F, [2, 38]), + { 39: [2, 44] }, + t(M, [2, 42]), + t(M, [2, 71]), + t(M, [2, 73]), + t(M, [2, 74], { 68: [1, 141] }), + t(M, [2, 77]), + t(M, [2, 78], { 13: [1, 142] }), + t(M, [2, 80], { 13: [1, 144], 68: [1, 143] }), + { + 21: j, + 73: J, + 74: Z, + 77: 145, + 79: 101, + 80: H, + 81: q, + 82: K, + 83: se, + 84: ce, + 85: ue + }, + t(ke, [2, 89]), + { 14: [1, 146] }, + t(De, [2, 52]), + t(M, [2, 31]), + { 39: [2, 35] }, + { 39: [1, 147] }, + t(M, [2, 75]), + t(M, [2, 79]), + t(M, [2, 81]), + t(M, [2, 82], { 68: [1, 148] }), + t(oe, [2, 87], { + 79: 135, + 21: j, + 73: J, + 74: Z, + 80: H, + 81: q, + 82: K, + 83: se, + 84: ce, + 85: ue + }), + t(te, [2, 8]), + t(F, [2, 39]), + t(M, [2, 83]) + ], + defaultActions: { + 2: [2, 1], + 3: [2, 2], + 4: [2, 3], + 78: [2, 32], + 113: [2, 10], + 116: [2, 4], + 126: [2, 44], + 139: [2, 35] + }, + parseError: o(function (_e, me) { + if (me.recoverable) this.trace(_e); + else { + var W = new Error(_e); + throw ((W.hash = me), W); + } + }, 'parseError'), + parse: o(function (_e) { + var me = this, + W = [0], + fe = [], + ge = [null], + re = [], + he = this.table, + ne = '', + ae = 0, + we = 0, + Te = 0, + Ce = 2, + Ae = 1, + Ge = re.slice.call(arguments, 1), + Me = Object.create(this.lexer), + ye = { yy: {} }; + for (var He in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, He) && (ye.yy[He] = this.yy[He]); + Me.setInput(_e, ye.yy), + (ye.yy.lexer = Me), + (ye.yy.parser = this), + typeof Me.yylloc > 'u' && (Me.yylloc = {}); + var ze = Me.yylloc; + re.push(ze); + var Ze = Me.options && Me.options.ranges; + typeof ye.yy.parseError == 'function' + ? (this.parseError = ye.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError); + function gt(mt) { + (W.length = W.length - 2 * mt), + (ge.length = ge.length - mt), + (re.length = re.length - mt); + } + o(gt, 'popStack'); + function yt() { + var mt; + return ( + (mt = fe.pop() || Me.lex() || Ae), + typeof mt != 'number' && + (mt instanceof Array && ((fe = mt), (mt = fe.pop())), + (mt = me.symbols_[mt] || mt)), + mt + ); + } + o(yt, 'lex'); + for (var tt, Ye, Je, Ve, je, kt, at = {}, xt, it, dt, lt; ; ) { + if ( + ((Je = W[W.length - 1]), + this.defaultActions[Je] + ? (Ve = this.defaultActions[Je]) + : ((tt === null || typeof tt > 'u') && (tt = yt()), + (Ve = he[Je] && he[Je][tt])), + typeof Ve > 'u' || !Ve.length || !Ve[0]) + ) { + var It = ''; + lt = []; + for (xt in he[Je]) + this.terminals_[xt] && xt > Ce && lt.push("'" + this.terminals_[xt] + "'"); + Me.showPosition + ? (It = + 'Parse error on line ' + + (ae + 1) + + `: +` + + Me.showPosition() + + ` +Expecting ` + + lt.join(', ') + + ", got '" + + (this.terminals_[tt] || tt) + + "'") + : (It = + 'Parse error on line ' + + (ae + 1) + + ': Unexpected ' + + (tt == Ae ? 'end of input' : "'" + (this.terminals_[tt] || tt) + "'")), + this.parseError(It, { + text: Me.match, + token: this.terminals_[tt] || tt, + line: Me.yylineno, + loc: ze, + expected: lt + }); + } + if (Ve[0] instanceof Array && Ve.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + Je + ', token: ' + tt + ); + switch (Ve[0]) { + case 1: + W.push(tt), + ge.push(Me.yytext), + re.push(Me.yylloc), + W.push(Ve[1]), + (tt = null), + Ye + ? ((tt = Ye), (Ye = null)) + : ((we = Me.yyleng), + (ne = Me.yytext), + (ae = Me.yylineno), + (ze = Me.yylloc), + Te > 0 && Te--); + break; + case 2: + if ( + ((it = this.productions_[Ve[1]][1]), + (at.$ = ge[ge.length - it]), + (at._$ = { + first_line: re[re.length - (it || 1)].first_line, + last_line: re[re.length - 1].last_line, + first_column: re[re.length - (it || 1)].first_column, + last_column: re[re.length - 1].last_column + }), + Ze && + (at._$.range = [ + re[re.length - (it || 1)].range[0], + re[re.length - 1].range[1] + ]), + (kt = this.performAction.apply( + at, + [ne, we, ae, ye.yy, Ve[1], ge, re].concat(Ge) + )), + typeof kt < 'u') + ) + return kt; + it && + ((W = W.slice(0, -1 * it * 2)), + (ge = ge.slice(0, -1 * it)), + (re = re.slice(0, -1 * it))), + W.push(this.productions_[Ve[1]][0]), + ge.push(at.$), + re.push(at._$), + (dt = he[W[W.length - 2]][W[W.length - 1]]), + W.push(dt); + break; + case 3: + return !0; + } + } + return !0; + }, 'parse') + }, + Se = (function () { + var Pe = { + EOF: 1, + parseError: o(function (me, W) { + if (this.yy.parser) this.yy.parser.parseError(me, W); + else throw new Error(me); + }, 'parseError'), + setInput: o(function (_e, me) { + return ( + (this.yy = me || this.yy || {}), + (this._input = _e), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, 'setInput'), + input: o(function () { + var _e = this._input[0]; + (this.yytext += _e), + this.yyleng++, + this.offset++, + (this.match += _e), + (this.matched += _e); + var me = _e.match(/(?:\r\n?|\n).*/g); + return ( + me ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + _e + ); + }, 'input'), + unput: o(function (_e) { + var me = _e.length, + W = _e.split(/(?:\r\n?|\n)/g); + (this._input = _e + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - me)), + (this.offset -= me); + var fe = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + W.length - 1 && (this.yylineno -= W.length - 1); + var ge = this.yylloc.range; + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: W + ? (W.length === fe.length ? this.yylloc.first_column : 0) + + fe[fe.length - W.length].length - + W[0].length + : this.yylloc.first_column - me + }), + this.options.ranges && (this.yylloc.range = [ge[0], ge[0] + this.yyleng - me]), + (this.yyleng = this.yytext.length), + this + ); + }, 'unput'), + more: o(function () { + return (this._more = !0), this; + }, 'more'), + reject: o(function () { + if (this.options.backtrack_lexer) this._backtrack = !0; + else + return this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + return this; + }, 'reject'), + less: o(function (_e) { + this.unput(this.match.slice(_e)); + }, 'less'), + pastInput: o(function () { + var _e = this.matched.substr(0, this.matched.length - this.match.length); + return (_e.length > 20 ? '...' : '') + _e.substr(-20).replace(/\n/g, ''); + }, 'pastInput'), + upcomingInput: o(function () { + var _e = this.match; + return ( + _e.length < 20 && (_e += this._input.substr(0, 20 - _e.length)), + (_e.substr(0, 20) + (_e.length > 20 ? '...' : '')).replace(/\n/g, '') + ); + }, 'upcomingInput'), + showPosition: o(function () { + var _e = this.pastInput(), + me = new Array(_e.length + 1).join('-'); + return ( + _e + + this.upcomingInput() + + ` +` + + me + + '^' + ); + }, 'showPosition'), + test_match: o(function (_e, me) { + var W, fe, ge; + if ( + (this.options.backtrack_lexer && + ((ge = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }), + this.options.ranges && (ge.yylloc.range = this.yylloc.range.slice(0))), + (fe = _e[0].match(/(?:\r\n?|\n).*/g)), + fe && (this.yylineno += fe.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: fe + ? fe[fe.length - 1].length - fe[fe.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + _e[0].length + }), + (this.yytext += _e[0]), + (this.match += _e[0]), + (this.matches = _e), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(_e[0].length)), + (this.matched += _e[0]), + (W = this.performAction.call( + this, + this.yy, + this, + me, + this.conditionStack[this.conditionStack.length - 1] + )), + this.done && this._input && (this.done = !1), + W) + ) + return W; + if (this._backtrack) { + for (var re in ge) this[re] = ge[re]; + return !1; + } + return !1; + }, 'test_match'), + next: o(function () { + if (this.done) return this.EOF; + this._input || (this.done = !0); + var _e, me, W, fe; + this._more || ((this.yytext = ''), (this.match = '')); + for (var ge = this._currentRules(), re = 0; re < ge.length; re++) + if ( + ((W = this._input.match(this.rules[ge[re]])), + W && (!me || W[0].length > me[0].length)) + ) { + if (((me = W), (fe = re), this.options.backtrack_lexer)) { + if (((_e = this.test_match(W, ge[re])), _e !== !1)) return _e; + if (this._backtrack) { + me = !1; + continue; + } else return !1; + } else if (!this.options.flex) break; + } + return me + ? ((_e = this.test_match(me, ge[fe])), _e !== !1 ? _e : !1) + : this._input === '' + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, 'next'), + lex: o(function () { + var me = this.next(); + return me || this.lex(); + }, 'lex'), + begin: o(function (me) { + this.conditionStack.push(me); + }, 'begin'), + popState: o(function () { + var me = this.conditionStack.length - 1; + return me > 0 ? this.conditionStack.pop() : this.conditionStack[0]; + }, 'popState'), + _currentRules: o(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules; + }, '_currentRules'), + topState: o(function (me) { + return ( + (me = this.conditionStack.length - 1 - Math.abs(me || 0)), + me >= 0 ? this.conditionStack[me] : 'INITIAL' + ); + }, 'topState'), + pushState: o(function (me) { + this.begin(me); + }, 'pushState'), + stateStackSize: o(function () { + return this.conditionStack.length; + }, 'stateStackSize'), + options: {}, + performAction: o(function (me, W, fe, ge) { + var re = ge; + switch (fe) { + case 0: + return 53; + case 1: + return 54; + case 2: + return 55; + case 3: + return 56; + case 4: + break; + case 5: + break; + case 6: + return this.begin('acc_title'), 31; + break; + case 7: + return this.popState(), 'acc_title_value'; + break; + case 8: + return this.begin('acc_descr'), 33; + break; + case 9: + return this.popState(), 'acc_descr_value'; + break; + case 10: + this.begin('acc_descr_multiline'); + break; + case 11: + this.popState(); + break; + case 12: + return 'acc_descr_multiline_value'; + case 13: + return 8; + case 14: + break; + case 15: + return 7; + case 16: + return 7; + case 17: + return 'EDGE_STATE'; + case 18: + this.begin('callback_name'); + break; + case 19: + this.popState(); + break; + case 20: + this.popState(), this.begin('callback_args'); + break; + case 21: + return 70; + case 22: + this.popState(); + break; + case 23: + return 71; + case 24: + this.popState(); + break; + case 25: + return 'STR'; + case 26: + this.begin('string'); + break; + case 27: + return 73; + case 28: + return this.begin('namespace'), 40; + break; + case 29: + return this.popState(), 8; + break; + case 30: + break; + case 31: + return this.begin('namespace-body'), 37; + break; + case 32: + return this.popState(), 39; + break; + case 33: + return 'EOF_IN_STRUCT'; + case 34: + return 8; + case 35: + break; + case 36: + return 'EDGE_STATE'; + case 37: + return this.begin('class'), 44; + break; + case 38: + return this.popState(), 8; + break; + case 39: + break; + case 40: + return this.popState(), this.popState(), 39; + break; + case 41: + return this.begin('class-body'), 37; + break; + case 42: + return this.popState(), 39; + break; + case 43: + return 'EOF_IN_STRUCT'; + case 44: + return 'EDGE_STATE'; + case 45: + return 'OPEN_IN_STRUCT'; + case 46: + break; + case 47: + return 'MEMBER'; + case 48: + return 76; + case 49: + return 66; + case 50: + return 67; + case 51: + return 69; + case 52: + return 50; + case 53: + return 52; + case 54: + return 45; + case 55: + return 46; + case 56: + return 72; + case 57: + this.popState(); + break; + case 58: + return 'GENERICTYPE'; + case 59: + this.begin('generic'); + break; + case 60: + this.popState(); + break; + case 61: + return 'BQUOTE_STR'; + case 62: + this.begin('bqstring'); + break; + case 63: + return 68; + case 64: + return 68; + case 65: + return 68; + case 66: + return 68; + case 67: + return 60; + case 68: + return 60; + case 69: + return 62; + case 70: + return 62; + case 71: + return 61; + case 72: + return 59; + case 73: + return 63; + case 74: + return 64; + case 75: + return 65; + case 76: + return 21; + case 77: + return 42; + case 78: + return 95; + case 79: + return 'DOT'; + case 80: + return 'PLUS'; + case 81: + return 81; + case 82: + return 78; + case 83: + return 84; + case 84: + return 84; + case 85: + return 85; + case 86: + return 'EQUALS'; + case 87: + return 'EQUALS'; + case 88: + return 74; + case 89: + return 12; + case 90: + return 14; + case 91: + return 'PUNCTUATION'; + case 92: + return 80; + case 93: + return 97; + case 94: + return 83; + case 95: + return 83; + case 96: + return 9; + } + }, 'anonymous'), + rules: [ + /^(?:.*direction\s+TB[^\n]*)/, + /^(?:.*direction\s+BT[^\n]*)/, + /^(?:.*direction\s+RL[^\n]*)/, + /^(?:.*direction\s+LR[^\n]*)/, + /^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/, + /^(?:%%[^\n]*(\r?\n)*)/, + /^(?:accTitle\s*:\s*)/, + /^(?:(?!\n||)*[^\n]*)/, + /^(?:accDescr\s*:\s*)/, + /^(?:(?!\n||)*[^\n]*)/, + /^(?:accDescr\s*\{\s*)/, + /^(?:[\}])/, + /^(?:[^\}]*)/, + /^(?:\s*(\r?\n)+)/, + /^(?:\s+)/, + /^(?:classDiagram-v2\b)/, + /^(?:classDiagram\b)/, + /^(?:\[\*\])/, + /^(?:call[\s]+)/, + /^(?:\([\s]*\))/, + /^(?:\()/, + /^(?:[^(]*)/, + /^(?:\))/, + /^(?:[^)]*)/, + /^(?:["])/, + /^(?:[^"]*)/, + /^(?:["])/, + /^(?:style\b)/, + /^(?:namespace\b)/, + /^(?:\s*(\r?\n)+)/, + /^(?:\s+)/, + /^(?:[{])/, + /^(?:[}])/, + /^(?:$)/, + /^(?:\s*(\r?\n)+)/, + /^(?:\s+)/, + /^(?:\[\*\])/, + /^(?:class\b)/, + /^(?:\s*(\r?\n)+)/, + /^(?:\s+)/, + /^(?:[}])/, + /^(?:[{])/, + /^(?:[}])/, + /^(?:$)/, + /^(?:\[\*\])/, + /^(?:[{])/, + /^(?:[\n])/, + /^(?:[^{}\n]*)/, + /^(?:cssClass\b)/, + /^(?:callback\b)/, + /^(?:link\b)/, + /^(?:click\b)/, + /^(?:note for\b)/, + /^(?:note\b)/, + /^(?:<<)/, + /^(?:>>)/, + /^(?:href\b)/, + /^(?:[~])/, + /^(?:[^~]*)/, + /^(?:~)/, + /^(?:[`])/, + /^(?:[^`]+)/, + /^(?:[`])/, + /^(?:_self\b)/, + /^(?:_blank\b)/, + /^(?:_parent\b)/, + /^(?:_top\b)/, + /^(?:\s*<\|)/, + /^(?:\s*\|>)/, + /^(?:\s*>)/, + /^(?:\s*<)/, + /^(?:\s*\*)/, + /^(?:\s*o\b)/, + /^(?:\s*\(\))/, + /^(?:--)/, + /^(?:\.\.)/, + /^(?::{1}[^:\n;]+)/, + /^(?::{3})/, + /^(?:-)/, + /^(?:\.)/, + /^(?:\+)/, + /^(?::)/, + /^(?:,)/, + /^(?:#)/, + /^(?:#)/, + /^(?:%)/, + /^(?:=)/, + /^(?:=)/, + /^(?:\w+)/, + /^(?:\[)/, + /^(?:\])/, + /^(?:[!"#$%&'*+,-.`?\\/])/, + /^(?:[0-9]+)/, + /^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/, + /^(?:\s)/, + /^(?:\s)/, + /^(?:$)/ + ], + conditions: { + 'namespace-body': { + rules: [ + 26, 32, 33, 34, 35, 36, 37, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 96 + ], + inclusive: !1 + }, + namespace: { + rules: [ + 26, 28, 29, 30, 31, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 96 + ], + inclusive: !1 + }, + 'class-body': { + rules: [ + 26, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 96 + ], + inclusive: !1 + }, + class: { + rules: [ + 26, 38, 39, 40, 41, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 96 + ], + inclusive: !1 + }, + acc_descr_multiline: { + rules: [ + 11, 12, 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 96 + ], + inclusive: !1 + }, + acc_descr: { + rules: [ + 9, 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, 96 + ], + inclusive: !1 + }, + acc_title: { + rules: [ + 7, 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, 96 + ], + inclusive: !1 + }, + callback_args: { + rules: [ + 22, 23, 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 96 + ], + inclusive: !1 + }, + callback_name: { + rules: [ + 19, 20, 21, 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, + 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, 96 + ], + inclusive: !1 + }, + href: { + rules: [ + 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 96 + ], + inclusive: !1 + }, + struct: { + rules: [ + 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 96 + ], + inclusive: !1 + }, + generic: { + rules: [ + 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 96 + ], + inclusive: !1 + }, + bqstring: { + rules: [ + 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 96 + ], + inclusive: !1 + }, + string: { + rules: [ + 24, 25, 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 96 + ], + inclusive: !1 + }, + INITIAL: { + rules: [ + 0, 1, 2, 3, 4, 5, 6, 8, 10, 13, 14, 15, 16, 17, 18, 26, 27, 28, 37, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 95, 96 + ], + inclusive: !0 + } + } + }; + return Pe; + })(); + Ie.lexer = Se; + function Ue() { + this.yy = {}; + } + return o(Ue, 'Parser'), (Ue.prototype = Ie), (Ie.Parser = Ue), new Ue(); + })(); + wO.parser = wO; + wE = wO; + }); + var bhe, + wx, + whe = R(() => { + 'use strict'; + _t(); + rr(); + (bhe = ['#', '+', '~', '-', '']), + (wx = class { + static { + o(this, 'ClassMember'); + } + constructor(e, r) { + (this.memberType = r), (this.visibility = ''), (this.classifier = ''); + let n = qr(e, de()); + this.parseMember(n); + } + getDisplayDetails() { + let e = this.visibility + gh(this.id); + this.memberType === 'method' && + ((e += `(${gh(this.parameters.trim())})`), + this.returnType && (e += ' : ' + gh(this.returnType))), + (e = e.trim()); + let r = this.parseClassifier(); + return { displayText: e, cssStyle: r }; + } + parseMember(e) { + let r = ''; + if (this.memberType === 'method') { + let i = /([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(e); + if (i) { + let a = i[1] ? i[1].trim() : ''; + if ( + (bhe.includes(a) && (this.visibility = a), + (this.id = i[2].trim()), + (this.parameters = i[3] ? i[3].trim() : ''), + (r = i[4] ? i[4].trim() : ''), + (this.returnType = i[5] ? i[5].trim() : ''), + r === '') + ) { + let s = this.returnType.substring(this.returnType.length - 1); + /[$*]/.exec(s) && + ((r = s), + (this.returnType = this.returnType.substring(0, this.returnType.length - 1))); + } + } + } else { + let n = e.length, + i = e.substring(0, 1), + a = e.substring(n - 1); + bhe.includes(i) && (this.visibility = i), + /[$*]/.exec(a) && (r = a), + (this.id = e.substring(this.visibility === '' ? 0 : 1, r === '' ? n : n - 1)); + } + this.classifier = r; + } + parseClassifier() { + switch (this.classifier) { + case '*': + return 'font-style:italic;'; + case '$': + return 'text-decoration:underline;'; + default: + return ''; + } + } + }); + }); + var EE, + EO, + Gi, + TE, + The, + qu, + kO, + Tx, + D0, + R0, + u$e, + kE, + khe, + h$e, + f$e, + d$e, + p$e, + m$e, + g$e, + y$e, + Ehe, + v$e, + x$e, + b$e, + CO, + w$e, + T$e, + k$e, + E$e, + C$e, + S$e, + A$e, + _$e, + Che, + SO, + L$e, + D$e, + R$e, + N$e, + M$e, + I$e, + O$e, + Bg, + AO = R(() => { + 'use strict'; + Zt(); + ut(); + _t(); + rr(); + xr(); + bi(); + whe(); + (EE = 'classId-'), + (EO = []), + (Gi = new Map()), + (TE = []), + (The = 0), + (qu = new Map()), + (kO = 0), + (Tx = []), + (D0 = o((t) => We.sanitizeText(t, de()), 'sanitizeText')), + (R0 = o(function (t) { + let e = We.sanitizeText(t, de()), + r = '', + n = e; + if (e.indexOf('~') > 0) { + let i = e.split('~'); + (n = D0(i[0])), (r = D0(i[1])); + } + return { className: n, type: r }; + }, 'splitClassNameAndType')), + (u$e = o(function (t, e) { + let r = We.sanitizeText(t, de()); + e && (e = D0(e)); + let { className: n } = R0(r); + Gi.get(n).label = e; + }, 'setClassLabel')), + (kE = o(function (t) { + let e = We.sanitizeText(t, de()), + { className: r, type: n } = R0(e); + if (Gi.has(r)) return; + let i = We.sanitizeText(r, de()); + Gi.set(i, { + id: i, + type: n, + label: i, + cssClasses: [], + methods: [], + members: [], + annotations: [], + styles: [], + domId: EE + i + '-' + The + }), + The++; + }, 'addClass')), + (khe = o(function (t) { + let e = We.sanitizeText(t, de()); + if (Gi.has(e)) return Gi.get(e).domId; + throw new Error('Class not found: ' + e); + }, 'lookUpDomId')), + (h$e = o(function () { + (EO = []), + (Gi = new Map()), + (TE = []), + (Tx = []), + Tx.push(Che), + (qu = new Map()), + (kO = 0), + (SO = 'TB'), + vr(); + }, 'clear')), + (f$e = o(function (t) { + return Gi.get(t); + }, 'getClass')), + (d$e = o(function () { + return Gi; + }, 'getClasses')), + (p$e = o(function () { + return EO; + }, 'getRelations')), + (m$e = o(function () { + return TE; + }, 'getNotes')), + (g$e = o(function (t) { + V.debug('Adding relation: ' + JSON.stringify(t)), + kE(t.id1), + kE(t.id2), + (t.id1 = R0(t.id1).className), + (t.id2 = R0(t.id2).className), + (t.relationTitle1 = We.sanitizeText(t.relationTitle1.trim(), de())), + (t.relationTitle2 = We.sanitizeText(t.relationTitle2.trim(), de())), + EO.push(t); + }, 'addRelation')), + (y$e = o(function (t, e) { + let r = R0(t).className; + Gi.get(r).annotations.push(e); + }, 'addAnnotation')), + (Ehe = o(function (t, e) { + kE(t); + let r = R0(t).className, + n = Gi.get(r); + if (typeof e == 'string') { + let i = e.trim(); + i.startsWith('<<') && i.endsWith('>>') + ? n.annotations.push(D0(i.substring(2, i.length - 2))) + : i.indexOf(')') > 0 + ? n.methods.push(new wx(i, 'method')) + : i && n.members.push(new wx(i, 'attribute')); + } + }, 'addMember')), + (v$e = o(function (t, e) { + Array.isArray(e) && (e.reverse(), e.forEach((r) => Ehe(t, r))); + }, 'addMembers')), + (x$e = o(function (t, e) { + let r = { id: `note${TE.length}`, class: e, text: t }; + TE.push(r); + }, 'addNote')), + (b$e = o(function (t) { + return t.startsWith(':') && (t = t.substring(1)), D0(t.trim()); + }, 'cleanupLabel')), + (CO = o(function (t, e) { + t.split(',').forEach(function (r) { + let n = r; + /\d/.exec(r[0]) && (n = EE + n); + let i = Gi.get(n); + i && i.cssClasses.push(e); + }); + }, 'setCssClass')), + (w$e = o(function (t, e) { + t.split(',').forEach(function (r) { + e !== void 0 && (Gi.get(r).tooltip = D0(e)); + }); + }, 'setTooltip')), + (T$e = o(function (t, e) { + return e && qu.has(e) ? qu.get(e).classes.get(t).tooltip : Gi.get(t).tooltip; + }, 'getTooltip')), + (k$e = o(function (t, e, r) { + let n = de(); + t.split(',').forEach(function (i) { + let a = i; + /\d/.exec(i[0]) && (a = EE + a); + let s = Gi.get(a); + s && + ((s.link = Lt.formatUrl(e, n)), + n.securityLevel === 'sandbox' + ? (s.linkTarget = '_top') + : typeof r == 'string' + ? (s.linkTarget = D0(r)) + : (s.linkTarget = '_blank')); + }), + CO(t, 'clickable'); + }, 'setLink')), + (E$e = o(function (t, e, r) { + t.split(',').forEach(function (n) { + C$e(n, e, r), (Gi.get(n).haveCallback = !0); + }), + CO(t, 'clickable'); + }, 'setClickEvent')), + (C$e = o(function (t, e, r) { + let n = We.sanitizeText(t, de()); + if (de().securityLevel !== 'loose' || e === void 0) return; + let a = n; + if (Gi.has(a)) { + let s = khe(a), + l = []; + if (typeof r == 'string') { + l = r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/); + for (let u = 0; u < l.length; u++) { + let h = l[u].trim(); + h.startsWith('"') && h.endsWith('"') && (h = h.substr(1, h.length - 2)), (l[u] = h); + } + } + l.length === 0 && l.push(s), + Tx.push(function () { + let u = document.querySelector(`[id="${s}"]`); + u !== null && + u.addEventListener( + 'click', + function () { + Lt.runFunc(e, ...l); + }, + !1 + ); + }); + } + }, 'setClickFunc')), + (S$e = o(function (t) { + Tx.forEach(function (e) { + e(t); + }); + }, 'bindFunctions')), + (A$e = { LINE: 0, DOTTED_LINE: 1 }), + (_$e = { + AGGREGATION: 0, + EXTENSION: 1, + COMPOSITION: 2, + DEPENDENCY: 3, + LOLLIPOP: 4 + }), + (Che = o(function (t) { + let e = $e('.mermaidTooltip'); + (e._groups || e)[0][0] === null && + (e = $e('body').append('div').attr('class', 'mermaidTooltip').style('opacity', 0)), + $e(t) + .select('svg') + .selectAll('g.node') + .on('mouseover', function () { + let i = $e(this); + if (i.attr('title') === null) return; + let s = this.getBoundingClientRect(); + e.transition().duration(200).style('opacity', '.9'), + e + .text(i.attr('title')) + .style('left', window.scrollX + s.left + (s.right - s.left) / 2 + 'px') + .style('top', window.scrollY + s.top - 14 + document.body.scrollTop + 'px'), + e.html(e.html().replace(/<br\/>/g, '
    ')), + i.classed('hover', !0); + }) + .on('mouseout', function () { + e.transition().duration(500).style('opacity', 0), $e(this).classed('hover', !1); + }); + }, 'setupToolTips')); + Tx.push(Che); + (SO = 'TB'), + (L$e = o(() => SO, 'getDirection')), + (D$e = o((t) => { + SO = t; + }, 'setDirection')), + (R$e = o(function (t) { + qu.has(t) || + (qu.set(t, { + id: t, + classes: new Map(), + children: {}, + domId: EE + t + '-' + kO + }), + kO++); + }, 'addNamespace')), + (N$e = o(function (t) { + return qu.get(t); + }, 'getNamespace')), + (M$e = o(function () { + return qu; + }, 'getNamespaces')), + (I$e = o(function (t, e) { + if (qu.has(t)) + for (let r of e) { + let { className: n } = R0(r); + (Gi.get(n).parent = t), qu.get(t).classes.set(n, Gi.get(n)); + } + }, 'addClassesToNamespace')), + (O$e = o(function (t, e) { + let r = Gi.get(t); + if (!(!e || !r)) + for (let n of e) n.includes(',') ? r.styles.push(...n.split(',')) : r.styles.push(n); + }, 'setCssStyle')), + (Bg = { + setAccTitle: kr, + getAccTitle: Ar, + getAccDescription: Lr, + setAccDescription: _r, + getConfig: o(() => de().class, 'getConfig'), + addClass: kE, + bindFunctions: S$e, + clear: h$e, + getClass: f$e, + getClasses: d$e, + getNotes: m$e, + addAnnotation: y$e, + addNote: x$e, + getRelations: p$e, + addRelation: g$e, + getDirection: L$e, + setDirection: D$e, + addMember: Ehe, + addMembers: v$e, + cleanupLabel: b$e, + lineType: A$e, + relationType: _$e, + setClickEvent: E$e, + setCssClass: CO, + setLink: k$e, + getTooltip: T$e, + setTooltip: w$e, + lookUpDomId: khe, + setDiagramTitle: nn, + getDiagramTitle: Xr, + setClassLabel: u$e, + addNamespace: R$e, + addClassesToNamespace: I$e, + getNamespace: N$e, + getNamespaces: M$e, + setCssStyle: O$e + }); + }); + var P$e, + CE, + _O = R(() => { + 'use strict'; + (P$e = o( + (t) => `g.classGroup text { + fill: ${t.nodeBorder || t.classText}; + stroke: none; + font-family: ${t.fontFamily}; + font-size: 10px; + + .title { + font-weight: bolder; + } + +} + +.nodeLabel, .edgeLabel { + color: ${t.classText}; +} +.edgeLabel .label rect { + fill: ${t.mainBkg}; +} +.label text { + fill: ${t.classText}; +} +.edgeLabel .label span { + background: ${t.mainBkg}; +} + +.classTitle { + font-weight: bolder; +} +.node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + stroke-width: 1px; + } + + +.divider { + stroke: ${t.nodeBorder}; + stroke-width: 1; +} + +g.clickable { + cursor: pointer; +} + +g.classGroup rect { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; +} + +g.classGroup line { + stroke: ${t.nodeBorder}; + stroke-width: 1; +} + +.classLabel .box { + stroke: none; + stroke-width: 0; + fill: ${t.mainBkg}; + opacity: 0.5; +} + +.classLabel .label { + fill: ${t.nodeBorder}; + font-size: 10px; +} + +.relation { + stroke: ${t.lineColor}; + stroke-width: 1; + fill: none; +} + +.dashed-line{ + stroke-dasharray: 3; +} + +.dotted-line{ + stroke-dasharray: 1 2; +} + +#compositionStart, .composition { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#compositionEnd, .composition { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#extensionStart, .extension { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#extensionEnd, .extension { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#aggregationStart, .aggregation { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#aggregationEnd, .aggregation { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#lollipopStart, .lollipop { + fill: ${t.mainBkg} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#lollipopEnd, .lollipop { + fill: ${t.mainBkg} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +.edgeTerminals { + font-size: 11px; + line-height: initial; +} + +.classTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; +} +`, + 'getStyles' + )), + (CE = P$e); + }); + var She, + B$e, + F$e, + _he, + z$e, + Ahe, + SE, + Lhe = R(() => { + 'use strict'; + Zt(); + xr(); + ut(); + rr(); + (She = 0), + (B$e = o(function (t, e, r, n, i) { + let a = o(function (b) { + switch (b) { + case i.db.relationType.AGGREGATION: + return 'aggregation'; + case i.db.relationType.EXTENSION: + return 'extension'; + case i.db.relationType.COMPOSITION: + return 'composition'; + case i.db.relationType.DEPENDENCY: + return 'dependency'; + case i.db.relationType.LOLLIPOP: + return 'lollipop'; + } + }, 'getRelationType'); + e.points = e.points.filter((b) => !Number.isNaN(b.y)); + let s = e.points, + l = ha() + .x(function (b) { + return b.x; + }) + .y(function (b) { + return b.y; + }) + .curve(vs), + u = t + .append('path') + .attr('d', l(s)) + .attr('id', 'edge' + She) + .attr('class', 'relation'), + h = ''; + n.arrowMarkerAbsolute && + ((h = + window.location.protocol + + '//' + + window.location.host + + window.location.pathname + + window.location.search), + (h = h.replace(/\(/g, '\\(')), + (h = h.replace(/\)/g, '\\)'))), + r.relation.lineType == 1 && u.attr('class', 'relation dashed-line'), + r.relation.lineType == 10 && u.attr('class', 'relation dotted-line'), + r.relation.type1 !== 'none' && + u.attr('marker-start', 'url(' + h + '#' + a(r.relation.type1) + 'Start)'), + r.relation.type2 !== 'none' && + u.attr('marker-end', 'url(' + h + '#' + a(r.relation.type2) + 'End)'); + let f, + d, + p = e.points.length, + m = Lt.calcLabelPosition(e.points); + (f = m.x), (d = m.y); + let g, y, v, x; + if (p % 2 !== 0 && p > 1) { + let b = Lt.calcCardinalityPosition(r.relation.type1 !== 'none', e.points, e.points[0]), + w = Lt.calcCardinalityPosition(r.relation.type2 !== 'none', e.points, e.points[p - 1]); + V.debug('cardinality_1_point ' + JSON.stringify(b)), + V.debug('cardinality_2_point ' + JSON.stringify(w)), + (g = b.x), + (y = b.y), + (v = w.x), + (x = w.y); + } + if (r.title !== void 0) { + let b = t.append('g').attr('class', 'classLabel'), + w = b + .append('text') + .attr('class', 'label') + .attr('x', f) + .attr('y', d) + .attr('fill', 'red') + .attr('text-anchor', 'middle') + .text(r.title); + window.label = w; + let S = w.node().getBBox(); + b.insert('rect', ':first-child') + .attr('class', 'box') + .attr('x', S.x - n.padding / 2) + .attr('y', S.y - n.padding / 2) + .attr('width', S.width + n.padding) + .attr('height', S.height + n.padding); + } + V.info('Rendering relation ' + JSON.stringify(r)), + r.relationTitle1 !== void 0 && + r.relationTitle1 !== 'none' && + t + .append('g') + .attr('class', 'cardinality') + .append('text') + .attr('class', 'type1') + .attr('x', g) + .attr('y', y) + .attr('fill', 'black') + .attr('font-size', '6') + .text(r.relationTitle1), + r.relationTitle2 !== void 0 && + r.relationTitle2 !== 'none' && + t + .append('g') + .attr('class', 'cardinality') + .append('text') + .attr('class', 'type2') + .attr('x', v) + .attr('y', x) + .attr('fill', 'black') + .attr('font-size', '6') + .text(r.relationTitle2), + She++; + }, 'drawEdge')), + (F$e = o(function (t, e, r, n) { + V.debug('Rendering class ', e, r); + let i = e.id, + a = { id: i, label: e.id, width: 0, height: 0 }, + s = t.append('g').attr('id', n.db.lookUpDomId(i)).attr('class', 'classGroup'), + l; + e.link + ? (l = s + .append('svg:a') + .attr('xlink:href', e.link) + .attr('target', e.linkTarget) + .append('text') + .attr('y', r.textHeight + r.padding) + .attr('x', 0)) + : (l = s + .append('text') + .attr('y', r.textHeight + r.padding) + .attr('x', 0)); + let u = !0; + e.annotations.forEach(function (w) { + let S = l.append('tspan').text('\xAB' + w + '\xBB'); + u || S.attr('dy', r.textHeight), (u = !1); + }); + let h = _he(e), + f = l.append('tspan').text(h).attr('class', 'title'); + u || f.attr('dy', r.textHeight); + let d = l.node().getBBox().height, + p, + m, + g; + if (e.members.length > 0) { + p = s + .append('line') + .attr('x1', 0) + .attr('y1', r.padding + d + r.dividerMargin / 2) + .attr('y2', r.padding + d + r.dividerMargin / 2); + let w = s + .append('text') + .attr('x', r.padding) + .attr('y', d + r.dividerMargin + r.textHeight) + .attr('fill', 'white') + .attr('class', 'classText'); + (u = !0), + e.members.forEach(function (S) { + Ahe(w, S, u, r), (u = !1); + }), + (m = w.node().getBBox()); + } + if (e.methods.length > 0) { + g = s + .append('line') + .attr('x1', 0) + .attr('y1', r.padding + d + r.dividerMargin + m.height) + .attr('y2', r.padding + d + r.dividerMargin + m.height); + let w = s + .append('text') + .attr('x', r.padding) + .attr('y', d + 2 * r.dividerMargin + m.height + r.textHeight) + .attr('fill', 'white') + .attr('class', 'classText'); + (u = !0), + e.methods.forEach(function (S) { + Ahe(w, S, u, r), (u = !1); + }); + } + let y = s.node().getBBox(); + var v = ' '; + e.cssClasses.length > 0 && (v = v + e.cssClasses.join(' ')); + let b = s + .insert('rect', ':first-child') + .attr('x', 0) + .attr('y', 0) + .attr('width', y.width + 2 * r.padding) + .attr('height', y.height + r.padding + 0.5 * r.dividerMargin) + .attr('class', v) + .node() + .getBBox().width; + return ( + l.node().childNodes.forEach(function (w) { + w.setAttribute('x', (b - w.getBBox().width) / 2); + }), + e.tooltip && l.insert('title').text(e.tooltip), + p && p.attr('x2', b), + g && g.attr('x2', b), + (a.width = b), + (a.height = y.height + r.padding + 0.5 * r.dividerMargin), + a + ); + }, 'drawClass')), + (_he = o(function (t) { + let e = t.id; + return t.type && (e += '<' + gh(t.type) + '>'), e; + }, 'getClassTitleString')), + (z$e = o(function (t, e, r, n) { + V.debug('Rendering note ', e, r); + let i = e.id, + a = { id: i, text: e.text, width: 0, height: 0 }, + s = t.append('g').attr('id', i).attr('class', 'classGroup'), + l = s + .append('text') + .attr('y', r.textHeight + r.padding) + .attr('x', 0), + u = JSON.parse(`"${e.text}"`).split(` +`); + u.forEach(function (p) { + V.debug(`Adding line: ${p}`), + l.append('tspan').text(p).attr('class', 'title').attr('dy', r.textHeight); + }); + let h = s.node().getBBox(), + d = s + .insert('rect', ':first-child') + .attr('x', 0) + .attr('y', 0) + .attr('width', h.width + 2 * r.padding) + .attr('height', h.height + u.length * r.textHeight + r.padding + 0.5 * r.dividerMargin) + .node() + .getBBox().width; + return ( + l.node().childNodes.forEach(function (p) { + p.setAttribute('x', (d - p.getBBox().width) / 2); + }), + (a.width = d), + (a.height = h.height + u.length * r.textHeight + r.padding + 0.5 * r.dividerMargin), + a + ); + }, 'drawNote')), + (Ahe = o(function (t, e, r, n) { + let { displayText: i, cssStyle: a } = e.getDisplayDetails(), + s = t.append('tspan').attr('x', n.padding).text(i); + a !== '' && s.attr('style', e.cssStyle), r || s.attr('dy', n.textHeight); + }, 'addTspan')), + (SE = { + getClassTitleString: _he, + drawClass: F$e, + drawEdge: B$e, + drawNote: z$e + }); + }); + var _E, + AE, + kx, + G$e, + $$e, + Dhe, + Rhe = R(() => { + 'use strict'; + Zt(); + Vd(); + ya(); + ut(); + Lhe(); + Yn(); + _t(); + (_E = {}), + (AE = 20), + (kx = o(function (t) { + let e = Object.entries(_E).find((r) => r[1].label === t); + if (e) return e[0]; + }, 'getGraphId')), + (G$e = o(function (t) { + t + .append('defs') + .append('marker') + .attr('id', 'extensionStart') + .attr('class', 'extension') + .attr('refX', 0) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 1,7 L18,13 V 1 Z'), + t + .append('defs') + .append('marker') + .attr('id', 'extensionEnd') + .attr('refX', 19) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 1,1 V 13 L18,7 Z'), + t + .append('defs') + .append('marker') + .attr('id', 'compositionStart') + .attr('class', 'extension') + .attr('refX', 0) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'), + t + .append('defs') + .append('marker') + .attr('id', 'compositionEnd') + .attr('refX', 19) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'), + t + .append('defs') + .append('marker') + .attr('id', 'aggregationStart') + .attr('class', 'extension') + .attr('refX', 0) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'), + t + .append('defs') + .append('marker') + .attr('id', 'aggregationEnd') + .attr('refX', 19) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'), + t + .append('defs') + .append('marker') + .attr('id', 'dependencyStart') + .attr('class', 'extension') + .attr('refX', 0) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 5,7 L9,13 L1,7 L9,1 Z'), + t + .append('defs') + .append('marker') + .attr('id', 'dependencyEnd') + .attr('refX', 19) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L14,7 L9,1 Z'); + }, 'insertMarkers')), + ($$e = o(function (t, e, r, n) { + let i = de().class; + (_E = {}), V.info('Rendering diagram ' + t); + let a = de().securityLevel, + s; + a === 'sandbox' && (s = $e('#i' + e)); + let l = a === 'sandbox' ? $e(s.nodes()[0].contentDocument.body) : $e('body'), + u = l.select(`[id='${e}']`); + G$e(u); + let h = new lr({ multigraph: !0 }); + h.setGraph({ isMultiGraph: !0 }), + h.setDefaultEdgeLabel(function () { + return {}; + }); + let f = n.db.getClasses(), + d = [...f.keys()]; + for (let b of d) { + let w = f.get(b), + S = SE.drawClass(u, w, i, n); + (_E[S.id] = S), h.setNode(S.id, S), V.info('Org height: ' + S.height); + } + n.db.getRelations().forEach(function (b) { + V.info('tjoho' + kx(b.id1) + kx(b.id2) + JSON.stringify(b)), + h.setEdge(kx(b.id1), kx(b.id2), { relation: b }, b.title || 'DEFAULT'); + }), + n.db.getNotes().forEach(function (b) { + V.debug(`Adding note: ${JSON.stringify(b)}`); + let w = SE.drawNote(u, b, i, n); + (_E[w.id] = w), + h.setNode(w.id, w), + b.class && + f.has(b.class) && + h.setEdge( + b.id, + kx(b.class), + { + relation: { + id1: b.id, + id2: b.class, + relation: { + type1: 'none', + type2: 'none', + lineType: 10 + } + } + }, + 'DEFAULT' + ); + }), + lo(h), + h.nodes().forEach(function (b) { + b !== void 0 && + h.node(b) !== void 0 && + (V.debug('Node ' + b + ': ' + JSON.stringify(h.node(b))), + l + .select('#' + (n.db.lookUpDomId(b) || b)) + .attr( + 'transform', + 'translate(' + + (h.node(b).x - h.node(b).width / 2) + + ',' + + (h.node(b).y - h.node(b).height / 2) + + ' )' + )); + }), + h.edges().forEach(function (b) { + b !== void 0 && + h.edge(b) !== void 0 && + (V.debug('Edge ' + b.v + ' -> ' + b.w + ': ' + JSON.stringify(h.edge(b))), + SE.drawEdge(u, h.edge(b), h.edge(b).relation, i, n)); + }); + let g = u.node().getBBox(), + y = g.width + AE * 2, + v = g.height + AE * 2; + Sr(u, v, y, i.useMaxWidth); + let x = `${g.x - AE} ${g.y - AE} ${y} ${v}`; + V.debug(`viewBox ${x}`), u.attr('viewBox', x); + }, 'draw')), + (Dhe = { draw: $$e }); + }); + var Nhe = {}; + hr(Nhe, { diagram: () => V$e }); + var V$e, + Mhe = R(() => { + 'use strict'; + TO(); + AO(); + _O(); + Rhe(); + V$e = { + parser: wE, + db: Bg, + renderer: Dhe, + styles: CE, + init: o((t) => { + t.class || (t.class = {}), (t.class.arrowMarkerAbsolute = t.arrowMarkerAbsolute), Bg.clear(); + }, 'init') + }; + }); + var W$e, + q$e, + X$e, + j$e, + K$e, + Q$e, + Z$e, + J$e, + eVe, + tVe, + rVe, + LE, + LO = R(() => { + 'use strict'; + ut(); + (W$e = o((t, e, r, n) => { + e.forEach((i) => { + rVe[i](t, r, n); + }); + }, 'insertMarkers')), + (q$e = o((t, e, r) => { + V.trace('Making markers for ', r), + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-extensionStart') + .attr('class', 'marker extension ' + e) + .attr('refX', 18) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 1,7 L18,13 V 1 Z'), + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-extensionEnd') + .attr('class', 'marker extension ' + e) + .attr('refX', 1) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 1,1 V 13 L18,7 Z'); + }, 'extension')), + (X$e = o((t, e, r) => { + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-compositionStart') + .attr('class', 'marker composition ' + e) + .attr('refX', 18) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'), + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-compositionEnd') + .attr('class', 'marker composition ' + e) + .attr('refX', 1) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'); + }, 'composition')), + (j$e = o((t, e, r) => { + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-aggregationStart') + .attr('class', 'marker aggregation ' + e) + .attr('refX', 18) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'), + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-aggregationEnd') + .attr('class', 'marker aggregation ' + e) + .attr('refX', 1) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'); + }, 'aggregation')), + (K$e = o((t, e, r) => { + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-dependencyStart') + .attr('class', 'marker dependency ' + e) + .attr('refX', 6) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 5,7 L9,13 L1,7 L9,1 Z'), + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-dependencyEnd') + .attr('class', 'marker dependency ' + e) + .attr('refX', 13) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L14,7 L9,1 Z'); + }, 'dependency')), + (Q$e = o((t, e, r) => { + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-lollipopStart') + .attr('class', 'marker lollipop ' + e) + .attr('refX', 13) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('circle') + .attr('stroke', 'black') + .attr('fill', 'transparent') + .attr('cx', 7) + .attr('cy', 7) + .attr('r', 6), + t + .append('defs') + .append('marker') + .attr('id', r + '_' + e + '-lollipopEnd') + .attr('class', 'marker lollipop ' + e) + .attr('refX', 1) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('circle') + .attr('stroke', 'black') + .attr('fill', 'transparent') + .attr('cx', 7) + .attr('cy', 7) + .attr('r', 6); + }, 'lollipop')), + (Z$e = o((t, e, r) => { + t + .append('marker') + .attr('id', r + '_' + e + '-pointEnd') + .attr('class', 'marker ' + e) + .attr('viewBox', '0 0 10 10') + .attr('refX', 6) + .attr('refY', 5) + .attr('markerUnits', 'userSpaceOnUse') + .attr('markerWidth', 12) + .attr('markerHeight', 12) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 0 0 L 10 5 L 0 10 z') + .attr('class', 'arrowMarkerPath') + .style('stroke-width', 1) + .style('stroke-dasharray', '1,0'), + t + .append('marker') + .attr('id', r + '_' + e + '-pointStart') + .attr('class', 'marker ' + e) + .attr('viewBox', '0 0 10 10') + .attr('refX', 4.5) + .attr('refY', 5) + .attr('markerUnits', 'userSpaceOnUse') + .attr('markerWidth', 12) + .attr('markerHeight', 12) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 0 5 L 10 10 L 10 0 z') + .attr('class', 'arrowMarkerPath') + .style('stroke-width', 1) + .style('stroke-dasharray', '1,0'); + }, 'point')), + (J$e = o((t, e, r) => { + t + .append('marker') + .attr('id', r + '_' + e + '-circleEnd') + .attr('class', 'marker ' + e) + .attr('viewBox', '0 0 10 10') + .attr('refX', 11) + .attr('refY', 5) + .attr('markerUnits', 'userSpaceOnUse') + .attr('markerWidth', 11) + .attr('markerHeight', 11) + .attr('orient', 'auto') + .append('circle') + .attr('cx', '5') + .attr('cy', '5') + .attr('r', '5') + .attr('class', 'arrowMarkerPath') + .style('stroke-width', 1) + .style('stroke-dasharray', '1,0'), + t + .append('marker') + .attr('id', r + '_' + e + '-circleStart') + .attr('class', 'marker ' + e) + .attr('viewBox', '0 0 10 10') + .attr('refX', -1) + .attr('refY', 5) + .attr('markerUnits', 'userSpaceOnUse') + .attr('markerWidth', 11) + .attr('markerHeight', 11) + .attr('orient', 'auto') + .append('circle') + .attr('cx', '5') + .attr('cy', '5') + .attr('r', '5') + .attr('class', 'arrowMarkerPath') + .style('stroke-width', 1) + .style('stroke-dasharray', '1,0'); + }, 'circle')), + (eVe = o((t, e, r) => { + t + .append('marker') + .attr('id', r + '_' + e + '-crossEnd') + .attr('class', 'marker cross ' + e) + .attr('viewBox', '0 0 11 11') + .attr('refX', 12) + .attr('refY', 5.2) + .attr('markerUnits', 'userSpaceOnUse') + .attr('markerWidth', 11) + .attr('markerHeight', 11) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 1,1 l 9,9 M 10,1 l -9,9') + .attr('class', 'arrowMarkerPath') + .style('stroke-width', 2) + .style('stroke-dasharray', '1,0'), + t + .append('marker') + .attr('id', r + '_' + e + '-crossStart') + .attr('class', 'marker cross ' + e) + .attr('viewBox', '0 0 11 11') + .attr('refX', -1) + .attr('refY', 5.2) + .attr('markerUnits', 'userSpaceOnUse') + .attr('markerWidth', 11) + .attr('markerHeight', 11) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 1,1 l 9,9 M 10,1 l -9,9') + .attr('class', 'arrowMarkerPath') + .style('stroke-width', 2) + .style('stroke-dasharray', '1,0'); + }, 'cross')), + (tVe = o((t, e, r) => { + t.append('defs') + .append('marker') + .attr('id', r + '_' + e + '-barbEnd') + .attr('refX', 19) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 14) + .attr('markerUnits', 'strokeWidth') + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 19,7 L9,13 L14,7 L9,1 Z'); + }, 'barb')), + (rVe = { + extension: q$e, + composition: X$e, + aggregation: j$e, + dependency: K$e, + lollipop: Q$e, + point: Z$e, + circle: J$e, + cross: eVe, + barb: tVe + }), + (LE = W$e); + }); + var tr, + zl, + Phe, + Bhe, + RE, + nVe, + Fhe, + zhe, + Fg, + DE, + Ghe, + $he, + Vhe, + Uhe, + Hhe = R(() => { + 'use strict'; + ut(); + Pv(); + ya(); + (tr = {}), + (zl = {}), + (Phe = {}), + (Bhe = o(() => { + (zl = {}), (Phe = {}), (tr = {}); + }, 'clear')), + (RE = o( + (t, e) => (V.trace('In isDescendant', e, ' ', t, ' = ', zl[e].includes(t)), !!zl[e].includes(t)), + 'isDescendant' + )), + (nVe = o( + (t, e) => ( + V.info('Descendants of ', e, ' is ', zl[e]), + V.info('Edge is ', t), + t.v === e || t.w === e + ? !1 + : zl[e] + ? zl[e].includes(t.v) || RE(t.v, e) || RE(t.w, e) || zl[e].includes(t.w) + : (V.debug('Tilt, ', e, ',not in descendants'), !1) + ), + 'edgeInCluster' + )), + (Fhe = o((t, e, r, n) => { + V.warn('Copying children of ', t, 'root', n, 'data', e.node(t), n); + let i = e.children(t) || []; + t !== n && i.push(t), + V.warn('Copying (nodes) clusterId', t, 'nodes', i), + i.forEach((a) => { + if (e.children(a).length > 0) Fhe(a, e, r, n); + else { + let s = e.node(a); + V.info('cp ', a, ' to ', n, ' with parent ', t), + r.setNode(a, s), + n !== e.parent(a) && + (V.warn('Setting parent', a, e.parent(a)), r.setParent(a, e.parent(a))), + t !== n && a !== t + ? (V.debug('Setting parent', a, t), r.setParent(a, t)) + : (V.info('In copy ', t, 'root', n, 'data', e.node(t), n), + V.debug( + 'Not Setting parent for node=', + a, + 'cluster!==rootId', + t !== n, + 'node!==clusterId', + a !== t + )); + let l = e.edges(a); + V.debug('Copying Edges', l), + l.forEach((u) => { + V.info('Edge', u); + let h = e.edge(u.v, u.w, u.name); + V.info('Edge data', h, n); + try { + nVe(u, n) + ? (V.info('Copying as ', u.v, u.w, h, u.name), + r.setEdge(u.v, u.w, h, u.name), + V.info('newGraph edges ', r.edges(), r.edge(r.edges()[0]))) + : V.info( + 'Skipping copy of edge ', + u.v, + '-->', + u.w, + ' rootId: ', + n, + ' clusterId:', + t + ); + } catch (f) { + V.error(f); + } + }); + } + V.debug('Removing node', a), e.removeNode(a); + }); + }, 'copy')), + (zhe = o((t, e) => { + let r = e.children(t), + n = [...r]; + for (let i of r) (Phe[i] = t), (n = [...n, ...zhe(i, e)]); + return n; + }, 'extractDescendants')), + (Fg = o((t, e) => { + V.trace('Searching', t); + let r = e.children(t); + if ((V.trace('Searching children of id ', t, r), r.length < 1)) + return V.trace('This is a valid node', t), t; + for (let n of r) { + let i = Fg(n, e); + if (i) return V.trace('Found replacement for', t, ' => ', i), i; + } + }, 'findNonClusterChild')), + (DE = o((t) => (!tr[t] || !tr[t].externalConnections ? t : tr[t] ? tr[t].id : t), 'getAnchorId')), + (Ghe = o((t, e) => { + if (!t || e > 10) { + V.debug('Opting out, no graph '); + return; + } else V.debug('Opting in, graph '); + t.nodes().forEach(function (r) { + t.children(r).length > 0 && + (V.warn('Cluster identified', r, ' Replacement id in edges: ', Fg(r, t)), + (zl[r] = zhe(r, t)), + (tr[r] = { id: Fg(r, t), clusterData: t.node(r) })); + }), + t.nodes().forEach(function (r) { + let n = t.children(r), + i = t.edges(); + n.length > 0 + ? (V.debug('Cluster identified', r, zl), + i.forEach((a) => { + if (a.v !== r && a.w !== r) { + let s = RE(a.v, r), + l = RE(a.w, r); + s ^ l && + (V.warn('Edge: ', a, ' leaves cluster ', r), + V.warn('Descendants of XXX ', r, ': ', zl[r]), + (tr[r].externalConnections = !0)); + } + })) + : V.debug('Not a cluster ', r, zl); + }); + for (let r of Object.keys(tr)) { + let n = tr[r].id, + i = t.parent(n); + i !== r && tr[i] && !tr[i].externalConnections && (tr[r].id = i); + } + t.edges().forEach(function (r) { + let n = t.edge(r); + V.warn('Edge ' + r.v + ' -> ' + r.w + ': ' + JSON.stringify(r)), + V.warn('Edge ' + r.v + ' -> ' + r.w + ': ' + JSON.stringify(t.edge(r))); + let i = r.v, + a = r.w; + if ( + (V.warn('Fix XXX', tr, 'ids:', r.v, r.w, 'Translating: ', tr[r.v], ' --- ', tr[r.w]), + tr[r.v] && tr[r.w] && tr[r.v] === tr[r.w]) + ) { + V.warn('Fixing and trixing link to self - removing XXX', r.v, r.w, r.name), + V.warn('Fixing and trixing - removing XXX', r.v, r.w, r.name), + (i = DE(r.v)), + (a = DE(r.w)), + t.removeEdge(r.v, r.w, r.name); + let s = r.w + '---' + r.v; + t.setNode(s, { + domId: s, + id: s, + labelStyle: '', + labelText: n.label, + padding: 0, + shape: 'labelRect', + style: '' + }); + let l = structuredClone(n), + u = structuredClone(n); + (l.label = ''), + (l.arrowTypeEnd = 'none'), + (u.label = ''), + (l.fromCluster = r.v), + (u.toCluster = r.v), + t.setEdge(i, s, l, r.name + '-cyclic-special'), + t.setEdge(s, a, u, r.name + '-cyclic-special'); + } else if (tr[r.v] || tr[r.w]) { + if ( + (V.warn('Fixing and trixing - removing XXX', r.v, r.w, r.name), + (i = DE(r.v)), + (a = DE(r.w)), + t.removeEdge(r.v, r.w, r.name), + i !== r.v) + ) { + let s = t.parent(i); + (tr[s].externalConnections = !0), (n.fromCluster = r.v); + } + if (a !== r.w) { + let s = t.parent(a); + (tr[s].externalConnections = !0), (n.toCluster = r.w); + } + V.warn('Fix Replacing with XXX', i, a, r.name), t.setEdge(i, a, n, r.name); + } + }), + V.warn('Adjusted Graph', zn(t)), + $he(t, 0), + V.trace(tr); + }, 'adjustClustersAndEdges')), + ($he = o((t, e) => { + if ((V.warn('extractor - ', e, zn(t), t.children('D')), e > 10)) { + V.error('Bailing out'); + return; + } + let r = t.nodes(), + n = !1; + for (let i of r) { + let a = t.children(i); + n = n || a.length > 0; + } + if (!n) { + V.debug('Done, no node has children', t.nodes()); + return; + } + V.debug('Nodes = ', r, e); + for (let i of r) + if ( + (V.debug( + 'Extracting node', + i, + tr, + tr[i] && !tr[i].externalConnections, + !t.parent(i), + t.node(i), + t.children('D'), + ' Depth ', + e + ), + !tr[i]) + ) + V.debug('Not a cluster', i, e); + else if (!tr[i].externalConnections && t.children(i) && t.children(i).length > 0) { + V.warn('Cluster without external connections, without a parent and with children', i, e); + let s = t.graph().rankdir === 'TB' ? 'LR' : 'TB'; + tr[i]?.clusterData?.dir && + ((s = tr[i].clusterData.dir), V.warn('Fixing dir', tr[i].clusterData.dir, s)); + let l = new lr({ multigraph: !0, compound: !0 }) + .setGraph({ + rankdir: s, + nodesep: 50, + ranksep: 50, + marginx: 8, + marginy: 8 + }) + .setDefaultEdgeLabel(function () { + return {}; + }); + V.warn('Old graph before copy', zn(t)), + Fhe(i, t, l, i), + t.setNode(i, { + clusterNode: !0, + id: i, + clusterData: tr[i].clusterData, + labelText: tr[i].labelText, + graph: l + }), + V.warn('New graph after copy node: (', i, ')', zn(l)), + V.debug('Old graph after copy', zn(t)); + } else + V.warn( + 'Cluster ** ', + i, + ' **not meeting the criteria !externalConnections:', + !tr[i].externalConnections, + ' no parent: ', + !t.parent(i), + ' children ', + t.children(i) && t.children(i).length > 0, + t.children('D'), + e + ), + V.debug(tr); + (r = t.nodes()), V.warn('New list of nodes', r); + for (let i of r) { + let a = t.node(i); + V.warn(' Now next level', i, a), a.clusterNode && $he(a.graph, e + 1); + } + }, 'extractor')), + (Vhe = o((t, e) => { + if (e.length === 0) return []; + let r = Object.assign(e); + return ( + e.forEach((n) => { + let i = t.children(n), + a = Vhe(t, i); + r = [...r, ...a]; + }), + r + ); + }, 'sorter')), + (Uhe = o((t) => Vhe(t, t.children()), 'sortNodesByHierarchy')); + }); + var iVe, + aVe, + sVe, + oVe, + lVe, + Yhe, + Whe, + qhe, + Xhe = R(() => { + 'use strict'; + S9(); + ut(); + bv(); + Al(); + Zt(); + _t(); + rr(); + _d(); + (iVe = o((t, e) => { + V.info('Creating subgraph rect for ', e.id, e); + let r = de(), + n = t + .insert('g') + .attr('class', 'cluster' + (e.class ? ' ' + e.class : '')) + .attr('id', e.id), + i = n.insert('rect', ':first-child'), + a = yr(r.flowchart.htmlLabels), + s = n.insert('g').attr('class', 'cluster-label'), + l = + e.labelType === 'markdown' + ? ta(s, e.labelText, { style: e.labelStyle, useHtmlLabels: a }, r) + : s.node().appendChild(ra(e.labelText, e.labelStyle, void 0, !0)), + u = l.getBBox(); + if (yr(r.flowchart.htmlLabels)) { + let g = l.children[0], + y = $e(l); + (u = g.getBoundingClientRect()), y.attr('width', u.width), y.attr('height', u.height); + } + let h = 0 * e.padding, + f = h / 2, + d = e.width <= u.width + h ? u.width + h : e.width; + e.width <= u.width + h ? (e.diff = (u.width - e.width) / 2 - e.padding / 2) : (e.diff = -e.padding / 2), + V.trace('Data ', e, JSON.stringify(e)), + i + .attr('style', e.style) + .attr('rx', e.rx) + .attr('ry', e.ry) + .attr('x', e.x - d / 2) + .attr('y', e.y - e.height / 2 - f) + .attr('width', d) + .attr('height', e.height + h); + let { subGraphTitleTopMargin: p } = io(r); + a + ? s.attr('transform', `translate(${e.x - u.width / 2}, ${e.y - e.height / 2 + p})`) + : s.attr('transform', `translate(${e.x}, ${e.y - e.height / 2 + p})`); + let m = i.node().getBBox(); + return ( + (e.width = m.width), + (e.height = m.height), + (e.intersect = function (g) { + return Ad(e, g); + }), + n + ); + }, 'rect')), + (aVe = o((t, e) => { + let r = t.insert('g').attr('class', 'note-cluster').attr('id', e.id), + n = r.insert('rect', ':first-child'), + i = 0 * e.padding, + a = i / 2; + n.attr('rx', e.rx) + .attr('ry', e.ry) + .attr('x', e.x - e.width / 2 - a) + .attr('y', e.y - e.height / 2 - a) + .attr('width', e.width + i) + .attr('height', e.height + i) + .attr('fill', 'none'); + let s = n.node().getBBox(); + return ( + (e.width = s.width), + (e.height = s.height), + (e.intersect = function (l) { + return Ad(e, l); + }), + r + ); + }, 'noteGroup')), + (sVe = o((t, e) => { + let r = de(), + n = t.insert('g').attr('class', e.classes).attr('id', e.id), + i = n.insert('rect', ':first-child'), + a = n.insert('g').attr('class', 'cluster-label'), + s = n.append('rect'), + l = a.node().appendChild(ra(e.labelText, e.labelStyle, void 0, !0)), + u = l.getBBox(); + if (yr(r.flowchart.htmlLabels)) { + let g = l.children[0], + y = $e(l); + (u = g.getBoundingClientRect()), y.attr('width', u.width), y.attr('height', u.height); + } + u = l.getBBox(); + let h = 0 * e.padding, + f = h / 2, + d = e.width <= u.width + e.padding ? u.width + e.padding : e.width; + e.width <= u.width + e.padding + ? (e.diff = (u.width + e.padding * 0 - e.width) / 2) + : (e.diff = -e.padding / 2), + i + .attr('class', 'outer') + .attr('x', e.x - d / 2 - f) + .attr('y', e.y - e.height / 2 - f) + .attr('width', d + h) + .attr('height', e.height + h), + s + .attr('class', 'inner') + .attr('x', e.x - d / 2 - f) + .attr('y', e.y - e.height / 2 - f + u.height - 1) + .attr('width', d + h) + .attr('height', e.height + h - u.height - 3); + let { subGraphTitleTopMargin: p } = io(r); + a.attr( + 'transform', + `translate(${e.x - u.width / 2}, ${ + e.y - e.height / 2 - e.padding / 3 + (yr(r.flowchart.htmlLabels) ? 5 : 3) + p + })` + ); + let m = i.node().getBBox(); + return ( + (e.height = m.height), + (e.intersect = function (g) { + return Ad(e, g); + }), + n + ); + }, 'roundedWithTitle')), + (oVe = o((t, e) => { + let r = t.insert('g').attr('class', e.classes).attr('id', e.id), + n = r.insert('rect', ':first-child'), + i = 0 * e.padding, + a = i / 2; + n.attr('class', 'divider') + .attr('x', e.x - e.width / 2 - a) + .attr('y', e.y - e.height / 2) + .attr('width', e.width + i) + .attr('height', e.height + i); + let s = n.node().getBBox(); + return ( + (e.width = s.width), + (e.height = s.height), + (e.diff = -e.padding / 2), + (e.intersect = function (l) { + return Ad(e, l); + }), + r + ); + }, 'divider')), + (lVe = { + rect: iVe, + roundedWithTitle: sVe, + noteGroup: aVe, + divider: oVe + }), + (Yhe = {}), + (Whe = o((t, e) => { + V.trace('Inserting cluster'); + let r = e.shape || 'rect'; + Yhe[e.id] = lVe[r](t, e); + }, 'insertCluster')), + (qhe = o(() => { + Yhe = {}; + }, 'clear')); + }); + var Khe, + cVe, + jhe, + Qhe = R(() => { + 'use strict'; + ut(); + (Khe = o((t, e, r, n, i) => { + e.arrowTypeStart && jhe(t, 'start', e.arrowTypeStart, r, n, i), + e.arrowTypeEnd && jhe(t, 'end', e.arrowTypeEnd, r, n, i); + }, 'addEdgeMarkers')), + (cVe = { + arrow_cross: 'cross', + arrow_point: 'point', + arrow_barb: 'barb', + arrow_circle: 'circle', + aggregation: 'aggregation', + extension: 'extension', + composition: 'composition', + dependency: 'dependency', + lollipop: 'lollipop' + }), + (jhe = o((t, e, r, n, i, a) => { + let s = cVe[r]; + if (!s) { + V.warn(`Unknown arrow type: ${r}`); + return; + } + let l = e === 'start' ? 'Start' : 'End'; + t.attr(`marker-${e}`, `url(${n}#${i}_${a}-${s}${l})`); + }, 'addEdgeMarker')); + }); + function NE(t, e) { + de().flowchart.htmlLabels && t && ((t.style.width = e.length * 9 + 'px'), (t.style.height = '12px')); + } + var ME, + Ta, + Jhe, + IE, + OE, + uVe, + hVe, + Zhe, + PE, + DO = R(() => { + 'use strict'; + ut(); + bv(); + Al(); + Zt(); + _t(); + xr(); + rr(); + j9(); + _d(); + Qhe(); + (ME = {}), + (Ta = {}), + (Jhe = o(() => { + (ME = {}), (Ta = {}); + }, 'clear')), + (IE = o((t, e) => { + let r = de(), + n = yr(r.flowchart.htmlLabels), + i = + e.labelType === 'markdown' + ? ta( + t, + e.label, + { + style: e.labelStyle, + useHtmlLabels: n, + addSvgBackground: !0 + }, + r + ) + : ra(e.label, e.labelStyle), + a = t.insert('g').attr('class', 'edgeLabel'), + s = a.insert('g').attr('class', 'label'); + s.node().appendChild(i); + let l = i.getBBox(); + if (n) { + let h = i.children[0], + f = $e(i); + (l = h.getBoundingClientRect()), f.attr('width', l.width), f.attr('height', l.height); + } + s.attr('transform', 'translate(' + -l.width / 2 + ', ' + -l.height / 2 + ')'), + (ME[e.id] = a), + (e.width = l.width), + (e.height = l.height); + let u; + if (e.startLabelLeft) { + let h = ra(e.startLabelLeft, e.labelStyle), + f = t.insert('g').attr('class', 'edgeTerminals'), + d = f.insert('g').attr('class', 'inner'); + u = d.node().appendChild(h); + let p = h.getBBox(); + d.attr('transform', 'translate(' + -p.width / 2 + ', ' + -p.height / 2 + ')'), + Ta[e.id] || (Ta[e.id] = {}), + (Ta[e.id].startLeft = f), + NE(u, e.startLabelLeft); + } + if (e.startLabelRight) { + let h = ra(e.startLabelRight, e.labelStyle), + f = t.insert('g').attr('class', 'edgeTerminals'), + d = f.insert('g').attr('class', 'inner'); + (u = f.node().appendChild(h)), d.node().appendChild(h); + let p = h.getBBox(); + d.attr('transform', 'translate(' + -p.width / 2 + ', ' + -p.height / 2 + ')'), + Ta[e.id] || (Ta[e.id] = {}), + (Ta[e.id].startRight = f), + NE(u, e.startLabelRight); + } + if (e.endLabelLeft) { + let h = ra(e.endLabelLeft, e.labelStyle), + f = t.insert('g').attr('class', 'edgeTerminals'), + d = f.insert('g').attr('class', 'inner'); + u = d.node().appendChild(h); + let p = h.getBBox(); + d.attr('transform', 'translate(' + -p.width / 2 + ', ' + -p.height / 2 + ')'), + f.node().appendChild(h), + Ta[e.id] || (Ta[e.id] = {}), + (Ta[e.id].endLeft = f), + NE(u, e.endLabelLeft); + } + if (e.endLabelRight) { + let h = ra(e.endLabelRight, e.labelStyle), + f = t.insert('g').attr('class', 'edgeTerminals'), + d = f.insert('g').attr('class', 'inner'); + u = d.node().appendChild(h); + let p = h.getBBox(); + d.attr('transform', 'translate(' + -p.width / 2 + ', ' + -p.height / 2 + ')'), + f.node().appendChild(h), + Ta[e.id] || (Ta[e.id] = {}), + (Ta[e.id].endRight = f), + NE(u, e.endLabelRight); + } + return i; + }, 'insertEdgeLabel')); + o(NE, 'setTerminalWidth'); + (OE = o((t, e) => { + V.debug('Moving label abc88 ', t.id, t.label, ME[t.id], e); + let r = e.updatedPath ? e.updatedPath : e.originalPath, + n = de(), + { subGraphTitleTotalMargin: i } = io(n); + if (t.label) { + let a = ME[t.id], + s = t.x, + l = t.y; + if (r) { + let u = Lt.calcLabelPosition(r); + V.debug('Moving label ' + t.label + ' from (', s, ',', l, ') to (', u.x, ',', u.y, ') abc88'), + e.updatedPath && ((s = u.x), (l = u.y)); + } + a.attr('transform', `translate(${s}, ${l + i / 2})`); + } + if (t.startLabelLeft) { + let a = Ta[t.id].startLeft, + s = t.x, + l = t.y; + if (r) { + let u = Lt.calcTerminalLabelPosition(t.arrowTypeStart ? 10 : 0, 'start_left', r); + (s = u.x), (l = u.y); + } + a.attr('transform', `translate(${s}, ${l})`); + } + if (t.startLabelRight) { + let a = Ta[t.id].startRight, + s = t.x, + l = t.y; + if (r) { + let u = Lt.calcTerminalLabelPosition(t.arrowTypeStart ? 10 : 0, 'start_right', r); + (s = u.x), (l = u.y); + } + a.attr('transform', `translate(${s}, ${l})`); + } + if (t.endLabelLeft) { + let a = Ta[t.id].endLeft, + s = t.x, + l = t.y; + if (r) { + let u = Lt.calcTerminalLabelPosition(t.arrowTypeEnd ? 10 : 0, 'end_left', r); + (s = u.x), (l = u.y); + } + a.attr('transform', `translate(${s}, ${l})`); + } + if (t.endLabelRight) { + let a = Ta[t.id].endRight, + s = t.x, + l = t.y; + if (r) { + let u = Lt.calcTerminalLabelPosition(t.arrowTypeEnd ? 10 : 0, 'end_right', r); + (s = u.x), (l = u.y); + } + a.attr('transform', `translate(${s}, ${l})`); + } + }, 'positionEdgeLabel')), + (uVe = o((t, e) => { + let r = t.x, + n = t.y, + i = Math.abs(e.x - r), + a = Math.abs(e.y - n), + s = t.width / 2, + l = t.height / 2; + return i >= s || a >= l; + }, 'outsideNode')), + (hVe = o((t, e, r) => { + V.debug(`intersection calc abc89: + outsidePoint: ${JSON.stringify(e)} + insidePoint : ${JSON.stringify(r)} + node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`); + let n = t.x, + i = t.y, + a = Math.abs(n - r.x), + s = t.width / 2, + l = r.x < e.x ? s - a : s + a, + u = t.height / 2, + h = Math.abs(e.y - r.y), + f = Math.abs(e.x - r.x); + if (Math.abs(i - e.y) * s > Math.abs(n - e.x) * u) { + let d = r.y < e.y ? e.y - u - i : i - u - e.y; + l = (f * d) / h; + let p = { + x: r.x < e.x ? r.x + l : r.x - f + l, + y: r.y < e.y ? r.y + h - d : r.y - h + d + }; + return ( + l === 0 && ((p.x = e.x), (p.y = e.y)), + f === 0 && (p.x = e.x), + h === 0 && (p.y = e.y), + V.debug(`abc89 topp/bott calc, Q ${h}, q ${d}, R ${f}, r ${l}`, p), + p + ); + } else { + r.x < e.x ? (l = e.x - s - n) : (l = n - s - e.x); + let d = (h * l) / f, + p = r.x < e.x ? r.x + f - l : r.x - f + l, + m = r.y < e.y ? r.y + d : r.y - d; + return ( + V.debug(`sides calc abc89, Q ${h}, q ${d}, R ${f}, r ${l}`, { + _x: p, + _y: m + }), + l === 0 && ((p = e.x), (m = e.y)), + f === 0 && (p = e.x), + h === 0 && (m = e.y), + { x: p, y: m } + ); + } + }, 'intersection')), + (Zhe = o((t, e) => { + V.debug('abc88 cutPathAtIntersect', t, e); + let r = [], + n = t[0], + i = !1; + return ( + t.forEach((a) => { + if (!uVe(e, a) && !i) { + let s = hVe(e, n, a), + l = !1; + r.forEach((u) => { + l = l || (u.x === s.x && u.y === s.y); + }), + r.some((u) => u.x === s.x && u.y === s.y) || r.push(s), + (i = !0); + } else (n = a), i || r.push(a); + }), + r + ); + }, 'cutPathAtIntersect')), + (PE = o(function (t, e, r, n, i, a, s) { + let l = r.points; + V.debug('abc88 InsertEdge: edge=', r, 'e=', e); + let u = !1, + h = a.node(e.v); + var f = a.node(e.w); + f?.intersect && + h?.intersect && + ((l = l.slice(1, r.points.length - 1)), + l.unshift(h.intersect(l[0])), + l.push(f.intersect(l[l.length - 1]))), + r.toCluster && + (V.debug('to cluster abc88', n[r.toCluster]), + (l = Zhe(r.points, n[r.toCluster].node)), + (u = !0)), + r.fromCluster && + (V.debug('from cluster abc88', n[r.fromCluster]), + (l = Zhe(l.reverse(), n[r.fromCluster].node).reverse()), + (u = !0)); + let d = l.filter((S) => !Number.isNaN(S.y)), + p = vs; + r.curve && (i === 'graph' || i === 'flowchart') && (p = r.curve); + let { x: m, y: g } = X5(r), + y = ha().x(m).y(g).curve(p), + v; + switch (r.thickness) { + case 'normal': + v = 'edge-thickness-normal'; + break; + case 'thick': + v = 'edge-thickness-thick'; + break; + case 'invisible': + v = 'edge-thickness-thick'; + break; + default: + v = ''; + } + switch (r.pattern) { + case 'solid': + v += ' edge-pattern-solid'; + break; + case 'dotted': + v += ' edge-pattern-dotted'; + break; + case 'dashed': + v += ' edge-pattern-dashed'; + break; + } + let x = t + .append('path') + .attr('d', y(d)) + .attr('id', r.id) + .attr('class', ' ' + v + (r.classes ? ' ' + r.classes : '')) + .attr('style', r.style), + b = ''; + (de().flowchart.arrowMarkerAbsolute || de().state.arrowMarkerAbsolute) && + ((b = + window.location.protocol + + '//' + + window.location.host + + window.location.pathname + + window.location.search), + (b = b.replace(/\(/g, '\\(')), + (b = b.replace(/\)/g, '\\)'))), + Khe(x, r, b, s, i); + let w = {}; + return u && (w.updatedPath = l), (w.originalPath = r.points), w; + }, 'insertEdge')); + }); + var efe, + tfe, + rfe = R(() => { + 'use strict'; + Vd(); + Pv(); + LO(); + N5(); + Hhe(); + M5(); + Xhe(); + DO(); + ut(); + _d(); + _t(); + (efe = o(async (t, e, r, n, i, a) => { + V.info('Graph in recursive render: XXX', zn(e), i); + let s = e.graph().rankdir; + V.trace('Dir in recursive render - dir:', s); + let l = t.insert('g').attr('class', 'root'); + e.nodes() ? V.info('Recursive render XXX', e.nodes()) : V.info('No nodes found for', e), + e.edges().length > 0 && V.trace('Recursive edges', e.edge(e.edges()[0])); + let u = l.insert('g').attr('class', 'clusters'), + h = l.insert('g').attr('class', 'edgePaths'), + f = l.insert('g').attr('class', 'edgeLabels'), + d = l.insert('g').attr('class', 'nodes'); + await Promise.all( + e.nodes().map(async function (g) { + let y = e.node(g); + if (i !== void 0) { + let v = JSON.parse(JSON.stringify(i.clusterData)); + V.info('Setting data for cluster XXX (', g, ') ', v, i), + e.setNode(i.id, v), + e.parent(g) || (V.trace('Setting parent', g, i.id), e.setParent(g, i.id, v)); + } + if ((V.info('(Insert) Node XXX' + g + ': ' + JSON.stringify(e.node(g))), y?.clusterNode)) { + V.info('Cluster identified', g, y.width, e.node(g)); + let { ranksep: v, nodesep: x } = e.graph(); + y.graph.setGraph({ ...y.graph.graph(), ranksep: v, nodesep: x }); + let b = await efe(d, y.graph, r, n, e.node(g), a), + w = b.elem; + kn(y, w), + (y.diff = b.diff || 0), + V.info('Node bounds (abc123)', g, y, y.width, y.x, y.y), + Bj(w, y), + V.warn('Recursive render complete ', w, y); + } else e.children(g).length > 0 ? (V.info('Cluster - the non recursive path XXX', g, y.id, y, e), V.info(Fg(y.id, e)), (tr[y.id] = { id: Fg(y.id, e), node: y })) : (V.info('Node - the non recursive path', g, y.id, y), await pm(d, e.node(g), s)); + }) + ), + e.edges().forEach(async function (g) { + let y = e.edge(g.v, g.w, g.name); + V.info('Edge ' + g.v + ' -> ' + g.w + ': ' + JSON.stringify(g)), + V.info('Edge ' + g.v + ' -> ' + g.w + ': ', g, ' ', JSON.stringify(e.edge(g))), + V.info('Fix', tr, 'ids:', g.v, g.w, 'Translating: ', tr[g.v], tr[g.w]), + await IE(f, y); + }), + e.edges().forEach(function (g) { + V.info('Edge ' + g.v + ' -> ' + g.w + ': ' + JSON.stringify(g)); + }), + V.info('Graph before layout:', JSON.stringify(zn(e))), + V.info('#############################################'), + V.info('### Layout ###'), + V.info('#############################################'), + V.info(e), + lo(e), + V.info('Graph after layout:', JSON.stringify(zn(e))); + let p = 0, + { subGraphTitleTotalMargin: m } = io(a); + return ( + Uhe(e).forEach(function (g) { + let y = e.node(g); + V.info('Position ' + g + ': ' + JSON.stringify(e.node(g))), + V.info( + 'Position ' + g + ': (' + y.x, + ',' + y.y, + ') width: ', + y.width, + ' height: ', + y.height + ), + y?.clusterNode + ? ((y.y += m), wv(y)) + : e.children(g).length > 0 + ? ((y.height += m), Whe(u, y), (tr[y.id].node = y)) + : ((y.y += m / 2), wv(y)); + }), + e.edges().forEach(function (g) { + let y = e.edge(g); + V.info('Edge ' + g.v + ' -> ' + g.w + ': ' + JSON.stringify(y), y), + y.points.forEach((x) => (x.y += m / 2)); + let v = PE(h, g, y, tr, r, e, n); + OE(y, v); + }), + e.nodes().forEach(function (g) { + let y = e.node(g); + V.info(g, y.type, y.diff), y.type === 'group' && (p = y.diff); + }), + { elem: l, diff: p } + ); + }, 'recursiveRender')), + (tfe = o(async (t, e, r, n, i) => { + LE(t, r, n, i), + Fj(), + Jhe(), + qhe(), + Bhe(), + V.warn('Graph at first:', JSON.stringify(zn(e))), + Ghe(e), + V.warn('Graph after:', JSON.stringify(zn(e))); + let a = de(); + await efe(t, e, n, i, void 0, a); + }, 'render')); + }); + function nfe(t) { + let e; + switch (t) { + case 0: + e = 'aggregation'; + break; + case 1: + e = 'extension'; + break; + case 2: + e = 'composition'; + break; + case 3: + e = 'dependency'; + break; + case 4: + e = 'lollipop'; + break; + default: + e = 'none'; + } + return e; + } + var NO, + RO, + fVe, + ife, + dVe, + pVe, + mVe, + gVe, + afe, + sfe = R(() => { + 'use strict'; + Zt(); + ya(); + ut(); + _t(); + rfe(); + xr(); + xr(); + Yn(); + rr(); + (NO = o((t) => We.sanitizeText(t, de()), 'sanitizeText')), + (RO = { dividerMargin: 10, padding: 5, textHeight: 10, curve: void 0 }), + (fVe = o(function (t, e, r, n) { + V.info('keys:', [...t.keys()]), + V.info(t), + t.forEach(function (i) { + let s = { + shape: 'rect', + id: i.id, + domId: i.domId, + labelText: NO(i.id), + labelStyle: '', + style: 'fill: none; stroke: black', + padding: de().flowchart?.padding ?? de().class?.padding + }; + e.setNode(i.id, s), ife(i.classes, e, r, n, i.id), V.info('setNode', s); + }); + }, 'addNamespaces')), + (ife = o(function (t, e, r, n, i) { + V.info('keys:', [...t.keys()]), + V.info(t), + [...t.values()] + .filter((a) => a.parent === i) + .forEach(function (a) { + let s = a.cssClasses.join(' '), + l = lm(a.styles), + u = a.label ?? a.id, + h = 0, + d = { + labelStyle: l.labelStyle, + shape: 'class_box', + labelText: NO(u), + classData: a, + rx: h, + ry: h, + class: s, + style: l.style, + id: a.id, + domId: a.domId, + tooltip: n.db.getTooltip(a.id, i) || '', + haveCallback: a.haveCallback, + link: a.link, + width: a.type === 'group' ? 500 : void 0, + type: a.type, + padding: de().flowchart?.padding ?? de().class?.padding + }; + e.setNode(a.id, d), i && e.setParent(a.id, i), V.info('setNode', d); + }); + }, 'addClasses')), + (dVe = o(function (t, e, r, n) { + V.info(t), + t.forEach(function (i, a) { + let s = i, + l = '', + u = { labelStyle: '', style: '' }, + h = s.text, + f = 0, + p = { + labelStyle: u.labelStyle, + shape: 'note', + labelText: NO(h), + noteData: s, + rx: f, + ry: f, + class: l, + style: u.style, + id: s.id, + domId: s.id, + tooltip: '', + type: 'note', + padding: de().flowchart?.padding ?? de().class?.padding + }; + if ((e.setNode(s.id, p), V.info('setNode', p), !s.class || !n.has(s.class))) return; + let m = r + a, + g = { + id: `edgeNote${m}`, + classes: 'relation', + pattern: 'dotted', + arrowhead: 'none', + startLabelRight: '', + endLabelLeft: '', + arrowTypeStart: 'none', + arrowTypeEnd: 'none', + style: 'fill:none', + labelStyle: '', + curve: om(RO.curve, xu) + }; + e.setEdge(s.id, s.class, g, m); + }); + }, 'addNotes')), + (pVe = o(function (t, e) { + let r = de().flowchart, + n = 0; + t.forEach(function (i) { + n++; + let a = { + classes: 'relation', + pattern: i.relation.lineType == 1 ? 'dashed' : 'solid', + id: y5(i.id1, i.id2, { prefix: 'id', counter: n }), + arrowhead: i.type === 'arrow_open' ? 'none' : 'normal', + startLabelRight: i.relationTitle1 === 'none' ? '' : i.relationTitle1, + endLabelLeft: i.relationTitle2 === 'none' ? '' : i.relationTitle2, + arrowTypeStart: nfe(i.relation.type1), + arrowTypeEnd: nfe(i.relation.type2), + style: 'fill:none', + labelStyle: '', + curve: om(r?.curve, xu) + }; + if ((V.info(a, i), i.style !== void 0)) { + let s = lm(i.style); + (a.style = s.style), (a.labelStyle = s.labelStyle); + } + (i.text = i.title), + i.text === void 0 + ? i.style !== void 0 && (a.arrowheadStyle = 'fill: #333') + : ((a.arrowheadStyle = 'fill: #333'), + (a.labelpos = 'c'), + de().flowchart?.htmlLabels ?? de().htmlLabels + ? ((a.labelType = 'html'), + (a.label = '' + i.text + '')) + : ((a.labelType = 'text'), + (a.label = i.text.replace( + We.lineBreakRegex, + ` +` + )), + i.style === void 0 && + (a.style = a.style || 'stroke: #333; stroke-width: 1.5px;fill:none'), + (a.labelStyle = a.labelStyle.replace('color:', 'fill:')))), + e.setEdge(i.id1, i.id2, a, n); + }); + }, 'addRelations')), + (mVe = o(function (t) { + RO = { ...RO, ...t }; + }, 'setConf')), + (gVe = o(async function (t, e, r, n) { + V.info('Drawing class - ', e); + let i = de().flowchart ?? de().class, + a = de().securityLevel; + V.info('config:', i); + let s = i?.nodeSpacing ?? 50, + l = i?.rankSpacing ?? 50, + u = new lr({ multigraph: !0, compound: !0 }) + .setGraph({ + rankdir: n.db.getDirection(), + nodesep: s, + ranksep: l, + marginx: 8, + marginy: 8 + }) + .setDefaultEdgeLabel(function () { + return {}; + }), + h = n.db.getNamespaces(), + f = n.db.getClasses(), + d = n.db.getRelations(), + p = n.db.getNotes(); + V.info(d), fVe(h, u, e, n), ife(f, u, e, n), pVe(d, u), dVe(p, u, d.length + 1, f); + let m; + a === 'sandbox' && (m = $e('#i' + e)); + let g = a === 'sandbox' ? $e(m.nodes()[0].contentDocument.body) : $e('body'), + y = g.select(`[id="${e}"]`), + v = g.select('#' + e + ' g'); + if ( + (await tfe( + v, + u, + ['aggregation', 'extension', 'composition', 'dependency', 'lollipop'], + 'classDiagram', + e + ), + Lt.insertTitle(y, 'classTitleText', i?.titleTopMargin ?? 5, n.db.getDiagramTitle()), + Lo(u, y, i?.diagramPadding, i?.useMaxWidth), + !i?.htmlLabels) + ) { + let x = a === 'sandbox' ? m.nodes()[0].contentDocument : document, + b = x.querySelectorAll('[id="' + e + '"] .edgeLabel .label'); + for (let w of b) { + let S = w.getBBox(), + T = x.createElementNS('http://www.w3.org/2000/svg', 'rect'); + T.setAttribute('rx', 0), + T.setAttribute('ry', 0), + T.setAttribute('width', S.width), + T.setAttribute('height', S.height), + w.insertBefore(T, w.firstChild); + } + } + }, 'draw')); + o(nfe, 'getArrowMarker'); + afe = { setConf: mVe, draw: gVe }; + }); + var ofe = {}; + hr(ofe, { diagram: () => yVe }); + var yVe, + lfe = R(() => { + 'use strict'; + TO(); + AO(); + _O(); + sfe(); + yVe = { + parser: wE, + db: Bg, + renderer: afe, + styles: CE, + init: o((t) => { + t.class || (t.class = {}), (t.class.arrowMarkerAbsolute = t.arrowMarkerAbsolute), Bg.clear(); + }, 'init') + }; + }); + var MO, + BE, + IO = R(() => { + 'use strict'; + MO = (function () { + var t = o(function (F, B, $, z) { + for ($ = $ || {}, z = F.length; z--; $[F[z]] = B); + return $; + }, 'o'), + e = [1, 2], + r = [1, 3], + n = [1, 4], + i = [2, 4], + a = [1, 9], + s = [1, 11], + l = [1, 16], + u = [1, 17], + h = [1, 18], + f = [1, 19], + d = [1, 32], + p = [1, 20], + m = [1, 21], + g = [1, 22], + y = [1, 23], + v = [1, 24], + x = [1, 26], + b = [1, 27], + w = [1, 28], + S = [1, 29], + T = [1, 30], + E = [1, 31], + _ = [1, 34], + A = [1, 35], + L = [1, 36], + M = [1, 37], + N = [1, 33], + k = [ + 1, 4, 5, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 45, 48, 49, 50, 51, 54 + ], + I = [ + 1, 4, 5, 14, 15, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 45, 48, 49, 50, + 51, 54 + ], + C = [4, 5, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 45, 48, 49, 50, 51, 54], + O = { + trace: o(function () {}, 'trace'), + yy: {}, + symbols_: { + error: 2, + start: 3, + SPACE: 4, + NL: 5, + SD: 6, + document: 7, + line: 8, + statement: 9, + classDefStatement: 10, + styleStatement: 11, + cssClassStatement: 12, + idStatement: 13, + DESCR: 14, + '-->': 15, + HIDE_EMPTY: 16, + scale: 17, + WIDTH: 18, + COMPOSIT_STATE: 19, + STRUCT_START: 20, + STRUCT_STOP: 21, + STATE_DESCR: 22, + AS: 23, + ID: 24, + FORK: 25, + JOIN: 26, + CHOICE: 27, + CONCURRENT: 28, + note: 29, + notePosition: 30, + NOTE_TEXT: 31, + direction: 32, + acc_title: 33, + acc_title_value: 34, + acc_descr: 35, + acc_descr_value: 36, + acc_descr_multiline_value: 37, + classDef: 38, + CLASSDEF_ID: 39, + CLASSDEF_STYLEOPTS: 40, + DEFAULT: 41, + style: 42, + STYLE_IDS: 43, + STYLEDEF_STYLEOPTS: 44, + class: 45, + CLASSENTITY_IDS: 46, + STYLECLASS: 47, + direction_tb: 48, + direction_bt: 49, + direction_rl: 50, + direction_lr: 51, + eol: 52, + ';': 53, + EDGE_STATE: 54, + STYLE_SEPARATOR: 55, + left_of: 56, + right_of: 57, + $accept: 0, + $end: 1 + }, + terminals_: { + 2: 'error', + 4: 'SPACE', + 5: 'NL', + 6: 'SD', + 14: 'DESCR', + 15: '-->', + 16: 'HIDE_EMPTY', + 17: 'scale', + 18: 'WIDTH', + 19: 'COMPOSIT_STATE', + 20: 'STRUCT_START', + 21: 'STRUCT_STOP', + 22: 'STATE_DESCR', + 23: 'AS', + 24: 'ID', + 25: 'FORK', + 26: 'JOIN', + 27: 'CHOICE', + 28: 'CONCURRENT', + 29: 'note', + 31: 'NOTE_TEXT', + 33: 'acc_title', + 34: 'acc_title_value', + 35: 'acc_descr', + 36: 'acc_descr_value', + 37: 'acc_descr_multiline_value', + 38: 'classDef', + 39: 'CLASSDEF_ID', + 40: 'CLASSDEF_STYLEOPTS', + 41: 'DEFAULT', + 42: 'style', + 43: 'STYLE_IDS', + 44: 'STYLEDEF_STYLEOPTS', + 45: 'class', + 46: 'CLASSENTITY_IDS', + 47: 'STYLECLASS', + 48: 'direction_tb', + 49: 'direction_bt', + 50: 'direction_rl', + 51: 'direction_lr', + 53: ';', + 54: 'EDGE_STATE', + 55: 'STYLE_SEPARATOR', + 56: 'left_of', + 57: 'right_of' + }, + productions_: [ + 0, + [3, 2], + [3, 2], + [3, 2], + [7, 0], + [7, 2], + [8, 2], + [8, 1], + [8, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 2], + [9, 3], + [9, 4], + [9, 1], + [9, 2], + [9, 1], + [9, 4], + [9, 3], + [9, 6], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 4], + [9, 4], + [9, 1], + [9, 2], + [9, 2], + [9, 1], + [10, 3], + [10, 3], + [11, 3], + [12, 3], + [32, 1], + [32, 1], + [32, 1], + [32, 1], + [52, 1], + [52, 1], + [13, 1], + [13, 1], + [13, 3], + [13, 3], + [30, 1], + [30, 1] + ], + performAction: o(function (B, $, z, Y, Q, X, ie) { + var j = X.length - 1; + switch (Q) { + case 3: + return Y.setRootDoc(X[j]), X[j]; + break; + case 4: + this.$ = []; + break; + case 5: + X[j] != 'nl' && (X[j - 1].push(X[j]), (this.$ = X[j - 1])); + break; + case 6: + case 7: + this.$ = X[j]; + break; + case 8: + this.$ = 'nl'; + break; + case 12: + this.$ = X[j]; + break; + case 13: + let q = X[j - 1]; + (q.description = Y.trimColon(X[j])), (this.$ = q); + break; + case 14: + this.$ = { stmt: 'relation', state1: X[j - 2], state2: X[j] }; + break; + case 15: + let K = Y.trimColon(X[j]); + this.$ = { + stmt: 'relation', + state1: X[j - 3], + state2: X[j - 1], + description: K + }; + break; + case 19: + this.$ = { + stmt: 'state', + id: X[j - 3], + type: 'default', + description: '', + doc: X[j - 1] + }; + break; + case 20: + var J = X[j], + Z = X[j - 2].trim(); + if (X[j].match(':')) { + var H = X[j].split(':'); + (J = H[0]), (Z = [Z, H[1]]); + } + this.$ = { + stmt: 'state', + id: J, + type: 'default', + description: Z + }; + break; + case 21: + this.$ = { + stmt: 'state', + id: X[j - 3], + type: 'default', + description: X[j - 5], + doc: X[j - 1] + }; + break; + case 22: + this.$ = { stmt: 'state', id: X[j], type: 'fork' }; + break; + case 23: + this.$ = { stmt: 'state', id: X[j], type: 'join' }; + break; + case 24: + this.$ = { stmt: 'state', id: X[j], type: 'choice' }; + break; + case 25: + this.$ = { + stmt: 'state', + id: Y.getDividerId(), + type: 'divider' + }; + break; + case 26: + this.$ = { + stmt: 'state', + id: X[j - 1].trim(), + note: { position: X[j - 2].trim(), text: X[j].trim() } + }; + break; + case 29: + (this.$ = X[j].trim()), Y.setAccTitle(this.$); + break; + case 30: + case 31: + (this.$ = X[j].trim()), Y.setAccDescription(this.$); + break; + case 32: + case 33: + this.$ = { + stmt: 'classDef', + id: X[j - 1].trim(), + classes: X[j].trim() + }; + break; + case 34: + this.$ = { + stmt: 'style', + id: X[j - 1].trim(), + styleClass: X[j].trim() + }; + break; + case 35: + this.$ = { + stmt: 'applyClass', + id: X[j - 1].trim(), + styleClass: X[j].trim() + }; + break; + case 36: + Y.setDirection('TB'), (this.$ = { stmt: 'dir', value: 'TB' }); + break; + case 37: + Y.setDirection('BT'), (this.$ = { stmt: 'dir', value: 'BT' }); + break; + case 38: + Y.setDirection('RL'), (this.$ = { stmt: 'dir', value: 'RL' }); + break; + case 39: + Y.setDirection('LR'), (this.$ = { stmt: 'dir', value: 'LR' }); + break; + case 42: + case 43: + this.$ = { + stmt: 'state', + id: X[j].trim(), + type: 'default', + description: '' + }; + break; + case 44: + this.$ = { + stmt: 'state', + id: X[j - 2].trim(), + classes: [X[j].trim()], + type: 'default', + description: '' + }; + break; + case 45: + this.$ = { + stmt: 'state', + id: X[j - 2].trim(), + classes: [X[j].trim()], + type: 'default', + description: '' + }; + break; + } + }, 'anonymous'), + table: [ + { 3: 1, 4: e, 5: r, 6: n }, + { 1: [3] }, + { 3: 5, 4: e, 5: r, 6: n }, + { 3: 6, 4: e, 5: r, 6: n }, + t( + [ + 1, 4, 5, 16, 17, 19, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 45, 48, 49, 50, + 51, 54 + ], + i, + { 7: 7 } + ), + { 1: [2, 1] }, + { 1: [2, 2] }, + { + 1: [2, 3], + 4: a, + 5: s, + 8: 8, + 9: 10, + 10: 12, + 11: 13, + 12: 14, + 13: 15, + 16: l, + 17: u, + 19: h, + 22: f, + 24: d, + 25: p, + 26: m, + 27: g, + 28: y, + 29: v, + 32: 25, + 33: x, + 35: b, + 37: w, + 38: S, + 42: T, + 45: E, + 48: _, + 49: A, + 50: L, + 51: M, + 54: N + }, + t(k, [2, 5]), + { + 9: 38, + 10: 12, + 11: 13, + 12: 14, + 13: 15, + 16: l, + 17: u, + 19: h, + 22: f, + 24: d, + 25: p, + 26: m, + 27: g, + 28: y, + 29: v, + 32: 25, + 33: x, + 35: b, + 37: w, + 38: S, + 42: T, + 45: E, + 48: _, + 49: A, + 50: L, + 51: M, + 54: N + }, + t(k, [2, 7]), + t(k, [2, 8]), + t(k, [2, 9]), + t(k, [2, 10]), + t(k, [2, 11]), + t(k, [2, 12], { 14: [1, 39], 15: [1, 40] }), + t(k, [2, 16]), + { 18: [1, 41] }, + t(k, [2, 18], { 20: [1, 42] }), + { 23: [1, 43] }, + t(k, [2, 22]), + t(k, [2, 23]), + t(k, [2, 24]), + t(k, [2, 25]), + { 30: 44, 31: [1, 45], 56: [1, 46], 57: [1, 47] }, + t(k, [2, 28]), + { 34: [1, 48] }, + { 36: [1, 49] }, + t(k, [2, 31]), + { 39: [1, 50], 41: [1, 51] }, + { 43: [1, 52] }, + { 46: [1, 53] }, + t(I, [2, 42], { 55: [1, 54] }), + t(I, [2, 43], { 55: [1, 55] }), + t(k, [2, 36]), + t(k, [2, 37]), + t(k, [2, 38]), + t(k, [2, 39]), + t(k, [2, 6]), + t(k, [2, 13]), + { 13: 56, 24: d, 54: N }, + t(k, [2, 17]), + t(C, i, { 7: 57 }), + { 24: [1, 58] }, + { 24: [1, 59] }, + { 23: [1, 60] }, + { 24: [2, 46] }, + { 24: [2, 47] }, + t(k, [2, 29]), + t(k, [2, 30]), + { 40: [1, 61] }, + { 40: [1, 62] }, + { 44: [1, 63] }, + { 47: [1, 64] }, + { 24: [1, 65] }, + { 24: [1, 66] }, + t(k, [2, 14], { 14: [1, 67] }), + { + 4: a, + 5: s, + 8: 8, + 9: 10, + 10: 12, + 11: 13, + 12: 14, + 13: 15, + 16: l, + 17: u, + 19: h, + 21: [1, 68], + 22: f, + 24: d, + 25: p, + 26: m, + 27: g, + 28: y, + 29: v, + 32: 25, + 33: x, + 35: b, + 37: w, + 38: S, + 42: T, + 45: E, + 48: _, + 49: A, + 50: L, + 51: M, + 54: N + }, + t(k, [2, 20], { 20: [1, 69] }), + { 31: [1, 70] }, + { 24: [1, 71] }, + t(k, [2, 32]), + t(k, [2, 33]), + t(k, [2, 34]), + t(k, [2, 35]), + t(I, [2, 44]), + t(I, [2, 45]), + t(k, [2, 15]), + t(k, [2, 19]), + t(C, i, { 7: 72 }), + t(k, [2, 26]), + t(k, [2, 27]), + { + 4: a, + 5: s, + 8: 8, + 9: 10, + 10: 12, + 11: 13, + 12: 14, + 13: 15, + 16: l, + 17: u, + 19: h, + 21: [1, 73], + 22: f, + 24: d, + 25: p, + 26: m, + 27: g, + 28: y, + 29: v, + 32: 25, + 33: x, + 35: b, + 37: w, + 38: S, + 42: T, + 45: E, + 48: _, + 49: A, + 50: L, + 51: M, + 54: N + }, + t(k, [2, 21]) + ], + defaultActions: { 5: [2, 1], 6: [2, 2], 46: [2, 46], 47: [2, 47] }, + parseError: o(function (B, $) { + if ($.recoverable) this.trace(B); + else { + var z = new Error(B); + throw ((z.hash = $), z); + } + }, 'parseError'), + parse: o(function (B) { + var $ = this, + z = [0], + Y = [], + Q = [null], + X = [], + ie = this.table, + j = '', + J = 0, + Z = 0, + H = 0, + q = 2, + K = 1, + se = X.slice.call(arguments, 1), + ce = Object.create(this.lexer), + ue = { yy: {} }; + for (var te in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, te) && (ue.yy[te] = this.yy[te]); + ce.setInput(B, ue.yy), + (ue.yy.lexer = ce), + (ue.yy.parser = this), + typeof ce.yylloc > 'u' && (ce.yylloc = {}); + var De = ce.yylloc; + X.push(De); + var oe = ce.options && ce.options.ranges; + typeof ue.yy.parseError == 'function' + ? (this.parseError = ue.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError); + function ke(we) { + (z.length = z.length - 2 * we), (Q.length = Q.length - we), (X.length = X.length - we); + } + o(ke, 'popStack'); + function Ie() { + var we; + return ( + (we = Y.pop() || ce.lex() || K), + typeof we != 'number' && + (we instanceof Array && ((Y = we), (we = Y.pop())), + (we = $.symbols_[we] || we)), + we + ); + } + o(Ie, 'lex'); + for (var Se, Ue, Pe, _e, me, W, fe = {}, ge, re, he, ne; ; ) { + if ( + ((Pe = z[z.length - 1]), + this.defaultActions[Pe] + ? (_e = this.defaultActions[Pe]) + : ((Se === null || typeof Se > 'u') && (Se = Ie()), + (_e = ie[Pe] && ie[Pe][Se])), + typeof _e > 'u' || !_e.length || !_e[0]) + ) { + var ae = ''; + ne = []; + for (ge in ie[Pe]) + this.terminals_[ge] && ge > q && ne.push("'" + this.terminals_[ge] + "'"); + ce.showPosition + ? (ae = + 'Parse error on line ' + + (J + 1) + + `: +` + + ce.showPosition() + + ` +Expecting ` + + ne.join(', ') + + ", got '" + + (this.terminals_[Se] || Se) + + "'") + : (ae = + 'Parse error on line ' + + (J + 1) + + ': Unexpected ' + + (Se == K ? 'end of input' : "'" + (this.terminals_[Se] || Se) + "'")), + this.parseError(ae, { + text: ce.match, + token: this.terminals_[Se] || Se, + line: ce.yylineno, + loc: De, + expected: ne + }); + } + if (_e[0] instanceof Array && _e.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + Pe + ', token: ' + Se + ); + switch (_e[0]) { + case 1: + z.push(Se), + Q.push(ce.yytext), + X.push(ce.yylloc), + z.push(_e[1]), + (Se = null), + Ue + ? ((Se = Ue), (Ue = null)) + : ((Z = ce.yyleng), + (j = ce.yytext), + (J = ce.yylineno), + (De = ce.yylloc), + H > 0 && H--); + break; + case 2: + if ( + ((re = this.productions_[_e[1]][1]), + (fe.$ = Q[Q.length - re]), + (fe._$ = { + first_line: X[X.length - (re || 1)].first_line, + last_line: X[X.length - 1].last_line, + first_column: X[X.length - (re || 1)].first_column, + last_column: X[X.length - 1].last_column + }), + oe && + (fe._$.range = [ + X[X.length - (re || 1)].range[0], + X[X.length - 1].range[1] + ]), + (W = this.performAction.apply( + fe, + [j, Z, J, ue.yy, _e[1], Q, X].concat(se) + )), + typeof W < 'u') + ) + return W; + re && + ((z = z.slice(0, -1 * re * 2)), + (Q = Q.slice(0, -1 * re)), + (X = X.slice(0, -1 * re))), + z.push(this.productions_[_e[1]][0]), + Q.push(fe.$), + X.push(fe._$), + (he = ie[z[z.length - 2]][z[z.length - 1]]), + z.push(he); + break; + case 3: + return !0; + } + } + return !0; + }, 'parse') + }, + D = (function () { + var F = { + EOF: 1, + parseError: o(function ($, z) { + if (this.yy.parser) this.yy.parser.parseError($, z); + else throw new Error($); + }, 'parseError'), + setInput: o(function (B, $) { + return ( + (this.yy = $ || this.yy || {}), + (this._input = B), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, 'setInput'), + input: o(function () { + var B = this._input[0]; + (this.yytext += B), + this.yyleng++, + this.offset++, + (this.match += B), + (this.matched += B); + var $ = B.match(/(?:\r\n?|\n).*/g); + return ( + $ ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + B + ); + }, 'input'), + unput: o(function (B) { + var $ = B.length, + z = B.split(/(?:\r\n?|\n)/g); + (this._input = B + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - $)), + (this.offset -= $); + var Y = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + z.length - 1 && (this.yylineno -= z.length - 1); + var Q = this.yylloc.range; + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: z + ? (z.length === Y.length ? this.yylloc.first_column : 0) + + Y[Y.length - z.length].length - + z[0].length + : this.yylloc.first_column - $ + }), + this.options.ranges && (this.yylloc.range = [Q[0], Q[0] + this.yyleng - $]), + (this.yyleng = this.yytext.length), + this + ); + }, 'unput'), + more: o(function () { + return (this._more = !0), this; + }, 'more'), + reject: o(function () { + if (this.options.backtrack_lexer) this._backtrack = !0; + else + return this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + return this; + }, 'reject'), + less: o(function (B) { + this.unput(this.match.slice(B)); + }, 'less'), + pastInput: o(function () { + var B = this.matched.substr(0, this.matched.length - this.match.length); + return (B.length > 20 ? '...' : '') + B.substr(-20).replace(/\n/g, ''); + }, 'pastInput'), + upcomingInput: o(function () { + var B = this.match; + return ( + B.length < 20 && (B += this._input.substr(0, 20 - B.length)), + (B.substr(0, 20) + (B.length > 20 ? '...' : '')).replace(/\n/g, '') + ); + }, 'upcomingInput'), + showPosition: o(function () { + var B = this.pastInput(), + $ = new Array(B.length + 1).join('-'); + return ( + B + + this.upcomingInput() + + ` +` + + $ + + '^' + ); + }, 'showPosition'), + test_match: o(function (B, $) { + var z, Y, Q; + if ( + (this.options.backtrack_lexer && + ((Q = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }), + this.options.ranges && (Q.yylloc.range = this.yylloc.range.slice(0))), + (Y = B[0].match(/(?:\r\n?|\n).*/g)), + Y && (this.yylineno += Y.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: Y + ? Y[Y.length - 1].length - Y[Y.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + B[0].length + }), + (this.yytext += B[0]), + (this.match += B[0]), + (this.matches = B), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(B[0].length)), + (this.matched += B[0]), + (z = this.performAction.call( + this, + this.yy, + this, + $, + this.conditionStack[this.conditionStack.length - 1] + )), + this.done && this._input && (this.done = !1), + z) + ) + return z; + if (this._backtrack) { + for (var X in Q) this[X] = Q[X]; + return !1; + } + return !1; + }, 'test_match'), + next: o(function () { + if (this.done) return this.EOF; + this._input || (this.done = !0); + var B, $, z, Y; + this._more || ((this.yytext = ''), (this.match = '')); + for (var Q = this._currentRules(), X = 0; X < Q.length; X++) + if ( + ((z = this._input.match(this.rules[Q[X]])), + z && (!$ || z[0].length > $[0].length)) + ) { + if ((($ = z), (Y = X), this.options.backtrack_lexer)) { + if (((B = this.test_match(z, Q[X])), B !== !1)) return B; + if (this._backtrack) { + $ = !1; + continue; + } else return !1; + } else if (!this.options.flex) break; + } + return $ + ? ((B = this.test_match($, Q[Y])), B !== !1 ? B : !1) + : this._input === '' + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, 'next'), + lex: o(function () { + var $ = this.next(); + return $ || this.lex(); + }, 'lex'), + begin: o(function ($) { + this.conditionStack.push($); + }, 'begin'), + popState: o(function () { + var $ = this.conditionStack.length - 1; + return $ > 0 ? this.conditionStack.pop() : this.conditionStack[0]; + }, 'popState'), + _currentRules: o(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules; + }, '_currentRules'), + topState: o(function ($) { + return ( + ($ = this.conditionStack.length - 1 - Math.abs($ || 0)), + $ >= 0 ? this.conditionStack[$] : 'INITIAL' + ); + }, 'topState'), + pushState: o(function ($) { + this.begin($); + }, 'pushState'), + stateStackSize: o(function () { + return this.conditionStack.length; + }, 'stateStackSize'), + options: { 'case-insensitive': !0 }, + performAction: o(function ($, z, Y, Q) { + var X = Q; + switch (Y) { + case 0: + return 41; + case 1: + return 48; + case 2: + return 49; + case 3: + return 50; + case 4: + return 51; + case 5: + break; + case 6: + break; + case 7: + return 5; + case 8: + break; + case 9: + break; + case 10: + break; + case 11: + break; + case 12: + return this.pushState('SCALE'), 17; + break; + case 13: + return 18; + case 14: + this.popState(); + break; + case 15: + return this.begin('acc_title'), 33; + break; + case 16: + return this.popState(), 'acc_title_value'; + break; + case 17: + return this.begin('acc_descr'), 35; + break; + case 18: + return this.popState(), 'acc_descr_value'; + break; + case 19: + this.begin('acc_descr_multiline'); + break; + case 20: + this.popState(); + break; + case 21: + return 'acc_descr_multiline_value'; + case 22: + return this.pushState('CLASSDEF'), 38; + break; + case 23: + return this.popState(), this.pushState('CLASSDEFID'), 'DEFAULT_CLASSDEF_ID'; + break; + case 24: + return this.popState(), this.pushState('CLASSDEFID'), 39; + break; + case 25: + return this.popState(), 40; + break; + case 26: + return this.pushState('CLASS'), 45; + break; + case 27: + return this.popState(), this.pushState('CLASS_STYLE'), 46; + break; + case 28: + return this.popState(), 47; + break; + case 29: + return this.pushState('STYLE'), 42; + break; + case 30: + return this.popState(), this.pushState('STYLEDEF_STYLES'), 43; + break; + case 31: + return this.popState(), 44; + break; + case 32: + return this.pushState('SCALE'), 17; + break; + case 33: + return 18; + case 34: + this.popState(); + break; + case 35: + this.pushState('STATE'); + break; + case 36: + return this.popState(), (z.yytext = z.yytext.slice(0, -8).trim()), 25; + break; + case 37: + return this.popState(), (z.yytext = z.yytext.slice(0, -8).trim()), 26; + break; + case 38: + return this.popState(), (z.yytext = z.yytext.slice(0, -10).trim()), 27; + break; + case 39: + return this.popState(), (z.yytext = z.yytext.slice(0, -8).trim()), 25; + break; + case 40: + return this.popState(), (z.yytext = z.yytext.slice(0, -8).trim()), 26; + break; + case 41: + return this.popState(), (z.yytext = z.yytext.slice(0, -10).trim()), 27; + break; + case 42: + return 48; + case 43: + return 49; + case 44: + return 50; + case 45: + return 51; + case 46: + this.pushState('STATE_STRING'); + break; + case 47: + return this.pushState('STATE_ID'), 'AS'; + break; + case 48: + return this.popState(), 'ID'; + break; + case 49: + this.popState(); + break; + case 50: + return 'STATE_DESCR'; + case 51: + return 19; + case 52: + this.popState(); + break; + case 53: + return this.popState(), this.pushState('struct'), 20; + break; + case 54: + break; + case 55: + return this.popState(), 21; + break; + case 56: + break; + case 57: + return this.begin('NOTE'), 29; + break; + case 58: + return this.popState(), this.pushState('NOTE_ID'), 56; + break; + case 59: + return this.popState(), this.pushState('NOTE_ID'), 57; + break; + case 60: + this.popState(), this.pushState('FLOATING_NOTE'); + break; + case 61: + return this.popState(), this.pushState('FLOATING_NOTE_ID'), 'AS'; + break; + case 62: + break; + case 63: + return 'NOTE_TEXT'; + case 64: + return this.popState(), 'ID'; + break; + case 65: + return this.popState(), this.pushState('NOTE_TEXT'), 24; + break; + case 66: + return this.popState(), (z.yytext = z.yytext.substr(2).trim()), 31; + break; + case 67: + return this.popState(), (z.yytext = z.yytext.slice(0, -8).trim()), 31; + break; + case 68: + return 6; + case 69: + return 6; + case 70: + return 16; + case 71: + return 54; + case 72: + return 24; + case 73: + return (z.yytext = z.yytext.trim()), 14; + break; + case 74: + return 15; + case 75: + return 28; + case 76: + return 55; + case 77: + return 5; + case 78: + return 'INVALID'; + } + }, 'anonymous'), + rules: [ + /^(?:default\b)/i, + /^(?:.*direction\s+TB[^\n]*)/i, + /^(?:.*direction\s+BT[^\n]*)/i, + /^(?:.*direction\s+RL[^\n]*)/i, + /^(?:.*direction\s+LR[^\n]*)/i, + /^(?:%%(?!\{)[^\n]*)/i, + /^(?:[^\}]%%[^\n]*)/i, + /^(?:[\n]+)/i, + /^(?:[\s]+)/i, + /^(?:((?!\n)\s)+)/i, + /^(?:#[^\n]*)/i, + /^(?:%[^\n]*)/i, + /^(?:scale\s+)/i, + /^(?:\d+)/i, + /^(?:\s+width\b)/i, + /^(?:accTitle\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*\{\s*)/i, + /^(?:[\}])/i, + /^(?:[^\}]*)/i, + /^(?:classDef\s+)/i, + /^(?:DEFAULT\s+)/i, + /^(?:\w+\s+)/i, + /^(?:[^\n]*)/i, + /^(?:class\s+)/i, + /^(?:(\w+)+((,\s*\w+)*))/i, + /^(?:[^\n]*)/i, + /^(?:style\s+)/i, + /^(?:[\w,]+\s+)/i, + /^(?:[^\n]*)/i, + /^(?:scale\s+)/i, + /^(?:\d+)/i, + /^(?:\s+width\b)/i, + /^(?:state\s+)/i, + /^(?:.*<>)/i, + /^(?:.*<>)/i, + /^(?:.*<>)/i, + /^(?:.*\[\[fork\]\])/i, + /^(?:.*\[\[join\]\])/i, + /^(?:.*\[\[choice\]\])/i, + /^(?:.*direction\s+TB[^\n]*)/i, + /^(?:.*direction\s+BT[^\n]*)/i, + /^(?:.*direction\s+RL[^\n]*)/i, + /^(?:.*direction\s+LR[^\n]*)/i, + /^(?:["])/i, + /^(?:\s*as\s+)/i, + /^(?:[^\n\{]*)/i, + /^(?:["])/i, + /^(?:[^"]*)/i, + /^(?:[^\n\s\{]+)/i, + /^(?:\n)/i, + /^(?:\{)/i, + /^(?:%%(?!\{)[^\n]*)/i, + /^(?:\})/i, + /^(?:[\n])/i, + /^(?:note\s+)/i, + /^(?:left of\b)/i, + /^(?:right of\b)/i, + /^(?:")/i, + /^(?:\s*as\s*)/i, + /^(?:["])/i, + /^(?:[^"]*)/i, + /^(?:[^\n]*)/i, + /^(?:\s*[^:\n\s\-]+)/i, + /^(?:\s*:[^:\n;]+)/i, + /^(?:[\s\S]*?end note\b)/i, + /^(?:stateDiagram\s+)/i, + /^(?:stateDiagram-v2\s+)/i, + /^(?:hide empty description\b)/i, + /^(?:\[\*\])/i, + /^(?:[^:\n\s\-\{]+)/i, + /^(?:\s*:[^:\n;]+)/i, + /^(?:-->)/i, + /^(?:--)/i, + /^(?::::)/i, + /^(?:$)/i, + /^(?:.)/i + ], + conditions: { + LINE: { rules: [9, 10], inclusive: !1 }, + struct: { + rules: [9, 10, 22, 26, 29, 35, 42, 43, 44, 45, 54, 55, 56, 57, 71, 72, 73, 74, 75], + inclusive: !1 + }, + FLOATING_NOTE_ID: { rules: [64], inclusive: !1 }, + FLOATING_NOTE: { rules: [61, 62, 63], inclusive: !1 }, + NOTE_TEXT: { rules: [66, 67], inclusive: !1 }, + NOTE_ID: { rules: [65], inclusive: !1 }, + NOTE: { rules: [58, 59, 60], inclusive: !1 }, + STYLEDEF_STYLEOPTS: { rules: [], inclusive: !1 }, + STYLEDEF_STYLES: { rules: [31], inclusive: !1 }, + STYLE_IDS: { rules: [], inclusive: !1 }, + STYLE: { rules: [30], inclusive: !1 }, + CLASS_STYLE: { rules: [28], inclusive: !1 }, + CLASS: { rules: [27], inclusive: !1 }, + CLASSDEFID: { rules: [25], inclusive: !1 }, + CLASSDEF: { rules: [23, 24], inclusive: !1 }, + acc_descr_multiline: { rules: [20, 21], inclusive: !1 }, + acc_descr: { rules: [18], inclusive: !1 }, + acc_title: { rules: [16], inclusive: !1 }, + SCALE: { rules: [13, 14, 33, 34], inclusive: !1 }, + ALIAS: { rules: [], inclusive: !1 }, + STATE_ID: { rules: [48], inclusive: !1 }, + STATE_STRING: { rules: [49, 50], inclusive: !1 }, + FORK_STATE: { rules: [], inclusive: !1 }, + STATE: { + rules: [9, 10, 36, 37, 38, 39, 40, 41, 46, 47, 51, 52, 53], + inclusive: !1 + }, + ID: { rules: [9, 10], inclusive: !1 }, + INITIAL: { + rules: [ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 15, 17, 19, 22, 26, 29, 32, 35, 53, 57, + 68, 69, 70, 71, 72, 73, 74, 76, 77, 78 + ], + inclusive: !0 + } + } + }; + return F; + })(); + O.lexer = D; + function P() { + this.yy = {}; + } + return o(P, 'Parser'), (P.prototype = O), (O.Parser = P), new P(); + })(); + MO.parser = MO; + BE = MO; + }); + var hfe, + FE, + zg, + Ex, + ffe, + dfe, + pfe, + N0, + zE, + OO, + PO, + BO, + FO, + zO, + GE, + $E, + mfe, + gfe, + GO, + $O, + yfe, + vfe, + Gg, + wVe, + xfe, + VO, + TVe, + kVe, + bfe, + wfe, + EVe, + Tfe, + CVe, + kfe, + UO, + HO, + Efe, + VE, + Cfe, + YO, + UE = R(() => { + 'use strict'; + (hfe = 'LR'), + (FE = 'TB'), + (zg = 'state'), + (Ex = 'relation'), + (ffe = 'classDef'), + (dfe = 'style'), + (pfe = 'applyClass'), + (N0 = 'default'), + (zE = 'divider'), + (OO = 'fill:none'), + (PO = 'fill: #333'), + (BO = 'c'), + (FO = 'text'), + (zO = 'normal'), + (GE = 'rect'), + ($E = 'rectWithTitle'), + (mfe = 'stateStart'), + (gfe = 'stateEnd'), + (GO = 'divider'), + ($O = 'roundedWithTitle'), + (yfe = 'note'), + (vfe = 'noteGroup'), + (Gg = 'statediagram'), + (wVe = 'state'), + (xfe = `${Gg}-${wVe}`), + (VO = 'transition'), + (TVe = 'note'), + (kVe = 'note-edge'), + (bfe = `${VO} ${kVe}`), + (wfe = `${Gg}-${TVe}`), + (EVe = 'cluster'), + (Tfe = `${Gg}-${EVe}`), + (CVe = 'cluster-alt'), + (kfe = `${Gg}-${CVe}`), + (UO = 'parent'), + (HO = 'note'), + (Efe = 'state'), + (VE = '----'), + (Cfe = `${VE}${HO}`), + (YO = `${VE}${UO}`); + }); + function WO(t = '', e = 0, r = '', n = VE) { + let i = r !== null && r.length > 0 ? `${n}${r}` : ''; + return `${Efe}-${t}${i}-${e}`; + } + function HE(t, e, r) { + if (!e.id || e.id === '' || e.id === '') return; + e.cssClasses && + (Array.isArray(e.cssCompiledStyles) || (e.cssCompiledStyles = []), + e.cssClasses.split(' ').forEach((i) => { + if (r.get(i)) { + let a = r.get(i); + e.cssCompiledStyles = [...e.cssCompiledStyles, ...a.styles]; + } + })); + let n = t.find((i) => i.id === e.id); + n ? Object.assign(n, e) : t.push(e); + } + function AVe(t) { + return t?.classes?.join(' ') ?? ''; + } + function _Ve(t) { + return t?.styles ?? []; + } + var YE, + yf, + SVe, + Sfe, + $g, + Afe, + _fe = R(() => { + 'use strict'; + _t(); + ut(); + rr(); + UE(); + (YE = new Map()), (yf = 0); + o(WO, 'stateDomId'); + (SVe = o((t, e, r, n, i, a, s, l) => { + V.trace('items', e), + e.forEach((u) => { + switch (u.stmt) { + case zg: + $g(t, u, r, n, i, a, s, l); + break; + case N0: + $g(t, u, r, n, i, a, s, l); + break; + case Ex: + { + $g(t, u.state1, r, n, i, a, s, l), $g(t, u.state2, r, n, i, a, s, l); + let h = { + id: 'edge' + yf, + start: u.state1.id, + end: u.state2.id, + arrowhead: 'normal', + arrowTypeEnd: 'arrow_barb', + style: OO, + labelStyle: '', + label: We.sanitizeText(u.description, de()), + arrowheadStyle: PO, + labelpos: BO, + labelType: FO, + thickness: zO, + classes: VO, + look: s + }; + i.push(h), yf++; + } + break; + } + }); + }, 'setupDoc')), + (Sfe = o((t, e = FE) => { + let r = e; + if (t.doc) for (let n of t.doc) n.stmt === 'dir' && (r = n.value); + return r; + }, 'getDir')); + o(HE, 'insertOrUpdateNode'); + o(AVe, 'getClassesFromDbInfo'); + o(_Ve, 'getStylesFromDbInfo'); + ($g = o((t, e, r, n, i, a, s, l) => { + let u = e.id, + h = r.get(u), + f = AVe(h), + d = _Ve(h); + if ((V.info('dataFetcher parsedItem', e, h, d), u !== 'root')) { + let p = GE; + e.start === !0 ? (p = mfe) : e.start === !1 && (p = gfe), + e.type !== N0 && (p = e.type), + YE.get(u) || + YE.set(u, { + id: u, + shape: p, + description: We.sanitizeText(u, de()), + cssClasses: `${f} ${xfe}`, + cssStyles: d + }); + let m = YE.get(u); + e.description && + (Array.isArray(m.description) + ? ((m.shape = $E), m.description.push(e.description)) + : m.description?.length > 0 + ? ((m.shape = $E), + m.description === u + ? (m.description = [e.description]) + : (m.description = [m.description, e.description])) + : ((m.shape = GE), (m.description = e.description)), + (m.description = We.sanitizeTextOrArray(m.description, de()))), + m.description?.length === 1 && + m.shape === $E && + (m.type === 'group' ? (m.shape = $O) : (m.shape = GE)), + !m.type && + e.doc && + (V.info('Setting cluster for XCX', u, Sfe(e)), + (m.type = 'group'), + (m.isGroup = !0), + (m.dir = Sfe(e)), + (m.shape = e.type === zE ? GO : $O), + (m.cssClasses = `${m.cssClasses} ${Tfe} ${a ? kfe : ''}`)); + let g = { + labelStyle: '', + shape: m.shape, + label: m.description, + cssClasses: m.cssClasses, + cssCompiledStyles: [], + cssStyles: m.cssStyles, + id: u, + dir: m.dir, + domId: WO(u, yf), + type: m.type, + isGroup: m.type === 'group', + padding: 8, + rx: 10, + ry: 10, + look: s + }; + if ( + (g.shape === GO && (g.label = ''), + t && + t.id !== 'root' && + (V.trace('Setting node ', u, ' to be child of its parent ', t.id), (g.parentId = t.id)), + (g.centerLabel = !0), + e.note) + ) { + let y = { + labelStyle: '', + shape: yfe, + label: e.note.text, + cssClasses: wfe, + cssStyles: [], + cssCompilesStyles: [], + id: u + Cfe + '-' + yf, + domId: WO(u, yf, HO), + type: m.type, + isGroup: m.type === 'group', + padding: de().flowchart.padding, + look: s, + position: e.note.position + }, + v = u + YO, + x = { + labelStyle: '', + shape: vfe, + label: e.note.text, + cssClasses: m.cssClasses, + cssStyles: [], + id: u + YO, + domId: WO(u, yf, UO), + type: 'group', + isGroup: !0, + padding: 16, + look: s, + position: e.note.position + }; + yf++, (x.id = v), (y.parentId = v), HE(n, x, l), HE(n, y, l), HE(n, g, l); + let b = u, + w = y.id; + e.note.position === 'left of' && ((b = y.id), (w = u)), + i.push({ + id: b + '-' + w, + start: b, + end: w, + arrowhead: 'none', + arrowTypeEnd: '', + style: OO, + labelStyle: '', + classes: bfe, + arrowheadStyle: PO, + labelpos: BO, + labelType: FO, + thickness: zO, + look: s + }); + } else HE(n, g, l); + } + e.doc && (V.trace('Adding nodes children '), SVe(e, e.doc, r, n, i, !a, s, l)); + }, 'dataFetcher')), + (Afe = o(() => { + YE.clear(), (yf = 0); + }, 'reset')); + }); + var qO, + LVe, + DVe, + Lfe, + XO = R(() => { + 'use strict'; + _t(); + ut(); + L9(); + oT(); + yD(); + xr(); + UE(); + (qO = o((t, e = FE) => { + if (!t.doc) return e; + let r = e; + for (let n of t.doc) n.stmt === 'dir' && (r = n.value); + return r; + }, 'getDir')), + (LVe = o(function (t, e) { + return e.db.extract(e.db.getRootDocV2()), e.db.getClasses(); + }, 'getClasses')), + (DVe = o(async function (t, e, r, n) { + V.info('REF0:'), V.info('Drawing state diagram (v2)', e); + let { securityLevel: i, state: a, layout: s } = de(); + n.db.extract(n.db.getRootDocV2()); + let l = n.db.getData(), + u = I5(e, i); + (l.type = n.type), + (l.layoutAlgorithm = s), + (l.nodeSpacing = a?.nodeSpacing || 50), + (l.rankSpacing = a?.rankSpacing || 50), + (l.markers = ['barb']), + (l.diagramId = e), + await sT(l, u); + let h = 8; + Lt.insertTitle(u, 'statediagramTitleText', a?.titleTopMargin ?? 25, n.db.getDiagramTitle()), + lT(u, h, Gg, a?.useMaxWidth ?? !0); + }, 'draw')), + (Lfe = { getClasses: LVe, draw: DVe, getDir: qO }); + }); + function Pfe() { + return new Map(); + } + function jO(t = '') { + let e = t; + return t === ZO && (Cx++, (e = `${Mfe}${Cx}`)), e; + } + function KO(t = '', e = N0) { + return t === ZO ? Mfe : e; + } + function GVe(t = '') { + let e = t; + return t === Ife && (Cx++, (e = `${Ofe}${Cx}`)), e; + } + function $Ve(t = '', e = N0) { + return t === Ife ? Ofe : e; + } + function VVe(t, e, r) { + let n = jO(t.id.trim()), + i = KO(t.id.trim(), t.type), + a = jO(e.id.trim()), + s = KO(e.id.trim(), e.type); + vf(n, i, t.doc, t.description, t.note, t.classes, t.styles, t.textStyles), + vf(a, s, e.doc, e.description, e.note, e.classes, e.styles, e.textStyles), + Fs.relations.push({ + id1: n, + id2: a, + relationTitle: We.sanitizeText(r, de()) + }); + } + var ZO, + Mfe, + Ife, + Ofe, + Dfe, + Rfe, + RVe, + NVe, + XE, + JO, + Bfe, + jE, + Vg, + Ffe, + KE, + Fs, + Cx, + Nfe, + MVe, + IVe, + WE, + OVe, + PVe, + qE, + eP, + BVe, + vf, + zfe, + M0, + Gfe, + FVe, + zVe, + $fe, + QO, + UVe, + HVe, + Vfe, + YVe, + tP, + WVe, + qVe, + XVe, + jVe, + KVe, + QVe, + Qo, + QE = R(() => { + 'use strict'; + ut(); + xr(); + rr(); + _t(); + bi(); + _fe(); + XO(); + UE(); + (ZO = '[*]'), + (Mfe = 'start'), + (Ife = ZO), + (Ofe = 'end'), + (Dfe = 'color'), + (Rfe = 'fill'), + (RVe = 'bgFill'), + (NVe = ','); + o(Pfe, 'newClassesList'); + (XE = []), + (JO = []), + (Bfe = hfe), + (jE = []), + (Vg = Pfe()), + (Ffe = o(() => ({ relations: [], states: new Map(), documents: {} }), 'newDoc')), + (KE = { root: Ffe() }), + (Fs = KE.root), + (Cx = 0), + (Nfe = 0), + (MVe = { LINE: 0, DOTTED_LINE: 1 }), + (IVe = { AGGREGATION: 0, EXTENSION: 1, COMPOSITION: 2, DEPENDENCY: 3 }), + (WE = o((t) => JSON.parse(JSON.stringify(t)), 'clone')), + (OVe = o((t) => { + V.info('Setting root doc', t), (jE = t); + }, 'setRootDoc')), + (PVe = o(() => jE, 'getRootDoc')), + (qE = o((t, e, r) => { + if (e.stmt === Ex) qE(t, e.state1, !0), qE(t, e.state2, !1); + else if ( + (e.stmt === zg && + (e.id === '[*]' + ? ((e.id = r ? t.id + '_start' : t.id + '_end'), (e.start = r)) + : (e.id = e.id.trim())), + e.doc) + ) { + let n = [], + i = [], + a; + for (a = 0; a < e.doc.length; a++) + if (e.doc[a].type === zE) { + let s = WE(e.doc[a]); + (s.doc = WE(i)), n.push(s), (i = []); + } else i.push(e.doc[a]); + if (n.length > 0 && i.length > 0) { + let s = { stmt: zg, id: Z_(), type: 'divider', doc: WE(i) }; + n.push(WE(s)), (e.doc = n); + } + e.doc.forEach((s) => qE(e, s, !0)); + } + }, 'docTranslator')), + (eP = o( + () => (qE({ id: 'root' }, { id: 'root', doc: jE }, !0), { id: 'root', doc: jE }), + 'getRootDocV2' + )), + (BVe = o((t) => { + let e; + t.doc ? (e = t.doc) : (e = t), + V.info(e), + zfe(!0), + V.info('Extract initial document:', e), + e.forEach((a) => { + switch ((V.warn('Statement', a.stmt), a.stmt)) { + case zg: + vf( + a.id.trim(), + a.type, + a.doc, + a.description, + a.note, + a.classes, + a.styles, + a.textStyles + ); + break; + case Ex: + $fe(a.state1, a.state2, a.description); + break; + case ffe: + Vfe(a.id.trim(), a.classes); + break; + case dfe: + { + let s = a.id.trim().split(','), + l = a.styleClass.split(','); + s.forEach((u) => { + let h = M0(u); + if (h === void 0) { + let f = u.trim(); + vf(f), (h = M0(f)); + } + h.styles = l.map((f) => f.replace(/;/g, '')?.trim()); + }); + } + break; + case pfe: + tP(a.id.trim(), a.styleClass); + break; + } + }); + let r = Gfe(), + i = de().look; + Afe(), + $g(void 0, eP(), r, XE, JO, !0, i, Vg), + XE.forEach((a) => { + if (Array.isArray(a.label)) { + if (((a.description = a.label.slice(1)), a.isGroup && a.description.length > 0)) + throw new Error( + 'Group nodes can only have label. Remove the additional description for node [' + + a.id + + ']' + ); + a.label = a.label[0]; + } + }); + }, 'extract')), + (vf = o(function (t, e = N0, r = null, n = null, i = null, a = null, s = null, l = null) { + let u = t?.trim(); + if ( + (Fs.states.has(u) + ? (Fs.states.get(u).doc || (Fs.states.get(u).doc = r), + Fs.states.get(u).type || (Fs.states.get(u).type = e)) + : (V.info('Adding state ', u, n), + Fs.states.set(u, { + id: u, + descriptions: [], + type: e, + doc: r, + note: i, + classes: [], + styles: [], + textStyles: [] + })), + n && + (V.info('Setting state description', u, n), + typeof n == 'string' && QO(u, n.trim()), + typeof n == 'object' && n.forEach((h) => QO(u, h.trim()))), + i) + ) { + let h = Fs.states.get(u); + (h.note = i), (h.note.text = We.sanitizeText(h.note.text, de())); + } + a && + (V.info('Setting state classes', u, a), + (typeof a == 'string' ? [a] : a).forEach((f) => tP(u, f.trim()))), + s && + (V.info('Setting state styles', u, s), + (typeof s == 'string' ? [s] : s).forEach((f) => WVe(u, f.trim()))), + l && + (V.info('Setting state styles', u, s), + (typeof l == 'string' ? [l] : l).forEach((f) => qVe(u, f.trim()))); + }, 'addState')), + (zfe = o(function (t) { + (XE = []), (JO = []), (KE = { root: Ffe() }), (Fs = KE.root), (Cx = 0), (Vg = Pfe()), t || vr(); + }, 'clear')), + (M0 = o(function (t) { + return Fs.states.get(t); + }, 'getState')), + (Gfe = o(function () { + return Fs.states; + }, 'getStates')), + (FVe = o(function () { + V.info('Documents = ', KE); + }, 'logDocuments')), + (zVe = o(function () { + return Fs.relations; + }, 'getRelations')); + o(jO, 'startIdIfNeeded'); + o(KO, 'startTypeIfNeeded'); + o(GVe, 'endIdIfNeeded'); + o($Ve, 'endTypeIfNeeded'); + o(VVe, 'addRelationObjs'); + ($fe = o(function (t, e, r) { + if (typeof t == 'object') VVe(t, e, r); + else { + let n = jO(t.trim()), + i = KO(t), + a = GVe(e.trim()), + s = $Ve(e); + vf(n, i), + vf(a, s), + Fs.relations.push({ + id1: n, + id2: a, + title: We.sanitizeText(r, de()) + }); + } + }, 'addRelation')), + (QO = o(function (t, e) { + let r = Fs.states.get(t), + n = e.startsWith(':') ? e.replace(':', '').trim() : e; + r.descriptions.push(We.sanitizeText(n, de())); + }, 'addDescription')), + (UVe = o(function (t) { + return t.substring(0, 1) === ':' ? t.substr(2).trim() : t.trim(); + }, 'cleanupLabel')), + (HVe = o(() => (Nfe++, 'divider-id-' + Nfe), 'getDividerId')), + (Vfe = o(function (t, e = '') { + Vg.has(t) || Vg.set(t, { id: t, styles: [], textStyles: [] }); + let r = Vg.get(t); + e?.split(NVe).forEach((n) => { + let i = n.replace(/([^;]*);/, '$1').trim(); + if (RegExp(Dfe).exec(n)) { + let s = i.replace(Rfe, RVe).replace(Dfe, Rfe); + r.textStyles.push(s); + } + r.styles.push(i); + }); + }, 'addStyleClass')), + (YVe = o(function () { + return Vg; + }, 'getClasses')), + (tP = o(function (t, e) { + t.split(',').forEach(function (r) { + let n = M0(r); + if (n === void 0) { + let i = r.trim(); + vf(i), (n = M0(i)); + } + n.classes.push(e); + }); + }, 'setCssClass')), + (WVe = o(function (t, e) { + let r = M0(t); + r !== void 0 && r.styles.push(e); + }, 'setStyle')), + (qVe = o(function (t, e) { + let r = M0(t); + r !== void 0 && r.textStyles.push(e); + }, 'setTextStyle')), + (XVe = o(() => Bfe, 'getDirection')), + (jVe = o((t) => { + Bfe = t; + }, 'setDirection')), + (KVe = o((t) => (t && t[0] === ':' ? t.substr(1).trim() : t.trim()), 'trimColon')), + (QVe = o(() => { + let t = de(); + return { + nodes: XE, + edges: JO, + other: {}, + config: t, + direction: qO(eP()) + }; + }, 'getData')), + (Qo = { + getConfig: o(() => de().state, 'getConfig'), + getData: QVe, + addState: vf, + clear: zfe, + getState: M0, + getStates: Gfe, + getRelations: zVe, + getClasses: YVe, + getDirection: XVe, + addRelation: $fe, + getDividerId: HVe, + setDirection: jVe, + cleanupLabel: UVe, + lineType: MVe, + relationType: IVe, + logDocuments: FVe, + getRootDoc: PVe, + setRootDoc: OVe, + getRootDocV2: eP, + extract: BVe, + trimColon: KVe, + getAccTitle: Ar, + setAccTitle: kr, + getAccDescription: Lr, + setAccDescription: _r, + addStyleClass: Vfe, + setCssClass: tP, + addDescription: QO, + setDiagramTitle: nn, + getDiagramTitle: Xr + }); + }); + var ZVe, + ZE, + rP = R(() => { + 'use strict'; + (ZVe = o( + (t) => ` +defs #statediagram-barbEnd { + fill: ${t.transitionColor}; + stroke: ${t.transitionColor}; + } +g.stateGroup text { + fill: ${t.nodeBorder}; + stroke: none; + font-size: 10px; +} +g.stateGroup text { + fill: ${t.textColor}; + stroke: none; + font-size: 10px; + +} +g.stateGroup .state-title { + font-weight: bolder; + fill: ${t.stateLabelColor}; +} + +g.stateGroup rect { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; +} + +g.stateGroup line { + stroke: ${t.lineColor}; + stroke-width: 1; +} + +.transition { + stroke: ${t.transitionColor}; + stroke-width: 1; + fill: none; +} + +.stateGroup .composit { + fill: ${t.background}; + border-bottom: 1px +} + +.stateGroup .alt-composit { + fill: #e0e0e0; + border-bottom: 1px +} + +.state-note { + stroke: ${t.noteBorderColor}; + fill: ${t.noteBkgColor}; + + text { + fill: ${t.noteTextColor}; + stroke: none; + font-size: 10px; + } +} + +.stateLabel .box { + stroke: none; + stroke-width: 0; + fill: ${t.mainBkg}; + opacity: 0.5; +} + +.edgeLabel .label rect { + fill: ${t.labelBackgroundColor}; + opacity: 0.5; +} +.edgeLabel { + background-color: ${t.edgeLabelBackground}; + p { + background-color: ${t.edgeLabelBackground}; + } + rect { + opacity: 0.5; + background-color: ${t.edgeLabelBackground}; + fill: ${t.edgeLabelBackground}; + } + text-align: center; +} +.edgeLabel .label text { + fill: ${t.transitionLabelColor || t.tertiaryTextColor}; +} +.label div .edgeLabel { + color: ${t.transitionLabelColor || t.tertiaryTextColor}; +} + +.stateLabel text { + fill: ${t.stateLabelColor}; + font-size: 10px; + font-weight: bold; +} + +.node circle.state-start { + fill: ${t.specialStateColor}; + stroke: ${t.specialStateColor}; +} + +.node .fork-join { + fill: ${t.specialStateColor}; + stroke: ${t.specialStateColor}; +} + +.node circle.state-end { + fill: ${t.innerEndBackground}; + stroke: ${t.background}; + stroke-width: 1.5 +} +.end-state-inner { + fill: ${t.compositeBackground || t.background}; + // stroke: ${t.background}; + stroke-width: 1.5 +} + +.node rect { + fill: ${t.stateBkg || t.mainBkg}; + stroke: ${t.stateBorder || t.nodeBorder}; + stroke-width: 1px; +} +.node polygon { + fill: ${t.mainBkg}; + stroke: ${t.stateBorder || t.nodeBorder};; + stroke-width: 1px; +} +#statediagram-barbEnd { + fill: ${t.lineColor}; +} + +.statediagram-cluster rect { + fill: ${t.compositeTitleBackground}; + stroke: ${t.stateBorder || t.nodeBorder}; + stroke-width: 1px; +} + +.cluster-label, .nodeLabel { + color: ${t.stateLabelColor}; + // line-height: 1; +} + +.statediagram-cluster rect.outer { + rx: 5px; + ry: 5px; +} +.statediagram-state .divider { + stroke: ${t.stateBorder || t.nodeBorder}; +} + +.statediagram-state .title-state { + rx: 5px; + ry: 5px; +} +.statediagram-cluster.statediagram-cluster .inner { + fill: ${t.compositeBackground || t.background}; +} +.statediagram-cluster.statediagram-cluster-alt .inner { + fill: ${t.altBackground ? t.altBackground : '#efefef'}; +} + +.statediagram-cluster .inner { + rx:0; + ry:0; +} + +.statediagram-state rect.basic { + rx: 5px; + ry: 5px; +} +.statediagram-state rect.divider { + stroke-dasharray: 10,10; + fill: ${t.altBackground ? t.altBackground : '#efefef'}; +} + +.note-edge { + stroke-dasharray: 5; +} + +.statediagram-note rect { + fill: ${t.noteBkgColor}; + stroke: ${t.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} +.statediagram-note rect { + fill: ${t.noteBkgColor}; + stroke: ${t.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} + +.statediagram-note text { + fill: ${t.noteTextColor}; +} + +.statediagram-note .nodeLabel { + color: ${t.noteTextColor}; +} +.statediagram .edgeLabel { + color: red; // ${t.noteTextColor}; +} + +#dependencyStart, #dependencyEnd { + fill: ${t.lineColor}; + stroke: ${t.lineColor}; + stroke-width: 1; +} + +.statediagramTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; +} +`, + 'getStyles' + )), + (ZE = ZVe); + }); + var nP, + JVe, + eUe, + Ufe, + tUe, + Hfe, + Yfe = R(() => { + 'use strict'; + (nP = {}), + (JVe = o((t, e) => { + nP[t] = e; + }, 'set')), + (eUe = o((t) => nP[t], 'get')), + (Ufe = o(() => Object.keys(nP), 'keys')), + (tUe = o(() => Ufe().length, 'size')), + (Hfe = { get: eUe, set: JVe, keys: Ufe, size: tUe }); + }); + var rUe, + nUe, + iUe, + aUe, + qfe, + sUe, + oUe, + lUe, + cUe, + iP, + Wfe, + Xfe, + jfe = R(() => { + 'use strict'; + Zt(); + Yfe(); + QE(); + xr(); + rr(); + _t(); + ut(); + (rUe = o( + (t) => + t + .append('circle') + .attr('class', 'start-state') + .attr('r', de().state.sizeUnit) + .attr('cx', de().state.padding + de().state.sizeUnit) + .attr('cy', de().state.padding + de().state.sizeUnit), + 'drawStartState' + )), + (nUe = o( + (t) => + t + .append('line') + .style('stroke', 'grey') + .style('stroke-dasharray', '3') + .attr('x1', de().state.textHeight) + .attr('class', 'divider') + .attr('x2', de().state.textHeight * 2) + .attr('y1', 0) + .attr('y2', 0), + 'drawDivider' + )), + (iUe = o((t, e) => { + let r = t + .append('text') + .attr('x', 2 * de().state.padding) + .attr('y', de().state.textHeight + 2 * de().state.padding) + .attr('font-size', de().state.fontSize) + .attr('class', 'state-title') + .text(e.id), + n = r.node().getBBox(); + return ( + t + .insert('rect', ':first-child') + .attr('x', de().state.padding) + .attr('y', de().state.padding) + .attr('width', n.width + 2 * de().state.padding) + .attr('height', n.height + 2 * de().state.padding) + .attr('rx', de().state.radius), + r + ); + }, 'drawSimpleState')), + (aUe = o((t, e) => { + let r = o(function (p, m, g) { + let y = p + .append('tspan') + .attr('x', 2 * de().state.padding) + .text(m); + g || y.attr('dy', de().state.textHeight); + }, 'addTspan'), + i = t + .append('text') + .attr('x', 2 * de().state.padding) + .attr('y', de().state.textHeight + 1.3 * de().state.padding) + .attr('font-size', de().state.fontSize) + .attr('class', 'state-title') + .text(e.descriptions[0]) + .node() + .getBBox(), + a = i.height, + s = t + .append('text') + .attr('x', de().state.padding) + .attr('y', a + de().state.padding * 0.4 + de().state.dividerMargin + de().state.textHeight) + .attr('class', 'state-description'), + l = !0, + u = !0; + e.descriptions.forEach(function (p) { + l || (r(s, p, u), (u = !1)), (l = !1); + }); + let h = t + .append('line') + .attr('x1', de().state.padding) + .attr('y1', de().state.padding + a + de().state.dividerMargin / 2) + .attr('y2', de().state.padding + a + de().state.dividerMargin / 2) + .attr('class', 'descr-divider'), + f = s.node().getBBox(), + d = Math.max(f.width, i.width); + return ( + h.attr('x2', d + 3 * de().state.padding), + t + .insert('rect', ':first-child') + .attr('x', de().state.padding) + .attr('y', de().state.padding) + .attr('width', d + 2 * de().state.padding) + .attr('height', f.height + a + 2 * de().state.padding) + .attr('rx', de().state.radius), + t + ); + }, 'drawDescrState')), + (qfe = o((t, e, r) => { + let n = de().state.padding, + i = 2 * de().state.padding, + a = t.node().getBBox(), + s = a.width, + l = a.x, + u = t + .append('text') + .attr('x', 0) + .attr('y', de().state.titleShift) + .attr('font-size', de().state.fontSize) + .attr('class', 'state-title') + .text(e.id), + f = u.node().getBBox().width + i, + d = Math.max(f, s); + d === s && (d = d + i); + let p, + m = t.node().getBBox(); + e.doc, + (p = l - n), + f > s && (p = (s - d) / 2 + n), + Math.abs(l - m.x) < n && f > s && (p = l - (f - s) / 2); + let g = 1 - de().state.textHeight; + return ( + t + .insert('rect', ':first-child') + .attr('x', p) + .attr('y', g) + .attr('class', r ? 'alt-composit' : 'composit') + .attr('width', d) + .attr('height', m.height + de().state.textHeight + de().state.titleShift + 1) + .attr('rx', '0'), + u.attr('x', p + n), + f <= s && u.attr('x', l + (d - i) / 2 - f / 2 + n), + t + .insert('rect', ':first-child') + .attr('x', p) + .attr('y', de().state.titleShift - de().state.textHeight - de().state.padding) + .attr('width', d) + .attr('height', de().state.textHeight * 3) + .attr('rx', de().state.radius), + t + .insert('rect', ':first-child') + .attr('x', p) + .attr('y', de().state.titleShift - de().state.textHeight - de().state.padding) + .attr('width', d) + .attr('height', m.height + 3 + 2 * de().state.textHeight) + .attr('rx', de().state.radius), + t + ); + }, 'addTitleAndBox')), + (sUe = o( + (t) => ( + t + .append('circle') + .attr('class', 'end-state-outer') + .attr('r', de().state.sizeUnit + de().state.miniPadding) + .attr('cx', de().state.padding + de().state.sizeUnit + de().state.miniPadding) + .attr('cy', de().state.padding + de().state.sizeUnit + de().state.miniPadding), + t + .append('circle') + .attr('class', 'end-state-inner') + .attr('r', de().state.sizeUnit) + .attr('cx', de().state.padding + de().state.sizeUnit + 2) + .attr('cy', de().state.padding + de().state.sizeUnit + 2) + ), + 'drawEndState' + )), + (oUe = o((t, e) => { + let r = de().state.forkWidth, + n = de().state.forkHeight; + if (e.parentId) { + let i = r; + (r = n), (n = i); + } + return t + .append('rect') + .style('stroke', 'black') + .style('fill', 'black') + .attr('width', r) + .attr('height', n) + .attr('x', de().state.padding) + .attr('y', de().state.padding); + }, 'drawForkJoinState')), + (lUe = o((t, e, r, n) => { + let i = 0, + a = n.append('text'); + a.style('text-anchor', 'start'), a.attr('class', 'noteText'); + let s = t.replace(/\r\n/g, '
    '); + s = s.replace(/\n/g, '
    '); + let l = s.split(We.lineBreakRegex), + u = 1.25 * de().state.noteMargin; + for (let h of l) { + let f = h.trim(); + if (f.length > 0) { + let d = a.append('tspan'); + if ((d.text(f), u === 0)) { + let p = d.node().getBBox(); + u += p.height; + } + (i += u), + d.attr('x', e + de().state.noteMargin), + d.attr('y', r + i + 1.25 * de().state.noteMargin); + } + } + return { textWidth: a.node().getBBox().width, textHeight: i }; + }, '_drawLongText')), + (cUe = o((t, e) => { + e.attr('class', 'state-note'); + let r = e.append('rect').attr('x', 0).attr('y', de().state.padding), + n = e.append('g'), + { textWidth: i, textHeight: a } = lUe(t, 0, 0, n); + return ( + r.attr('height', a + 2 * de().state.noteMargin), + r.attr('width', i + de().state.noteMargin * 2), + r + ); + }, 'drawNote')), + (iP = o(function (t, e) { + let r = e.id, + n = { id: r, label: e.id, width: 0, height: 0 }, + i = t.append('g').attr('id', r).attr('class', 'stateGroup'); + e.type === 'start' && rUe(i), + e.type === 'end' && sUe(i), + (e.type === 'fork' || e.type === 'join') && oUe(i, e), + e.type === 'note' && cUe(e.note.text, i), + e.type === 'divider' && nUe(i), + e.type === 'default' && e.descriptions.length === 0 && iUe(i, e), + e.type === 'default' && e.descriptions.length > 0 && aUe(i, e); + let a = i.node().getBBox(); + return ( + (n.width = a.width + 2 * de().state.padding), + (n.height = a.height + 2 * de().state.padding), + Hfe.set(r, n), + n + ); + }, 'drawState')), + (Wfe = 0), + (Xfe = o(function (t, e, r) { + let n = o(function (u) { + switch (u) { + case Qo.relationType.AGGREGATION: + return 'aggregation'; + case Qo.relationType.EXTENSION: + return 'extension'; + case Qo.relationType.COMPOSITION: + return 'composition'; + case Qo.relationType.DEPENDENCY: + return 'dependency'; + } + }, 'getRelationType'); + e.points = e.points.filter((u) => !Number.isNaN(u.y)); + let i = e.points, + a = ha() + .x(function (u) { + return u.x; + }) + .y(function (u) { + return u.y; + }) + .curve(vs), + s = t + .append('path') + .attr('d', a(i)) + .attr('id', 'edge' + Wfe) + .attr('class', 'transition'), + l = ''; + if ( + (de().state.arrowMarkerAbsolute && + ((l = + window.location.protocol + + '//' + + window.location.host + + window.location.pathname + + window.location.search), + (l = l.replace(/\(/g, '\\(')), + (l = l.replace(/\)/g, '\\)'))), + s.attr('marker-end', 'url(' + l + '#' + n(Qo.relationType.DEPENDENCY) + 'End)'), + r.title !== void 0) + ) { + let u = t.append('g').attr('class', 'stateLabel'), + { x: h, y: f } = Lt.calcLabelPosition(e.points), + d = We.getRows(r.title), + p = 0, + m = [], + g = 0, + y = 0; + for (let b = 0; b <= d.length; b++) { + let w = u + .append('text') + .attr('text-anchor', 'middle') + .text(d[b]) + .attr('x', h) + .attr('y', f + p), + S = w.node().getBBox(); + (g = Math.max(g, S.width)), + (y = Math.min(y, S.x)), + V.info(S.x, h, f + p), + p === 0 && ((p = w.node().getBBox().height), V.info('Title height', p, f)), + m.push(w); + } + let v = p * d.length; + if (d.length > 1) { + let b = (d.length - 1) * p * 0.5; + m.forEach((w, S) => w.attr('y', f + S * p - b)), (v = p * d.length); + } + let x = u.node().getBBox(); + u + .insert('rect', ':first-child') + .attr('class', 'box') + .attr('x', h - g / 2 - de().state.padding / 2) + .attr('y', f - v / 2 - de().state.padding / 2 - 3.5) + .attr('width', g + de().state.padding) + .attr('height', v + de().state.padding), + V.info(x); + } + Wfe++; + }, 'drawEdge')); + }); + var vo, + aP, + uUe, + hUe, + fUe, + dUe, + Kfe, + Qfe, + Zfe = R(() => { + 'use strict'; + Zt(); + Vd(); + ya(); + ut(); + rr(); + jfe(); + _t(); + Yn(); + (aP = {}), + (uUe = o(function () {}, 'setConf')), + (hUe = o(function (t) { + t.append('defs') + .append('marker') + .attr('id', 'dependencyEnd') + .attr('refX', 19) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 19,7 L9,13 L14,7 L9,1 Z'); + }, 'insertMarkers')), + (fUe = o(function (t, e, r, n) { + vo = de().state; + let i = de().securityLevel, + a; + i === 'sandbox' && (a = $e('#i' + e)); + let s = i === 'sandbox' ? $e(a.nodes()[0].contentDocument.body) : $e('body'), + l = i === 'sandbox' ? a.nodes()[0].contentDocument : document; + V.debug('Rendering diagram ' + t); + let u = s.select(`[id='${e}']`); + hUe(u); + let h = n.db.getRootDoc(); + Kfe(h, u, void 0, !1, s, l, n); + let f = vo.padding, + d = u.node().getBBox(), + p = d.width + f * 2, + m = d.height + f * 2, + g = p * 1.75; + Sr(u, m, g, vo.useMaxWidth), + u.attr('viewBox', `${d.x - vo.padding} ${d.y - vo.padding} ` + p + ' ' + m); + }, 'draw')), + (dUe = o((t) => (t ? t.length * vo.fontSizeFactor : 1), 'getLabelWidth')), + (Kfe = o((t, e, r, n, i, a, s) => { + let l = new lr({ compound: !0, multigraph: !0 }), + u, + h = !0; + for (u = 0; u < t.length; u++) + if (t[u].stmt === 'relation') { + h = !1; + break; + } + r + ? l.setGraph({ + rankdir: 'LR', + multigraph: !0, + compound: !0, + ranker: 'tight-tree', + ranksep: h ? 1 : vo.edgeLengthFactor, + nodeSep: h ? 1 : 50, + isMultiGraph: !0 + }) + : l.setGraph({ + rankdir: 'TB', + multigraph: !0, + compound: !0, + ranksep: h ? 1 : vo.edgeLengthFactor, + nodeSep: h ? 1 : 50, + ranker: 'tight-tree', + isMultiGraph: !0 + }), + l.setDefaultEdgeLabel(function () { + return {}; + }), + s.db.extract(t); + let f = s.db.getStates(), + d = s.db.getRelations(), + p = Object.keys(f), + m = !0; + for (let b of p) { + let w = f[b]; + r && (w.parentId = r); + let S; + if (w.doc) { + let T = e.append('g').attr('id', w.id).attr('class', 'stateGroup'); + if (((S = Kfe(w.doc, T, w.id, !n, i, a, s)), m)) { + T = qfe(T, w, n); + let E = T.node().getBBox(); + (S.width = E.width), + (S.height = E.height + vo.padding / 2), + (aP[w.id] = { y: vo.compositTitleSize }); + } else { + let E = T.node().getBBox(); + (S.width = E.width), (S.height = E.height); + } + } else S = iP(e, w, l); + if (w.note) { + let T = { + descriptions: [], + id: w.id + '-note', + note: w.note, + type: 'note' + }, + E = iP(e, T, l); + w.note.position === 'left of' + ? (l.setNode(S.id + '-note', E), l.setNode(S.id, S)) + : (l.setNode(S.id, S), l.setNode(S.id + '-note', E)), + l.setParent(S.id, S.id + '-group'), + l.setParent(S.id + '-note', S.id + '-group'); + } else l.setNode(S.id, S); + } + V.debug('Count=', l.nodeCount(), l); + let g = 0; + d.forEach(function (b) { + g++, + V.debug('Setting edge', b), + l.setEdge( + b.id1, + b.id2, + { + relation: b, + width: dUe(b.title), + height: vo.labelHeight * We.getRows(b.title).length, + labelpos: 'c' + }, + 'id' + g + ); + }), + lo(l), + V.debug('Graph after layout', l.nodes()); + let y = e.node(); + l.nodes().forEach(function (b) { + b !== void 0 && l.node(b) !== void 0 + ? (V.warn('Node ' + b + ': ' + JSON.stringify(l.node(b))), + i + .select('#' + y.id + ' #' + b) + .attr( + 'transform', + 'translate(' + + (l.node(b).x - l.node(b).width / 2) + + ',' + + (l.node(b).y + (aP[b] ? aP[b].y : 0) - l.node(b).height / 2) + + ' )' + ), + i.select('#' + y.id + ' #' + b).attr('data-x-shift', l.node(b).x - l.node(b).width / 2), + a.querySelectorAll('#' + y.id + ' #' + b + ' .divider').forEach((S) => { + let T = S.parentElement, + E = 0, + _ = 0; + T && + (T.parentElement && (E = T.parentElement.getBBox().width), + (_ = parseInt(T.getAttribute('data-x-shift'), 10)), + Number.isNaN(_) && (_ = 0)), + S.setAttribute('x1', 0 - _ + 8), + S.setAttribute('x2', E - _ - 8); + })) + : V.debug('No Node ' + b + ': ' + JSON.stringify(l.node(b))); + }); + let v = y.getBBox(); + l.edges().forEach(function (b) { + b !== void 0 && + l.edge(b) !== void 0 && + (V.debug('Edge ' + b.v + ' -> ' + b.w + ': ' + JSON.stringify(l.edge(b))), + Xfe(e, l.edge(b), l.edge(b).relation)); + }), + (v = y.getBBox()); + let x = { id: r || 'root', label: r || 'root', width: 0, height: 0 }; + return ( + (x.width = v.width + 2 * vo.padding), + (x.height = v.height + 2 * vo.padding), + V.debug('Doc rendered', x, l), + x + ); + }, 'renderDoc')), + (Qfe = { setConf: uUe, draw: fUe }); + }); + var Jfe = {}; + hr(Jfe, { diagram: () => pUe }); + var pUe, + ede = R(() => { + 'use strict'; + IO(); + QE(); + rP(); + Zfe(); + pUe = { + parser: BE, + db: Qo, + renderer: Qfe, + styles: ZE, + init: o((t) => { + t.state || (t.state = {}), (t.state.arrowMarkerAbsolute = t.arrowMarkerAbsolute), Qo.clear(); + }, 'init') + }; + }); + var nde = {}; + hr(nde, { diagram: () => vUe }); + var vUe, + ide = R(() => { + 'use strict'; + IO(); + QE(); + rP(); + XO(); + vUe = { + parser: BE, + db: Qo, + renderer: Lfe, + styles: ZE, + init: o((t) => { + t.state || (t.state = {}), (t.state.arrowMarkerAbsolute = t.arrowMarkerAbsolute), Qo.clear(); + }, 'init') + }; + }); + var sP, + ode, + lde = R(() => { + 'use strict'; + sP = (function () { + var t = o(function (d, p, m, g) { + for (m = m || {}, g = d.length; g--; m[d[g]] = p); + return m; + }, 'o'), + e = [6, 8, 10, 11, 12, 14, 16, 17, 18], + r = [1, 9], + n = [1, 10], + i = [1, 11], + a = [1, 12], + s = [1, 13], + l = [1, 14], + u = { + trace: o(function () {}, 'trace'), + yy: {}, + symbols_: { + error: 2, + start: 3, + journey: 4, + document: 5, + EOF: 6, + line: 7, + SPACE: 8, + statement: 9, + NEWLINE: 10, + title: 11, + acc_title: 12, + acc_title_value: 13, + acc_descr: 14, + acc_descr_value: 15, + acc_descr_multiline_value: 16, + section: 17, + taskName: 18, + taskData: 19, + $accept: 0, + $end: 1 + }, + terminals_: { + 2: 'error', + 4: 'journey', + 6: 'EOF', + 8: 'SPACE', + 10: 'NEWLINE', + 11: 'title', + 12: 'acc_title', + 13: 'acc_title_value', + 14: 'acc_descr', + 15: 'acc_descr_value', + 16: 'acc_descr_multiline_value', + 17: 'section', + 18: 'taskName', + 19: 'taskData' + }, + productions_: [ + 0, + [3, 3], + [5, 0], + [5, 2], + [7, 2], + [7, 1], + [7, 1], + [7, 1], + [9, 1], + [9, 2], + [9, 2], + [9, 1], + [9, 1], + [9, 2] + ], + performAction: o(function (p, m, g, y, v, x, b) { + var w = x.length - 1; + switch (v) { + case 1: + return x[w - 1]; + case 2: + this.$ = []; + break; + case 3: + x[w - 1].push(x[w]), (this.$ = x[w - 1]); + break; + case 4: + case 5: + this.$ = x[w]; + break; + case 6: + case 7: + this.$ = []; + break; + case 8: + y.setDiagramTitle(x[w].substr(6)), (this.$ = x[w].substr(6)); + break; + case 9: + (this.$ = x[w].trim()), y.setAccTitle(this.$); + break; + case 10: + case 11: + (this.$ = x[w].trim()), y.setAccDescription(this.$); + break; + case 12: + y.addSection(x[w].substr(8)), (this.$ = x[w].substr(8)); + break; + case 13: + y.addTask(x[w - 1], x[w]), (this.$ = 'task'); + break; + } + }, 'anonymous'), + table: [ + { 3: 1, 4: [1, 2] }, + { 1: [3] }, + t(e, [2, 2], { 5: 3 }), + { + 6: [1, 4], + 7: 5, + 8: [1, 6], + 9: 7, + 10: [1, 8], + 11: r, + 12: n, + 14: i, + 16: a, + 17: s, + 18: l + }, + t(e, [2, 7], { 1: [2, 1] }), + t(e, [2, 3]), + { 9: 15, 11: r, 12: n, 14: i, 16: a, 17: s, 18: l }, + t(e, [2, 5]), + t(e, [2, 6]), + t(e, [2, 8]), + { 13: [1, 16] }, + { 15: [1, 17] }, + t(e, [2, 11]), + t(e, [2, 12]), + { 19: [1, 18] }, + t(e, [2, 4]), + t(e, [2, 9]), + t(e, [2, 10]), + t(e, [2, 13]) + ], + defaultActions: {}, + parseError: o(function (p, m) { + if (m.recoverable) this.trace(p); + else { + var g = new Error(p); + throw ((g.hash = m), g); + } + }, 'parseError'), + parse: o(function (p) { + var m = this, + g = [0], + y = [], + v = [null], + x = [], + b = this.table, + w = '', + S = 0, + T = 0, + E = 0, + _ = 2, + A = 1, + L = x.slice.call(arguments, 1), + M = Object.create(this.lexer), + N = { yy: {} }; + for (var k in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, k) && (N.yy[k] = this.yy[k]); + M.setInput(p, N.yy), + (N.yy.lexer = M), + (N.yy.parser = this), + typeof M.yylloc > 'u' && (M.yylloc = {}); + var I = M.yylloc; + x.push(I); + var C = M.options && M.options.ranges; + typeof N.yy.parseError == 'function' + ? (this.parseError = N.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError); + function O(H) { + (g.length = g.length - 2 * H), (v.length = v.length - H), (x.length = x.length - H); + } + o(O, 'popStack'); + function D() { + var H; + return ( + (H = y.pop() || M.lex() || A), + typeof H != 'number' && + (H instanceof Array && ((y = H), (H = y.pop())), (H = m.symbols_[H] || H)), + H + ); + } + o(D, 'lex'); + for (var P, F, B, $, z, Y, Q = {}, X, ie, j, J; ; ) { + if ( + ((B = g[g.length - 1]), + this.defaultActions[B] + ? ($ = this.defaultActions[B]) + : ((P === null || typeof P > 'u') && (P = D()), ($ = b[B] && b[B][P])), + typeof $ > 'u' || !$.length || !$[0]) + ) { + var Z = ''; + J = []; + for (X in b[B]) + this.terminals_[X] && X > _ && J.push("'" + this.terminals_[X] + "'"); + M.showPosition + ? (Z = + 'Parse error on line ' + + (S + 1) + + `: +` + + M.showPosition() + + ` +Expecting ` + + J.join(', ') + + ", got '" + + (this.terminals_[P] || P) + + "'") + : (Z = + 'Parse error on line ' + + (S + 1) + + ': Unexpected ' + + (P == A ? 'end of input' : "'" + (this.terminals_[P] || P) + "'")), + this.parseError(Z, { + text: M.match, + token: this.terminals_[P] || P, + line: M.yylineno, + loc: I, + expected: J + }); + } + if ($[0] instanceof Array && $.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + B + ', token: ' + P + ); + switch ($[0]) { + case 1: + g.push(P), + v.push(M.yytext), + x.push(M.yylloc), + g.push($[1]), + (P = null), + F + ? ((P = F), (F = null)) + : ((T = M.yyleng), + (w = M.yytext), + (S = M.yylineno), + (I = M.yylloc), + E > 0 && E--); + break; + case 2: + if ( + ((ie = this.productions_[$[1]][1]), + (Q.$ = v[v.length - ie]), + (Q._$ = { + first_line: x[x.length - (ie || 1)].first_line, + last_line: x[x.length - 1].last_line, + first_column: x[x.length - (ie || 1)].first_column, + last_column: x[x.length - 1].last_column + }), + C && + (Q._$.range = [ + x[x.length - (ie || 1)].range[0], + x[x.length - 1].range[1] + ]), + (Y = this.performAction.apply(Q, [w, T, S, N.yy, $[1], v, x].concat(L))), + typeof Y < 'u') + ) + return Y; + ie && + ((g = g.slice(0, -1 * ie * 2)), + (v = v.slice(0, -1 * ie)), + (x = x.slice(0, -1 * ie))), + g.push(this.productions_[$[1]][0]), + v.push(Q.$), + x.push(Q._$), + (j = b[g[g.length - 2]][g[g.length - 1]]), + g.push(j); + break; + case 3: + return !0; + } + } + return !0; + }, 'parse') + }, + h = (function () { + var d = { + EOF: 1, + parseError: o(function (m, g) { + if (this.yy.parser) this.yy.parser.parseError(m, g); + else throw new Error(m); + }, 'parseError'), + setInput: o(function (p, m) { + return ( + (this.yy = m || this.yy || {}), + (this._input = p), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, 'setInput'), + input: o(function () { + var p = this._input[0]; + (this.yytext += p), + this.yyleng++, + this.offset++, + (this.match += p), + (this.matched += p); + var m = p.match(/(?:\r\n?|\n).*/g); + return ( + m ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + p + ); + }, 'input'), + unput: o(function (p) { + var m = p.length, + g = p.split(/(?:\r\n?|\n)/g); + (this._input = p + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - m)), + (this.offset -= m); + var y = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + g.length - 1 && (this.yylineno -= g.length - 1); + var v = this.yylloc.range; + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: g + ? (g.length === y.length ? this.yylloc.first_column : 0) + + y[y.length - g.length].length - + g[0].length + : this.yylloc.first_column - m + }), + this.options.ranges && (this.yylloc.range = [v[0], v[0] + this.yyleng - m]), + (this.yyleng = this.yytext.length), + this + ); + }, 'unput'), + more: o(function () { + return (this._more = !0), this; + }, 'more'), + reject: o(function () { + if (this.options.backtrack_lexer) this._backtrack = !0; + else + return this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + return this; + }, 'reject'), + less: o(function (p) { + this.unput(this.match.slice(p)); + }, 'less'), + pastInput: o(function () { + var p = this.matched.substr(0, this.matched.length - this.match.length); + return (p.length > 20 ? '...' : '') + p.substr(-20).replace(/\n/g, ''); + }, 'pastInput'), + upcomingInput: o(function () { + var p = this.match; + return ( + p.length < 20 && (p += this._input.substr(0, 20 - p.length)), + (p.substr(0, 20) + (p.length > 20 ? '...' : '')).replace(/\n/g, '') + ); + }, 'upcomingInput'), + showPosition: o(function () { + var p = this.pastInput(), + m = new Array(p.length + 1).join('-'); + return ( + p + + this.upcomingInput() + + ` +` + + m + + '^' + ); + }, 'showPosition'), + test_match: o(function (p, m) { + var g, y, v; + if ( + (this.options.backtrack_lexer && + ((v = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }), + this.options.ranges && (v.yylloc.range = this.yylloc.range.slice(0))), + (y = p[0].match(/(?:\r\n?|\n).*/g)), + y && (this.yylineno += y.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: y + ? y[y.length - 1].length - y[y.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + p[0].length + }), + (this.yytext += p[0]), + (this.match += p[0]), + (this.matches = p), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(p[0].length)), + (this.matched += p[0]), + (g = this.performAction.call( + this, + this.yy, + this, + m, + this.conditionStack[this.conditionStack.length - 1] + )), + this.done && this._input && (this.done = !1), + g) + ) + return g; + if (this._backtrack) { + for (var x in v) this[x] = v[x]; + return !1; + } + return !1; + }, 'test_match'), + next: o(function () { + if (this.done) return this.EOF; + this._input || (this.done = !0); + var p, m, g, y; + this._more || ((this.yytext = ''), (this.match = '')); + for (var v = this._currentRules(), x = 0; x < v.length; x++) + if ( + ((g = this._input.match(this.rules[v[x]])), + g && (!m || g[0].length > m[0].length)) + ) { + if (((m = g), (y = x), this.options.backtrack_lexer)) { + if (((p = this.test_match(g, v[x])), p !== !1)) return p; + if (this._backtrack) { + m = !1; + continue; + } else return !1; + } else if (!this.options.flex) break; + } + return m + ? ((p = this.test_match(m, v[y])), p !== !1 ? p : !1) + : this._input === '' + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, 'next'), + lex: o(function () { + var m = this.next(); + return m || this.lex(); + }, 'lex'), + begin: o(function (m) { + this.conditionStack.push(m); + }, 'begin'), + popState: o(function () { + var m = this.conditionStack.length - 1; + return m > 0 ? this.conditionStack.pop() : this.conditionStack[0]; + }, 'popState'), + _currentRules: o(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules; + }, '_currentRules'), + topState: o(function (m) { + return ( + (m = this.conditionStack.length - 1 - Math.abs(m || 0)), + m >= 0 ? this.conditionStack[m] : 'INITIAL' + ); + }, 'topState'), + pushState: o(function (m) { + this.begin(m); + }, 'pushState'), + stateStackSize: o(function () { + return this.conditionStack.length; + }, 'stateStackSize'), + options: { 'case-insensitive': !0 }, + performAction: o(function (m, g, y, v) { + var x = v; + switch (y) { + case 0: + break; + case 1: + break; + case 2: + return 10; + case 3: + break; + case 4: + break; + case 5: + return 4; + case 6: + return 11; + case 7: + return this.begin('acc_title'), 12; + break; + case 8: + return this.popState(), 'acc_title_value'; + break; + case 9: + return this.begin('acc_descr'), 14; + break; + case 10: + return this.popState(), 'acc_descr_value'; + break; + case 11: + this.begin('acc_descr_multiline'); + break; + case 12: + this.popState(); + break; + case 13: + return 'acc_descr_multiline_value'; + case 14: + return 17; + case 15: + return 18; + case 16: + return 19; + case 17: + return ':'; + case 18: + return 6; + case 19: + return 'INVALID'; + } + }, 'anonymous'), + rules: [ + /^(?:%(?!\{)[^\n]*)/i, + /^(?:[^\}]%%[^\n]*)/i, + /^(?:[\n]+)/i, + /^(?:\s+)/i, + /^(?:#[^\n]*)/i, + /^(?:journey\b)/i, + /^(?:title\s[^#\n;]+)/i, + /^(?:accTitle\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*\{\s*)/i, + /^(?:[\}])/i, + /^(?:[^\}]*)/i, + /^(?:section\s[^#:\n;]+)/i, + /^(?:[^#:\n;]+)/i, + /^(?::[^#\n;]+)/i, + /^(?::)/i, + /^(?:$)/i, + /^(?:.)/i + ], + conditions: { + acc_descr_multiline: { rules: [12, 13], inclusive: !1 }, + acc_descr: { rules: [10], inclusive: !1 }, + acc_title: { rules: [8], inclusive: !1 }, + INITIAL: { + rules: [0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 18, 19], + inclusive: !0 + } + } + }; + return d; + })(); + u.lexer = h; + function f() { + this.yy = {}; + } + return o(f, 'Parser'), (f.prototype = u), (u.Parser = f), new f(); + })(); + sP.parser = sP; + ode = sP; + }); + var Ug, + oP, + Sx, + Ax, + TUe, + kUe, + EUe, + CUe, + SUe, + AUe, + _Ue, + cde, + LUe, + lP, + ude = R(() => { + 'use strict'; + _t(); + bi(); + (Ug = ''), + (oP = []), + (Sx = []), + (Ax = []), + (TUe = o(function () { + (oP.length = 0), (Sx.length = 0), (Ug = ''), (Ax.length = 0), vr(); + }, 'clear')), + (kUe = o(function (t) { + (Ug = t), oP.push(t); + }, 'addSection')), + (EUe = o(function () { + return oP; + }, 'getSections')), + (CUe = o(function () { + let t = cde(), + e = 100, + r = 0; + for (; !t && r < e; ) (t = cde()), r++; + return Sx.push(...Ax), Sx; + }, 'getTasks')), + (SUe = o(function () { + let t = []; + return ( + Sx.forEach((r) => { + r.people && t.push(...r.people); + }), + [...new Set(t)].sort() + ); + }, 'updateActors')), + (AUe = o(function (t, e) { + let r = e.substr(1).split(':'), + n = 0, + i = []; + r.length === 1 ? ((n = Number(r[0])), (i = [])) : ((n = Number(r[0])), (i = r[1].split(','))); + let a = i.map((l) => l.trim()), + s = { section: Ug, type: Ug, people: a, task: t, score: n }; + Ax.push(s); + }, 'addTask')), + (_Ue = o(function (t) { + let e = { + section: Ug, + type: Ug, + description: t, + task: t, + classes: [] + }; + Sx.push(e); + }, 'addTaskOrg')), + (cde = o(function () { + let t = o(function (r) { + return Ax[r].processed; + }, 'compileTask'), + e = !0; + for (let [r, n] of Ax.entries()) t(r), (e = e && n.processed); + return e; + }, 'compileTasks')), + (LUe = o(function () { + return SUe(); + }, 'getActors')), + (lP = { + getConfig: o(() => de().journey, 'getConfig'), + clear: TUe, + setDiagramTitle: nn, + getDiagramTitle: Xr, + setAccTitle: kr, + getAccTitle: Ar, + setAccDescription: _r, + getAccDescription: Lr, + addSection: kUe, + getSections: EUe, + getTasks: CUe, + addTask: AUe, + addTaskOrg: _Ue, + getActors: LUe + }); + }); + var DUe, + hde, + fde = R(() => { + 'use strict'; + (DUe = o( + (t) => `.label { + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + color: ${t.textColor}; + } + .mouth { + stroke: #666; + } + + line { + stroke: ${t.textColor} + } + + .legend { + fill: ${t.textColor}; + } + + .label text { + fill: #333; + } + .label { + color: ${t.textColor} + } + + .face { + ${t.faceColor ? `fill: ${t.faceColor}` : 'fill: #FFF8DC'}; + stroke: #999; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${t.arrowheadColor}; + } + + .edgePath .path { + stroke: ${t.lineColor}; + stroke-width: 1.5px; + } + + .flowchart-link { + stroke: ${t.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${t.edgeLabelBackground}; + rect { + opacity: 0.5; + } + text-align: center; + } + + .cluster rect { + } + + .cluster text { + fill: ${t.titleColor}; + } + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + font-size: 12px; + background: ${t.tertiaryColor}; + border: 1px solid ${t.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .task-type-0, .section-type-0 { + ${t.fillType0 ? `fill: ${t.fillType0}` : ''}; + } + .task-type-1, .section-type-1 { + ${t.fillType0 ? `fill: ${t.fillType1}` : ''}; + } + .task-type-2, .section-type-2 { + ${t.fillType0 ? `fill: ${t.fillType2}` : ''}; + } + .task-type-3, .section-type-3 { + ${t.fillType0 ? `fill: ${t.fillType3}` : ''}; + } + .task-type-4, .section-type-4 { + ${t.fillType0 ? `fill: ${t.fillType4}` : ''}; + } + .task-type-5, .section-type-5 { + ${t.fillType0 ? `fill: ${t.fillType5}` : ''}; + } + .task-type-6, .section-type-6 { + ${t.fillType0 ? `fill: ${t.fillType6}` : ''}; + } + .task-type-7, .section-type-7 { + ${t.fillType0 ? `fill: ${t.fillType7}` : ''}; + } + + .actor-0 { + ${t.actor0 ? `fill: ${t.actor0}` : ''}; + } + .actor-1 { + ${t.actor1 ? `fill: ${t.actor1}` : ''}; + } + .actor-2 { + ${t.actor2 ? `fill: ${t.actor2}` : ''}; + } + .actor-3 { + ${t.actor3 ? `fill: ${t.actor3}` : ''}; + } + .actor-4 { + ${t.actor4 ? `fill: ${t.actor4}` : ''}; + } + .actor-5 { + ${t.actor5 ? `fill: ${t.actor5}` : ''}; + } +`, + 'getStyles' + )), + (hde = DUe); + }); + var cP, + RUe, + pde, + mde, + NUe, + MUe, + dde, + IUe, + OUe, + gde, + PUe, + Hg, + yde = R(() => { + 'use strict'; + Zt(); + Qy(); + (cP = o(function (t, e) { + return yd(t, e); + }, 'drawRect')), + (RUe = o(function (t, e) { + let n = t + .append('circle') + .attr('cx', e.cx) + .attr('cy', e.cy) + .attr('class', 'face') + .attr('r', 15) + .attr('stroke-width', 2) + .attr('overflow', 'visible'), + i = t.append('g'); + i + .append('circle') + .attr('cx', e.cx - 15 / 3) + .attr('cy', e.cy - 15 / 3) + .attr('r', 1.5) + .attr('stroke-width', 2) + .attr('fill', '#666') + .attr('stroke', '#666'), + i + .append('circle') + .attr('cx', e.cx + 15 / 3) + .attr('cy', e.cy - 15 / 3) + .attr('r', 1.5) + .attr('stroke-width', 2) + .attr('fill', '#666') + .attr('stroke', '#666'); + function a(u) { + let h = bl() + .startAngle(Math.PI / 2) + .endAngle(3 * (Math.PI / 2)) + .innerRadius(7.5) + .outerRadius(6.8181818181818175); + u.append('path') + .attr('class', 'mouth') + .attr('d', h) + .attr('transform', 'translate(' + e.cx + ',' + (e.cy + 2) + ')'); + } + o(a, 'smile'); + function s(u) { + let h = bl() + .startAngle((3 * Math.PI) / 2) + .endAngle(5 * (Math.PI / 2)) + .innerRadius(7.5) + .outerRadius(6.8181818181818175); + u.append('path') + .attr('class', 'mouth') + .attr('d', h) + .attr('transform', 'translate(' + e.cx + ',' + (e.cy + 7) + ')'); + } + o(s, 'sad'); + function l(u) { + u.append('line') + .attr('class', 'mouth') + .attr('stroke', 2) + .attr('x1', e.cx - 5) + .attr('y1', e.cy + 7) + .attr('x2', e.cx + 5) + .attr('y2', e.cy + 7) + .attr('class', 'mouth') + .attr('stroke-width', '1px') + .attr('stroke', '#666'); + } + return o(l, 'ambivalent'), e.score > 3 ? a(i) : e.score < 3 ? s(i) : l(i), n; + }, 'drawFace')), + (pde = o(function (t, e) { + let r = t.append('circle'); + return ( + r.attr('cx', e.cx), + r.attr('cy', e.cy), + r.attr('class', 'actor-' + e.pos), + r.attr('fill', e.fill), + r.attr('stroke', e.stroke), + r.attr('r', e.r), + r.class !== void 0 && r.attr('class', r.class), + e.title !== void 0 && r.append('title').text(e.title), + r + ); + }, 'drawCircle')), + (mde = o(function (t, e) { + return TW(t, e); + }, 'drawText')), + (NUe = o(function (t, e) { + function r(i, a, s, l, u) { + return ( + i + + ',' + + a + + ' ' + + (i + s) + + ',' + + a + + ' ' + + (i + s) + + ',' + + (a + l - u) + + ' ' + + (i + s - u * 1.2) + + ',' + + (a + l) + + ' ' + + i + + ',' + + (a + l) + ); + } + o(r, 'genPoints'); + let n = t.append('polygon'); + n.attr('points', r(e.x, e.y, 50, 20, 7)), + n.attr('class', 'labelBox'), + (e.y = e.y + e.labelMargin), + (e.x = e.x + 0.5 * e.labelMargin), + mde(t, e); + }, 'drawLabel')), + (MUe = o(function (t, e, r) { + let n = t.append('g'), + i = wl(); + (i.x = e.x), + (i.y = e.y), + (i.fill = e.fill), + (i.width = r.width * e.taskCount + r.diagramMarginX * (e.taskCount - 1)), + (i.height = r.height), + (i.class = 'journey-section section-type-' + e.num), + (i.rx = 3), + (i.ry = 3), + cP(n, i), + gde(r)( + e.text, + n, + i.x, + i.y, + i.width, + i.height, + { class: 'journey-section section-type-' + e.num }, + r, + e.colour + ); + }, 'drawSection')), + (dde = -1), + (IUe = o(function (t, e, r) { + let n = e.x + r.width / 2, + i = t.append('g'); + dde++; + let a = 300 + 5 * 30; + i + .append('line') + .attr('id', 'task' + dde) + .attr('x1', n) + .attr('y1', e.y) + .attr('x2', n) + .attr('y2', a) + .attr('class', 'task-line') + .attr('stroke-width', '1px') + .attr('stroke-dasharray', '4 2') + .attr('stroke', '#666'), + RUe(i, { cx: n, cy: 300 + (5 - e.score) * 30, score: e.score }); + let s = wl(); + (s.x = e.x), + (s.y = e.y), + (s.fill = e.fill), + (s.width = r.width), + (s.height = r.height), + (s.class = 'task task-type-' + e.num), + (s.rx = 3), + (s.ry = 3), + cP(i, s); + let l = e.x + 14; + e.people.forEach((u) => { + let h = e.actors[u].color, + f = { + cx: l, + cy: e.y, + r: 7, + fill: h, + stroke: '#000', + title: u, + pos: e.actors[u].position + }; + pde(i, f), (l += 10); + }), + gde(r)(e.task, i, s.x, s.y, s.width, s.height, { class: 'task' }, r, e.colour); + }, 'drawTask')), + (OUe = o(function (t, e) { + j3(t, e); + }, 'drawBackgroundRect')), + (gde = (function () { + function t(i, a, s, l, u, h, f, d) { + let p = a + .append('text') + .attr('x', s + u / 2) + .attr('y', l + h / 2 + 5) + .style('font-color', d) + .style('text-anchor', 'middle') + .text(i); + n(p, f); + } + o(t, 'byText'); + function e(i, a, s, l, u, h, f, d, p) { + let { taskFontSize: m, taskFontFamily: g } = d, + y = i.split(//gi); + for (let v = 0; v < y.length; v++) { + let x = v * m - (m * (y.length - 1)) / 2, + b = a + .append('text') + .attr('x', s + u / 2) + .attr('y', l) + .attr('fill', p) + .style('text-anchor', 'middle') + .style('font-size', m) + .style('font-family', g); + b + .append('tspan') + .attr('x', s + u / 2) + .attr('dy', x) + .text(y[v]), + b + .attr('y', l + h / 2) + .attr('dominant-baseline', 'central') + .attr('alignment-baseline', 'central'), + n(b, f); + } + } + o(e, 'byTspan'); + function r(i, a, s, l, u, h, f, d) { + let p = a.append('switch'), + g = p + .append('foreignObject') + .attr('x', s) + .attr('y', l) + .attr('width', u) + .attr('height', h) + .attr('position', 'fixed') + .append('xhtml:div') + .style('display', 'table') + .style('height', '100%') + .style('width', '100%'); + g + .append('div') + .attr('class', 'label') + .style('display', 'table-cell') + .style('text-align', 'center') + .style('vertical-align', 'middle') + .text(i), + e(i, p, s, l, u, h, f, d), + n(g, f); + } + o(r, 'byFo'); + function n(i, a) { + for (let s in a) s in a && i.attr(s, a[s]); + } + return ( + o(n, '_setTextAttrs'), + function (i) { + return i.textPlacement === 'fo' ? r : i.textPlacement === 'old' ? t : e; + } + ); + })()), + (PUe = o(function (t) { + t.append('defs') + .append('marker') + .attr('id', 'arrowhead') + .attr('refX', 5) + .attr('refY', 2) + .attr('markerWidth', 6) + .attr('markerHeight', 4) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 0,0 V 4 L6,2 Z'); + }, 'initGraphics')), + (Hg = { + drawRect: cP, + drawCircle: pde, + drawSection: MUe, + drawText: mde, + drawLabel: NUe, + drawTask: IUe, + drawBackgroundRect: OUe, + initGraphics: PUe + }); + }); + function FUe(t) { + let e = de().journey, + r = 60; + Object.keys(Xu).forEach((n) => { + let i = Xu[n].color, + a = { + cx: 20, + cy: r, + r: 7, + fill: i, + stroke: '#000', + pos: Xu[n].position + }; + Hg.drawCircle(t, a); + let s = { + x: 40, + y: r + 7, + fill: '#666', + text: n, + textMargin: e.boxTextMargin | 5 + }; + Hg.drawText(t, s), (r += 20); + }); + } + var BUe, + Xu, + JE, + I0, + zUe, + Zo, + uP, + vde, + GUe, + hP, + xde = R(() => { + 'use strict'; + Zt(); + yde(); + _t(); + Yn(); + (BUe = o(function (t) { + Object.keys(t).forEach(function (r) { + JE[r] = t[r]; + }); + }, 'setConf')), + (Xu = {}); + o(FUe, 'drawActorLegend'); + (JE = de().journey), + (I0 = JE.leftMargin), + (zUe = o(function (t, e, r, n) { + let i = de().journey, + a = de().securityLevel, + s; + a === 'sandbox' && (s = $e('#i' + e)); + let l = a === 'sandbox' ? $e(s.nodes()[0].contentDocument.body) : $e('body'); + Zo.init(); + let u = l.select('#' + e); + Hg.initGraphics(u); + let h = n.db.getTasks(), + f = n.db.getDiagramTitle(), + d = n.db.getActors(); + for (let x in Xu) delete Xu[x]; + let p = 0; + d.forEach((x) => { + (Xu[x] = { + color: i.actorColours[p % i.actorColours.length], + position: p + }), + p++; + }), + FUe(u), + Zo.insert(0, 0, I0, Object.keys(Xu).length * 50), + GUe(u, h, 0); + let m = Zo.getBounds(); + f && + u + .append('text') + .text(f) + .attr('x', I0) + .attr('font-size', '4ex') + .attr('font-weight', 'bold') + .attr('y', 25); + let g = m.stopy - m.starty + 2 * i.diagramMarginY, + y = I0 + m.stopx + 2 * i.diagramMarginX; + Sr(u, g, y, i.useMaxWidth), + u + .append('line') + .attr('x1', I0) + .attr('y1', i.height * 4) + .attr('x2', y - I0 - 4) + .attr('y2', i.height * 4) + .attr('stroke-width', 4) + .attr('stroke', 'black') + .attr('marker-end', 'url(#arrowhead)'); + let v = f ? 70 : 0; + u.attr('viewBox', `${m.startx} -25 ${y} ${g + v}`), + u.attr('preserveAspectRatio', 'xMinYMin meet'), + u.attr('height', g + v + 25); + }, 'draw')), + (Zo = { + data: { + startx: void 0, + stopx: void 0, + starty: void 0, + stopy: void 0 + }, + verticalPos: 0, + sequenceItems: [], + init: o(function () { + (this.sequenceItems = []), + (this.data = { + startx: void 0, + stopx: void 0, + starty: void 0, + stopy: void 0 + }), + (this.verticalPos = 0); + }, 'init'), + updateVal: o(function (t, e, r, n) { + t[e] === void 0 ? (t[e] = r) : (t[e] = n(r, t[e])); + }, 'updateVal'), + updateBounds: o(function (t, e, r, n) { + let i = de().journey, + a = this, + s = 0; + function l(u) { + return o(function (f) { + s++; + let d = a.sequenceItems.length - s + 1; + a.updateVal(f, 'starty', e - d * i.boxMargin, Math.min), + a.updateVal(f, 'stopy', n + d * i.boxMargin, Math.max), + a.updateVal(Zo.data, 'startx', t - d * i.boxMargin, Math.min), + a.updateVal(Zo.data, 'stopx', r + d * i.boxMargin, Math.max), + u !== 'activation' && + (a.updateVal(f, 'startx', t - d * i.boxMargin, Math.min), + a.updateVal(f, 'stopx', r + d * i.boxMargin, Math.max), + a.updateVal(Zo.data, 'starty', e - d * i.boxMargin, Math.min), + a.updateVal(Zo.data, 'stopy', n + d * i.boxMargin, Math.max)); + }, 'updateItemBounds'); + } + o(l, 'updateFn'), this.sequenceItems.forEach(l()); + }, 'updateBounds'), + insert: o(function (t, e, r, n) { + let i = Math.min(t, r), + a = Math.max(t, r), + s = Math.min(e, n), + l = Math.max(e, n); + this.updateVal(Zo.data, 'startx', i, Math.min), + this.updateVal(Zo.data, 'starty', s, Math.min), + this.updateVal(Zo.data, 'stopx', a, Math.max), + this.updateVal(Zo.data, 'stopy', l, Math.max), + this.updateBounds(i, s, a, l); + }, 'insert'), + bumpVerticalPos: o(function (t) { + (this.verticalPos = this.verticalPos + t), (this.data.stopy = this.verticalPos); + }, 'bumpVerticalPos'), + getVerticalPos: o(function () { + return this.verticalPos; + }, 'getVerticalPos'), + getBounds: o(function () { + return this.data; + }, 'getBounds') + }), + (uP = JE.sectionFills), + (vde = JE.sectionColours), + (GUe = o(function (t, e, r) { + let n = de().journey, + i = '', + a = n.height * 2 + n.diagramMarginY, + s = r + a, + l = 0, + u = '#CCC', + h = 'black', + f = 0; + for (let [d, p] of e.entries()) { + if (i !== p.section) { + (u = uP[l % uP.length]), (f = l % uP.length), (h = vde[l % vde.length]); + let g = 0, + y = p.section; + for (let x = d; x < e.length && e[x].section == y; x++) g = g + 1; + let v = { + x: d * n.taskMargin + d * n.width + I0, + y: 50, + text: p.section, + fill: u, + num: f, + colour: h, + taskCount: g + }; + Hg.drawSection(t, v, n), (i = p.section), l++; + } + let m = p.people.reduce((g, y) => (Xu[y] && (g[y] = Xu[y]), g), {}); + (p.x = d * n.taskMargin + d * n.width + I0), + (p.y = s), + (p.width = n.diagramMarginX), + (p.height = n.diagramMarginY), + (p.colour = h), + (p.fill = u), + (p.num = f), + (p.actors = m), + Hg.drawTask(t, p, n), + Zo.insert(p.x, p.y, p.x + p.width + n.taskMargin, 300 + 5 * 30); + } + }, 'drawTasks')), + (hP = { setConf: BUe, draw: zUe }); + }); + var bde = {}; + hr(bde, { diagram: () => $Ue }); + var $Ue, + wde = R(() => { + 'use strict'; + lde(); + ude(); + fde(); + xde(); + $Ue = { + parser: ode, + db: lP, + renderer: hP, + styles: hde, + init: o((t) => { + hP.setConf(t.journey), lP.clear(); + }, 'init') + }; + }); + var dP, + _de, + Lde = R(() => { + 'use strict'; + dP = (function () { + var t = o(function (p, m, g, y) { + for (g = g || {}, y = p.length; y--; g[p[y]] = m); + return g; + }, 'o'), + e = [6, 8, 10, 11, 12, 14, 16, 17, 20, 21], + r = [1, 9], + n = [1, 10], + i = [1, 11], + a = [1, 12], + s = [1, 13], + l = [1, 16], + u = [1, 17], + h = { + trace: o(function () {}, 'trace'), + yy: {}, + symbols_: { + error: 2, + start: 3, + timeline: 4, + document: 5, + EOF: 6, + line: 7, + SPACE: 8, + statement: 9, + NEWLINE: 10, + title: 11, + acc_title: 12, + acc_title_value: 13, + acc_descr: 14, + acc_descr_value: 15, + acc_descr_multiline_value: 16, + section: 17, + period_statement: 18, + event_statement: 19, + period: 20, + event: 21, + $accept: 0, + $end: 1 + }, + terminals_: { + 2: 'error', + 4: 'timeline', + 6: 'EOF', + 8: 'SPACE', + 10: 'NEWLINE', + 11: 'title', + 12: 'acc_title', + 13: 'acc_title_value', + 14: 'acc_descr', + 15: 'acc_descr_value', + 16: 'acc_descr_multiline_value', + 17: 'section', + 20: 'period', + 21: 'event' + }, + productions_: [ + 0, + [3, 3], + [5, 0], + [5, 2], + [7, 2], + [7, 1], + [7, 1], + [7, 1], + [9, 1], + [9, 2], + [9, 2], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [18, 1], + [19, 1] + ], + performAction: o(function (m, g, y, v, x, b, w) { + var S = b.length - 1; + switch (x) { + case 1: + return b[S - 1]; + case 2: + this.$ = []; + break; + case 3: + b[S - 1].push(b[S]), (this.$ = b[S - 1]); + break; + case 4: + case 5: + this.$ = b[S]; + break; + case 6: + case 7: + this.$ = []; + break; + case 8: + v.getCommonDb().setDiagramTitle(b[S].substr(6)), (this.$ = b[S].substr(6)); + break; + case 9: + (this.$ = b[S].trim()), v.getCommonDb().setAccTitle(this.$); + break; + case 10: + case 11: + (this.$ = b[S].trim()), v.getCommonDb().setAccDescription(this.$); + break; + case 12: + v.addSection(b[S].substr(8)), (this.$ = b[S].substr(8)); + break; + case 15: + v.addTask(b[S], 0, ''), (this.$ = b[S]); + break; + case 16: + v.addEvent(b[S].substr(2)), (this.$ = b[S]); + break; + } + }, 'anonymous'), + table: [ + { 3: 1, 4: [1, 2] }, + { 1: [3] }, + t(e, [2, 2], { 5: 3 }), + { + 6: [1, 4], + 7: 5, + 8: [1, 6], + 9: 7, + 10: [1, 8], + 11: r, + 12: n, + 14: i, + 16: a, + 17: s, + 18: 14, + 19: 15, + 20: l, + 21: u + }, + t(e, [2, 7], { 1: [2, 1] }), + t(e, [2, 3]), + { + 9: 18, + 11: r, + 12: n, + 14: i, + 16: a, + 17: s, + 18: 14, + 19: 15, + 20: l, + 21: u + }, + t(e, [2, 5]), + t(e, [2, 6]), + t(e, [2, 8]), + { 13: [1, 19] }, + { 15: [1, 20] }, + t(e, [2, 11]), + t(e, [2, 12]), + t(e, [2, 13]), + t(e, [2, 14]), + t(e, [2, 15]), + t(e, [2, 16]), + t(e, [2, 4]), + t(e, [2, 9]), + t(e, [2, 10]) + ], + defaultActions: {}, + parseError: o(function (m, g) { + if (g.recoverable) this.trace(m); + else { + var y = new Error(m); + throw ((y.hash = g), y); + } + }, 'parseError'), + parse: o(function (m) { + var g = this, + y = [0], + v = [], + x = [null], + b = [], + w = this.table, + S = '', + T = 0, + E = 0, + _ = 0, + A = 2, + L = 1, + M = b.slice.call(arguments, 1), + N = Object.create(this.lexer), + k = { yy: {} }; + for (var I in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, I) && (k.yy[I] = this.yy[I]); + N.setInput(m, k.yy), + (k.yy.lexer = N), + (k.yy.parser = this), + typeof N.yylloc > 'u' && (N.yylloc = {}); + var C = N.yylloc; + b.push(C); + var O = N.options && N.options.ranges; + typeof k.yy.parseError == 'function' + ? (this.parseError = k.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError); + function D(q) { + (y.length = y.length - 2 * q), (x.length = x.length - q), (b.length = b.length - q); + } + o(D, 'popStack'); + function P() { + var q; + return ( + (q = v.pop() || N.lex() || L), + typeof q != 'number' && + (q instanceof Array && ((v = q), (q = v.pop())), (q = g.symbols_[q] || q)), + q + ); + } + o(P, 'lex'); + for (var F, B, $, z, Y, Q, X = {}, ie, j, J, Z; ; ) { + if ( + (($ = y[y.length - 1]), + this.defaultActions[$] + ? (z = this.defaultActions[$]) + : ((F === null || typeof F > 'u') && (F = P()), (z = w[$] && w[$][F])), + typeof z > 'u' || !z.length || !z[0]) + ) { + var H = ''; + Z = []; + for (ie in w[$]) + this.terminals_[ie] && ie > A && Z.push("'" + this.terminals_[ie] + "'"); + N.showPosition + ? (H = + 'Parse error on line ' + + (T + 1) + + `: +` + + N.showPosition() + + ` +Expecting ` + + Z.join(', ') + + ", got '" + + (this.terminals_[F] || F) + + "'") + : (H = + 'Parse error on line ' + + (T + 1) + + ': Unexpected ' + + (F == L ? 'end of input' : "'" + (this.terminals_[F] || F) + "'")), + this.parseError(H, { + text: N.match, + token: this.terminals_[F] || F, + line: N.yylineno, + loc: C, + expected: Z + }); + } + if (z[0] instanceof Array && z.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + $ + ', token: ' + F + ); + switch (z[0]) { + case 1: + y.push(F), + x.push(N.yytext), + b.push(N.yylloc), + y.push(z[1]), + (F = null), + B + ? ((F = B), (B = null)) + : ((E = N.yyleng), + (S = N.yytext), + (T = N.yylineno), + (C = N.yylloc), + _ > 0 && _--); + break; + case 2: + if ( + ((j = this.productions_[z[1]][1]), + (X.$ = x[x.length - j]), + (X._$ = { + first_line: b[b.length - (j || 1)].first_line, + last_line: b[b.length - 1].last_line, + first_column: b[b.length - (j || 1)].first_column, + last_column: b[b.length - 1].last_column + }), + O && + (X._$.range = [ + b[b.length - (j || 1)].range[0], + b[b.length - 1].range[1] + ]), + (Q = this.performAction.apply(X, [S, E, T, k.yy, z[1], x, b].concat(M))), + typeof Q < 'u') + ) + return Q; + j && + ((y = y.slice(0, -1 * j * 2)), + (x = x.slice(0, -1 * j)), + (b = b.slice(0, -1 * j))), + y.push(this.productions_[z[1]][0]), + x.push(X.$), + b.push(X._$), + (J = w[y[y.length - 2]][y[y.length - 1]]), + y.push(J); + break; + case 3: + return !0; + } + } + return !0; + }, 'parse') + }, + f = (function () { + var p = { + EOF: 1, + parseError: o(function (g, y) { + if (this.yy.parser) this.yy.parser.parseError(g, y); + else throw new Error(g); + }, 'parseError'), + setInput: o(function (m, g) { + return ( + (this.yy = g || this.yy || {}), + (this._input = m), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, 'setInput'), + input: o(function () { + var m = this._input[0]; + (this.yytext += m), + this.yyleng++, + this.offset++, + (this.match += m), + (this.matched += m); + var g = m.match(/(?:\r\n?|\n).*/g); + return ( + g ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + m + ); + }, 'input'), + unput: o(function (m) { + var g = m.length, + y = m.split(/(?:\r\n?|\n)/g); + (this._input = m + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - g)), + (this.offset -= g); + var v = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + y.length - 1 && (this.yylineno -= y.length - 1); + var x = this.yylloc.range; + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: y + ? (y.length === v.length ? this.yylloc.first_column : 0) + + v[v.length - y.length].length - + y[0].length + : this.yylloc.first_column - g + }), + this.options.ranges && (this.yylloc.range = [x[0], x[0] + this.yyleng - g]), + (this.yyleng = this.yytext.length), + this + ); + }, 'unput'), + more: o(function () { + return (this._more = !0), this; + }, 'more'), + reject: o(function () { + if (this.options.backtrack_lexer) this._backtrack = !0; + else + return this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + return this; + }, 'reject'), + less: o(function (m) { + this.unput(this.match.slice(m)); + }, 'less'), + pastInput: o(function () { + var m = this.matched.substr(0, this.matched.length - this.match.length); + return (m.length > 20 ? '...' : '') + m.substr(-20).replace(/\n/g, ''); + }, 'pastInput'), + upcomingInput: o(function () { + var m = this.match; + return ( + m.length < 20 && (m += this._input.substr(0, 20 - m.length)), + (m.substr(0, 20) + (m.length > 20 ? '...' : '')).replace(/\n/g, '') + ); + }, 'upcomingInput'), + showPosition: o(function () { + var m = this.pastInput(), + g = new Array(m.length + 1).join('-'); + return ( + m + + this.upcomingInput() + + ` +` + + g + + '^' + ); + }, 'showPosition'), + test_match: o(function (m, g) { + var y, v, x; + if ( + (this.options.backtrack_lexer && + ((x = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }), + this.options.ranges && (x.yylloc.range = this.yylloc.range.slice(0))), + (v = m[0].match(/(?:\r\n?|\n).*/g)), + v && (this.yylineno += v.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: v + ? v[v.length - 1].length - v[v.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + m[0].length + }), + (this.yytext += m[0]), + (this.match += m[0]), + (this.matches = m), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(m[0].length)), + (this.matched += m[0]), + (y = this.performAction.call( + this, + this.yy, + this, + g, + this.conditionStack[this.conditionStack.length - 1] + )), + this.done && this._input && (this.done = !1), + y) + ) + return y; + if (this._backtrack) { + for (var b in x) this[b] = x[b]; + return !1; + } + return !1; + }, 'test_match'), + next: o(function () { + if (this.done) return this.EOF; + this._input || (this.done = !0); + var m, g, y, v; + this._more || ((this.yytext = ''), (this.match = '')); + for (var x = this._currentRules(), b = 0; b < x.length; b++) + if ( + ((y = this._input.match(this.rules[x[b]])), + y && (!g || y[0].length > g[0].length)) + ) { + if (((g = y), (v = b), this.options.backtrack_lexer)) { + if (((m = this.test_match(y, x[b])), m !== !1)) return m; + if (this._backtrack) { + g = !1; + continue; + } else return !1; + } else if (!this.options.flex) break; + } + return g + ? ((m = this.test_match(g, x[v])), m !== !1 ? m : !1) + : this._input === '' + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, 'next'), + lex: o(function () { + var g = this.next(); + return g || this.lex(); + }, 'lex'), + begin: o(function (g) { + this.conditionStack.push(g); + }, 'begin'), + popState: o(function () { + var g = this.conditionStack.length - 1; + return g > 0 ? this.conditionStack.pop() : this.conditionStack[0]; + }, 'popState'), + _currentRules: o(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules; + }, '_currentRules'), + topState: o(function (g) { + return ( + (g = this.conditionStack.length - 1 - Math.abs(g || 0)), + g >= 0 ? this.conditionStack[g] : 'INITIAL' + ); + }, 'topState'), + pushState: o(function (g) { + this.begin(g); + }, 'pushState'), + stateStackSize: o(function () { + return this.conditionStack.length; + }, 'stateStackSize'), + options: { 'case-insensitive': !0 }, + performAction: o(function (g, y, v, x) { + var b = x; + switch (v) { + case 0: + break; + case 1: + break; + case 2: + return 10; + case 3: + break; + case 4: + break; + case 5: + return 4; + case 6: + return 11; + case 7: + return this.begin('acc_title'), 12; + break; + case 8: + return this.popState(), 'acc_title_value'; + break; + case 9: + return this.begin('acc_descr'), 14; + break; + case 10: + return this.popState(), 'acc_descr_value'; + break; + case 11: + this.begin('acc_descr_multiline'); + break; + case 12: + this.popState(); + break; + case 13: + return 'acc_descr_multiline_value'; + case 14: + return 17; + case 15: + return 21; + case 16: + return 20; + case 17: + return 6; + case 18: + return 'INVALID'; + } + }, 'anonymous'), + rules: [ + /^(?:%(?!\{)[^\n]*)/i, + /^(?:[^\}]%%[^\n]*)/i, + /^(?:[\n]+)/i, + /^(?:\s+)/i, + /^(?:#[^\n]*)/i, + /^(?:timeline\b)/i, + /^(?:title\s[^\n]+)/i, + /^(?:accTitle\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*\{\s*)/i, + /^(?:[\}])/i, + /^(?:[^\}]*)/i, + /^(?:section\s[^:\n]+)/i, + /^(?::\s[^:\n]+)/i, + /^(?:[^#:\n]+)/i, + /^(?:$)/i, + /^(?:.)/i + ], + conditions: { + acc_descr_multiline: { rules: [12, 13], inclusive: !1 }, + acc_descr: { rules: [10], inclusive: !1 }, + acc_title: { rules: [8], inclusive: !1 }, + INITIAL: { + rules: [0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 18], + inclusive: !0 + } + } + }; + return p; + })(); + h.lexer = f; + function d() { + this.yy = {}; + } + return o(d, 'Parser'), (d.prototype = h), (h.Parser = d), new d(); + })(); + dP.parser = dP; + _de = dP; + }); + var mP = {}; + hr(mP, { + addEvent: () => Fde, + addSection: () => Ide, + addTask: () => Bde, + addTaskOrg: () => zde, + clear: () => Mde, + default: () => KUe, + getCommonDb: () => Nde, + getSections: () => Ode, + getTasks: () => Pde + }); + var Yg, + Rde, + pP, + e6, + Wg, + Nde, + Mde, + Ide, + Ode, + Pde, + Bde, + Fde, + zde, + Dde, + KUe, + Gde = R(() => { + 'use strict'; + bi(); + (Yg = ''), + (Rde = 0), + (pP = []), + (e6 = []), + (Wg = []), + (Nde = o(() => ly, 'getCommonDb')), + (Mde = o(function () { + (pP.length = 0), (e6.length = 0), (Yg = ''), (Wg.length = 0), vr(); + }, 'clear')), + (Ide = o(function (t) { + (Yg = t), pP.push(t); + }, 'addSection')), + (Ode = o(function () { + return pP; + }, 'getSections')), + (Pde = o(function () { + let t = Dde(), + e = 100, + r = 0; + for (; !t && r < e; ) (t = Dde()), r++; + return e6.push(...Wg), e6; + }, 'getTasks')), + (Bde = o(function (t, e, r) { + let n = { + id: Rde++, + section: Yg, + type: Yg, + task: t, + score: e || 0, + events: r ? [r] : [] + }; + Wg.push(n); + }, 'addTask')), + (Fde = o(function (t) { + Wg.find((r) => r.id === Rde - 1).events.push(t); + }, 'addEvent')), + (zde = o(function (t) { + let e = { + section: Yg, + type: Yg, + description: t, + task: t, + classes: [] + }; + e6.push(e); + }, 'addTaskOrg')), + (Dde = o(function () { + let t = o(function (r) { + return Wg[r].processed; + }, 'compileTask'), + e = !0; + for (let [r, n] of Wg.entries()) t(r), (e = e && n.processed); + return e; + }, 'compileTasks')), + (KUe = { + clear: Mde, + getCommonDb: Nde, + addSection: Ide, + getSections: Ode, + getTasks: Pde, + addTask: Bde, + addTaskOrg: zde, + addEvent: Fde + }); + }); + function Hde(t, e) { + t.each(function () { + var r = $e(this), + n = r + .text() + .split(/(\s+|
    )/) + .reverse(), + i, + a = [], + s = 1.1, + l = r.attr('y'), + u = parseFloat(r.attr('dy')), + h = r + .text(null) + .append('tspan') + .attr('x', 0) + .attr('y', l) + .attr('dy', u + 'em'); + for (let f = 0; f < n.length; f++) + (i = n[n.length - 1 - f]), + a.push(i), + h.text(a.join(' ').trim()), + (h.node().getComputedTextLength() > e || i === '
    ') && + (a.pop(), + h.text(a.join(' ').trim()), + i === '
    ' ? (a = ['']) : (a = [i]), + (h = r + .append('tspan') + .attr('x', 0) + .attr('y', l) + .attr('dy', s + 'em') + .text(i))); + }); + } + var QUe, + t6, + ZUe, + JUe, + Vde, + eHe, + tHe, + $de, + rHe, + nHe, + iHe, + gP, + Ude, + aHe, + sHe, + oHe, + lHe, + xf, + Yde = R(() => { + 'use strict'; + Zt(); + (QUe = 12), + (t6 = o(function (t, e) { + let r = t.append('rect'); + return ( + r.attr('x', e.x), + r.attr('y', e.y), + r.attr('fill', e.fill), + r.attr('stroke', e.stroke), + r.attr('width', e.width), + r.attr('height', e.height), + r.attr('rx', e.rx), + r.attr('ry', e.ry), + e.class !== void 0 && r.attr('class', e.class), + r + ); + }, 'drawRect')), + (ZUe = o(function (t, e) { + let n = t + .append('circle') + .attr('cx', e.cx) + .attr('cy', e.cy) + .attr('class', 'face') + .attr('r', 15) + .attr('stroke-width', 2) + .attr('overflow', 'visible'), + i = t.append('g'); + i + .append('circle') + .attr('cx', e.cx - 15 / 3) + .attr('cy', e.cy - 15 / 3) + .attr('r', 1.5) + .attr('stroke-width', 2) + .attr('fill', '#666') + .attr('stroke', '#666'), + i + .append('circle') + .attr('cx', e.cx + 15 / 3) + .attr('cy', e.cy - 15 / 3) + .attr('r', 1.5) + .attr('stroke-width', 2) + .attr('fill', '#666') + .attr('stroke', '#666'); + function a(u) { + let h = bl() + .startAngle(Math.PI / 2) + .endAngle(3 * (Math.PI / 2)) + .innerRadius(7.5) + .outerRadius(6.8181818181818175); + u.append('path') + .attr('class', 'mouth') + .attr('d', h) + .attr('transform', 'translate(' + e.cx + ',' + (e.cy + 2) + ')'); + } + o(a, 'smile'); + function s(u) { + let h = bl() + .startAngle((3 * Math.PI) / 2) + .endAngle(5 * (Math.PI / 2)) + .innerRadius(7.5) + .outerRadius(6.8181818181818175); + u.append('path') + .attr('class', 'mouth') + .attr('d', h) + .attr('transform', 'translate(' + e.cx + ',' + (e.cy + 7) + ')'); + } + o(s, 'sad'); + function l(u) { + u.append('line') + .attr('class', 'mouth') + .attr('stroke', 2) + .attr('x1', e.cx - 5) + .attr('y1', e.cy + 7) + .attr('x2', e.cx + 5) + .attr('y2', e.cy + 7) + .attr('class', 'mouth') + .attr('stroke-width', '1px') + .attr('stroke', '#666'); + } + return o(l, 'ambivalent'), e.score > 3 ? a(i) : e.score < 3 ? s(i) : l(i), n; + }, 'drawFace')), + (JUe = o(function (t, e) { + let r = t.append('circle'); + return ( + r.attr('cx', e.cx), + r.attr('cy', e.cy), + r.attr('class', 'actor-' + e.pos), + r.attr('fill', e.fill), + r.attr('stroke', e.stroke), + r.attr('r', e.r), + r.class !== void 0 && r.attr('class', r.class), + e.title !== void 0 && r.append('title').text(e.title), + r + ); + }, 'drawCircle')), + (Vde = o(function (t, e) { + let r = e.text.replace(//gi, ' '), + n = t.append('text'); + n.attr('x', e.x), + n.attr('y', e.y), + n.attr('class', 'legend'), + n.style('text-anchor', e.anchor), + e.class !== void 0 && n.attr('class', e.class); + let i = n.append('tspan'); + return i.attr('x', e.x + e.textMargin * 2), i.text(r), n; + }, 'drawText')), + (eHe = o(function (t, e) { + function r(i, a, s, l, u) { + return ( + i + + ',' + + a + + ' ' + + (i + s) + + ',' + + a + + ' ' + + (i + s) + + ',' + + (a + l - u) + + ' ' + + (i + s - u * 1.2) + + ',' + + (a + l) + + ' ' + + i + + ',' + + (a + l) + ); + } + o(r, 'genPoints'); + let n = t.append('polygon'); + n.attr('points', r(e.x, e.y, 50, 20, 7)), + n.attr('class', 'labelBox'), + (e.y = e.y + e.labelMargin), + (e.x = e.x + 0.5 * e.labelMargin), + Vde(t, e); + }, 'drawLabel')), + (tHe = o(function (t, e, r) { + let n = t.append('g'), + i = gP(); + (i.x = e.x), + (i.y = e.y), + (i.fill = e.fill), + (i.width = r.width), + (i.height = r.height), + (i.class = 'journey-section section-type-' + e.num), + (i.rx = 3), + (i.ry = 3), + t6(n, i), + Ude(r)( + e.text, + n, + i.x, + i.y, + i.width, + i.height, + { class: 'journey-section section-type-' + e.num }, + r, + e.colour + ); + }, 'drawSection')), + ($de = -1), + (rHe = o(function (t, e, r) { + let n = e.x + r.width / 2, + i = t.append('g'); + $de++; + let a = 300 + 5 * 30; + i + .append('line') + .attr('id', 'task' + $de) + .attr('x1', n) + .attr('y1', e.y) + .attr('x2', n) + .attr('y2', a) + .attr('class', 'task-line') + .attr('stroke-width', '1px') + .attr('stroke-dasharray', '4 2') + .attr('stroke', '#666'), + ZUe(i, { cx: n, cy: 300 + (5 - e.score) * 30, score: e.score }); + let s = gP(); + (s.x = e.x), + (s.y = e.y), + (s.fill = e.fill), + (s.width = r.width), + (s.height = r.height), + (s.class = 'task task-type-' + e.num), + (s.rx = 3), + (s.ry = 3), + t6(i, s), + Ude(r)(e.task, i, s.x, s.y, s.width, s.height, { class: 'task' }, r, e.colour); + }, 'drawTask')), + (nHe = o(function (t, e) { + t6(t, { + x: e.startx, + y: e.starty, + width: e.stopx - e.startx, + height: e.stopy - e.starty, + fill: e.fill, + class: 'rect' + }).lower(); + }, 'drawBackgroundRect')), + (iHe = o(function () { + return { + x: 0, + y: 0, + fill: void 0, + 'text-anchor': 'start', + width: 100, + height: 100, + textMargin: 0, + rx: 0, + ry: 0 + }; + }, 'getTextObj')), + (gP = o(function () { + return { + x: 0, + y: 0, + width: 100, + anchor: 'start', + height: 100, + rx: 0, + ry: 0 + }; + }, 'getNoteRect')), + (Ude = (function () { + function t(i, a, s, l, u, h, f, d) { + let p = a + .append('text') + .attr('x', s + u / 2) + .attr('y', l + h / 2 + 5) + .style('font-color', d) + .style('text-anchor', 'middle') + .text(i); + n(p, f); + } + o(t, 'byText'); + function e(i, a, s, l, u, h, f, d, p) { + let { taskFontSize: m, taskFontFamily: g } = d, + y = i.split(//gi); + for (let v = 0; v < y.length; v++) { + let x = v * m - (m * (y.length - 1)) / 2, + b = a + .append('text') + .attr('x', s + u / 2) + .attr('y', l) + .attr('fill', p) + .style('text-anchor', 'middle') + .style('font-size', m) + .style('font-family', g); + b + .append('tspan') + .attr('x', s + u / 2) + .attr('dy', x) + .text(y[v]), + b + .attr('y', l + h / 2) + .attr('dominant-baseline', 'central') + .attr('alignment-baseline', 'central'), + n(b, f); + } + } + o(e, 'byTspan'); + function r(i, a, s, l, u, h, f, d) { + let p = a.append('switch'), + g = p + .append('foreignObject') + .attr('x', s) + .attr('y', l) + .attr('width', u) + .attr('height', h) + .attr('position', 'fixed') + .append('xhtml:div') + .style('display', 'table') + .style('height', '100%') + .style('width', '100%'); + g + .append('div') + .attr('class', 'label') + .style('display', 'table-cell') + .style('text-align', 'center') + .style('vertical-align', 'middle') + .text(i), + e(i, p, s, l, u, h, f, d), + n(g, f); + } + o(r, 'byFo'); + function n(i, a) { + for (let s in a) s in a && i.attr(s, a[s]); + } + return ( + o(n, '_setTextAttrs'), + function (i) { + return i.textPlacement === 'fo' ? r : i.textPlacement === 'old' ? t : e; + } + ); + })()), + (aHe = o(function (t) { + t.append('defs') + .append('marker') + .attr('id', 'arrowhead') + .attr('refX', 5) + .attr('refY', 2) + .attr('markerWidth', 6) + .attr('markerHeight', 4) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 0,0 V 4 L6,2 Z'); + }, 'initGraphics')); + o(Hde, 'wrap'); + (sHe = o(function (t, e, r, n) { + let i = (r % QUe) - 1, + a = t.append('g'); + (e.section = i), a.attr('class', (e.class ? e.class + ' ' : '') + 'timeline-node ' + ('section-' + i)); + let s = a.append('g'), + l = a.append('g'), + h = l + .append('text') + .text(e.descr) + .attr('dy', '1em') + .attr('alignment-baseline', 'middle') + .attr('dominant-baseline', 'middle') + .attr('text-anchor', 'middle') + .call(Hde, e.width) + .node() + .getBBox(), + f = n.fontSize?.replace ? n.fontSize.replace('px', '') : n.fontSize; + return ( + (e.height = h.height + f * 1.1 * 0.5 + e.padding), + (e.height = Math.max(e.height, e.maxHeight)), + (e.width = e.width + 2 * e.padding), + l.attr('transform', 'translate(' + e.width / 2 + ', ' + e.padding / 2 + ')'), + lHe(s, e, i, n), + e + ); + }, 'drawNode')), + (oHe = o(function (t, e, r) { + let n = t.append('g'), + a = n + .append('text') + .text(e.descr) + .attr('dy', '1em') + .attr('alignment-baseline', 'middle') + .attr('dominant-baseline', 'middle') + .attr('text-anchor', 'middle') + .call(Hde, e.width) + .node() + .getBBox(), + s = r.fontSize?.replace ? r.fontSize.replace('px', '') : r.fontSize; + return n.remove(), a.height + s * 1.1 * 0.5 + e.padding; + }, 'getVirtualNodeHeight')), + (lHe = o(function (t, e, r) { + t + .append('path') + .attr('id', 'node-' + e.id) + .attr('class', 'node-bkg node-' + e.type) + .attr( + 'd', + `M0 ${e.height - 5} v${-e.height + 2 * 5} q0,-5 5,-5 h${e.width - 2 * 5} q5,0 5,5 v${ + e.height - 5 + } H0 Z` + ), + t + .append('line') + .attr('class', 'node-line-' + r) + .attr('x1', 0) + .attr('y1', e.height) + .attr('x2', e.width) + .attr('y2', e.height); + }, 'defaultBkg')), + (xf = { + drawRect: t6, + drawCircle: JUe, + drawSection: tHe, + drawText: Vde, + drawLabel: eHe, + drawTask: rHe, + drawBackgroundRect: nHe, + getTextObj: iHe, + getNoteRect: gP, + initGraphics: aHe, + drawNode: sHe, + getVirtualNodeHeight: oHe + }); + }); + var cHe, + Wde, + uHe, + qde, + Xde = R(() => { + 'use strict'; + Zt(); + Yde(); + ut(); + _t(); + Yn(); + (cHe = o(function (t, e, r, n) { + let i = de(), + a = i.leftMargin ?? 50; + V.debug('timeline', n.db); + let s = i.securityLevel, + l; + s === 'sandbox' && (l = $e('#i' + e)); + let h = (s === 'sandbox' ? $e(l.nodes()[0].contentDocument.body) : $e('body')).select('#' + e); + h.append('g'); + let f = n.db.getTasks(), + d = n.db.getCommonDb().getDiagramTitle(); + V.debug('task', f), xf.initGraphics(h); + let p = n.db.getSections(); + V.debug('sections', p); + let m = 0, + g = 0, + y = 0, + v = 0, + x = 50 + a, + b = 50; + v = 50; + let w = 0, + S = !0; + p.forEach(function (L) { + let M = { + number: w, + descr: L, + section: w, + width: 150, + padding: 20, + maxHeight: m + }, + N = xf.getVirtualNodeHeight(h, M, i); + V.debug('sectionHeight before draw', N), (m = Math.max(m, N + 20)); + }); + let T = 0, + E = 0; + V.debug('tasks.length', f.length); + for (let [L, M] of f.entries()) { + let N = { + number: L, + descr: M, + section: M.section, + width: 150, + padding: 20, + maxHeight: g + }, + k = xf.getVirtualNodeHeight(h, N, i); + V.debug('taskHeight before draw', k), (g = Math.max(g, k + 20)), (T = Math.max(T, M.events.length)); + let I = 0; + for (let C of M.events) { + let O = { + descr: C, + section: M.section, + number: M.section, + width: 150, + padding: 20, + maxHeight: 50 + }; + I += xf.getVirtualNodeHeight(h, O, i); + } + E = Math.max(E, I); + } + V.debug('maxSectionHeight before draw', m), + V.debug('maxTaskHeight before draw', g), + p && p.length > 0 + ? p.forEach((L) => { + let M = f.filter((C) => C.section === L), + N = { + number: w, + descr: L, + section: w, + width: 200 * Math.max(M.length, 1) - 50, + padding: 20, + maxHeight: m + }; + V.debug('sectionNode', N); + let k = h.append('g'), + I = xf.drawNode(k, N, w, i); + V.debug('sectionNode output', I), + k.attr('transform', `translate(${x}, ${v})`), + (b += m + 50), + M.length > 0 && Wde(h, M, w, x, b, g, i, T, E, m, !1), + (x += 200 * Math.max(M.length, 1)), + (b = v), + w++; + }) + : ((S = !1), Wde(h, f, w, x, b, g, i, T, E, m, !0)); + let _ = h.node().getBBox(); + V.debug('bounds', _), + d && + h + .append('text') + .text(d) + .attr('x', _.width / 2 - a) + .attr('font-size', '4ex') + .attr('font-weight', 'bold') + .attr('y', 20), + (y = S ? m + g + 150 : g + 100), + h + .append('g') + .attr('class', 'lineWrapper') + .append('line') + .attr('x1', a) + .attr('y1', y) + .attr('x2', _.width + 3 * a) + .attr('y2', y) + .attr('stroke-width', 4) + .attr('stroke', 'black') + .attr('marker-end', 'url(#arrowhead)'), + Lo(void 0, h, i.timeline?.padding ?? 50, i.timeline?.useMaxWidth ?? !1); + }, 'draw')), + (Wde = o(function (t, e, r, n, i, a, s, l, u, h, f) { + for (let d of e) { + let p = { + descr: d.task, + section: r, + number: r, + width: 150, + padding: 20, + maxHeight: a + }; + V.debug('taskNode', p); + let m = t.append('g').attr('class', 'taskWrapper'), + y = xf.drawNode(m, p, r, s).height; + if ( + (V.debug('taskHeight after draw', y), + m.attr('transform', `translate(${n}, ${i})`), + (a = Math.max(a, y)), + d.events) + ) { + let v = t.append('g').attr('class', 'lineWrapper'), + x = a; + (i += 100), + (x = x + uHe(t, d.events, r, n, i, s)), + (i -= 100), + v + .append('line') + .attr('x1', n + 190 / 2) + .attr('y1', i + a) + .attr('x2', n + 190 / 2) + .attr('y2', i + a + (f ? a : h) + u + 120) + .attr('stroke-width', 2) + .attr('stroke', 'black') + .attr('marker-end', 'url(#arrowhead)') + .attr('stroke-dasharray', '5,5'); + } + (n = n + 200), f && !s.timeline?.disableMulticolor && r++; + } + i = i - 10; + }, 'drawTasks')), + (uHe = o(function (t, e, r, n, i, a) { + let s = 0, + l = i; + i = i + 100; + for (let u of e) { + let h = { + descr: u, + section: r, + number: r, + width: 150, + padding: 20, + maxHeight: 50 + }; + V.debug('eventNode', h); + let f = t.append('g').attr('class', 'eventWrapper'), + p = xf.drawNode(f, h, r, a).height; + (s = s + p), f.attr('transform', `translate(${n}, ${i})`), (i = i + 10 + p); + } + return (i = l), s; + }, 'drawEvents')), + (qde = { setConf: o(() => {}, 'setConf'), draw: cHe }); + }); + var hHe, + fHe, + jde, + Kde = R(() => { + 'use strict'; + al(); + (hHe = o((t) => { + let e = ''; + for (let r = 0; r < t.THEME_COLOR_LIMIT; r++) + (t['lineColor' + r] = t['lineColor' + r] || t['cScaleInv' + r]), + Wa(t['lineColor' + r]) + ? (t['lineColor' + r] = Et(t['lineColor' + r], 20)) + : (t['lineColor' + r] = Dt(t['lineColor' + r], 20)); + for (let r = 0; r < t.THEME_COLOR_LIMIT; r++) { + let n = '' + (17 - 3 * r); + e += ` + .section-${r - 1} rect, .section-${r - 1} path, .section-${r - 1} circle, .section-${r - 1} path { + fill: ${t['cScale' + r]}; + } + .section-${r - 1} text { + fill: ${t['cScaleLabel' + r]}; + } + .node-icon-${r - 1} { + font-size: 40px; + color: ${t['cScaleLabel' + r]}; + } + .section-edge-${r - 1}{ + stroke: ${t['cScale' + r]}; + } + .edge-depth-${r - 1}{ + stroke-width: ${n}; + } + .section-${r - 1} line { + stroke: ${t['cScaleInv' + r]} ; + stroke-width: 3; + } + + .lineWrapper line{ + stroke: ${t['cScaleLabel' + r]} ; + } + + .disabled, .disabled circle, .disabled text { + fill: lightgray; + } + .disabled text { + fill: #efefef; + } + `; + } + return e; + }, 'genSections')), + (fHe = o( + (t) => ` + .edge { + stroke-width: 3; + } + ${hHe(t)} + .section-root rect, .section-root path, .section-root circle { + fill: ${t.git0}; + } + .section-root text { + fill: ${t.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .eventWrapper { + filter: brightness(120%); + } +`, + 'getStyles' + )), + (jde = fHe); + }); + var Qde = {}; + hr(Qde, { diagram: () => dHe }); + var dHe, + Zde = R(() => { + 'use strict'; + Lde(); + Gde(); + Xde(); + Kde(); + dHe = { db: mP, renderer: qde, parser: _de, styles: jde }; + }); + var yP, + t0e, + r0e = R(() => { + 'use strict'; + yP = (function () { + var t = o(function (S, T, E, _) { + for (E = E || {}, _ = S.length; _--; E[S[_]] = T); + return E; + }, 'o'), + e = [1, 4], + r = [1, 13], + n = [1, 12], + i = [1, 15], + a = [1, 16], + s = [1, 20], + l = [1, 19], + u = [6, 7, 8], + h = [1, 26], + f = [1, 24], + d = [1, 25], + p = [6, 7, 11], + m = [1, 6, 13, 15, 16, 19, 22], + g = [1, 33], + y = [1, 34], + v = [1, 6, 7, 11, 13, 15, 16, 19, 22], + x = { + trace: o(function () {}, 'trace'), + yy: {}, + symbols_: { + error: 2, + start: 3, + mindMap: 4, + spaceLines: 5, + SPACELINE: 6, + NL: 7, + MINDMAP: 8, + document: 9, + stop: 10, + EOF: 11, + statement: 12, + SPACELIST: 13, + node: 14, + ICON: 15, + CLASS: 16, + nodeWithId: 17, + nodeWithoutId: 18, + NODE_DSTART: 19, + NODE_DESCR: 20, + NODE_DEND: 21, + NODE_ID: 22, + $accept: 0, + $end: 1 + }, + terminals_: { + 2: 'error', + 6: 'SPACELINE', + 7: 'NL', + 8: 'MINDMAP', + 11: 'EOF', + 13: 'SPACELIST', + 15: 'ICON', + 16: 'CLASS', + 19: 'NODE_DSTART', + 20: 'NODE_DESCR', + 21: 'NODE_DEND', + 22: 'NODE_ID' + }, + productions_: [ + 0, + [3, 1], + [3, 2], + [5, 1], + [5, 2], + [5, 2], + [4, 2], + [4, 3], + [10, 1], + [10, 1], + [10, 1], + [10, 2], + [10, 2], + [9, 3], + [9, 2], + [12, 2], + [12, 2], + [12, 2], + [12, 1], + [12, 1], + [12, 1], + [12, 1], + [12, 1], + [14, 1], + [14, 1], + [18, 3], + [17, 1], + [17, 4] + ], + performAction: o(function (T, E, _, A, L, M, N) { + var k = M.length - 1; + switch (L) { + case 6: + case 7: + return A; + case 8: + A.getLogger().trace('Stop NL '); + break; + case 9: + A.getLogger().trace('Stop EOF '); + break; + case 11: + A.getLogger().trace('Stop NL2 '); + break; + case 12: + A.getLogger().trace('Stop EOF2 '); + break; + case 15: + A.getLogger().info('Node: ', M[k].id), + A.addNode(M[k - 1].length, M[k].id, M[k].descr, M[k].type); + break; + case 16: + A.getLogger().trace('Icon: ', M[k]), A.decorateNode({ icon: M[k] }); + break; + case 17: + case 21: + A.decorateNode({ class: M[k] }); + break; + case 18: + A.getLogger().trace('SPACELIST'); + break; + case 19: + A.getLogger().trace('Node: ', M[k].id), + A.addNode(0, M[k].id, M[k].descr, M[k].type); + break; + case 20: + A.decorateNode({ icon: M[k] }); + break; + case 25: + A.getLogger().trace('node found ..', M[k - 2]), + (this.$ = { + id: M[k - 1], + descr: M[k - 1], + type: A.getType(M[k - 2], M[k]) + }); + break; + case 26: + this.$ = { id: M[k], descr: M[k], type: A.nodeType.DEFAULT }; + break; + case 27: + A.getLogger().trace('node found ..', M[k - 3]), + (this.$ = { + id: M[k - 3], + descr: M[k - 1], + type: A.getType(M[k - 2], M[k]) + }); + break; + } + }, 'anonymous'), + table: [ + { 3: 1, 4: 2, 5: 3, 6: [1, 5], 8: e }, + { 1: [3] }, + { 1: [2, 1] }, + { 4: 6, 6: [1, 7], 7: [1, 8], 8: e }, + { + 6: r, + 7: [1, 10], + 9: 9, + 12: 11, + 13: n, + 14: 14, + 15: i, + 16: a, + 17: 17, + 18: 18, + 19: s, + 22: l + }, + t(u, [2, 3]), + { 1: [2, 2] }, + t(u, [2, 4]), + t(u, [2, 5]), + { + 1: [2, 6], + 6: r, + 12: 21, + 13: n, + 14: 14, + 15: i, + 16: a, + 17: 17, + 18: 18, + 19: s, + 22: l + }, + { + 6: r, + 9: 22, + 12: 11, + 13: n, + 14: 14, + 15: i, + 16: a, + 17: 17, + 18: 18, + 19: s, + 22: l + }, + { 6: h, 7: f, 10: 23, 11: d }, + t(p, [2, 22], { + 17: 17, + 18: 18, + 14: 27, + 15: [1, 28], + 16: [1, 29], + 19: s, + 22: l + }), + t(p, [2, 18]), + t(p, [2, 19]), + t(p, [2, 20]), + t(p, [2, 21]), + t(p, [2, 23]), + t(p, [2, 24]), + t(p, [2, 26], { 19: [1, 30] }), + { 20: [1, 31] }, + { 6: h, 7: f, 10: 32, 11: d }, + { + 1: [2, 7], + 6: r, + 12: 21, + 13: n, + 14: 14, + 15: i, + 16: a, + 17: 17, + 18: 18, + 19: s, + 22: l + }, + t(m, [2, 14], { 7: g, 11: y }), + t(v, [2, 8]), + t(v, [2, 9]), + t(v, [2, 10]), + t(p, [2, 15]), + t(p, [2, 16]), + t(p, [2, 17]), + { 20: [1, 35] }, + { 21: [1, 36] }, + t(m, [2, 13], { 7: g, 11: y }), + t(v, [2, 11]), + t(v, [2, 12]), + { 21: [1, 37] }, + t(p, [2, 25]), + t(p, [2, 27]) + ], + defaultActions: { 2: [2, 1], 6: [2, 2] }, + parseError: o(function (T, E) { + if (E.recoverable) this.trace(T); + else { + var _ = new Error(T); + throw ((_.hash = E), _); + } + }, 'parseError'), + parse: o(function (T) { + var E = this, + _ = [0], + A = [], + L = [null], + M = [], + N = this.table, + k = '', + I = 0, + C = 0, + O = 0, + D = 2, + P = 1, + F = M.slice.call(arguments, 1), + B = Object.create(this.lexer), + $ = { yy: {} }; + for (var z in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, z) && ($.yy[z] = this.yy[z]); + B.setInput(T, $.yy), + ($.yy.lexer = B), + ($.yy.parser = this), + typeof B.yylloc > 'u' && (B.yylloc = {}); + var Y = B.yylloc; + M.push(Y); + var Q = B.options && B.options.ranges; + typeof $.yy.parseError == 'function' + ? (this.parseError = $.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError); + function X(ke) { + (_.length = _.length - 2 * ke), (L.length = L.length - ke), (M.length = M.length - ke); + } + o(X, 'popStack'); + function ie() { + var ke; + return ( + (ke = A.pop() || B.lex() || P), + typeof ke != 'number' && + (ke instanceof Array && ((A = ke), (ke = A.pop())), + (ke = E.symbols_[ke] || ke)), + ke + ); + } + o(ie, 'lex'); + for (var j, J, Z, H, q, K, se = {}, ce, ue, te, De; ; ) { + if ( + ((Z = _[_.length - 1]), + this.defaultActions[Z] + ? (H = this.defaultActions[Z]) + : ((j === null || typeof j > 'u') && (j = ie()), (H = N[Z] && N[Z][j])), + typeof H > 'u' || !H.length || !H[0]) + ) { + var oe = ''; + De = []; + for (ce in N[Z]) + this.terminals_[ce] && ce > D && De.push("'" + this.terminals_[ce] + "'"); + B.showPosition + ? (oe = + 'Parse error on line ' + + (I + 1) + + `: +` + + B.showPosition() + + ` +Expecting ` + + De.join(', ') + + ", got '" + + (this.terminals_[j] || j) + + "'") + : (oe = + 'Parse error on line ' + + (I + 1) + + ': Unexpected ' + + (j == P ? 'end of input' : "'" + (this.terminals_[j] || j) + "'")), + this.parseError(oe, { + text: B.match, + token: this.terminals_[j] || j, + line: B.yylineno, + loc: Y, + expected: De + }); + } + if (H[0] instanceof Array && H.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + Z + ', token: ' + j + ); + switch (H[0]) { + case 1: + _.push(j), + L.push(B.yytext), + M.push(B.yylloc), + _.push(H[1]), + (j = null), + J + ? ((j = J), (J = null)) + : ((C = B.yyleng), + (k = B.yytext), + (I = B.yylineno), + (Y = B.yylloc), + O > 0 && O--); + break; + case 2: + if ( + ((ue = this.productions_[H[1]][1]), + (se.$ = L[L.length - ue]), + (se._$ = { + first_line: M[M.length - (ue || 1)].first_line, + last_line: M[M.length - 1].last_line, + first_column: M[M.length - (ue || 1)].first_column, + last_column: M[M.length - 1].last_column + }), + Q && + (se._$.range = [ + M[M.length - (ue || 1)].range[0], + M[M.length - 1].range[1] + ]), + (K = this.performAction.apply(se, [k, C, I, $.yy, H[1], L, M].concat(F))), + typeof K < 'u') + ) + return K; + ue && + ((_ = _.slice(0, -1 * ue * 2)), + (L = L.slice(0, -1 * ue)), + (M = M.slice(0, -1 * ue))), + _.push(this.productions_[H[1]][0]), + L.push(se.$), + M.push(se._$), + (te = N[_[_.length - 2]][_[_.length - 1]]), + _.push(te); + break; + case 3: + return !0; + } + } + return !0; + }, 'parse') + }, + b = (function () { + var S = { + EOF: 1, + parseError: o(function (E, _) { + if (this.yy.parser) this.yy.parser.parseError(E, _); + else throw new Error(E); + }, 'parseError'), + setInput: o(function (T, E) { + return ( + (this.yy = E || this.yy || {}), + (this._input = T), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, 'setInput'), + input: o(function () { + var T = this._input[0]; + (this.yytext += T), + this.yyleng++, + this.offset++, + (this.match += T), + (this.matched += T); + var E = T.match(/(?:\r\n?|\n).*/g); + return ( + E ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + T + ); + }, 'input'), + unput: o(function (T) { + var E = T.length, + _ = T.split(/(?:\r\n?|\n)/g); + (this._input = T + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - E)), + (this.offset -= E); + var A = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + _.length - 1 && (this.yylineno -= _.length - 1); + var L = this.yylloc.range; + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: _ + ? (_.length === A.length ? this.yylloc.first_column : 0) + + A[A.length - _.length].length - + _[0].length + : this.yylloc.first_column - E + }), + this.options.ranges && (this.yylloc.range = [L[0], L[0] + this.yyleng - E]), + (this.yyleng = this.yytext.length), + this + ); + }, 'unput'), + more: o(function () { + return (this._more = !0), this; + }, 'more'), + reject: o(function () { + if (this.options.backtrack_lexer) this._backtrack = !0; + else + return this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + return this; + }, 'reject'), + less: o(function (T) { + this.unput(this.match.slice(T)); + }, 'less'), + pastInput: o(function () { + var T = this.matched.substr(0, this.matched.length - this.match.length); + return (T.length > 20 ? '...' : '') + T.substr(-20).replace(/\n/g, ''); + }, 'pastInput'), + upcomingInput: o(function () { + var T = this.match; + return ( + T.length < 20 && (T += this._input.substr(0, 20 - T.length)), + (T.substr(0, 20) + (T.length > 20 ? '...' : '')).replace(/\n/g, '') + ); + }, 'upcomingInput'), + showPosition: o(function () { + var T = this.pastInput(), + E = new Array(T.length + 1).join('-'); + return ( + T + + this.upcomingInput() + + ` +` + + E + + '^' + ); + }, 'showPosition'), + test_match: o(function (T, E) { + var _, A, L; + if ( + (this.options.backtrack_lexer && + ((L = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }), + this.options.ranges && (L.yylloc.range = this.yylloc.range.slice(0))), + (A = T[0].match(/(?:\r\n?|\n).*/g)), + A && (this.yylineno += A.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: A + ? A[A.length - 1].length - A[A.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + T[0].length + }), + (this.yytext += T[0]), + (this.match += T[0]), + (this.matches = T), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(T[0].length)), + (this.matched += T[0]), + (_ = this.performAction.call( + this, + this.yy, + this, + E, + this.conditionStack[this.conditionStack.length - 1] + )), + this.done && this._input && (this.done = !1), + _) + ) + return _; + if (this._backtrack) { + for (var M in L) this[M] = L[M]; + return !1; + } + return !1; + }, 'test_match'), + next: o(function () { + if (this.done) return this.EOF; + this._input || (this.done = !0); + var T, E, _, A; + this._more || ((this.yytext = ''), (this.match = '')); + for (var L = this._currentRules(), M = 0; M < L.length; M++) + if ( + ((_ = this._input.match(this.rules[L[M]])), + _ && (!E || _[0].length > E[0].length)) + ) { + if (((E = _), (A = M), this.options.backtrack_lexer)) { + if (((T = this.test_match(_, L[M])), T !== !1)) return T; + if (this._backtrack) { + E = !1; + continue; + } else return !1; + } else if (!this.options.flex) break; + } + return E + ? ((T = this.test_match(E, L[A])), T !== !1 ? T : !1) + : this._input === '' + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, 'next'), + lex: o(function () { + var E = this.next(); + return E || this.lex(); + }, 'lex'), + begin: o(function (E) { + this.conditionStack.push(E); + }, 'begin'), + popState: o(function () { + var E = this.conditionStack.length - 1; + return E > 0 ? this.conditionStack.pop() : this.conditionStack[0]; + }, 'popState'), + _currentRules: o(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules; + }, '_currentRules'), + topState: o(function (E) { + return ( + (E = this.conditionStack.length - 1 - Math.abs(E || 0)), + E >= 0 ? this.conditionStack[E] : 'INITIAL' + ); + }, 'topState'), + pushState: o(function (E) { + this.begin(E); + }, 'pushState'), + stateStackSize: o(function () { + return this.conditionStack.length; + }, 'stateStackSize'), + options: { 'case-insensitive': !0 }, + performAction: o(function (E, _, A, L) { + var M = L; + switch (A) { + case 0: + return E.getLogger().trace('Found comment', _.yytext), 6; + break; + case 1: + return 8; + case 2: + this.begin('CLASS'); + break; + case 3: + return this.popState(), 16; + break; + case 4: + this.popState(); + break; + case 5: + E.getLogger().trace('Begin icon'), this.begin('ICON'); + break; + case 6: + return E.getLogger().trace('SPACELINE'), 6; + break; + case 7: + return 7; + case 8: + return 15; + case 9: + E.getLogger().trace('end icon'), this.popState(); + break; + case 10: + return E.getLogger().trace('Exploding node'), this.begin('NODE'), 19; + break; + case 11: + return E.getLogger().trace('Cloud'), this.begin('NODE'), 19; + break; + case 12: + return E.getLogger().trace('Explosion Bang'), this.begin('NODE'), 19; + break; + case 13: + return E.getLogger().trace('Cloud Bang'), this.begin('NODE'), 19; + break; + case 14: + return this.begin('NODE'), 19; + break; + case 15: + return this.begin('NODE'), 19; + break; + case 16: + return this.begin('NODE'), 19; + break; + case 17: + return this.begin('NODE'), 19; + break; + case 18: + return 13; + case 19: + return 22; + case 20: + return 11; + case 21: + this.begin('NSTR2'); + break; + case 22: + return 'NODE_DESCR'; + case 23: + this.popState(); + break; + case 24: + E.getLogger().trace('Starting NSTR'), this.begin('NSTR'); + break; + case 25: + return E.getLogger().trace('description:', _.yytext), 'NODE_DESCR'; + break; + case 26: + this.popState(); + break; + case 27: + return this.popState(), E.getLogger().trace('node end ))'), 'NODE_DEND'; + break; + case 28: + return this.popState(), E.getLogger().trace('node end )'), 'NODE_DEND'; + break; + case 29: + return ( + this.popState(), E.getLogger().trace('node end ...', _.yytext), 'NODE_DEND' + ); + break; + case 30: + return this.popState(), E.getLogger().trace('node end (('), 'NODE_DEND'; + break; + case 31: + return this.popState(), E.getLogger().trace('node end (-'), 'NODE_DEND'; + break; + case 32: + return this.popState(), E.getLogger().trace('node end (-'), 'NODE_DEND'; + break; + case 33: + return this.popState(), E.getLogger().trace('node end (('), 'NODE_DEND'; + break; + case 34: + return this.popState(), E.getLogger().trace('node end (('), 'NODE_DEND'; + break; + case 35: + return E.getLogger().trace('Long description:', _.yytext), 20; + break; + case 36: + return E.getLogger().trace('Long description:', _.yytext), 20; + break; + } + }, 'anonymous'), + rules: [ + /^(?:\s*%%.*)/i, + /^(?:mindmap\b)/i, + /^(?::::)/i, + /^(?:.+)/i, + /^(?:\n)/i, + /^(?:::icon\()/i, + /^(?:[\s]+[\n])/i, + /^(?:[\n]+)/i, + /^(?:[^\)]+)/i, + /^(?:\))/i, + /^(?:-\))/i, + /^(?:\(-)/i, + /^(?:\)\))/i, + /^(?:\))/i, + /^(?:\(\()/i, + /^(?:\{\{)/i, + /^(?:\()/i, + /^(?:\[)/i, + /^(?:[\s]+)/i, + /^(?:[^\(\[\n\)\{\}]+)/i, + /^(?:$)/i, + /^(?:["][`])/i, + /^(?:[^`"]+)/i, + /^(?:[`]["])/i, + /^(?:["])/i, + /^(?:[^"]+)/i, + /^(?:["])/i, + /^(?:[\)]\))/i, + /^(?:[\)])/i, + /^(?:[\]])/i, + /^(?:\}\})/i, + /^(?:\(-)/i, + /^(?:-\))/i, + /^(?:\(\()/i, + /^(?:\()/i, + /^(?:[^\)\]\(\}]+)/i, + /^(?:.+(?!\(\())/i + ], + conditions: { + CLASS: { rules: [3, 4], inclusive: !1 }, + ICON: { rules: [8, 9], inclusive: !1 }, + NSTR2: { rules: [22, 23], inclusive: !1 }, + NSTR: { rules: [25, 26], inclusive: !1 }, + NODE: { + rules: [21, 24, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36], + inclusive: !1 + }, + INITIAL: { + rules: [0, 1, 2, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20], + inclusive: !0 + } + } + }; + return S; + })(); + x.lexer = b; + function w() { + this.yy = {}; + } + return o(w, 'Parser'), (w.prototype = x), (x.Parser = w), new w(); + })(); + yP.parser = yP; + t0e = yP; + }); + var Gl, + n0e, + vP, + yHe, + vHe, + xHe, + bHe, + $i, + wHe, + THe, + kHe, + EHe, + CHe, + SHe, + AHe, + i0e, + a0e = R(() => { + 'use strict'; + _t(); + rr(); + ut(); + sl(); + (Gl = []), + (n0e = 0), + (vP = {}), + (yHe = o(() => { + (Gl = []), (n0e = 0), (vP = {}); + }, 'clear')), + (vHe = o(function (t) { + for (let e = Gl.length - 1; e >= 0; e--) if (Gl[e].level < t) return Gl[e]; + return null; + }, 'getParent')), + (xHe = o(() => (Gl.length > 0 ? Gl[0] : null), 'getMindmap')), + (bHe = o((t, e, r, n) => { + V.info('addNode', t, e, r, n); + let i = de(), + a = i.mindmap?.padding ?? mr.mindmap.padding; + switch (n) { + case $i.ROUNDED_RECT: + case $i.RECT: + case $i.HEXAGON: + a *= 2; + } + let s = { + id: n0e++, + nodeId: qr(e, i), + level: t, + descr: qr(r, i), + type: n, + children: [], + width: i.mindmap?.maxNodeWidth ?? mr.mindmap.maxNodeWidth, + padding: a + }, + l = vHe(t); + if (l) l.children.push(s), Gl.push(s); + else if (Gl.length === 0) Gl.push(s); + else + throw new Error('There can be only one root. No parent could be found for ("' + s.descr + '")'); + }, 'addNode')), + ($i = { + DEFAULT: 0, + NO_BORDER: 0, + ROUNDED_RECT: 1, + RECT: 2, + CIRCLE: 3, + CLOUD: 4, + BANG: 5, + HEXAGON: 6 + }), + (wHe = o((t, e) => { + switch ((V.debug('In get type', t, e), t)) { + case '[': + return $i.RECT; + case '(': + return e === ')' ? $i.ROUNDED_RECT : $i.CLOUD; + case '((': + return $i.CIRCLE; + case ')': + return $i.CLOUD; + case '))': + return $i.BANG; + case '{{': + return $i.HEXAGON; + default: + return $i.DEFAULT; + } + }, 'getType')), + (THe = o((t, e) => { + vP[t] = e; + }, 'setElementForId')), + (kHe = o((t) => { + if (!t) return; + let e = de(), + r = Gl[Gl.length - 1]; + t.icon && (r.icon = qr(t.icon, e)), t.class && (r.class = qr(t.class, e)); + }, 'decorateNode')), + (EHe = o((t) => { + switch (t) { + case $i.DEFAULT: + return 'no-border'; + case $i.RECT: + return 'rect'; + case $i.ROUNDED_RECT: + return 'rounded-rect'; + case $i.CIRCLE: + return 'circle'; + case $i.CLOUD: + return 'cloud'; + case $i.BANG: + return 'bang'; + case $i.HEXAGON: + return 'hexgon'; + default: + return 'no-border'; + } + }, 'type2Str')), + (CHe = o(() => V, 'getLogger')), + (SHe = o((t) => vP[t], 'getElementById')), + (AHe = { + clear: yHe, + addNode: bHe, + getMindmap: xHe, + nodeType: $i, + getType: wHe, + setElementForId: THe, + decorateNode: kHe, + type2Str: EHe, + getLogger: CHe, + getElementById: SHe + }), + (i0e = AHe); + }); + function Hi(t) { + '@babel/helpers - typeof'; + return ( + (Hi = + typeof Symbol == 'function' && typeof Symbol.iterator == 'symbol' + ? function (e) { + return typeof e; + } + : function (e) { + return e && typeof Symbol == 'function' && e.constructor === Symbol && e !== Symbol.prototype + ? 'symbol' + : typeof e; + }), + Hi(t) + ); + } + function XP(t, e) { + if (!(t instanceof e)) throw new TypeError('Cannot call a class as a function'); + } + function s0e(t, e) { + for (var r = 0; r < e.length; r++) { + var n = e[r]; + (n.enumerable = n.enumerable || !1), + (n.configurable = !0), + 'value' in n && (n.writable = !0), + Object.defineProperty(t, n.key, n); + } + } + function jP(t, e, r) { + return e && s0e(t.prototype, e), r && s0e(t, r), Object.defineProperty(t, 'prototype', { writable: !1 }), t; + } + function bpe(t, e, r) { + return ( + e in t + ? Object.defineProperty(t, e, { + value: r, + enumerable: !0, + configurable: !0, + writable: !0 + }) + : (t[e] = r), + t + ); + } + function $l(t, e) { + return _He(t) || LHe(t, e) || wpe(t, e) || DHe(); + } + function _He(t) { + if (Array.isArray(t)) return t; + } + function LHe(t, e) { + var r = t == null ? null : (typeof Symbol < 'u' && t[Symbol.iterator]) || t['@@iterator']; + if (r != null) { + var n = [], + i = !0, + a = !1, + s, + l; + try { + for (r = r.call(t); !(i = (s = r.next()).done) && (n.push(s.value), !(e && n.length === e)); i = !0); + } catch (u) { + (a = !0), (l = u); + } finally { + try { + !i && r.return != null && r.return(); + } finally { + if (a) throw l; + } + } + return n; + } + } + function wpe(t, e) { + if (t) { + if (typeof t == 'string') return o0e(t, e); + var r = Object.prototype.toString.call(t).slice(8, -1); + if ((r === 'Object' && t.constructor && (r = t.constructor.name), r === 'Map' || r === 'Set')) + return Array.from(t); + if (r === 'Arguments' || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return o0e(t, e); + } + } + function o0e(t, e) { + (e == null || e > t.length) && (e = t.length); + for (var r = 0, n = new Array(e); r < e; r++) n[r] = t[r]; + return n; + } + function DHe() { + throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`); + } + function Tpe(t, e) { + var r = (typeof Symbol < 'u' && t[Symbol.iterator]) || t['@@iterator']; + if (!r) { + if (Array.isArray(t) || (r = wpe(t)) || (e && t && typeof t.length == 'number')) { + r && (t = r); + var n = 0, + i = o(function () {}, 'F'); + return { + s: i, + n: o(function () { + return n >= t.length ? { done: !0 } : { done: !1, value: t[n++] }; + }, 'n'), + e: o(function (u) { + throw u; + }, 'e'), + f: i + }; + } + throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`); + } + var a = !0, + s = !1, + l; + return { + s: o(function () { + r = r.call(t); + }, 's'), + n: o(function () { + var u = r.next(); + return (a = u.done), u; + }, 'n'), + e: o(function (u) { + (s = !0), (l = u); + }, 'e'), + f: o(function () { + try { + !a && r.return != null && r.return(); + } finally { + if (s) throw l; + } + }, 'f') + }; + } + function eYe(t) { + var e = typeof t; + return t != null && (e == 'object' || e == 'function'); + } + function tYe(t, e) { + return (e = { exports: {} }), t(e, e.exports), e.exports; + } + function lYe(t) { + for (var e = t.length; e-- && oYe.test(t.charAt(e)); ); + return e; + } + function hYe(t) { + return t && t.slice(0, cYe(t) + 1).replace(uYe, ''); + } + function gYe(t) { + var e = pYe.call(t, _x), + r = t[_x]; + try { + t[_x] = void 0; + var n = !0; + } catch {} + var i = mYe.call(t); + return n && (e ? (t[_x] = r) : delete t[_x]), i; + } + function bYe(t) { + return xYe.call(t); + } + function EYe(t) { + return t == null ? (t === void 0 ? kYe : TYe) : u0e && u0e in Object(t) ? yYe(t) : wYe(t); + } + function CYe(t) { + return t != null && typeof t == 'object'; + } + function _Ye(t) { + return typeof t == 'symbol' || (SYe(t) && Rpe(t) == AYe); + } + function MYe(t) { + if (typeof t == 'number') return t; + if (Jx(t)) return h0e; + if (V0(t)) { + var e = typeof t.valueOf == 'function' ? t.valueOf() : t; + t = V0(e) ? e + '' : e; + } + if (typeof t != 'string') return t === 0 ? t : +t; + t = fYe(t); + var r = DYe.test(t); + return r || RYe.test(t) ? NYe(t.slice(2), r ? 2 : 8) : LYe.test(t) ? h0e : +t; + } + function BYe(t, e, r) { + var n, + i, + a, + s, + l, + u, + h = 0, + f = !1, + d = !1, + p = !0; + if (typeof t != 'function') throw new TypeError(IYe); + (e = f0e(e) || 0), + V0(r) && + ((f = !!r.leading), + (d = 'maxWait' in r), + (a = d ? OYe(f0e(r.maxWait) || 0, e) : a), + (p = 'trailing' in r ? !!r.trailing : p)); + function m(E) { + var _ = n, + A = i; + return (n = i = void 0), (h = E), (s = t.apply(A, _)), s; + } + o(m, 'invokeFunc'); + function g(E) { + return (h = E), (l = setTimeout(x, e)), f ? m(E) : s; + } + o(g, 'leadingEdge'); + function y(E) { + var _ = E - u, + A = E - h, + L = e - _; + return d ? PYe(L, a - A) : L; + } + o(y, 'remainingWait'); + function v(E) { + var _ = E - u, + A = E - h; + return u === void 0 || _ >= e || _ < 0 || (d && A >= a); + } + o(v, 'shouldInvoke'); + function x() { + var E = xP(); + if (v(E)) return b(E); + l = setTimeout(x, y(E)); + } + o(x, 'timerExpired'); + function b(E) { + return (l = void 0), p && n ? m(E) : ((n = i = void 0), s); + } + o(b, 'trailingEdge'); + function w() { + l !== void 0 && clearTimeout(l), (h = 0), (n = u = i = l = void 0); + } + o(w, 'cancel'); + function S() { + return l === void 0 ? s : b(xP()); + } + o(S, 'flush'); + function T() { + var E = xP(), + _ = v(E); + if (((n = arguments), (i = this), (u = E), _)) { + if (l === void 0) return g(u); + if (d) return clearTimeout(l), (l = setTimeout(x, e)), m(u); + } + return l === void 0 && (l = setTimeout(x, e)), s; + } + return o(T, 'debounced'), (T.cancel = w), (T.flush = S), T; + } + function z6(t, e, r, n, i, a) { + var s; + return jn(t) ? (s = t) : (s = o1[t] || o1.euclidean), e === 0 && jn(t) ? s(i, a) : s(e, r, n, i, a); + } + function Lqe(t, e) { + if (G6(t)) return !1; + var r = typeof t; + return r == 'number' || r == 'symbol' || r == 'boolean' || t == null || Jx(t) + ? !0 + : _qe.test(t) || !Aqe.test(t) || (e != null && t in Object(e)); + } + function Oqe(t) { + if (!V0(t)) return !1; + var e = Rpe(t); + return e == Nqe || e == Mqe || e == Rqe || e == Iqe; + } + function Fqe(t) { + return !!N0e && N0e in t; + } + function Vqe(t) { + if (t != null) { + try { + return $qe.call(t); + } catch {} + try { + return t + ''; + } catch {} + } + return ''; + } + function Qqe(t) { + if (!V0(t) || zqe(t)) return !1; + var e = Pqe(t) ? Kqe : Yqe; + return e.test(Uqe(t)); + } + function Jqe(t, e) { + return t?.[e]; + } + function tXe(t, e) { + var r = eXe(t, e); + return Zqe(r) ? r : void 0; + } + function nXe() { + (this.__data__ = Wx ? Wx(null) : {}), (this.size = 0); + } + function aXe(t) { + var e = this.has(t) && delete this.__data__[t]; + return (this.size -= e ? 1 : 0), e; + } + function uXe(t) { + var e = this.__data__; + if (Wx) { + var r = e[t]; + return r === oXe ? void 0 : r; + } + return cXe.call(e, t) ? e[t] : void 0; + } + function pXe(t) { + var e = this.__data__; + return Wx ? e[t] !== void 0 : dXe.call(e, t); + } + function yXe(t, e) { + var r = this.__data__; + return (this.size += this.has(t) ? 0 : 1), (r[t] = Wx && e === void 0 ? gXe : e), this; + } + function h1(t) { + var e = -1, + r = t == null ? 0 : t.length; + for (this.clear(); ++e < r; ) { + var n = t[e]; + this.set(n[0], n[1]); + } + } + function xXe() { + (this.__data__ = []), (this.size = 0); + } + function wXe(t, e) { + return t === e || (t !== t && e !== e); + } + function TXe(t, e) { + for (var r = t.length; r--; ) if (rme(t[r][0], e)) return r; + return -1; + } + function CXe(t) { + var e = this.__data__, + r = $6(e, t); + if (r < 0) return !1; + var n = e.length - 1; + return r == n ? e.pop() : EXe.call(e, r, 1), --this.size, !0; + } + function AXe(t) { + var e = this.__data__, + r = $6(e, t); + return r < 0 ? void 0 : e[r][1]; + } + function LXe(t) { + return $6(this.__data__, t) > -1; + } + function RXe(t, e) { + var r = this.__data__, + n = $6(r, t); + return n < 0 ? (++this.size, r.push([t, e])) : (r[n][1] = e), this; + } + function f1(t) { + var e = -1, + r = t == null ? 0 : t.length; + for (this.clear(); ++e < r; ) { + var n = t[e]; + this.set(n[0], n[1]); + } + } + function PXe() { + (this.size = 0), + (this.__data__ = { + hash: new M0e(), + map: new (OXe || MXe)(), + string: new M0e() + }); + } + function FXe(t) { + var e = typeof t; + return e == 'string' || e == 'number' || e == 'symbol' || e == 'boolean' ? t !== '__proto__' : t === null; + } + function GXe(t, e) { + var r = t.__data__; + return zXe(e) ? r[typeof e == 'string' ? 'string' : 'hash'] : r.map; + } + function $Xe(t) { + var e = V6(this, t).delete(t); + return (this.size -= e ? 1 : 0), e; + } + function UXe(t) { + return V6(this, t).get(t); + } + function YXe(t) { + return V6(this, t).has(t); + } + function qXe(t, e) { + var r = V6(this, t), + n = r.size; + return r.set(t, e), (this.size += r.size == n ? 0 : 1), this; + } + function d1(t) { + var e = -1, + r = t == null ? 0 : t.length; + for (this.clear(); ++e < r; ) { + var n = t[e]; + this.set(n[0], n[1]); + } + } + function sB(t, e) { + if (typeof t != 'function' || (e != null && typeof e != 'function')) throw new TypeError(jXe); + var r = o(function () { + var n = arguments, + i = e ? e.apply(this, n) : n[0], + a = r.cache; + if (a.has(i)) return a.get(i); + var s = t.apply(this, n); + return (r.cache = a.set(i, s) || a), s; + }, 'memoized'); + return (r.cache = new (sB.Cache || nme)()), r; + } + function ZXe(t) { + var e = KXe(t, function (n) { + return r.size === QXe && r.clear(), n; + }), + r = e.cache; + return e; + } + function nje(t, e) { + for (var r = -1, n = t == null ? 0 : t.length, i = Array(n); ++r < n; ) i[r] = e(t[r], r, t); + return i; + } + function sme(t) { + if (typeof t == 'string') return t; + if (G6(t)) return ame(t, sme) + ''; + if (Jx(t)) return O0e ? O0e.call(t) : ''; + var e = t + ''; + return e == '0' && 1 / t == -ije ? '-0' : e; + } + function sje(t) { + return t == null ? '' : aje(t); + } + function oje(t, e) { + return G6(t) ? t : Dqe(t, e) ? [t] : ime(ome(t)); + } + function cje(t) { + if (typeof t == 'string' || Jx(t)) return t; + var e = t + ''; + return e == '0' && 1 / t == -lje ? '-0' : e; + } + function uje(t, e) { + e = lme(e, t); + for (var r = 0, n = e.length; t != null && r < n; ) t = t[oB(e[r++])]; + return r && r == n ? t : void 0; + } + function fje(t, e, r) { + var n = t == null ? void 0 : hje(t, e); + return n === void 0 ? r : n; + } + function mje(t, e, r) { + e == '__proto__' && P0e ? P0e(t, e, { configurable: !0, enumerable: !0, value: r, writable: !0 }) : (t[e] = r); + } + function xje(t, e, r) { + var n = t[e]; + (!(vje.call(t, e) && rme(n, r)) || (r === void 0 && !(e in t))) && gje(t, e, r); + } + function kje(t, e) { + var r = typeof t; + return ( + (e = e ?? wje), !!e && (r == 'number' || (r != 'symbol' && Tje.test(t))) && t > -1 && t % 1 == 0 && t < e + ); + } + function Cje(t, e, r, n) { + if (!V0(t)) return t; + e = lme(e, t); + for (var i = -1, a = e.length, s = a - 1, l = t; l != null && ++i < a; ) { + var u = oB(e[i]), + h = r; + if (u === '__proto__' || u === 'constructor' || u === 'prototype') return t; + if (i != s) { + var f = l[u]; + (h = n ? n(f, u, l) : void 0), h === void 0 && (h = V0(f) ? f : Eje(e[i + 1]) ? [] : {}); + } + bje(l, u, h), (l = l[u]); + } + return t; + } + function Aje(t, e, r) { + return t == null ? t : Sje(t, e, r); + } + function Lje(t, e) { + var r = -1, + n = t.length; + for (e || (e = Array(n)); ++r < n; ) e[r] = t[r]; + return e; + } + function Rje(t) { + return G6(t) ? ame(t, oB) : Jx(t) ? [t] : Dje(ime(ome(t))); + } + function cB(t, e, r, n) { + for (var i = [], a = new c1(), s = t.cy(), l = s.hasCompoundNodes(), u = 0; u < t.length; u++) { + var h = t[u]; + r ? i.push(h) : l && n(i, a, h); + } + for (; i.length > 0; ) { + var f = i.shift(); + e(f), a.add(f.id()), l && n(i, a, f); + } + return t; + } + function ume(t, e, r) { + if (r.isParent()) + for (var n = r._private.children, i = 0; i < n.length; i++) { + var a = n[i]; + e.has(a.id()) || t.push(a); + } + } + function hme(t, e, r) { + if (r.isChild()) { + var n = r._private.parent; + e.has(n.id()) || t.push(n); + } + } + function Kje(t, e, r) { + hme(t, e, r), ume(t, e, r); + } + function CP(t) { + return function (e) { + var r = this; + if ((e === void 0 && (e = !0), r.length !== 0)) + if (r.isNode() && !r.removed()) { + for (var n = 0, i = r[0], a = i._private.edges, s = 0; s < a.length; s++) { + var l = a[s]; + (!e && l.isLoop()) || (n += t(i, l)); + } + return n; + } else return; + }; + } + function Xg(t, e) { + return function (r) { + for (var n, i = this.nodes(), a = 0; a < i.length; a++) { + var s = i[a], + l = s[t](r); + l !== void 0 && (n === void 0 || e(l, n)) && (n = l); + } + return n; + }; + } + function Rx() { + return !1; + } + function c6() { + return !0; + } + function H6() { + for ( + var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : mKe, + e = arguments.length > 1 ? arguments[1] : void 0, + r = 0; + r < V0e.length; + r++ + ) { + var n = V0e[r]; + this[n] = t[n] || bme[n]; + } + (this.context = e || this.context), (this.listeners = []), (this.emitting = 0); + } + function Cme(t, e, r) { + var n = r._private, + i = (n.styleCache = n.styleCache || []), + a; + return (a = i[t]) != null || (a = i[t] = e(r)), a; + } + function Y6(t, e) { + return ( + (t = U0(t)), + o(function (n) { + return Cme(t, e, n); + }, 'cachedStyleFunction') + ); + } + function W6(t, e) { + t = U0(t); + var r = o(function (i) { + return e.call(i); + }, 'selfFn'); + return o(function () { + var i = this[0]; + if (i) return Cme(t, r, i); + }, 'cachedPrototypeStyleFunction'); + } + function AP(t, e) { + var r = t._private, + n = r.data.parent ? t.parents() : null; + if (n) + for (var i = 0; i < n.length; i++) { + var a = n[i]; + if (!e(a)) return !1; + } + return !0; + } + function uB(t) { + var e = t.ok, + r = t.edgeOkViaNode || t.ok, + n = t.parentOk || t.ok; + return function () { + var i = this.cy(); + if (!i.styleEnabled()) return !0; + var a = this[0], + s = i.hasCompoundNodes(); + if (a) { + var l = a._private; + if (!e(a)) return !1; + if (a.isNode()) return !s || AP(a, n); + var u = l.source, + h = l.target; + return r(u) && (!s || AP(u, r)) && (u === h || (r(h) && (!s || AP(h, r)))); + } + }; + } + function H0e(t) { + return function () { + var e = arguments, + r = []; + if (e.length === 2) { + var n = e[0], + i = e[1]; + this.on(t.event, n, i); + } else if (e.length === 1 && jn(e[0])) { + var a = e[0]; + this.on(t.event, a); + } else if (e.length === 0 || (e.length === 1 && vn(e[0]))) { + for (var s = e.length === 1 ? e[0] : null, l = 0; l < this.length; l++) { + var u = this[l], + h = !t.ableField || u._private[t.ableField], + f = u._private[t.field] != t.value; + if (t.overrideAble) { + var d = t.overrideAble(u); + if (d !== void 0 && ((h = d), !d)) return this; + } + h && ((u._private[t.field] = t.value), f && r.push(u)); + } + var p = this.spawn(r); + p.updateStyle(), p.emit(t.event), s && p.emit(s); + } + return this; + }; + } + function m1(t) { + (Cf[t.field] = function () { + var e = this[0]; + if (e) { + if (t.overrideField) { + var r = t.overrideField(e); + if (r !== void 0) return r; + } + return e._private[t.field]; + } + }), + (Cf[t.on] = H0e({ + event: t.on, + field: t.field, + ableField: t.ableField, + overrideAble: t.overrideAble, + value: !0 + })), + (Cf[t.off] = H0e({ + event: t.off, + field: t.field, + ableField: t.ableField, + overrideAble: t.overrideAble, + value: !1 + })); + } + function X0e(t) { + return o(function (r) { + for (var n = [], i = 0; i < this.length; i++) { + var a = this[i], + s = a._private[t.attr]; + s && n.push(s); + } + return this.spawn(n, !0).filter(r); + }, 'sourceImpl'); + } + function j0e(t) { + return o(function (r) { + var n = [], + i = this._private.cy, + a = t || {}; + zt(r) && (r = i.$(r)); + for (var s = 0; s < r.length; s++) + for (var l = r[s]._private.edges, u = 0; u < l.length; u++) { + var h = l[u], + f = h._private.data, + d = this.hasElementWithId(f.source) && r.hasElementWithId(f.target), + p = r.hasElementWithId(f.source) && this.hasElementWithId(f.target), + m = d || p; + m && (((a.thisIsSrc || a.thisIsTgt) && ((a.thisIsSrc && !d) || (a.thisIsTgt && !p))) || n.push(h)); + } + return this.spawn(n, !0); + }, 'edgesWithImpl'); + } + function K0e(t) { + var e = { codirected: !1 }; + return ( + (t = Wt({}, e, t)), + o(function (n) { + for (var i = [], a = this.edges(), s = t, l = 0; l < a.length; l++) + for ( + var u = a[l], + h = u._private, + f = h.source, + d = f._private.data.id, + p = h.data.target, + m = f._private.edges, + g = 0; + g < m.length; + g++ + ) { + var y = m[g], + v = y._private.data, + x = v.target, + b = v.source, + w = x === p && b === d, + S = d === x && p === b; + ((s.codirected && w) || (!s.codirected && (w || S))) && i.push(y); + } + return this.spawn(i, !0).filter(n); + }, 'parallelEdgesImpl') + ); + } + function SKe(t, e, r, n) { + var i = 4, + a = 0.001, + s = 1e-7, + l = 10, + u = 11, + h = 1 / (u - 1), + f = typeof Float32Array < 'u'; + if (arguments.length !== 4) return !1; + for (var d = 0; d < 4; ++d) + if (typeof arguments[d] != 'number' || isNaN(arguments[d]) || !isFinite(arguments[d])) return !1; + (t = Math.min(t, 1)), (r = Math.min(r, 1)), (t = Math.max(t, 0)), (r = Math.max(r, 0)); + var p = f ? new Float32Array(u) : new Array(u); + function m(M, N) { + return 1 - 3 * N + 3 * M; + } + o(m, 'A'); + function g(M, N) { + return 3 * N - 6 * M; + } + o(g, 'B'); + function y(M) { + return 3 * M; + } + o(y, 'C'); + function v(M, N, k) { + return ((m(N, k) * M + g(N, k)) * M + y(N)) * M; + } + o(v, 'calcBezier'); + function x(M, N, k) { + return 3 * m(N, k) * M * M + 2 * g(N, k) * M + y(N); + } + o(x, 'getSlope'); + function b(M, N) { + for (var k = 0; k < i; ++k) { + var I = x(N, t, r); + if (I === 0) return N; + var C = v(N, t, r) - M; + N -= C / I; + } + return N; + } + o(b, 'newtonRaphsonIterate'); + function w() { + for (var M = 0; M < u; ++M) p[M] = v(M * h, t, r); + } + o(w, 'calcSampleValues'); + function S(M, N, k) { + var I, + C, + O = 0; + do (C = N + (k - N) / 2), (I = v(C, t, r) - M), I > 0 ? (k = C) : (N = C); + while (Math.abs(I) > s && ++O < l); + return C; + } + o(S, 'binarySubdivide'); + function T(M) { + for (var N = 0, k = 1, I = u - 1; k !== I && p[k] <= M; ++k) N += h; + --k; + var C = (M - p[k]) / (p[k + 1] - p[k]), + O = N + C * h, + D = x(O, t, r); + return D >= a ? b(M, O) : D === 0 ? O : S(M, N, N + h); + } + o(T, 'getTForX'); + var E = !1; + function _() { + (E = !0), (t !== e || r !== n) && w(); + } + o(_, 'precompute'); + var A = o(function (N) { + return E || _(), t === e && r === n ? N : N === 0 ? 0 : N === 1 ? 1 : v(T(N), e, n); + }, 'f'); + A.getControlPoints = function () { + return [ + { x: t, y: e }, + { x: r, y: n } + ]; + }; + var L = 'generateBezier(' + [t, e, r, n] + ')'; + return ( + (A.toString = function () { + return L; + }), + A + ); + } + function Q0e(t, e, r, n, i) { + if (n === 1 || e === r) return r; + var a = i(e, r, n); + return ( + t == null || + ((t.roundValue || t.color) && (a = Math.round(a)), + t.min !== void 0 && (a = Math.max(a, t.min)), + t.max !== void 0 && (a = Math.min(a, t.max))), + a + ); + } + function Z0e(t, e) { + return t.pfValue != null || t.value != null + ? t.pfValue != null && (e == null || e.type.units !== '%') + ? t.pfValue + : t.value + : t; + } + function jg(t, e, r, n, i) { + var a = i != null ? i.type : null; + r < 0 ? (r = 0) : r > 1 && (r = 1); + var s = Z0e(t, i), + l = Z0e(e, i); + if (ft(s) && ft(l)) return Q0e(a, s, l, r, n); + if (vn(s) && vn(l)) { + for (var u = [], h = 0; h < l.length; h++) { + var f = s[h], + d = l[h]; + if (f != null && d != null) { + var p = Q0e(a, f, d, r, n); + u.push(p); + } else u.push(d); + } + return u; + } + } + function _Ke(t, e, r, n) { + var i = !n, + a = t._private, + s = e._private, + l = s.easing, + u = s.startTime, + h = n ? t : t.cy(), + f = h.style(); + if (!s.easingImpl) + if (l == null) s.easingImpl = v6.linear; + else { + var d; + if (zt(l)) { + var p = f.parse('transition-timing-function', l); + d = p.value; + } else d = l; + var m, g; + zt(d) + ? ((m = d), (g = [])) + : ((m = d[1]), + (g = d.slice(2).map(function (B) { + return +B; + }))), + g.length > 0 + ? (m === 'spring' && g.push(s.duration), (s.easingImpl = v6[m].apply(null, g))) + : (s.easingImpl = v6[m]); + } + var y = s.easingImpl, + v; + if ( + (s.duration === 0 ? (v = 1) : (v = (r - u) / s.duration), + s.applying && (v = s.progress), + v < 0 ? (v = 0) : v > 1 && (v = 1), + s.delay == null) + ) { + var x = s.startPosition, + b = s.position; + if (b && i && !t.locked()) { + var w = {}; + Nx(x.x, b.x) && (w.x = jg(x.x, b.x, v, y)), Nx(x.y, b.y) && (w.y = jg(x.y, b.y, v, y)), t.position(w); + } + var S = s.startPan, + T = s.pan, + E = a.pan, + _ = T != null && n; + _ && + (Nx(S.x, T.x) && (E.x = jg(S.x, T.x, v, y)), Nx(S.y, T.y) && (E.y = jg(S.y, T.y, v, y)), t.emit('pan')); + var A = s.startZoom, + L = s.zoom, + M = L != null && n; + M && (Nx(A, L) && (a.zoom = Hx(a.minZoom, jg(A, L, v, y), a.maxZoom)), t.emit('zoom')), + (_ || M) && t.emit('viewport'); + var N = s.style; + if (N && N.length > 0 && i) { + for (var k = 0; k < N.length; k++) { + var I = N[k], + C = I.name, + O = I, + D = s.startStyle[C], + P = f.properties[D.name], + F = jg(D, O, v, y, P); + f.overrideBypass(t, C, F); + } + t.emit('style'); + } + } + return (s.progress = v), v; + } + function Nx(t, e) { + return t == null || e == null ? !1 : ft(t) && ft(e) ? !0 : !!(t && e); + } + function LKe(t, e, r, n) { + var i = e._private; + (i.started = !0), (i.startTime = r - i.progress * i.duration); + } + function J0e(t, e) { + var r = e._private.aniEles, + n = []; + function i(f, d) { + var p = f._private, + m = p.animation.current, + g = p.animation.queue, + y = !1; + if (m.length === 0) { + var v = g.shift(); + v && m.push(v); + } + for ( + var x = o(function (E) { + for (var _ = E.length - 1; _ >= 0; _--) { + var A = E[_]; + A(); + } + E.splice(0, E.length); + }, 'callbacks'), + b = m.length - 1; + b >= 0; + b-- + ) { + var w = m[b], + S = w._private; + if (S.stopped) { + m.splice(b, 1), (S.hooked = !1), (S.playing = !1), (S.started = !1), x(S.frames); + continue; + } + (!S.playing && !S.applying) || + (S.playing && S.applying && (S.applying = !1), + S.started || LKe(f, w, t), + _Ke(f, w, t, d), + S.applying && (S.applying = !1), + x(S.frames), + S.step != null && S.step(t), + w.completed() && + (m.splice(b, 1), (S.hooked = !1), (S.playing = !1), (S.started = !1), x(S.completes)), + (y = !0)); + } + return !d && m.length === 0 && g.length === 0 && n.push(f), y; + } + o(i, 'stepOne'); + for (var a = !1, s = 0; s < r.length; s++) { + var l = r[s], + u = i(l); + a = a || u; + } + var h = i(e, !0); + (a || h) && (r.length > 0 ? e.notify('draw', r) : e.notify('draw')), r.unmerge(n), e.emit('step'); + } + function Ame(t) { + this.options = Wt({}, BKe, FKe, t); + } + function _me(t) { + this.options = Wt({}, zKe, t); + } + function Lme(t) { + this.options = Wt({}, GKe, t); + } + function j6(t) { + (this.options = Wt({}, $Ke, t)), (this.options.layout = this); + var e = this.options.eles.nodes(), + r = this.options.eles.edges(), + n = r.filter(function (i) { + var a = i.source().data('id'), + s = i.target().data('id'), + l = e.some(function (h) { + return h.data('id') === a; + }), + u = e.some(function (h) { + return h.data('id') === s; + }); + return !l || !u; + }); + this.options.eles = this.options.eles.not(n); + } + function Rme(t) { + this.options = Wt({}, iQe, t); + } + function dB(t) { + this.options = Wt({}, aQe, t); + } + function Nme(t) { + this.options = Wt({}, sQe, t); + } + function Mme(t) { + this.options = Wt({}, oQe, t); + } + function Ime(t) { + (this.options = t), (this.notifications = 0); + } + function Bme(t, e) { + e.radius === 0 + ? t.lineTo(e.cx, e.cy) + : t.arc(e.cx, e.cy, e.radius, e.startAngle, e.endAngle, e.counterClockwise); + } + function mB(t, e, r, n) { + var i = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0; + return n === 0 || e.radius === 0 + ? { + cx: e.x, + cy: e.y, + radius: 0, + startX: e.x, + startY: e.y, + stopX: e.x, + stopY: e.y, + startAngle: void 0, + endAngle: void 0, + counterClockwise: void 0 + } + : (uQe(t, e, r, n, i), + { + cx: GP, + cy: $P, + radius: z0, + startX: Ome, + startY: Pme, + stopX: VP, + stopY: UP, + startAngle: Gc.ang + (Math.PI / 2) * G0, + endAngle: Jo.ang - (Math.PI / 2) * G0, + counterClockwise: w6 + }); + } + function Fme(t) { + var e = []; + if (t != null) { + for (var r = 0; r < t.length; r += 2) { + var n = t[r], + i = t[r + 1]; + e.push({ x: n, y: i }); + } + return e; + } + } + function hQe(t, e, r) { + for ( + var n = o(function (h, f, d, p) { + return aa(h, f, d, p); + }, 'qbezierAt$1'), + i = e._private, + a = i.rstyle.bezierPts, + s = 0; + s < t.bezierProjPcts.length; + s++ + ) { + var l = t.bezierProjPcts[s]; + a.push({ x: n(r[0], r[2], r[4], l), y: n(r[1], r[3], r[5], l) }); + } + } + function VQe(t, e) { + for (var r = 0; r < e.length; r++) { + var n = e[r]; + t.lineTo(n.x, n.y); + } + } + function UQe(t, e, r) { + for (var n, i = 0; i < e.length; i++) { + var a = e[i]; + i === 0 && (n = a), t.lineTo(a.x, a.y); + } + t.quadraticCurveTo(r.x, r.y, n.x, n.y); + } + function gpe(t, e, r) { + t.beginPath && t.beginPath(); + for (var n = e, i = 0; i < n.length; i++) { + var a = n[i]; + t.lineTo(a.x, a.y); + } + var s = r, + l = r[0]; + t.moveTo(l.x, l.y); + for (var i = 1; i < s.length; i++) { + var a = s[i]; + t.lineTo(a.x, a.y); + } + t.closePath && t.closePath(); + } + function HQe(t, e, r, n, i) { + t.beginPath && t.beginPath(), t.arc(r, n, i, 0, Math.PI * 2, !1); + var a = e, + s = a[0]; + t.moveTo(s.x, s.y); + for (var l = 0; l < a.length; l++) { + var u = a[l]; + t.lineTo(u.x, u.y); + } + t.closePath && t.closePath(); + } + function YQe(t, e, r, n) { + t.arc(e, r, n, 0, Math.PI * 2, !1); + } + function RP(t, e, r, n, i) { + var a = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : 5, + s = arguments.length > 6 ? arguments[6] : void 0; + t.beginPath(), + t.moveTo(e + a, r), + t.lineTo(e + n - a, r), + t.quadraticCurveTo(e + n, r, e + n, r + a), + t.lineTo(e + n, r + i - a), + t.quadraticCurveTo(e + n, r + i, e + n - a, r + i), + t.lineTo(e + a, r + i), + t.quadraticCurveTo(e, r + i, e, r + i - a), + t.lineTo(e, r + a), + t.quadraticCurveTo(e, r, e + a, r), + t.closePath(), + s ? t.stroke() : t.fill(); + } + function ZQe(t, e) { + for (var r = atob(t), n = new ArrayBuffer(r.length), i = new Uint8Array(n), a = 0; a < r.length; a++) + i[a] = r.charCodeAt(a); + return new Blob([n], { type: e }); + } + function xpe(t) { + var e = t.indexOf(','); + return t.substr(e + 1); + } + function Qme(t, e, r) { + var n = o(function () { + return e.toDataURL(r, t.quality); + }, 'getB64Uri'); + switch (t.output) { + case 'blob-promise': + return new u1(function (i, a) { + try { + e.toBlob( + function (s) { + s != null ? i(s) : a(new Error('`canvas.toBlob()` sent a null value in its callback')); + }, + r, + t.quality + ); + } catch (s) { + a(s); + } + }); + case 'blob': + return ZQe(xpe(n()), r); + case 'base64': + return xpe(n()); + case 'base64uri': + default: + return n(); + } + } + function Jme(t) { + var e = this, + r = e.cy.window(), + n = r.document; + e.data = { + canvases: new Array(Yr.CANVAS_LAYERS), + contexts: new Array(Yr.CANVAS_LAYERS), + canvasNeedsRedraw: new Array(Yr.CANVAS_LAYERS), + bufferCanvases: new Array(Yr.BUFFER_COUNT), + bufferContexts: new Array(Yr.CANVAS_LAYERS) + }; + var i = '-webkit-tap-highlight-color', + a = 'rgba(0,0,0,0)'; + e.data.canvasContainer = n.createElement('div'); + var s = e.data.canvasContainer.style; + (e.data.canvasContainer.style[i] = a), (s.position = 'relative'), (s.zIndex = '0'), (s.overflow = 'hidden'); + var l = t.cy.container(); + l.appendChild(e.data.canvasContainer), (l.style[i] = a); + var u = { + '-webkit-user-select': 'none', + '-moz-user-select': '-moz-none', + 'user-select': 'none', + '-webkit-tap-highlight-color': 'rgba(0,0,0,0)', + 'outline-style': 'none' + }; + GHe() && ((u['-ms-touch-action'] = 'none'), (u['touch-action'] = 'none')); + for (var h = 0; h < Yr.CANVAS_LAYERS; h++) { + var f = (e.data.canvases[h] = n.createElement('canvas')); + (e.data.contexts[h] = f.getContext('2d')), + Object.keys(u).forEach(function (Z) { + f.style[Z] = u[Z]; + }), + (f.style.position = 'absolute'), + f.setAttribute('data-id', 'layer' + h), + (f.style.zIndex = String(Yr.CANVAS_LAYERS - h)), + e.data.canvasContainer.appendChild(f), + (e.data.canvasNeedsRedraw[h] = !1); + } + (e.data.topCanvas = e.data.canvases[0]), + e.data.canvases[Yr.NODE].setAttribute('data-id', 'layer' + Yr.NODE + '-node'), + e.data.canvases[Yr.SELECT_BOX].setAttribute('data-id', 'layer' + Yr.SELECT_BOX + '-selectbox'), + e.data.canvases[Yr.DRAG].setAttribute('data-id', 'layer' + Yr.DRAG + '-drag'); + for (var h = 0; h < Yr.BUFFER_COUNT; h++) + (e.data.bufferCanvases[h] = n.createElement('canvas')), + (e.data.bufferContexts[h] = e.data.bufferCanvases[h].getContext('2d')), + (e.data.bufferCanvases[h].style.position = 'absolute'), + e.data.bufferCanvases[h].setAttribute('data-id', 'buffer' + h), + (e.data.bufferCanvases[h].style.zIndex = String(-h - 1)), + (e.data.bufferCanvases[h].style.visibility = 'hidden'); + e.pathsEnabled = !0; + var d = Gs(), + p = o(function (H) { + return { x: (H.x1 + H.x2) / 2, y: (H.y1 + H.y2) / 2 }; + }, 'getBoxCenter'), + m = o(function (H) { + return { x: -H.w / 2, y: -H.h / 2 }; + }, 'getCenterOffset'), + g = o(function (H) { + var q = H[0]._private, + K = q.oldBackgroundTimestamp === q.backgroundTimestamp; + return !K; + }, 'backgroundTimestampHasChanged'), + y = o(function (H) { + return H[0]._private.nodeKey; + }, 'getStyleKey'), + v = o(function (H) { + return H[0]._private.labelStyleKey; + }, 'getLabelKey'), + x = o(function (H) { + return H[0]._private.sourceLabelStyleKey; + }, 'getSourceLabelKey'), + b = o(function (H) { + return H[0]._private.targetLabelStyleKey; + }, 'getTargetLabelKey'), + w = o(function (H, q, K, se, ce) { + return e.drawElement(H, q, K, !1, !1, ce); + }, 'drawElement'), + S = o(function (H, q, K, se, ce) { + return e.drawElementText(H, q, K, se, 'main', ce); + }, 'drawLabel'), + T = o(function (H, q, K, se, ce) { + return e.drawElementText(H, q, K, se, 'source', ce); + }, 'drawSourceLabel'), + E = o(function (H, q, K, se, ce) { + return e.drawElementText(H, q, K, se, 'target', ce); + }, 'drawTargetLabel'), + _ = o(function (H) { + return H.boundingBox(), H[0]._private.bodyBounds; + }, 'getElementBox'), + A = o(function (H) { + return H.boundingBox(), H[0]._private.labelBounds.main || d; + }, 'getLabelBox'), + L = o(function (H) { + return H.boundingBox(), H[0]._private.labelBounds.source || d; + }, 'getSourceLabelBox'), + M = o(function (H) { + return H.boundingBox(), H[0]._private.labelBounds.target || d; + }, 'getTargetLabelBox'), + N = o(function (H, q) { + return q; + }, 'isLabelVisibleAtScale'), + k = o(function (H) { + return p(_(H)); + }, 'getElementRotationPoint'), + I = o(function (H, q, K) { + var se = H ? H + '-' : ''; + return { + x: q.x + K.pstyle(se + 'text-margin-x').pfValue, + y: q.y + K.pstyle(se + 'text-margin-y').pfValue + }; + }, 'addTextMargin'), + C = o(function (H, q, K) { + var se = H[0]._private.rscratch; + return { x: se[q], y: se[K] }; + }, 'getRsPt'), + O = o(function (H) { + return I('', C(H, 'labelX', 'labelY'), H); + }, 'getLabelRotationPoint'), + D = o(function (H) { + return I('source', C(H, 'sourceLabelX', 'sourceLabelY'), H); + }, 'getSourceLabelRotationPoint'), + P = o(function (H) { + return I('target', C(H, 'targetLabelX', 'targetLabelY'), H); + }, 'getTargetLabelRotationPoint'), + F = o(function (H) { + return m(_(H)); + }, 'getElementRotationOffset'), + B = o(function (H) { + return m(L(H)); + }, 'getSourceLabelRotationOffset'), + $ = o(function (H) { + return m(M(H)); + }, 'getTargetLabelRotationOffset'), + z = o(function (H) { + var q = A(H), + K = m(A(H)); + if (H.isNode()) { + switch (H.pstyle('text-halign').value) { + case 'left': + K.x = -q.w; + break; + case 'right': + K.x = 0; + break; + } + switch (H.pstyle('text-valign').value) { + case 'top': + K.y = -q.h; + break; + case 'bottom': + K.y = 0; + break; + } + } + return K; + }, 'getLabelRotationOffset'), + Y = (e.data.eleTxrCache = new Bx(e, { + getKey: y, + doesEleInvalidateKey: g, + drawElement: w, + getBoundingBox: _, + getRotationPoint: k, + getRotationOffset: F, + allowEdgeTxrCaching: !1, + allowParentTxrCaching: !1 + })), + Q = (e.data.lblTxrCache = new Bx(e, { + getKey: v, + drawElement: S, + getBoundingBox: A, + getRotationPoint: O, + getRotationOffset: z, + isVisible: N + })), + X = (e.data.slbTxrCache = new Bx(e, { + getKey: x, + drawElement: T, + getBoundingBox: L, + getRotationPoint: D, + getRotationOffset: B, + isVisible: N + })), + ie = (e.data.tlbTxrCache = new Bx(e, { + getKey: b, + drawElement: E, + getBoundingBox: M, + getRotationPoint: P, + getRotationOffset: $, + isVisible: N + })), + j = (e.data.lyrTxrCache = new Wme(e)); + e.onUpdateEleCalcs( + o(function (H, q) { + Y.invalidateElements(q), + Q.invalidateElements(q), + X.invalidateElements(q), + ie.invalidateElements(q), + j.invalidateElements(q); + for (var K = 0; K < q.length; K++) { + var se = q[K]._private; + se.oldBackgroundTimestamp = se.backgroundTimestamp; + } + }, 'invalidateTextureCaches') + ); + var J = o(function (H) { + for (var q = 0; q < H.length; q++) j.enqueueElementRefinement(H[q].ele); + }, 'refineInLayers'); + Y.onDequeue(J), Q.onDequeue(J), X.onDequeue(J), ie.onDequeue(J); + } + function rge(t, e, r) { + var n = r, + i = o(function (A) { + tn( + 'Can not register `' + + e + + '` for `' + + t + + '` since `' + + A + + '` already exists in the prototype and can not be overridden' + ); + }, 'overrideErr'); + if (t === 'core') { + if (Kx.prototype[e]) return i(e); + Kx.prototype[e] = r; + } else if (t === 'collection') { + if (Ca.prototype[e]) return i(e); + Ca.prototype[e] = r; + } else if (t === 'layout') { + for ( + var a = o(function (A) { + (this.options = A), + r.call(this, A), + Mr(this._private) || (this._private = {}), + (this._private.cy = A.cy), + (this._private.listeners = []), + this.createEmitter(); + }, 'Layout'), + s = (a.prototype = Object.create(r.prototype)), + l = [], + u = 0; + u < l.length; + u++ + ) { + var h = l[u]; + s[h] = + s[h] || + function () { + return this; + }; + } + s.start && !s.run + ? (s.run = function () { + return this.start(), this; + }) + : !s.start && + s.run && + (s.start = function () { + return this.run(), this; + }); + var f = r.prototype.stop; + (s.stop = function () { + var _ = this.options; + if (_ && _.animate) { + var A = this.animations; + if (A) for (var L = 0; L < A.length; L++) A[L].stop(); + } + return f ? f.call(this) : this.emit('layoutstop'), this; + }), + s.destroy || + (s.destroy = function () { + return this; + }), + (s.cy = function () { + return this._private.cy; + }); + var d = o(function (A) { + return A._private.cy; + }, 'getCy'), + p = { + addEventFields: o(function (A, L) { + (L.layout = A), (L.cy = d(A)), (L.target = A); + }, 'addEventFields'), + bubble: o(function () { + return !0; + }, 'bubble'), + parent: o(function (A) { + return d(A); + }, 'parent') + }; + Wt(s, { + createEmitter: o(function () { + return (this._private.emitter = new H6(p, this)), this; + }, 'createEmitter'), + emitter: o(function () { + return this._private.emitter; + }, 'emitter'), + on: o(function (A, L) { + return this.emitter().on(A, L), this; + }, 'on'), + one: o(function (A, L) { + return this.emitter().one(A, L), this; + }, 'one'), + once: o(function (A, L) { + return this.emitter().one(A, L), this; + }, 'once'), + removeListener: o(function (A, L) { + return this.emitter().removeListener(A, L), this; + }, 'removeListener'), + removeAllListeners: o(function () { + return this.emitter().removeAllListeners(), this; + }, 'removeAllListeners'), + emit: o(function (A, L) { + return this.emitter().emit(A, L), this; + }, 'emit') + }), + en.eventAliasesOn(s), + (n = a); + } else if (t === 'renderer' && e !== 'null' && e !== 'base') { + var m = nge('renderer', 'base'), + g = m.prototype, + y = r, + v = r.prototype, + x = o(function () { + m.apply(this, arguments), y.apply(this, arguments); + }, 'Renderer'), + b = x.prototype; + for (var w in g) { + var S = g[w], + T = v[w] != null; + if (T) return i(w); + b[w] = S; + } + for (var E in v) b[E] = v[E]; + g.clientFunctions.forEach(function (_) { + b[_] = + b[_] || + function () { + oi('Renderer does not implement `renderer.' + _ + '()` on its prototype'); + }; + }), + (n = x); + } else if (t === '__proto__' || t === 'constructor' || t === 'prototype') + return oi(t + ' is an illegal type to be registered, possibly lead to prototype pollutions'); + return _pe({ map: ege, keys: [t, e], value: n }); + } + function nge(t, e) { + return Lpe({ map: ege, keys: [t, e] }); + } + function nZe(t, e, r, n, i) { + return _pe({ map: tge, keys: [t, e, r, n], value: i }); + } + function iZe(t, e, r, n) { + return Lpe({ map: tge, keys: [t, e, r, n] }); + } + var Vi, + l0e, + RHe, + kpe, + NHe, + MHe, + Qx, + zt, + jn, + vn, + Mr, + IHe, + ft, + OHe, + k6, + xo, + Zx, + Epe, + KP, + Cpe, + PHe, + Sf, + BHe, + FHe, + zHe, + GHe, + Gx, + QP, + I6, + Spe, + c0e, + Ui, + $He, + VHe, + UHe, + HHe, + YHe, + WHe, + Ape, + qHe, + Wt, + XHe, + jHe, + KHe, + QHe, + ZHe, + JHe, + _pe, + Lpe, + V0, + Mx, + rYe, + nYe, + iYe, + aYe, + O6, + sYe, + xP, + oYe, + cYe, + uYe, + fYe, + dYe, + a1, + Dpe, + pYe, + mYe, + _x, + yYe, + vYe, + xYe, + wYe, + TYe, + kYe, + u0e, + Rpe, + SYe, + AYe, + Jx, + h0e, + LYe, + DYe, + RYe, + NYe, + f0e, + IYe, + OYe, + PYe, + P6, + bP, + Npe, + FYe, + E6, + Ku, + Zg, + Mpe, + Ix, + Ipe, + $x, + Vx, + zYe, + bf, + r6, + GYe, + U0, + Ope, + $Ye, + d0e, + VYe, + UYe, + ZP, + Ppe, + C6, + p0e, + JP, + oi, + Bpe, + tn, + HYe, + $c, + YYe, + Fpe, + WYe, + zpe, + Sa, + Af, + eB, + qYe, + Ul, + Tf, + XYe, + Vc, + jYe, + KYe, + c1, + B6, + m0e, + Ux, + QYe, + eb, + ZYe, + JYe, + eWe, + tWe, + rWe, + nWe, + iWe, + aWe, + sWe, + oWe, + lWe, + wP, + cWe, + uWe, + F6, + Gpe, + Jg, + hWe, + fWe, + dWe, + pWe, + mWe, + n6, + tB, + $pe, + H0, + B0, + gWe, + aa, + t1, + yWe, + Hx, + Gs, + vWe, + xWe, + bWe, + Vpe, + wWe, + p6, + m6, + g0e, + rB, + s1, + TWe, + Upe, + Hpe, + kWe, + EWe, + CWe, + SWe, + AWe, + _We, + zs, + Qu, + LWe, + S6, + A6, + DWe, + $0, + Ox, + TP, + kf, + Yx, + RWe, + i6, + ls, + Ype, + NP, + Y0, + Wpe, + nB, + NWe, + MP, + MWe, + IWe, + y0e, + r1, + v0e, + n1, + OWe, + IP, + PWe, + BWe, + FWe, + zWe, + qpe, + GWe, + $We, + VWe, + UWe, + HWe, + YWe, + WWe, + x0e, + qWe, + XWe, + Xpe, + b0e, + w0e, + jWe, + KWe, + Lx, + o1, + QWe, + iB, + _6, + kP, + jpe, + Kpe, + ZWe, + JWe, + eqe, + T0e, + k0e, + tqe, + rqe, + nqe, + iqe, + aqe, + E0e, + sqe, + oqe, + lqe, + cqe, + C0e, + a6, + uqe, + hqe, + S0e, + fqe, + dqe, + pqe, + mqe, + gqe, + yqe, + A0e, + vqe, + _0e, + xqe, + bqe, + wqe, + s6, + Tqe, + o6, + kqe, + Qpe, + Zpe, + Jpe, + eme, + Zu, + L0e, + tme, + D0e, + R0e, + Eqe, + u1, + OP, + W0, + Cqe, + Sqe, + G6, + Aqe, + _qe, + Dqe, + Rqe, + Nqe, + Mqe, + Iqe, + Pqe, + Bqe, + EP, + N0e, + zqe, + Gqe, + $qe, + Uqe, + Hqe, + Yqe, + Wqe, + qqe, + Xqe, + jqe, + Kqe, + Zqe, + eXe, + aB, + rXe, + Wx, + iXe, + sXe, + oXe, + lXe, + cXe, + hXe, + fXe, + dXe, + mXe, + gXe, + vXe, + M0e, + bXe, + rme, + $6, + kXe, + EXe, + SXe, + _Xe, + DXe, + NXe, + MXe, + IXe, + OXe, + BXe, + zXe, + V6, + VXe, + HXe, + WXe, + XXe, + nme, + jXe, + KXe, + QXe, + JXe, + eje, + tje, + rje, + ime, + ame, + ije, + I0e, + O0e, + aje, + ome, + lme, + lje, + oB, + hje, + dje, + pje, + P0e, + gje, + yje, + vje, + bje, + wje, + Tje, + Eje, + Sje, + _je, + Dje, + Nje, + Mje, + Ije, + en, + Oje, + g6, + Nr, + un, + Ct, + PP, + Pje, + Bje, + Fje, + qg, + wf, + BP, + zje, + Gje, + $je, + Vje, + Uje, + cme, + Hje, + Yje, + lB, + Wje, + li, + In, + qje, + Xje, + jje, + _f, + Lf, + Ef, + tl, + l1, + qx, + fme, + Qje, + U6, + Hl, + dme, + pme, + B0e, + Zje, + i1, + Rf, + el, + Vl, + F0, + Dx, + l6, + SP, + Jje, + eKe, + mme, + gme, + F0e, + Xx, + z0e, + G0e, + tKe, + Px, + tb, + yme, + rKe, + nKe, + iKe, + aKe, + sKe, + oKe, + lKe, + cKe, + uKe, + $0e, + hKe, + fKe, + dKe, + vme, + xme, + pKe, + bme, + V0e, + mKe, + Df, + wme, + U0e, + gKe, + yKe, + u6, + Tme, + kme, + Wr, + vKe, + Eme, + L6, + xKe, + bKe, + y6, + Ea, + p1, + wKe, + TKe, + kKe, + EKe, + Cf, + Fa, + Y0e, + W0e, + q0e, + Ca, + Dn, + CKe, + AKe, + Ln, + v6, + DKe, + RKe, + h6, + Sme, + FP, + x6, + NKe, + MKe, + zP, + b6, + Ga, + Fx, + IKe, + rb, + hB, + Uc, + q6, + fB, + ka, + X6, + Ba, + za, + OKe, + PKe, + q0, + jx, + Kx, + D6, + BKe, + FKe, + Kg, + epe, + zKe, + GKe, + _P, + $Ke, + VKe, + UKe, + HKe, + YKe, + WKe, + Dme, + qKe, + XKe, + jKe, + tpe, + KKe, + QKe, + R6, + ZKe, + JKe, + eQe, + tQe, + rQe, + nQe, + rpe, + iQe, + aQe, + sQe, + oQe, + lQe, + npe, + ipe, + pB, + j0, + N6, + GP, + $P, + Gc, + Jo, + ape, + spe, + G0, + w6, + ju, + O0, + z0, + zc, + Qg, + f6, + Ome, + Pme, + VP, + UP, + ope, + lpe, + cQe, + uQe, + $a, + nb, + gB, + Hc, + zme, + Gme, + fQe, + $me, + cpe, + upe, + K6, + Q6, + Vme, + Ume, + g1, + Ju, + ib, + hpe, + dQe, + Hme, + y1, + LP, + Yme, + pQe, + fpe, + d6, + T6, + HP, + mQe, + gQe, + yQe, + vQe, + xQe, + bQe, + wQe, + TQe, + kQe, + EQe, + CQe, + SQe, + AQe, + _Qe, + e1, + LQe, + Bx, + Yi, + DQe, + zx, + M6, + RQe, + NQe, + MQe, + IQe, + OQe, + PQe, + BQe, + FQe, + dpe, + zQe, + GQe, + Wme, + Aa, + ppe, + $Qe, + qme, + mpe, + Yc, + WQe, + qQe, + XQe, + jQe, + KQe, + DP, + eh, + Xme, + yB, + K0, + v1, + jme, + bo, + QQe, + Nf, + ype, + vpe, + YP, + WP, + Kme, + P0, + ab, + Zme, + JQe, + Yr, + eZe, + tZe, + rZe, + ege, + tge, + qP, + ige, + X0, + aZe, + rl, + vB = R(() => { + 'use strict'; + o(Hi, '_typeof'); + o(XP, '_classCallCheck'); + o(s0e, '_defineProperties'); + o(jP, '_createClass'); + o(bpe, '_defineProperty$1'); + o($l, '_slicedToArray'); + o(_He, '_arrayWithHoles'); + o(LHe, '_iterableToArrayLimit'); + o(wpe, '_unsupportedIterableToArray'); + o(o0e, '_arrayLikeToArray'); + o(DHe, '_nonIterableRest'); + o(Tpe, '_createForOfIteratorHelper'); + (Vi = typeof window > 'u' ? null : window), (l0e = Vi ? Vi.navigator : null); + Vi && Vi.document; + (RHe = Hi('')), + (kpe = Hi({})), + (NHe = Hi(function () {})), + (MHe = typeof HTMLElement > 'u' ? 'undefined' : Hi(HTMLElement)), + (Qx = o(function (e) { + return e && e.instanceString && jn(e.instanceString) ? e.instanceString() : null; + }, 'instanceStr')), + (zt = o(function (e) { + return e != null && Hi(e) == RHe; + }, 'string')), + (jn = o(function (e) { + return e != null && Hi(e) === NHe; + }, 'fn')), + (vn = o(function (e) { + return !xo(e) && (Array.isArray ? Array.isArray(e) : e != null && e instanceof Array); + }, 'array')), + (Mr = o(function (e) { + return e != null && Hi(e) === kpe && !vn(e) && e.constructor === Object; + }, 'plainObject')), + (IHe = o(function (e) { + return e != null && Hi(e) === kpe; + }, 'object')), + (ft = o(function (e) { + return e != null && Hi(e) === Hi(1) && !isNaN(e); + }, 'number')), + (OHe = o(function (e) { + return ft(e) && Math.floor(e) === e; + }, 'integer')), + (k6 = o(function (e) { + if (MHe !== 'undefined') return e != null && e instanceof HTMLElement; + }, 'htmlElement')), + (xo = o(function (e) { + return Zx(e) || Epe(e); + }, 'elementOrCollection')), + (Zx = o(function (e) { + return Qx(e) === 'collection' && e._private.single; + }, 'element')), + (Epe = o(function (e) { + return Qx(e) === 'collection' && !e._private.single; + }, 'collection')), + (KP = o(function (e) { + return Qx(e) === 'core'; + }, 'core')), + (Cpe = o(function (e) { + return Qx(e) === 'stylesheet'; + }, 'stylesheet')), + (PHe = o(function (e) { + return Qx(e) === 'event'; + }, 'event')), + (Sf = o(function (e) { + return e == null ? !0 : !!(e === '' || e.match(/^\s+$/)); + }, 'emptyString')), + (BHe = o(function (e) { + return typeof HTMLElement > 'u' ? !1 : e instanceof HTMLElement; + }, 'domElement')), + (FHe = o(function (e) { + return Mr(e) && ft(e.x1) && ft(e.x2) && ft(e.y1) && ft(e.y2); + }, 'boundingBox')), + (zHe = o(function (e) { + return IHe(e) && jn(e.then); + }, 'promise')), + (GHe = o(function () { + return l0e && l0e.userAgent.match(/msie|trident|edge/i); + }, 'ms')), + (Gx = o(function (e, r) { + r || + (r = o(function () { + if (arguments.length === 1) return arguments[0]; + if (arguments.length === 0) return 'undefined'; + for (var a = [], s = 0; s < arguments.length; s++) a.push(arguments[s]); + return a.join('$'); + }, 'keyFn')); + var n = o(function i() { + var a = this, + s = arguments, + l, + u = r.apply(a, s), + h = i.cache; + return (l = h[u]) || (l = h[u] = e.apply(a, s)), l; + }, 'memoizedFn'); + return (n.cache = {}), n; + }, 'memoize')), + (QP = Gx(function (t) { + return t.replace(/([A-Z])/g, function (e) { + return '-' + e.toLowerCase(); + }); + })), + (I6 = Gx(function (t) { + return t.replace(/(-\w)/g, function (e) { + return e[1].toUpperCase(); + }); + })), + (Spe = Gx( + function (t, e) { + return t + e[0].toUpperCase() + e.substring(1); + }, + function (t, e) { + return t + '$' + e; + } + )), + (c0e = o(function (e) { + return Sf(e) ? e : e.charAt(0).toUpperCase() + e.substring(1); + }, 'capitalize')), + (Ui = '(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))'), + ($He = + 'rgb[a]?\\((' + + Ui + + '[%]?)\\s*,\\s*(' + + Ui + + '[%]?)\\s*,\\s*(' + + Ui + + '[%]?)(?:\\s*,\\s*(' + + Ui + + '))?\\)'), + (VHe = + 'rgb[a]?\\((?:' + + Ui + + '[%]?)\\s*,\\s*(?:' + + Ui + + '[%]?)\\s*,\\s*(?:' + + Ui + + '[%]?)(?:\\s*,\\s*(?:' + + Ui + + '))?\\)'), + (UHe = + 'hsl[a]?\\((' + + Ui + + ')\\s*,\\s*(' + + Ui + + '[%])\\s*,\\s*(' + + Ui + + '[%])(?:\\s*,\\s*(' + + Ui + + '))?\\)'), + (HHe = + 'hsl[a]?\\((?:' + + Ui + + ')\\s*,\\s*(?:' + + Ui + + '[%])\\s*,\\s*(?:' + + Ui + + '[%])(?:\\s*,\\s*(?:' + + Ui + + '))?\\)'), + (YHe = '\\#[0-9a-fA-F]{3}'), + (WHe = '\\#[0-9a-fA-F]{6}'), + (Ape = o(function (e, r) { + return e < r ? -1 : e > r ? 1 : 0; + }, 'ascending')), + (qHe = o(function (e, r) { + return -1 * Ape(e, r); + }, 'descending')), + (Wt = + Object.assign != null + ? Object.assign.bind(Object) + : function (t) { + for (var e = arguments, r = 1; r < e.length; r++) { + var n = e[r]; + if (n != null) + for (var i = Object.keys(n), a = 0; a < i.length; a++) { + var s = i[a]; + t[s] = n[s]; + } + } + return t; + }), + (XHe = o(function (e) { + if (!(!(e.length === 4 || e.length === 7) || e[0] !== '#')) { + var r = e.length === 4, + n, + i, + a, + s = 16; + return ( + r + ? ((n = parseInt(e[1] + e[1], s)), + (i = parseInt(e[2] + e[2], s)), + (a = parseInt(e[3] + e[3], s))) + : ((n = parseInt(e[1] + e[2], s)), + (i = parseInt(e[3] + e[4], s)), + (a = parseInt(e[5] + e[6], s))), + [n, i, a] + ); + } + }, 'hex2tuple')), + (jHe = o(function (e) { + var r, n, i, a, s, l, u, h; + function f(g, y, v) { + return ( + v < 0 && (v += 1), + v > 1 && (v -= 1), + v < 1 / 6 + ? g + (y - g) * 6 * v + : v < 1 / 2 + ? y + : v < 2 / 3 + ? g + (y - g) * (2 / 3 - v) * 6 + : g + ); + } + o(f, 'hue2rgb'); + var d = new RegExp('^' + UHe + '$').exec(e); + if (d) { + if ( + ((n = parseInt(d[1])), + n < 0 ? (n = (360 - ((-1 * n) % 360)) % 360) : n > 360 && (n = n % 360), + (n /= 360), + (i = parseFloat(d[2])), + i < 0 || + i > 100 || + ((i = i / 100), (a = parseFloat(d[3])), a < 0 || a > 100) || + ((a = a / 100), (s = d[4]), s !== void 0 && ((s = parseFloat(s)), s < 0 || s > 1))) + ) + return; + if (i === 0) l = u = h = Math.round(a * 255); + else { + var p = a < 0.5 ? a * (1 + i) : a + i - a * i, + m = 2 * a - p; + (l = Math.round(255 * f(m, p, n + 1 / 3))), + (u = Math.round(255 * f(m, p, n))), + (h = Math.round(255 * f(m, p, n - 1 / 3))); + } + r = [l, u, h, s]; + } + return r; + }, 'hsl2tuple')), + (KHe = o(function (e) { + var r, + n = new RegExp('^' + $He + '$').exec(e); + if (n) { + r = []; + for (var i = [], a = 1; a <= 3; a++) { + var s = n[a]; + if ( + (s[s.length - 1] === '%' && (i[a] = !0), + (s = parseFloat(s)), + i[a] && (s = (s / 100) * 255), + s < 0 || s > 255) + ) + return; + r.push(Math.floor(s)); + } + var l = i[1] || i[2] || i[3], + u = i[1] && i[2] && i[3]; + if (l && !u) return; + var h = n[4]; + if (h !== void 0) { + if (((h = parseFloat(h)), h < 0 || h > 1)) return; + r.push(h); + } + } + return r; + }, 'rgb2tuple')), + (QHe = o(function (e) { + return JHe[e.toLowerCase()]; + }, 'colorname2tuple')), + (ZHe = o(function (e) { + return (vn(e) ? e : null) || QHe(e) || XHe(e) || KHe(e) || jHe(e); + }, 'color2tuple')), + (JHe = { + 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] + }), + (_pe = o(function (e) { + for (var r = e.map, n = e.keys, i = n.length, a = 0; a < i; a++) { + var s = n[a]; + if (Mr(s)) throw Error('Tried to set map with object key'); + a < n.length - 1 ? (r[s] == null && (r[s] = {}), (r = r[s])) : (r[s] = e.value); + } + }, 'setMap')), + (Lpe = o(function (e) { + for (var r = e.map, n = e.keys, i = n.length, a = 0; a < i; a++) { + var s = n[a]; + if (Mr(s)) throw Error('Tried to get map with object key'); + if (((r = r[s]), r == null)) return r; + } + return r; + }, 'getMap')); + o(eYe, 'isObject'); + (V0 = eYe), + (Mx = + typeof globalThis < 'u' + ? globalThis + : typeof window < 'u' + ? window + : typeof global < 'u' + ? global + : typeof self < 'u' + ? self + : {}); + o(tYe, 'createCommonjsModule'); + (rYe = typeof Mx == 'object' && Mx && Mx.Object === Object && Mx), + (nYe = rYe), + (iYe = typeof self == 'object' && self && self.Object === Object && self), + (aYe = nYe || iYe || Function('return this')()), + (O6 = aYe), + (sYe = o(function () { + return O6.Date.now(); + }, 'now')), + (xP = sYe), + (oYe = /\s/); + o(lYe, 'trimmedEndIndex'); + (cYe = lYe), (uYe = /^\s+/); + o(hYe, 'baseTrim'); + (fYe = hYe), + (dYe = O6.Symbol), + (a1 = dYe), + (Dpe = Object.prototype), + (pYe = Dpe.hasOwnProperty), + (mYe = Dpe.toString), + (_x = a1 ? a1.toStringTag : void 0); + o(gYe, 'getRawTag'); + (yYe = gYe), (vYe = Object.prototype), (xYe = vYe.toString); + o(bYe, 'objectToString'); + (wYe = bYe), (TYe = '[object Null]'), (kYe = '[object Undefined]'), (u0e = a1 ? a1.toStringTag : void 0); + o(EYe, 'baseGetTag'); + Rpe = EYe; + o(CYe, 'isObjectLike'); + (SYe = CYe), (AYe = '[object Symbol]'); + o(_Ye, 'isSymbol'); + (Jx = _Ye), + (h0e = NaN), + (LYe = /^[-+]0x[0-9a-f]+$/i), + (DYe = /^0b[01]+$/i), + (RYe = /^0o[0-7]+$/i), + (NYe = parseInt); + o(MYe, 'toNumber'); + (f0e = MYe), (IYe = 'Expected a function'), (OYe = Math.max), (PYe = Math.min); + o(BYe, 'debounce'); + (P6 = BYe), + (bP = Vi ? Vi.performance : null), + (Npe = + bP && bP.now + ? function () { + return bP.now(); + } + : function () { + return Date.now(); + }), + (FYe = (function () { + if (Vi) { + if (Vi.requestAnimationFrame) + return function (t) { + Vi.requestAnimationFrame(t); + }; + if (Vi.mozRequestAnimationFrame) + return function (t) { + Vi.mozRequestAnimationFrame(t); + }; + if (Vi.webkitRequestAnimationFrame) + return function (t) { + Vi.webkitRequestAnimationFrame(t); + }; + if (Vi.msRequestAnimationFrame) + return function (t) { + Vi.msRequestAnimationFrame(t); + }; + } + return function (t) { + t && + setTimeout(function () { + t(Npe()); + }, 1e3 / 60); + }; + })()), + (E6 = o(function (e) { + return FYe(e); + }, 'requestAnimationFrame')), + (Ku = Npe), + (Zg = 9261), + (Mpe = 65599), + (Ix = 5381), + (Ipe = o(function (e) { + for ( + var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Zg, n = r, i; + (i = e.next()), !i.done; + + ) + n = (n * Mpe + i.value) | 0; + return n; + }, 'hashIterableInts')), + ($x = o(function (e) { + var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Zg; + return (r * Mpe + e) | 0; + }, 'hashInt')), + (Vx = o(function (e) { + var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Ix; + return ((r << 5) + r + e) | 0; + }, 'hashIntAlt')), + (zYe = o(function (e, r) { + return e * 2097152 + r; + }, 'combineHashes')), + (bf = o(function (e) { + return e[0] * 2097152 + e[1]; + }, 'combineHashesArray')), + (r6 = o(function (e, r) { + return [$x(e[0], r[0]), Vx(e[1], r[1])]; + }, 'hashArrays')), + (GYe = o(function (e, r) { + var n = { value: 0, done: !1 }, + i = 0, + a = e.length, + s = { + next: o(function () { + return i < a ? (n.value = e[i++]) : (n.done = !0), n; + }, 'next') + }; + return Ipe(s, r); + }, 'hashIntsArray')), + (U0 = o(function (e, r) { + var n = { value: 0, done: !1 }, + i = 0, + a = e.length, + s = { + next: o(function () { + return i < a ? (n.value = e.charCodeAt(i++)) : (n.done = !0), n; + }, 'next') + }; + return Ipe(s, r); + }, 'hashString')), + (Ope = o(function () { + return $Ye(arguments); + }, 'hashStrings')), + ($Ye = o(function (e) { + for (var r, n = 0; n < e.length; n++) { + var i = e[n]; + n === 0 ? (r = U0(i)) : (r = U0(i, r)); + } + return r; + }, 'hashStringsArray')), + (d0e = !0), + (VYe = console.warn != null), + (UYe = console.trace != null), + (ZP = Number.MAX_SAFE_INTEGER || 9007199254740991), + (Ppe = o(function () { + return !0; + }, 'trueify')), + (C6 = o(function () { + return !1; + }, 'falsify')), + (p0e = o(function () { + return 0; + }, 'zeroify')), + (JP = o(function () {}, 'noop')), + (oi = o(function (e) { + throw new Error(e); + }, 'error')), + (Bpe = o(function (e) { + if (e !== void 0) d0e = !!e; + else return d0e; + }, 'warnings')), + (tn = o(function (e) { + Bpe() && (VYe ? console.warn(e) : (console.log(e), UYe && console.trace())); + }, 'warn')), + (HYe = o(function (e) { + return Wt({}, e); + }, 'clone')), + ($c = o(function (e) { + return e == null ? e : vn(e) ? e.slice() : Mr(e) ? HYe(e) : e; + }, 'copy')), + (YYe = o(function (e) { + return e.slice(); + }, 'copyArray')), + (Fpe = o(function (e, r) { + for ( + r = e = ''; + e++ < 36; + r += (e * 51) & 52 ? (e ^ 15 ? 8 ^ (Math.random() * (e ^ 20 ? 16 : 4)) : 4).toString(16) : '-' + ); + return r; + }, 'uuid')), + (WYe = {}), + (zpe = o(function () { + return WYe; + }, 'staticEmptyObject')), + (Sa = o(function (e) { + var r = Object.keys(e); + return function (n) { + for (var i = {}, a = 0; a < r.length; a++) { + var s = r[a], + l = n?.[s]; + i[s] = l === void 0 ? e[s] : l; + } + return i; + }; + }, 'defaults')), + (Af = o(function (e, r, n) { + for (var i = e.length - 1; i >= 0 && !(e[i] === r && (e.splice(i, 1), n)); i--); + }, 'removeFromArray')), + (eB = o(function (e) { + e.splice(0, e.length); + }, 'clearArray')), + (qYe = o(function (e, r) { + for (var n = 0; n < r.length; n++) { + var i = r[n]; + e.push(i); + } + }, 'push')), + (Ul = o(function (e, r, n) { + return n && (r = Spe(n, r)), e[r]; + }, 'getPrefixedProperty')), + (Tf = o(function (e, r, n, i) { + n && (r = Spe(n, r)), (e[r] = i); + }, 'setPrefixedProperty')), + (XYe = (function () { + function t() { + XP(this, t), (this._obj = {}); + } + return ( + o(t, 'ObjectMap'), + jP(t, [ + { + key: 'set', + value: o(function (r, n) { + return (this._obj[r] = n), this; + }, 'set') + }, + { + key: 'delete', + value: o(function (r) { + return (this._obj[r] = void 0), this; + }, '_delete') + }, + { + key: 'clear', + value: o(function () { + this._obj = {}; + }, 'clear') + }, + { + key: 'has', + value: o(function (r) { + return this._obj[r] !== void 0; + }, 'has') + }, + { + key: 'get', + value: o(function (r) { + return this._obj[r]; + }, 'get') + } + ]), + t + ); + })()), + (Vc = typeof Map < 'u' ? Map : XYe), + (jYe = 'undefined'), + (KYe = (function () { + function t(e) { + if ((XP(this, t), (this._obj = Object.create(null)), (this.size = 0), e != null)) { + var r; + e.instanceString != null && e.instanceString() === this.instanceString() + ? (r = e.toArray()) + : (r = e); + for (var n = 0; n < r.length; n++) this.add(r[n]); + } + } + return ( + o(t, 'ObjectSet'), + jP(t, [ + { + key: 'instanceString', + value: o(function () { + return 'set'; + }, 'instanceString') + }, + { + key: 'add', + value: o(function (r) { + var n = this._obj; + n[r] !== 1 && ((n[r] = 1), this.size++); + }, 'add') + }, + { + key: 'delete', + value: o(function (r) { + var n = this._obj; + n[r] === 1 && ((n[r] = 0), this.size--); + }, '_delete') + }, + { + key: 'clear', + value: o(function () { + this._obj = Object.create(null); + }, 'clear') + }, + { + key: 'has', + value: o(function (r) { + return this._obj[r] === 1; + }, 'has') + }, + { + key: 'toArray', + value: o(function () { + var r = this; + return Object.keys(this._obj).filter(function (n) { + return r.has(n); + }); + }, 'toArray') + }, + { + key: 'forEach', + value: o(function (r, n) { + return this.toArray().forEach(r, n); + }, 'forEach') + } + ]), + t + ); + })()), + (c1 = (typeof Set > 'u' ? 'undefined' : Hi(Set)) !== jYe ? Set : KYe), + (B6 = o(function (e, r) { + var n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !0; + if (e === void 0 || r === void 0 || !KP(e)) { + oi('An element must have a core reference and parameters set'); + return; + } + var i = r.group; + if ( + (i == null && + (r.data && r.data.source != null && r.data.target != null ? (i = 'edges') : (i = 'nodes')), + i !== 'nodes' && i !== 'edges') + ) { + oi('An element must be of type `nodes` or `edges`; you specified `' + i + '`'); + return; + } + (this.length = 1), (this[0] = this); + var a = (this._private = { + cy: e, + single: !0, + data: r.data || {}, + position: r.position || { x: 0, y: 0 }, + autoWidth: void 0, + autoHeight: void 0, + autoPadding: void 0, + compoundBoundsClean: !1, + listeners: [], + group: i, + style: {}, + rstyle: {}, + styleCxts: [], + styleKeys: {}, + removed: !0, + selected: !!r.selected, + selectable: r.selectable === void 0 ? !0 : !!r.selectable, + locked: !!r.locked, + grabbed: !1, + grabbable: r.grabbable === void 0 ? !0 : !!r.grabbable, + pannable: r.pannable === void 0 ? i === 'edges' : !!r.pannable, + active: !1, + classes: new c1(), + animation: { current: [], queue: [] }, + rscratch: {}, + scratch: r.scratch || {}, + edges: [], + children: [], + parent: r.parent && r.parent.isNode() ? r.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 ( + (a.position.x == null && (a.position.x = 0), + a.position.y == null && (a.position.y = 0), + r.renderedPosition) + ) { + var s = r.renderedPosition, + l = e.pan(), + u = e.zoom(); + a.position = { x: (s.x - l.x) / u, y: (s.y - l.y) / u }; + } + var h = []; + vn(r.classes) ? (h = r.classes) : zt(r.classes) && (h = r.classes.split(/\s+/)); + for (var f = 0, d = h.length; f < d; f++) { + var p = h[f]; + !p || p === '' || a.classes.add(p); + } + this.createEmitter(); + var m = r.style || r.css; + m && + (tn( + 'Setting a `style` bypass at element creation should be done only when absolutely necessary. Try to use the stylesheet instead.' + ), + this.style(m)), + (n === void 0 || n) && this.restore(); + }, 'Element')), + (m0e = o(function (e) { + return ( + (e = { bfs: e.bfs || !e.dfs, dfs: e.dfs || !e.bfs }), + o(function (n, i, a) { + var s; + Mr(n) && !xo(n) && ((s = n), (n = s.roots || s.root), (i = s.visit), (a = s.directed)), + (a = arguments.length === 2 && !jn(i) ? i : a), + (i = jn(i) ? i : function () {}); + for ( + var l = this._private.cy, + u = (n = zt(n) ? this.filter(n) : n), + h = [], + f = [], + d = {}, + p = {}, + m = {}, + g = 0, + y, + v = this.byGroup(), + x = v.nodes, + b = v.edges, + w = 0; + w < u.length; + w++ + ) { + var S = u[w], + T = S.id(); + S.isNode() && (h.unshift(S), e.bfs && ((m[T] = !0), f.push(S)), (p[T] = 0)); + } + for ( + var E = o(function () { + var I = e.bfs ? h.shift() : h.pop(), + C = I.id(); + if (e.dfs) { + if (m[C]) return 'continue'; + (m[C] = !0), f.push(I); + } + var O = p[C], + D = d[C], + P = D != null ? D.source() : null, + F = D != null ? D.target() : null, + B = D == null ? void 0 : I.same(P) ? F[0] : P[0], + $ = void 0; + if ((($ = i(I, D, B, g++, O)), $ === !0)) return (y = I), 'break'; + if ($ === !1) return 'break'; + for ( + var z = I.connectedEdges().filter(function (j) { + return (!a || j.source().same(I)) && b.has(j); + }), + Y = 0; + Y < z.length; + Y++ + ) { + var Q = z[Y], + X = Q.connectedNodes().filter(function (j) { + return !j.same(I) && x.has(j); + }), + ie = X.id(); + X.length !== 0 && + !m[ie] && + ((X = X[0]), + h.push(X), + e.bfs && ((m[ie] = !0), f.push(X)), + (d[ie] = Q), + (p[ie] = p[C] + 1)); + } + }, '_loop'); + h.length !== 0; + + ) { + var _ = E(); + if (_ !== 'continue' && _ === 'break') break; + } + for (var A = l.collection(), L = 0; L < f.length; L++) { + var M = f[L], + N = d[M.id()]; + N != null && A.push(N), A.push(M); + } + return { path: l.collection(A), found: l.collection(y) }; + }, 'searchFn') + ); + }, 'defineSearch')), + (Ux = { + breadthFirstSearch: m0e({ bfs: !0 }), + depthFirstSearch: m0e({ dfs: !0 }) + }); + Ux.bfs = Ux.breadthFirstSearch; + Ux.dfs = Ux.depthFirstSearch; + (QYe = tYe(function (t, e) { + (function () { + var r, n, i, a, s, l, u, h, f, d, p, m, g, y, v; + (i = Math.floor), + (d = Math.min), + (n = o(function (x, b) { + return x < b ? -1 : x > b ? 1 : 0; + }, 'defaultCmp')), + (f = o(function (x, b, w, S, T) { + var E; + if ((w == null && (w = 0), T == null && (T = n), w < 0)) + throw new Error('lo must be non-negative'); + for (S == null && (S = x.length); w < S; ) + (E = i((w + S) / 2)), T(b, x[E]) < 0 ? (S = E) : (w = E + 1); + return [].splice.apply(x, [w, w - w].concat(b)), b; + }, 'insort')), + (l = o(function (x, b, w) { + return w == null && (w = n), x.push(b), y(x, 0, x.length - 1, w); + }, 'heappush')), + (s = o(function (x, b) { + var w, S; + return ( + b == null && (b = n), + (w = x.pop()), + x.length ? ((S = x[0]), (x[0] = w), v(x, 0, b)) : (S = w), + S + ); + }, 'heappop')), + (h = o(function (x, b, w) { + var S; + return w == null && (w = n), (S = x[0]), (x[0] = b), v(x, 0, w), S; + }, 'heapreplace')), + (u = o(function (x, b, w) { + var S; + return ( + w == null && (w = n), + x.length && w(x[0], b) < 0 && ((S = [x[0], b]), (b = S[0]), (x[0] = S[1]), v(x, 0, w)), + b + ); + }, 'heappushpop')), + (a = o(function (x, b) { + var w, S, T, E, _, A; + for ( + b == null && (b = n), + E = function () { + A = []; + for (var L = 0, M = i(x.length / 2); 0 <= M ? L < M : L > M; 0 <= M ? L++ : L--) + A.push(L); + return A; + } + .apply(this) + .reverse(), + _ = [], + S = 0, + T = E.length; + S < T; + S++ + ) + (w = E[S]), _.push(v(x, w, b)); + return _; + }, 'heapify')), + (g = o(function (x, b, w) { + var S; + if ((w == null && (w = n), (S = x.indexOf(b)), S !== -1)) return y(x, 0, S, w), v(x, S, w); + }, 'updateItem')), + (p = o(function (x, b, w) { + var S, T, E, _, A; + if ((w == null && (w = n), (T = x.slice(0, b)), !T.length)) return T; + for (a(T, w), A = x.slice(b), E = 0, _ = A.length; E < _; E++) (S = A[E]), u(T, S, w); + return T.sort(w).reverse(); + }, 'nlargest')), + (m = o(function (x, b, w) { + var S, T, E, _, A, L, M, N, k; + if ((w == null && (w = n), b * 10 <= x.length)) { + if (((E = x.slice(0, b).sort(w)), !E.length)) return E; + for (T = E[E.length - 1], M = x.slice(b), _ = 0, L = M.length; _ < L; _++) + (S = M[_]), w(S, T) < 0 && (f(E, S, 0, null, w), E.pop(), (T = E[E.length - 1])); + return E; + } + for (a(x, w), k = [], A = 0, N = d(b, x.length); 0 <= N ? A < N : A > N; 0 <= N ? ++A : --A) + k.push(s(x, w)); + return k; + }, 'nsmallest')), + (y = o(function (x, b, w, S) { + var T, E, _; + for (S == null && (S = n), T = x[w]; w > b; ) { + if (((_ = (w - 1) >> 1), (E = x[_]), S(T, E) < 0)) { + (x[w] = E), (w = _); + continue; + } + break; + } + return (x[w] = T); + }, '_siftdown')), + (v = o(function (x, b, w) { + var S, T, E, _, A; + for (w == null && (w = n), T = x.length, A = b, E = x[b], S = 2 * b + 1; S < T; ) + (_ = S + 1), + _ < T && !(w(x[S], x[_]) < 0) && (S = _), + (x[b] = x[S]), + (b = S), + (S = 2 * b + 1); + return (x[b] = E), y(x, A, b, w); + }, '_siftup')), + (r = (function () { + (x.push = l), + (x.pop = s), + (x.replace = h), + (x.pushpop = u), + (x.heapify = a), + (x.updateItem = g), + (x.nlargest = p), + (x.nsmallest = m); + function x(b) { + (this.cmp = b ?? n), (this.nodes = []); + } + return ( + o(x, 'Heap'), + (x.prototype.push = function (b) { + return l(this.nodes, b, this.cmp); + }), + (x.prototype.pop = function () { + return s(this.nodes, this.cmp); + }), + (x.prototype.peek = function () { + return this.nodes[0]; + }), + (x.prototype.contains = function (b) { + return this.nodes.indexOf(b) !== -1; + }), + (x.prototype.replace = function (b) { + return h(this.nodes, b, this.cmp); + }), + (x.prototype.pushpop = function (b) { + return u(this.nodes, b, this.cmp); + }), + (x.prototype.heapify = function () { + return a(this.nodes, this.cmp); + }), + (x.prototype.updateItem = function (b) { + return g(this.nodes, b, this.cmp); + }), + (x.prototype.clear = function () { + return (this.nodes = []); + }), + (x.prototype.empty = function () { + return this.nodes.length === 0; + }), + (x.prototype.size = function () { + return this.nodes.length; + }), + (x.prototype.clone = function () { + var b; + return (b = new x()), (b.nodes = this.nodes.slice(0)), b; + }), + (x.prototype.toArray = function () { + return this.nodes.slice(0); + }), + (x.prototype.insert = x.prototype.push), + (x.prototype.top = x.prototype.peek), + (x.prototype.front = x.prototype.peek), + (x.prototype.has = x.prototype.contains), + (x.prototype.copy = x.prototype.clone), + x + ); + })()), + (function (x, b) { + return (t.exports = b()); + })(this, function () { + return r; + }); + }).call(Mx); + })), + (eb = QYe), + (ZYe = Sa({ + root: null, + weight: o(function (e) { + return 1; + }, 'weight'), + directed: !1 + })), + (JYe = { + dijkstra: o(function (e) { + if (!Mr(e)) { + var r = arguments; + e = { root: r[0], weight: r[1], directed: r[2] }; + } + var n = ZYe(e), + i = n.root, + a = n.weight, + s = n.directed, + l = this, + u = a, + h = zt(i) ? this.filter(i)[0] : i[0], + f = {}, + d = {}, + p = {}, + m = this.byGroup(), + g = m.nodes, + y = m.edges; + y.unmergeBy(function (O) { + return O.isLoop(); + }); + for ( + var v = o(function (D) { + return f[D.id()]; + }, 'getDist'), + x = o(function (D, P) { + (f[D.id()] = P), b.updateItem(D); + }, 'setDist'), + b = new eb(function (O, D) { + return v(O) - v(D); + }), + w = 0; + w < g.length; + w++ + ) { + var S = g[w]; + (f[S.id()] = S.same(h) ? 0 : 1 / 0), b.push(S); + } + for ( + var T = o(function (D, P) { + for ( + var F = (s ? D.edgesTo(P) : D.edgesWith(P)).intersect(y), B = 1 / 0, $, z = 0; + z < F.length; + z++ + ) { + var Y = F[z], + Q = u(Y); + (Q < B || !$) && ((B = Q), ($ = Y)); + } + return { edge: $, dist: B }; + }, 'distBetween'); + b.size() > 0; + + ) { + var E = b.pop(), + _ = v(E), + A = E.id(); + if (((p[A] = _), _ !== 1 / 0)) + for (var L = E.neighborhood().intersect(g), M = 0; M < L.length; M++) { + var N = L[M], + k = N.id(), + I = T(E, N), + C = _ + I.dist; + C < v(N) && (x(N, C), (d[k] = { node: E, edge: I.edge })); + } + } + return { + distanceTo: o(function (D) { + var P = zt(D) ? g.filter(D)[0] : D[0]; + return p[P.id()]; + }, 'distanceTo'), + pathTo: o(function (D) { + var P = zt(D) ? g.filter(D)[0] : D[0], + F = [], + B = P, + $ = B.id(); + if (P.length > 0) + for (F.unshift(P); d[$]; ) { + var z = d[$]; + F.unshift(z.edge), F.unshift(z.node), (B = z.node), ($ = B.id()); + } + return l.spawn(F); + }, 'pathTo') + }; + }, 'dijkstra') + }), + (eWe = { + kruskal: o(function (e) { + e = + e || + function (w) { + return 1; + }; + for ( + var r = this.byGroup(), + n = r.nodes, + i = r.edges, + a = n.length, + s = new Array(a), + l = n, + u = o(function (S) { + for (var T = 0; T < s.length; T++) { + var E = s[T]; + if (E.has(S)) return T; + } + }, 'findSetIndex'), + h = 0; + h < a; + h++ + ) + s[h] = this.spawn(n[h]); + for ( + var f = i.sort(function (w, S) { + return e(w) - e(S); + }), + d = 0; + d < f.length; + d++ + ) { + var p = f[d], + m = p.source()[0], + g = p.target()[0], + y = u(m), + v = u(g), + x = s[y], + b = s[v]; + y !== v && (l.merge(p), x.merge(b), s.splice(v, 1)); + } + return l; + }, 'kruskal') + }), + (tWe = Sa({ + root: null, + goal: null, + weight: o(function (e) { + return 1; + }, 'weight'), + heuristic: o(function (e) { + return 0; + }, 'heuristic'), + directed: !1 + })), + (rWe = { + aStar: o(function (e) { + var r = this.cy(), + n = tWe(e), + i = n.root, + a = n.goal, + s = n.heuristic, + l = n.directed, + u = n.weight; + (i = r.collection(i)[0]), (a = r.collection(a)[0]); + var h = i.id(), + f = a.id(), + d = {}, + p = {}, + m = {}, + g = new eb(function ($, z) { + return p[$.id()] - p[z.id()]; + }), + y = new c1(), + v = {}, + x = {}, + b = o(function (z, Y) { + g.push(z), y.add(Y); + }, 'addToOpenSet'), + w, + S, + T = o(function () { + (w = g.pop()), (S = w.id()), y.delete(S); + }, 'popFromOpenSet'), + E = o(function (z) { + return y.has(z); + }, 'isInOpenSet'); + b(i, h), (d[h] = 0), (p[h] = s(i)); + for (var _ = 0; g.size() > 0; ) { + if ((T(), _++, S === f)) { + for ( + var A = [], L = a, M = f, N = x[M]; + A.unshift(L), N != null && A.unshift(N), (L = v[M]), L != null; + + ) + (M = L.id()), (N = x[M]); + return { + found: !0, + distance: d[S], + path: this.spawn(A), + steps: _ + }; + } + m[S] = !0; + for (var k = w._private.edges, I = 0; I < k.length; I++) { + var C = k[I]; + if (this.hasElementWithId(C.id()) && !(l && C.data('source') !== S)) { + var O = C.source(), + D = C.target(), + P = O.id() !== S ? O : D, + F = P.id(); + if (this.hasElementWithId(F) && !m[F]) { + var B = d[S] + u(C); + if (!E(F)) { + (d[F] = B), (p[F] = B + s(P)), b(P, F), (v[F] = w), (x[F] = C); + continue; + } + B < d[F] && ((d[F] = B), (p[F] = B + s(P)), (v[F] = w), (x[F] = C)); + } + } + } + } + return { found: !1, distance: void 0, path: void 0, steps: _ }; + }, 'aStar') + }), + (nWe = Sa({ + weight: o(function (e) { + return 1; + }, 'weight'), + directed: !1 + })), + (iWe = { + floydWarshall: o(function (e) { + for ( + var r = this.cy(), + n = nWe(e), + i = n.weight, + a = n.directed, + s = i, + l = this.byGroup(), + u = l.nodes, + h = l.edges, + f = u.length, + d = f * f, + p = o(function (Q) { + return u.indexOf(Q); + }, 'indexOf'), + m = o(function (Q) { + return u[Q]; + }, 'atIndex'), + g = new Array(d), + y = 0; + y < d; + y++ + ) { + var v = y % f, + x = (y - v) / f; + x === v ? (g[y] = 0) : (g[y] = 1 / 0); + } + for (var b = new Array(d), w = new Array(d), S = 0; S < h.length; S++) { + var T = h[S], + E = T.source()[0], + _ = T.target()[0]; + if (E !== _) { + var A = p(E), + L = p(_), + M = A * f + L, + N = s(T); + if ((g[M] > N && ((g[M] = N), (b[M] = L), (w[M] = T)), !a)) { + var k = L * f + A; + !a && g[k] > N && ((g[k] = N), (b[k] = A), (w[k] = T)); + } + } + } + for (var I = 0; I < f; I++) + for (var C = 0; C < f; C++) + for (var O = C * f + I, D = 0; D < f; D++) { + var P = C * f + D, + F = I * f + D; + g[O] + g[F] < g[P] && ((g[P] = g[O] + g[F]), (b[P] = b[O])); + } + var B = o(function (Q) { + return (zt(Q) ? r.filter(Q) : Q)[0]; + }, 'getArgEle'), + $ = o(function (Q) { + return p(B(Q)); + }, 'indexOfArgEle'), + z = { + distance: o(function (Q, X) { + var ie = $(Q), + j = $(X); + return g[ie * f + j]; + }, 'distance'), + path: o(function (Q, X) { + var ie = $(Q), + j = $(X), + J = m(ie); + if (ie === j) return J.collection(); + if (b[ie * f + j] == null) return r.collection(); + var Z = r.collection(), + H = ie, + q; + for (Z.merge(J); ie !== j; ) + (H = ie), (ie = b[ie * f + j]), (q = w[H * f + ie]), Z.merge(q), Z.merge(m(ie)); + return Z; + }, 'path') + }; + return z; + }, 'floydWarshall') + }), + (aWe = Sa({ + weight: o(function (e) { + return 1; + }, 'weight'), + directed: !1, + root: null + })), + (sWe = { + bellmanFord: o(function (e) { + var r = this, + n = aWe(e), + i = n.weight, + a = n.directed, + s = n.root, + l = i, + u = this, + h = this.cy(), + f = this.byGroup(), + d = f.edges, + p = f.nodes, + m = p.length, + g = new Vc(), + y = !1, + v = []; + (s = h.collection(s)[0]), + d.unmergeBy(function (oe) { + return oe.isLoop(); + }); + for ( + var x = d.length, + b = o(function (ke) { + var Ie = g.get(ke.id()); + return Ie || ((Ie = {}), g.set(ke.id(), Ie)), Ie; + }, 'getInfo'), + w = o(function (ke) { + return (zt(ke) ? h.$(ke) : ke)[0]; + }, 'getNodeFromTo'), + S = o(function (ke) { + return b(w(ke)).dist; + }, 'distanceTo'), + T = o(function (ke) { + for ( + var Ie = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : s, + Se = w(ke), + Ue = [], + Pe = Se; + ; + + ) { + if (Pe == null) return r.spawn(); + var _e = b(Pe), + me = _e.edge, + W = _e.pred; + if ((Ue.unshift(Pe[0]), Pe.same(Ie) && Ue.length > 0)) break; + me != null && Ue.unshift(me), (Pe = W); + } + return u.spawn(Ue); + }, 'pathTo'), + E = 0; + E < m; + E++ + ) { + var _ = p[E], + A = b(_); + _.same(s) ? (A.dist = 0) : (A.dist = 1 / 0), (A.pred = null), (A.edge = null); + } + for ( + var L = !1, + M = o(function (ke, Ie, Se, Ue, Pe, _e) { + var me = Ue.dist + _e; + me < Pe.dist && + !Se.same(Ue.edge) && + ((Pe.dist = me), (Pe.pred = ke), (Pe.edge = Se), (L = !0)); + }, 'checkForEdgeReplacement'), + N = 1; + N < m; + N++ + ) { + L = !1; + for (var k = 0; k < x; k++) { + var I = d[k], + C = I.source(), + O = I.target(), + D = l(I), + P = b(C), + F = b(O); + M(C, O, I, P, F, D), a || M(O, C, I, F, P, D); + } + if (!L) break; + } + if (L) + for (var B = [], $ = 0; $ < x; $++) { + var z = d[$], + Y = z.source(), + Q = z.target(), + X = l(z), + ie = b(Y).dist, + j = b(Q).dist; + if (ie + X < j || (!a && j + X < ie)) + if ( + (y || (tn('Graph contains a negative weight cycle for Bellman-Ford'), (y = !0)), + e.findNegativeWeightCycles !== !1) + ) { + var J = []; + ie + X < j && J.push(Y), !a && j + X < ie && J.push(Q); + for (var Z = J.length, H = 0; H < Z; H++) { + var q = J[H], + K = [q]; + K.push(b(q).edge); + for (var se = b(q).pred; K.indexOf(se) === -1; ) + K.push(se), K.push(b(se).edge), (se = b(se).pred); + K = K.slice(K.indexOf(se)); + for (var ce = K[0].id(), ue = 0, te = 2; te < K.length; te += 2) + K[te].id() < ce && ((ce = K[te].id()), (ue = te)); + (K = K.slice(ue).concat(K.slice(0, ue))), K.push(K[0]); + var De = K.map(function (oe) { + return oe.id(); + }).join(','); + B.indexOf(De) === -1 && (v.push(u.spawn(K)), B.push(De)); + } + } else break; + } + return { + distanceTo: S, + pathTo: T, + hasNegativeWeightCycle: y, + negativeWeightCycles: v + }; + }, 'bellmanFord') + }), + (oWe = Math.sqrt(2)), + (lWe = o(function (e, r, n) { + n.length === 0 && oi('Karger-Stein must be run on a connected (sub)graph'); + for (var i = n[e], a = i[1], s = i[2], l = r[a], u = r[s], h = n, f = h.length - 1; f >= 0; f--) { + var d = h[f], + p = d[1], + m = d[2]; + ((r[p] === l && r[m] === u) || (r[p] === u && r[m] === l)) && h.splice(f, 1); + } + for (var g = 0; g < h.length; g++) { + var y = h[g]; + y[1] === u + ? ((h[g] = y.slice()), (h[g][1] = l)) + : y[2] === u && ((h[g] = y.slice()), (h[g][2] = l)); + } + for (var v = 0; v < r.length; v++) r[v] === u && (r[v] = l); + return h; + }, 'collapse')), + (wP = o(function (e, r, n, i) { + for (; n > i; ) { + var a = Math.floor(Math.random() * r.length); + (r = lWe(a, e, r)), n--; + } + return r; + }, 'contractUntil')), + (cWe = { + kargerStein: o(function () { + var e = this, + r = this.byGroup(), + n = r.nodes, + i = r.edges; + i.unmergeBy(function (F) { + return F.isLoop(); + }); + var a = n.length, + s = i.length, + l = Math.ceil(Math.pow(Math.log(a) / Math.LN2, 2)), + u = Math.floor(a / oWe); + if (a < 2) { + oi('At least 2 nodes are required for Karger-Stein algorithm'); + return; + } + for (var h = [], f = 0; f < s; f++) { + var d = i[f]; + h.push([f, n.indexOf(d.source()), n.indexOf(d.target())]); + } + for ( + var p = 1 / 0, + m = [], + g = new Array(a), + y = new Array(a), + v = new Array(a), + x = o(function (B, $) { + for (var z = 0; z < a; z++) $[z] = B[z]; + }, 'copyNodesMap'), + b = 0; + b <= l; + b++ + ) { + for (var w = 0; w < a; w++) y[w] = w; + var S = wP(y, h.slice(), a, u), + T = S.slice(); + x(y, v); + var E = wP(y, S, u, 2), + _ = wP(v, T, u, 2); + E.length <= _.length && E.length < p + ? ((p = E.length), (m = E), x(y, g)) + : _.length <= E.length && _.length < p && ((p = _.length), (m = _), x(v, g)); + } + for ( + var A = this.spawn( + m.map(function (F) { + return i[F[0]]; + }) + ), + L = this.spawn(), + M = this.spawn(), + N = g[0], + k = 0; + k < g.length; + k++ + ) { + var I = g[k], + C = n[k]; + I === N ? L.merge(C) : M.merge(C); + } + var O = o(function (B) { + var $ = e.spawn(); + return ( + B.forEach(function (z) { + $.merge(z), + z.connectedEdges().forEach(function (Y) { + e.contains(Y) && !A.contains(Y) && $.merge(Y); + }); + }), + $ + ); + }, 'constructComponent'), + D = [O(L), O(M)], + P = { cut: A, components: D, partition1: L, partition2: M }; + return P; + }, 'kargerStein') + }), + (uWe = o(function (e) { + return { x: e.x, y: e.y }; + }, 'copyPosition')), + (F6 = o(function (e, r, n) { + return { x: e.x * r + n.x, y: e.y * r + n.y }; + }, 'modelToRenderedPosition')), + (Gpe = o(function (e, r, n) { + return { x: (e.x - n.x) / r, y: (e.y - n.y) / r }; + }, 'renderedToModelPosition')), + (Jg = o(function (e) { + return { x: e[0], y: e[1] }; + }, 'array2point')), + (hWe = o(function (e) { + for ( + var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, + n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : e.length, + i = 1 / 0, + a = r; + a < n; + a++ + ) { + var s = e[a]; + isFinite(s) && (i = Math.min(s, i)); + } + return i; + }, 'min')), + (fWe = o(function (e) { + for ( + var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, + n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : e.length, + i = -1 / 0, + a = r; + a < n; + a++ + ) { + var s = e[a]; + isFinite(s) && (i = Math.max(s, i)); + } + return i; + }, 'max')), + (dWe = o(function (e) { + for ( + var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, + n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : e.length, + i = 0, + a = 0, + s = r; + s < n; + s++ + ) { + var l = e[s]; + isFinite(l) && ((i += l), a++); + } + return i / a; + }, 'mean')), + (pWe = o(function (e) { + var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, + n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : e.length, + i = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !0, + a = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0, + s = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : !0; + i ? (e = e.slice(r, n)) : (n < e.length && e.splice(n, e.length - n), r > 0 && e.splice(0, r)); + for (var l = 0, u = e.length - 1; u >= 0; u--) { + var h = e[u]; + s ? isFinite(h) || ((e[u] = -1 / 0), l++) : e.splice(u, 1); + } + a && + e.sort(function (p, m) { + return p - m; + }); + var f = e.length, + d = Math.floor(f / 2); + return f % 2 !== 0 ? e[d + 1 + l] : (e[d - 1 + l] + e[d + l]) / 2; + }, 'median')), + (mWe = o(function (e) { + return (Math.PI * e) / 180; + }, 'deg2rad')), + (n6 = o(function (e, r) { + return Math.atan2(r, e) - Math.PI / 2; + }, 'getAngleFromDisp')), + (tB = + Math.log2 || + function (t) { + return Math.log(t) / Math.log(2); + }), + ($pe = o(function (e) { + return e > 0 ? 1 : e < 0 ? -1 : 0; + }, 'signum')), + (H0 = o(function (e, r) { + return Math.sqrt(B0(e, r)); + }, 'dist')), + (B0 = o(function (e, r) { + var n = r.x - e.x, + i = r.y - e.y; + return n * n + i * i; + }, 'sqdist')), + (gWe = o(function (e) { + for (var r = e.length, n = 0, i = 0; i < r; i++) n += e[i]; + for (var a = 0; a < r; a++) e[a] = e[a] / n; + return e; + }, 'inPlaceSumNormalize')), + (aa = o(function (e, r, n, i) { + return (1 - i) * (1 - i) * e + 2 * (1 - i) * i * r + i * i * n; + }, 'qbezierAt')), + (t1 = o(function (e, r, n, i) { + return { x: aa(e.x, r.x, n.x, i), y: aa(e.y, r.y, n.y, i) }; + }, 'qbezierPtAt')), + (yWe = o(function (e, r, n, i) { + var a = { x: r.x - e.x, y: r.y - e.y }, + s = H0(e, r), + l = { x: a.x / s, y: a.y / s }; + return (n = n ?? 0), (i = i ?? n * s), { x: e.x + l.x * i, y: e.y + l.y * i }; + }, 'lineAt')), + (Hx = o(function (e, r, n) { + return Math.max(e, Math.min(n, r)); + }, 'bound')), + (Gs = o(function (e) { + if (e == null) return { x1: 1 / 0, y1: 1 / 0, x2: -1 / 0, y2: -1 / 0, w: 0, h: 0 }; + if (e.x1 != null && e.y1 != null) { + if (e.x2 != null && e.y2 != null && e.x2 >= e.x1 && e.y2 >= e.y1) + return { + x1: e.x1, + y1: e.y1, + x2: e.x2, + y2: e.y2, + w: e.x2 - e.x1, + h: e.y2 - e.y1 + }; + if (e.w != null && e.h != null && e.w >= 0 && e.h >= 0) + return { + x1: e.x1, + y1: e.y1, + x2: e.x1 + e.w, + y2: e.y1 + e.h, + w: e.w, + h: e.h + }; + } + }, 'makeBoundingBox')), + (vWe = o(function (e) { + return { x1: e.x1, x2: e.x2, w: e.w, y1: e.y1, y2: e.y2, h: e.h }; + }, 'copyBoundingBox')), + (xWe = o(function (e) { + (e.x1 = 1 / 0), (e.y1 = 1 / 0), (e.x2 = -1 / 0), (e.y2 = -1 / 0), (e.w = 0), (e.h = 0); + }, 'clearBoundingBox')), + (bWe = o(function (e, r, n) { + return { + x1: e.x1 + r, + x2: e.x2 + r, + y1: e.y1 + n, + y2: e.y2 + n, + w: e.w, + h: e.h + }; + }, 'shiftBoundingBox')), + (Vpe = o(function (e, r) { + (e.x1 = Math.min(e.x1, r.x1)), + (e.x2 = Math.max(e.x2, r.x2)), + (e.w = e.x2 - e.x1), + (e.y1 = Math.min(e.y1, r.y1)), + (e.y2 = Math.max(e.y2, r.y2)), + (e.h = e.y2 - e.y1); + }, 'updateBoundingBox')), + (wWe = o(function (e, r, n) { + (e.x1 = Math.min(e.x1, r)), + (e.x2 = Math.max(e.x2, r)), + (e.w = e.x2 - e.x1), + (e.y1 = Math.min(e.y1, n)), + (e.y2 = Math.max(e.y2, n)), + (e.h = e.y2 - e.y1); + }, 'expandBoundingBoxByPoint')), + (p6 = o(function (e) { + var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0; + return ( + (e.x1 -= r), (e.x2 += r), (e.y1 -= r), (e.y2 += r), (e.w = e.x2 - e.x1), (e.h = e.y2 - e.y1), e + ); + }, 'expandBoundingBox')), + (m6 = o(function (e) { + var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [0], + n, + i, + a, + s; + if (r.length === 1) n = i = a = s = r[0]; + else if (r.length === 2) (n = a = r[0]), (s = i = r[1]); + else if (r.length === 4) { + var l = $l(r, 4); + (n = l[0]), (i = l[1]), (a = l[2]), (s = l[3]); + } + return ( + (e.x1 -= s), (e.x2 += i), (e.y1 -= n), (e.y2 += a), (e.w = e.x2 - e.x1), (e.h = e.y2 - e.y1), e + ); + }, 'expandBoundingBoxSides')), + (g0e = o(function (e, r) { + (e.x1 = r.x1), + (e.y1 = r.y1), + (e.x2 = r.x2), + (e.y2 = r.y2), + (e.w = e.x2 - e.x1), + (e.h = e.y2 - e.y1); + }, 'assignBoundingBox')), + (rB = o(function (e, r) { + return !( + e.x1 > r.x2 || + r.x1 > e.x2 || + e.x2 < r.x1 || + r.x2 < e.x1 || + e.y2 < r.y1 || + r.y2 < e.y1 || + e.y1 > r.y2 || + r.y1 > e.y2 + ); + }, 'boundingBoxesIntersect')), + (s1 = o(function (e, r, n) { + return e.x1 <= r && r <= e.x2 && e.y1 <= n && n <= e.y2; + }, 'inBoundingBox')), + (TWe = o(function (e, r) { + return s1(e, r.x, r.y); + }, 'pointInBoundingBox')), + (Upe = o(function (e, r) { + return s1(e, r.x1, r.y1) && s1(e, r.x2, r.y2); + }, 'boundingBoxInBoundingBox')), + (Hpe = o(function (e, r, n, i, a, s, l) { + var u = arguments.length > 7 && arguments[7] !== void 0 ? arguments[7] : 'auto', + h = u === 'auto' ? Y0(a, s) : u, + f = a / 2, + d = s / 2; + h = Math.min(h, f, d); + var p = h !== f, + m = h !== d, + g; + if (p) { + var y = n - f + h - l, + v = i - d - l, + x = n + f - h + l, + b = v; + if (((g = kf(e, r, n, i, y, v, x, b, !1)), g.length > 0)) return g; + } + if (m) { + var w = n + f + l, + S = i - d + h - l, + T = w, + E = i + d - h + l; + if (((g = kf(e, r, n, i, w, S, T, E, !1)), g.length > 0)) return g; + } + if (p) { + var _ = n - f + h - l, + A = i + d + l, + L = n + f - h + l, + M = A; + if (((g = kf(e, r, n, i, _, A, L, M, !1)), g.length > 0)) return g; + } + if (m) { + var N = n - f - l, + k = i - d + h - l, + I = N, + C = i + d - h + l; + if (((g = kf(e, r, n, i, N, k, I, C, !1)), g.length > 0)) return g; + } + var O; + { + var D = n - f + h, + P = i - d + h; + if (((O = Ox(e, r, n, i, D, P, h + l)), O.length > 0 && O[0] <= D && O[1] <= P)) + return [O[0], O[1]]; + } + { + var F = n + f - h, + B = i - d + h; + if (((O = Ox(e, r, n, i, F, B, h + l)), O.length > 0 && O[0] >= F && O[1] <= B)) + return [O[0], O[1]]; + } + { + var $ = n + f - h, + z = i + d - h; + if (((O = Ox(e, r, n, i, $, z, h + l)), O.length > 0 && O[0] >= $ && O[1] >= z)) + return [O[0], O[1]]; + } + { + var Y = n - f + h, + Q = i + d - h; + if (((O = Ox(e, r, n, i, Y, Q, h + l)), O.length > 0 && O[0] <= Y && O[1] >= Q)) + return [O[0], O[1]]; + } + return []; + }, 'roundRectangleIntersectLine')), + (kWe = o(function (e, r, n, i, a, s, l) { + var u = l, + h = Math.min(n, a), + f = Math.max(n, a), + d = Math.min(i, s), + p = Math.max(i, s); + return h - u <= e && e <= f + u && d - u <= r && r <= p + u; + }, 'inLineVicinity')), + (EWe = o(function (e, r, n, i, a, s, l, u, h) { + var f = { + x1: Math.min(n, l, a) - h, + x2: Math.max(n, l, a) + h, + y1: Math.min(i, u, s) - h, + y2: Math.max(i, u, s) + h + }; + return !(e < f.x1 || e > f.x2 || r < f.y1 || r > f.y2); + }, 'inBezierVicinity')), + (CWe = o(function (e, r, n, i) { + n -= i; + var a = r * r - 4 * e * n; + if (a < 0) return []; + var s = Math.sqrt(a), + l = 2 * e, + u = (-r + s) / l, + h = (-r - s) / l; + return [u, h]; + }, 'solveQuadratic')), + (SWe = o(function (e, r, n, i, a) { + var s = 1e-5; + e === 0 && (e = s), (r /= e), (n /= e), (i /= e); + var l, u, h, f, d, p, m, g; + if ( + ((u = (3 * n - r * r) / 9), + (h = -(27 * i) + r * (9 * n - 2 * (r * r))), + (h /= 54), + (l = u * u * u + h * h), + (a[1] = 0), + (m = r / 3), + l > 0) + ) { + (d = h + Math.sqrt(l)), + (d = d < 0 ? -Math.pow(-d, 1 / 3) : Math.pow(d, 1 / 3)), + (p = h - Math.sqrt(l)), + (p = p < 0 ? -Math.pow(-p, 1 / 3) : Math.pow(p, 1 / 3)), + (a[0] = -m + d + p), + (m += (d + p) / 2), + (a[4] = a[2] = -m), + (m = (Math.sqrt(3) * (-p + d)) / 2), + (a[3] = m), + (a[5] = -m); + return; + } + if (((a[5] = a[3] = 0), l === 0)) { + (g = h < 0 ? -Math.pow(-h, 1 / 3) : Math.pow(h, 1 / 3)), + (a[0] = -m + 2 * g), + (a[4] = a[2] = -(g + m)); + return; + } + (u = -u), + (f = u * u * u), + (f = Math.acos(h / Math.sqrt(f))), + (g = 2 * Math.sqrt(u)), + (a[0] = -m + g * Math.cos(f / 3)), + (a[2] = -m + g * Math.cos((f + 2 * Math.PI) / 3)), + (a[4] = -m + g * Math.cos((f + 4 * Math.PI) / 3)); + }, 'solveCubic')), + (AWe = o(function (e, r, n, i, a, s, l, u) { + var h = + 1 * n * n - + 4 * n * a + + 2 * n * l + + 4 * a * a - + 4 * a * l + + l * l + + i * i - + 4 * i * s + + 2 * i * u + + 4 * s * s - + 4 * s * u + + u * u, + f = + 1 * 9 * n * a - + 3 * n * n - + 3 * n * l - + 6 * a * a + + 3 * a * l + + 9 * i * s - + 3 * i * i - + 3 * i * u - + 6 * s * s + + 3 * s * u, + d = + 1 * 3 * n * n - + 6 * n * a + + n * l - + n * e + + 2 * a * a + + 2 * a * e - + l * e + + 3 * i * i - + 6 * i * s + + i * u - + i * r + + 2 * s * s + + 2 * s * r - + u * r, + p = 1 * n * a - n * n + n * e - a * e + i * s - i * i + i * r - s * r, + m = []; + SWe(h, f, d, p, m); + for (var g = 1e-7, y = [], v = 0; v < 6; v += 2) + Math.abs(m[v + 1]) < g && m[v] >= 0 && m[v] <= 1 && y.push(m[v]); + y.push(1), y.push(0); + for (var x = -1, b, w, S, T = 0; T < y.length; T++) + (b = Math.pow(1 - y[T], 2) * n + 2 * (1 - y[T]) * y[T] * a + y[T] * y[T] * l), + (w = Math.pow(1 - y[T], 2) * i + 2 * (1 - y[T]) * y[T] * s + y[T] * y[T] * u), + (S = Math.pow(b - e, 2) + Math.pow(w - r, 2)), + x >= 0 ? S < x && (x = S) : (x = S); + return x; + }, 'sqdistToQuadraticBezier')), + (_We = o(function (e, r, n, i, a, s) { + var l = [e - n, r - i], + u = [a - n, s - i], + h = u[0] * u[0] + u[1] * u[1], + f = l[0] * l[0] + l[1] * l[1], + d = l[0] * u[0] + l[1] * u[1], + p = (d * d) / h; + return d < 0 ? f : p > h ? (e - a) * (e - a) + (r - s) * (r - s) : f - p; + }, 'sqdistToFiniteLine')), + (zs = o(function (e, r, n) { + for (var i, a, s, l, u, h = 0, f = 0; f < n.length / 2; f++) + if ( + ((i = n[f * 2]), + (a = n[f * 2 + 1]), + f + 1 < n.length / 2 + ? ((s = n[(f + 1) * 2]), (l = n[(f + 1) * 2 + 1])) + : ((s = n[(f + 1 - n.length / 2) * 2]), (l = n[(f + 1 - n.length / 2) * 2 + 1])), + !(i == e && s == e)) + ) + if ((i >= e && e >= s) || (i <= e && e <= s)) + (u = ((e - i) / (s - i)) * (l - a) + a), u > r && h++; + else continue; + return h % 2 !== 0; + }, 'pointInsidePolygonPoints')), + (Qu = o(function (e, r, n, i, a, s, l, u, h) { + var f = new Array(n.length), + d; + u[0] != null + ? ((d = Math.atan(u[1] / u[0])), u[0] < 0 ? (d = d + Math.PI / 2) : (d = -d - Math.PI / 2)) + : (d = u); + for (var p = Math.cos(-d), m = Math.sin(-d), g = 0; g < f.length / 2; g++) + (f[g * 2] = (s / 2) * (n[g * 2] * p - n[g * 2 + 1] * m)), + (f[g * 2 + 1] = (l / 2) * (n[g * 2 + 1] * p + n[g * 2] * m)), + (f[g * 2] += i), + (f[g * 2 + 1] += a); + var y; + if (h > 0) { + var v = A6(f, -h); + y = S6(v); + } else y = f; + return zs(e, r, y); + }, 'pointInsidePolygon')), + (LWe = o(function (e, r, n, i, a, s, l, u) { + for (var h = new Array(n.length * 2), f = 0; f < u.length; f++) { + var d = u[f]; + (h[f * 4 + 0] = d.startX), + (h[f * 4 + 1] = d.startY), + (h[f * 4 + 2] = d.stopX), + (h[f * 4 + 3] = d.stopY); + var p = Math.pow(d.cx - e, 2) + Math.pow(d.cy - r, 2); + if (p <= Math.pow(d.radius, 2)) return !0; + } + return zs(e, r, h); + }, 'pointInsideRoundPolygon')), + (S6 = o(function (e) { + for (var r = new Array(e.length / 2), n, i, a, s, l, u, h, f, d = 0; d < e.length / 4; d++) { + (n = e[d * 4]), + (i = e[d * 4 + 1]), + (a = e[d * 4 + 2]), + (s = e[d * 4 + 3]), + d < e.length / 4 - 1 + ? ((l = e[(d + 1) * 4]), + (u = e[(d + 1) * 4 + 1]), + (h = e[(d + 1) * 4 + 2]), + (f = e[(d + 1) * 4 + 3])) + : ((l = e[0]), (u = e[1]), (h = e[2]), (f = e[3])); + var p = kf(n, i, a, s, l, u, h, f, !0); + (r[d * 2] = p[0]), (r[d * 2 + 1] = p[1]); + } + return r; + }, 'joinLines')), + (A6 = o(function (e, r) { + for (var n = new Array(e.length * 2), i, a, s, l, u = 0; u < e.length / 2; u++) { + (i = e[u * 2]), + (a = e[u * 2 + 1]), + u < e.length / 2 - 1 + ? ((s = e[(u + 1) * 2]), (l = e[(u + 1) * 2 + 1])) + : ((s = e[0]), (l = e[1])); + var h = l - a, + f = -(s - i), + d = Math.sqrt(h * h + f * f), + p = h / d, + m = f / d; + (n[u * 4] = i + p * r), + (n[u * 4 + 1] = a + m * r), + (n[u * 4 + 2] = s + p * r), + (n[u * 4 + 3] = l + m * r); + } + return n; + }, 'expandPolygon')), + (DWe = o(function (e, r, n, i, a, s) { + var l = n - e, + u = i - r; + (l /= a), (u /= s); + var h = Math.sqrt(l * l + u * u), + f = h - 1; + if (f < 0) return []; + var d = f / h; + return [(n - e) * d + e, (i - r) * d + r]; + }, 'intersectLineEllipse')), + ($0 = o(function (e, r, n, i, a, s, l) { + return (e -= a), (r -= s), (e /= n / 2 + l), (r /= i / 2 + l), e * e + r * r <= 1; + }, 'checkInEllipse')), + (Ox = o(function (e, r, n, i, a, s, l) { + var u = [n - e, i - r], + h = [e - a, r - s], + f = u[0] * u[0] + u[1] * u[1], + d = 2 * (h[0] * u[0] + h[1] * u[1]), + p = h[0] * h[0] + h[1] * h[1] - l * l, + m = d * d - 4 * f * p; + if (m < 0) return []; + var g = (-d + Math.sqrt(m)) / (2 * f), + y = (-d - Math.sqrt(m)) / (2 * f), + v = Math.min(g, y), + x = Math.max(g, y), + b = []; + if ((v >= 0 && v <= 1 && b.push(v), x >= 0 && x <= 1 && b.push(x), b.length === 0)) return []; + var w = b[0] * u[0] + e, + S = b[0] * u[1] + r; + if (b.length > 1) { + if (b[0] == b[1]) return [w, S]; + var T = b[1] * u[0] + e, + E = b[1] * u[1] + r; + return [w, S, T, E]; + } else return [w, S]; + }, 'intersectLineCircle')), + (TP = o(function (e, r, n) { + return (r <= e && e <= n) || (n <= e && e <= r) + ? e + : (e <= r && r <= n) || (n <= r && r <= e) + ? r + : n; + }, 'midOfThree')), + (kf = o(function (e, r, n, i, a, s, l, u, h) { + var f = e - a, + d = n - e, + p = l - a, + m = r - s, + g = i - r, + y = u - s, + v = p * m - y * f, + x = d * m - g * f, + b = y * d - p * g; + if (b !== 0) { + var w = v / b, + S = x / b, + T = 0.001, + E = 0 - T, + _ = 1 + T; + return E <= w && w <= _ && E <= S && S <= _ + ? [e + w * d, r + w * g] + : h + ? [e + w * d, r + w * g] + : []; + } else return v === 0 || x === 0 ? (TP(e, n, l) === l ? [l, u] : TP(e, n, a) === a ? [a, s] : TP(a, l, n) === n ? [n, i] : []) : []; + }, 'finiteLinesIntersect')), + (Yx = o(function (e, r, n, i, a, s, l, u) { + var h = [], + f, + d = new Array(n.length), + p = !0; + s == null && (p = !1); + var m; + if (p) { + for (var g = 0; g < d.length / 2; g++) + (d[g * 2] = n[g * 2] * s + i), (d[g * 2 + 1] = n[g * 2 + 1] * l + a); + if (u > 0) { + var y = A6(d, -u); + m = S6(y); + } else m = d; + } else m = n; + for (var v, x, b, w, S = 0; S < m.length / 2; S++) + (v = m[S * 2]), + (x = m[S * 2 + 1]), + S < m.length / 2 - 1 + ? ((b = m[(S + 1) * 2]), (w = m[(S + 1) * 2 + 1])) + : ((b = m[0]), (w = m[1])), + (f = kf(e, r, i, a, v, x, b, w)), + f.length !== 0 && h.push(f[0], f[1]); + return h; + }, 'polygonIntersectLine')), + (RWe = o(function (e, r, n, i, a, s, l, u, h) { + var f = [], + d, + p = new Array(n.length * 2); + h.forEach(function (b, w) { + w === 0 + ? ((p[p.length - 2] = b.startX), (p[p.length - 1] = b.startY)) + : ((p[w * 4 - 2] = b.startX), (p[w * 4 - 1] = b.startY)), + (p[w * 4] = b.stopX), + (p[w * 4 + 1] = b.stopY), + (d = Ox(e, r, i, a, b.cx, b.cy, b.radius)), + d.length !== 0 && f.push(d[0], d[1]); + }); + for (var m = 0; m < p.length / 4; m++) + (d = kf(e, r, i, a, p[m * 4], p[m * 4 + 1], p[m * 4 + 2], p[m * 4 + 3], !1)), + d.length !== 0 && f.push(d[0], d[1]); + if (f.length > 2) { + for ( + var g = [f[0], f[1]], y = Math.pow(g[0] - e, 2) + Math.pow(g[1] - r, 2), v = 1; + v < f.length / 2; + v++ + ) { + var x = Math.pow(f[v * 2] - e, 2) + Math.pow(f[v * 2 + 1] - r, 2); + x <= y && ((g[0] = f[v * 2]), (g[1] = f[v * 2 + 1]), (y = x)); + } + return g; + } + return f; + }, 'roundPolygonIntersectLine')), + (i6 = o(function (e, r, n) { + var i = [e[0] - r[0], e[1] - r[1]], + a = Math.sqrt(i[0] * i[0] + i[1] * i[1]), + s = (a - n) / a; + return s < 0 && (s = 1e-5), [r[0] + s * i[0], r[1] + s * i[1]]; + }, 'shortenIntersection')), + (ls = o(function (e, r) { + var n = NP(e, r); + return (n = Ype(n)), n; + }, 'generateUnitNgonPointsFitToSquare')), + (Ype = o(function (e) { + for (var r, n, i = e.length / 2, a = 1 / 0, s = 1 / 0, l = -1 / 0, u = -1 / 0, h = 0; h < i; h++) + (r = e[2 * h]), + (n = e[2 * h + 1]), + (a = Math.min(a, r)), + (l = Math.max(l, r)), + (s = Math.min(s, n)), + (u = Math.max(u, n)); + for (var f = 2 / (l - a), d = 2 / (u - s), p = 0; p < i; p++) + (r = e[2 * p] = e[2 * p] * f), + (n = e[2 * p + 1] = e[2 * p + 1] * d), + (a = Math.min(a, r)), + (l = Math.max(l, r)), + (s = Math.min(s, n)), + (u = Math.max(u, n)); + if (s < -1) for (var m = 0; m < i; m++) n = e[2 * m + 1] = e[2 * m + 1] + (-1 - s); + return e; + }, 'fitPolygonToSquare')), + (NP = o(function (e, r) { + var n = (1 / e) * 2 * Math.PI, + i = e % 2 === 0 ? Math.PI / 2 + n / 2 : Math.PI / 2; + i += r; + for (var a = new Array(e * 2), s, l = 0; l < e; l++) + (s = l * n + i), (a[2 * l] = Math.cos(s)), (a[2 * l + 1] = Math.sin(-s)); + return a; + }, 'generateUnitNgonPoints')), + (Y0 = o(function (e, r) { + return Math.min(e / 4, r / 4, 8); + }, 'getRoundRectangleRadius')), + (Wpe = o(function (e, r) { + return Math.min(e / 10, r / 10, 8); + }, 'getRoundPolygonRadius')), + (nB = o(function () { + return 8; + }, 'getCutRectangleCornerLength')), + (NWe = o(function (e, r, n) { + return [e - 2 * r + n, 2 * (r - e), e]; + }, 'bezierPtsToQuadCoeff')), + (MP = o(function (e, r) { + return { + heightOffset: Math.min(15, 0.05 * r), + widthOffset: Math.min(100, 0.25 * e), + ctrlPtOffsetPct: 0.05 + }; + }, 'getBarrelCurveConstants')), + (MWe = Sa({ + dampingFactor: 0.8, + precision: 1e-6, + iterations: 200, + weight: o(function (e) { + return 1; + }, 'weight') + })), + (IWe = { + pageRank: o(function (e) { + for ( + var r = MWe(e), + n = r.dampingFactor, + i = r.precision, + a = r.iterations, + s = r.weight, + l = this._private.cy, + u = this.byGroup(), + h = u.nodes, + f = u.edges, + d = h.length, + p = d * d, + m = f.length, + g = new Array(p), + y = new Array(d), + v = (1 - n) / d, + x = 0; + x < d; + x++ + ) { + for (var b = 0; b < d; b++) { + var w = x * d + b; + g[w] = 0; + } + y[x] = 0; + } + for (var S = 0; S < m; S++) { + var T = f[S], + E = T.data('source'), + _ = T.data('target'); + if (E !== _) { + var A = h.indexOfId(E), + L = h.indexOfId(_), + M = s(T), + N = L * d + A; + (g[N] += M), (y[A] += M); + } + } + for (var k = 1 / d + v, I = 0; I < d; I++) + if (y[I] === 0) + for (var C = 0; C < d; C++) { + var O = C * d + I; + g[O] = k; + } + else + for (var D = 0; D < d; D++) { + var P = D * d + I; + g[P] = g[P] / y[I] + v; + } + for (var F = new Array(d), B = new Array(d), $, z = 0; z < d; z++) F[z] = 1; + for (var Y = 0; Y < a; Y++) { + for (var Q = 0; Q < d; Q++) B[Q] = 0; + for (var X = 0; X < d; X++) + for (var ie = 0; ie < d; ie++) { + var j = X * d + ie; + B[X] += g[j] * F[ie]; + } + gWe(B), ($ = F), (F = B), (B = $); + for (var J = 0, Z = 0; Z < d; Z++) { + var H = $[Z] - F[Z]; + J += H * H; + } + if (J < i) break; + } + var q = { + rank: o(function (se) { + return (se = l.collection(se)[0]), F[h.indexOf(se)]; + }, 'rank') + }; + return q; + }, 'pageRank') + }), + (y0e = Sa({ + root: null, + weight: o(function (e) { + return 1; + }, 'weight'), + directed: !1, + alpha: 0 + })), + (r1 = { + degreeCentralityNormalized: o(function (e) { + e = y0e(e); + var r = this.cy(), + n = this.nodes(), + i = n.length; + if (e.directed) { + for (var f = {}, d = {}, p = 0, m = 0, g = 0; g < i; g++) { + var y = n[g], + v = y.id(); + e.root = y; + var x = this.degreeCentrality(e); + p < x.indegree && (p = x.indegree), + m < x.outdegree && (m = x.outdegree), + (f[v] = x.indegree), + (d[v] = x.outdegree); + } + return { + indegree: o(function (w) { + return p == 0 ? 0 : (zt(w) && (w = r.filter(w)), f[w.id()] / p); + }, 'indegree'), + outdegree: o(function (w) { + return m === 0 ? 0 : (zt(w) && (w = r.filter(w)), d[w.id()] / m); + }, 'outdegree') + }; + } else { + for (var a = {}, s = 0, l = 0; l < i; l++) { + var u = n[l]; + e.root = u; + var h = this.degreeCentrality(e); + s < h.degree && (s = h.degree), (a[u.id()] = h.degree); + } + return { + degree: o(function (w) { + return s === 0 ? 0 : (zt(w) && (w = r.filter(w)), a[w.id()] / s); + }, 'degree') + }; + } + }, 'degreeCentralityNormalized'), + degreeCentrality: o(function (e) { + e = y0e(e); + var r = this.cy(), + n = this, + i = e, + a = i.root, + s = i.weight, + l = i.directed, + u = i.alpha; + if (((a = r.collection(a)[0]), l)) { + for ( + var m = a.connectedEdges(), + g = m.filter(function (E) { + return E.target().same(a) && n.has(E); + }), + y = m.filter(function (E) { + return E.source().same(a) && n.has(E); + }), + v = g.length, + x = y.length, + b = 0, + w = 0, + S = 0; + S < g.length; + S++ + ) + b += s(g[S]); + for (var T = 0; T < y.length; T++) w += s(y[T]); + return { + indegree: Math.pow(v, 1 - u) * Math.pow(b, u), + outdegree: Math.pow(x, 1 - u) * Math.pow(w, u) + }; + } else { + for ( + var h = a.connectedEdges().intersection(n), f = h.length, d = 0, p = 0; + p < h.length; + p++ + ) + d += s(h[p]); + return { degree: Math.pow(f, 1 - u) * Math.pow(d, u) }; + } + }, 'degreeCentrality') + }); + r1.dc = r1.degreeCentrality; + r1.dcn = r1.degreeCentralityNormalised = r1.degreeCentralityNormalized; + (v0e = Sa({ + harmonic: !0, + weight: o(function () { + return 1; + }, 'weight'), + directed: !1, + root: null + })), + (n1 = { + closenessCentralityNormalized: o(function (e) { + for ( + var r = v0e(e), + n = r.harmonic, + i = r.weight, + a = r.directed, + s = this.cy(), + l = {}, + u = 0, + h = this.nodes(), + f = this.floydWarshall({ weight: i, directed: a }), + d = 0; + d < h.length; + d++ + ) { + for (var p = 0, m = h[d], g = 0; g < h.length; g++) + if (d !== g) { + var y = f.distance(m, h[g]); + n ? (p += 1 / y) : (p += y); + } + n || (p = 1 / p), u < p && (u = p), (l[m.id()] = p); + } + return { + closeness: o(function (x) { + return u == 0 ? 0 : (zt(x) ? (x = s.filter(x)[0].id()) : (x = x.id()), l[x] / u); + }, 'closeness') + }; + }, 'closenessCentralityNormalized'), + closenessCentrality: o(function (e) { + var r = v0e(e), + n = r.root, + i = r.weight, + a = r.directed, + s = r.harmonic; + n = this.filter(n)[0]; + for ( + var l = this.dijkstra({ root: n, weight: i, directed: a }), u = 0, h = this.nodes(), f = 0; + f < h.length; + f++ + ) { + var d = h[f]; + if (!d.same(n)) { + var p = l.distanceTo(d); + s ? (u += 1 / p) : (u += p); + } + } + return s ? u : 1 / u; + }, 'closenessCentrality') + }); + n1.cc = n1.closenessCentrality; + n1.ccn = n1.closenessCentralityNormalised = n1.closenessCentralityNormalized; + (OWe = Sa({ weight: null, directed: !1 })), + (IP = { + betweennessCentrality: o(function (e) { + for ( + var r = OWe(e), + n = r.directed, + i = r.weight, + a = i != null, + s = this.cy(), + l = this.nodes(), + u = {}, + h = {}, + f = 0, + d = { + set: o(function (w, S) { + (h[w] = S), S > f && (f = S); + }, 'set'), + get: o(function (w) { + return h[w]; + }, 'get') + }, + p = 0; + p < l.length; + p++ + ) { + var m = l[p], + g = m.id(); + n ? (u[g] = m.outgoers().nodes()) : (u[g] = m.openNeighborhood().nodes()), d.set(g, 0); + } + for ( + var y = o(function (w) { + for ( + var S = l[w].id(), + T = [], + E = {}, + _ = {}, + A = {}, + L = new eb(function (ie, j) { + return A[ie] - A[j]; + }), + M = 0; + M < l.length; + M++ + ) { + var N = l[M].id(); + (E[N] = []), (_[N] = 0), (A[N] = 1 / 0); + } + for (_[S] = 1, A[S] = 0, L.push(S); !L.empty(); ) { + var k = L.pop(); + if ((T.push(k), a)) + for (var I = 0; I < u[k].length; I++) { + var C = u[k][I], + O = s.getElementById(k), + D = void 0; + O.edgesTo(C).length > 0 ? (D = O.edgesTo(C)[0]) : (D = C.edgesTo(O)[0]); + var P = i(D); + (C = C.id()), + A[C] > A[k] + P && + ((A[C] = A[k] + P), + L.nodes.indexOf(C) < 0 ? L.push(C) : L.updateItem(C), + (_[C] = 0), + (E[C] = [])), + A[C] == A[k] + P && ((_[C] = _[C] + _[k]), E[C].push(k)); + } + else + for (var F = 0; F < u[k].length; F++) { + var B = u[k][F].id(); + A[B] == 1 / 0 && (L.push(B), (A[B] = A[k] + 1)), + A[B] == A[k] + 1 && ((_[B] = _[B] + _[k]), E[B].push(k)); + } + } + for (var $ = {}, z = 0; z < l.length; z++) $[l[z].id()] = 0; + for (; T.length > 0; ) { + for (var Y = T.pop(), Q = 0; Q < E[Y].length; Q++) { + var X = E[Y][Q]; + $[X] = $[X] + (_[X] / _[Y]) * (1 + $[Y]); + } + Y != l[w].id() && d.set(Y, d.get(Y) + $[Y]); + } + }, '_loop'), + v = 0; + v < l.length; + v++ + ) + y(v); + var x = { + betweenness: o(function (w) { + var S = s.collection(w).id(); + return d.get(S); + }, 'betweenness'), + betweennessNormalized: o(function (w) { + if (f == 0) return 0; + var S = s.collection(w).id(); + return d.get(S) / f; + }, 'betweennessNormalized') + }; + return (x.betweennessNormalised = x.betweennessNormalized), x; + }, 'betweennessCentrality') + }); + IP.bc = IP.betweennessCentrality; + (PWe = Sa({ + expandFactor: 2, + inflateFactor: 2, + multFactor: 1, + maxIterations: 20, + attributes: [ + function (t) { + return 1; + } + ] + })), + (BWe = o(function (e) { + return PWe(e); + }, 'setOptions')), + (FWe = o(function (e, r) { + for (var n = 0, i = 0; i < r.length; i++) n += r[i](e); + return n; + }, 'getSimilarity')), + (zWe = o(function (e, r, n) { + for (var i = 0; i < r; i++) e[i * r + i] = n; + }, 'addLoops')), + (qpe = o(function (e, r) { + for (var n, i = 0; i < r; i++) { + n = 0; + for (var a = 0; a < r; a++) n += e[a * r + i]; + for (var s = 0; s < r; s++) e[s * r + i] = e[s * r + i] / n; + } + }, 'normalize')), + (GWe = o(function (e, r, n) { + for (var i = new Array(n * n), a = 0; a < n; a++) { + for (var s = 0; s < n; s++) i[a * n + s] = 0; + for (var l = 0; l < n; l++) + for (var u = 0; u < n; u++) i[a * n + u] += e[a * n + l] * r[l * n + u]; + } + return i; + }, 'mmult')), + ($We = o(function (e, r, n) { + for (var i = e.slice(0), a = 1; a < n; a++) e = GWe(e, i, r); + return e; + }, 'expand')), + (VWe = o(function (e, r, n) { + for (var i = new Array(r * r), a = 0; a < r * r; a++) i[a] = Math.pow(e[a], n); + return qpe(i, r), i; + }, 'inflate')), + (UWe = o(function (e, r, n, i) { + for (var a = 0; a < n; a++) { + var s = Math.round(e[a] * Math.pow(10, i)) / Math.pow(10, i), + l = Math.round(r[a] * Math.pow(10, i)) / Math.pow(10, i); + if (s !== l) return !1; + } + return !0; + }, 'hasConverged')), + (HWe = o(function (e, r, n, i) { + for (var a = [], s = 0; s < r; s++) { + for (var l = [], u = 0; u < r; u++) Math.round(e[s * r + u] * 1e3) / 1e3 > 0 && l.push(n[u]); + l.length !== 0 && a.push(i.collection(l)); + } + return a; + }, 'assign')), + (YWe = o(function (e, r) { + for (var n = 0; n < e.length; n++) if (!r[n] || e[n].id() !== r[n].id()) return !1; + return !0; + }, 'isDuplicate')), + (WWe = o(function (e) { + for (var r = 0; r < e.length; r++) + for (var n = 0; n < e.length; n++) r != n && YWe(e[r], e[n]) && e.splice(n, 1); + return e; + }, 'removeDuplicates')), + (x0e = o(function (e) { + for ( + var r = this.nodes(), n = this.edges(), i = this.cy(), a = BWe(e), s = {}, l = 0; + l < r.length; + l++ + ) + s[r[l].id()] = l; + for (var u = r.length, h = u * u, f = new Array(h), d, p = 0; p < h; p++) f[p] = 0; + for (var m = 0; m < n.length; m++) { + var g = n[m], + y = s[g.source().id()], + v = s[g.target().id()], + x = FWe(g, a.attributes); + (f[y * u + v] += x), (f[v * u + y] += x); + } + zWe(f, u, a.multFactor), qpe(f, u); + for (var b = !0, w = 0; b && w < a.maxIterations; ) + (b = !1), + (d = $We(f, u, a.expandFactor)), + (f = VWe(d, u, a.inflateFactor)), + UWe(f, d, h, 4) || (b = !0), + w++; + var S = HWe(f, u, r, i); + return (S = WWe(S)), S; + }, 'markovClustering')), + (qWe = { markovClustering: x0e, mcl: x0e }), + (XWe = o(function (e) { + return e; + }, 'identity')), + (Xpe = o(function (e, r) { + return Math.abs(r - e); + }, 'absDiff')), + (b0e = o(function (e, r, n) { + return e + Xpe(r, n); + }, 'addAbsDiff')), + (w0e = o(function (e, r, n) { + return e + Math.pow(n - r, 2); + }, 'addSquaredDiff')), + (jWe = o(function (e) { + return Math.sqrt(e); + }, 'sqrt')), + (KWe = o(function (e, r, n) { + return Math.max(e, Xpe(r, n)); + }, 'maxAbsDiff')), + (Lx = o(function (e, r, n, i, a) { + for ( + var s = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : XWe, + l = i, + u, + h, + f = 0; + f < e; + f++ + ) + (u = r(f)), (h = n(f)), (l = a(l, u, h)); + return s(l); + }, 'getDistance')), + (o1 = { + euclidean: o(function (e, r, n) { + return e >= 2 ? Lx(e, r, n, 0, w0e, jWe) : Lx(e, r, n, 0, b0e); + }, 'euclidean'), + squaredEuclidean: o(function (e, r, n) { + return Lx(e, r, n, 0, w0e); + }, 'squaredEuclidean'), + manhattan: o(function (e, r, n) { + return Lx(e, r, n, 0, b0e); + }, 'manhattan'), + max: o(function (e, r, n) { + return Lx(e, r, n, -1 / 0, KWe); + }, 'max') + }); + o1['squared-euclidean'] = o1.squaredEuclidean; + o1.squaredeuclidean = o1.squaredEuclidean; + o(z6, 'clusteringDistance'); + (QWe = Sa({ + k: 2, + m: 2, + sensitivityThreshold: 1e-4, + distance: 'euclidean', + maxIterations: 10, + attributes: [], + testMode: !1, + testCentroids: null + })), + (iB = o(function (e) { + return QWe(e); + }, 'setOptions')), + (_6 = o(function (e, r, n, i, a) { + var s = a !== 'kMedoids', + l = s + ? function (d) { + return n[d]; + } + : function (d) { + return i[d](n); + }, + u = o(function (p) { + return i[p](r); + }, 'getQ'), + h = n, + f = r; + return z6(e, i.length, l, u, h, f); + }, 'getDist')), + (kP = o(function (e, r, n) { + for ( + var i = n.length, a = new Array(i), s = new Array(i), l = new Array(r), u = null, h = 0; + h < i; + h++ + ) + (a[h] = e.min(n[h]).value), (s[h] = e.max(n[h]).value); + for (var f = 0; f < r; f++) { + u = []; + for (var d = 0; d < i; d++) u[d] = Math.random() * (s[d] - a[d]) + a[d]; + l[f] = u; + } + return l; + }, 'randomCentroids')), + (jpe = o(function (e, r, n, i, a) { + for (var s = 1 / 0, l = 0, u = 0; u < r.length; u++) { + var h = _6(n, e, r[u], i, a); + h < s && ((s = h), (l = u)); + } + return l; + }, 'classify')), + (Kpe = o(function (e, r, n) { + for (var i = [], a = null, s = 0; s < r.length; s++) (a = r[s]), n[a.id()] === e && i.push(a); + return i; + }, 'buildCluster')), + (ZWe = o(function (e, r, n) { + return Math.abs(r - e) <= n; + }, 'haveValuesConverged')), + (JWe = o(function (e, r, n) { + for (var i = 0; i < e.length; i++) + for (var a = 0; a < e[i].length; a++) { + var s = Math.abs(e[i][a] - r[i][a]); + if (s > n) return !1; + } + return !0; + }, 'haveMatricesConverged')), + (eqe = o(function (e, r, n) { + for (var i = 0; i < n; i++) if (e === r[i]) return !0; + return !1; + }, 'seenBefore')), + (T0e = o(function (e, r) { + var n = new Array(r); + if (e.length < 50) + for (var i = 0; i < r; i++) { + for (var a = e[Math.floor(Math.random() * e.length)]; eqe(a, n, i); ) + a = e[Math.floor(Math.random() * e.length)]; + n[i] = a; + } + else for (var s = 0; s < r; s++) n[s] = e[Math.floor(Math.random() * e.length)]; + return n; + }, 'randomMedoids')), + (k0e = o(function (e, r, n) { + for (var i = 0, a = 0; a < r.length; a++) i += _6('manhattan', r[a], e, n, 'kMedoids'); + return i; + }, 'findCost')), + (tqe = o(function (e) { + var r = this.cy(), + n = this.nodes(), + i = null, + a = iB(e), + s = new Array(a.k), + l = {}, + u; + a.testMode + ? typeof a.testCentroids == 'number' + ? (a.testCentroids, (u = kP(n, a.k, a.attributes))) + : Hi(a.testCentroids) === 'object' + ? (u = a.testCentroids) + : (u = kP(n, a.k, a.attributes)) + : (u = kP(n, a.k, a.attributes)); + for (var h = !0, f = 0; h && f < a.maxIterations; ) { + for (var d = 0; d < n.length; d++) + (i = n[d]), (l[i.id()] = jpe(i, u, a.distance, a.attributes, 'kMeans')); + h = !1; + for (var p = 0; p < a.k; p++) { + var m = Kpe(p, n, l); + if (m.length !== 0) { + for ( + var g = a.attributes.length, y = u[p], v = new Array(g), x = new Array(g), b = 0; + b < g; + b++ + ) { + x[b] = 0; + for (var w = 0; w < m.length; w++) (i = m[w]), (x[b] += a.attributes[b](i)); + (v[b] = x[b] / m.length), ZWe(v[b], y[b], a.sensitivityThreshold) || (h = !0); + } + (u[p] = v), (s[p] = r.collection(m)); + } + } + f++; + } + return s; + }, 'kMeans')), + (rqe = o(function (e) { + var r = this.cy(), + n = this.nodes(), + i = null, + a = iB(e), + s = new Array(a.k), + l, + u = {}, + h, + f = new Array(a.k); + a.testMode + ? typeof a.testCentroids == 'number' || + (Hi(a.testCentroids) === 'object' ? (l = a.testCentroids) : (l = T0e(n, a.k))) + : (l = T0e(n, a.k)); + for (var d = !0, p = 0; d && p < a.maxIterations; ) { + for (var m = 0; m < n.length; m++) + (i = n[m]), (u[i.id()] = jpe(i, l, a.distance, a.attributes, 'kMedoids')); + d = !1; + for (var g = 0; g < l.length; g++) { + var y = Kpe(g, n, u); + if (y.length !== 0) { + f[g] = k0e(l[g], y, a.attributes); + for (var v = 0; v < y.length; v++) + (h = k0e(y[v], y, a.attributes)), h < f[g] && ((f[g] = h), (l[g] = y[v]), (d = !0)); + s[g] = r.collection(y); + } + } + p++; + } + return s; + }, 'kMedoids')), + (nqe = o(function (e, r, n, i, a) { + for (var s, l, u = 0; u < r.length; u++) + for (var h = 0; h < e.length; h++) i[u][h] = Math.pow(n[u][h], a.m); + for (var f = 0; f < e.length; f++) + for (var d = 0; d < a.attributes.length; d++) { + (s = 0), (l = 0); + for (var p = 0; p < r.length; p++) (s += i[p][f] * a.attributes[d](r[p])), (l += i[p][f]); + e[f][d] = s / l; + } + }, 'updateCentroids')), + (iqe = o(function (e, r, n, i, a) { + for (var s = 0; s < e.length; s++) r[s] = e[s].slice(); + for (var l, u, h, f = 2 / (a.m - 1), d = 0; d < n.length; d++) + for (var p = 0; p < i.length; p++) { + l = 0; + for (var m = 0; m < n.length; m++) + (u = _6(a.distance, i[p], n[d], a.attributes, 'cmeans')), + (h = _6(a.distance, i[p], n[m], a.attributes, 'cmeans')), + (l += Math.pow(u / h, f)); + e[p][d] = 1 / l; + } + }, 'updateMembership')), + (aqe = o(function (e, r, n, i) { + for (var a = new Array(n.k), s = 0; s < a.length; s++) a[s] = []; + for (var l, u, h = 0; h < r.length; h++) { + (l = -1 / 0), (u = -1); + for (var f = 0; f < r[0].length; f++) r[h][f] > l && ((l = r[h][f]), (u = f)); + a[u].push(e[h]); + } + for (var d = 0; d < a.length; d++) a[d] = i.collection(a[d]); + return a; + }, 'assign')), + (E0e = o(function (e) { + var r = this.cy(), + n = this.nodes(), + i = iB(e), + a, + s, + l, + u, + h; + u = new Array(n.length); + for (var f = 0; f < n.length; f++) u[f] = new Array(i.k); + l = new Array(n.length); + for (var d = 0; d < n.length; d++) l[d] = new Array(i.k); + for (var p = 0; p < n.length; p++) { + for (var m = 0, g = 0; g < i.k; g++) (l[p][g] = Math.random()), (m += l[p][g]); + for (var y = 0; y < i.k; y++) l[p][y] = l[p][y] / m; + } + s = new Array(i.k); + for (var v = 0; v < i.k; v++) s[v] = new Array(i.attributes.length); + h = new Array(n.length); + for (var x = 0; x < n.length; x++) h[x] = new Array(i.k); + for (var b = !0, w = 0; b && w < i.maxIterations; ) + (b = !1), + nqe(s, n, l, h, i), + iqe(l, u, s, n, i), + JWe(l, u, i.sensitivityThreshold) || (b = !0), + w++; + return (a = aqe(n, l, i, r)), { clusters: a, degreeOfMembership: l }; + }, 'fuzzyCMeans')), + (sqe = { kMeans: tqe, kMedoids: rqe, fuzzyCMeans: E0e, fcm: E0e }), + (oqe = Sa({ + distance: 'euclidean', + linkage: 'min', + mode: 'threshold', + threshold: 1 / 0, + addDendrogram: !1, + dendrogramDepth: 0, + attributes: [] + })), + (lqe = { single: 'min', complete: 'max' }), + (cqe = o(function (e) { + var r = oqe(e), + n = lqe[r.linkage]; + return n != null && (r.linkage = n), r; + }, 'setOptions')), + (C0e = o(function (e, r, n, i, a) { + for ( + var s = 0, + l = 1 / 0, + u, + h = a.attributes, + f = o(function (L, M) { + return z6( + a.distance, + h.length, + function (N) { + return h[N](L); + }, + function (N) { + return h[N](M); + }, + L, + M + ); + }, 'getDist'), + d = 0; + d < e.length; + d++ + ) { + var p = e[d].key, + m = n[p][i[p]]; + m < l && ((s = p), (l = m)); + } + if ((a.mode === 'threshold' && l >= a.threshold) || (a.mode === 'dendrogram' && e.length === 1)) + return !1; + var g = r[s], + y = r[i[s]], + v; + a.mode === 'dendrogram' + ? (v = { left: g, right: y, key: g.key }) + : (v = { value: g.value.concat(y.value), key: g.key }), + (e[g.index] = v), + e.splice(y.index, 1), + (r[g.key] = v); + for (var x = 0; x < e.length; x++) { + var b = e[x]; + g.key === b.key + ? (u = 1 / 0) + : a.linkage === 'min' + ? ((u = n[g.key][b.key]), n[g.key][b.key] > n[y.key][b.key] && (u = n[y.key][b.key])) + : a.linkage === 'max' + ? ((u = n[g.key][b.key]), n[g.key][b.key] < n[y.key][b.key] && (u = n[y.key][b.key])) + : a.linkage === 'mean' + ? (u = (n[g.key][b.key] * g.size + n[y.key][b.key] * y.size) / (g.size + y.size)) + : a.mode === 'dendrogram' + ? (u = f(b.value, g.value)) + : (u = f(b.value[0], g.value[0])), + (n[g.key][b.key] = n[b.key][g.key] = u); + } + for (var w = 0; w < e.length; w++) { + var S = e[w].key; + if (i[S] === g.key || i[S] === y.key) { + for (var T = S, E = 0; E < e.length; E++) { + var _ = e[E].key; + n[S][_] < n[S][T] && (T = _); + } + i[S] = T; + } + e[w].index = w; + } + return (g.key = y.key = g.index = y.index = null), !0; + }, 'mergeClosest')), + (a6 = o(function t(e, r, n) { + e && (e.value ? r.push(e.value) : (e.left && t(e.left, r), e.right && t(e.right, r))); + }, 'getAllChildren')), + (uqe = o(function t(e, r) { + if (!e) return ''; + if (e.left && e.right) { + var n = t(e.left, r), + i = t(e.right, r), + a = r.add({ group: 'nodes', data: { id: n + ',' + i } }); + return ( + r.add({ group: 'edges', data: { source: n, target: a.id() } }), + r.add({ group: 'edges', data: { source: i, target: a.id() } }), + a.id() + ); + } else if (e.value) return e.value.id(); + }, 'buildDendrogram')), + (hqe = o(function t(e, r, n) { + if (!e) return []; + var i = [], + a = [], + s = []; + return r === 0 + ? (e.left && a6(e.left, i), e.right && a6(e.right, a), (s = i.concat(a)), [n.collection(s)]) + : r === 1 + ? e.value + ? [n.collection(e.value)] + : (e.left && a6(e.left, i), e.right && a6(e.right, a), [n.collection(i), n.collection(a)]) + : e.value + ? [n.collection(e.value)] + : (e.left && (i = t(e.left, r - 1, n)), e.right && (a = t(e.right, r - 1, n)), i.concat(a)); + }, 'buildClustersFromTree')), + (S0e = o(function (e) { + for ( + var r = this.cy(), + n = this.nodes(), + i = cqe(e), + a = i.attributes, + s = o(function (w, S) { + return z6( + i.distance, + a.length, + function (T) { + return a[T](w); + }, + function (T) { + return a[T](S); + }, + w, + S + ); + }, 'getDist'), + l = [], + u = [], + h = [], + f = [], + d = 0; + d < n.length; + d++ + ) { + var p = { + value: i.mode === 'dendrogram' ? n[d] : [n[d]], + key: d, + index: d + }; + (l[d] = p), (f[d] = p), (u[d] = []), (h[d] = 0); + } + for (var m = 0; m < l.length; m++) + for (var g = 0; g <= m; g++) { + var y = void 0; + i.mode === 'dendrogram' + ? (y = m === g ? 1 / 0 : s(l[m].value, l[g].value)) + : (y = m === g ? 1 / 0 : s(l[m].value[0], l[g].value[0])), + (u[m][g] = y), + (u[g][m] = y), + y < u[m][h[m]] && (h[m] = g); + } + for (var v = C0e(l, f, u, h, i); v; ) v = C0e(l, f, u, h, i); + var x; + return ( + i.mode === 'dendrogram' + ? ((x = hqe(l[0], i.dendrogramDepth, r)), i.addDendrogram && uqe(l[0], r)) + : ((x = new Array(l.length)), + l.forEach(function (b, w) { + (b.key = b.index = null), (x[w] = r.collection(b.value)); + })), + x + ); + }, 'hierarchicalClustering')), + (fqe = { hierarchicalClustering: S0e, hca: S0e }), + (dqe = Sa({ + distance: 'euclidean', + preference: 'median', + damping: 0.8, + maxIterations: 1e3, + minIterations: 100, + attributes: [] + })), + (pqe = o(function (e) { + var r = e.damping, + n = e.preference; + (0.5 <= r && r < 1) || oi('Damping must range on [0.5, 1). Got: '.concat(r)); + var i = ['median', 'mean', 'min', 'max']; + return ( + i.some(function (a) { + return a === n; + }) || + ft(n) || + oi( + 'Preference must be one of [' + .concat( + i + .map(function (a) { + return "'".concat(a, "'"); + }) + .join(', '), + '] or a number. Got: ' + ) + .concat(n) + ), + dqe(e) + ); + }, 'setOptions')), + (mqe = o(function (e, r, n, i) { + var a = o(function (l, u) { + return i[u](l); + }, 'attr'); + return -z6( + e, + i.length, + function (s) { + return a(r, s); + }, + function (s) { + return a(n, s); + }, + r, + n + ); + }, 'getSimilarity')), + (gqe = o(function (e, r) { + var n = null; + return ( + r === 'median' + ? (n = pWe(e)) + : r === 'mean' + ? (n = dWe(e)) + : r === 'min' + ? (n = hWe(e)) + : r === 'max' + ? (n = fWe(e)) + : (n = r), + n + ); + }, 'getPreference')), + (yqe = o(function (e, r, n) { + for (var i = [], a = 0; a < e; a++) r[a * e + a] + n[a * e + a] > 0 && i.push(a); + return i; + }, 'findExemplars')), + (A0e = o(function (e, r, n) { + for (var i = [], a = 0; a < e; a++) { + for (var s = -1, l = -1 / 0, u = 0; u < n.length; u++) { + var h = n[u]; + r[a * e + h] > l && ((s = h), (l = r[a * e + h])); + } + s > 0 && i.push(s); + } + for (var f = 0; f < n.length; f++) i[n[f]] = n[f]; + return i; + }, 'assignClusters')), + (vqe = o(function (e, r, n) { + for (var i = A0e(e, r, n), a = 0; a < n.length; a++) { + for (var s = [], l = 0; l < i.length; l++) i[l] === n[a] && s.push(l); + for (var u = -1, h = -1 / 0, f = 0; f < s.length; f++) { + for (var d = 0, p = 0; p < s.length; p++) d += r[s[p] * e + s[f]]; + d > h && ((u = f), (h = d)); + } + n[a] = s[u]; + } + return (i = A0e(e, r, n)), i; + }, 'assign')), + (_0e = o(function (e) { + for (var r = this.cy(), n = this.nodes(), i = pqe(e), a = {}, s = 0; s < n.length; s++) + a[n[s].id()] = s; + var l, u, h, f, d, p; + (l = n.length), (u = l * l), (h = new Array(u)); + for (var m = 0; m < u; m++) h[m] = -1 / 0; + for (var g = 0; g < l; g++) + for (var y = 0; y < l; y++) + g !== y && (h[g * l + y] = mqe(i.distance, n[g], n[y], i.attributes)); + f = gqe(h, i.preference); + for (var v = 0; v < l; v++) h[v * l + v] = f; + d = new Array(u); + for (var x = 0; x < u; x++) d[x] = 0; + p = new Array(u); + for (var b = 0; b < u; b++) p[b] = 0; + for (var w = new Array(l), S = new Array(l), T = new Array(l), E = 0; E < l; E++) + (w[E] = 0), (S[E] = 0), (T[E] = 0); + for (var _ = new Array(l * i.minIterations), A = 0; A < _.length; A++) _[A] = 0; + var L; + for (L = 0; L < i.maxIterations; L++) { + for (var M = 0; M < l; M++) { + for (var N = -1 / 0, k = -1 / 0, I = -1, C = 0, O = 0; O < l; O++) + (w[O] = d[M * l + O]), + (C = p[M * l + O] + h[M * l + O]), + C >= N ? ((k = N), (N = C), (I = O)) : C > k && (k = C); + for (var D = 0; D < l; D++) + d[M * l + D] = (1 - i.damping) * (h[M * l + D] - N) + i.damping * w[D]; + d[M * l + I] = (1 - i.damping) * (h[M * l + I] - k) + i.damping * w[I]; + } + for (var P = 0; P < l; P++) { + for (var F = 0, B = 0; B < l; B++) + (w[B] = p[B * l + P]), (S[B] = Math.max(0, d[B * l + P])), (F += S[B]); + (F -= S[P]), (S[P] = d[P * l + P]), (F += S[P]); + for (var $ = 0; $ < l; $++) + p[$ * l + P] = (1 - i.damping) * Math.min(0, F - S[$]) + i.damping * w[$]; + p[P * l + P] = (1 - i.damping) * (F - S[P]) + i.damping * w[P]; + } + for (var z = 0, Y = 0; Y < l; Y++) { + var Q = p[Y * l + Y] + d[Y * l + Y] > 0 ? 1 : 0; + (_[(L % i.minIterations) * l + Y] = Q), (z += Q); + } + if (z > 0 && (L >= i.minIterations - 1 || L == i.maxIterations - 1)) { + for (var X = 0, ie = 0; ie < l; ie++) { + T[ie] = 0; + for (var j = 0; j < i.minIterations; j++) T[ie] += _[j * l + ie]; + (T[ie] === 0 || T[ie] === i.minIterations) && X++; + } + if (X === l) break; + } + } + for (var J = yqe(l, d, p), Z = vqe(l, h, J), H = {}, q = 0; q < J.length; q++) H[J[q]] = []; + for (var K = 0; K < n.length; K++) { + var se = a[n[K].id()], + ce = Z[se]; + ce != null && H[ce].push(n[K]); + } + for (var ue = new Array(J.length), te = 0; te < J.length; te++) ue[te] = r.collection(H[J[te]]); + return ue; + }, 'affinityPropagation')), + (xqe = { affinityPropagation: _0e, ap: _0e }), + (bqe = Sa({ root: void 0, directed: !1 })), + (wqe = { + hierholzer: o(function (e) { + if (!Mr(e)) { + var r = arguments; + e = { root: r[0], directed: r[1] }; + } + var n = bqe(e), + i = n.root, + a = n.directed, + s = this, + l = !1, + u, + h, + f; + i && (f = zt(i) ? this.filter(i)[0].id() : i[0].id()); + var d = {}, + p = {}; + a + ? s.forEach(function (b) { + var w = b.id(); + if (b.isNode()) { + var S = b.indegree(!0), + T = b.outdegree(!0), + E = S - T, + _ = T - S; + E == 1 + ? u + ? (l = !0) + : (u = w) + : _ == 1 + ? h + ? (l = !0) + : (h = w) + : (_ > 1 || E > 1) && (l = !0), + (d[w] = []), + b.outgoers().forEach(function (A) { + A.isEdge() && d[w].push(A.id()); + }); + } else p[w] = [void 0, b.target().id()]; + }) + : s.forEach(function (b) { + var w = b.id(); + if (b.isNode()) { + var S = b.degree(!0); + S % 2 && (u ? (h ? (l = !0) : (h = w)) : (u = w)), + (d[w] = []), + b.connectedEdges().forEach(function (T) { + return d[w].push(T.id()); + }); + } else p[w] = [b.source().id(), b.target().id()]; + }); + var m = { found: !1, trail: void 0 }; + if (l) return m; + if (h && u) + if (a) { + if (f && h != f) return m; + f = h; + } else { + if (f && h != f && u != f) return m; + f || (f = h); + } + else f || (f = s[0].id()); + var g = o(function (w) { + for (var S = w, T = [w], E, _, A; d[S].length; ) + (E = d[S].shift()), + (_ = p[E][0]), + (A = p[E][1]), + S != A + ? ((d[A] = d[A].filter(function (L) { + return L != E; + })), + (S = A)) + : !a && + S != _ && + ((d[_] = d[_].filter(function (L) { + return L != E; + })), + (S = _)), + T.unshift(E), + T.unshift(S); + return T; + }, 'walk'), + y = [], + v = []; + for (v = g(f); v.length != 1; ) + d[v[0]].length == 0 + ? (y.unshift(s.getElementById(v.shift())), y.unshift(s.getElementById(v.shift()))) + : (v = g(v.shift()).concat(v)); + y.unshift(s.getElementById(v.shift())); + for (var x in d) if (d[x].length) return m; + return (m.found = !0), (m.trail = this.spawn(y, !0)), m; + }, 'hierholzer') + }), + (s6 = o(function () { + var e = this, + r = {}, + n = 0, + i = 0, + a = [], + s = [], + l = {}, + u = o(function (p, m) { + for (var g = s.length - 1, y = [], v = e.spawn(); s[g].x != p || s[g].y != m; ) + y.push(s.pop().edge), g--; + y.push(s.pop().edge), + y.forEach(function (x) { + var b = x.connectedNodes().intersection(e); + v.merge(x), + b.forEach(function (w) { + var S = w.id(), + T = w.connectedEdges().intersection(e); + v.merge(w), + r[S].cutVertex + ? v.merge( + T.filter(function (E) { + return E.isLoop(); + }) + ) + : v.merge(T); + }); + }), + a.push(v); + }, 'buildComponent'), + h = o(function d(p, m, g) { + p === g && (i += 1), (r[m] = { id: n, low: n++, cutVertex: !1 }); + var y = e.getElementById(m).connectedEdges().intersection(e); + if (y.size() === 0) a.push(e.spawn(e.getElementById(m))); + else { + var v, x, b, w; + y.forEach(function (S) { + (v = S.source().id()), + (x = S.target().id()), + (b = v === m ? x : v), + b !== g && + ((w = S.id()), + l[w] || ((l[w] = !0), s.push({ x: m, y: b, edge: S })), + b in r + ? (r[m].low = Math.min(r[m].low, r[b].id)) + : (d(p, b, m), + (r[m].low = Math.min(r[m].low, r[b].low)), + r[m].id <= r[b].low && ((r[m].cutVertex = !0), u(m, b)))); + }); + } + }, 'biconnectedSearch'); + e.forEach(function (d) { + if (d.isNode()) { + var p = d.id(); + p in r || ((i = 0), h(p, p), (r[p].cutVertex = i > 1)); + } + }); + var f = Object.keys(r) + .filter(function (d) { + return r[d].cutVertex; + }) + .map(function (d) { + return e.getElementById(d); + }); + return { cut: e.spawn(f), components: a }; + }, 'hopcroftTarjanBiconnected')), + (Tqe = { + hopcroftTarjanBiconnected: s6, + htbc: s6, + htb: s6, + hopcroftTarjanBiconnectedComponents: s6 + }), + (o6 = o(function () { + var e = this, + r = {}, + n = 0, + i = [], + a = [], + s = e.spawn(e), + l = o(function u(h) { + a.push(h), (r[h] = { index: n, low: n++, explored: !1 }); + var f = e.getElementById(h).connectedEdges().intersection(e); + if ( + (f.forEach(function (y) { + var v = y.target().id(); + v !== h && + (v in r || u(v), r[v].explored || (r[h].low = Math.min(r[h].low, r[v].low))); + }), + r[h].index === r[h].low) + ) { + for (var d = e.spawn(); ; ) { + var p = a.pop(); + if ( + (d.merge(e.getElementById(p)), + (r[p].low = r[h].index), + (r[p].explored = !0), + p === h) + ) + break; + } + var m = d.edgesWith(d), + g = d.merge(m); + i.push(g), (s = s.difference(g)); + } + }, 'stronglyConnectedSearch'); + return ( + e.forEach(function (u) { + if (u.isNode()) { + var h = u.id(); + h in r || l(h); + } + }), + { cut: s, components: i } + ); + }, 'tarjanStronglyConnected')), + (kqe = { + tarjanStronglyConnected: o6, + tsc: o6, + tscc: o6, + tarjanStronglyConnectedComponents: o6 + }), + (Qpe = {}); + [Ux, JYe, eWe, rWe, iWe, sWe, cWe, IWe, r1, n1, IP, qWe, sqe, fqe, xqe, wqe, Tqe, kqe].forEach(function ( + t + ) { + Wt(Qpe, t); + }); + (Zpe = 0), + (Jpe = 1), + (eme = 2), + (Zu = o(function t(e) { + if (!(this instanceof t)) return new t(e); + (this.id = 'Thenable/1.0.7'), + (this.state = Zpe), + (this.fulfillValue = void 0), + (this.rejectReason = void 0), + (this.onFulfilled = []), + (this.onRejected = []), + (this.proxy = { then: this.then.bind(this) }), + typeof e == 'function' && e.call(this, this.fulfill.bind(this), this.reject.bind(this)); + }, 'api')); + Zu.prototype = { + fulfill: o(function (e) { + return L0e(this, Jpe, 'fulfillValue', e); + }, 'fulfill'), + reject: o(function (e) { + return L0e(this, eme, 'rejectReason', e); + }, 'reject'), + then: o(function (e, r) { + var n = this, + i = new Zu(); + return ( + n.onFulfilled.push(R0e(e, i, 'fulfill')), + n.onRejected.push(R0e(r, i, 'reject')), + tme(n), + i.proxy + ); + }, 'then') + }; + (L0e = o(function (e, r, n, i) { + return e.state === Zpe && ((e.state = r), (e[n] = i), tme(e)), e; + }, 'deliver')), + (tme = o(function (e) { + e.state === Jpe + ? D0e(e, 'onFulfilled', e.fulfillValue) + : e.state === eme && D0e(e, 'onRejected', e.rejectReason); + }, 'execute')), + (D0e = o(function (e, r, n) { + if (e[r].length !== 0) { + var i = e[r]; + e[r] = []; + var a = o(function () { + for (var l = 0; l < i.length; l++) i[l](n); + }, 'func'); + typeof setImmediate == 'function' ? setImmediate(a) : setTimeout(a, 0); + } + }, 'execute_handlers')), + (R0e = o(function (e, r, n) { + return function (i) { + if (typeof e != 'function') r[n].call(r, i); + else { + var a; + try { + a = e(i); + } catch (s) { + r.reject(s); + return; + } + Eqe(r, a); + } + }; + }, 'resolver')), + (Eqe = o(function t(e, r) { + if (e === r || e.proxy === r) { + e.reject(new TypeError('cannot resolve promise with itself')); + return; + } + var n; + if ((Hi(r) === 'object' && r !== null) || typeof r == 'function') + try { + n = r.then; + } catch (a) { + e.reject(a); + return; + } + if (typeof n == 'function') { + var i = !1; + try { + n.call( + r, + function (a) { + i || + ((i = !0), + a === r ? e.reject(new TypeError('circular thenable chain')) : t(e, a)); + }, + function (a) { + i || ((i = !0), e.reject(a)); + } + ); + } catch (a) { + i || e.reject(a); + } + return; + } + e.fulfill(r); + }, 'resolve')); + Zu.all = function (t) { + return new Zu(function (e, r) { + for ( + var n = new Array(t.length), + i = 0, + a = o(function (u, h) { + (n[u] = h), i++, i === t.length && e(n); + }, 'fulfill'), + s = 0; + s < t.length; + s++ + ) + (function (l) { + var u = t[l], + h = u != null && u.then != null; + if (h) + u.then( + function (d) { + a(l, d); + }, + function (d) { + r(d); + } + ); + else { + var f = u; + a(l, f); + } + })(s); + }); + }; + Zu.resolve = function (t) { + return new Zu(function (e, r) { + e(t); + }); + }; + Zu.reject = function (t) { + return new Zu(function (e, r) { + r(t); + }); + }; + (u1 = typeof Promise < 'u' ? Promise : Zu), + (OP = o(function (e, r, n) { + var i = KP(e), + a = !i, + s = (this._private = Wt({ duration: 1e3 }, r, n)); + if ( + ((s.target = e), + (s.style = s.style || s.css), + (s.started = !1), + (s.playing = !1), + (s.hooked = !1), + (s.applying = !1), + (s.progress = 0), + (s.completes = []), + (s.frames = []), + s.complete && jn(s.complete) && s.completes.push(s.complete), + a) + ) { + var l = e.position(); + (s.startPosition = s.startPosition || { x: l.x, y: l.y }), + (s.startStyle = s.startStyle || e.cy().style().getAnimationStartStyle(e, s.style)); + } + if (i) { + var u = e.pan(); + (s.startPan = { x: u.x, y: u.y }), (s.startZoom = e.zoom()); + } + (this.length = 1), (this[0] = this); + }, 'Animation')), + (W0 = OP.prototype); + Wt(W0, { + instanceString: o(function () { + return 'animation'; + }, 'instanceString'), + hook: o(function () { + var e = this._private; + if (!e.hooked) { + var r, + n = e.target._private.animation; + e.queue ? (r = n.queue) : (r = n.current), + r.push(this), + xo(e.target) && e.target.cy().addToAnimationPool(e.target), + (e.hooked = !0); + } + return this; + }, 'hook'), + play: o(function () { + var e = this._private; + return ( + e.progress === 1 && (e.progress = 0), + (e.playing = !0), + (e.started = !1), + (e.stopped = !1), + this.hook(), + this + ); + }, 'play'), + playing: o(function () { + return this._private.playing; + }, 'playing'), + apply: o(function () { + var e = this._private; + return (e.applying = !0), (e.started = !1), (e.stopped = !1), this.hook(), this; + }, 'apply'), + applying: o(function () { + return this._private.applying; + }, 'applying'), + pause: o(function () { + var e = this._private; + return (e.playing = !1), (e.started = !1), this; + }, 'pause'), + stop: o(function () { + var e = this._private; + return (e.playing = !1), (e.started = !1), (e.stopped = !0), this; + }, 'stop'), + rewind: o(function () { + return this.progress(0); + }, 'rewind'), + fastforward: o(function () { + return this.progress(1); + }, 'fastforward'), + time: o(function (e) { + var r = this._private; + return e === void 0 ? r.progress * r.duration : this.progress(e / r.duration); + }, 'time'), + progress: o(function (e) { + var r = this._private, + n = r.playing; + return e === void 0 + ? r.progress + : (n && this.pause(), (r.progress = e), (r.started = !1), n && this.play(), this); + }, 'progress'), + completed: o(function () { + return this._private.progress === 1; + }, 'completed'), + reverse: o(function () { + var e = this._private, + r = e.playing; + r && this.pause(), (e.progress = 1 - e.progress), (e.started = !1); + var n = o(function (h, f) { + var d = e[h]; + d != null && ((e[h] = e[f]), (e[f] = d)); + }, 'swap'); + if ((n('zoom', 'startZoom'), n('pan', 'startPan'), n('position', 'startPosition'), e.style)) + for (var i = 0; i < e.style.length; i++) { + var a = e.style[i], + s = a.name, + l = e.startStyle[s]; + (e.startStyle[s] = a), (e.style[i] = l); + } + return r && this.play(), this; + }, 'reverse'), + promise: o(function (e) { + var r = this._private, + n; + switch (e) { + case 'frame': + n = r.frames; + break; + default: + case 'complete': + case 'completed': + n = r.completes; + } + return new u1(function (i, a) { + n.push(function () { + i(); + }); + }); + }, 'promise') + }); + W0.complete = W0.completed; + W0.run = W0.play; + W0.running = W0.playing; + (Cqe = { + animated: o(function () { + return o(function () { + var r = this, + n = r.length !== void 0, + i = n ? r : [r], + a = this._private.cy || this; + if (!a.styleEnabled()) return !1; + var s = i[0]; + if (s) return s._private.animation.current.length > 0; + }, 'animatedImpl'); + }, 'animated'), + clearQueue: o(function () { + return o(function () { + var r = this, + n = r.length !== void 0, + i = n ? r : [r], + a = this._private.cy || this; + if (!a.styleEnabled()) return this; + for (var s = 0; s < i.length; s++) { + var l = i[s]; + l._private.animation.queue = []; + } + return this; + }, 'clearQueueImpl'); + }, 'clearQueue'), + delay: o(function () { + return o(function (r, n) { + var i = this._private.cy || this; + return i.styleEnabled() ? this.animate({ delay: r, duration: r, complete: n }) : this; + }, 'delayImpl'); + }, 'delay'), + delayAnimation: o(function () { + return o(function (r, n) { + var i = this._private.cy || this; + return i.styleEnabled() ? this.animation({ delay: r, duration: r, complete: n }) : this; + }, 'delayAnimationImpl'); + }, 'delayAnimation'), + animation: o(function () { + return o(function (r, n) { + var i = this, + a = i.length !== void 0, + s = a ? i : [i], + l = this._private.cy || this, + u = !a, + h = !u; + if (!l.styleEnabled()) return this; + var f = l.style(); + r = Wt({}, r, n); + var d = Object.keys(r).length === 0; + if (d) return new OP(s[0], r); + switch ((r.duration === void 0 && (r.duration = 400), r.duration)) { + case 'slow': + r.duration = 600; + break; + case 'fast': + r.duration = 200; + break; + } + if ( + (h && ((r.style = f.getPropsList(r.style || r.css)), (r.css = void 0)), + h && r.renderedPosition != null) + ) { + var p = r.renderedPosition, + m = l.pan(), + g = l.zoom(); + r.position = Gpe(p, g, m); + } + if (u && r.panBy != null) { + var y = r.panBy, + v = l.pan(); + r.pan = { x: v.x + y.x, y: v.y + y.y }; + } + var x = r.center || r.centre; + if (u && x != null) { + var b = l.getCenterPan(x.eles, r.zoom); + b != null && (r.pan = b); + } + if (u && r.fit != null) { + var w = r.fit, + S = l.getFitViewport(w.eles || w.boundingBox, w.padding); + S != null && ((r.pan = S.pan), (r.zoom = S.zoom)); + } + if (u && Mr(r.zoom)) { + var T = l.getZoomedViewport(r.zoom); + T != null ? (T.zoomed && (r.zoom = T.zoom), T.panned && (r.pan = T.pan)) : (r.zoom = null); + } + return new OP(s[0], r); + }, 'animationImpl'); + }, 'animation'), + animate: o(function () { + return o(function (r, n) { + var i = this, + a = i.length !== void 0, + s = a ? i : [i], + l = this._private.cy || this; + if (!l.styleEnabled()) return this; + n && (r = Wt({}, r, n)); + for (var u = 0; u < s.length; u++) { + var h = s[u], + f = h.animated() && (r.queue === void 0 || r.queue), + d = h.animation(r, f ? { queue: !0 } : void 0); + d.play(); + } + return this; + }, 'animateImpl'); + }, 'animate'), + stop: o(function () { + return o(function (r, n) { + var i = this, + a = i.length !== void 0, + s = a ? i : [i], + l = this._private.cy || this; + if (!l.styleEnabled()) return this; + for (var u = 0; u < s.length; u++) { + for (var h = s[u], f = h._private, d = f.animation.current, p = 0; p < d.length; p++) { + var m = d[p], + g = m._private; + n && (g.duration = 0); + } + r && (f.animation.queue = []), n || (f.animation.current = []); + } + return l.notify('draw'), this; + }, 'stopImpl'); + }, 'stop') + }), + (Sqe = Array.isArray), + (G6 = Sqe), + (Aqe = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/), + (_qe = /^\w*$/); + o(Lqe, 'isKey'); + (Dqe = Lqe), + (Rqe = '[object AsyncFunction]'), + (Nqe = '[object Function]'), + (Mqe = '[object GeneratorFunction]'), + (Iqe = '[object Proxy]'); + o(Oqe, 'isFunction'); + (Pqe = Oqe), + (Bqe = O6['__core-js_shared__']), + (EP = Bqe), + (N0e = (function () { + var t = /[^.]+$/.exec((EP && EP.keys && EP.keys.IE_PROTO) || ''); + return t ? 'Symbol(src)_1.' + t : ''; + })()); + o(Fqe, 'isMasked'); + (zqe = Fqe), (Gqe = Function.prototype), ($qe = Gqe.toString); + o(Vqe, 'toSource'); + (Uqe = Vqe), + (Hqe = /[\\^$.*+?()[\]{}|]/g), + (Yqe = /^\[object .+?Constructor\]$/), + (Wqe = Function.prototype), + (qqe = Object.prototype), + (Xqe = Wqe.toString), + (jqe = qqe.hasOwnProperty), + (Kqe = RegExp( + '^' + + Xqe.call(jqe) + .replace(Hqe, '\\$&') + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + + '$' + )); + o(Qqe, 'baseIsNative'); + Zqe = Qqe; + o(Jqe, 'getValue$1'); + eXe = Jqe; + o(tXe, 'getNative'); + (aB = tXe), (rXe = aB(Object, 'create')), (Wx = rXe); + o(nXe, 'hashClear'); + iXe = nXe; + o(aXe, 'hashDelete'); + (sXe = aXe), (oXe = '__lodash_hash_undefined__'), (lXe = Object.prototype), (cXe = lXe.hasOwnProperty); + o(uXe, 'hashGet'); + (hXe = uXe), (fXe = Object.prototype), (dXe = fXe.hasOwnProperty); + o(pXe, 'hashHas'); + (mXe = pXe), (gXe = '__lodash_hash_undefined__'); + o(yXe, 'hashSet'); + vXe = yXe; + o(h1, 'Hash'); + h1.prototype.clear = iXe; + h1.prototype.delete = sXe; + h1.prototype.get = hXe; + h1.prototype.has = mXe; + h1.prototype.set = vXe; + M0e = h1; + o(xXe, 'listCacheClear'); + bXe = xXe; + o(wXe, 'eq'); + rme = wXe; + o(TXe, 'assocIndexOf'); + ($6 = TXe), (kXe = Array.prototype), (EXe = kXe.splice); + o(CXe, 'listCacheDelete'); + SXe = CXe; + o(AXe, 'listCacheGet'); + _Xe = AXe; + o(LXe, 'listCacheHas'); + DXe = LXe; + o(RXe, 'listCacheSet'); + NXe = RXe; + o(f1, 'ListCache'); + f1.prototype.clear = bXe; + f1.prototype.delete = SXe; + f1.prototype.get = _Xe; + f1.prototype.has = DXe; + f1.prototype.set = NXe; + (MXe = f1), (IXe = aB(O6, 'Map')), (OXe = IXe); + o(PXe, 'mapCacheClear'); + BXe = PXe; + o(FXe, 'isKeyable'); + zXe = FXe; + o(GXe, 'getMapData'); + V6 = GXe; + o($Xe, 'mapCacheDelete'); + VXe = $Xe; + o(UXe, 'mapCacheGet'); + HXe = UXe; + o(YXe, 'mapCacheHas'); + WXe = YXe; + o(qXe, 'mapCacheSet'); + XXe = qXe; + o(d1, 'MapCache'); + d1.prototype.clear = BXe; + d1.prototype.delete = VXe; + d1.prototype.get = HXe; + d1.prototype.has = WXe; + d1.prototype.set = XXe; + (nme = d1), (jXe = 'Expected a function'); + o(sB, 'memoize'); + sB.Cache = nme; + (KXe = sB), (QXe = 500); + o(ZXe, 'memoizeCapped'); + (JXe = ZXe), + (eje = + /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g), + (tje = /\\(\\)?/g), + (rje = JXe(function (t) { + var e = []; + return ( + t.charCodeAt(0) === 46 && e.push(''), + t.replace(eje, function (r, n, i, a) { + e.push(i ? a.replace(tje, '$1') : n || r); + }), + e + ); + })), + (ime = rje); + o(nje, 'arrayMap'); + (ame = nje), (ije = 1 / 0), (I0e = a1 ? a1.prototype : void 0), (O0e = I0e ? I0e.toString : void 0); + o(sme, 'baseToString'); + aje = sme; + o(sje, 'toString$1'); + ome = sje; + o(oje, 'castPath'); + (lme = oje), (lje = 1 / 0); + o(cje, 'toKey'); + oB = cje; + o(uje, 'baseGet'); + hje = uje; + o(fje, 'get'); + (dje = fje), + (pje = (function () { + try { + var t = aB(Object, 'defineProperty'); + return t({}, '', {}), t; + } catch {} + })()), + (P0e = pje); + o(mje, 'baseAssignValue'); + (gje = mje), (yje = Object.prototype), (vje = yje.hasOwnProperty); + o(xje, 'assignValue'); + (bje = xje), (wje = 9007199254740991), (Tje = /^(?:0|[1-9]\d*)$/); + o(kje, 'isIndex'); + Eje = kje; + o(Cje, 'baseSet'); + Sje = Cje; + o(Aje, 'set'); + _je = Aje; + o(Lje, 'copyArray'); + Dje = Lje; + o(Rje, 'toPath'); + (Nje = Rje), + (Mje = { + data: o(function (e) { + var r = { + field: 'data', + bindingEvent: 'data', + allowBinding: !1, + allowSetting: !1, + allowGetting: !1, + settingEvent: 'data', + settingTriggersEvent: !1, + triggerFnName: 'trigger', + immutableKeys: {}, + updateStyle: !1, + beforeGet: o(function (i) {}, 'beforeGet'), + beforeSet: o(function (i, a) {}, 'beforeSet'), + onSet: o(function (i) {}, 'onSet'), + canSet: o(function (i) { + return !0; + }, 'canSet') + }; + return ( + (e = Wt({}, r, e)), + o(function (i, a) { + var s = e, + l = this, + u = l.length !== void 0, + h = u ? l : [l], + f = u ? l[0] : l; + if (zt(i)) { + var d = i.indexOf('.') !== -1, + p = d && Nje(i); + if (s.allowGetting && a === void 0) { + var m; + return ( + f && + (s.beforeGet(f), + p && f._private[s.field][i] === void 0 + ? (m = dje(f._private[s.field], p)) + : (m = f._private[s.field][i])), + m + ); + } else if (s.allowSetting && a !== void 0) { + var g = !s.immutableKeys[i]; + if (g) { + var y = bpe({}, i, a); + s.beforeSet(l, y); + for (var v = 0, x = h.length; v < x; v++) { + var b = h[v]; + s.canSet(b) && + (p && f._private[s.field][i] === void 0 + ? _je(b._private[s.field], p, a) + : (b._private[s.field][i] = a)); + } + s.updateStyle && l.updateStyle(), + s.onSet(l), + s.settingTriggersEvent && l[s.triggerFnName](s.settingEvent); + } + } + } else if (s.allowSetting && Mr(i)) { + var w = i, + S, + T, + E = Object.keys(w); + s.beforeSet(l, w); + for (var _ = 0; _ < E.length; _++) { + (S = E[_]), (T = w[S]); + var A = !s.immutableKeys[S]; + if (A) + for (var L = 0; L < h.length; L++) { + var M = h[L]; + s.canSet(M) && (M._private[s.field][S] = T); + } + } + s.updateStyle && l.updateStyle(), + s.onSet(l), + s.settingTriggersEvent && l[s.triggerFnName](s.settingEvent); + } else if (s.allowBinding && jn(i)) { + var N = i; + l.on(s.bindingEvent, N); + } else if (s.allowGetting && i === void 0) { + var k; + return f && (s.beforeGet(f), (k = f._private[s.field])), k; + } + return l; + }, 'dataImpl') + ); + }, 'data'), + removeData: o(function (e) { + var r = { + field: 'data', + event: 'data', + triggerFnName: 'trigger', + triggerEvent: !1, + immutableKeys: {} + }; + return ( + (e = Wt({}, r, e)), + o(function (i) { + var a = e, + s = this, + l = s.length !== void 0, + u = l ? s : [s]; + if (zt(i)) { + for (var h = i.split(/\s+/), f = h.length, d = 0; d < f; d++) { + var p = h[d]; + if (!Sf(p)) { + var m = !a.immutableKeys[p]; + if (m) + for (var g = 0, y = u.length; g < y; g++) + u[g]._private[a.field][p] = void 0; + } + } + a.triggerEvent && s[a.triggerFnName](a.event); + } else if (i === void 0) { + for (var v = 0, x = u.length; v < x; v++) + for ( + var b = u[v]._private[a.field], w = Object.keys(b), S = 0; + S < w.length; + S++ + ) { + var T = w[S], + E = !a.immutableKeys[T]; + E && (b[T] = void 0); + } + a.triggerEvent && s[a.triggerFnName](a.event); + } + return s; + }, 'removeDataImpl') + ); + }, 'removeData') + }), + (Ije = { + eventAliasesOn: o(function (e) { + var r = e; + (r.addListener = r.listen = r.bind = r.on), + (r.unlisten = r.unbind = r.off = r.removeListener), + (r.trigger = r.emit), + (r.pon = r.promiseOn = + function (n, i) { + var a = this, + s = Array.prototype.slice.call(arguments, 0); + return new u1(function (l, u) { + var h = o(function (m) { + a.off.apply(a, d), l(m); + }, 'callback'), + f = s.concat([h]), + d = f.concat([]); + a.on.apply(a, f); + }); + }); + }, 'eventAliasesOn') + }), + (en = {}); + [Cqe, Mje, Ije].forEach(function (t) { + Wt(en, t); + }); + (Oje = { + animate: en.animate(), + animation: en.animation(), + animated: en.animated(), + clearQueue: en.clearQueue(), + delay: en.delay(), + delayAnimation: en.delayAnimation(), + stop: en.stop() + }), + (g6 = { + classes: o(function (e) { + var r = this; + if (e === void 0) { + var n = []; + return ( + r[0]._private.classes.forEach(function (g) { + return n.push(g); + }), + n + ); + } else vn(e) || (e = (e || '').match(/\S+/g) || []); + for (var i = [], a = new c1(e), s = 0; s < r.length; s++) { + for (var l = r[s], u = l._private, h = u.classes, f = !1, d = 0; d < e.length; d++) { + var p = e[d], + m = h.has(p); + if (!m) { + f = !0; + break; + } + } + f || (f = h.size !== e.length), f && ((u.classes = a), i.push(l)); + } + return i.length > 0 && this.spawn(i).updateStyle().emit('class'), r; + }, 'classes'), + addClass: o(function (e) { + return this.toggleClass(e, !0); + }, 'addClass'), + hasClass: o(function (e) { + var r = this[0]; + return r != null && r._private.classes.has(e); + }, 'hasClass'), + toggleClass: o(function (e, r) { + vn(e) || (e = e.match(/\S+/g) || []); + for (var n = this, i = r === void 0, a = [], s = 0, l = n.length; s < l; s++) + for (var u = n[s], h = u._private.classes, f = !1, d = 0; d < e.length; d++) { + var p = e[d], + m = h.has(p), + g = !1; + r || (i && !m) ? (h.add(p), (g = !0)) : (!r || (i && m)) && (h.delete(p), (g = !0)), + !f && g && (a.push(u), (f = !0)); + } + return a.length > 0 && this.spawn(a).updateStyle().emit('class'), n; + }, 'toggleClass'), + removeClass: o(function (e) { + return this.toggleClass(e, !1); + }, 'removeClass'), + flashClass: o(function (e, r) { + var n = this; + if (r == null) r = 250; + else if (r === 0) return n; + return ( + n.addClass(e), + setTimeout(function () { + n.removeClass(e); + }, r), + n + ); + }, 'flashClass') + }); + g6.className = g6.classNames = g6.classes; + Nr = { + metaChar: '[\\!\\"\\#\\$\\%\\&\\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]', + comparatorOp: '=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=', + boolOp: '\\?|\\!|\\^', + string: `"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`, + number: Ui, + meta: 'degree|indegree|outdegree', + separator: '\\s*,\\s*', + descendant: '\\s+', + child: '\\s+>\\s+', + subject: '\\$', + group: 'node|edge|\\*', + directedEdge: '\\s+->\\s+', + undirectedEdge: '\\s+<->\\s+' + }; + Nr.variable = '(?:[\\w-.]|(?:\\\\' + Nr.metaChar + '))+'; + Nr.className = '(?:[\\w-]|(?:\\\\' + Nr.metaChar + '))+'; + Nr.value = Nr.string + '|' + Nr.number; + Nr.id = Nr.variable; + (function () { + var t, e, r; + for (t = Nr.comparatorOp.split('|'), r = 0; r < t.length; r++) + (e = t[r]), (Nr.comparatorOp += '|@' + e); + for (t = Nr.comparatorOp.split('|'), r = 0; r < t.length; r++) + (e = t[r]), !(e.indexOf('!') >= 0) && e !== '=' && (Nr.comparatorOp += '|\\!' + e); + })(); + (un = o(function () { + return { checks: [] }; + }, 'newQuery')), + (Ct = { + 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 + }), + (PP = [ + { + selector: ':selected', + matches: o(function (e) { + return e.selected(); + }, 'matches') + }, + { + selector: ':unselected', + matches: o(function (e) { + return !e.selected(); + }, 'matches') + }, + { + selector: ':selectable', + matches: o(function (e) { + return e.selectable(); + }, 'matches') + }, + { + selector: ':unselectable', + matches: o(function (e) { + return !e.selectable(); + }, 'matches') + }, + { + selector: ':locked', + matches: o(function (e) { + return e.locked(); + }, 'matches') + }, + { + selector: ':unlocked', + matches: o(function (e) { + return !e.locked(); + }, 'matches') + }, + { + selector: ':visible', + matches: o(function (e) { + return e.visible(); + }, 'matches') + }, + { + selector: ':hidden', + matches: o(function (e) { + return !e.visible(); + }, 'matches') + }, + { + selector: ':transparent', + matches: o(function (e) { + return e.transparent(); + }, 'matches') + }, + { + selector: ':grabbed', + matches: o(function (e) { + return e.grabbed(); + }, 'matches') + }, + { + selector: ':free', + matches: o(function (e) { + return !e.grabbed(); + }, 'matches') + }, + { + selector: ':removed', + matches: o(function (e) { + return e.removed(); + }, 'matches') + }, + { + selector: ':inside', + matches: o(function (e) { + return !e.removed(); + }, 'matches') + }, + { + selector: ':grabbable', + matches: o(function (e) { + return e.grabbable(); + }, 'matches') + }, + { + selector: ':ungrabbable', + matches: o(function (e) { + return !e.grabbable(); + }, 'matches') + }, + { + selector: ':animated', + matches: o(function (e) { + return e.animated(); + }, 'matches') + }, + { + selector: ':unanimated', + matches: o(function (e) { + return !e.animated(); + }, 'matches') + }, + { + selector: ':parent', + matches: o(function (e) { + return e.isParent(); + }, 'matches') + }, + { + selector: ':childless', + matches: o(function (e) { + return e.isChildless(); + }, 'matches') + }, + { + selector: ':child', + matches: o(function (e) { + return e.isChild(); + }, 'matches') + }, + { + selector: ':orphan', + matches: o(function (e) { + return e.isOrphan(); + }, 'matches') + }, + { + selector: ':nonorphan', + matches: o(function (e) { + return e.isChild(); + }, 'matches') + }, + { + selector: ':compound', + matches: o(function (e) { + return e.isNode() ? e.isParent() : e.source().isParent() || e.target().isParent(); + }, 'matches') + }, + { + selector: ':loop', + matches: o(function (e) { + return e.isLoop(); + }, 'matches') + }, + { + selector: ':simple', + matches: o(function (e) { + return e.isSimple(); + }, 'matches') + }, + { + selector: ':active', + matches: o(function (e) { + return e.active(); + }, 'matches') + }, + { + selector: ':inactive', + matches: o(function (e) { + return !e.active(); + }, 'matches') + }, + { + selector: ':backgrounding', + matches: o(function (e) { + return e.backgrounding(); + }, 'matches') + }, + { + selector: ':nonbackgrounding', + matches: o(function (e) { + return !e.backgrounding(); + }, 'matches') + } + ].sort(function (t, e) { + return qHe(t.selector, e.selector); + })), + (Pje = (function () { + for (var t = {}, e, r = 0; r < PP.length; r++) (e = PP[r]), (t[e.selector] = e.matches); + return t; + })()), + (Bje = o(function (e, r) { + return Pje[e](r); + }, 'stateSelectorMatches')), + (Fje = + '(' + + PP.map(function (t) { + return t.selector; + }).join('|') + + ')'), + (qg = o(function (e) { + return e.replace(new RegExp('\\\\(' + Nr.metaChar + ')', 'g'), function (r, n) { + return n; + }); + }, 'cleanMetaChars')), + (wf = o(function (e, r, n) { + e[e.length - 1] = n; + }, 'replaceLastQuery')), + (BP = [ + { + name: 'group', + query: !0, + regex: '(' + Nr.group + ')', + populate: o(function (e, r, n) { + var i = $l(n, 1), + a = i[0]; + r.checks.push({ type: Ct.GROUP, value: a === '*' ? a : a + 's' }); + }, 'populate') + }, + { + name: 'state', + query: !0, + regex: Fje, + populate: o(function (e, r, n) { + var i = $l(n, 1), + a = i[0]; + r.checks.push({ type: Ct.STATE, value: a }); + }, 'populate') + }, + { + name: 'id', + query: !0, + regex: '\\#(' + Nr.id + ')', + populate: o(function (e, r, n) { + var i = $l(n, 1), + a = i[0]; + r.checks.push({ type: Ct.ID, value: qg(a) }); + }, 'populate') + }, + { + name: 'className', + query: !0, + regex: '\\.(' + Nr.className + ')', + populate: o(function (e, r, n) { + var i = $l(n, 1), + a = i[0]; + r.checks.push({ type: Ct.CLASS, value: qg(a) }); + }, 'populate') + }, + { + name: 'dataExists', + query: !0, + regex: '\\[\\s*(' + Nr.variable + ')\\s*\\]', + populate: o(function (e, r, n) { + var i = $l(n, 1), + a = i[0]; + r.checks.push({ type: Ct.DATA_EXIST, field: qg(a) }); + }, 'populate') + }, + { + name: 'dataCompare', + query: !0, + regex: '\\[\\s*(' + Nr.variable + ')\\s*(' + Nr.comparatorOp + ')\\s*(' + Nr.value + ')\\s*\\]', + populate: o(function (e, r, n) { + var i = $l(n, 3), + a = i[0], + s = i[1], + l = i[2], + u = new RegExp('^' + Nr.string + '$').exec(l) != null; + u ? (l = l.substring(1, l.length - 1)) : (l = parseFloat(l)), + r.checks.push({ + type: Ct.DATA_COMPARE, + field: qg(a), + operator: s, + value: l + }); + }, 'populate') + }, + { + name: 'dataBool', + query: !0, + regex: '\\[\\s*(' + Nr.boolOp + ')\\s*(' + Nr.variable + ')\\s*\\]', + populate: o(function (e, r, n) { + var i = $l(n, 2), + a = i[0], + s = i[1]; + r.checks.push({ type: Ct.DATA_BOOL, field: qg(s), operator: a }); + }, 'populate') + }, + { + name: 'metaCompare', + query: !0, + regex: + '\\[\\[\\s*(' + Nr.meta + ')\\s*(' + Nr.comparatorOp + ')\\s*(' + Nr.number + ')\\s*\\]\\]', + populate: o(function (e, r, n) { + var i = $l(n, 3), + a = i[0], + s = i[1], + l = i[2]; + r.checks.push({ + type: Ct.META_COMPARE, + field: qg(a), + operator: s, + value: parseFloat(l) + }); + }, 'populate') + }, + { + name: 'nextQuery', + separator: !0, + regex: Nr.separator, + populate: o(function (e, r) { + var n = e.currentSubject, + i = e.edgeCount, + a = e.compoundCount, + s = e[e.length - 1]; + n != null && ((s.subject = n), (e.currentSubject = null)), + (s.edgeCount = i), + (s.compoundCount = a), + (e.edgeCount = 0), + (e.compoundCount = 0); + var l = (e[e.length++] = un()); + return l; + }, 'populate') + }, + { + name: 'directedEdge', + separator: !0, + regex: Nr.directedEdge, + populate: o(function (e, r) { + if (e.currentSubject == null) { + var n = un(), + i = r, + a = un(); + return ( + n.checks.push({ + type: Ct.DIRECTED_EDGE, + source: i, + target: a + }), + wf(e, r, n), + e.edgeCount++, + a + ); + } else { + var s = un(), + l = r, + u = un(); + return ( + s.checks.push({ type: Ct.NODE_SOURCE, source: l, target: u }), + wf(e, r, s), + e.edgeCount++, + u + ); + } + }, 'populate') + }, + { + name: 'undirectedEdge', + separator: !0, + regex: Nr.undirectedEdge, + populate: o(function (e, r) { + if (e.currentSubject == null) { + var n = un(), + i = r, + a = un(); + return ( + n.checks.push({ type: Ct.UNDIRECTED_EDGE, nodes: [i, a] }), + wf(e, r, n), + e.edgeCount++, + a + ); + } else { + var s = un(), + l = r, + u = un(); + return ( + s.checks.push({ + type: Ct.NODE_NEIGHBOR, + node: l, + neighbor: u + }), + wf(e, r, s), + u + ); + } + }, 'populate') + }, + { + name: 'child', + separator: !0, + regex: Nr.child, + populate: o(function (e, r) { + if (e.currentSubject == null) { + var n = un(), + i = un(), + a = e[e.length - 1]; + return ( + n.checks.push({ type: Ct.CHILD, parent: a, child: i }), + wf(e, r, n), + e.compoundCount++, + i + ); + } else if (e.currentSubject === r) { + var s = un(), + l = e[e.length - 1], + u = un(), + h = un(), + f = un(), + d = un(); + return ( + s.checks.push({ + type: Ct.COMPOUND_SPLIT, + left: l, + right: u, + subject: h + }), + (h.checks = r.checks), + (r.checks = [{ type: Ct.TRUE }]), + d.checks.push({ type: Ct.TRUE }), + u.checks.push({ type: Ct.PARENT, parent: d, child: f }), + wf(e, l, s), + (e.currentSubject = h), + e.compoundCount++, + f + ); + } else { + var p = un(), + m = un(), + g = [{ type: Ct.PARENT, parent: p, child: m }]; + return (p.checks = r.checks), (r.checks = g), e.compoundCount++, m; + } + }, 'populate') + }, + { + name: 'descendant', + separator: !0, + regex: Nr.descendant, + populate: o(function (e, r) { + if (e.currentSubject == null) { + var n = un(), + i = un(), + a = e[e.length - 1]; + return ( + n.checks.push({ + type: Ct.DESCENDANT, + ancestor: a, + descendant: i + }), + wf(e, r, n), + e.compoundCount++, + i + ); + } else if (e.currentSubject === r) { + var s = un(), + l = e[e.length - 1], + u = un(), + h = un(), + f = un(), + d = un(); + return ( + s.checks.push({ + type: Ct.COMPOUND_SPLIT, + left: l, + right: u, + subject: h + }), + (h.checks = r.checks), + (r.checks = [{ type: Ct.TRUE }]), + d.checks.push({ type: Ct.TRUE }), + u.checks.push({ + type: Ct.ANCESTOR, + ancestor: d, + descendant: f + }), + wf(e, l, s), + (e.currentSubject = h), + e.compoundCount++, + f + ); + } else { + var p = un(), + m = un(), + g = [{ type: Ct.ANCESTOR, ancestor: p, descendant: m }]; + return (p.checks = r.checks), (r.checks = g), e.compoundCount++, m; + } + }, 'populate') + }, + { + name: 'subject', + modifier: !0, + regex: Nr.subject, + populate: o(function (e, r) { + if (e.currentSubject != null && e.currentSubject !== r) + return tn('Redefinition of subject in selector `' + e.toString() + '`'), !1; + e.currentSubject = r; + var n = e[e.length - 1], + i = n.checks[0], + a = i == null ? null : i.type; + a === Ct.DIRECTED_EDGE + ? (i.type = Ct.NODE_TARGET) + : a === Ct.UNDIRECTED_EDGE && + ((i.type = Ct.NODE_NEIGHBOR), + (i.node = i.nodes[1]), + (i.neighbor = i.nodes[0]), + (i.nodes = null)); + }, 'populate') + } + ]); + BP.forEach(function (t) { + return (t.regexObj = new RegExp('^' + t.regex)); + }); + (zje = o(function (e) { + for (var r, n, i, a = 0; a < BP.length; a++) { + var s = BP[a], + l = s.name, + u = e.match(s.regexObj); + if (u != null) { + (n = u), (r = s), (i = l); + var h = u[0]; + e = e.substring(h.length); + break; + } + } + return { expr: r, match: n, name: i, remaining: e }; + }, 'consumeExpr')), + (Gje = o(function (e) { + var r = e.match(/^\s+/); + if (r) { + var n = r[0]; + e = e.substring(n.length); + } + return e; + }, 'consumeWhitespace')), + ($je = o(function (e) { + var r = this, + n = (r.inputText = e), + i = (r[0] = un()); + for (r.length = 1, n = Gje(n); ; ) { + var a = zje(n); + if (a.expr == null) return tn('The selector `' + e + '`is invalid'), !1; + var s = a.match.slice(1), + l = a.expr.populate(r, i, s); + if (l === !1) return !1; + if ((l != null && (i = l), (n = a.remaining), n.match(/^\s*$/))) break; + } + var u = r[r.length - 1]; + r.currentSubject != null && (u.subject = r.currentSubject), + (u.edgeCount = r.edgeCount), + (u.compoundCount = r.compoundCount); + for (var h = 0; h < r.length; h++) { + var f = r[h]; + if (f.compoundCount > 0 && f.edgeCount > 0) + return ( + tn( + 'The selector `' + + e + + '` is invalid because it uses both a compound selector and an edge selector' + ), + !1 + ); + if (f.edgeCount > 1) + return ( + tn('The selector `' + e + '` is invalid because it uses multiple edge selectors'), !1 + ); + f.edgeCount === 1 && + tn( + 'The selector `' + + e + + '` 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; + }, 'parse')), + (Vje = o(function () { + if (this.toStringCache != null) return this.toStringCache; + for ( + var e = o(function (f) { + return f ?? ''; + }, 'clean'), + r = o(function (f) { + return zt(f) ? '"' + f + '"' : e(f); + }, 'cleanVal'), + n = o(function (f) { + return ' ' + f + ' '; + }, 'space'), + i = o(function (f, d) { + var p = f.type, + m = f.value; + switch (p) { + case Ct.GROUP: { + var g = e(m); + return g.substring(0, g.length - 1); + } + case Ct.DATA_COMPARE: { + var y = f.field, + v = f.operator; + return '[' + y + n(e(v)) + r(m) + ']'; + } + case Ct.DATA_BOOL: { + var x = f.operator, + b = f.field; + return '[' + e(x) + b + ']'; + } + case Ct.DATA_EXIST: { + var w = f.field; + return '[' + w + ']'; + } + case Ct.META_COMPARE: { + var S = f.operator, + T = f.field; + return '[[' + T + n(e(S)) + r(m) + ']]'; + } + case Ct.STATE: + return m; + case Ct.ID: + return '#' + m; + case Ct.CLASS: + return '.' + m; + case Ct.PARENT: + case Ct.CHILD: + return a(f.parent, d) + n('>') + a(f.child, d); + case Ct.ANCESTOR: + case Ct.DESCENDANT: + return a(f.ancestor, d) + ' ' + a(f.descendant, d); + case Ct.COMPOUND_SPLIT: { + var E = a(f.left, d), + _ = a(f.subject, d), + A = a(f.right, d); + return E + (E.length > 0 ? ' ' : '') + _ + A; + } + case Ct.TRUE: + return ''; + } + }, 'checkToString'), + a = o(function (f, d) { + return f.checks.reduce(function (p, m, g) { + return p + (d === f && g === 0 ? '$' : '') + i(m, d); + }, ''); + }, 'queryToString'), + s = '', + l = 0; + l < this.length; + l++ + ) { + var u = this[l]; + (s += a(u, u.subject)), this.length > 1 && l < this.length - 1 && (s += ', '); + } + return (this.toStringCache = s), s; + }, 'toString')), + (Uje = { parse: $je, toString: Vje }), + (cme = o(function (e, r, n) { + var i, + a = zt(e), + s = ft(e), + l = zt(n), + u, + h, + f = !1, + d = !1, + p = !1; + switch ( + (r.indexOf('!') >= 0 && ((r = r.replace('!', '')), (d = !0)), + r.indexOf('@') >= 0 && ((r = r.replace('@', '')), (f = !0)), + (a || l || f) && ((u = !a && !s ? '' : '' + e), (h = '' + n)), + f && ((e = u = u.toLowerCase()), (n = h = h.toLowerCase())), + r) + ) { + case '*=': + i = u.indexOf(h) >= 0; + break; + case '$=': + i = u.indexOf(h, u.length - h.length) >= 0; + break; + case '^=': + i = u.indexOf(h) === 0; + break; + case '=': + i = e === n; + break; + case '>': + (p = !0), (i = e > n); + break; + case '>=': + (p = !0), (i = e >= n); + break; + case '<': + (p = !0), (i = e < n); + break; + case '<=': + (p = !0), (i = e <= n); + break; + default: + i = !1; + break; + } + return d && (e != null || !p) && (i = !i), i; + }, 'valCmp')), + (Hje = o(function (e, r) { + switch (r) { + case '?': + return !!e; + case '!': + return !e; + case '^': + return e === void 0; + } + }, 'boolCmp')), + (Yje = o(function (e) { + return e !== void 0; + }, 'existCmp')), + (lB = o(function (e, r) { + return e.data(r); + }, 'data')), + (Wje = o(function (e, r) { + return e[r](); + }, 'meta')), + (li = []), + (In = o(function (e, r) { + return e.checks.every(function (n) { + return li[n.type](n, r); + }); + }, 'matches')); + li[Ct.GROUP] = function (t, e) { + var r = t.value; + return r === '*' || r === e.group(); + }; + li[Ct.STATE] = function (t, e) { + var r = t.value; + return Bje(r, e); + }; + li[Ct.ID] = function (t, e) { + var r = t.value; + return e.id() === r; + }; + li[Ct.CLASS] = function (t, e) { + var r = t.value; + return e.hasClass(r); + }; + li[Ct.META_COMPARE] = function (t, e) { + var r = t.field, + n = t.operator, + i = t.value; + return cme(Wje(e, r), n, i); + }; + li[Ct.DATA_COMPARE] = function (t, e) { + var r = t.field, + n = t.operator, + i = t.value; + return cme(lB(e, r), n, i); + }; + li[Ct.DATA_BOOL] = function (t, e) { + var r = t.field, + n = t.operator; + return Hje(lB(e, r), n); + }; + li[Ct.DATA_EXIST] = function (t, e) { + var r = t.field; + return t.operator, Yje(lB(e, r)); + }; + li[Ct.UNDIRECTED_EDGE] = function (t, e) { + var r = t.nodes[0], + n = t.nodes[1], + i = e.source(), + a = e.target(); + return (In(r, i) && In(n, a)) || (In(n, i) && In(r, a)); + }; + li[Ct.NODE_NEIGHBOR] = function (t, e) { + return ( + In(t.node, e) && + e.neighborhood().some(function (r) { + return r.isNode() && In(t.neighbor, r); + }) + ); + }; + li[Ct.DIRECTED_EDGE] = function (t, e) { + return In(t.source, e.source()) && In(t.target, e.target()); + }; + li[Ct.NODE_SOURCE] = function (t, e) { + return ( + In(t.source, e) && + e.outgoers().some(function (r) { + return r.isNode() && In(t.target, r); + }) + ); + }; + li[Ct.NODE_TARGET] = function (t, e) { + return ( + In(t.target, e) && + e.incomers().some(function (r) { + return r.isNode() && In(t.source, r); + }) + ); + }; + li[Ct.CHILD] = function (t, e) { + return In(t.child, e) && In(t.parent, e.parent()); + }; + li[Ct.PARENT] = function (t, e) { + return ( + In(t.parent, e) && + e.children().some(function (r) { + return In(t.child, r); + }) + ); + }; + li[Ct.DESCENDANT] = function (t, e) { + return ( + In(t.descendant, e) && + e.ancestors().some(function (r) { + return In(t.ancestor, r); + }) + ); + }; + li[Ct.ANCESTOR] = function (t, e) { + return ( + In(t.ancestor, e) && + e.descendants().some(function (r) { + return In(t.descendant, r); + }) + ); + }; + li[Ct.COMPOUND_SPLIT] = function (t, e) { + return In(t.subject, e) && In(t.left, e) && In(t.right, e); + }; + li[Ct.TRUE] = function () { + return !0; + }; + li[Ct.COLLECTION] = function (t, e) { + var r = t.value; + return r.has(e); + }; + li[Ct.FILTER] = function (t, e) { + var r = t.value; + return r(e); + }; + (qje = o(function (e) { + var r = this; + if (r.length === 1 && r[0].checks.length === 1 && r[0].checks[0].type === Ct.ID) + return e.getElementById(r[0].checks[0].value).collection(); + var n = o(function (a) { + for (var s = 0; s < r.length; s++) { + var l = r[s]; + if (In(l, a)) return !0; + } + return !1; + }, 'selectorFunction'); + return ( + r.text() == null && + (n = o(function () { + return !0; + }, 'selectorFunction')), + e.filter(n) + ); + }, 'filter')), + (Xje = o(function (e) { + for (var r = this, n = 0; n < r.length; n++) { + var i = r[n]; + if (In(i, e)) return !0; + } + return !1; + }, 'matches')), + (jje = { matches: Xje, filter: qje }), + (_f = o(function (e) { + (this.inputText = e), + (this.currentSubject = null), + (this.compoundCount = 0), + (this.edgeCount = 0), + (this.length = 0), + e == null || + (zt(e) && e.match(/^\s*$/)) || + (xo(e) + ? this.addQuery({ + checks: [{ type: Ct.COLLECTION, value: e.collection() }] + }) + : jn(e) + ? this.addQuery({ checks: [{ type: Ct.FILTER, value: e }] }) + : zt(e) + ? this.parse(e) || (this.invalid = !0) + : oi('A selector must be created from a string; found ')); + }, 'Selector')), + (Lf = _f.prototype); + [Uje, jje].forEach(function (t) { + return Wt(Lf, t); + }); + Lf.text = function () { + return this.inputText; + }; + Lf.size = function () { + return this.length; + }; + Lf.eq = function (t) { + return this[t]; + }; + Lf.sameText = function (t) { + return !this.invalid && !t.invalid && this.text() === t.text(); + }; + Lf.addQuery = function (t) { + this[this.length++] = t; + }; + Lf.selector = Lf.toString; + Ef = { + allAre: o(function (e) { + var r = new _f(e); + return this.every(function (n) { + return r.matches(n); + }); + }, 'allAre'), + is: o(function (e) { + var r = new _f(e); + return this.some(function (n) { + return r.matches(n); + }); + }, 'is'), + some: o(function (e, r) { + for (var n = 0; n < this.length; n++) { + var i = r ? e.apply(r, [this[n], n, this]) : e(this[n], n, this); + if (i) return !0; + } + return !1; + }, 'some'), + every: o(function (e, r) { + for (var n = 0; n < this.length; n++) { + var i = r ? e.apply(r, [this[n], n, this]) : e(this[n], n, this); + if (!i) return !1; + } + return !0; + }, 'every'), + same: o(function (e) { + if (this === e) return !0; + e = this.cy().collection(e); + var r = this.length, + n = e.length; + return r !== n + ? !1 + : r === 1 + ? this[0] === e[0] + : this.every(function (i) { + return e.hasElementWithId(i.id()); + }); + }, 'same'), + anySame: o(function (e) { + return ( + (e = this.cy().collection(e)), + this.some(function (r) { + return e.hasElementWithId(r.id()); + }) + ); + }, 'anySame'), + allAreNeighbors: o(function (e) { + e = this.cy().collection(e); + var r = this.neighborhood(); + return e.every(function (n) { + return r.hasElementWithId(n.id()); + }); + }, 'allAreNeighbors'), + contains: o(function (e) { + e = this.cy().collection(e); + var r = this; + return e.every(function (n) { + return r.hasElementWithId(n.id()); + }); + }, 'contains') + }; + Ef.allAreNeighbours = Ef.allAreNeighbors; + Ef.has = Ef.contains; + Ef.equal = Ef.equals = Ef.same; + (tl = o(function (e, r) { + return o(function (i, a, s, l) { + var u = i, + h = this, + f; + if ((u == null ? (f = '') : xo(u) && u.length === 1 && (f = u.id()), h.length === 1 && f)) { + var d = h[0]._private, + p = (d.traversalCache = d.traversalCache || {}), + m = (p[r] = p[r] || []), + g = U0(f), + y = m[g]; + return y || (m[g] = e.call(h, i, a, s, l)); + } else return e.call(h, i, a, s, l); + }, 'traversalCache'); + }, 'cache')), + (l1 = { + parent: o(function (e) { + var r = []; + if (this.length === 1) { + var n = this[0]._private.parent; + if (n) return n; + } + for (var i = 0; i < this.length; i++) { + var a = this[i], + s = a._private.parent; + s && r.push(s); + } + return this.spawn(r, !0).filter(e); + }, 'parent'), + parents: o(function (e) { + for (var r = [], n = this.parent(); n.nonempty(); ) { + for (var i = 0; i < n.length; i++) { + var a = n[i]; + r.push(a); + } + n = n.parent(); + } + return this.spawn(r, !0).filter(e); + }, 'parents'), + commonAncestors: o(function (e) { + for (var r, n = 0; n < this.length; n++) { + var i = this[n], + a = i.parents(); + (r = r || a), (r = r.intersect(a)); + } + return r.filter(e); + }, 'commonAncestors'), + orphans: o(function (e) { + return this.stdFilter(function (r) { + return r.isOrphan(); + }).filter(e); + }, 'orphans'), + nonorphans: o(function (e) { + return this.stdFilter(function (r) { + return r.isChild(); + }).filter(e); + }, 'nonorphans'), + children: tl(function (t) { + for (var e = [], r = 0; r < this.length; r++) + for (var n = this[r], i = n._private.children, a = 0; a < i.length; a++) e.push(i[a]); + return this.spawn(e, !0).filter(t); + }, 'children'), + siblings: o(function (e) { + return this.parent().children().not(this).filter(e); + }, 'siblings'), + isParent: o(function () { + var e = this[0]; + if (e) return e.isNode() && e._private.children.length !== 0; + }, 'isParent'), + isChildless: o(function () { + var e = this[0]; + if (e) return e.isNode() && e._private.children.length === 0; + }, 'isChildless'), + isChild: o(function () { + var e = this[0]; + if (e) return e.isNode() && e._private.parent != null; + }, 'isChild'), + isOrphan: o(function () { + var e = this[0]; + if (e) return e.isNode() && e._private.parent == null; + }, 'isOrphan'), + descendants: o(function (e) { + var r = []; + function n(i) { + for (var a = 0; a < i.length; a++) { + var s = i[a]; + r.push(s), s.children().nonempty() && n(s.children()); + } + } + return o(n, 'add'), n(this.children()), this.spawn(r, !0).filter(e); + }, 'descendants') + }); + o(cB, 'forEachCompound'); + o(ume, 'addChildren'); + l1.forEachDown = function (t) { + var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0; + return cB(this, t, e, ume); + }; + o(hme, 'addParent'); + l1.forEachUp = function (t) { + var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0; + return cB(this, t, e, hme); + }; + o(Kje, 'addParentAndChildren'); + l1.forEachUpAndDown = function (t) { + var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0; + return cB(this, t, e, Kje); + }; + l1.ancestors = l1.parents; + qx = fme = { + data: en.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: en.removeData({ + field: 'data', + event: 'data', + triggerFnName: 'trigger', + triggerEvent: !0, + immutableKeys: { id: !0, source: !0, target: !0, parent: !0 }, + updateStyle: !0 + }), + scratch: en.data({ + field: 'scratch', + bindingEvent: 'scratch', + allowBinding: !0, + allowSetting: !0, + settingEvent: 'scratch', + settingTriggersEvent: !0, + triggerFnName: 'trigger', + allowGetting: !0, + updateStyle: !0 + }), + removeScratch: en.removeData({ + field: 'scratch', + event: 'scratch', + triggerFnName: 'trigger', + triggerEvent: !0, + updateStyle: !0 + }), + rscratch: en.data({ + field: 'rscratch', + allowBinding: !1, + allowSetting: !0, + settingTriggersEvent: !1, + allowGetting: !0 + }), + removeRscratch: en.removeData({ field: 'rscratch', triggerEvent: !1 }), + id: o(function () { + var e = this[0]; + if (e) return e._private.data.id; + }, 'id') + }; + qx.attr = qx.data; + qx.removeAttr = qx.removeData; + (Qje = fme), (U6 = {}); + o(CP, 'defineDegreeFunction'); + Wt(U6, { + degree: CP(function (t, e) { + return e.source().same(e.target()) ? 2 : 1; + }), + indegree: CP(function (t, e) { + return e.target().same(t) ? 1 : 0; + }), + outdegree: CP(function (t, e) { + return e.source().same(t) ? 1 : 0; + }) + }); + o(Xg, 'defineDegreeBoundsFunction'); + Wt(U6, { + minDegree: Xg('degree', function (t, e) { + return t < e; + }), + maxDegree: Xg('degree', function (t, e) { + return t > e; + }), + minIndegree: Xg('indegree', function (t, e) { + return t < e; + }), + maxIndegree: Xg('indegree', function (t, e) { + return t > e; + }), + minOutdegree: Xg('outdegree', function (t, e) { + return t < e; + }), + maxOutdegree: Xg('outdegree', function (t, e) { + return t > e; + }) + }); + Wt(U6, { + totalDegree: o(function (e) { + for (var r = 0, n = this.nodes(), i = 0; i < n.length; i++) r += n[i].degree(e); + return r; + }, 'totalDegree') + }); + (pme = o(function (e, r, n) { + for (var i = 0; i < e.length; i++) { + var a = e[i]; + if (!a.locked()) { + var s = a._private.position, + l = { + x: r.x != null ? r.x - s.x : 0, + y: r.y != null ? r.y - s.y : 0 + }; + a.isParent() && !(l.x === 0 && l.y === 0) && a.children().shift(l, n), + a.dirtyBoundingBoxCache(); + } + } + }, 'beforePositionSet')), + (B0e = { + field: 'position', + bindingEvent: 'position', + allowBinding: !0, + allowSetting: !0, + settingEvent: 'position', + settingTriggersEvent: !0, + triggerFnName: 'emitAndNotify', + allowGetting: !0, + validKeys: ['x', 'y'], + beforeGet: o(function (e) { + e.updateCompoundBounds(); + }, 'beforeGet'), + beforeSet: o(function (e, r) { + pme(e, r, !1); + }, 'beforeSet'), + onSet: o(function (e) { + e.dirtyCompoundBoundsCache(); + }, 'onSet'), + canSet: o(function (e) { + return !e.locked(); + }, 'canSet') + }); + Hl = dme = { + position: en.data(B0e), + silentPosition: en.data( + Wt({}, B0e, { + allowBinding: !1, + allowSetting: !0, + settingTriggersEvent: !1, + allowGetting: !1, + beforeSet: o(function (e, r) { + pme(e, r, !0); + }, 'beforeSet'), + onSet: o(function (e) { + e.dirtyCompoundBoundsCache(); + }, 'onSet') + }) + ), + positions: o(function (e, r) { + if (Mr(e)) r ? this.silentPosition(e) : this.position(e); + else if (jn(e)) { + var n = e, + i = this.cy(); + i.startBatch(); + for (var a = 0; a < this.length; a++) { + var s = this[a], + l = void 0; + (l = n(s, a)) && (r ? s.silentPosition(l) : s.position(l)); + } + i.endBatch(); + } + return this; + }, 'positions'), + silentPositions: o(function (e) { + return this.positions(e, !0); + }, 'silentPositions'), + shift: o(function (e, r, n) { + var i; + if ( + (Mr(e) + ? ((i = { x: ft(e.x) ? e.x : 0, y: ft(e.y) ? e.y : 0 }), (n = r)) + : zt(e) && ft(r) && ((i = { x: 0, y: 0 }), (i[e] = r)), + i != null) + ) { + var a = this.cy(); + a.startBatch(); + for (var s = 0; s < this.length; s++) { + var l = this[s]; + if (!(a.hasCompoundNodes() && l.isChild() && l.ancestors().anySame(this))) { + var u = l.position(), + h = { x: u.x + i.x, y: u.y + i.y }; + n ? l.silentPosition(h) : l.position(h); + } + } + a.endBatch(); + } + return this; + }, 'shift'), + silentShift: o(function (e, r) { + return Mr(e) ? this.shift(e, !0) : zt(e) && ft(r) && this.shift(e, r, !0), this; + }, 'silentShift'), + renderedPosition: o(function (e, r) { + var n = this[0], + i = this.cy(), + a = i.zoom(), + s = i.pan(), + l = Mr(e) ? e : void 0, + u = l !== void 0 || (r !== void 0 && zt(e)); + if (n && n.isNode()) + if (u) + for (var h = 0; h < this.length; h++) { + var f = this[h]; + r !== void 0 ? f.position(e, (r - s[e]) / a) : l !== void 0 && f.position(Gpe(l, a, s)); + } + else { + var d = n.position(); + return (l = F6(d, a, s)), e === void 0 ? l : l[e]; + } + else if (!u) return; + return this; + }, 'renderedPosition'), + relativePosition: o(function (e, r) { + var n = this[0], + i = this.cy(), + a = Mr(e) ? e : void 0, + s = a !== void 0 || (r !== void 0 && zt(e)), + l = i.hasCompoundNodes(); + if (n && n.isNode()) + if (s) + for (var u = 0; u < this.length; u++) { + var h = this[u], + f = l ? h.parent() : null, + d = f && f.length > 0, + p = d; + d && (f = f[0]); + var m = p ? f.position() : { x: 0, y: 0 }; + r !== void 0 + ? h.position(e, r + m[e]) + : a !== void 0 && h.position({ x: a.x + m.x, y: a.y + m.y }); + } + else { + var g = n.position(), + y = l ? n.parent() : null, + v = y && y.length > 0, + x = v; + v && (y = y[0]); + var b = x ? y.position() : { x: 0, y: 0 }; + return (a = { x: g.x - b.x, y: g.y - b.y }), e === void 0 ? a : a[e]; + } + else if (!s) return; + return this; + }, 'relativePosition') + }; + Hl.modelPosition = Hl.point = Hl.position; + Hl.modelPositions = Hl.points = Hl.positions; + Hl.renderedPoint = Hl.renderedPosition; + Hl.relativePoint = Hl.relativePosition; + Zje = dme; + i1 = Rf = {}; + Rf.renderedBoundingBox = function (t) { + var e = this.boundingBox(t), + r = this.cy(), + n = r.zoom(), + i = r.pan(), + a = e.x1 * n + i.x, + s = e.x2 * n + i.x, + l = e.y1 * n + i.y, + u = e.y2 * n + i.y; + return { x1: a, x2: s, y1: l, y2: u, w: s - a, h: u - l }; + }; + Rf.dirtyCompoundBoundsCache = function () { + var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1, + e = this.cy(); + return !e.styleEnabled() || !e.hasCompoundNodes() + ? this + : (this.forEachUp(function (r) { + if (r.isParent()) { + var n = r._private; + (n.compoundBoundsClean = !1), (n.bbCache = null), t || r.emitAndNotify('bounds'); + } + }), + this); + }; + Rf.updateCompoundBounds = function () { + var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1, + e = this.cy(); + if (!e.styleEnabled() || !e.hasCompoundNodes()) return this; + if (!t && e.batching()) return this; + function r(s) { + if (!s.isParent()) return; + var l = s._private, + u = s.children(), + h = s.pstyle('compound-sizing-wrt-labels').value === 'include', + f = { + width: { + val: s.pstyle('min-width').pfValue, + left: s.pstyle('min-width-bias-left'), + right: s.pstyle('min-width-bias-right') + }, + height: { + val: s.pstyle('min-height').pfValue, + top: s.pstyle('min-height-bias-top'), + bottom: s.pstyle('min-height-bias-bottom') + } + }, + d = u.boundingBox({ + includeLabels: h, + includeOverlays: !1, + useCache: !1 + }), + p = l.position; + (d.w === 0 || d.h === 0) && + ((d = { + w: s.pstyle('width').pfValue, + h: s.pstyle('height').pfValue + }), + (d.x1 = p.x - d.w / 2), + (d.x2 = p.x + d.w / 2), + (d.y1 = p.y - d.h / 2), + (d.y2 = p.y + d.h / 2)); + function m(L, M, N) { + var k = 0, + I = 0, + C = M + N; + return ( + L > 0 && C > 0 && ((k = (M / C) * L), (I = (N / C) * L)), + { biasDiff: k, biasComplementDiff: I } + ); + } + o(m, 'computeBiasValues'); + function g(L, M, N, k) { + if (N.units === '%') + switch (k) { + case 'width': + return L > 0 ? N.pfValue * L : 0; + case 'height': + return M > 0 ? N.pfValue * M : 0; + case 'average': + return L > 0 && M > 0 ? (N.pfValue * (L + M)) / 2 : 0; + case 'min': + return L > 0 && M > 0 ? (L > M ? N.pfValue * M : N.pfValue * L) : 0; + case 'max': + return L > 0 && M > 0 ? (L > M ? N.pfValue * L : N.pfValue * M) : 0; + default: + return 0; + } + else return N.units === 'px' ? N.pfValue : 0; + } + o(g, 'computePaddingValues'); + var y = f.width.left.value; + f.width.left.units === 'px' && f.width.val > 0 && (y = (y * 100) / f.width.val); + var v = f.width.right.value; + f.width.right.units === 'px' && f.width.val > 0 && (v = (v * 100) / f.width.val); + var x = f.height.top.value; + f.height.top.units === 'px' && f.height.val > 0 && (x = (x * 100) / f.height.val); + var b = f.height.bottom.value; + f.height.bottom.units === 'px' && f.height.val > 0 && (b = (b * 100) / f.height.val); + var w = m(f.width.val - d.w, y, v), + S = w.biasDiff, + T = w.biasComplementDiff, + E = m(f.height.val - d.h, x, b), + _ = E.biasDiff, + A = E.biasComplementDiff; + (l.autoPadding = g(d.w, d.h, s.pstyle('padding'), s.pstyle('padding-relative-to').value)), + (l.autoWidth = Math.max(d.w, f.width.val)), + (p.x = (-S + d.x1 + d.x2 + T) / 2), + (l.autoHeight = Math.max(d.h, f.height.val)), + (p.y = (-_ + d.y1 + d.y2 + A) / 2); + } + o(r, 'update'); + for (var n = 0; n < this.length; n++) { + var i = this[n], + a = i._private; + (!a.compoundBoundsClean || t) && (r(i), e.batching() || (a.compoundBoundsClean = !0)); + } + return this; + }; + (el = o(function (e) { + return e === 1 / 0 || e === -1 / 0 ? 0 : e; + }, 'noninf')), + (Vl = o(function (e, r, n, i, a) { + i - r === 0 || + a - n === 0 || + r == null || + n == null || + i == null || + a == null || + ((e.x1 = r < e.x1 ? r : e.x1), + (e.x2 = i > e.x2 ? i : e.x2), + (e.y1 = n < e.y1 ? n : e.y1), + (e.y2 = a > e.y2 ? a : e.y2), + (e.w = e.x2 - e.x1), + (e.h = e.y2 - e.y1)); + }, 'updateBounds')), + (F0 = o(function (e, r) { + return r == null ? e : Vl(e, r.x1, r.y1, r.x2, r.y2); + }, 'updateBoundsFromBox')), + (Dx = o(function (e, r, n) { + return Ul(e, r, n); + }, 'prefixedProperty')), + (l6 = o(function (e, r, n) { + if (!r.cy().headless()) { + var i = r._private, + a = i.rstyle, + s = a.arrowWidth / 2, + l = r.pstyle(n + '-arrow-shape').value, + u, + h; + if (l !== 'none') { + n === 'source' + ? ((u = a.srcX), (h = a.srcY)) + : n === 'target' + ? ((u = a.tgtX), (h = a.tgtY)) + : ((u = a.midX), (h = a.midY)); + var f = (i.arrowBounds = i.arrowBounds || {}), + d = (f[n] = f[n] || {}); + (d.x1 = u - s), + (d.y1 = h - s), + (d.x2 = u + s), + (d.y2 = h + s), + (d.w = d.x2 - d.x1), + (d.h = d.y2 - d.y1), + p6(d, 1), + Vl(e, d.x1, d.y1, d.x2, d.y2); + } + } + }, 'updateBoundsFromArrow')), + (SP = o(function (e, r, n) { + if (!r.cy().headless()) { + var i; + n ? (i = n + '-') : (i = ''); + var a = r._private, + s = a.rstyle, + l = r.pstyle(i + 'label').strValue; + if (l) { + var u = r.pstyle('text-halign'), + h = r.pstyle('text-valign'), + f = Dx(s, 'labelWidth', n), + d = Dx(s, 'labelHeight', n), + p = Dx(s, 'labelX', n), + m = Dx(s, 'labelY', n), + g = r.pstyle(i + 'text-margin-x').pfValue, + y = r.pstyle(i + 'text-margin-y').pfValue, + v = r.isEdge(), + x = r.pstyle(i + 'text-rotation'), + b = r.pstyle('text-outline-width').pfValue, + w = r.pstyle('text-border-width').pfValue, + S = w / 2, + T = r.pstyle('text-background-padding').pfValue, + E = 2, + _ = d, + A = f, + L = A / 2, + M = _ / 2, + N, + k, + I, + C; + if (v) (N = p - L), (k = p + L), (I = m - M), (C = m + M); + else { + switch (u.value) { + case 'left': + (N = p - A), (k = p); + break; + case 'center': + (N = p - L), (k = p + L); + break; + case 'right': + (N = p), (k = p + A); + break; + } + switch (h.value) { + case 'top': + (I = m - _), (C = m); + break; + case 'center': + (I = m - M), (C = m + M); + break; + case 'bottom': + (I = m), (C = m + _); + break; + } + } + (N += g - Math.max(b, S) - T - E), + (k += g + Math.max(b, S) + T + E), + (I += y - Math.max(b, S) - T - E), + (C += y + Math.max(b, S) + T + E); + var O = n || 'main', + D = a.labelBounds, + P = (D[O] = D[O] || {}); + (P.x1 = N), (P.y1 = I), (P.x2 = k), (P.y2 = C), (P.w = k - N), (P.h = C - I); + var F = v && x.strValue === 'autorotate', + B = x.pfValue != null && x.pfValue !== 0; + if (F || B) { + var $ = F ? Dx(a.rstyle, 'labelAngle', n) : x.pfValue, + z = Math.cos($), + Y = Math.sin($), + Q = (N + k) / 2, + X = (I + C) / 2; + if (!v) { + switch (u.value) { + case 'left': + Q = k; + break; + case 'right': + Q = N; + break; + } + switch (h.value) { + case 'top': + X = C; + break; + case 'bottom': + X = I; + break; + } + } + var ie = o(function (ce, ue) { + return ( + (ce = ce - Q), + (ue = ue - X), + { x: ce * z - ue * Y + Q, y: ce * Y + ue * z + X } + ); + }, 'rotate'), + j = ie(N, I), + J = ie(N, C), + Z = ie(k, I), + H = ie(k, C); + (N = Math.min(j.x, J.x, Z.x, H.x)), + (k = Math.max(j.x, J.x, Z.x, H.x)), + (I = Math.min(j.y, J.y, Z.y, H.y)), + (C = Math.max(j.y, J.y, Z.y, H.y)); + } + var q = O + 'Rot', + K = (D[q] = D[q] || {}); + (K.x1 = N), + (K.y1 = I), + (K.x2 = k), + (K.y2 = C), + (K.w = k - N), + (K.h = C - I), + Vl(e, N, I, k, C), + Vl(a.labelBounds.all, N, I, k, C); + } + return e; + } + }, 'updateBoundsFromLabel')), + (Jje = o(function (e, r) { + if (!r.cy().headless()) { + var n = r.pstyle('outline-opacity').value, + i = r.pstyle('outline-width').value; + if (n > 0 && i > 0) { + var a = r.pstyle('outline-offset').value, + s = r.pstyle('shape').value, + l = i + a, + u = (e.w + l * 2) / e.w, + h = (e.h + l * 2) / e.h, + f = 0, + d = 0; + ['diamond', 'pentagon', 'round-triangle'].includes(s) + ? ((u = (e.w + l * 2.4) / e.w), (d = -l / 3.6)) + : ['concave-hexagon', 'rhomboid', 'right-rhomboid'].includes(s) + ? (u = (e.w + l * 2.4) / e.w) + : s === 'star' + ? ((u = (e.w + l * 2.8) / e.w), (h = (e.h + l * 2.6) / e.h), (d = -l / 3.8)) + : s === 'triangle' + ? ((u = (e.w + l * 2.8) / e.w), (h = (e.h + l * 2.4) / e.h), (d = -l / 1.4)) + : s === 'vee' && + ((u = (e.w + l * 4.4) / e.w), (h = (e.h + l * 3.8) / e.h), (d = -l * 0.5)); + var p = e.h * h - e.h, + m = e.w * u - e.w; + if ((m6(e, [Math.ceil(p / 2), Math.ceil(m / 2)]), f != 0 || d !== 0)) { + var g = bWe(e, f, d); + Vpe(e, g); + } + } + } + }, 'updateBoundsFromOutline')), + (eKe = o(function (e, r) { + var n = e._private.cy, + i = n.styleEnabled(), + a = n.headless(), + s = Gs(), + l = e._private, + u = e.isNode(), + h = e.isEdge(), + f, + d, + p, + m, + g, + y, + v = l.rstyle, + x = u && i ? e.pstyle('bounds-expansion').pfValue : [0], + b = o(function (De) { + return De.pstyle('display').value !== 'none'; + }, 'isDisplayed'), + w = !i || (b(e) && (!h || (b(e.source()) && b(e.target())))); + if (w) { + var S = 0, + T = 0; + i && + r.includeOverlays && + ((S = e.pstyle('overlay-opacity').value), + S !== 0 && (T = e.pstyle('overlay-padding').value)); + var E = 0, + _ = 0; + i && + r.includeUnderlays && + ((E = e.pstyle('underlay-opacity').value), + E !== 0 && (_ = e.pstyle('underlay-padding').value)); + var A = Math.max(T, _), + L = 0, + M = 0; + if ((i && ((L = e.pstyle('width').pfValue), (M = L / 2)), u && r.includeNodes)) { + var N = e.position(); + (g = N.x), (y = N.y); + var k = e.outerWidth(), + I = k / 2, + C = e.outerHeight(), + O = C / 2; + (f = g - I), + (d = g + I), + (p = y - O), + (m = y + O), + Vl(s, f, p, d, m), + i && r.includeOutlines && Jje(s, e); + } else if (h && r.includeEdges) + if (i && !a) { + var D = e.pstyle('curve-style').strValue; + if ( + ((f = Math.min(v.srcX, v.midX, v.tgtX)), + (d = Math.max(v.srcX, v.midX, v.tgtX)), + (p = Math.min(v.srcY, v.midY, v.tgtY)), + (m = Math.max(v.srcY, v.midY, v.tgtY)), + (f -= M), + (d += M), + (p -= M), + (m += M), + Vl(s, f, p, d, m), + D === 'haystack') + ) { + var P = v.haystackPts; + if (P && P.length === 2) { + if (((f = P[0].x), (p = P[0].y), (d = P[1].x), (m = P[1].y), f > d)) { + var F = f; + (f = d), (d = F); + } + if (p > m) { + var B = p; + (p = m), (m = B); + } + Vl(s, f - M, p - M, d + M, m + M); + } + } else if ( + D === 'bezier' || + D === 'unbundled-bezier' || + D.endsWith('segments') || + D.endsWith('taxi') + ) { + var $; + switch (D) { + case 'bezier': + case 'unbundled-bezier': + $ = v.bezierPts; + break; + case 'segments': + case 'taxi': + case 'round-segments': + case 'round-taxi': + $ = v.linePts; + break; + } + if ($ != null) + for (var z = 0; z < $.length; z++) { + var Y = $[z]; + (f = Y.x - M), + (d = Y.x + M), + (p = Y.y - M), + (m = Y.y + M), + Vl(s, f, p, d, m); + } + } + } else { + var Q = e.source(), + X = Q.position(), + ie = e.target(), + j = ie.position(); + if (((f = X.x), (d = j.x), (p = X.y), (m = j.y), f > d)) { + var J = f; + (f = d), (d = J); + } + if (p > m) { + var Z = p; + (p = m), (m = Z); + } + (f -= M), (d += M), (p -= M), (m += M), Vl(s, f, p, d, m); + } + if ( + (i && + r.includeEdges && + h && + (l6(s, e, 'mid-source'), + l6(s, e, 'mid-target'), + l6(s, e, 'source'), + l6(s, e, 'target')), + i) + ) { + var H = e.pstyle('ghost').value === 'yes'; + if (H) { + var q = e.pstyle('ghost-offset-x').pfValue, + K = e.pstyle('ghost-offset-y').pfValue; + Vl(s, s.x1 + q, s.y1 + K, s.x2 + q, s.y2 + K); + } + } + var se = (l.bodyBounds = l.bodyBounds || {}); + g0e(se, s), + m6(se, x), + p6(se, 1), + i && ((f = s.x1), (d = s.x2), (p = s.y1), (m = s.y2), Vl(s, f - A, p - A, d + A, m + A)); + var ce = (l.overlayBounds = l.overlayBounds || {}); + g0e(ce, s), m6(ce, x), p6(ce, 1); + var ue = (l.labelBounds = l.labelBounds || {}); + ue.all != null ? xWe(ue.all) : (ue.all = Gs()), + i && + r.includeLabels && + (r.includeMainLabels && SP(s, e, null), + h && + (r.includeSourceLabels && SP(s, e, 'source'), + r.includeTargetLabels && SP(s, e, 'target'))); + } + return ( + (s.x1 = el(s.x1)), + (s.y1 = el(s.y1)), + (s.x2 = el(s.x2)), + (s.y2 = el(s.y2)), + (s.w = el(s.x2 - s.x1)), + (s.h = el(s.y2 - s.y1)), + s.w > 0 && s.h > 0 && w && (m6(s, x), p6(s, 1)), + s + ); + }, 'boundingBoxImpl')), + (mme = o(function (e) { + var r = 0, + n = o(function (s) { + return (s ? 1 : 0) << r++; + }, 'tf'), + i = 0; + return ( + (i += n(e.incudeNodes)), + (i += n(e.includeEdges)), + (i += n(e.includeLabels)), + (i += n(e.includeMainLabels)), + (i += n(e.includeSourceLabels)), + (i += n(e.includeTargetLabels)), + (i += n(e.includeOverlays)), + (i += n(e.includeOutlines)), + i + ); + }, 'getKey')), + (gme = o(function (e) { + if (e.isEdge()) { + var r = e.source().position(), + n = e.target().position(), + i = o(function (s) { + return Math.round(s); + }, 'r'); + return GYe([i(r.x), i(r.y), i(n.x), i(n.y)]); + } else return 0; + }, 'getBoundingBoxPosKey')), + (F0e = o(function (e, r) { + var n = e._private, + i, + a = e.isEdge(), + s = r == null ? z0e : mme(r), + l = s === z0e, + u = gme(e), + h = n.bbCachePosKey === u, + f = r.useCache && h, + d = o(function (y) { + return y._private.bbCache == null || y._private.styleDirty; + }, 'isDirty'), + p = !f || d(e) || (a && d(e.source())) || d(e.target()); + if ( + (p + ? (h || e.recalculateRenderedStyle(f), + (i = eKe(e, Xx)), + (n.bbCache = i), + (n.bbCachePosKey = u)) + : (i = n.bbCache), + !l) + ) { + var m = e.isNode(); + (i = Gs()), + ((r.includeNodes && m) || (r.includeEdges && !m)) && + (r.includeOverlays ? F0(i, n.overlayBounds) : F0(i, n.bodyBounds)), + r.includeLabels && + (r.includeMainLabels && (!a || (r.includeSourceLabels && r.includeTargetLabels)) + ? F0(i, n.labelBounds.all) + : (r.includeMainLabels && F0(i, n.labelBounds.mainRot), + r.includeSourceLabels && F0(i, n.labelBounds.sourceRot), + r.includeTargetLabels && F0(i, n.labelBounds.targetRot))), + (i.w = i.x2 - i.x1), + (i.h = i.y2 - i.y1); + } + return i; + }, 'cachedBoundingBoxImpl')), + (Xx = { + includeNodes: !0, + includeEdges: !0, + includeLabels: !0, + includeMainLabels: !0, + includeSourceLabels: !0, + includeTargetLabels: !0, + includeOverlays: !0, + includeUnderlays: !0, + includeOutlines: !0, + useCache: !0 + }), + (z0e = mme(Xx)), + (G0e = Sa(Xx)); + Rf.boundingBox = function (t) { + var e; + if ( + this.length === 1 && + this[0]._private.bbCache != null && + !this[0]._private.styleDirty && + (t === void 0 || t.useCache === void 0 || t.useCache === !0) + ) + t === void 0 ? (t = Xx) : (t = G0e(t)), (e = F0e(this[0], t)); + else { + (e = Gs()), (t = t || Xx); + var r = G0e(t), + n = this, + i = n.cy(), + a = i.styleEnabled(); + if (a) + for (var s = 0; s < n.length; s++) { + var l = n[s], + u = l._private, + h = gme(l), + f = u.bbCachePosKey === h, + d = r.useCache && f && !u.styleDirty; + l.recalculateRenderedStyle(d); + } + this.updateCompoundBounds(!t.useCache); + for (var p = 0; p < n.length; p++) { + var m = n[p]; + F0(e, F0e(m, r)); + } + } + return ( + (e.x1 = el(e.x1)), + (e.y1 = el(e.y1)), + (e.x2 = el(e.x2)), + (e.y2 = el(e.y2)), + (e.w = el(e.x2 - e.x1)), + (e.h = el(e.y2 - e.y1)), + e + ); + }; + Rf.dirtyBoundingBoxCache = function () { + for (var t = 0; t < this.length; t++) { + var e = this[t]._private; + (e.bbCache = null), + (e.bbCachePosKey = null), + (e.bodyBounds = null), + (e.overlayBounds = null), + (e.labelBounds.all = null), + (e.labelBounds.source = null), + (e.labelBounds.target = null), + (e.labelBounds.main = null), + (e.labelBounds.sourceRot = null), + (e.labelBounds.targetRot = null), + (e.labelBounds.mainRot = null), + (e.arrowBounds.source = null), + (e.arrowBounds.target = null), + (e.arrowBounds['mid-source'] = null), + (e.arrowBounds['mid-target'] = null); + } + return this.emitAndNotify('bounds'), this; + }; + Rf.boundingBoxAt = function (t) { + var e = this.nodes(), + r = this.cy(), + n = r.hasCompoundNodes(), + i = r.collection(); + if ( + (n && + ((i = e.filter(function (h) { + return h.isParent(); + })), + (e = e.not(i))), + Mr(t)) + ) { + var a = t; + t = o(function () { + return a; + }, 'fn'); + } + var s = o(function (f, d) { + return (f._private.bbAtOldPos = t(f, d)); + }, 'storeOldPos'), + l = o(function (f) { + return f._private.bbAtOldPos; + }, 'getOldPos'); + r.startBatch(), + e.forEach(s).silentPositions(t), + n && (i.dirtyCompoundBoundsCache(), i.dirtyBoundingBoxCache(), i.updateCompoundBounds(!0)); + var u = vWe(this.boundingBox({ useCache: !1 })); + return ( + e.silentPositions(l), + n && (i.dirtyCompoundBoundsCache(), i.dirtyBoundingBoxCache(), i.updateCompoundBounds(!0)), + r.endBatch(), + u + ); + }; + i1.boundingbox = i1.bb = i1.boundingBox; + i1.renderedBoundingbox = i1.renderedBoundingBox; + tKe = Rf; + Px = tb = {}; + yme = o(function (e) { + (e.uppercaseName = c0e(e.name)), + (e.autoName = 'auto' + e.uppercaseName), + (e.labelName = 'label' + e.uppercaseName), + (e.outerName = 'outer' + e.uppercaseName), + (e.uppercaseOuterName = c0e(e.outerName)), + (Px[e.name] = o(function () { + var n = this[0], + i = n._private, + a = i.cy, + s = a._private.styleEnabled; + if (n) + if (s) { + if (n.isParent()) return n.updateCompoundBounds(), i[e.autoName] || 0; + var l = n.pstyle(e.name); + switch (l.strValue) { + case 'label': + return n.recalculateRenderedStyle(), i.rstyle[e.labelName] || 0; + default: + return l.pfValue; + } + } else return 1; + }, 'dimImpl')), + (Px['outer' + e.uppercaseName] = o(function () { + var n = this[0], + i = n._private, + a = i.cy, + s = a._private.styleEnabled; + if (n) + if (s) { + var l = n[e.name](), + u = n.pstyle('border-width').pfValue, + h = 2 * n.padding(); + return l + u + h; + } else return 1; + }, 'outerDimImpl')), + (Px['rendered' + e.uppercaseName] = o(function () { + var n = this[0]; + if (n) { + var i = n[e.name](); + return i * this.cy().zoom(); + } + }, 'renderedDimImpl')), + (Px['rendered' + e.uppercaseOuterName] = o(function () { + var n = this[0]; + if (n) { + var i = n[e.outerName](); + return i * this.cy().zoom(); + } + }, 'renderedOuterDimImpl')); + }, 'defineDimFns'); + yme({ name: 'width' }); + yme({ name: 'height' }); + tb.padding = function () { + var t = this[0], + e = t._private; + return t.isParent() + ? (t.updateCompoundBounds(), e.autoPadding !== void 0 ? e.autoPadding : t.pstyle('padding').pfValue) + : t.pstyle('padding').pfValue; + }; + tb.paddedHeight = function () { + var t = this[0]; + return t.height() + 2 * t.padding(); + }; + tb.paddedWidth = function () { + var t = this[0]; + return t.width() + 2 * t.padding(); + }; + (rKe = tb), + (nKe = o(function (e, r) { + if (e.isEdge()) return r(e); + }, 'ifEdge')), + (iKe = o(function (e, r) { + if (e.isEdge()) { + var n = e.cy(); + return F6(r(e), n.zoom(), n.pan()); + } + }, 'ifEdgeRenderedPosition')), + (aKe = o(function (e, r) { + if (e.isEdge()) { + var n = e.cy(), + i = n.pan(), + a = n.zoom(); + return r(e).map(function (s) { + return F6(s, a, i); + }); + } + }, 'ifEdgeRenderedPositions')), + (sKe = o(function (e) { + return e.renderer().getControlPoints(e); + }, 'controlPoints')), + (oKe = o(function (e) { + return e.renderer().getSegmentPoints(e); + }, 'segmentPoints')), + (lKe = o(function (e) { + return e.renderer().getSourceEndpoint(e); + }, 'sourceEndpoint')), + (cKe = o(function (e) { + return e.renderer().getTargetEndpoint(e); + }, 'targetEndpoint')), + (uKe = o(function (e) { + return e.renderer().getEdgeMidpoint(e); + }, 'midpoint')), + ($0e = { + controlPoints: { get: sKe, mult: !0 }, + segmentPoints: { get: oKe, mult: !0 }, + sourceEndpoint: { get: lKe }, + targetEndpoint: { get: cKe }, + midpoint: { get: uKe } + }), + (hKe = o(function (e) { + return 'rendered' + e[0].toUpperCase() + e.substr(1); + }, 'renderedName')), + (fKe = Object.keys($0e).reduce(function (t, e) { + var r = $0e[e], + n = hKe(e); + return ( + (t[e] = function () { + return nKe(this, r.get); + }), + r.mult + ? (t[n] = function () { + return aKe(this, r.get); + }) + : (t[n] = function () { + return iKe(this, r.get); + }), + t + ); + }, {})), + (dKe = Wt({}, Zje, tKe, rKe, fKe)); + vme = o(function (e, r) { + this.recycle(e, r); + }, 'Event'); + o(Rx, 'returnFalse'); + o(c6, 'returnTrue'); + vme.prototype = { + instanceString: o(function () { + return 'event'; + }, 'instanceString'), + recycle: o(function (e, r) { + if ( + ((this.isImmediatePropagationStopped = + this.isPropagationStopped = + this.isDefaultPrevented = + Rx), + e != null && e.preventDefault + ? ((this.type = e.type), (this.isDefaultPrevented = e.defaultPrevented ? c6 : Rx)) + : e != null && e.type + ? (r = e) + : (this.type = e), + r != null && + ((this.originalEvent = r.originalEvent), + (this.type = r.type != null ? r.type : this.type), + (this.cy = r.cy), + (this.target = r.target), + (this.position = r.position), + (this.renderedPosition = r.renderedPosition), + (this.namespace = r.namespace), + (this.layout = r.layout)), + this.cy != null && this.position != null && this.renderedPosition == null) + ) { + var n = this.position, + i = this.cy.zoom(), + a = this.cy.pan(); + this.renderedPosition = { x: n.x * i + a.x, y: n.y * i + a.y }; + } + this.timeStamp = (e && e.timeStamp) || Date.now(); + }, 'recycle'), + preventDefault: o(function () { + this.isDefaultPrevented = c6; + var e = this.originalEvent; + e && e.preventDefault && e.preventDefault(); + }, 'preventDefault'), + stopPropagation: o(function () { + this.isPropagationStopped = c6; + var e = this.originalEvent; + e && e.stopPropagation && e.stopPropagation(); + }, 'stopPropagation'), + stopImmediatePropagation: o(function () { + (this.isImmediatePropagationStopped = c6), this.stopPropagation(); + }, 'stopImmediatePropagation'), + isDefaultPrevented: Rx, + isPropagationStopped: Rx, + isImmediatePropagationStopped: Rx + }; + (xme = /^([^.]+)(\.(?:[^.]+))?$/), + (pKe = '.*'), + (bme = { + qualifierCompare: o(function (e, r) { + return e === r; + }, 'qualifierCompare'), + eventMatches: o(function () { + return !0; + }, 'eventMatches'), + addEventFields: o(function () {}, 'addEventFields'), + callbackContext: o(function (e) { + return e; + }, 'callbackContext'), + beforeEmit: o(function () {}, 'beforeEmit'), + afterEmit: o(function () {}, 'afterEmit'), + bubble: o(function () { + return !1; + }, 'bubble'), + parent: o(function () { + return null; + }, 'parent'), + context: null + }), + (V0e = Object.keys(bme)), + (mKe = {}); + o(H6, 'Emitter'); + (Df = H6.prototype), + (wme = o(function (e, r, n, i, a, s, l) { + jn(i) && ((a = i), (i = null)), l && (s == null ? (s = l) : (s = Wt({}, s, l))); + for (var u = vn(n) ? n : n.split(/\s+/), h = 0; h < u.length; h++) { + var f = u[h]; + if (!Sf(f)) { + var d = f.match(xme); + if (d) { + var p = d[1], + m = d[2] ? d[2] : null, + g = r(e, f, p, m, i, a, s); + if (g === !1) break; + } + } + } + }, 'forEachEvent')), + (U0e = o(function (e, r) { + return e.addEventFields(e.context, r), new vme(r.type, r); + }, 'makeEventObj')), + (gKe = o(function (e, r, n) { + if (PHe(n)) { + r(e, n); + return; + } else if (Mr(n)) { + r(e, U0e(e, n)); + return; + } + for (var i = vn(n) ? n : n.split(/\s+/), a = 0; a < i.length; a++) { + var s = i[a]; + if (!Sf(s)) { + var l = s.match(xme); + if (l) { + var u = l[1], + h = l[2] ? l[2] : null, + f = U0e(e, { type: u, namespace: h, target: e.context }); + r(e, f); + } + } + } + }, 'forEachEventObj')); + Df.on = Df.addListener = function (t, e, r, n, i) { + return ( + wme( + this, + function (a, s, l, u, h, f, d) { + jn(f) && + a.listeners.push({ + event: s, + callback: f, + type: l, + namespace: u, + qualifier: h, + conf: d + }); + }, + t, + e, + r, + n, + i + ), + this + ); + }; + Df.one = function (t, e, r, n) { + return this.on(t, e, r, n, { one: !0 }); + }; + Df.removeListener = Df.off = function (t, e, r, n) { + var i = this; + this.emitting !== 0 && (this.listeners = YYe(this.listeners)); + for ( + var a = this.listeners, + s = o(function (h) { + var f = a[h]; + wme( + i, + function (d, p, m, g, y, v) { + if ( + (f.type === m || t === '*') && + ((!g && f.namespace !== '.*') || f.namespace === g) && + (!y || d.qualifierCompare(f.qualifier, y)) && + (!v || f.callback === v) + ) + return a.splice(h, 1), !1; + }, + t, + e, + r, + n + ); + }, '_loop'), + l = a.length - 1; + l >= 0; + l-- + ) + s(l); + return this; + }; + Df.removeAllListeners = function () { + return this.removeListener('*'); + }; + Df.emit = Df.trigger = function (t, e, r) { + var n = this.listeners, + i = n.length; + return ( + this.emitting++, + vn(e) || (e = [e]), + gKe( + this, + function (a, s) { + r != null && + ((n = [ + { + event: s.event, + type: s.type, + namespace: s.namespace, + callback: r + } + ]), + (i = n.length)); + for ( + var l = o(function (f) { + var d = n[f]; + if ( + d.type === s.type && + (!d.namespace || d.namespace === s.namespace || d.namespace === pKe) && + a.eventMatches(a.context, d, s) + ) { + var p = [s]; + e != null && qYe(p, e), + a.beforeEmit(a.context, d, s), + d.conf && + d.conf.one && + (a.listeners = a.listeners.filter(function (y) { + return y !== d; + })); + var m = a.callbackContext(a.context, d, s), + g = d.callback.apply(m, p); + a.afterEmit(a.context, d, s), + g === !1 && (s.stopPropagation(), s.preventDefault()); + } + }, '_loop2'), + u = 0; + u < i; + u++ + ) + l(u); + a.bubble(a.context) && !s.isPropagationStopped() && a.parent(a.context).emit(s, e); + }, + t + ), + this.emitting--, + this + ); + }; + (yKe = { + qualifierCompare: o(function (e, r) { + return e == null || r == null ? e == null && r == null : e.sameText(r); + }, 'qualifierCompare'), + eventMatches: o(function (e, r, n) { + var i = r.qualifier; + return i != null ? e !== n.target && Zx(n.target) && i.matches(n.target) : !0; + }, 'eventMatches'), + addEventFields: o(function (e, r) { + (r.cy = e.cy()), (r.target = e); + }, 'addEventFields'), + callbackContext: o(function (e, r, n) { + return r.qualifier != null ? n.target : e; + }, 'callbackContext'), + beforeEmit: o(function (e, r) { + r.conf && r.conf.once && r.conf.onceCollection.removeListener(r.event, r.qualifier, r.callback); + }, 'beforeEmit'), + bubble: o(function () { + return !0; + }, 'bubble'), + parent: o(function (e) { + return e.isChild() ? e.parent() : e.cy(); + }, 'parent') + }), + (u6 = o(function (e) { + return zt(e) ? new _f(e) : e; + }, 'argSelector')), + (Tme = { + createEmitter: o(function () { + for (var e = 0; e < this.length; e++) { + var r = this[e], + n = r._private; + n.emitter || (n.emitter = new H6(yKe, r)); + } + return this; + }, 'createEmitter'), + emitter: o(function () { + return this._private.emitter; + }, 'emitter'), + on: o(function (e, r, n) { + for (var i = u6(r), a = 0; a < this.length; a++) { + var s = this[a]; + s.emitter().on(e, i, n); + } + return this; + }, 'on'), + removeListener: o(function (e, r, n) { + for (var i = u6(r), a = 0; a < this.length; a++) { + var s = this[a]; + s.emitter().removeListener(e, i, n); + } + return this; + }, 'removeListener'), + removeAllListeners: o(function () { + for (var e = 0; e < this.length; e++) { + var r = this[e]; + r.emitter().removeAllListeners(); + } + return this; + }, 'removeAllListeners'), + one: o(function (e, r, n) { + for (var i = u6(r), a = 0; a < this.length; a++) { + var s = this[a]; + s.emitter().one(e, i, n); + } + return this; + }, 'one'), + once: o(function (e, r, n) { + for (var i = u6(r), a = 0; a < this.length; a++) { + var s = this[a]; + s.emitter().on(e, i, n, { once: !0, onceCollection: this }); + } + }, 'once'), + emit: o(function (e, r) { + for (var n = 0; n < this.length; n++) { + var i = this[n]; + i.emitter().emit(e, r); + } + return this; + }, 'emit'), + emitAndNotify: o(function (e, r) { + if (this.length !== 0) return this.cy().notify(e, this), this.emit(e, r), this; + }, 'emitAndNotify') + }); + en.eventAliasesOn(Tme); + (kme = { + nodes: o(function (e) { + return this.filter(function (r) { + return r.isNode(); + }).filter(e); + }, 'nodes'), + edges: o(function (e) { + return this.filter(function (r) { + return r.isEdge(); + }).filter(e); + }, 'edges'), + byGroup: o(function () { + for (var e = this.spawn(), r = this.spawn(), n = 0; n < this.length; n++) { + var i = this[n]; + i.isNode() ? e.push(i) : r.push(i); + } + return { nodes: e, edges: r }; + }, 'byGroup'), + filter: o(function (e, r) { + if (e === void 0) return this; + if (zt(e) || xo(e)) return new _f(e).filter(this); + if (jn(e)) { + for (var n = this.spawn(), i = this, a = 0; a < i.length; a++) { + var s = i[a], + l = r ? e.apply(r, [s, a, i]) : e(s, a, i); + l && n.push(s); + } + return n; + } + return this.spawn(); + }, 'filter'), + not: o(function (e) { + if (e) { + zt(e) && (e = this.filter(e)); + for (var r = this.spawn(), n = 0; n < this.length; n++) { + var i = this[n], + a = e.has(i); + a || r.push(i); + } + return r; + } else return this; + }, 'not'), + absoluteComplement: o(function () { + var e = this.cy(); + return e.mutableElements().not(this); + }, 'absoluteComplement'), + intersect: o(function (e) { + if (zt(e)) { + var r = e; + return this.filter(r); + } + for ( + var n = this.spawn(), + i = this, + a = e, + s = this.length < e.length, + l = s ? i : a, + u = s ? a : i, + h = 0; + h < l.length; + h++ + ) { + var f = l[h]; + u.has(f) && n.push(f); + } + return n; + }, 'intersect'), + xor: o(function (e) { + var r = this._private.cy; + zt(e) && (e = r.$(e)); + var n = this.spawn(), + i = this, + a = e, + s = o(function (u, h) { + for (var f = 0; f < u.length; f++) { + var d = u[f], + p = d._private.data.id, + m = h.hasElementWithId(p); + m || n.push(d); + } + }, 'add'); + return s(i, a), s(a, i), n; + }, 'xor'), + diff: o(function (e) { + var r = this._private.cy; + zt(e) && (e = r.$(e)); + var n = this.spawn(), + i = this.spawn(), + a = this.spawn(), + s = this, + l = e, + u = o(function (f, d, p) { + for (var m = 0; m < f.length; m++) { + var g = f[m], + y = g._private.data.id, + v = d.hasElementWithId(y); + v ? a.merge(g) : p.push(g); + } + }, 'add'); + return u(s, l, n), u(l, s, i), { left: n, right: i, both: a }; + }, 'diff'), + add: o(function (e) { + var r = this._private.cy; + if (!e) return this; + if (zt(e)) { + var n = e; + e = r.mutableElements().filter(n); + } + for (var i = this.spawnSelf(), a = 0; a < e.length; a++) { + var s = e[a], + l = !this.has(s); + l && i.push(s); + } + return i; + }, 'add'), + merge: o(function (e) { + var r = this._private, + n = r.cy; + if (!e) return this; + if (e && zt(e)) { + var i = e; + e = n.mutableElements().filter(i); + } + for (var a = r.map, s = 0; s < e.length; s++) { + var l = e[s], + u = l._private.data.id, + h = !a.has(u); + if (h) { + var f = this.length++; + (this[f] = l), a.set(u, { ele: l, index: f }); + } + } + return this; + }, 'merge'), + unmergeAt: o(function (e) { + var r = this[e], + n = r.id(), + i = this._private, + a = i.map; + (this[e] = void 0), a.delete(n); + var s = e === this.length - 1; + if (this.length > 1 && !s) { + var l = this.length - 1, + u = this[l], + h = u._private.data.id; + (this[l] = void 0), (this[e] = u), a.set(h, { ele: u, index: e }); + } + return this.length--, this; + }, 'unmergeAt'), + unmergeOne: o(function (e) { + e = e[0]; + var r = this._private, + n = e._private.data.id, + i = r.map, + a = i.get(n); + if (!a) return this; + var s = a.index; + return this.unmergeAt(s), this; + }, 'unmergeOne'), + unmerge: o(function (e) { + var r = this._private.cy; + if (!e) return this; + if (e && zt(e)) { + var n = e; + e = r.mutableElements().filter(n); + } + for (var i = 0; i < e.length; i++) this.unmergeOne(e[i]); + return this; + }, 'unmerge'), + unmergeBy: o(function (e) { + for (var r = this.length - 1; r >= 0; r--) { + var n = this[r]; + e(n) && this.unmergeAt(r); + } + return this; + }, 'unmergeBy'), + map: o(function (e, r) { + for (var n = [], i = this, a = 0; a < i.length; a++) { + var s = i[a], + l = r ? e.apply(r, [s, a, i]) : e(s, a, i); + n.push(l); + } + return n; + }, 'map'), + reduce: o(function (e, r) { + for (var n = r, i = this, a = 0; a < i.length; a++) n = e(n, i[a], a, i); + return n; + }, 'reduce'), + max: o(function (e, r) { + for (var n = -1 / 0, i, a = this, s = 0; s < a.length; s++) { + var l = a[s], + u = r ? e.apply(r, [l, s, a]) : e(l, s, a); + u > n && ((n = u), (i = l)); + } + return { value: n, ele: i }; + }, 'max'), + min: o(function (e, r) { + for (var n = 1 / 0, i, a = this, s = 0; s < a.length; s++) { + var l = a[s], + u = r ? e.apply(r, [l, s, a]) : e(l, s, a); + u < n && ((n = u), (i = l)); + } + return { value: n, ele: i }; + }, 'min') + }), + (Wr = kme); + Wr.u = Wr['|'] = Wr['+'] = Wr.union = Wr.or = Wr.add; + Wr['\\'] = Wr['!'] = Wr['-'] = Wr.difference = Wr.relativeComplement = Wr.subtract = Wr.not; + Wr.n = Wr['&'] = Wr['.'] = Wr.and = Wr.intersection = Wr.intersect; + Wr['^'] = Wr['(+)'] = Wr['(-)'] = Wr.symmetricDifference = Wr.symdiff = Wr.xor; + Wr.fnFilter = Wr.filterFn = Wr.stdFilter = Wr.filter; + Wr.complement = Wr.abscomp = Wr.absoluteComplement; + (vKe = { + isNode: o(function () { + return this.group() === 'nodes'; + }, 'isNode'), + isEdge: o(function () { + return this.group() === 'edges'; + }, 'isEdge'), + isLoop: o(function () { + return this.isEdge() && this.source()[0] === this.target()[0]; + }, 'isLoop'), + isSimple: o(function () { + return this.isEdge() && this.source()[0] !== this.target()[0]; + }, 'isSimple'), + group: o(function () { + var e = this[0]; + if (e) return e._private.group; + }, 'group') + }), + (Eme = o(function (e, r) { + var n = e.cy(), + i = n.hasCompoundNodes(); + function a(f) { + var d = f.pstyle('z-compound-depth'); + return d.value === 'auto' + ? i + ? f.zDepth() + : 0 + : d.value === 'bottom' + ? -1 + : d.value === 'top' + ? ZP + : 0; + } + o(a, 'getDepth'); + var s = a(e) - a(r); + if (s !== 0) return s; + function l(f) { + var d = f.pstyle('z-index-compare'); + return d.value === 'auto' && f.isNode() ? 1 : 0; + } + o(l, 'getEleDepth'); + var u = l(e) - l(r); + if (u !== 0) return u; + var h = e.pstyle('z-index').value - r.pstyle('z-index').value; + return h !== 0 ? h : e.poolIndex() - r.poolIndex(); + }, 'zIndexSort')), + (L6 = { + forEach: o(function (e, r) { + if (jn(e)) + for (var n = this.length, i = 0; i < n; i++) { + var a = this[i], + s = r ? e.apply(r, [a, i, this]) : e(a, i, this); + if (s === !1) break; + } + return this; + }, 'forEach'), + toArray: o(function () { + for (var e = [], r = 0; r < this.length; r++) e.push(this[r]); + return e; + }, 'toArray'), + slice: o(function (e, r) { + var n = [], + i = this.length; + r == null && (r = i), e == null && (e = 0), e < 0 && (e = i + e), r < 0 && (r = i + r); + for (var a = e; a >= 0 && a < r && a < i; a++) n.push(this[a]); + return this.spawn(n); + }, 'slice'), + size: o(function () { + return this.length; + }, 'size'), + eq: o(function (e) { + return this[e] || this.spawn(); + }, 'eq'), + first: o(function () { + return this[0] || this.spawn(); + }, 'first'), + last: o(function () { + return this[this.length - 1] || this.spawn(); + }, 'last'), + empty: o(function () { + return this.length === 0; + }, 'empty'), + nonempty: o(function () { + return !this.empty(); + }, 'nonempty'), + sort: o(function (e) { + if (!jn(e)) return this; + var r = this.toArray().sort(e); + return this.spawn(r); + }, 'sort'), + sortByZIndex: o(function () { + return this.sort(Eme); + }, 'sortByZIndex'), + zDepth: o(function () { + var e = this[0]; + if (e) { + var r = e._private, + n = r.group; + if (n === 'nodes') { + var i = r.data.parent ? e.parents().size() : 0; + return e.isParent() ? i : ZP - 1; + } else { + var a = r.source, + s = r.target, + l = a.zDepth(), + u = s.zDepth(); + return Math.max(l, u, 0); + } + } + }, 'zDepth') + }); + L6.each = L6.forEach; + xKe = o(function () { + var e = 'undefined', + r = (typeof Symbol > 'u' ? 'undefined' : Hi(Symbol)) != e && Hi(Symbol.iterator) != e; + r && + (L6[Symbol.iterator] = function () { + var n = this, + i = { value: void 0, done: !1 }, + a = 0, + s = this.length; + return bpe( + { + next: o(function () { + return a < s ? (i.value = n[a++]) : ((i.value = void 0), (i.done = !0)), i; + }, 'next') + }, + Symbol.iterator, + function () { + return this; + } + ); + }); + }, 'defineSymbolIterator'); + xKe(); + (bKe = Sa({ nodeDimensionsIncludeLabels: !1 })), + (y6 = { + layoutDimensions: o(function (e) { + e = bKe(e); + var r; + if (!this.takesUpSpace()) r = { w: 0, h: 0 }; + else if (e.nodeDimensionsIncludeLabels) { + var n = this.boundingBox(); + r = { w: n.w, h: n.h }; + } else r = { w: this.outerWidth(), h: this.outerHeight() }; + return (r.w === 0 || r.h === 0) && (r.w = r.h = 1), r; + }, 'layoutDimensions'), + layoutPositions: o(function (e, r, n) { + var i = this.nodes().filter(function (T) { + return !T.isParent(); + }), + a = this.cy(), + s = r.eles, + l = o(function (E) { + return E.id(); + }, 'getMemoizeKey'), + u = Gx(n, l); + e.emit({ type: 'layoutstart', layout: e }), (e.animations = []); + var h = o(function (E, _, A) { + var L = { x: _.x1 + _.w / 2, y: _.y1 + _.h / 2 }, + M = { x: (A.x - L.x) * E, y: (A.y - L.y) * E }; + return { x: L.x + M.x, y: L.y + M.y }; + }, 'calculateSpacing'), + f = r.spacingFactor && r.spacingFactor !== 1, + d = o(function () { + if (!f) return null; + for (var E = Gs(), _ = 0; _ < i.length; _++) { + var A = i[_], + L = u(A, _); + wWe(E, L.x, L.y); + } + return E; + }, 'spacingBb'), + p = d(), + m = Gx(function (T, E) { + var _ = u(T, E); + if (f) { + var A = Math.abs(r.spacingFactor); + _ = h(A, p, _); + } + return r.transform != null && (_ = r.transform(T, _)), _; + }, l); + if (r.animate) { + for (var g = 0; g < i.length; g++) { + var y = i[g], + v = m(y, g), + x = r.animateFilter == null || r.animateFilter(y, g); + if (x) { + var b = y.animation({ + position: v, + duration: r.animationDuration, + easing: r.animationEasing + }); + e.animations.push(b); + } else y.position(v); + } + if (r.fit) { + var w = a.animation({ + fit: { boundingBox: s.boundingBoxAt(m), padding: r.padding }, + duration: r.animationDuration, + easing: r.animationEasing + }); + e.animations.push(w); + } else if (r.zoom !== void 0 && r.pan !== void 0) { + var S = a.animation({ + zoom: r.zoom, + pan: r.pan, + duration: r.animationDuration, + easing: r.animationEasing + }); + e.animations.push(S); + } + e.animations.forEach(function (T) { + return T.play(); + }), + e.one('layoutready', r.ready), + e.emit({ type: 'layoutready', layout: e }), + u1 + .all( + e.animations.map(function (T) { + return T.promise(); + }) + ) + .then(function () { + e.one('layoutstop', r.stop), e.emit({ type: 'layoutstop', layout: e }); + }); + } else + i.positions(m), + r.fit && a.fit(r.eles, r.padding), + r.zoom != null && a.zoom(r.zoom), + r.pan && a.pan(r.pan), + e.one('layoutready', r.ready), + e.emit({ type: 'layoutready', layout: e }), + e.one('layoutstop', r.stop), + e.emit({ type: 'layoutstop', layout: e }); + return this; + }, 'layoutPositions'), + layout: o(function (e) { + var r = this.cy(); + return r.makeLayout(Wt({}, e, { eles: this })); + }, 'layout') + }); + y6.createLayout = y6.makeLayout = y6.layout; + o(Cme, 'styleCache'); + o(Y6, 'cacheStyleFunction'); + o(W6, 'cachePrototypeStyleFunction'); + Ea = { + recalculateRenderedStyle: o(function (e) { + var r = this.cy(), + n = r.renderer(), + i = r.styleEnabled(); + return n && i && n.recalculateRenderedStyle(this, e), this; + }, 'recalculateRenderedStyle'), + dirtyStyleCache: o(function () { + var e = this.cy(), + r = o(function (a) { + return (a._private.styleCache = null); + }, 'dirty'); + if (e.hasCompoundNodes()) { + var n; + (n = this.spawnSelf().merge(this.descendants()).merge(this.parents())), + n.merge(n.connectedEdges()), + n.forEach(r); + } else + this.forEach(function (i) { + r(i), i.connectedEdges().forEach(r); + }); + return this; + }, 'dirtyStyleCache'), + updateStyle: o(function (e) { + var r = this._private.cy; + if (!r.styleEnabled()) return this; + if (r.batching()) { + var n = r._private.batchStyleEles; + return n.merge(this), this; + } + var i = r.hasCompoundNodes(), + a = this; + (e = !!(e || e === void 0)), + i && (a = this.spawnSelf().merge(this.descendants()).merge(this.parents())); + var s = a; + return ( + e ? s.emitAndNotify('style') : s.emit('style'), + a.forEach(function (l) { + return (l._private.styleDirty = !0); + }), + this + ); + }, 'updateStyle'), + cleanStyle: o(function () { + var e = this.cy(); + if (e.styleEnabled()) + for (var r = 0; r < this.length; r++) { + var n = this[r]; + n._private.styleDirty && ((n._private.styleDirty = !1), e.style().apply(n)); + } + }, 'cleanStyle'), + parsedStyle: o(function (e) { + var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0, + n = this[0], + i = n.cy(); + if (i.styleEnabled() && n) { + this.cleanStyle(); + var a = n._private.style[e]; + return a ?? (r ? i.style().getDefaultProperty(e) : null); + } + }, 'parsedStyle'), + numericStyle: o(function (e) { + var r = this[0]; + if (r.cy().styleEnabled() && r) { + var n = r.pstyle(e); + return n.pfValue !== void 0 ? n.pfValue : n.value; + } + }, 'numericStyle'), + numericStyleUnits: o(function (e) { + var r = this[0]; + if (r.cy().styleEnabled() && r) return r.pstyle(e).units; + }, 'numericStyleUnits'), + renderedStyle: o(function (e) { + var r = this.cy(); + if (!r.styleEnabled()) return this; + var n = this[0]; + if (n) return r.style().getRenderedStyle(n, e); + }, 'renderedStyle'), + style: o(function (e, r) { + var n = this.cy(); + if (!n.styleEnabled()) return this; + var i = !1, + a = n.style(); + if (Mr(e)) { + var s = e; + a.applyBypass(this, s, i), this.emitAndNotify('style'); + } else if (zt(e)) + if (r === void 0) { + var l = this[0]; + return l ? a.getStylePropertyValue(l, e) : void 0; + } else a.applyBypass(this, e, r, i), this.emitAndNotify('style'); + else if (e === void 0) { + var u = this[0]; + return u ? a.getRawStyle(u) : void 0; + } + return this; + }, 'style'), + removeStyle: o(function (e) { + var r = this.cy(); + if (!r.styleEnabled()) return this; + var n = !1, + i = r.style(), + a = this; + if (e === void 0) + for (var s = 0; s < a.length; s++) { + var l = a[s]; + i.removeAllBypasses(l, n); + } + else { + e = e.split(/\s+/); + for (var u = 0; u < a.length; u++) { + var h = a[u]; + i.removeBypasses(h, e, n); + } + } + return this.emitAndNotify('style'), this; + }, 'removeStyle'), + show: o(function () { + return this.css('display', 'element'), this; + }, 'show'), + hide: o(function () { + return this.css('display', 'none'), this; + }, 'hide'), + effectiveOpacity: o(function () { + var e = this.cy(); + if (!e.styleEnabled()) return 1; + var r = e.hasCompoundNodes(), + n = this[0]; + if (n) { + var i = n._private, + a = n.pstyle('opacity').value; + if (!r) return a; + var s = i.data.parent ? n.parents() : null; + if (s) + for (var l = 0; l < s.length; l++) { + var u = s[l], + h = u.pstyle('opacity').value; + a = h * a; + } + return a; + } + }, 'effectiveOpacity'), + transparent: o(function () { + var e = this.cy(); + if (!e.styleEnabled()) return !1; + var r = this[0], + n = r.cy().hasCompoundNodes(); + if (r) return n ? r.effectiveOpacity() === 0 : r.pstyle('opacity').value === 0; + }, 'transparent'), + backgrounding: o(function () { + var e = this.cy(); + if (!e.styleEnabled()) return !1; + var r = this[0]; + return !!r._private.backgrounding; + }, 'backgrounding') + }; + o(AP, 'checkCompound'); + o(uB, 'defineDerivedStateFunction'); + p1 = Y6('eleTakesUpSpace', function (t) { + return ( + t.pstyle('display').value === 'element' && t.width() !== 0 && (t.isNode() ? t.height() !== 0 : !0) + ); + }); + Ea.takesUpSpace = W6('takesUpSpace', uB({ ok: p1 })); + (wKe = Y6('eleInteractive', function (t) { + return t.pstyle('events').value === 'yes' && t.pstyle('visibility').value === 'visible' && p1(t); + })), + (TKe = Y6('parentInteractive', function (t) { + return t.pstyle('visibility').value === 'visible' && p1(t); + })); + Ea.interactive = W6('interactive', uB({ ok: wKe, parentOk: TKe, edgeOkViaNode: p1 })); + Ea.noninteractive = function () { + var t = this[0]; + if (t) return !t.interactive(); + }; + (kKe = Y6('eleVisible', function (t) { + return t.pstyle('visibility').value === 'visible' && t.pstyle('opacity').pfValue !== 0 && p1(t); + })), + (EKe = p1); + Ea.visible = W6('visible', uB({ ok: kKe, edgeOkViaNode: EKe })); + Ea.hidden = function () { + var t = this[0]; + if (t) return !t.visible(); + }; + Ea.isBundledBezier = W6('isBundledBezier', function () { + return this.cy().styleEnabled() + ? !this.removed() && this.pstyle('curve-style').value === 'bezier' && this.takesUpSpace() + : !1; + }); + Ea.bypass = Ea.css = Ea.style; + Ea.renderedCss = Ea.renderedStyle; + Ea.removeBypass = Ea.removeCss = Ea.removeStyle; + Ea.pstyle = Ea.parsedStyle; + Cf = {}; + o(H0e, 'defineSwitchFunction'); + o(m1, 'defineSwitchSet'); + m1({ + field: 'locked', + overrideField: o(function (e) { + return e.cy().autolock() ? !0 : void 0; + }, 'overrideField'), + on: 'lock', + off: 'unlock' + }); + m1({ + field: 'grabbable', + overrideField: o(function (e) { + return e.cy().autoungrabify() || e.pannable() ? !1 : void 0; + }, 'overrideField'), + on: 'grabify', + off: 'ungrabify' + }); + m1({ + field: 'selected', + ableField: 'selectable', + overrideAble: o(function (e) { + return e.cy().autounselectify() ? !1 : void 0; + }, 'overrideAble'), + on: 'select', + off: 'unselect' + }); + m1({ + field: 'selectable', + overrideField: o(function (e) { + return e.cy().autounselectify() ? !1 : void 0; + }, 'overrideField'), + on: 'selectify', + off: 'unselectify' + }); + Cf.deselect = Cf.unselect; + Cf.grabbed = function () { + var t = this[0]; + if (t) return t._private.grabbed; + }; + m1({ field: 'active', on: 'activate', off: 'unactivate' }); + m1({ field: 'pannable', on: 'panify', off: 'unpanify' }); + Cf.inactive = function () { + var t = this[0]; + if (t) return !t._private.active; + }; + (Fa = {}), + (Y0e = o(function (e) { + return o(function (n) { + for (var i = this, a = [], s = 0; s < i.length; s++) { + var l = i[s]; + if (l.isNode()) { + for (var u = !1, h = l.connectedEdges(), f = 0; f < h.length; f++) { + var d = h[f], + p = d.source(), + m = d.target(); + if ( + (e.noIncomingEdges && m === l && p !== l) || + (e.noOutgoingEdges && p === l && m !== l) + ) { + u = !0; + break; + } + } + u || a.push(l); + } + } + return this.spawn(a, !0).filter(n); + }, 'dagExtremityImpl'); + }, 'defineDagExtremity')), + (W0e = o(function (e) { + return function (r) { + for (var n = this, i = [], a = 0; a < n.length; a++) { + var s = n[a]; + if (s.isNode()) + for (var l = s.connectedEdges(), u = 0; u < l.length; u++) { + var h = l[u], + f = h.source(), + d = h.target(); + e.outgoing && f === s + ? (i.push(h), i.push(d)) + : e.incoming && d === s && (i.push(h), i.push(f)); + } + } + return this.spawn(i, !0).filter(r); + }; + }, 'defineDagOneHop')), + (q0e = o(function (e) { + return function (r) { + for (var n = this, i = [], a = {}; ; ) { + var s = e.outgoing ? n.outgoers() : n.incomers(); + if (s.length === 0) break; + for (var l = !1, u = 0; u < s.length; u++) { + var h = s[u], + f = h.id(); + a[f] || ((a[f] = !0), i.push(h), (l = !0)); + } + if (!l) break; + n = s; + } + return this.spawn(i, !0).filter(r); + }; + }, 'defineDagAllHops')); + Fa.clearTraversalCache = function () { + for (var t = 0; t < this.length; t++) this[t]._private.traversalCache = null; + }; + Wt(Fa, { + roots: Y0e({ noIncomingEdges: !0 }), + leaves: Y0e({ noOutgoingEdges: !0 }), + outgoers: tl(W0e({ outgoing: !0 }), 'outgoers'), + successors: q0e({ outgoing: !0 }), + incomers: tl(W0e({ incoming: !0 }), 'incomers'), + predecessors: q0e({ incoming: !0 }) + }); + Wt(Fa, { + neighborhood: tl(function (t) { + for (var e = [], r = this.nodes(), n = 0; n < r.length; n++) + for (var i = r[n], a = i.connectedEdges(), s = 0; s < a.length; s++) { + var l = a[s], + u = l.source(), + h = l.target(), + f = i === u ? h : u; + f.length > 0 && e.push(f[0]), e.push(l[0]); + } + return this.spawn(e, !0).filter(t); + }, 'neighborhood'), + closedNeighborhood: o(function (e) { + return this.neighborhood().add(this).filter(e); + }, 'closedNeighborhood'), + openNeighborhood: o(function (e) { + return this.neighborhood(e); + }, 'openNeighborhood') + }); + Fa.neighbourhood = Fa.neighborhood; + Fa.closedNeighbourhood = Fa.closedNeighborhood; + Fa.openNeighbourhood = Fa.openNeighborhood; + Wt(Fa, { + source: tl( + o(function (e) { + var r = this[0], + n; + return r && (n = r._private.source || r.cy().collection()), n && e ? n.filter(e) : n; + }, 'sourceImpl'), + 'source' + ), + target: tl( + o(function (e) { + var r = this[0], + n; + return r && (n = r._private.target || r.cy().collection()), n && e ? n.filter(e) : n; + }, 'targetImpl'), + 'target' + ), + sources: X0e({ attr: 'source' }), + targets: X0e({ attr: 'target' }) + }); + o(X0e, 'defineSourceFunction'); + Wt(Fa, { + edgesWith: tl(j0e(), 'edgesWith'), + edgesTo: tl(j0e({ thisIsSrc: !0 }), 'edgesTo') + }); + o(j0e, 'defineEdgesWithFunction'); + Wt(Fa, { + connectedEdges: tl(function (t) { + for (var e = [], r = this, n = 0; n < r.length; n++) { + var i = r[n]; + if (i.isNode()) + for (var a = i._private.edges, s = 0; s < a.length; s++) { + var l = a[s]; + e.push(l); + } + } + return this.spawn(e, !0).filter(t); + }, 'connectedEdges'), + connectedNodes: tl(function (t) { + for (var e = [], r = this, n = 0; n < r.length; n++) { + var i = r[n]; + i.isEdge() && (e.push(i.source()[0]), e.push(i.target()[0])); + } + return this.spawn(e, !0).filter(t); + }, 'connectedNodes'), + parallelEdges: tl(K0e(), 'parallelEdges'), + codirectedEdges: tl(K0e({ codirected: !0 }), 'codirectedEdges') + }); + o(K0e, 'defineParallelEdgesFunction'); + Wt(Fa, { + components: o(function (e) { + var r = this, + n = r.cy(), + i = n.collection(), + a = e == null ? r.nodes() : e.nodes(), + s = []; + e != null && a.empty() && (a = e.sources()); + var l = o(function (f, d) { + i.merge(f), a.unmerge(f), d.merge(f); + }, 'visitInComponent'); + if (a.empty()) return r.spawn(); + var u = o(function () { + var f = n.collection(); + s.push(f); + var d = a[0]; + l(d, f), + r.bfs({ + directed: !1, + roots: d, + visit: o(function (m) { + return l(m, f); + }, 'visit') + }), + f.forEach(function (p) { + p.connectedEdges().forEach(function (m) { + r.has(m) && f.has(m.source()) && f.has(m.target()) && f.merge(m); + }); + }); + }, '_loop'); + do u(); + while (a.length > 0); + return s; + }, 'components'), + component: o(function () { + var e = this[0]; + return e.cy().mutableElements().components(e)[0]; + }, 'component') + }); + Fa.componentsOf = Fa.components; + (Ca = o(function (e, r) { + var n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1, + i = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !1; + if (e === void 0) { + oi('A collection must have a reference to the core'); + return; + } + var a = new Vc(), + s = !1; + if (!r) r = []; + else if (r.length > 0 && Mr(r[0]) && !Zx(r[0])) { + s = !0; + for (var l = [], u = new c1(), h = 0, f = r.length; h < f; h++) { + var d = r[h]; + d.data == null && (d.data = {}); + var p = d.data; + if (p.id == null) p.id = Fpe(); + else if (e.hasElementWithId(p.id) || u.has(p.id)) continue; + var m = new B6(e, d, !1); + l.push(m), u.add(p.id); + } + r = l; + } + this.length = 0; + for (var g = 0, y = r.length; g < y; g++) { + var v = r[g][0]; + if (v != null) { + var x = v._private.data.id; + (!n || !a.has(x)) && + (n && a.set(x, { index: this.length, ele: v }), (this[this.length] = v), this.length++); + } + } + (this._private = { + eles: this, + cy: e, + get map() { + return this.lazyMap == null && this.rebuildMap(), this.lazyMap; + }, + set map(b) { + this.lazyMap = b; + }, + rebuildMap: o(function () { + for (var w = (this.lazyMap = new Vc()), S = this.eles, T = 0; T < S.length; T++) { + var E = S[T]; + w.set(E.id(), { index: T, ele: E }); + } + }, 'rebuildMap') + }), + n && (this._private.map = a), + s && !i && this.restore(); + }, 'Collection')), + (Dn = B6.prototype = Ca.prototype = Object.create(Array.prototype)); + Dn.instanceString = function () { + return 'collection'; + }; + Dn.spawn = function (t, e) { + return new Ca(this.cy(), t, e); + }; + Dn.spawnSelf = function () { + return this.spawn(this); + }; + Dn.cy = function () { + return this._private.cy; + }; + Dn.renderer = function () { + return this._private.cy.renderer(); + }; + Dn.element = function () { + return this[0]; + }; + Dn.collection = function () { + return Epe(this) ? this : new Ca(this._private.cy, [this]); + }; + Dn.unique = function () { + return new Ca(this._private.cy, this, !0); + }; + Dn.hasElementWithId = function (t) { + return (t = '' + t), this._private.map.has(t); + }; + Dn.getElementById = function (t) { + t = '' + t; + var e = this._private.cy, + r = this._private.map.get(t); + return r ? r.ele : new Ca(e); + }; + Dn.$id = Dn.getElementById; + Dn.poolIndex = function () { + var t = this._private.cy, + e = t._private.elements, + r = this[0]._private.data.id; + return e._private.map.get(r).index; + }; + Dn.indexOf = function (t) { + var e = t[0]._private.data.id; + return this._private.map.get(e).index; + }; + Dn.indexOfId = function (t) { + return (t = '' + t), this._private.map.get(t).index; + }; + Dn.json = function (t) { + var e = this.element(), + r = this.cy(); + if (e == null && t) return this; + if (e != null) { + var n = e._private; + if (Mr(t)) { + if ((r.startBatch(), t.data)) { + e.data(t.data); + var i = n.data; + if (e.isEdge()) { + var a = !1, + s = {}, + l = t.data.source, + u = t.data.target; + l != null && l != i.source && ((s.source = '' + l), (a = !0)), + u != null && u != i.target && ((s.target = '' + u), (a = !0)), + a && (e = e.move(s)); + } else { + var h = 'parent' in t.data, + f = t.data.parent; + h && + (f != null || i.parent != null) && + f != i.parent && + (f === void 0 && (f = null), + f != null && (f = '' + f), + (e = e.move({ parent: f }))); + } + } + t.position && e.position(t.position); + var d = o(function (y, v, x) { + var b = t[y]; + b != null && b !== n[y] && (b ? e[v]() : e[x]()); + }, 'checkSwitch'); + return ( + d('removed', 'remove', 'restore'), + d('selected', 'select', 'unselect'), + d('selectable', 'selectify', 'unselectify'), + d('locked', 'lock', 'unlock'), + d('grabbable', 'grabify', 'ungrabify'), + d('pannable', 'panify', 'unpanify'), + t.classes != null && e.classes(t.classes), + r.endBatch(), + this + ); + } else if (t === void 0) { + var p = { + data: $c(n.data), + position: $c(n.position), + group: n.group, + removed: n.removed, + selected: n.selected, + selectable: n.selectable, + locked: n.locked, + grabbable: n.grabbable, + pannable: n.pannable, + classes: null + }; + p.classes = ''; + var m = 0; + return ( + n.classes.forEach(function (g) { + return (p.classes += m++ === 0 ? g : ' ' + g); + }), + p + ); + } + } + }; + Dn.jsons = function () { + for (var t = [], e = 0; e < this.length; e++) { + var r = this[e], + n = r.json(); + t.push(n); + } + return t; + }; + Dn.clone = function () { + for (var t = this.cy(), e = [], r = 0; r < this.length; r++) { + var n = this[r], + i = n.json(), + a = new B6(t, i, !1); + e.push(a); + } + return new Ca(t, e); + }; + Dn.copy = Dn.clone; + Dn.restore = function () { + for ( + var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0, + e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0, + r = this, + n = r.cy(), + i = n._private, + a = [], + s = [], + l, + u = 0, + h = r.length; + u < h; + u++ + ) { + var f = r[u]; + (e && !f.removed()) || (f.isNode() ? a.push(f) : s.push(f)); + } + l = a.concat(s); + var d, + p = o(function () { + l.splice(d, 1), d--; + }, 'removeFromElements'); + for (d = 0; d < l.length; d++) { + var m = l[d], + g = m._private, + y = g.data; + if ((m.clearTraversalCache(), !(!e && !g.removed))) { + if (y.id === void 0) y.id = Fpe(); + else if (ft(y.id)) y.id = '' + y.id; + else if (Sf(y.id) || !zt(y.id)) { + oi('Can not create element with invalid string ID `' + y.id + '`'), p(); + continue; + } else if (n.hasElementWithId(y.id)) { + oi('Can not create second element with ID `' + y.id + '`'), p(); + continue; + } + } + var v = y.id; + if (m.isNode()) { + var x = g.position; + x.x == null && (x.x = 0), x.y == null && (x.y = 0); + } + if (m.isEdge()) { + for (var b = m, w = ['source', 'target'], S = w.length, T = !1, E = 0; E < S; E++) { + var _ = w[E], + A = y[_]; + ft(A) && (A = y[_] = '' + y[_]), + A == null || A === '' + ? (oi('Can not create edge `' + v + '` with unspecified ' + _), (T = !0)) + : n.hasElementWithId(A) || + (oi('Can not create edge `' + v + '` with nonexistant ' + _ + ' `' + A + '`'), + (T = !0)); + } + if (T) { + p(); + continue; + } + var L = n.getElementById(y.source), + M = n.getElementById(y.target); + L.same(M) ? L._private.edges.push(b) : (L._private.edges.push(b), M._private.edges.push(b)), + (b._private.source = L), + (b._private.target = M); + } + (g.map = new Vc()), g.map.set(v, { ele: m, index: 0 }), (g.removed = !1), e && n.addToPool(m); + } + for (var N = 0; N < a.length; N++) { + var k = a[N], + I = k._private.data; + ft(I.parent) && (I.parent = '' + I.parent); + var C = I.parent, + O = C != null; + if (O || k._private.parent) { + var D = k._private.parent ? n.collection().merge(k._private.parent) : n.getElementById(C); + if (D.empty()) I.parent = void 0; + else if (D[0].removed()) + tn('Node added with missing parent, reference to parent removed'), + (I.parent = void 0), + (k._private.parent = null); + else { + for (var P = !1, F = D; !F.empty(); ) { + if (k.same(F)) { + (P = !0), (I.parent = void 0); + break; + } + F = F.parent(); + } + P || + (D[0]._private.children.push(k), (k._private.parent = D[0]), (i.hasCompoundNodes = !0)); + } + } + } + if (l.length > 0) { + for (var B = l.length === r.length ? r : new Ca(n, l), $ = 0; $ < B.length; $++) { + var z = B[$]; + z.isNode() || + (z.parallelEdges().clearTraversalCache(), + z.source().clearTraversalCache(), + z.target().clearTraversalCache()); + } + var Y; + i.hasCompoundNodes + ? (Y = n.collection().merge(B).merge(B.connectedNodes()).merge(B.parent())) + : (Y = B), + Y.dirtyCompoundBoundsCache().dirtyBoundingBoxCache().updateStyle(t), + t ? B.emitAndNotify('add') : e && B.emit('add'); + } + return r; + }; + Dn.removed = function () { + var t = this[0]; + return t && t._private.removed; + }; + Dn.inside = function () { + var t = this[0]; + return t && !t._private.removed; + }; + Dn.remove = function () { + var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0, + e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0, + r = this, + n = [], + i = {}, + a = r._private.cy; + function s(C) { + for (var O = C._private.edges, D = 0; D < O.length; D++) u(O[D]); + } + o(s, 'addConnectedEdges'); + function l(C) { + for (var O = C._private.children, D = 0; D < O.length; D++) u(O[D]); + } + o(l, 'addChildren'); + function u(C) { + var O = i[C.id()]; + (e && C.removed()) || O || ((i[C.id()] = !0), C.isNode() ? (n.push(C), s(C), l(C)) : n.unshift(C)); + } + o(u, 'add'); + for (var h = 0, f = r.length; h < f; h++) { + var d = r[h]; + u(d); + } + function p(C, O) { + var D = C._private.edges; + Af(D, O), C.clearTraversalCache(); + } + o(p, 'removeEdgeRef'); + function m(C) { + C.clearTraversalCache(); + } + o(m, 'removeParallelRef'); + var g = []; + g.ids = {}; + function y(C, O) { + (O = O[0]), (C = C[0]); + var D = C._private.children, + P = C.id(); + Af(D, O), (O._private.parent = null), g.ids[P] || ((g.ids[P] = !0), g.push(C)); + } + o(y, 'removeChildRef'), r.dirtyCompoundBoundsCache(), e && a.removeFromPool(n); + for (var v = 0; v < n.length; v++) { + var x = n[v]; + if (x.isEdge()) { + var b = x.source()[0], + w = x.target()[0]; + p(b, x), p(w, x); + for (var S = x.parallelEdges(), T = 0; T < S.length; T++) { + var E = S[T]; + m(E), E.isBundledBezier() && E.dirtyBoundingBoxCache(); + } + } else { + var _ = x.parent(); + _.length !== 0 && y(_, x); + } + e && (x._private.removed = !0); + } + var A = a._private.elements; + a._private.hasCompoundNodes = !1; + for (var L = 0; L < A.length; L++) { + var M = A[L]; + if (M.isParent()) { + a._private.hasCompoundNodes = !0; + break; + } + } + var N = new Ca(this.cy(), n); + N.size() > 0 && (t ? N.emitAndNotify('remove') : e && N.emit('remove')); + for (var k = 0; k < g.length; k++) { + var I = g[k]; + (!e || !I.removed()) && I.updateStyle(); + } + return N; + }; + Dn.move = function (t) { + var e = this._private.cy, + r = this, + n = !1, + i = !1, + a = o(function (g) { + return g == null ? g : '' + g; + }, 'toString'); + if (t.source !== void 0 || t.target !== void 0) { + var s = a(t.source), + l = a(t.target), + u = s != null && e.hasElementWithId(s), + h = l != null && e.hasElementWithId(l); + (u || h) && + (e.batch(function () { + r.remove(n, i), r.emitAndNotify('moveout'); + for (var m = 0; m < r.length; m++) { + var g = r[m], + y = g._private.data; + g.isEdge() && (u && (y.source = s), h && (y.target = l)); + } + r.restore(n, i); + }), + r.emitAndNotify('move')); + } else if (t.parent !== void 0) { + var f = a(t.parent), + d = f === null || e.hasElementWithId(f); + if (d) { + var p = f === null ? void 0 : f; + e.batch(function () { + var m = r.remove(n, i); + m.emitAndNotify('moveout'); + for (var g = 0; g < r.length; g++) { + var y = r[g], + v = y._private.data; + y.isNode() && (v.parent = p); + } + m.restore(n, i); + }), + r.emitAndNotify('move'); + } + } + return this; + }; + [Qpe, Oje, g6, Ef, l1, Qje, U6, dKe, Tme, kme, vKe, L6, y6, Ea, Cf, Fa].forEach(function (t) { + Wt(Dn, t); + }); + CKe = { + add: o(function (e) { + var r, + n = this; + if (xo(e)) { + var i = e; + if (i._private.cy === n) r = i.restore(); + else { + for (var a = [], s = 0; s < i.length; s++) { + var l = i[s]; + a.push(l.json()); + } + r = new Ca(n, a); + } + } else if (vn(e)) { + var u = e; + r = new Ca(n, u); + } else if (Mr(e) && (vn(e.nodes) || vn(e.edges))) { + for (var h = e, f = [], d = ['nodes', 'edges'], p = 0, m = d.length; p < m; p++) { + var g = d[p], + y = h[g]; + if (vn(y)) + for (var v = 0, x = y.length; v < x; v++) { + var b = Wt({ group: g }, y[v]); + f.push(b); + } + } + r = new Ca(n, f); + } else { + var w = e; + r = new B6(n, w).collection(); + } + return r; + }, 'add'), + remove: o(function (e) { + if (!xo(e)) { + if (zt(e)) { + var r = e; + e = this.$(r); + } + } + return e.remove(); + }, 'remove') + }; + o(SKe, 'generateCubicBezier'); + (AKe = (function () { + function t(n) { + return -n.tension * n.x - n.friction * n.v; + } + o(t, 'springAccelerationForState'); + function e(n, i, a) { + var s = { + x: n.x + a.dx * i, + v: n.v + a.dv * i, + tension: n.tension, + friction: n.friction + }; + return { dx: s.v, dv: t(s) }; + } + o(e, 'springEvaluateStateWithDerivative'); + function r(n, i) { + var a = { dx: n.v, dv: t(n) }, + s = e(n, i * 0.5, a), + l = e(n, i * 0.5, s), + u = e(n, i, l), + h = (1 / 6) * (a.dx + 2 * (s.dx + l.dx) + u.dx), + f = (1 / 6) * (a.dv + 2 * (s.dv + l.dv) + u.dv); + return (n.x = n.x + h * i), (n.v = n.v + f * i), n; + } + return ( + o(r, 'springIntegrateState'), + o(function n(i, a, s) { + var l = { x: -1, v: 0, tension: null, friction: null }, + u = [0], + h = 0, + f = 1 / 1e4, + d = 16 / 1e3, + p, + m, + g; + for ( + i = parseFloat(i) || 500, + a = parseFloat(a) || 20, + s = s || null, + l.tension = i, + l.friction = a, + p = s !== null, + p ? ((h = n(i, a)), (m = (h / s) * d)) : (m = d); + (g = r(g || l, m)), u.push(1 + g.x), (h += 16), Math.abs(g.x) > f && Math.abs(g.v) > f; + + ); + return p + ? function (y) { + return u[(y * (u.length - 1)) | 0]; + } + : h; + }, 'springRK4Factory') + ); + })()), + (Ln = o(function (e, r, n, i) { + var a = SKe(e, r, n, i); + return function (s, l, u) { + return s + (l - s) * a(u); + }; + }, 'cubicBezier')), + (v6 = { + linear: o(function (e, r, n) { + return e + (r - e) * n; + }, 'linear'), + ease: Ln(0.25, 0.1, 0.25, 1), + 'ease-in': Ln(0.42, 0, 1, 1), + 'ease-out': Ln(0, 0, 0.58, 1), + 'ease-in-out': Ln(0.42, 0, 0.58, 1), + 'ease-in-sine': Ln(0.47, 0, 0.745, 0.715), + 'ease-out-sine': Ln(0.39, 0.575, 0.565, 1), + 'ease-in-out-sine': Ln(0.445, 0.05, 0.55, 0.95), + 'ease-in-quad': Ln(0.55, 0.085, 0.68, 0.53), + 'ease-out-quad': Ln(0.25, 0.46, 0.45, 0.94), + 'ease-in-out-quad': Ln(0.455, 0.03, 0.515, 0.955), + 'ease-in-cubic': Ln(0.55, 0.055, 0.675, 0.19), + 'ease-out-cubic': Ln(0.215, 0.61, 0.355, 1), + 'ease-in-out-cubic': Ln(0.645, 0.045, 0.355, 1), + 'ease-in-quart': Ln(0.895, 0.03, 0.685, 0.22), + 'ease-out-quart': Ln(0.165, 0.84, 0.44, 1), + 'ease-in-out-quart': Ln(0.77, 0, 0.175, 1), + 'ease-in-quint': Ln(0.755, 0.05, 0.855, 0.06), + 'ease-out-quint': Ln(0.23, 1, 0.32, 1), + 'ease-in-out-quint': Ln(0.86, 0, 0.07, 1), + 'ease-in-expo': Ln(0.95, 0.05, 0.795, 0.035), + 'ease-out-expo': Ln(0.19, 1, 0.22, 1), + 'ease-in-out-expo': Ln(1, 0, 0, 1), + 'ease-in-circ': Ln(0.6, 0.04, 0.98, 0.335), + 'ease-out-circ': Ln(0.075, 0.82, 0.165, 1), + 'ease-in-out-circ': Ln(0.785, 0.135, 0.15, 0.86), + spring: o(function (e, r, n) { + if (n === 0) return v6.linear; + var i = AKe(e, r, n); + return function (a, s, l) { + return a + (s - a) * i(l); + }; + }, 'spring'), + 'cubic-bezier': Ln + }); + o(Q0e, 'getEasedValue'); + o(Z0e, 'getValue'); + o(jg, 'ease'); + o(_Ke, 'step$1'); + o(Nx, 'valid'); + o(LKe, 'startAnimation'); + o(J0e, 'stepAll'); + (DKe = { + animate: en.animate(), + animation: en.animation(), + animated: en.animated(), + clearQueue: en.clearQueue(), + delay: en.delay(), + delayAnimation: en.delayAnimation(), + stop: en.stop(), + addToAnimationPool: o(function (e) { + var r = this; + r.styleEnabled() && r._private.aniEles.merge(e); + }, 'addToAnimationPool'), + stopAnimationLoop: o(function () { + this._private.animationsRunning = !1; + }, 'stopAnimationLoop'), + startAnimationLoop: o(function () { + var e = this; + if (((e._private.animationsRunning = !0), !e.styleEnabled())) return; + function r() { + e._private.animationsRunning && + E6( + o(function (a) { + J0e(a, e), r(); + }, 'animationStep') + ); + } + o(r, 'headlessStep'); + var n = e.renderer(); + n && n.beforeRender + ? n.beforeRender( + o(function (a, s) { + J0e(s, e); + }, 'rendererAnimationStep'), + n.beforeRenderPriorities.animations + ) + : r(); + }, 'startAnimationLoop') + }), + (RKe = { + qualifierCompare: o(function (e, r) { + return e == null || r == null ? e == null && r == null : e.sameText(r); + }, 'qualifierCompare'), + eventMatches: o(function (e, r, n) { + var i = r.qualifier; + return i != null ? e !== n.target && Zx(n.target) && i.matches(n.target) : !0; + }, 'eventMatches'), + addEventFields: o(function (e, r) { + (r.cy = e), (r.target = e); + }, 'addEventFields'), + callbackContext: o(function (e, r, n) { + return r.qualifier != null ? n.target : e; + }, 'callbackContext') + }), + (h6 = o(function (e) { + return zt(e) ? new _f(e) : e; + }, 'argSelector')), + (Sme = { + createEmitter: o(function () { + var e = this._private; + return e.emitter || (e.emitter = new H6(RKe, this)), this; + }, 'createEmitter'), + emitter: o(function () { + return this._private.emitter; + }, 'emitter'), + on: o(function (e, r, n) { + return this.emitter().on(e, h6(r), n), this; + }, 'on'), + removeListener: o(function (e, r, n) { + return this.emitter().removeListener(e, h6(r), n), this; + }, 'removeListener'), + removeAllListeners: o(function () { + return this.emitter().removeAllListeners(), this; + }, 'removeAllListeners'), + one: o(function (e, r, n) { + return this.emitter().one(e, h6(r), n), this; + }, 'one'), + once: o(function (e, r, n) { + return this.emitter().one(e, h6(r), n), this; + }, 'once'), + emit: o(function (e, r) { + return this.emitter().emit(e, r), this; + }, 'emit'), + emitAndNotify: o(function (e, r) { + return this.emit(e), this.notify(e, r), this; + }, 'emitAndNotify') + }); + en.eventAliasesOn(Sme); + FP = { + png: o(function (e) { + var r = this._private.renderer; + return (e = e || {}), r.png(e); + }, 'png'), + jpg: o(function (e) { + var r = this._private.renderer; + return (e = e || {}), (e.bg = e.bg || '#fff'), r.jpg(e); + }, 'jpg') + }; + FP.jpeg = FP.jpg; + x6 = { + layout: o(function (e) { + var r = this; + if (e == null) { + oi('Layout options must be specified to make a layout'); + return; + } + if (e.name == null) { + oi('A `name` must be specified to make a layout'); + return; + } + var n = e.name, + i = r.extension('layout', n); + if (i == null) { + oi('No such layout `' + n + '` found. Did you forget to import it and `cytoscape.use()` it?'); + return; + } + var a; + zt(e.eles) ? (a = r.$(e.eles)) : (a = e.eles != null ? e.eles : r.$()); + var s = new i(Wt({}, e, { cy: r, eles: a })); + return s; + }, 'layout') + }; + x6.createLayout = x6.makeLayout = x6.layout; + (NKe = { + notify: o(function (e, r) { + var n = this._private; + if (this.batching()) { + n.batchNotifications = n.batchNotifications || {}; + var i = (n.batchNotifications[e] = n.batchNotifications[e] || this.collection()); + r != null && i.merge(r); + return; + } + if (n.notificationsEnabled) { + var a = this.renderer(); + this.destroyed() || !a || a.notify(e, r); + } + }, 'notify'), + notifications: o(function (e) { + var r = this._private; + return e === void 0 ? r.notificationsEnabled : ((r.notificationsEnabled = !!e), this); + }, 'notifications'), + noNotifications: o(function (e) { + this.notifications(!1), e(), this.notifications(!0); + }, 'noNotifications'), + batching: o(function () { + return this._private.batchCount > 0; + }, 'batching'), + startBatch: o(function () { + var e = this._private; + return ( + e.batchCount == null && (e.batchCount = 0), + e.batchCount === 0 && ((e.batchStyleEles = this.collection()), (e.batchNotifications = {})), + e.batchCount++, + this + ); + }, 'startBatch'), + endBatch: o(function () { + var e = this._private; + if (e.batchCount === 0) return this; + if ((e.batchCount--, e.batchCount === 0)) { + e.batchStyleEles.updateStyle(); + var r = this.renderer(); + Object.keys(e.batchNotifications).forEach(function (n) { + var i = e.batchNotifications[n]; + i.empty() ? r.notify(n) : r.notify(n, i); + }); + } + return this; + }, 'endBatch'), + batch: o(function (e) { + return this.startBatch(), e(), this.endBatch(), this; + }, 'batch'), + batchData: o(function (e) { + var r = this; + return this.batch(function () { + for (var n = Object.keys(e), i = 0; i < n.length; i++) { + var a = n[i], + s = e[a], + l = r.getElementById(a); + l.data(s); + } + }); + }, 'batchData') + }), + (MKe = Sa({ + hideEdgesOnViewport: !1, + textureOnViewport: !1, + motionBlur: !1, + motionBlurOpacity: 0.05, + pixelRatio: void 0, + desktopTapThreshold: 4, + touchTapThreshold: 8, + wheelSensitivity: 1, + debug: !1, + showFps: !1 + })), + (zP = { + renderTo: o(function (e, r, n, i) { + var a = this._private.renderer; + return a.renderTo(e, r, n, i), this; + }, 'renderTo'), + renderer: o(function () { + return this._private.renderer; + }, 'renderer'), + forceRender: o(function () { + return this.notify('draw'), this; + }, 'forceRender'), + resize: o(function () { + return this.invalidateSize(), this.emitAndNotify('resize'), this; + }, 'resize'), + initRenderer: o(function (e) { + var r = this, + n = r.extension('renderer', e.name); + if (n == null) { + oi( + 'Can not initialise: No such renderer `'.concat( + e.name, + '` found. Did you forget to import it and `cytoscape.use()` it?' + ) + ); + return; + } + e.wheelSensitivity !== void 0 && + tn( + '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 i = MKe(e); + (i.cy = r), (r._private.renderer = new n(i)), this.notify('init'); + }, 'initRenderer'), + destroyRenderer: o(function () { + var e = this; + e.notify('destroy'); + var r = e.container(); + if (r) for (r._cyreg = null; r.childNodes.length > 0; ) r.removeChild(r.childNodes[0]); + (e._private.renderer = null), + e.mutableElements().forEach(function (n) { + var i = n._private; + (i.rscratch = {}), + (i.rstyle = {}), + (i.animation.current = []), + (i.animation.queue = []); + }); + }, 'destroyRenderer'), + onRender: o(function (e) { + return this.on('render', e); + }, 'onRender'), + offRender: o(function (e) { + return this.off('render', e); + }, 'offRender') + }); + zP.invalidateDimensions = zP.resize; + b6 = { + collection: o(function (e, r) { + return zt(e) + ? this.$(e) + : xo(e) + ? e.collection() + : vn(e) + ? (r || (r = {}), new Ca(this, e, r.unique, r.removed)) + : new Ca(this); + }, 'collection'), + nodes: o(function (e) { + var r = this.$(function (n) { + return n.isNode(); + }); + return e ? r.filter(e) : r; + }, 'nodes'), + edges: o(function (e) { + var r = this.$(function (n) { + return n.isEdge(); + }); + return e ? r.filter(e) : r; + }, 'edges'), + $: o(function (e) { + var r = this._private.elements; + return e ? r.filter(e) : r.spawnSelf(); + }, '$'), + mutableElements: o(function () { + return this._private.elements; + }, 'mutableElements') + }; + b6.elements = b6.filter = b6.$; + (Ga = {}), (Fx = 't'), (IKe = 'f'); + Ga.apply = function (t) { + for (var e = this, r = e._private, n = r.cy, i = n.collection(), a = 0; a < t.length; a++) { + var s = t[a], + l = e.getContextMeta(s); + if (!l.empty) { + var u = e.getContextStyle(l), + h = e.applyContextStyle(l, u, s); + s._private.appliedInitStyle + ? e.updateTransitions(s, h.diffProps) + : (s._private.appliedInitStyle = !0); + var f = e.updateStyleHints(s); + f && i.push(s); + } + } + return i; + }; + Ga.getPropertiesDiff = function (t, e) { + var r = this, + n = (r._private.propDiffs = r._private.propDiffs || {}), + i = t + '-' + e, + a = n[i]; + if (a) return a; + for (var s = [], l = {}, u = 0; u < r.length; u++) { + var h = r[u], + f = t[u] === Fx, + d = e[u] === Fx, + p = f !== d, + m = h.mappedProperties.length > 0; + if (p || (d && m)) { + var g = void 0; + (p && m) || p ? (g = h.properties) : m && (g = h.mappedProperties); + for (var y = 0; y < g.length; y++) { + for (var v = g[y], x = v.name, b = !1, w = u + 1; w < r.length; w++) { + var S = r[w], + T = e[w] === Fx; + if (T && ((b = S.properties[v.name] != null), b)) break; + } + !l[x] && !b && ((l[x] = !0), s.push(x)); + } + } + } + return (n[i] = s), s; + }; + Ga.getContextMeta = function (t) { + for (var e = this, r = '', n, i = t._private.styleCxtKey || '', a = 0; a < e.length; a++) { + var s = e[a], + l = s.selector && s.selector.matches(t); + l ? (r += Fx) : (r += IKe); + } + return ( + (n = e.getPropertiesDiff(i, r)), + (t._private.styleCxtKey = r), + { key: r, diffPropNames: n, empty: n.length === 0 } + ); + }; + Ga.getContextStyle = function (t) { + var e = t.key, + r = this, + n = (this._private.contextStyles = this._private.contextStyles || {}); + if (n[e]) return n[e]; + for (var i = { _private: { key: e } }, a = 0; a < r.length; a++) { + var s = r[a], + l = e[a] === Fx; + if (l) + for (var u = 0; u < s.properties.length; u++) { + var h = s.properties[u]; + i[h.name] = h; + } + } + return (n[e] = i), i; + }; + Ga.applyContextStyle = function (t, e, r) { + for (var n = this, i = t.diffPropNames, a = {}, s = n.types, l = 0; l < i.length; l++) { + var u = i[l], + h = e[u], + f = r.pstyle(u); + if (!h) + if (f) f.bypass ? (h = { name: u, deleteBypassed: !0 }) : (h = { name: u, delete: !0 }); + else continue; + if (f !== h) { + if (h.mapped === s.fn && f != null && f.mapping != null && f.mapping.value === h.value) { + var d = f.mapping, + p = (d.fnValue = h.value(r)); + if (p === d.prevFnValue) continue; + } + var m = (a[u] = { prev: f }); + n.applyParsedProperty(r, h), + (m.next = r.pstyle(u)), + m.next && m.next.bypass && (m.next = m.next.bypassed); + } + } + return { diffProps: a }; + }; + Ga.updateStyleHints = function (t) { + var e = t._private, + r = this, + n = r.propertyGroupNames, + i = r.propertyGroupKeys, + a = o(function (K, se, ce) { + return r.getPropertiesHash(K, se, ce); + }, 'propHash'), + s = e.styleKey; + if (t.removed()) return !1; + var l = e.group === 'nodes', + u = t._private.style; + n = Object.keys(u); + for (var h = 0; h < i.length; h++) { + var f = i[h]; + e.styleKeys[f] = [Zg, Ix]; + } + for ( + var d = o(function (K, se) { + return (e.styleKeys[se][0] = $x(K, e.styleKeys[se][0])); + }, 'updateGrKey1'), + p = o(function (K, se) { + return (e.styleKeys[se][1] = Vx(K, e.styleKeys[se][1])); + }, 'updateGrKey2'), + m = o(function (K, se) { + d(K, se), p(K, se); + }, 'updateGrKey'), + g = o(function (K, se) { + for (var ce = 0; ce < K.length; ce++) { + var ue = K.charCodeAt(ce); + d(ue, se), p(ue, se); + } + }, 'updateGrKeyWStr'), + y = 2e9, + v = o(function (K) { + return -128 < K && K < 128 && Math.floor(K) !== K ? y - ((K * 1024) | 0) : K; + }, 'cleanNum'), + x = 0; + x < n.length; + x++ + ) { + var b = n[x], + w = u[b]; + if (w != null) { + var S = this.properties[b], + T = S.type, + E = S.groupKey, + _ = void 0; + S.hashOverride != null ? (_ = S.hashOverride(t, w)) : w.pfValue != null && (_ = w.pfValue); + var A = S.enums == null ? w.value : null, + L = _ != null, + M = A != null, + N = L || M, + k = w.units; + if (T.number && N && !T.multiple) { + var I = L ? _ : A; + m(v(I), E), !L && k != null && g(k, E); + } else g(w.strValue, E); + } + } + for (var C = [Zg, Ix], O = 0; O < i.length; O++) { + var D = i[O], + P = e.styleKeys[D]; + (C[0] = $x(P[0], C[0])), (C[1] = Vx(P[1], C[1])); + } + e.styleKey = zYe(C[0], C[1]); + var F = e.styleKeys; + e.labelDimsKey = bf(F.labelDimensions); + var B = a(t, ['label'], F.labelDimensions); + if (((e.labelKey = bf(B)), (e.labelStyleKey = bf(r6(F.commonLabel, B))), !l)) { + var $ = a(t, ['source-label'], F.labelDimensions); + (e.sourceLabelKey = bf($)), (e.sourceLabelStyleKey = bf(r6(F.commonLabel, $))); + var z = a(t, ['target-label'], F.labelDimensions); + (e.targetLabelKey = bf(z)), (e.targetLabelStyleKey = bf(r6(F.commonLabel, z))); + } + if (l) { + var Y = e.styleKeys, + Q = Y.nodeBody, + X = Y.nodeBorder, + ie = Y.nodeOutline, + j = Y.backgroundImage, + J = Y.compound, + Z = Y.pie, + H = [Q, X, ie, j, J, Z] + .filter(function (q) { + return q != null; + }) + .reduce(r6, [Zg, Ix]); + (e.nodeKey = bf(H)), (e.hasPie = Z != null && Z[0] !== Zg && Z[1] !== Ix); + } + return s !== e.styleKey; + }; + Ga.clearStyleHints = function (t) { + var e = t._private; + (e.styleCxtKey = ''), + (e.styleKeys = {}), + (e.styleKey = null), + (e.labelKey = null), + (e.labelStyleKey = null), + (e.sourceLabelKey = null), + (e.sourceLabelStyleKey = null), + (e.targetLabelKey = null), + (e.targetLabelStyleKey = null), + (e.nodeKey = null), + (e.hasPie = null); + }; + Ga.applyParsedProperty = function (t, e) { + var r = this, + n = e, + i = t._private.style, + a, + s = r.types, + l = r.properties[n.name].type, + u = n.bypass, + h = i[n.name], + f = h && h.bypass, + d = t._private, + p = 'mapping', + m = o(function (Q) { + return Q == null ? null : Q.pfValue != null ? Q.pfValue : Q.value; + }, 'getVal'), + g = o(function () { + var Q = m(h), + X = m(n); + r.checkTriggers(t, n.name, Q, X); + }, 'checkTriggers'); + if ( + (e.name === 'curve-style' && + t.isEdge() && + ((e.value !== 'bezier' && t.isLoop()) || + (e.value === 'haystack' && (t.source().isParent() || t.target().isParent()))) && + (n = e = this.parse(e.name, 'bezier', u)), + n.delete) + ) + return (i[n.name] = void 0), g(), !0; + if (n.deleteBypassed) return h ? (h.bypass ? ((h.bypassed = void 0), g(), !0) : !1) : (g(), !0); + if (n.deleteBypass) return h ? (h.bypass ? ((i[n.name] = h.bypassed), g(), !0) : !1) : (g(), !0); + var y = o(function () { + tn( + 'Do not assign mappings to elements without corresponding data (i.e. ele `' + + t.id() + + '` has no mapping for property `' + + n.name + + '` with data field `' + + n.field + + '`); try a `[' + + n.field + + ']` selector to limit scope to elements with `' + + n.field + + '` defined' + ); + }, 'printMappingErr'); + switch (n.mapped) { + case s.mapData: { + for (var v = n.field.split('.'), x = d.data, b = 0; b < v.length && x; b++) { + var w = v[b]; + x = x[w]; + } + if (x == null) return y(), !1; + var S; + if (ft(x)) { + var T = n.fieldMax - n.fieldMin; + T === 0 ? (S = 0) : (S = (x - n.fieldMin) / T); + } else + return ( + tn( + 'Do not use continuous mappers without specifying numeric data (i.e. `' + + n.field + + ': ' + + x + + '` for `' + + t.id() + + '` is non-numeric)' + ), + !1 + ); + if ((S < 0 ? (S = 0) : S > 1 && (S = 1), l.color)) { + var E = n.valueMin[0], + _ = n.valueMax[0], + A = n.valueMin[1], + L = n.valueMax[1], + M = n.valueMin[2], + N = n.valueMax[2], + k = n.valueMin[3] == null ? 1 : n.valueMin[3], + I = n.valueMax[3] == null ? 1 : n.valueMax[3], + C = [ + Math.round(E + (_ - E) * S), + Math.round(A + (L - A) * S), + Math.round(M + (N - M) * S), + Math.round(k + (I - k) * S) + ]; + a = { + bypass: n.bypass, + name: n.name, + value: C, + strValue: 'rgb(' + C[0] + ', ' + C[1] + ', ' + C[2] + ')' + }; + } else if (l.number) { + var O = n.valueMin + (n.valueMax - n.valueMin) * S; + a = this.parse(n.name, O, n.bypass, p); + } else return !1; + if (!a) return y(), !1; + (a.mapping = n), (n = a); + break; + } + case s.data: { + for (var D = n.field.split('.'), P = d.data, F = 0; F < D.length && P; F++) { + var B = D[F]; + P = P[B]; + } + if ((P != null && (a = this.parse(n.name, P, n.bypass, p)), !a)) return y(), !1; + (a.mapping = n), (n = a); + break; + } + case s.fn: { + var $ = n.value, + z = n.fnValue != null ? n.fnValue : $(t); + if (((n.prevFnValue = z), z == null)) + return ( + tn( + 'Custom function mappers may not return null (i.e. `' + + n.name + + '` for ele `' + + t.id() + + '` is null)' + ), + !1 + ); + if (((a = this.parse(n.name, z, n.bypass, p)), !a)) + return ( + tn( + 'Custom function mappers may not return invalid values for the property type (i.e. `' + + n.name + + '` for ele `' + + t.id() + + '` is invalid)' + ), + !1 + ); + (a.mapping = $c(n)), (n = a); + break; + } + case void 0: + break; + default: + return !1; + } + return ( + u + ? (f ? (n.bypassed = h.bypassed) : (n.bypassed = h), (i[n.name] = n)) + : f + ? (h.bypassed = n) + : (i[n.name] = n), + g(), + !0 + ); + }; + Ga.cleanElements = function (t, e) { + for (var r = 0; r < t.length; r++) { + var n = t[r]; + if ((this.clearStyleHints(n), n.dirtyCompoundBoundsCache(), n.dirtyBoundingBoxCache(), !e)) + n._private.style = {}; + else + for (var i = n._private.style, a = Object.keys(i), s = 0; s < a.length; s++) { + var l = a[s], + u = i[l]; + u != null && (u.bypass ? (u.bypassed = null) : (i[l] = null)); + } + } + }; + Ga.update = function () { + var t = this._private.cy, + e = t.mutableElements(); + e.updateStyle(); + }; + Ga.updateTransitions = function (t, e) { + var r = this, + n = t._private, + i = t.pstyle('transition-property').value, + a = t.pstyle('transition-duration').pfValue, + s = t.pstyle('transition-delay').pfValue; + if (i.length > 0 && a > 0) { + for (var l = {}, u = !1, h = 0; h < i.length; h++) { + var f = i[h], + d = t.pstyle(f), + p = e[f]; + if (p) { + var m = p.prev, + g = m, + y = p.next != null ? p.next : d, + v = !1, + x = void 0, + b = 1e-6; + g && + (ft(g.pfValue) && ft(y.pfValue) + ? ((v = y.pfValue - g.pfValue), (x = g.pfValue + b * v)) + : ft(g.value) && ft(y.value) + ? ((v = y.value - g.value), (x = g.value + b * v)) + : vn(g.value) && + vn(y.value) && + ((v = + g.value[0] !== y.value[0] || + g.value[1] !== y.value[1] || + g.value[2] !== y.value[2]), + (x = g.strValue)), + v && ((l[f] = y.strValue), this.applyBypass(t, f, x), (u = !0))); + } + } + if (!u) return; + (n.transitioning = !0), + new u1(function (w) { + s > 0 ? t.delayAnimation(s).play().promise().then(w) : w(); + }) + .then(function () { + return t + .animation({ + style: l, + duration: a, + easing: t.pstyle('transition-timing-function').value, + queue: !1 + }) + .play() + .promise(); + }) + .then(function () { + r.removeBypasses(t, i), t.emitAndNotify('style'), (n.transitioning = !1); + }); + } else n.transitioning && (this.removeBypasses(t, i), t.emitAndNotify('style'), (n.transitioning = !1)); + }; + Ga.checkTrigger = function (t, e, r, n, i, a) { + var s = this.properties[e], + l = i(s); + l != null && l(r, n) && a(s); + }; + Ga.checkZOrderTrigger = function (t, e, r, n) { + var i = this; + this.checkTrigger( + t, + e, + r, + n, + function (a) { + return a.triggersZOrder; + }, + function () { + i._private.cy.notify('zorder', t); + } + ); + }; + Ga.checkBoundsTrigger = function (t, e, r, n) { + this.checkTrigger( + t, + e, + r, + n, + function (i) { + return i.triggersBounds; + }, + function (i) { + t.dirtyCompoundBoundsCache(), + t.dirtyBoundingBoxCache(), + i.triggersBoundsOfParallelBeziers && + e === 'curve-style' && + (r === 'bezier' || n === 'bezier') && + t.parallelEdges().forEach(function (a) { + a.isBundledBezier() && a.dirtyBoundingBoxCache(); + }), + i.triggersBoundsOfConnectedEdges && + e === 'display' && + (r === 'none' || n === 'none') && + t.connectedEdges().forEach(function (a) { + a.dirtyBoundingBoxCache(); + }); + } + ); + }; + Ga.checkTriggers = function (t, e, r, n) { + t.dirtyStyleCache(), this.checkZOrderTrigger(t, e, r, n), this.checkBoundsTrigger(t, e, r, n); + }; + rb = {}; + rb.applyBypass = function (t, e, r, n) { + var i = this, + a = [], + s = !0; + if (e === '*' || e === '**') { + if (r !== void 0) + for (var l = 0; l < i.properties.length; l++) { + var u = i.properties[l], + h = u.name, + f = this.parse(h, r, !0); + f && a.push(f); + } + } else if (zt(e)) { + var d = this.parse(e, r, !0); + d && a.push(d); + } else if (Mr(e)) { + var p = e; + n = r; + for (var m = Object.keys(p), g = 0; g < m.length; g++) { + var y = m[g], + v = p[y]; + if ((v === void 0 && (v = p[I6(y)]), v !== void 0)) { + var x = this.parse(y, v, !0); + x && a.push(x); + } + } + } else return !1; + if (a.length === 0) return !1; + for (var b = !1, w = 0; w < t.length; w++) { + for (var S = t[w], T = {}, E = void 0, _ = 0; _ < a.length; _++) { + var A = a[_]; + if (n) { + var L = S.pstyle(A.name); + E = T[A.name] = { prev: L }; + } + (b = this.applyParsedProperty(S, $c(A)) || b), n && (E.next = S.pstyle(A.name)); + } + b && this.updateStyleHints(S), n && this.updateTransitions(S, T, s); + } + return b; + }; + rb.overrideBypass = function (t, e, r) { + e = QP(e); + for (var n = 0; n < t.length; n++) { + var i = t[n], + a = i._private.style[e], + s = this.properties[e].type, + l = s.color, + u = s.mutiple, + h = a ? (a.pfValue != null ? a.pfValue : a.value) : null; + !a || !a.bypass + ? this.applyBypass(i, e, r) + : ((a.value = r), + a.pfValue != null && (a.pfValue = r), + l + ? (a.strValue = 'rgb(' + r.join(',') + ')') + : u + ? (a.strValue = r.join(' ')) + : (a.strValue = '' + r), + this.updateStyleHints(i)), + this.checkTriggers(i, e, h, r); + } + }; + rb.removeAllBypasses = function (t, e) { + return this.removeBypasses(t, this.propertyNames, e); + }; + rb.removeBypasses = function (t, e, r) { + for (var n = !0, i = 0; i < t.length; i++) { + for (var a = t[i], s = {}, l = 0; l < e.length; l++) { + var u = e[l], + h = this.properties[u], + f = a.pstyle(h.name); + if (!(!f || !f.bypass)) { + var d = '', + p = this.parse(u, d, !0), + m = (s[h.name] = { prev: f }); + this.applyParsedProperty(a, p), (m.next = a.pstyle(h.name)); + } + } + this.updateStyleHints(a), r && this.updateTransitions(a, s, n); + } + }; + hB = {}; + hB.getEmSizeInPixels = function () { + var t = this.containerCss('font-size'); + return t != null ? parseFloat(t) : 1; + }; + hB.containerCss = function (t) { + var e = this._private.cy, + r = e.container(), + n = e.window(); + if (n && r && n.getComputedStyle) return n.getComputedStyle(r).getPropertyValue(t); + }; + Uc = {}; + Uc.getRenderedStyle = function (t, e) { + return e ? this.getStylePropertyValue(t, e, !0) : this.getRawStyle(t, !0); + }; + Uc.getRawStyle = function (t, e) { + var r = this; + if (((t = t[0]), t)) { + for (var n = {}, i = 0; i < r.properties.length; i++) { + var a = r.properties[i], + s = r.getStylePropertyValue(t, a.name, e); + s != null && ((n[a.name] = s), (n[I6(a.name)] = s)); + } + return n; + } + }; + Uc.getIndexedStyle = function (t, e, r, n) { + var i = t.pstyle(e)[r][n]; + return i ?? t.cy().style().getDefaultProperty(e)[r][0]; + }; + Uc.getStylePropertyValue = function (t, e, r) { + var n = this; + if (((t = t[0]), t)) { + var i = n.properties[e]; + i.alias && (i = i.pointsTo); + var a = i.type, + s = t.pstyle(i.name); + if (s) { + var l = s.value, + u = s.units, + h = s.strValue; + if (r && a.number && l != null && ft(l)) { + var f = t.cy().zoom(), + d = o(function (v) { + return v * f; + }, 'getRenderedValue'), + p = o(function (v, x) { + return d(v) + x; + }, 'getValueStringWithUnits'), + m = vn(l), + g = m + ? u.every(function (y) { + return y != null; + }) + : u != null; + return g + ? m + ? l + .map(function (y, v) { + return p(y, u[v]); + }) + .join(' ') + : p(l, u) + : m + ? l + .map(function (y) { + return zt(y) ? y : '' + d(y); + }) + .join(' ') + : '' + d(l); + } else if (h != null) return h; + } + return null; + } + }; + Uc.getAnimationStartStyle = function (t, e) { + for (var r = {}, n = 0; n < e.length; n++) { + var i = e[n], + a = i.name, + s = t.pstyle(a); + s !== void 0 && (Mr(s) ? (s = this.parse(a, s.strValue)) : (s = this.parse(a, s))), s && (r[a] = s); + } + return r; + }; + Uc.getPropsList = function (t) { + var e = this, + r = [], + n = t, + i = e.properties; + if (n) + for (var a = Object.keys(n), s = 0; s < a.length; s++) { + var l = a[s], + u = n[l], + h = i[l] || i[QP(l)], + f = this.parse(h.name, u); + f && r.push(f); + } + return r; + }; + Uc.getNonDefaultPropertiesHash = function (t, e, r) { + var n = r.slice(), + i, + a, + s, + l, + u, + h; + for (u = 0; u < e.length; u++) + if (((i = e[u]), (a = t.pstyle(i, !1)), a != null)) + if (a.pfValue != null) (n[0] = $x(l, n[0])), (n[1] = Vx(l, n[1])); + else + for (s = a.strValue, h = 0; h < s.length; h++) + (l = s.charCodeAt(h)), (n[0] = $x(l, n[0])), (n[1] = Vx(l, n[1])); + return n; + }; + Uc.getPropertiesHash = Uc.getNonDefaultPropertiesHash; + q6 = {}; + q6.appendFromJson = function (t) { + for (var e = this, r = 0; r < t.length; r++) { + var n = t[r], + i = n.selector, + a = n.style || n.css, + s = Object.keys(a); + e.selector(i); + for (var l = 0; l < s.length; l++) { + var u = s[l], + h = a[u]; + e.css(u, h); + } + } + return e; + }; + q6.fromJson = function (t) { + var e = this; + return e.resetToDefault(), e.appendFromJson(t), e; + }; + q6.json = function () { + for (var t = [], e = this.defaultLength; e < this.length; e++) { + for (var r = this[e], n = r.selector, i = r.properties, a = {}, s = 0; s < i.length; s++) { + var l = i[s]; + a[l.name] = l.strValue; + } + t.push({ selector: n ? n.toString() : 'core', style: a }); + } + return t; + }; + fB = {}; + fB.appendFromString = function (t) { + var e = this, + r = this, + n = '' + t, + i, + a, + s; + n = n.replace(/[/][*](\s|.)+?[*][/]/g, ''); + function l() { + n.length > i.length ? (n = n.substr(i.length)) : (n = ''); + } + o(l, 'removeSelAndBlockFromRemaining'); + function u() { + a.length > s.length ? (a = a.substr(s.length)) : (a = ''); + } + for (o(u, 'removePropAndValFromRem'); ; ) { + var h = n.match(/^\s*$/); + if (h) break; + var f = n.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/); + if (!f) { + tn( + 'Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: ' + + n + ); + break; + } + i = f[0]; + var d = f[1]; + if (d !== 'core') { + var p = new _f(d); + if (p.invalid) { + tn('Skipping parsing of block: Invalid selector found in string stylesheet: ' + d), l(); + continue; + } + } + var m = f[2], + g = !1; + a = m; + for (var y = []; ; ) { + var v = a.match(/^\s*$/); + if (v) break; + var x = a.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/); + if (!x) { + tn( + 'Skipping parsing of block: Invalid formatting of style property and value definitions found in:' + + m + ), + (g = !0); + break; + } + s = x[0]; + var b = x[1], + w = x[2], + S = e.properties[b]; + if (!S) { + tn('Skipping property: Invalid property name in: ' + s), u(); + continue; + } + var T = r.parse(b, w); + if (!T) { + tn('Skipping property: Invalid property definition in: ' + s), u(); + continue; + } + y.push({ name: b, val: w }), u(); + } + if (g) { + l(); + break; + } + r.selector(d); + for (var E = 0; E < y.length; E++) { + var _ = y[E]; + r.css(_.name, _.val); + } + l(); + } + return r; + }; + fB.fromString = function (t) { + var e = this; + return e.resetToDefault(), e.appendFromString(t), e; + }; + ka = {}; + (function () { + var t = Ui, + e = VHe, + r = HHe, + n = YHe, + i = WHe, + a = o(function (H) { + return '^' + H + '\\s*\\(\\s*([\\w\\.]+)\\s*\\)$'; + }, 'data'), + s = o(function (H) { + var q = t + '|\\w+|' + e + '|' + r + '|' + n + '|' + i; + return ( + '^' + + H + + '\\s*\\(([\\w\\.]+)\\s*\\,\\s*(' + + t + + ')\\s*\\,\\s*(' + + t + + ')\\s*,\\s*(' + + q + + ')\\s*\\,\\s*(' + + q + + ')\\)$' + ); + }, 'mapData'), + l = [`^url\\s*\\(\\s*['"]?(.+?)['"]?\\s*\\)$`, '^(none)$', '^(.+)$']; + ka.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 }, + bidirectionalSizeMaybePercent: { number: !0, allowPercent: !0 }, + bidirectionalSizes: { number: !0, multiple: !0 }, + 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'] }, + linePosition: { enums: ['center', 'inside', 'outside'] }, + lineJoin: { enums: ['round', 'bevel', 'miter'] }, + borderStyle: { enums: ['solid', 'dotted', 'dashed', 'double'] }, + curveStyle: { + enums: [ + 'bezier', + 'unbundled-bezier', + 'haystack', + 'segments', + 'straight', + 'straight-triangle', + 'taxi', + 'round-segments', + 'round-taxi' + ] + }, + radiusType: { + enums: ['arc-radius', 'influence-radius'], + multiple: !0 + }, + 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'] + }, + cornerRadius: { + number: !0, + min: 0, + units: 'px|em', + implicitUnits: 'px', + enums: ['auto'] + }, + 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'] }, + arrowWidth: { + number: !0, + units: '%|px|em', + implicitUnits: 'px', + enums: ['match-line'] + }, + 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: a('data') }, + layoutData: { mapping: !0, regex: a('layoutData') }, + scratch: { mapping: !0, regex: a('scratch') }, + mapData: { mapping: !0, regex: s('mapData') }, + mapLayoutData: { mapping: !0, regex: s('mapLayoutData') }, + mapScratch: { mapping: !0, regex: s('mapScratch') }, + fn: { mapping: !0, fn: !0 }, + url: { regexes: l, singleRegexMatchValue: !0 }, + urls: { regexes: l, 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: o(function (H, q) { + switch (H.length) { + case 2: + return q[0] !== 'deg' && q[0] !== 'rad' && q[1] !== 'deg' && q[1] !== 'rad'; + case 1: + return zt(H[0]) || q[0] === 'deg' || q[0] === 'rad'; + default: + return !1; + } + }, 'validate') + }, + easing: { + regexes: [ + '^(spring)\\s*\\(\\s*(' + t + ')\\s*,\\s*(' + t + ')\\s*\\)$', + '^(cubic-bezier)\\s*\\(\\s*(' + + t + + ')\\s*,\\s*(' + + t + + ')\\s*,\\s*(' + + t + + ')\\s*,\\s*(' + + t + + ')\\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' + ] + }, + boundsExpansion: { + number: !0, + multiple: !0, + min: 0, + validate: o(function (H) { + var q = H.length; + return q === 1 || q === 2 || q === 4; + }, 'validate') + } + }; + var u = { + zeroNonZero: o(function (H, q) { + return ((H == null || q == null) && H !== q) || (H == 0 && q != 0) ? !0 : H != 0 && q == 0; + }, 'zeroNonZero'), + any: o(function (H, q) { + return H != q; + }, 'any'), + emptyNonEmpty: o(function (H, q) { + var K = Sf(H), + se = Sf(q); + return (K && !se) || (!K && se); + }, 'emptyNonEmpty') + }, + h = ka.types, + f = [ + { + name: 'label', + type: h.text, + triggersBounds: u.any, + triggersZOrder: u.emptyNonEmpty + }, + { + name: 'text-rotation', + type: h.textRotation, + triggersBounds: u.any + }, + { + name: 'text-margin-x', + type: h.bidirectionalSize, + triggersBounds: u.any + }, + { + name: 'text-margin-y', + type: h.bidirectionalSize, + triggersBounds: u.any + } + ], + d = [ + { name: 'source-label', type: h.text, triggersBounds: u.any }, + { + name: 'source-text-rotation', + type: h.textRotation, + triggersBounds: u.any + }, + { + name: 'source-text-margin-x', + type: h.bidirectionalSize, + triggersBounds: u.any + }, + { + name: 'source-text-margin-y', + type: h.bidirectionalSize, + triggersBounds: u.any + }, + { name: 'source-text-offset', type: h.size, triggersBounds: u.any } + ], + p = [ + { name: 'target-label', type: h.text, triggersBounds: u.any }, + { + name: 'target-text-rotation', + type: h.textRotation, + triggersBounds: u.any + }, + { + name: 'target-text-margin-x', + type: h.bidirectionalSize, + triggersBounds: u.any + }, + { + name: 'target-text-margin-y', + type: h.bidirectionalSize, + triggersBounds: u.any + }, + { name: 'target-text-offset', type: h.size, triggersBounds: u.any } + ], + m = [ + { name: 'font-family', type: h.fontFamily, triggersBounds: u.any }, + { name: 'font-style', type: h.fontStyle, triggersBounds: u.any }, + { name: 'font-weight', type: h.fontWeight, triggersBounds: u.any }, + { name: 'font-size', type: h.size, triggersBounds: u.any }, + { + name: 'text-transform', + type: h.textTransform, + triggersBounds: u.any + }, + { name: 'text-wrap', type: h.textWrap, triggersBounds: u.any }, + { + name: 'text-overflow-wrap', + type: h.textOverflowWrap, + triggersBounds: u.any + }, + { name: 'text-max-width', type: h.size, triggersBounds: u.any }, + { name: 'text-outline-width', type: h.size, triggersBounds: u.any }, + { + name: 'line-height', + type: h.positiveNumber, + triggersBounds: u.any + } + ], + g = [ + { name: 'text-valign', type: h.valign, triggersBounds: u.any }, + { name: 'text-halign', type: h.halign, triggersBounds: u.any }, + { name: 'color', type: h.color }, + { name: 'text-outline-color', type: h.color }, + { name: 'text-outline-opacity', type: h.zeroOneNumber }, + { name: 'text-background-color', type: h.color }, + { name: 'text-background-opacity', type: h.zeroOneNumber }, + { + name: 'text-background-padding', + type: h.size, + triggersBounds: u.any + }, + { name: 'text-border-opacity', type: h.zeroOneNumber }, + { name: 'text-border-color', type: h.color }, + { name: 'text-border-width', type: h.size, triggersBounds: u.any }, + { + name: 'text-border-style', + type: h.borderStyle, + triggersBounds: u.any + }, + { + name: 'text-background-shape', + type: h.textBackgroundShape, + triggersBounds: u.any + }, + { name: 'text-justification', type: h.justification } + ], + y = [ + { name: 'events', type: h.bool, triggersZOrder: u.any }, + { name: 'text-events', type: h.bool, triggersZOrder: u.any } + ], + v = [ + { + name: 'display', + type: h.display, + triggersZOrder: u.any, + triggersBounds: u.any, + triggersBoundsOfConnectedEdges: !0 + }, + { name: 'visibility', type: h.visibility, triggersZOrder: u.any }, + { + name: 'opacity', + type: h.zeroOneNumber, + triggersZOrder: u.zeroNonZero + }, + { name: 'text-opacity', type: h.zeroOneNumber }, + { name: 'min-zoomed-font-size', type: h.size }, + { + name: 'z-compound-depth', + type: h.zCompoundDepth, + triggersZOrder: u.any + }, + { + name: 'z-index-compare', + type: h.zIndexCompare, + triggersZOrder: u.any + }, + { name: 'z-index', type: h.number, triggersZOrder: u.any } + ], + x = [ + { name: 'overlay-padding', type: h.size, triggersBounds: u.any }, + { name: 'overlay-color', type: h.color }, + { + name: 'overlay-opacity', + type: h.zeroOneNumber, + triggersBounds: u.zeroNonZero + }, + { + name: 'overlay-shape', + type: h.overlayShape, + triggersBounds: u.any + }, + { name: 'overlay-corner-radius', type: h.cornerRadius } + ], + b = [ + { name: 'underlay-padding', type: h.size, triggersBounds: u.any }, + { name: 'underlay-color', type: h.color }, + { + name: 'underlay-opacity', + type: h.zeroOneNumber, + triggersBounds: u.zeroNonZero + }, + { + name: 'underlay-shape', + type: h.overlayShape, + triggersBounds: u.any + }, + { name: 'underlay-corner-radius', type: h.cornerRadius } + ], + w = [ + { name: 'transition-property', type: h.propList }, + { name: 'transition-duration', type: h.time }, + { name: 'transition-delay', type: h.time }, + { name: 'transition-timing-function', type: h.easing } + ], + S = o(function (H, q) { + return q.value === 'label' ? -H.poolIndex() : q.pfValue; + }, 'nodeSizeHashOverride'), + T = [ + { + name: 'height', + type: h.nodeSize, + triggersBounds: u.any, + hashOverride: S + }, + { + name: 'width', + type: h.nodeSize, + triggersBounds: u.any, + hashOverride: S + }, + { name: 'shape', type: h.nodeShape, triggersBounds: u.any }, + { + name: 'shape-polygon-points', + type: h.polygonPointList, + triggersBounds: u.any + }, + { name: 'corner-radius', type: h.cornerRadius }, + { name: 'background-color', type: h.color }, + { name: 'background-fill', type: h.fill }, + { name: 'background-opacity', type: h.zeroOneNumber }, + { name: 'background-blacken', type: h.nOneOneNumber }, + { name: 'background-gradient-stop-colors', type: h.colors }, + { name: 'background-gradient-stop-positions', type: h.percentages }, + { + name: 'background-gradient-direction', + type: h.gradientDirection + }, + { + name: 'padding', + type: h.sizeMaybePercent, + triggersBounds: u.any + }, + { + name: 'padding-relative-to', + type: h.paddingRelativeTo, + triggersBounds: u.any + }, + { + name: 'bounds-expansion', + type: h.boundsExpansion, + triggersBounds: u.any + } + ], + E = [ + { name: 'border-color', type: h.color }, + { name: 'border-opacity', type: h.zeroOneNumber }, + { name: 'border-width', type: h.size, triggersBounds: u.any }, + { name: 'border-style', type: h.borderStyle }, + { name: 'border-cap', type: h.lineCap }, + { name: 'border-join', type: h.lineJoin }, + { name: 'border-dash-pattern', type: h.numbers }, + { name: 'border-dash-offset', type: h.number }, + { name: 'border-position', type: h.linePosition } + ], + _ = [ + { name: 'outline-color', type: h.color }, + { name: 'outline-opacity', type: h.zeroOneNumber }, + { name: 'outline-width', type: h.size, triggersBounds: u.any }, + { name: 'outline-style', type: h.borderStyle }, + { name: 'outline-offset', type: h.size, triggersBounds: u.any } + ], + A = [ + { name: 'background-image', type: h.urls }, + { name: 'background-image-crossorigin', type: h.bgCrossOrigin }, + { name: 'background-image-opacity', type: h.zeroOneNumbers }, + { name: 'background-image-containment', type: h.bgContainment }, + { name: 'background-image-smoothing', type: h.bools }, + { name: 'background-position-x', type: h.bgPos }, + { name: 'background-position-y', type: h.bgPos }, + { name: 'background-width-relative-to', type: h.bgRelativeTo }, + { name: 'background-height-relative-to', type: h.bgRelativeTo }, + { name: 'background-repeat', type: h.bgRepeat }, + { name: 'background-fit', type: h.bgFit }, + { name: 'background-clip', type: h.bgClip }, + { name: 'background-width', type: h.bgWH }, + { name: 'background-height', type: h.bgWH }, + { name: 'background-offset-x', type: h.bgPos }, + { name: 'background-offset-y', type: h.bgPos } + ], + L = [ + { name: 'position', type: h.position, triggersBounds: u.any }, + { + name: 'compound-sizing-wrt-labels', + type: h.compoundIncludeLabels, + triggersBounds: u.any + }, + { name: 'min-width', type: h.size, triggersBounds: u.any }, + { + name: 'min-width-bias-left', + type: h.sizeMaybePercent, + triggersBounds: u.any + }, + { + name: 'min-width-bias-right', + type: h.sizeMaybePercent, + triggersBounds: u.any + }, + { name: 'min-height', type: h.size, triggersBounds: u.any }, + { + name: 'min-height-bias-top', + type: h.sizeMaybePercent, + triggersBounds: u.any + }, + { + name: 'min-height-bias-bottom', + type: h.sizeMaybePercent, + triggersBounds: u.any + } + ], + M = [ + { name: 'line-style', type: h.lineStyle }, + { name: 'line-color', type: h.color }, + { name: 'line-fill', type: h.fill }, + { name: 'line-cap', type: h.lineCap }, + { name: 'line-opacity', type: h.zeroOneNumber }, + { name: 'line-dash-pattern', type: h.numbers }, + { name: 'line-dash-offset', type: h.number }, + { name: 'line-outline-width', type: h.size }, + { name: 'line-outline-color', type: h.color }, + { name: 'line-gradient-stop-colors', type: h.colors }, + { name: 'line-gradient-stop-positions', type: h.percentages }, + { + name: 'curve-style', + type: h.curveStyle, + triggersBounds: u.any, + triggersBoundsOfParallelBeziers: !0 + }, + { + name: 'haystack-radius', + type: h.zeroOneNumber, + triggersBounds: u.any + }, + { + name: 'source-endpoint', + type: h.edgeEndpoint, + triggersBounds: u.any + }, + { + name: 'target-endpoint', + type: h.edgeEndpoint, + triggersBounds: u.any + }, + { + name: 'control-point-step-size', + type: h.size, + triggersBounds: u.any + }, + { + name: 'control-point-distances', + type: h.bidirectionalSizes, + triggersBounds: u.any + }, + { + name: 'control-point-weights', + type: h.numbers, + triggersBounds: u.any + }, + { + name: 'segment-distances', + type: h.bidirectionalSizes, + triggersBounds: u.any + }, + { name: 'segment-weights', type: h.numbers, triggersBounds: u.any }, + { name: 'segment-radii', type: h.numbers, triggersBounds: u.any }, + { name: 'radius-type', type: h.radiusType, triggersBounds: u.any }, + { + name: 'taxi-turn', + type: h.bidirectionalSizeMaybePercent, + triggersBounds: u.any + }, + { + name: 'taxi-turn-min-distance', + type: h.size, + triggersBounds: u.any + }, + { + name: 'taxi-direction', + type: h.axisDirection, + triggersBounds: u.any + }, + { name: 'taxi-radius', type: h.number, triggersBounds: u.any }, + { + name: 'edge-distances', + type: h.edgeDistances, + triggersBounds: u.any + }, + { + name: 'arrow-scale', + type: h.positiveNumber, + triggersBounds: u.any + }, + { name: 'loop-direction', type: h.angle, triggersBounds: u.any }, + { name: 'loop-sweep', type: h.angle, triggersBounds: u.any }, + { + name: 'source-distance-from-node', + type: h.size, + triggersBounds: u.any + }, + { + name: 'target-distance-from-node', + type: h.size, + triggersBounds: u.any + } + ], + N = [ + { name: 'ghost', type: h.bool, triggersBounds: u.any }, + { + name: 'ghost-offset-x', + type: h.bidirectionalSize, + triggersBounds: u.any + }, + { + name: 'ghost-offset-y', + type: h.bidirectionalSize, + triggersBounds: u.any + }, + { name: 'ghost-opacity', type: h.zeroOneNumber } + ], + k = [ + { name: 'selection-box-color', type: h.color }, + { name: 'selection-box-opacity', type: h.zeroOneNumber }, + { name: 'selection-box-border-color', type: h.color }, + { name: 'selection-box-border-width', type: h.size }, + { name: 'active-bg-color', type: h.color }, + { name: 'active-bg-opacity', type: h.zeroOneNumber }, + { name: 'active-bg-size', type: h.size }, + { name: 'outside-texture-bg-color', type: h.color }, + { name: 'outside-texture-bg-opacity', type: h.zeroOneNumber } + ], + I = []; + (ka.pieBackgroundN = 16), I.push({ name: 'pie-size', type: h.sizeMaybePercent }); + for (var C = 1; C <= ka.pieBackgroundN; C++) + I.push({ name: 'pie-' + C + '-background-color', type: h.color }), + I.push({ name: 'pie-' + C + '-background-size', type: h.percent }), + I.push({ + name: 'pie-' + C + '-background-opacity', + type: h.zeroOneNumber + }); + var O = [], + D = (ka.arrowPrefixes = ['source', 'mid-source', 'target', 'mid-target']); + [ + { name: 'arrow-shape', type: h.arrowShape, triggersBounds: u.any }, + { name: 'arrow-color', type: h.color }, + { name: 'arrow-fill', type: h.arrowFill }, + { name: 'arrow-width', type: h.arrowWidth } + ].forEach(function (Z) { + D.forEach(function (H) { + var q = H + '-' + Z.name, + K = Z.type, + se = Z.triggersBounds; + O.push({ name: q, type: K, triggersBounds: se }); + }); + }, {}); + var P = (ka.properties = [].concat(y, w, v, x, b, N, g, m, f, d, p, T, E, _, A, I, L, M, O, k)), + F = (ka.propertyGroups = { + behavior: y, + transition: w, + visibility: v, + overlay: x, + underlay: b, + ghost: N, + commonLabel: g, + labelDimensions: m, + mainLabel: f, + sourceLabel: d, + targetLabel: p, + nodeBody: T, + nodeBorder: E, + nodeOutline: _, + backgroundImage: A, + pie: I, + compound: L, + edgeLine: M, + edgeArrow: O, + core: k + }), + B = (ka.propertyGroupNames = {}), + $ = (ka.propertyGroupKeys = Object.keys(F)); + $.forEach(function (Z) { + (B[Z] = F[Z].map(function (H) { + return H.name; + })), + F[Z].forEach(function (H) { + return (H.groupKey = Z); + }); + }); + var z = (ka.aliases = [ + { name: 'content', pointsTo: 'label' }, + { + name: 'control-point-distance', + pointsTo: 'control-point-distances' + }, + { name: 'control-point-weight', pointsTo: 'control-point-weights' }, + { name: 'segment-distance', pointsTo: 'segment-distances' }, + { name: 'segment-weight', pointsTo: 'segment-weights' }, + { name: 'segment-radius', pointsTo: 'segment-radii' }, + { 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' } + ]); + ka.propertyNames = P.map(function (Z) { + return Z.name; + }); + for (var Y = 0; Y < P.length; Y++) { + var Q = P[Y]; + P[Q.name] = Q; + } + for (var X = 0; X < z.length; X++) { + var ie = z[X], + j = P[ie.pointsTo], + J = { name: ie.name, alias: !0, pointsTo: j }; + P.push(J), (P[ie.name] = J); + } + })(); + ka.getDefaultProperty = function (t) { + return this.getDefaultProperties()[t]; + }; + ka.getDefaultProperties = function () { + var t = this._private; + if (t.defaultProperties != null) return t.defaultProperties; + for ( + var e = Wt( + { + '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, + 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', + 'overlay-corner-radius': 'auto', + 'underlay-opacity': 0, + 'underlay-color': '#000', + 'underlay-padding': 10, + 'underlay-shape': 'round-rectangle', + 'underlay-corner-radius': 'auto', + 'transition-property': 'none', + 'transition-duration': 0, + 'transition-delay': 0, + 'transition-timing-function': 'linear', + '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', + 'border-dash-pattern': [4, 2], + 'border-dash-offset': 0, + 'border-cap': 'butt', + 'border-join': 'miter', + 'border-position': 'center', + 'outline-color': '#999', + 'outline-opacity': 1, + 'outline-width': 0, + 'outline-offset': 0, + 'outline-style': 'solid', + height: 30, + width: 30, + shape: 'ellipse', + 'shape-polygon-points': '-1, -1, 1, -1, 1, 1, -1, 1', + 'corner-radius': 'auto', + 'bounds-expansion': 0, + 'background-gradient-direction': 'to-bottom', + 'background-gradient-stop-colors': '#999', + 'background-gradient-stop-positions': '0%', + ghost: 'no', + 'ghost-offset-y': 0, + 'ghost-offset-x': 0, + 'ghost-opacity': 0, + 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 + }, + { '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 (u, h) { + for (var f = 1; f <= ka.pieBackgroundN; f++) { + var d = h.name.replace('{{i}}', f), + p = h.value; + u[d] = p; + } + return u; + }, {}), + { + 'line-style': 'solid', + 'line-color': '#999', + 'line-fill': 'solid', + 'line-cap': 'butt', + 'line-opacity': 1, + 'line-outline-width': 0, + 'line-outline-color': '#000', + '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, + 'segment-radii': 15, + 'radius-type': 'arc-radius', + 'taxi-turn': '50%', + 'taxi-radius': 15, + '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' }, + { name: 'arrow-width', value: 1 } + ].reduce(function (u, h) { + return ( + ka.arrowPrefixes.forEach(function (f) { + var d = f + '-' + h.name, + p = h.value; + u[d] = p; + }), + u + ); + }, {}) + ), + r = {}, + n = 0; + n < this.properties.length; + n++ + ) { + var i = this.properties[n]; + if (!i.pointsTo) { + var a = i.name, + s = e[a], + l = this.parse(a, s); + r[a] = l; + } + } + return (t.defaultProperties = r), t.defaultProperties; + }; + ka.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); + }; + X6 = {}; + X6.parse = function (t, e, r, n) { + var i = this; + if (jn(e)) return i.parseImplWarn(t, e, r, n); + var a = n === 'mapping' || n === !0 || n === !1 || n == null ? 'dontcare' : n, + s = r ? 't' : 'f', + l = '' + e, + u = Ope(t, l, s, a), + h = (i.propCache = i.propCache || []), + f; + return ( + (f = h[u]) || (f = h[u] = i.parseImplWarn(t, e, r, n)), + (r || n === 'mapping') && ((f = $c(f)), f && (f.value = $c(f.value))), + f + ); + }; + X6.parseImplWarn = function (t, e, r, n) { + var i = this.parseImpl(t, e, r, n); + return ( + !i && e != null && tn('The style property `'.concat(t, ': ').concat(e, '` is invalid')), + i && + (i.name === 'width' || i.name === 'height') && + e === 'label' && + tn('The style value of `label` is deprecated for `' + i.name + '`'), + i + ); + }; + X6.parseImpl = function (t, e, r, n) { + var i = this; + t = QP(t); + var a = i.properties[t], + s = e, + l = i.types; + if (!a || e === void 0) return null; + a.alias && ((a = a.pointsTo), (t = a.name)); + var u = zt(e); + u && (e = e.trim()); + var h = a.type; + if (!h) return null; + if (r && (e === '' || e === null)) return { name: t, value: e, bypass: !0, deleteBypass: !0 }; + if (jn(e)) return { name: t, value: e, strValue: 'fn', mapped: l.fn, bypass: r }; + var f, d; + if (!(!u || n || e.length < 7 || e[1] !== 'a')) { + if (e.length >= 7 && e[0] === 'd' && (f = new RegExp(l.data.regex).exec(e))) { + if (r) return !1; + var p = l.data; + return { + name: t, + value: f, + strValue: '' + e, + mapped: p, + field: f[1], + bypass: r + }; + } else if (e.length >= 10 && e[0] === 'm' && (d = new RegExp(l.mapData.regex).exec(e))) { + if (r || h.multiple) return !1; + var m = l.mapData; + if (!(h.color || h.number)) return !1; + var g = this.parse(t, d[4]); + if (!g || g.mapped) return !1; + var y = this.parse(t, d[5]); + if (!y || y.mapped) return !1; + if (g.pfValue === y.pfValue || g.strValue === y.strValue) + return ( + tn( + '`' + + t + + ': ' + + e + + '` is not a valid mapper because the output range is zero; converting to `' + + t + + ': ' + + g.strValue + + '`' + ), + this.parse(t, g.strValue) + ); + if (h.color) { + var v = g.value, + x = y.value, + b = + v[0] === x[0] && + v[1] === x[1] && + v[2] === x[2] && + (v[3] === x[3] || ((v[3] == null || v[3] === 1) && (x[3] == null || x[3] === 1))); + if (b) return !1; + } + return { + name: t, + value: d, + strValue: '' + e, + mapped: m, + field: d[1], + fieldMin: parseFloat(d[2]), + fieldMax: parseFloat(d[3]), + valueMin: g.value, + valueMax: y.value, + bypass: r + }; + } + } + if (h.multiple && n !== 'multiple') { + var w; + if ((u ? (w = e.split(/\s+/)) : vn(e) ? (w = e) : (w = [e]), h.evenMultiple && w.length % 2 !== 0)) + return null; + for (var S = [], T = [], E = [], _ = '', A = !1, L = 0; L < w.length; L++) { + var M = i.parse(t, w[L], r, 'multiple'); + (A = A || zt(M.value)), + S.push(M.value), + E.push(M.pfValue != null ? M.pfValue : M.value), + T.push(M.units), + (_ += (L > 0 ? ' ' : '') + M.strValue); + } + return h.validate && !h.validate(S, T) + ? null + : h.singleEnum && A + ? S.length === 1 && zt(S[0]) + ? { name: t, value: S[0], strValue: S[0], bypass: r } + : null + : { + name: t, + value: S, + pfValue: E, + strValue: _, + bypass: r, + units: T + }; + } + var N = o(function () { + for (var H = 0; H < h.enums.length; H++) { + var q = h.enums[H]; + if (q === e) return { name: t, value: e, strValue: '' + e, bypass: r }; + } + return null; + }, 'checkEnums'); + if (h.number) { + var k, + I = 'px'; + if ((h.units && (k = h.units), h.implicitUnits && (I = h.implicitUnits), !h.unitless)) + if (u) { + var C = 'px|em' + (h.allowPercent ? '|\\%' : ''); + k && (C = k); + var O = e.match('^(' + Ui + ')(' + C + ')?$'); + O && ((e = O[1]), (k = O[2] || I)); + } else (!k || h.implicitUnits) && (k = I); + if (((e = parseFloat(e)), isNaN(e) && h.enums === void 0)) return null; + if (isNaN(e) && h.enums !== void 0) return (e = s), N(); + if ( + (h.integer && !OHe(e)) || + (h.min !== void 0 && (e < h.min || (h.strictMin && e === h.min))) || + (h.max !== void 0 && (e > h.max || (h.strictMax && e === h.max))) + ) + return null; + var D = { + name: t, + value: e, + strValue: '' + e + (k || ''), + units: k, + bypass: r + }; + return ( + h.unitless || (k !== 'px' && k !== 'em') + ? (D.pfValue = e) + : (D.pfValue = k === 'px' || !k ? e : this.getEmSizeInPixels() * e), + (k === 'ms' || k === 's') && (D.pfValue = k === 'ms' ? e : 1e3 * e), + (k === 'deg' || k === 'rad') && (D.pfValue = k === 'rad' ? e : mWe(e)), + k === '%' && (D.pfValue = e / 100), + D + ); + } else if (h.propList) { + var P = [], + F = '' + e; + if (F !== 'none') { + for (var B = F.split(/\s*,\s*|\s+/), $ = 0; $ < B.length; $++) { + var z = B[$].trim(); + i.properties[z] ? P.push(z) : tn('`' + z + '` is not a valid property name'); + } + if (P.length === 0) return null; + } + return { + name: t, + value: P, + strValue: P.length === 0 ? 'none' : P.join(' '), + bypass: r + }; + } else if (h.color) { + var Y = ZHe(e); + return Y + ? { + name: t, + value: Y, + pfValue: Y, + strValue: 'rgb(' + Y[0] + ',' + Y[1] + ',' + Y[2] + ')', + bypass: r + } + : null; + } else if (h.regex || h.regexes) { + if (h.enums) { + var Q = N(); + if (Q) return Q; + } + for (var X = h.regexes ? h.regexes : [h.regex], ie = 0; ie < X.length; ie++) { + var j = new RegExp(X[ie]), + J = j.exec(e); + if (J) + return { + name: t, + value: h.singleRegexMatchValue ? J[1] : J, + strValue: '' + e, + bypass: r + }; + } + return null; + } else return h.string ? { name: t, value: '' + e, strValue: '' + e, bypass: r } : h.enums ? N() : null; + }; + (Ba = o(function t(e) { + if (!(this instanceof t)) return new t(e); + if (!KP(e)) { + oi('A style must have a core reference'); + return; + } + (this._private = { cy: e, coreStyle: {} }), (this.length = 0), this.resetToDefault(); + }, 'Style')), + (za = Ba.prototype); + za.instanceString = function () { + return 'style'; + }; + za.clear = function () { + for (var t = this._private, e = t.cy, r = e.elements(), n = 0; n < this.length; n++) this[n] = void 0; + return ( + (this.length = 0), + (t.contextStyles = {}), + (t.propDiffs = {}), + this.cleanElements(r, !0), + r.forEach(function (i) { + var a = i[0]._private; + (a.styleDirty = !0), (a.appliedInitStyle = !1); + }), + this + ); + }; + za.resetToDefault = function () { + return this.clear(), this.addDefaultStylesheet(), this; + }; + za.core = function (t) { + return this._private.coreStyle[t] || this.getDefaultProperty(t); + }; + za.selector = function (t) { + var e = t === 'core' ? null : new _f(t), + r = this.length++; + return ( + (this[r] = { + selector: e, + properties: [], + mappedProperties: [], + index: r + }), + this + ); + }; + za.css = function () { + var t = this, + e = arguments; + if (e.length === 1) + for (var r = e[0], n = 0; n < t.properties.length; n++) { + var i = t.properties[n], + a = r[i.name]; + a === void 0 && (a = r[I6(i.name)]), a !== void 0 && this.cssRule(i.name, a); + } + else e.length === 2 && this.cssRule(e[0], e[1]); + return this; + }; + za.style = za.css; + za.cssRule = function (t, e) { + var r = this.parse(t, e); + if (r) { + var n = this.length - 1; + this[n].properties.push(r), + (this[n].properties[r.name] = r), + r.name.match(/pie-(\d+)-background-size/) && r.value && (this._private.hasPie = !0), + r.mapped && this[n].mappedProperties.push(r); + var i = !this[n].selector; + i && (this._private.coreStyle[r.name] = r); + } + return this; + }; + za.append = function (t) { + return ( + Cpe(t) ? t.appendToStyle(this) : vn(t) ? this.appendFromJson(t) : zt(t) && this.appendFromString(t), + this + ); + }; + Ba.fromJson = function (t, e) { + var r = new Ba(t); + return r.fromJson(e), r; + }; + Ba.fromString = function (t, e) { + return new Ba(t).fromString(e); + }; + [Ga, rb, hB, Uc, q6, fB, ka, X6].forEach(function (t) { + Wt(za, t); + }); + Ba.types = za.types; + Ba.properties = za.properties; + Ba.propertyGroups = za.propertyGroups; + Ba.propertyGroupNames = za.propertyGroupNames; + Ba.propertyGroupKeys = za.propertyGroupKeys; + (OKe = { + style: o(function (e) { + if (e) { + var r = this.setStyle(e); + r.update(); + } + return this._private.style; + }, 'style'), + setStyle: o(function (e) { + var r = this._private; + return ( + Cpe(e) + ? (r.style = e.generateStyle(this)) + : vn(e) + ? (r.style = Ba.fromJson(this, e)) + : zt(e) + ? (r.style = Ba.fromString(this, e)) + : (r.style = Ba(this)), + r.style + ); + }, 'setStyle'), + updateStyle: o(function () { + this.mutableElements().updateStyle(); + }, 'updateStyle') + }), + (PKe = 'single'), + (q0 = { + autolock: o(function (e) { + if (e !== void 0) this._private.autolock = !!e; + else return this._private.autolock; + return this; + }, 'autolock'), + autoungrabify: o(function (e) { + if (e !== void 0) this._private.autoungrabify = !!e; + else return this._private.autoungrabify; + return this; + }, 'autoungrabify'), + autounselectify: o(function (e) { + if (e !== void 0) this._private.autounselectify = !!e; + else return this._private.autounselectify; + return this; + }, 'autounselectify'), + selectionType: o(function (e) { + var r = this._private; + if ((r.selectionType == null && (r.selectionType = PKe), e !== void 0)) + (e === 'additive' || e === 'single') && (r.selectionType = e); + else return r.selectionType; + return this; + }, 'selectionType'), + panningEnabled: o(function (e) { + if (e !== void 0) this._private.panningEnabled = !!e; + else return this._private.panningEnabled; + return this; + }, 'panningEnabled'), + userPanningEnabled: o(function (e) { + if (e !== void 0) this._private.userPanningEnabled = !!e; + else return this._private.userPanningEnabled; + return this; + }, 'userPanningEnabled'), + zoomingEnabled: o(function (e) { + if (e !== void 0) this._private.zoomingEnabled = !!e; + else return this._private.zoomingEnabled; + return this; + }, 'zoomingEnabled'), + userZoomingEnabled: o(function (e) { + if (e !== void 0) this._private.userZoomingEnabled = !!e; + else return this._private.userZoomingEnabled; + return this; + }, 'userZoomingEnabled'), + boxSelectionEnabled: o(function (e) { + if (e !== void 0) this._private.boxSelectionEnabled = !!e; + else return this._private.boxSelectionEnabled; + return this; + }, 'boxSelectionEnabled'), + pan: o(function () { + var e = arguments, + r = this._private.pan, + n, + i, + a, + s, + l; + switch (e.length) { + case 0: + return r; + case 1: + if (zt(e[0])) return (n = e[0]), r[n]; + if (Mr(e[0])) { + if (!this._private.panningEnabled) return this; + (a = e[0]), + (s = a.x), + (l = a.y), + ft(s) && (r.x = s), + ft(l) && (r.y = l), + this.emit('pan viewport'); + } + break; + case 2: + if (!this._private.panningEnabled) return this; + (n = e[0]), + (i = e[1]), + (n === 'x' || n === 'y') && ft(i) && (r[n] = i), + this.emit('pan viewport'); + break; + } + return this.notify('viewport'), this; + }, 'pan'), + panBy: o(function (e, r) { + var n = arguments, + i = this._private.pan, + a, + s, + l, + u, + h; + if (!this._private.panningEnabled) return this; + switch (n.length) { + case 1: + Mr(e) && + ((l = n[0]), + (u = l.x), + (h = l.y), + ft(u) && (i.x += u), + ft(h) && (i.y += h), + this.emit('pan viewport')); + break; + case 2: + (a = e), + (s = r), + (a === 'x' || a === 'y') && ft(s) && (i[a] += s), + this.emit('pan viewport'); + break; + } + return this.notify('viewport'), this; + }, 'panBy'), + fit: o(function (e, r) { + var n = this.getFitViewport(e, r); + if (n) { + var i = this._private; + (i.zoom = n.zoom), (i.pan = n.pan), this.emit('pan zoom viewport'), this.notify('viewport'); + } + return this; + }, 'fit'), + getFitViewport: o(function (e, r) { + if ( + (ft(e) && r === void 0 && ((r = e), (e = void 0)), + !(!this._private.panningEnabled || !this._private.zoomingEnabled)) + ) { + var n; + if (zt(e)) { + var i = e; + e = this.$(i); + } else if (FHe(e)) { + var a = e; + (n = { x1: a.x1, y1: a.y1, x2: a.x2, y2: a.y2 }), + (n.w = n.x2 - n.x1), + (n.h = n.y2 - n.y1); + } else xo(e) || (e = this.mutableElements()); + if (!(xo(e) && e.empty())) { + n = n || e.boundingBox(); + var s = this.width(), + l = this.height(), + u; + if ( + ((r = ft(r) ? r : 0), + !isNaN(s) && + !isNaN(l) && + s > 0 && + l > 0 && + !isNaN(n.w) && + !isNaN(n.h) && + n.w > 0 && + n.h > 0) + ) { + (u = Math.min((s - 2 * r) / n.w, (l - 2 * r) / n.h)), + (u = u > this._private.maxZoom ? this._private.maxZoom : u), + (u = u < this._private.minZoom ? this._private.minZoom : u); + var h = { + x: (s - u * (n.x1 + n.x2)) / 2, + y: (l - u * (n.y1 + n.y2)) / 2 + }; + return { zoom: u, pan: h }; + } + } + } + }, 'getFitViewport'), + zoomRange: o(function (e, r) { + var n = this._private; + if (r == null) { + var i = e; + (e = i.min), (r = i.max); + } + return ( + ft(e) && ft(r) && e <= r + ? ((n.minZoom = e), (n.maxZoom = r)) + : ft(e) && r === void 0 && e <= n.maxZoom + ? (n.minZoom = e) + : ft(r) && e === void 0 && r >= n.minZoom && (n.maxZoom = r), + this + ); + }, 'zoomRange'), + minZoom: o(function (e) { + return e === void 0 ? this._private.minZoom : this.zoomRange({ min: e }); + }, 'minZoom'), + maxZoom: o(function (e) { + return e === void 0 ? this._private.maxZoom : this.zoomRange({ max: e }); + }, 'maxZoom'), + getZoomedViewport: o(function (e) { + var r = this._private, + n = r.pan, + i = r.zoom, + a, + s, + l = !1; + if ( + (r.zoomingEnabled || (l = !0), + ft(e) + ? (s = e) + : Mr(e) && + ((s = e.level), + e.position != null + ? (a = F6(e.position, i, n)) + : e.renderedPosition != null && (a = e.renderedPosition), + a != null && !r.panningEnabled && (l = !0)), + (s = s > r.maxZoom ? r.maxZoom : s), + (s = s < r.minZoom ? r.minZoom : s), + l || !ft(s) || s === i || (a != null && (!ft(a.x) || !ft(a.y)))) + ) + return null; + if (a != null) { + var u = n, + h = i, + f = s, + d = { + x: (-f / h) * (a.x - u.x) + a.x, + y: (-f / h) * (a.y - u.y) + a.y + }; + return { zoomed: !0, panned: !0, zoom: f, pan: d }; + } else return { zoomed: !0, panned: !1, zoom: s, pan: n }; + }, 'getZoomedViewport'), + zoom: o(function (e) { + if (e === void 0) return this._private.zoom; + var r = this.getZoomedViewport(e), + n = this._private; + return r == null || !r.zoomed + ? this + : ((n.zoom = r.zoom), + r.panned && ((n.pan.x = r.pan.x), (n.pan.y = r.pan.y)), + this.emit('zoom' + (r.panned ? ' pan' : '') + ' viewport'), + this.notify('viewport'), + this); + }, 'zoom'), + viewport: o(function (e) { + var r = this._private, + n = !0, + i = !0, + a = [], + s = !1, + l = !1; + if (!e) return this; + if ((ft(e.zoom) || (n = !1), Mr(e.pan) || (i = !1), !n && !i)) return this; + if (n) { + var u = e.zoom; + u < r.minZoom || u > r.maxZoom || !r.zoomingEnabled + ? (s = !0) + : ((r.zoom = u), a.push('zoom')); + } + if (i && (!s || !e.cancelOnFailedZoom) && r.panningEnabled) { + var h = e.pan; + ft(h.x) && ((r.pan.x = h.x), (l = !1)), + ft(h.y) && ((r.pan.y = h.y), (l = !1)), + l || a.push('pan'); + } + return ( + a.length > 0 && (a.push('viewport'), this.emit(a.join(' ')), this.notify('viewport')), this + ); + }, 'viewport'), + center: o(function (e) { + var r = this.getCenterPan(e); + return r && ((this._private.pan = r), this.emit('pan viewport'), this.notify('viewport')), this; + }, 'center'), + getCenterPan: o(function (e, r) { + if (this._private.panningEnabled) { + if (zt(e)) { + var n = e; + e = this.mutableElements().filter(n); + } else xo(e) || (e = this.mutableElements()); + if (e.length !== 0) { + var i = e.boundingBox(), + a = this.width(), + s = this.height(); + r = r === void 0 ? this._private.zoom : r; + var l = { + x: (a - r * (i.x1 + i.x2)) / 2, + y: (s - r * (i.y1 + i.y2)) / 2 + }; + return l; + } + } + }, 'getCenterPan'), + reset: o(function () { + return !this._private.panningEnabled || !this._private.zoomingEnabled + ? this + : (this.viewport({ pan: { x: 0, y: 0 }, zoom: 1 }), this); + }, 'reset'), + invalidateSize: o(function () { + this._private.sizeCache = null; + }, 'invalidateSize'), + size: o(function () { + var e = this._private, + r = e.container, + n = this; + return (e.sizeCache = + e.sizeCache || + (r + ? (function () { + var i = n.window().getComputedStyle(r), + a = o(function (l) { + return parseFloat(i.getPropertyValue(l)); + }, 'val'); + return { + width: r.clientWidth - a('padding-left') - a('padding-right'), + height: r.clientHeight - a('padding-top') - a('padding-bottom') + }; + })() + : { width: 1, height: 1 })); + }, 'size'), + width: o(function () { + return this.size().width; + }, 'width'), + height: o(function () { + return this.size().height; + }, 'height'), + extent: o(function () { + var e = this._private.pan, + r = this._private.zoom, + n = this.renderedExtent(), + i = { + x1: (n.x1 - e.x) / r, + x2: (n.x2 - e.x) / r, + y1: (n.y1 - e.y) / r, + y2: (n.y2 - e.y) / r + }; + return (i.w = i.x2 - i.x1), (i.h = i.y2 - i.y1), i; + }, 'extent'), + renderedExtent: o(function () { + var e = this.width(), + r = this.height(); + return { x1: 0, y1: 0, x2: e, y2: r, w: e, h: r }; + }, 'renderedExtent'), + multiClickDebounceTime: o(function (e) { + if (e) this._private.multiClickDebounceTime = e; + else return this._private.multiClickDebounceTime; + return this; + }, 'multiClickDebounceTime') + }); + q0.centre = q0.center; + q0.autolockNodes = q0.autolock; + q0.autoungrabifyNodes = q0.autoungrabify; + jx = { + data: en.data({ + field: 'data', + bindingEvent: 'data', + allowBinding: !0, + allowSetting: !0, + settingEvent: 'data', + settingTriggersEvent: !0, + triggerFnName: 'trigger', + allowGetting: !0, + updateStyle: !0 + }), + removeData: en.removeData({ + field: 'data', + event: 'data', + triggerFnName: 'trigger', + triggerEvent: !0, + updateStyle: !0 + }), + scratch: en.data({ + field: 'scratch', + bindingEvent: 'scratch', + allowBinding: !0, + allowSetting: !0, + settingEvent: 'scratch', + settingTriggersEvent: !0, + triggerFnName: 'trigger', + allowGetting: !0, + updateStyle: !0 + }), + removeScratch: en.removeData({ + field: 'scratch', + event: 'scratch', + triggerFnName: 'trigger', + triggerEvent: !0, + updateStyle: !0 + }) + }; + jx.attr = jx.data; + jx.removeAttr = jx.removeData; + (Kx = o(function (e) { + var r = this; + e = Wt({}, e); + var n = e.container; + n && !k6(n) && k6(n[0]) && (n = n[0]); + var i = n ? n._cyreg : null; + (i = i || {}), i && i.cy && (i.cy.destroy(), (i = {})); + var a = (i.readies = i.readies || []); + n && (n._cyreg = i), (i.cy = r); + var s = Vi !== void 0 && n !== void 0 && !e.headless, + l = e; + (l.layout = Wt({ name: s ? 'grid' : 'null' }, l.layout)), + (l.renderer = Wt({ name: s ? 'canvas' : 'null' }, l.renderer)); + var u = o(function (g, y, v) { + return y !== void 0 ? y : v !== void 0 ? v : g; + }, 'defVal'), + h = (this._private = { + container: n, + ready: !1, + options: l, + elements: new Ca(this), + listeners: [], + aniEles: new Ca(this), + data: l.data || {}, + scratch: {}, + layout: null, + renderer: null, + destroyed: !1, + notificationsEnabled: !0, + minZoom: 1e-50, + maxZoom: 1e50, + zoomingEnabled: u(!0, l.zoomingEnabled), + userZoomingEnabled: u(!0, l.userZoomingEnabled), + panningEnabled: u(!0, l.panningEnabled), + userPanningEnabled: u(!0, l.userPanningEnabled), + boxSelectionEnabled: u(!0, l.boxSelectionEnabled), + autolock: u(!1, l.autolock, l.autolockNodes), + autoungrabify: u(!1, l.autoungrabify, l.autoungrabifyNodes), + autounselectify: u(!1, l.autounselectify), + styleEnabled: l.styleEnabled === void 0 ? s : l.styleEnabled, + zoom: ft(l.zoom) ? l.zoom : 1, + pan: { + x: Mr(l.pan) && ft(l.pan.x) ? l.pan.x : 0, + y: Mr(l.pan) && ft(l.pan.y) ? l.pan.y : 0 + }, + animation: { current: [], queue: [] }, + hasCompoundNodes: !1, + multiClickDebounceTime: u(250, l.multiClickDebounceTime) + }); + this.createEmitter(), + this.selectionType(l.selectionType), + this.zoomRange({ min: l.minZoom, max: l.maxZoom }); + var f = o(function (g, y) { + var v = g.some(zHe); + if (v) return u1.all(g).then(y); + y(g); + }, 'loadExtData'); + h.styleEnabled && r.setStyle([]); + var d = Wt({}, l, l.renderer); + r.initRenderer(d); + var p = o(function (g, y, v) { + r.notifications(!1); + var x = r.mutableElements(); + x.length > 0 && x.remove(), + g != null && (Mr(g) || vn(g)) && r.add(g), + r + .one('layoutready', function (w) { + r.notifications(!0), r.emit(w), r.one('load', y), r.emitAndNotify('load'); + }) + .one('layoutstop', function () { + r.one('done', v), r.emit('done'); + }); + var b = Wt({}, r._private.options.layout); + (b.eles = r.elements()), r.layout(b).run(); + }, 'setElesAndLayout'); + f([l.style, l.elements], function (m) { + var g = m[0], + y = m[1]; + h.styleEnabled && r.style().append(g), + p( + y, + function () { + r.startAnimationLoop(), (h.ready = !0), jn(l.ready) && r.on('ready', l.ready); + for (var v = 0; v < a.length; v++) { + var x = a[v]; + r.on('ready', x); + } + i && (i.readies = []), r.emit('ready'); + }, + l.done + ); + }); + }, 'Core')), + (D6 = Kx.prototype); + Wt(D6, { + instanceString: o(function () { + return 'core'; + }, 'instanceString'), + isReady: o(function () { + return this._private.ready; + }, 'isReady'), + destroyed: o(function () { + return this._private.destroyed; + }, 'destroyed'), + ready: o(function (e) { + return this.isReady() ? this.emitter().emit('ready', [], e) : this.on('ready', e), this; + }, 'ready'), + destroy: o(function () { + var e = this; + if (!e.destroyed()) + return ( + e.stopAnimationLoop(), + e.destroyRenderer(), + this.emit('destroy'), + (e._private.destroyed = !0), + e + ); + }, 'destroy'), + hasElementWithId: o(function (e) { + return this._private.elements.hasElementWithId(e); + }, 'hasElementWithId'), + getElementById: o(function (e) { + return this._private.elements.getElementById(e); + }, 'getElementById'), + hasCompoundNodes: o(function () { + return this._private.hasCompoundNodes; + }, 'hasCompoundNodes'), + headless: o(function () { + return this._private.renderer.isHeadless(); + }, 'headless'), + styleEnabled: o(function () { + return this._private.styleEnabled; + }, 'styleEnabled'), + addToPool: o(function (e) { + return this._private.elements.merge(e), this; + }, 'addToPool'), + removeFromPool: o(function (e) { + return this._private.elements.unmerge(e), this; + }, 'removeFromPool'), + container: o(function () { + return this._private.container || null; + }, 'container'), + window: o(function () { + var e = this._private.container; + if (e == null) return Vi; + var r = this._private.container.ownerDocument; + return r === void 0 || r == null ? Vi : r.defaultView || Vi; + }, 'window'), + mount: o(function (e) { + if (e != null) { + var r = this, + n = r._private, + i = n.options; + return ( + !k6(e) && k6(e[0]) && (e = e[0]), + r.stopAnimationLoop(), + r.destroyRenderer(), + (n.container = e), + (n.styleEnabled = !0), + r.invalidateSize(), + r.initRenderer( + Wt({}, i, i.renderer, { + name: i.renderer.name === 'null' ? 'canvas' : i.renderer.name + }) + ), + r.startAnimationLoop(), + r.style(i.style), + r.emit('mount'), + r + ); + } + }, 'mount'), + unmount: o(function () { + var e = this; + return ( + e.stopAnimationLoop(), + e.destroyRenderer(), + e.initRenderer({ name: 'null' }), + e.emit('unmount'), + e + ); + }, 'unmount'), + options: o(function () { + return $c(this._private.options); + }, 'options'), + json: o(function (e) { + var r = this, + n = r._private, + i = r.mutableElements(), + a = o(function (S) { + return r.getElementById(S.id()); + }, 'getFreshRef'); + if (Mr(e)) { + if ((r.startBatch(), e.elements)) { + var s = {}, + l = o(function (S, T) { + for (var E = [], _ = [], A = 0; A < S.length; A++) { + var L = S[A]; + if (!L.data.id) { + tn('cy.json() cannot handle elements without an ID attribute'); + continue; + } + var M = '' + L.data.id, + N = r.getElementById(M); + (s[M] = !0), + N.length !== 0 + ? _.push({ ele: N, json: L }) + : (T && (L.group = T), E.push(L)); + } + r.add(E); + for (var k = 0; k < _.length; k++) { + var I = _[k], + C = I.ele, + O = I.json; + C.json(O); + } + }, 'updateEles'); + if (vn(e.elements)) l(e.elements); + else + for (var u = ['nodes', 'edges'], h = 0; h < u.length; h++) { + var f = u[h], + d = e.elements[f]; + vn(d) && l(d, f); + } + var p = r.collection(); + i + .filter(function (w) { + return !s[w.id()]; + }) + .forEach(function (w) { + w.isParent() ? p.merge(w) : w.remove(); + }), + p.forEach(function (w) { + return w.children().move({ parent: null }); + }), + p.forEach(function (w) { + return a(w).remove(); + }); + } + e.style && r.style(e.style), + e.zoom != null && e.zoom !== n.zoom && r.zoom(e.zoom), + e.pan && (e.pan.x !== n.pan.x || e.pan.y !== n.pan.y) && r.pan(e.pan), + e.data && r.data(e.data); + for ( + var m = [ + 'minZoom', + 'maxZoom', + 'zoomingEnabled', + 'userZoomingEnabled', + 'panningEnabled', + 'userPanningEnabled', + 'boxSelectionEnabled', + 'autolock', + 'autoungrabify', + 'autounselectify', + 'multiClickDebounceTime' + ], + g = 0; + g < m.length; + g++ + ) { + var y = m[g]; + e[y] != null && r[y](e[y]); + } + return r.endBatch(), this; + } else { + var v = !!e, + x = {}; + v + ? (x.elements = this.elements().map(function (w) { + return w.json(); + })) + : ((x.elements = {}), + i.forEach(function (w) { + var S = w.group(); + x.elements[S] || (x.elements[S] = []), x.elements[S].push(w.json()); + })), + this._private.styleEnabled && (x.style = r.style().json()), + (x.data = $c(r.data())); + var b = n.options; + return ( + (x.zoomingEnabled = n.zoomingEnabled), + (x.userZoomingEnabled = n.userZoomingEnabled), + (x.zoom = n.zoom), + (x.minZoom = n.minZoom), + (x.maxZoom = n.maxZoom), + (x.panningEnabled = n.panningEnabled), + (x.userPanningEnabled = n.userPanningEnabled), + (x.pan = $c(n.pan)), + (x.boxSelectionEnabled = n.boxSelectionEnabled), + (x.renderer = $c(b.renderer)), + (x.hideEdgesOnViewport = b.hideEdgesOnViewport), + (x.textureOnViewport = b.textureOnViewport), + (x.wheelSensitivity = b.wheelSensitivity), + (x.motionBlur = b.motionBlur), + (x.multiClickDebounceTime = b.multiClickDebounceTime), + x + ); + } + }, 'json') + }); + D6.$id = D6.getElementById; + [CKe, DKe, Sme, FP, x6, NKe, zP, b6, OKe, q0, jx].forEach(function (t) { + Wt(D6, t); + }); + (BKe = { + fit: !0, + directed: !1, + padding: 30, + circle: !1, + grid: !1, + spacingFactor: 1.75, + boundingBox: void 0, + avoidOverlap: !0, + nodeDimensionsIncludeLabels: !1, + roots: void 0, + depthSort: void 0, + animate: !1, + animationDuration: 500, + animationEasing: void 0, + animateFilter: o(function (e, r) { + return !0; + }, 'animateFilter'), + ready: void 0, + stop: void 0, + transform: o(function (e, r) { + return r; + }, 'transform') + }), + (FKe = { maximal: !1, acyclic: !1 }), + (Kg = o(function (e) { + return e.scratch('breadthfirst'); + }, 'getInfo')), + (epe = o(function (e, r) { + return e.scratch('breadthfirst', r); + }, 'setInfo')); + o(Ame, 'BreadthFirstLayout'); + Ame.prototype.run = function () { + var t = this.options, + e = t, + r = t.cy, + n = e.eles, + i = n.nodes().filter(function (ue) { + return !ue.isParent(); + }), + a = n, + s = e.directed, + l = e.acyclic || e.maximal || e.maximalAdjustments > 0, + u = Gs(e.boundingBox ? e.boundingBox : { x1: 0, y1: 0, w: r.width(), h: r.height() }), + h; + if (xo(e.roots)) h = e.roots; + else if (vn(e.roots)) { + for (var f = [], d = 0; d < e.roots.length; d++) { + var p = e.roots[d], + m = r.getElementById(p); + f.push(m); + } + h = r.collection(f); + } else if (zt(e.roots)) h = r.$(e.roots); + else if (s) h = i.roots(); + else { + var g = n.components(); + h = r.collection(); + for ( + var y = o(function (te) { + var De = g[te], + oe = De.maxDegree(!1), + ke = De.filter(function (Ie) { + return Ie.degree(!1) === oe; + }); + h = h.add(ke); + }, '_loop'), + v = 0; + v < g.length; + v++ + ) + y(v); + } + var x = [], + b = {}, + w = o(function (te, De) { + x[De] == null && (x[De] = []); + var oe = x[De].length; + x[De].push(te), epe(te, { index: oe, depth: De }); + }, 'addToDepth'), + S = o(function (te, De) { + var oe = Kg(te), + ke = oe.depth, + Ie = oe.index; + (x[ke][Ie] = null), w(te, De); + }, 'changeDepth'); + a.bfs({ + roots: h, + directed: e.directed, + visit: o(function (te, De, oe, ke, Ie) { + var Se = te[0], + Ue = Se.id(); + w(Se, Ie), (b[Ue] = !0); + }, 'visit') + }); + for (var T = [], E = 0; E < i.length; E++) { + var _ = i[E]; + b[_.id()] || T.push(_); + } + var A = o(function (te) { + for (var De = x[te], oe = 0; oe < De.length; oe++) { + var ke = De[oe]; + if (ke == null) { + De.splice(oe, 1), oe--; + continue; + } + epe(ke, { depth: te, index: oe }); + } + }, 'assignDepthsAt'), + L = o(function () { + for (var te = 0; te < x.length; te++) A(te); + }, 'assignDepths'), + M = o(function (te, De) { + for ( + var oe = Kg(te), + ke = te.incomers().filter(function (W) { + return W.isNode() && n.has(W); + }), + Ie = -1, + Se = te.id(), + Ue = 0; + Ue < ke.length; + Ue++ + ) { + var Pe = ke[Ue], + _e = Kg(Pe); + Ie = Math.max(Ie, _e.depth); + } + if (oe.depth <= Ie) { + if (!e.acyclic && De[Se]) return null; + var me = Ie + 1; + return S(te, me), (De[Se] = me), !0; + } + return !1; + }, 'adjustMaximally'); + if (s && l) { + var N = [], + k = {}, + I = o(function (te) { + return N.push(te); + }, 'enqueue'), + C = o(function () { + return N.shift(); + }, 'dequeue'); + for ( + i.forEach(function (ue) { + return N.push(ue); + }); + N.length > 0; + + ) { + var O = C(), + D = M(O, k); + if (D) + O.outgoers() + .filter(function (ue) { + return ue.isNode() && n.has(ue); + }) + .forEach(I); + else if (D === null) { + tn( + 'Detected double maximal shift for node `' + + O.id() + + '`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.' + ); + break; + } + } + } + L(); + var P = 0; + if (e.avoidOverlap) + for (var F = 0; F < i.length; F++) { + var B = i[F], + $ = B.layoutDimensions(e), + z = $.w, + Y = $.h; + P = Math.max(P, z, Y); + } + var Q = {}, + X = o(function (te) { + if (Q[te.id()]) return Q[te.id()]; + for ( + var De = Kg(te).depth, oe = te.neighborhood(), ke = 0, Ie = 0, Se = 0; + Se < oe.length; + Se++ + ) { + var Ue = oe[Se]; + if (!(Ue.isEdge() || Ue.isParent() || !i.has(Ue))) { + var Pe = Kg(Ue); + if (Pe != null) { + var _e = Pe.index, + me = Pe.depth; + if (!(_e == null || me == null)) { + var W = x[me].length; + me < De && ((ke += _e / W), Ie++); + } + } + } + } + return (Ie = Math.max(1, Ie)), (ke = ke / Ie), Ie === 0 && (ke = 0), (Q[te.id()] = ke), ke; + }, 'getWeightedPercent'), + ie = o(function (te, De) { + var oe = X(te), + ke = X(De), + Ie = oe - ke; + return Ie === 0 ? Ape(te.id(), De.id()) : Ie; + }, 'sortFn'); + e.depthSort !== void 0 && (ie = e.depthSort); + for (var j = 0; j < x.length; j++) x[j].sort(ie), A(j); + for (var J = [], Z = 0; Z < T.length; Z++) J.push(T[Z]); + x.unshift(J), L(); + for (var H = 0, q = 0; q < x.length; q++) H = Math.max(x[q].length, H); + var K = { x: u.x1 + u.w / 2, y: u.x1 + u.h / 2 }, + se = x.reduce(function (ue, te) { + return Math.max(ue, te.length); + }, 0), + ce = o(function (te) { + var De = Kg(te), + oe = De.depth, + ke = De.index, + Ie = x[oe].length, + Se = Math.max(u.w / ((e.grid ? se : Ie) + 1), P), + Ue = Math.max(u.h / (x.length + 1), P), + Pe = Math.min(u.w / 2 / x.length, u.h / 2 / x.length); + if (((Pe = Math.max(Pe, P)), e.circle)) { + var me = Pe * oe + Pe - (x.length > 0 && x[0].length <= 3 ? Pe / 2 : 0), + W = ((2 * Math.PI) / x[oe].length) * ke; + return ( + oe === 0 && x[0].length === 1 && (me = 1), + { x: K.x + me * Math.cos(W), y: K.y + me * Math.sin(W) } + ); + } else { + var _e = { + x: K.x + (ke + 1 - (Ie + 1) / 2) * Se, + y: (oe + 1) * Ue + }; + return _e; + } + }, 'getPosition'); + return n.nodes().layoutPositions(this, e, ce), this; + }; + zKe = { + 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: o(function (e, r) { + return !0; + }, 'animateFilter'), + ready: void 0, + stop: void 0, + transform: o(function (e, r) { + return r; + }, 'transform') + }; + o(_me, 'CircleLayout'); + _me.prototype.run = function () { + var t = this.options, + e = t, + r = t.cy, + n = e.eles, + i = e.counterclockwise !== void 0 ? !e.counterclockwise : e.clockwise, + a = n.nodes().not(':parent'); + e.sort && (a = a.sort(e.sort)); + for ( + var s = Gs(e.boundingBox ? e.boundingBox : { x1: 0, y1: 0, w: r.width(), h: r.height() }), + l = { x: s.x1 + s.w / 2, y: s.y1 + s.h / 2 }, + u = e.sweep === void 0 ? 2 * Math.PI - (2 * Math.PI) / a.length : e.sweep, + h = u / Math.max(1, a.length - 1), + f, + d = 0, + p = 0; + p < a.length; + p++ + ) { + var m = a[p], + g = m.layoutDimensions(e), + y = g.w, + v = g.h; + d = Math.max(d, y, v); + } + if ( + (ft(e.radius) ? (f = e.radius) : a.length <= 1 ? (f = 0) : (f = Math.min(s.h, s.w) / 2 - d), + a.length > 1 && e.avoidOverlap) + ) { + d *= 1.75; + var x = Math.cos(h) - Math.cos(0), + b = Math.sin(h) - Math.sin(0), + w = Math.sqrt((d * d) / (x * x + b * b)); + f = Math.max(w, f); + } + var S = o(function (E, _) { + var A = e.startAngle + _ * h * (i ? 1 : -1), + L = f * Math.cos(A), + M = f * Math.sin(A), + N = { x: l.x + L, y: l.y + M }; + return N; + }, 'getPos'); + return n.nodes().layoutPositions(this, e, S), this; + }; + GKe = { + 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: o(function (e) { + return e.degree(); + }, 'concentric'), + levelWidth: o(function (e) { + return e.maxDegree() / 4; + }, 'levelWidth'), + animate: !1, + animationDuration: 500, + animationEasing: void 0, + animateFilter: o(function (e, r) { + return !0; + }, 'animateFilter'), + ready: void 0, + stop: void 0, + transform: o(function (e, r) { + return r; + }, 'transform') + }; + o(Lme, 'ConcentricLayout'); + Lme.prototype.run = function () { + for ( + var t = this.options, + e = t, + r = e.counterclockwise !== void 0 ? !e.counterclockwise : e.clockwise, + n = t.cy, + i = e.eles, + a = i.nodes().not(':parent'), + s = Gs(e.boundingBox ? e.boundingBox : { x1: 0, y1: 0, w: n.width(), h: n.height() }), + l = { x: s.x1 + s.w / 2, y: s.y1 + s.h / 2 }, + u = [], + h = 0, + f = 0; + f < a.length; + f++ + ) { + var d = a[f], + p = void 0; + (p = e.concentric(d)), u.push({ value: p, node: d }), (d._private.scratch.concentric = p); + } + a.updateStyle(); + for (var m = 0; m < a.length; m++) { + var g = a[m], + y = g.layoutDimensions(e); + h = Math.max(h, y.w, y.h); + } + u.sort(function (ue, te) { + return te.value - ue.value; + }); + for (var v = e.levelWidth(a), x = [[]], b = x[0], w = 0; w < u.length; w++) { + var S = u[w]; + if (b.length > 0) { + var T = Math.abs(b[0].value - S.value); + T >= v && ((b = []), x.push(b)); + } + b.push(S); + } + var E = h + e.minNodeSpacing; + if (!e.avoidOverlap) { + var _ = x.length > 0 && x[0].length > 1, + A = Math.min(s.w, s.h) / 2 - E, + L = A / (x.length + _ ? 1 : 0); + E = Math.min(E, L); + } + for (var M = 0, N = 0; N < x.length; N++) { + var k = x[N], + I = e.sweep === void 0 ? 2 * Math.PI - (2 * Math.PI) / k.length : e.sweep, + C = (k.dTheta = I / Math.max(1, k.length - 1)); + if (k.length > 1 && e.avoidOverlap) { + var O = Math.cos(C) - Math.cos(0), + D = Math.sin(C) - Math.sin(0), + P = Math.sqrt((E * E) / (O * O + D * D)); + M = Math.max(P, M); + } + (k.r = M), (M += E); + } + if (e.equidistant) { + for (var F = 0, B = 0, $ = 0; $ < x.length; $++) { + var z = x[$], + Y = z.r - B; + F = Math.max(F, Y); + } + B = 0; + for (var Q = 0; Q < x.length; Q++) { + var X = x[Q]; + Q === 0 && (B = X.r), (X.r = B), (B += F); + } + } + for (var ie = {}, j = 0; j < x.length; j++) + for (var J = x[j], Z = J.dTheta, H = J.r, q = 0; q < J.length; q++) { + var K = J[q], + se = e.startAngle + (r ? 1 : -1) * Z * q, + ce = { x: l.x + H * Math.cos(se), y: l.y + H * Math.sin(se) }; + ie[K.node.id()] = ce; + } + return ( + i.nodes().layoutPositions(this, e, function (ue) { + var te = ue.id(); + return ie[te]; + }), + this + ); + }; + $Ke = { + ready: o(function () {}, 'ready'), + stop: o(function () {}, 'stop'), + animate: !0, + animationEasing: void 0, + animationDuration: void 0, + animateFilter: o(function (e, r) { + return !0; + }, 'animateFilter'), + animationThreshold: 250, + refresh: 20, + fit: !0, + padding: 30, + boundingBox: void 0, + nodeDimensionsIncludeLabels: !1, + randomize: !1, + componentSpacing: 40, + nodeRepulsion: o(function (e) { + return 2048; + }, 'nodeRepulsion'), + nodeOverlap: 4, + idealEdgeLength: o(function (e) { + return 32; + }, 'idealEdgeLength'), + edgeElasticity: o(function (e) { + return 32; + }, 'edgeElasticity'), + nestingFactor: 1.2, + gravity: 1, + numIter: 1e3, + initialTemp: 1e3, + coolingFactor: 0.99, + minTemp: 1 + }; + o(j6, 'CoseLayout'); + j6.prototype.run = function () { + var t = this.options, + e = t.cy, + r = this; + (r.stopped = !1), + (t.animate === !0 || t.animate === !1) && r.emit({ type: 'layoutstart', layout: r }), + t.debug === !0 ? (_P = !0) : (_P = !1); + var n = VKe(e, r, t); + _P && YKe(n), t.randomize && WKe(n); + var i = Ku(), + a = o(function () { + qKe(n, e, t), t.fit === !0 && e.fit(t.padding); + }, 'refresh'), + s = o(function (p) { + return !( + r.stopped || + p >= t.numIter || + (XKe(n, t), (n.temperature = n.temperature * t.coolingFactor), n.temperature < t.minTemp) + ); + }, 'mainLoop'), + l = o(function () { + if (t.animate === !0 || t.animate === !1) + a(), r.one('layoutstop', t.stop), r.emit({ type: 'layoutstop', layout: r }); + else { + var p = t.eles.nodes(), + m = Dme(n, t, p); + p.layoutPositions(r, t, m); + } + }, 'done'), + u = 0, + h = !0; + if (t.animate === !0) { + var f = o(function d() { + for (var p = 0; h && p < t.refresh; ) (h = s(u)), u++, p++; + if (!h) rpe(n, t), l(); + else { + var m = Ku(); + m - i >= t.animationThreshold && a(), E6(d); + } + }, 'frame'); + f(); + } else { + for (; h; ) (h = s(u)), u++; + rpe(n, t), l(); + } + return this; + }; + j6.prototype.stop = function () { + return (this.stopped = !0), this.thread && this.thread.stop(), this.emit('layoutstop'), this; + }; + j6.prototype.destroy = function () { + return this.thread && this.thread.stop(), this; + }; + (VKe = o(function (e, r, n) { + for ( + var i = n.eles.edges(), + a = n.eles.nodes(), + s = Gs(n.boundingBox ? n.boundingBox : { x1: 0, y1: 0, w: e.width(), h: e.height() }), + l = { + isCompound: e.hasCompoundNodes(), + layoutNodes: [], + idToIndex: {}, + nodeSize: a.size(), + graphSet: [], + indexToGraph: [], + layoutEdges: [], + edgeSize: i.size(), + temperature: n.initialTemp, + clientWidth: s.w, + clientHeight: s.h, + boundingBox: s + }, + u = n.eles.components(), + h = {}, + f = 0; + f < u.length; + f++ + ) + for (var d = u[f], p = 0; p < d.length; p++) { + var m = d[p]; + h[m.id()] = f; + } + for (var f = 0; f < l.nodeSize; f++) { + var g = a[f], + y = g.layoutDimensions(n), + v = {}; + (v.isLocked = g.locked()), + (v.id = g.data('id')), + (v.parentId = g.data('parent')), + (v.cmptId = h[g.id()]), + (v.children = []), + (v.positionX = g.position('x')), + (v.positionY = g.position('y')), + (v.offsetX = 0), + (v.offsetY = 0), + (v.height = y.w), + (v.width = y.h), + (v.maxX = v.positionX + v.width / 2), + (v.minX = v.positionX - v.width / 2), + (v.maxY = v.positionY + v.height / 2), + (v.minY = v.positionY - v.height / 2), + (v.padLeft = parseFloat(g.style('padding'))), + (v.padRight = parseFloat(g.style('padding'))), + (v.padTop = parseFloat(g.style('padding'))), + (v.padBottom = parseFloat(g.style('padding'))), + (v.nodeRepulsion = jn(n.nodeRepulsion) ? n.nodeRepulsion(g) : n.nodeRepulsion), + l.layoutNodes.push(v), + (l.idToIndex[v.id] = f); + } + for (var x = [], b = 0, w = -1, S = [], f = 0; f < l.nodeSize; f++) { + var g = l.layoutNodes[f], + T = g.parentId; + T != null ? l.layoutNodes[l.idToIndex[T]].children.push(g.id) : ((x[++w] = g.id), S.push(g.id)); + } + for (l.graphSet.push(S); b <= w; ) { + var E = x[b++], + _ = l.idToIndex[E], + m = l.layoutNodes[_], + A = m.children; + if (A.length > 0) { + l.graphSet.push(A); + for (var f = 0; f < A.length; f++) x[++w] = A[f]; + } + } + for (var f = 0; f < l.graphSet.length; f++) + for (var L = l.graphSet[f], p = 0; p < L.length; p++) { + var M = l.idToIndex[L[p]]; + l.indexToGraph[M] = f; + } + for (var f = 0; f < l.edgeSize; f++) { + var N = i[f], + k = {}; + (k.id = N.data('id')), (k.sourceId = N.data('source')), (k.targetId = N.data('target')); + var I = jn(n.idealEdgeLength) ? n.idealEdgeLength(N) : n.idealEdgeLength, + C = jn(n.edgeElasticity) ? n.edgeElasticity(N) : n.edgeElasticity, + O = l.idToIndex[k.sourceId], + D = l.idToIndex[k.targetId], + P = l.indexToGraph[O], + F = l.indexToGraph[D]; + if (P != F) { + for ( + var B = UKe(k.sourceId, k.targetId, l), $ = l.graphSet[B], z = 0, v = l.layoutNodes[O]; + $.indexOf(v.id) === -1; + + ) + (v = l.layoutNodes[l.idToIndex[v.parentId]]), z++; + for (v = l.layoutNodes[D]; $.indexOf(v.id) === -1; ) + (v = l.layoutNodes[l.idToIndex[v.parentId]]), z++; + I *= z * n.nestingFactor; + } + (k.idealLength = I), (k.elasticity = C), l.layoutEdges.push(k); + } + return l; + }, 'createLayoutInfo')), + (UKe = o(function (e, r, n) { + var i = HKe(e, r, 0, n); + return 2 > i.count ? 0 : i.graph; + }, 'findLCA')), + (HKe = o(function t(e, r, n, i) { + var a = i.graphSet[n]; + if (-1 < a.indexOf(e) && -1 < a.indexOf(r)) return { count: 2, graph: n }; + for (var s = 0, l = 0; l < a.length; l++) { + var u = a[l], + h = i.idToIndex[u], + f = i.layoutNodes[h].children; + if (f.length !== 0) { + var d = i.indexToGraph[i.idToIndex[f[0]]], + p = t(e, r, d, i); + if (p.count !== 0) + if (p.count === 1) { + if ((s++, s === 2)) break; + } else return p; + } + } + return { count: s, graph: n }; + }, 'findLCA_aux')), + (WKe = o(function (e, r) { + for (var n = e.clientWidth, i = e.clientHeight, a = 0; a < e.nodeSize; a++) { + var s = e.layoutNodes[a]; + s.children.length === 0 && + !s.isLocked && + ((s.positionX = Math.random() * n), (s.positionY = Math.random() * i)); + } + }, 'randomizePositions')), + (Dme = o(function (e, r, n) { + var i = e.boundingBox, + a = { x1: 1 / 0, x2: -1 / 0, y1: 1 / 0, y2: -1 / 0 }; + return ( + r.boundingBox && + (n.forEach(function (s) { + var l = e.layoutNodes[e.idToIndex[s.data('id')]]; + (a.x1 = Math.min(a.x1, l.positionX)), + (a.x2 = Math.max(a.x2, l.positionX)), + (a.y1 = Math.min(a.y1, l.positionY)), + (a.y2 = Math.max(a.y2, l.positionY)); + }), + (a.w = a.x2 - a.x1), + (a.h = a.y2 - a.y1)), + function (s, l) { + var u = e.layoutNodes[e.idToIndex[s.data('id')]]; + if (r.boundingBox) { + var h = (u.positionX - a.x1) / a.w, + f = (u.positionY - a.y1) / a.h; + return { x: i.x1 + h * i.w, y: i.y1 + f * i.h }; + } else return { x: u.positionX, y: u.positionY }; + } + ); + }, 'getScaleInBoundsFn')), + (qKe = o(function (e, r, n) { + var i = n.layout, + a = n.eles.nodes(), + s = Dme(e, n, a); + a.positions(s), + e.ready !== !0 && + ((e.ready = !0), + i.one('layoutready', n.ready), + i.emit({ type: 'layoutready', layout: this })); + }, 'refreshPositions')), + (XKe = o(function (e, r, n) { + jKe(e, r), ZKe(e), JKe(e, r), eQe(e), tQe(e); + }, 'step')), + (jKe = o(function (e, r) { + for (var n = 0; n < e.graphSet.length; n++) + for (var i = e.graphSet[n], a = i.length, s = 0; s < a; s++) + for (var l = e.layoutNodes[e.idToIndex[i[s]]], u = s + 1; u < a; u++) { + var h = e.layoutNodes[e.idToIndex[i[u]]]; + KKe(l, h, e, r); + } + }, 'calculateNodeForces')), + (tpe = o(function (e) { + return -e + 2 * e * Math.random(); + }, 'randomDistance')), + (KKe = o(function (e, r, n, i) { + var a = e.cmptId, + s = r.cmptId; + if (!(a !== s && !n.isCompound)) { + var l = r.positionX - e.positionX, + u = r.positionY - e.positionY, + h = 1; + l === 0 && u === 0 && ((l = tpe(h)), (u = tpe(h))); + var f = QKe(e, r, l, u); + if (f > 0) + var d = i.nodeOverlap * f, + p = Math.sqrt(l * l + u * u), + m = (d * l) / p, + g = (d * u) / p; + else + var y = R6(e, l, u), + v = R6(r, -1 * l, -1 * u), + x = v.x - y.x, + b = v.y - y.y, + w = x * x + b * b, + p = Math.sqrt(w), + d = (e.nodeRepulsion + r.nodeRepulsion) / w, + m = (d * x) / p, + g = (d * b) / p; + e.isLocked || ((e.offsetX -= m), (e.offsetY -= g)), + r.isLocked || ((r.offsetX += m), (r.offsetY += g)); + } + }, 'nodeRepulsion')), + (QKe = o(function (e, r, n, i) { + if (n > 0) var a = e.maxX - r.minX; + else var a = r.maxX - e.minX; + if (i > 0) var s = e.maxY - r.minY; + else var s = r.maxY - e.minY; + return a >= 0 && s >= 0 ? Math.sqrt(a * a + s * s) : 0; + }, 'nodesOverlap')), + (R6 = o(function (e, r, n) { + var i = e.positionX, + a = e.positionY, + s = e.height || 1, + l = e.width || 1, + u = n / r, + h = s / l, + f = {}; + return (r === 0 && 0 < n) || (r === 0 && 0 > n) + ? ((f.x = i), (f.y = a + s / 2), f) + : 0 < r && -1 * h <= u && u <= h + ? ((f.x = i + l / 2), (f.y = a + (l * n) / 2 / r), f) + : 0 > r && -1 * h <= u && u <= h + ? ((f.x = i - l / 2), (f.y = a - (l * n) / 2 / r), f) + : 0 < n && (u <= -1 * h || u >= h) + ? ((f.x = i + (s * r) / 2 / n), (f.y = a + s / 2), f) + : (0 > n && (u <= -1 * h || u >= h) && ((f.x = i - (s * r) / 2 / n), (f.y = a - s / 2)), f); + }, 'findClippingPoint')), + (ZKe = o(function (e, r) { + for (var n = 0; n < e.edgeSize; n++) { + var i = e.layoutEdges[n], + a = e.idToIndex[i.sourceId], + s = e.layoutNodes[a], + l = e.idToIndex[i.targetId], + u = e.layoutNodes[l], + h = u.positionX - s.positionX, + f = u.positionY - s.positionY; + if (!(h === 0 && f === 0)) { + var d = R6(s, h, f), + p = R6(u, -1 * h, -1 * f), + m = p.x - d.x, + g = p.y - d.y, + y = Math.sqrt(m * m + g * g), + v = Math.pow(i.idealLength - y, 2) / i.elasticity; + if (y !== 0) + var x = (v * m) / y, + b = (v * g) / y; + else + var x = 0, + b = 0; + s.isLocked || ((s.offsetX += x), (s.offsetY += b)), + u.isLocked || ((u.offsetX -= x), (u.offsetY -= b)); + } + } + }, 'calculateEdgeForces')), + (JKe = o(function (e, r) { + if (r.gravity !== 0) + for (var n = 1, i = 0; i < e.graphSet.length; i++) { + var a = e.graphSet[i], + s = a.length; + if (i === 0) + var l = e.clientHeight / 2, + u = e.clientWidth / 2; + else + var h = e.layoutNodes[e.idToIndex[a[0]]], + f = e.layoutNodes[e.idToIndex[h.parentId]], + l = f.positionX, + u = f.positionY; + for (var d = 0; d < s; d++) { + var p = e.layoutNodes[e.idToIndex[a[d]]]; + if (!p.isLocked) { + var m = l - p.positionX, + g = u - p.positionY, + y = Math.sqrt(m * m + g * g); + if (y > n) { + var v = (r.gravity * m) / y, + x = (r.gravity * g) / y; + (p.offsetX += v), (p.offsetY += x); + } + } + } + } + }, 'calculateGravityForces')), + (eQe = o(function (e, r) { + var n = [], + i = 0, + a = -1; + for (n.push.apply(n, e.graphSet[0]), a += e.graphSet[0].length; i <= a; ) { + var s = n[i++], + l = e.idToIndex[s], + u = e.layoutNodes[l], + h = u.children; + if (0 < h.length && !u.isLocked) { + for (var f = u.offsetX, d = u.offsetY, p = 0; p < h.length; p++) { + var m = e.layoutNodes[e.idToIndex[h[p]]]; + (m.offsetX += f), (m.offsetY += d), (n[++a] = h[p]); + } + (u.offsetX = 0), (u.offsetY = 0); + } + } + }, 'propagateForces')), + (tQe = o(function (e, r) { + for (var n = 0; n < e.nodeSize; n++) { + var i = e.layoutNodes[n]; + 0 < i.children.length && + ((i.maxX = void 0), (i.minX = void 0), (i.maxY = void 0), (i.minY = void 0)); + } + for (var n = 0; n < e.nodeSize; n++) { + var i = e.layoutNodes[n]; + if (!(0 < i.children.length || i.isLocked)) { + var a = rQe(i.offsetX, i.offsetY, e.temperature); + (i.positionX += a.x), + (i.positionY += a.y), + (i.offsetX = 0), + (i.offsetY = 0), + (i.minX = i.positionX - i.width), + (i.maxX = i.positionX + i.width), + (i.minY = i.positionY - i.height), + (i.maxY = i.positionY + i.height), + nQe(i, e); + } + } + for (var n = 0; n < e.nodeSize; n++) { + var i = e.layoutNodes[n]; + 0 < i.children.length && + !i.isLocked && + ((i.positionX = (i.maxX + i.minX) / 2), + (i.positionY = (i.maxY + i.minY) / 2), + (i.width = i.maxX - i.minX), + (i.height = i.maxY - i.minY)); + } + }, 'updatePositions')), + (rQe = o(function (e, r, n) { + var i = Math.sqrt(e * e + r * r); + if (i > n) var a = { x: (n * e) / i, y: (n * r) / i }; + else var a = { x: e, y: r }; + return a; + }, 'limitForce')), + (nQe = o(function t(e, r) { + var n = e.parentId; + if (n != null) { + var i = r.layoutNodes[r.idToIndex[n]], + a = !1; + if ( + ((i.maxX == null || e.maxX + i.padRight > i.maxX) && + ((i.maxX = e.maxX + i.padRight), (a = !0)), + (i.minX == null || e.minX - i.padLeft < i.minX) && + ((i.minX = e.minX - i.padLeft), (a = !0)), + (i.maxY == null || e.maxY + i.padBottom > i.maxY) && + ((i.maxY = e.maxY + i.padBottom), (a = !0)), + (i.minY == null || e.minY - i.padTop < i.minY) && ((i.minY = e.minY - i.padTop), (a = !0)), + a) + ) + return t(i, r); + } + }, 'updateAncestryBoundaries')), + (rpe = o(function (e, r) { + for (var n = e.layoutNodes, i = [], a = 0; a < n.length; a++) { + var s = n[a], + l = s.cmptId, + u = (i[l] = i[l] || []); + u.push(s); + } + for (var h = 0, a = 0; a < i.length; a++) { + var f = i[a]; + if (f) { + (f.x1 = 1 / 0), (f.x2 = -1 / 0), (f.y1 = 1 / 0), (f.y2 = -1 / 0); + for (var d = 0; d < f.length; d++) { + var p = f[d]; + (f.x1 = Math.min(f.x1, p.positionX - p.width / 2)), + (f.x2 = Math.max(f.x2, p.positionX + p.width / 2)), + (f.y1 = Math.min(f.y1, p.positionY - p.height / 2)), + (f.y2 = Math.max(f.y2, p.positionY + p.height / 2)); + } + (f.w = f.x2 - f.x1), (f.h = f.y2 - f.y1), (h += f.w * f.h); + } + } + i.sort(function (b, w) { + return w.w * w.h - b.w * b.h; + }); + for ( + var m = 0, g = 0, y = 0, v = 0, x = (Math.sqrt(h) * e.clientWidth) / e.clientHeight, a = 0; + a < i.length; + a++ + ) { + var f = i[a]; + if (f) { + for (var d = 0; d < f.length; d++) { + var p = f[d]; + p.isLocked || ((p.positionX += m - f.x1), (p.positionY += g - f.y1)); + } + (m += f.w + r.componentSpacing), + (y += f.w + r.componentSpacing), + (v = Math.max(v, f.h)), + y > x && ((g += v + r.componentSpacing), (m = 0), (y = 0), (v = 0)); + } + } + }, 'separateComponents')), + (iQe = { + 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: o(function (e) {}, 'position'), + sort: void 0, + animate: !1, + animationDuration: 500, + animationEasing: void 0, + animateFilter: o(function (e, r) { + return !0; + }, 'animateFilter'), + ready: void 0, + stop: void 0, + transform: o(function (e, r) { + return r; + }, 'transform') + }); + o(Rme, 'GridLayout'); + Rme.prototype.run = function () { + var t = this.options, + e = t, + r = t.cy, + n = e.eles, + i = n.nodes().not(':parent'); + e.sort && (i = i.sort(e.sort)); + var a = Gs(e.boundingBox ? e.boundingBox : { x1: 0, y1: 0, w: r.width(), h: r.height() }); + if (a.h === 0 || a.w === 0) + n.nodes().layoutPositions(this, e, function (Q) { + return { x: a.x1, y: a.y1 }; + }); + else { + var s = i.size(), + l = Math.sqrt((s * a.h) / a.w), + u = Math.round(l), + h = Math.round((a.w / a.h) * l), + f = o(function (X) { + if (X == null) return Math.min(u, h); + var ie = Math.min(u, h); + ie == u ? (u = X) : (h = X); + }, 'small'), + d = o(function (X) { + if (X == null) return Math.max(u, h); + var ie = Math.max(u, h); + ie == u ? (u = X) : (h = X); + }, 'large'), + p = e.rows, + m = e.cols != null ? e.cols : e.columns; + if (p != null && m != null) (u = p), (h = m); + else if (p != null && m == null) (u = p), (h = Math.ceil(s / u)); + else if (p == null && m != null) (h = m), (u = Math.ceil(s / h)); + else if (h * u > s) { + var g = f(), + y = d(); + (g - 1) * y >= s ? f(g - 1) : (y - 1) * g >= s && d(y - 1); + } else + for (; h * u < s; ) { + var v = f(), + x = d(); + (x + 1) * v >= s ? d(x + 1) : f(v + 1); + } + var b = a.w / h, + w = a.h / u; + if ((e.condense && ((b = 0), (w = 0)), e.avoidOverlap)) + for (var S = 0; S < i.length; S++) { + var T = i[S], + E = T._private.position; + (E.x == null || E.y == null) && ((E.x = 0), (E.y = 0)); + var _ = T.layoutDimensions(e), + A = e.avoidOverlapPadding, + L = _.w + A, + M = _.h + A; + (b = Math.max(b, L)), (w = Math.max(w, M)); + } + for ( + var N = {}, + k = o(function (X, ie) { + return !!N['c-' + X + '-' + ie]; + }, 'used'), + I = o(function (X, ie) { + N['c-' + X + '-' + ie] = !0; + }, 'use'), + C = 0, + O = 0, + D = o(function () { + O++, O >= h && ((O = 0), C++); + }, 'moveToNextCell'), + P = {}, + F = 0; + F < i.length; + F++ + ) { + var B = i[F], + $ = e.position(B); + if ($ && ($.row !== void 0 || $.col !== void 0)) { + var z = { row: $.row, col: $.col }; + if (z.col === void 0) for (z.col = 0; k(z.row, z.col); ) z.col++; + else if (z.row === void 0) for (z.row = 0; k(z.row, z.col); ) z.row++; + (P[B.id()] = z), I(z.row, z.col); + } + } + var Y = o(function (X, ie) { + var j, J; + if (X.locked() || X.isParent()) return !1; + var Z = P[X.id()]; + if (Z) (j = Z.col * b + b / 2 + a.x1), (J = Z.row * w + w / 2 + a.y1); + else { + for (; k(C, O); ) D(); + (j = O * b + b / 2 + a.x1), (J = C * w + w / 2 + a.y1), I(C, O), D(); + } + return { x: j, y: J }; + }, 'getPos'); + i.layoutPositions(this, e, Y); + } + return this; + }; + aQe = { + ready: o(function () {}, 'ready'), + stop: o(function () {}, 'stop') + }; + o(dB, 'NullLayout'); + dB.prototype.run = function () { + var t = this.options, + e = t.eles, + r = this; + return ( + t.cy, + r.emit('layoutstart'), + e.nodes().positions(function () { + return { x: 0, y: 0 }; + }), + r.one('layoutready', t.ready), + r.emit('layoutready'), + r.one('layoutstop', t.stop), + r.emit('layoutstop'), + this + ); + }; + dB.prototype.stop = function () { + return this; + }; + sQe = { + positions: void 0, + zoom: void 0, + pan: void 0, + fit: !0, + padding: 30, + spacingFactor: void 0, + animate: !1, + animationDuration: 500, + animationEasing: void 0, + animateFilter: o(function (e, r) { + return !0; + }, 'animateFilter'), + ready: void 0, + stop: void 0, + transform: o(function (e, r) { + return r; + }, 'transform') + }; + o(Nme, 'PresetLayout'); + Nme.prototype.run = function () { + var t = this.options, + e = t.eles, + r = e.nodes(), + n = jn(t.positions); + function i(a) { + if (t.positions == null) return uWe(a.position()); + if (n) return t.positions(a); + var s = t.positions[a._private.data.id]; + return s ?? null; + } + return ( + o(i, 'getPosition'), + r.layoutPositions(this, t, function (a, s) { + var l = i(a); + return a.locked() || l == null ? !1 : l; + }), + this + ); + }; + oQe = { + fit: !0, + padding: 30, + boundingBox: void 0, + animate: !1, + animationDuration: 500, + animationEasing: void 0, + animateFilter: o(function (e, r) { + return !0; + }, 'animateFilter'), + ready: void 0, + stop: void 0, + transform: o(function (e, r) { + return r; + }, 'transform') + }; + o(Mme, 'RandomLayout'); + Mme.prototype.run = function () { + var t = this.options, + e = t.cy, + r = t.eles, + n = Gs(t.boundingBox ? t.boundingBox : { x1: 0, y1: 0, w: e.width(), h: e.height() }), + i = o(function (s, l) { + return { + x: n.x1 + Math.round(Math.random() * n.w), + y: n.y1 + Math.round(Math.random() * n.h) + }; + }, 'getPos'); + return r.nodes().layoutPositions(this, t, i), this; + }; + lQe = [ + { name: 'breadthfirst', impl: Ame }, + { name: 'circle', impl: _me }, + { name: 'concentric', impl: Lme }, + { name: 'cose', impl: j6 }, + { name: 'grid', impl: Rme }, + { name: 'null', impl: dB }, + { name: 'preset', impl: Nme }, + { name: 'random', impl: Mme } + ]; + o(Ime, 'NullRenderer'); + (npe = o(function () {}, 'noop')), + (ipe = o(function () { + throw new Error('A headless instance can not render images'); + }, 'throwImgErr')); + Ime.prototype = { + recalculateRenderedStyle: npe, + notify: o(function () { + this.notifications++; + }, 'notify'), + init: npe, + isHeadless: o(function () { + return !0; + }, 'isHeadless'), + png: ipe, + jpg: ipe + }; + pB = {}; + pB.arrowShapeWidth = 0.3; + pB.registerArrowShapes = function () { + var t = (this.arrowShapes = {}), + e = this, + r = o(function (h, f, d, p, m, g, y) { + var v = m.x - d / 2 - y, + x = m.x + d / 2 + y, + b = m.y - d / 2 - y, + w = m.y + d / 2 + y, + S = v <= h && h <= x && b <= f && f <= w; + return S; + }, 'bbCollide'), + n = o(function (h, f, d, p, m) { + var g = h * Math.cos(p) - f * Math.sin(p), + y = h * Math.sin(p) + f * Math.cos(p), + v = g * d, + x = y * d, + b = v + m.x, + w = x + m.y; + return { x: b, y: w }; + }, 'transform'), + i = o(function (h, f, d, p) { + for (var m = [], g = 0; g < h.length; g += 2) { + var y = h[g], + v = h[g + 1]; + m.push(n(y, v, f, d, p)); + } + return m; + }, 'transformPoints'), + a = o(function (h) { + for (var f = [], d = 0; d < h.length; d++) { + var p = h[d]; + f.push(p.x, p.y); + } + return f; + }, 'pointsToArr'), + s = o(function (h) { + return h.pstyle('width').pfValue * h.pstyle('arrow-scale').pfValue * 2; + }, 'standardGap'), + l = o(function (h, f) { + zt(f) && (f = t[f]), + (t[h] = Wt( + { + name: h, + points: [-0.15, -0.3, 0.15, -0.3, 0.15, 0.3, -0.15, 0.3], + collide: o(function (p, m, g, y, v, x) { + var b = a(i(this.points, g + 2 * x, y, v)), + w = zs(p, m, b); + return w; + }, 'collide'), + roughCollide: r, + draw: o(function (p, m, g, y) { + var v = i(this.points, m, g, y); + e.arrowShapeImpl('polygon')(p, v); + }, 'draw'), + spacing: o(function (p) { + return 0; + }, 'spacing'), + gap: s + }, + f + )); + }, 'defineArrowShape'); + l('none', { + collide: C6, + roughCollide: C6, + draw: JP, + spacing: p0e, + gap: p0e + }), + l('triangle', { points: [-0.15, -0.3, 0, 0, 0.15, -0.3] }), + l('arrow', 'triangle'), + l('triangle-backcurve', { + points: t.triangle.points, + controlPoint: [0, -0.15], + roughCollide: r, + draw: o(function (h, f, d, p, m) { + var g = i(this.points, f, d, p), + y = this.controlPoint, + v = n(y[0], y[1], f, d, p); + e.arrowShapeImpl(this.name)(h, g, v); + }, 'draw'), + gap: o(function (h) { + return s(h) * 0.8; + }, 'gap') + }), + l('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: o(function (h, f, d, p, m, g, y) { + var v = a(i(this.points, d + 2 * y, p, m)), + x = a(i(this.pointsTee, d + 2 * y, p, m)), + b = zs(h, f, v) || zs(h, f, x); + return b; + }, 'collide'), + draw: o(function (h, f, d, p, m) { + var g = i(this.points, f, d, p), + y = i(this.pointsTee, f, d, p); + e.arrowShapeImpl(this.name)(h, g, y); + }, 'draw') + }), + l('circle-triangle', { + radius: 0.15, + pointsTr: [0, -0.15, 0.15, -0.45, -0.15, -0.45, 0, -0.15], + collide: o(function (h, f, d, p, m, g, y) { + var v = m, + x = + Math.pow(v.x - h, 2) + Math.pow(v.y - f, 2) <= + Math.pow((d + 2 * y) * this.radius, 2), + b = a(i(this.points, d + 2 * y, p, m)); + return zs(h, f, b) || x; + }, 'collide'), + draw: o(function (h, f, d, p, m) { + var g = i(this.pointsTr, f, d, p); + e.arrowShapeImpl(this.name)(h, g, p.x, p.y, this.radius * f); + }, 'draw'), + spacing: o(function (h) { + return ( + e.getArrowWidth(h.pstyle('width').pfValue, h.pstyle('arrow-scale').value) * this.radius + ); + }, 'spacing') + }), + l('triangle-cross', { + points: [0, 0, 0.15, -0.3, -0.15, -0.3, 0, 0], + baseCrossLinePts: [-0.15, -0.4, -0.15, -0.4, 0.15, -0.4, 0.15, -0.4], + crossLinePts: o(function (h, f) { + var d = this.baseCrossLinePts.slice(), + p = f / h, + m = 3, + g = 5; + return (d[m] = d[m] - p), (d[g] = d[g] - p), d; + }, 'crossLinePts'), + collide: o(function (h, f, d, p, m, g, y) { + var v = a(i(this.points, d + 2 * y, p, m)), + x = a(i(this.crossLinePts(d, g), d + 2 * y, p, m)), + b = zs(h, f, v) || zs(h, f, x); + return b; + }, 'collide'), + draw: o(function (h, f, d, p, m) { + var g = i(this.points, f, d, p), + y = i(this.crossLinePts(f, m), f, d, p); + e.arrowShapeImpl(this.name)(h, g, y); + }, 'draw') + }), + l('vee', { + points: [-0.15, -0.3, 0, 0, 0.15, -0.3, 0, -0.15], + gap: o(function (h) { + return s(h) * 0.525; + }, 'gap') + }), + l('circle', { + radius: 0.15, + collide: o(function (h, f, d, p, m, g, y) { + var v = m, + x = + Math.pow(v.x - h, 2) + Math.pow(v.y - f, 2) <= + Math.pow((d + 2 * y) * this.radius, 2); + return x; + }, 'collide'), + draw: o(function (h, f, d, p, m) { + e.arrowShapeImpl(this.name)(h, p.x, p.y, this.radius * f); + }, 'draw'), + spacing: o(function (h) { + return ( + e.getArrowWidth(h.pstyle('width').pfValue, h.pstyle('arrow-scale').value) * this.radius + ); + }, 'spacing') + }), + l('tee', { + points: [-0.15, 0, -0.15, -0.1, 0.15, -0.1, 0.15, 0], + spacing: o(function (h) { + return 1; + }, 'spacing'), + gap: o(function (h) { + return 1; + }, 'gap') + }), + l('square', { points: [-0.15, 0, 0.15, 0, 0.15, -0.3, -0.15, -0.3] }), + l('diamond', { + points: [-0.15, -0.15, 0, -0.3, 0.15, -0.15, 0, 0], + gap: o(function (h) { + return h.pstyle('width').pfValue * h.pstyle('arrow-scale').value; + }, 'gap') + }), + l('chevron', { + points: [0, 0, -0.15, -0.15, -0.1, -0.2, 0, -0.1, 0.1, -0.2, 0.15, -0.15], + gap: o(function (h) { + return 0.95 * h.pstyle('width').pfValue * h.pstyle('arrow-scale').value; + }, 'gap') + }); + }; + j0 = {}; + j0.projectIntoViewport = function (t, e) { + var r = this.cy, + n = this.findContainerClientCoords(), + i = n[0], + a = n[1], + s = n[4], + l = r.pan(), + u = r.zoom(), + h = ((t - i) / s - l.x) / u, + f = ((e - a) / s - l.y) / u; + return [h, f]; + }; + j0.findContainerClientCoords = function () { + if (this.containerBB) return this.containerBB; + var t = this.container, + e = t.getBoundingClientRect(), + r = this.cy.window().getComputedStyle(t), + n = o(function (x) { + return parseFloat(r.getPropertyValue(x)); + }, 'styleValue'), + i = { + left: n('padding-left'), + right: n('padding-right'), + top: n('padding-top'), + bottom: n('padding-bottom') + }, + a = { + left: n('border-left-width'), + right: n('border-right-width'), + top: n('border-top-width'), + bottom: n('border-bottom-width') + }, + s = t.clientWidth, + l = t.clientHeight, + u = i.left + i.right, + h = i.top + i.bottom, + f = a.left + a.right, + d = e.width / (s + f), + p = s - u, + m = l - h, + g = e.left + i.left + a.left, + y = e.top + i.top + a.top; + return (this.containerBB = [g, y, p, m, d]); + }; + j0.invalidateContainerClientCoordsCache = function () { + this.containerBB = null; + }; + j0.findNearestElement = function (t, e, r, n) { + return this.findNearestElements(t, e, r, n)[0]; + }; + j0.findNearestElements = function (t, e, r, n) { + var i = this, + a = this, + s = a.getCachedZSortedEles(), + l = [], + u = a.cy.zoom(), + h = a.cy.hasCompoundNodes(), + f = (n ? 24 : 8) / u, + d = (n ? 8 : 2) / u, + p = (n ? 8 : 2) / u, + m = 1 / 0, + g, + y; + r && (s = s.interactive); + function v(_, A) { + if (_.isNode()) { + if (y) return; + (y = _), l.push(_); + } + if (_.isEdge() && (A == null || A < m)) + if (g) { + if ( + g.pstyle('z-compound-depth').value === _.pstyle('z-compound-depth').value && + g.pstyle('z-compound-depth').value === _.pstyle('z-compound-depth').value + ) { + for (var L = 0; L < l.length; L++) + if (l[L].isEdge()) { + (l[L] = _), (g = _), (m = A ?? m); + break; + } + } + } else l.push(_), (g = _), (m = A ?? m); + } + o(v, 'addEle'); + function x(_) { + var A = _.outerWidth() + 2 * d, + L = _.outerHeight() + 2 * d, + M = A / 2, + N = L / 2, + k = _.position(), + I = _.pstyle('corner-radius').value === 'auto' ? 'auto' : _.pstyle('corner-radius').pfValue, + C = _._private.rscratch; + if (k.x - M <= t && t <= k.x + M && k.y - N <= e && e <= k.y + N) { + var O = a.nodeShapes[i.getNodeShape(_)]; + if (O.checkPoint(t, e, 0, A, L, k.x, k.y, I, C)) return v(_, 0), !0; + } + } + o(x, 'checkNode'); + function b(_) { + var A = _._private, + L = A.rscratch, + M = _.pstyle('width').pfValue, + N = _.pstyle('arrow-scale').value, + k = M / 2 + f, + I = k * k, + C = k * 2, + F = A.source, + B = A.target, + O; + if (L.edgeType === 'segments' || L.edgeType === 'straight' || L.edgeType === 'haystack') { + for (var D = L.allpts, P = 0; P + 3 < D.length; P += 2) + if ( + kWe(t, e, D[P], D[P + 1], D[P + 2], D[P + 3], C) && + I > (O = _We(t, e, D[P], D[P + 1], D[P + 2], D[P + 3])) + ) + return v(_, O), !0; + } else if ( + L.edgeType === 'bezier' || + L.edgeType === 'multibezier' || + L.edgeType === 'self' || + L.edgeType === 'compound' + ) { + for (var D = L.allpts, P = 0; P + 5 < L.allpts.length; P += 4) + if ( + EWe(t, e, D[P], D[P + 1], D[P + 2], D[P + 3], D[P + 4], D[P + 5], C) && + I > (O = AWe(t, e, D[P], D[P + 1], D[P + 2], D[P + 3], D[P + 4], D[P + 5])) + ) + return v(_, O), !0; + } + for ( + var F = F || A.source, + B = B || A.target, + $ = i.getArrowWidth(M, N), + z = [ + { + name: 'source', + x: L.arrowStartX, + y: L.arrowStartY, + angle: L.srcArrowAngle + }, + { + name: 'target', + x: L.arrowEndX, + y: L.arrowEndY, + angle: L.tgtArrowAngle + }, + { + name: 'mid-source', + x: L.midX, + y: L.midY, + angle: L.midsrcArrowAngle + }, + { + name: 'mid-target', + x: L.midX, + y: L.midY, + angle: L.midtgtArrowAngle + } + ], + P = 0; + P < z.length; + P++ + ) { + var Y = z[P], + Q = a.arrowShapes[_.pstyle(Y.name + '-arrow-shape').value], + X = _.pstyle('width').pfValue; + if ( + Q.roughCollide(t, e, $, Y.angle, { x: Y.x, y: Y.y }, X, f) && + Q.collide(t, e, $, Y.angle, { x: Y.x, y: Y.y }, X, f) + ) + return v(_), !0; + } + h && l.length > 0 && (x(F), x(B)); + } + o(b, 'checkEdge'); + function w(_, A, L) { + return Ul(_, A, L); + } + o(w, 'preprop'); + function S(_, A) { + var L = _._private, + M = p, + N; + A ? (N = A + '-') : (N = ''), _.boundingBox(); + var k = L.labelBounds[A || 'main'], + I = _.pstyle(N + 'label').value, + C = _.pstyle('text-events').strValue === 'yes'; + if (!(!C || !I)) { + var O = w(L.rscratch, 'labelX', A), + D = w(L.rscratch, 'labelY', A), + P = w(L.rscratch, 'labelAngle', A), + F = _.pstyle(N + 'text-margin-x').pfValue, + B = _.pstyle(N + 'text-margin-y').pfValue, + $ = k.x1 - M - F, + z = k.x2 + M - F, + Y = k.y1 - M - B, + Q = k.y2 + M - B; + if (P) { + var X = Math.cos(P), + ie = Math.sin(P), + j = o(function (ce, ue) { + return ( + (ce = ce - O), + (ue = ue - D), + { x: ce * X - ue * ie + O, y: ce * ie + ue * X + D } + ); + }, 'rotate'), + J = j($, Y), + Z = j($, Q), + H = j(z, Y), + q = j(z, Q), + K = [J.x + F, J.y + B, H.x + F, H.y + B, q.x + F, q.y + B, Z.x + F, Z.y + B]; + if (zs(t, e, K)) return v(_), !0; + } else if (s1(k, t, e)) return v(_), !0; + } + } + o(S, 'checkLabel'); + for (var T = s.length - 1; T >= 0; T--) { + var E = s[T]; + E.isNode() ? x(E) || S(E) : b(E) || S(E) || S(E, 'source') || S(E, 'target'); + } + return l; + }; + j0.getAllInBox = function (t, e, r, n) { + var i = this.getCachedZSortedEles().interactive, + a = [], + s = Math.min(t, r), + l = Math.max(t, r), + u = Math.min(e, n), + h = Math.max(e, n); + (t = s), (r = l), (e = u), (n = h); + for (var f = Gs({ x1: t, y1: e, x2: r, y2: n }), d = 0; d < i.length; d++) { + var p = i[d]; + if (p.isNode()) { + var m = p, + g = m.boundingBox({ + includeNodes: !0, + includeEdges: !1, + includeLabels: !1 + }); + rB(f, g) && !Upe(g, f) && a.push(m); + } else { + var y = p, + v = y._private, + x = v.rscratch; + if ( + (x.startX != null && x.startY != null && !s1(f, x.startX, x.startY)) || + (x.endX != null && x.endY != null && !s1(f, x.endX, x.endY)) + ) + continue; + if ( + x.edgeType === 'bezier' || + x.edgeType === 'multibezier' || + x.edgeType === 'self' || + x.edgeType === 'compound' || + x.edgeType === 'segments' || + x.edgeType === 'haystack' + ) { + for ( + var b = v.rstyle.bezierPts || v.rstyle.linePts || v.rstyle.haystackPts, w = !0, S = 0; + S < b.length; + S++ + ) + if (!TWe(f, b[S])) { + w = !1; + break; + } + w && a.push(y); + } else (x.edgeType === 'haystack' || x.edgeType === 'straight') && a.push(y); + } + } + return a; + }; + N6 = {}; + N6.calculateArrowAngles = function (t) { + var e = t._private.rscratch, + r = e.edgeType === 'haystack', + n = e.edgeType === 'bezier', + i = e.edgeType === 'multibezier', + a = e.edgeType === 'segments', + s = e.edgeType === 'compound', + l = e.edgeType === 'self', + u, + h, + f, + d, + p, + m, + x, + b; + if ( + (r + ? ((f = e.haystackPts[0]), + (d = e.haystackPts[1]), + (p = e.haystackPts[2]), + (m = e.haystackPts[3])) + : ((f = e.arrowStartX), (d = e.arrowStartY), (p = e.arrowEndX), (m = e.arrowEndY)), + (x = e.midX), + (b = e.midY), + a) + ) + (u = f - e.segpts[0]), (h = d - e.segpts[1]); + else if (i || s || l || n) { + var g = e.allpts, + y = aa(g[0], g[2], g[4], 0.1), + v = aa(g[1], g[3], g[5], 0.1); + (u = f - y), (h = d - v); + } else (u = f - x), (h = d - b); + e.srcArrowAngle = n6(u, h); + var x = e.midX, + b = e.midY; + if ((r && ((x = (f + p) / 2), (b = (d + m) / 2)), (u = p - f), (h = m - d), a)) { + var g = e.allpts; + if ((g.length / 2) % 2 === 0) { + var w = g.length / 2, + S = w - 2; + (u = g[w] - g[S]), (h = g[w + 1] - g[S + 1]); + } else if (e.isRound) (u = e.midVector[1]), (h = -e.midVector[0]); + else { + var w = g.length / 2 - 1, + S = w - 2; + (u = g[w] - g[S]), (h = g[w + 1] - g[S + 1]); + } + } else if (i || s || l) { + var g = e.allpts, + T = e.ctrlpts, + E, + _, + A, + L; + if ((T.length / 2) % 2 === 0) { + var M = g.length / 2 - 1, + N = M + 2, + k = N + 2; + (E = aa(g[M], g[N], g[k], 0)), + (_ = aa(g[M + 1], g[N + 1], g[k + 1], 0)), + (A = aa(g[M], g[N], g[k], 1e-4)), + (L = aa(g[M + 1], g[N + 1], g[k + 1], 1e-4)); + } else { + var N = g.length / 2 - 1, + M = N - 2, + k = N + 2; + (E = aa(g[M], g[N], g[k], 0.4999)), + (_ = aa(g[M + 1], g[N + 1], g[k + 1], 0.4999)), + (A = aa(g[M], g[N], g[k], 0.5)), + (L = aa(g[M + 1], g[N + 1], g[k + 1], 0.5)); + } + (u = A - E), (h = L - _); + } + if (((e.midtgtArrowAngle = n6(u, h)), (e.midDispX = u), (e.midDispY = h), (u *= -1), (h *= -1), a)) { + var g = e.allpts; + if ((g.length / 2) % 2 !== 0) { + if (!e.isRound) { + var w = g.length / 2 - 1, + I = w + 2; + (u = -(g[I] - g[w])), (h = -(g[I + 1] - g[w + 1])); + } + } + } + if (((e.midsrcArrowAngle = n6(u, h)), a)) + (u = p - e.segpts[e.segpts.length - 2]), (h = m - e.segpts[e.segpts.length - 1]); + else if (i || s || l || n) { + var g = e.allpts, + C = g.length, + y = aa(g[C - 6], g[C - 4], g[C - 2], 0.9), + v = aa(g[C - 5], g[C - 3], g[C - 1], 0.9); + (u = p - y), (h = m - v); + } else (u = p - x), (h = m - b); + e.tgtArrowAngle = n6(u, h); + }; + N6.getArrowWidth = N6.getArrowHeight = function (t, e) { + var r = (this.arrowWidthCache = this.arrowWidthCache || {}), + n = r[t + ', ' + e]; + return n || ((n = Math.max(Math.pow(t * 13.37, 0.9), 29) * e), (r[t + ', ' + e] = n), n); + }; + (Gc = {}), + (Jo = {}), + (lpe = o(function (e, r, n) { + (n.x = r.x - e.x), + (n.y = r.y - e.y), + (n.len = Math.sqrt(n.x * n.x + n.y * n.y)), + (n.nx = n.x / n.len), + (n.ny = n.y / n.len), + (n.ang = Math.atan2(n.ny, n.nx)); + }, 'asVec')), + (cQe = o(function (e, r) { + (r.x = e.x * -1), + (r.y = e.y * -1), + (r.nx = e.nx * -1), + (r.ny = e.ny * -1), + (r.ang = e.ang > 0 ? -(Math.PI - e.ang) : Math.PI + e.ang); + }, 'invertVec')), + (uQe = o(function (e, r, n, i, a) { + if ( + (e !== ope ? lpe(r, e, Gc) : cQe(Jo, Gc), + lpe(r, n, Jo), + (ape = Gc.nx * Jo.ny - Gc.ny * Jo.nx), + (spe = Gc.nx * Jo.nx - Gc.ny * -Jo.ny), + (ju = Math.asin(Math.max(-1, Math.min(1, ape)))), + Math.abs(ju) < 1e-6) + ) { + (GP = r.x), ($P = r.y), (z0 = Qg = 0); + return; + } + (G0 = 1), + (w6 = !1), + spe < 0 + ? ju < 0 + ? (ju = Math.PI + ju) + : ((ju = Math.PI - ju), (G0 = -1), (w6 = !0)) + : ju > 0 && ((G0 = -1), (w6 = !0)), + r.radius !== void 0 ? (Qg = r.radius) : (Qg = i), + (O0 = ju / 2), + (f6 = Math.min(Gc.len / 2, Jo.len / 2)), + a + ? ((zc = Math.abs((Math.cos(O0) * Qg) / Math.sin(O0))), + zc > f6 ? ((zc = f6), (z0 = Math.abs((zc * Math.sin(O0)) / Math.cos(O0)))) : (z0 = Qg)) + : ((zc = Math.min(f6, Qg)), (z0 = Math.abs((zc * Math.sin(O0)) / Math.cos(O0)))), + (VP = r.x + Jo.nx * zc), + (UP = r.y + Jo.ny * zc), + (GP = VP - Jo.ny * z0 * G0), + ($P = UP + Jo.nx * z0 * G0), + (Ome = r.x + Gc.nx * zc), + (Pme = r.y + Gc.ny * zc), + (ope = r); + }, 'calcCornerArc')); + o(Bme, 'drawPreparedRoundCorner'); + o(mB, 'getRoundCorner'); + $a = {}; + $a.findMidptPtsEtc = function (t, e) { + var r = e.posPts, + n = e.intersectionPts, + i = e.vectorNormInverse, + a, + s = t.pstyle('source-endpoint'), + l = t.pstyle('target-endpoint'), + u = s.units != null && l.units != null, + h = o(function (T, E, _, A) { + var L = A - E, + M = _ - T, + N = Math.sqrt(M * M + L * L); + return { x: -L / N, y: M / N }; + }, 'recalcVectorNormInverse'), + f = t.pstyle('edge-distances').value; + switch (f) { + case 'node-position': + a = r; + break; + case 'intersection': + a = n; + break; + case 'endpoints': { + if (u) { + var d = this.manualEndptToPx(t.source()[0], s), + p = $l(d, 2), + m = p[0], + g = p[1], + y = this.manualEndptToPx(t.target()[0], l), + v = $l(y, 2), + x = v[0], + b = v[1], + w = { x1: m, y1: g, x2: x, y2: b }; + (i = h(m, g, x, b)), (a = w); + } else + tn( + 'Edge '.concat( + t.id(), + ' has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).' + ) + ), + (a = n); + break; + } + } + return { midptPts: a, vectorNormInverse: i }; + }; + $a.findHaystackPoints = function (t) { + for (var e = 0; e < t.length; e++) { + var r = t[e], + n = r._private, + i = n.rscratch; + if (!i.haystack) { + var a = Math.random() * 2 * Math.PI; + (i.source = { x: Math.cos(a), y: Math.sin(a) }), + (a = Math.random() * 2 * Math.PI), + (i.target = { x: Math.cos(a), y: Math.sin(a) }); + } + var s = n.source, + l = n.target, + u = s.position(), + h = l.position(), + f = s.width(), + d = l.width(), + p = s.height(), + m = l.height(), + g = r.pstyle('haystack-radius').value, + y = g / 2; + (i.haystackPts = i.allpts = + [ + i.source.x * f * y + u.x, + i.source.y * p * y + u.y, + i.target.x * d * y + h.x, + i.target.y * m * y + h.y + ]), + (i.midX = (i.allpts[0] + i.allpts[2]) / 2), + (i.midY = (i.allpts[1] + i.allpts[3]) / 2), + (i.edgeType = 'haystack'), + (i.haystack = !0), + this.storeEdgeProjections(r), + this.calculateArrowAngles(r), + this.recalculateEdgeLabelProjections(r), + this.calculateLabelAngles(r); + } + }; + $a.findSegmentsPoints = function (t, e) { + var r = t._private.rscratch, + n = t.pstyle('segment-weights'), + i = t.pstyle('segment-distances'), + a = t.pstyle('segment-radii'), + s = t.pstyle('radius-type'), + l = Math.min(n.pfValue.length, i.pfValue.length), + u = a.pfValue[a.pfValue.length - 1], + h = s.pfValue[s.pfValue.length - 1]; + (r.edgeType = 'segments'), (r.segpts = []), (r.radii = []), (r.isArcRadius = []); + for (var f = 0; f < l; f++) { + var d = n.pfValue[f], + p = i.pfValue[f], + m = 1 - d, + g = d, + y = this.findMidptPtsEtc(t, e), + v = y.midptPts, + x = y.vectorNormInverse, + b = { x: v.x1 * m + v.x2 * g, y: v.y1 * m + v.y2 * g }; + r.segpts.push(b.x + x.x * p, b.y + x.y * p), + r.radii.push(a.pfValue[f] !== void 0 ? a.pfValue[f] : u), + r.isArcRadius.push((s.pfValue[f] !== void 0 ? s.pfValue[f] : h) === 'arc-radius'); + } + }; + $a.findLoopPoints = function (t, e, r, n) { + var i = t._private.rscratch, + a = e.dirCounts, + s = e.srcPos, + l = t.pstyle('control-point-distances'), + u = l ? l.pfValue[0] : void 0, + h = t.pstyle('loop-direction').pfValue, + f = t.pstyle('loop-sweep').pfValue, + d = t.pstyle('control-point-step-size').pfValue; + i.edgeType = 'self'; + var p = r, + m = d; + n && ((p = 0), (m = u)); + var g = h - Math.PI / 2, + y = g - f / 2, + v = g + f / 2, + x = h + '_' + f; + (p = a[x] === void 0 ? (a[x] = 0) : ++a[x]), + (i.ctrlpts = [ + s.x + Math.cos(y) * 1.4 * m * (p / 3 + 1), + s.y + Math.sin(y) * 1.4 * m * (p / 3 + 1), + s.x + Math.cos(v) * 1.4 * m * (p / 3 + 1), + s.y + Math.sin(v) * 1.4 * m * (p / 3 + 1) + ]); + }; + $a.findCompoundLoopPoints = function (t, e, r, n) { + var i = t._private.rscratch; + i.edgeType = 'compound'; + var a = e.srcPos, + s = e.tgtPos, + l = e.srcW, + u = e.srcH, + h = e.tgtW, + f = e.tgtH, + d = t.pstyle('control-point-step-size').pfValue, + p = t.pstyle('control-point-distances'), + m = p ? p.pfValue[0] : void 0, + g = r, + y = d; + n && ((g = 0), (y = m)); + var v = 50, + x = { x: a.x - l / 2, y: a.y - u / 2 }, + b = { x: s.x - h / 2, y: s.y - f / 2 }, + w = { x: Math.min(x.x, b.x), y: Math.min(x.y, b.y) }, + S = 0.5, + T = Math.max(S, Math.log(l * 0.01)), + E = Math.max(S, Math.log(h * 0.01)); + i.ctrlpts = [ + w.x, + w.y - (1 + Math.pow(v, 1.12) / 100) * y * (g / 3 + 1) * T, + w.x - (1 + Math.pow(v, 1.12) / 100) * y * (g / 3 + 1) * E, + w.y + ]; + }; + $a.findStraightEdgePoints = function (t) { + t._private.rscratch.edgeType = 'straight'; + }; + $a.findBezierPoints = function (t, e, r, n, i) { + var a = t._private.rscratch, + s = t.pstyle('control-point-step-size').pfValue, + l = t.pstyle('control-point-distances'), + u = t.pstyle('control-point-weights'), + h = l && u ? Math.min(l.value.length, u.value.length) : 1, + f = l ? l.pfValue[0] : void 0, + d = u.value[0], + p = n; + (a.edgeType = p ? 'multibezier' : 'bezier'), (a.ctrlpts = []); + for (var m = 0; m < h; m++) { + var g = (0.5 - e.eles.length / 2 + r) * s * (i ? -1 : 1), + y = void 0, + v = $pe(g); + p && ((f = l ? l.pfValue[m] : s), (d = u.value[m])), + n ? (y = f) : (y = f !== void 0 ? v * f : void 0); + var x = y !== void 0 ? y : g, + b = 1 - d, + w = d, + S = this.findMidptPtsEtc(t, e), + T = S.midptPts, + E = S.vectorNormInverse, + _ = { x: T.x1 * b + T.x2 * w, y: T.y1 * b + T.y2 * w }; + a.ctrlpts.push(_.x + E.x * x, _.y + E.y * x); + } + }; + $a.findTaxiPoints = function (t, e) { + var r = t._private.rscratch; + r.edgeType = 'segments'; + var n = 'vertical', + i = 'horizontal', + a = 'leftward', + s = 'rightward', + l = 'downward', + u = 'upward', + h = 'auto', + f = e.posPts, + d = e.srcW, + p = e.srcH, + m = e.tgtW, + g = e.tgtH, + y = t.pstyle('edge-distances').value, + v = y !== 'node-position', + x = t.pstyle('taxi-direction').value, + b = x, + w = t.pstyle('taxi-turn'), + S = w.units === '%', + T = w.pfValue, + E = T < 0, + _ = t.pstyle('taxi-turn-min-distance').pfValue, + A = v ? (d + m) / 2 : 0, + L = v ? (p + g) / 2 : 0, + M = f.x2 - f.x1, + N = f.y2 - f.y1, + k = o(function (Te, Ce) { + return Te > 0 ? Math.max(Te - Ce, 0) : Math.min(Te + Ce, 0); + }, 'subDWH'), + I = k(M, A), + C = k(N, L), + O = !1; + b === h + ? (x = Math.abs(I) > Math.abs(C) ? i : n) + : b === u || b === l + ? ((x = n), (O = !0)) + : (b === a || b === s) && ((x = i), (O = !0)); + var D = x === n, + P = D ? C : I, + F = D ? N : M, + B = $pe(F), + $ = !1; + !(O && (S || E)) && + ((b === l && F < 0) || (b === u && F > 0) || (b === a && F > 0) || (b === s && F < 0)) && + ((B *= -1), (P = B * Math.abs(P)), ($ = !0)); + var z; + if (S) { + var Y = T < 0 ? 1 + T : T; + z = Y * P; + } else { + var Q = T < 0 ? P : 0; + z = Q + T * B; + } + var X = o(function (Te) { + return Math.abs(Te) < _ || Math.abs(Te) >= Math.abs(P); + }, 'getIsTooClose'), + ie = X(z), + j = X(Math.abs(P) - Math.abs(z)), + J = ie || j; + if (J && !$) + if (D) { + var Z = Math.abs(F) <= p / 2, + H = Math.abs(M) <= m / 2; + if (Z) { + var q = (f.x1 + f.x2) / 2, + K = f.y1, + se = f.y2; + r.segpts = [q, K, q, se]; + } else if (H) { + var ce = (f.y1 + f.y2) / 2, + ue = f.x1, + te = f.x2; + r.segpts = [ue, ce, te, ce]; + } else r.segpts = [f.x1, f.y2]; + } else { + var De = Math.abs(F) <= d / 2, + oe = Math.abs(N) <= g / 2; + if (De) { + var ke = (f.y1 + f.y2) / 2, + Ie = f.x1, + Se = f.x2; + r.segpts = [Ie, ke, Se, ke]; + } else if (oe) { + var Ue = (f.x1 + f.x2) / 2, + Pe = f.y1, + _e = f.y2; + r.segpts = [Ue, Pe, Ue, _e]; + } else r.segpts = [f.x2, f.y1]; + } + else if (D) { + var me = f.y1 + z + (v ? (p / 2) * B : 0), + W = f.x1, + fe = f.x2; + r.segpts = [W, me, fe, me]; + } else { + var ge = f.x1 + z + (v ? (d / 2) * B : 0), + re = f.y1, + he = f.y2; + r.segpts = [ge, re, ge, he]; + } + if (r.isRound) { + var ne = t.pstyle('taxi-radius').value, + ae = t.pstyle('radius-type').value[0] === 'arc-radius'; + (r.radii = new Array(r.segpts.length / 2).fill(ne)), + (r.isArcRadius = new Array(r.segpts.length / 2).fill(ae)); + } + }; + $a.tryToCorrectInvalidPoints = function (t, e) { + var r = t._private.rscratch; + if (r.edgeType === 'bezier') { + var n = e.srcPos, + i = e.tgtPos, + a = e.srcW, + s = e.srcH, + l = e.tgtW, + u = e.tgtH, + h = e.srcShape, + f = e.tgtShape, + d = e.srcCornerRadius, + p = e.tgtCornerRadius, + m = e.srcRs, + g = e.tgtRs, + y = !ft(r.startX) || !ft(r.startY), + v = !ft(r.arrowStartX) || !ft(r.arrowStartY), + x = !ft(r.endX) || !ft(r.endY), + b = !ft(r.arrowEndX) || !ft(r.arrowEndY), + w = 3, + S = + this.getArrowWidth(t.pstyle('width').pfValue, t.pstyle('arrow-scale').value) * + this.arrowShapeWidth, + T = w * S, + E = H0({ x: r.ctrlpts[0], y: r.ctrlpts[1] }, { x: r.startX, y: r.startY }), + _ = E < T, + A = H0({ x: r.ctrlpts[0], y: r.ctrlpts[1] }, { x: r.endX, y: r.endY }), + L = A < T, + M = !1; + if (y || v || _) { + M = !0; + var N = { x: r.ctrlpts[0] - n.x, y: r.ctrlpts[1] - n.y }, + k = Math.sqrt(N.x * N.x + N.y * N.y), + I = { x: N.x / k, y: N.y / k }, + C = Math.max(a, s), + O = { + x: r.ctrlpts[0] + I.x * 2 * C, + y: r.ctrlpts[1] + I.y * 2 * C + }, + D = h.intersectLine(n.x, n.y, a, s, O.x, O.y, 0, d, m); + _ + ? ((r.ctrlpts[0] = r.ctrlpts[0] + I.x * (T - E)), + (r.ctrlpts[1] = r.ctrlpts[1] + I.y * (T - E))) + : ((r.ctrlpts[0] = D[0] + I.x * T), (r.ctrlpts[1] = D[1] + I.y * T)); + } + if (x || b || L) { + M = !0; + var P = { x: r.ctrlpts[0] - i.x, y: r.ctrlpts[1] - i.y }, + F = Math.sqrt(P.x * P.x + P.y * P.y), + B = { x: P.x / F, y: P.y / F }, + $ = Math.max(a, s), + z = { + x: r.ctrlpts[0] + B.x * 2 * $, + y: r.ctrlpts[1] + B.y * 2 * $ + }, + Y = f.intersectLine(i.x, i.y, l, u, z.x, z.y, 0, p, g); + L + ? ((r.ctrlpts[0] = r.ctrlpts[0] + B.x * (T - A)), + (r.ctrlpts[1] = r.ctrlpts[1] + B.y * (T - A))) + : ((r.ctrlpts[0] = Y[0] + B.x * T), (r.ctrlpts[1] = Y[1] + B.y * T)); + } + M && this.findEndpoints(t); + } + }; + $a.storeAllpts = function (t) { + var e = t._private.rscratch; + if ( + e.edgeType === 'multibezier' || + e.edgeType === 'bezier' || + e.edgeType === 'self' || + e.edgeType === 'compound' + ) { + (e.allpts = []), e.allpts.push(e.startX, e.startY); + for (var r = 0; r + 1 < e.ctrlpts.length; r += 2) + e.allpts.push(e.ctrlpts[r], e.ctrlpts[r + 1]), + r + 3 < e.ctrlpts.length && + e.allpts.push( + (e.ctrlpts[r] + e.ctrlpts[r + 2]) / 2, + (e.ctrlpts[r + 1] + e.ctrlpts[r + 3]) / 2 + ); + e.allpts.push(e.endX, e.endY); + var n, i; + (e.ctrlpts.length / 2) % 2 === 0 + ? ((n = e.allpts.length / 2 - 1), (e.midX = e.allpts[n]), (e.midY = e.allpts[n + 1])) + : ((n = e.allpts.length / 2 - 3), + (i = 0.5), + (e.midX = aa(e.allpts[n], e.allpts[n + 2], e.allpts[n + 4], i)), + (e.midY = aa(e.allpts[n + 1], e.allpts[n + 3], e.allpts[n + 5], i))); + } else if (e.edgeType === 'straight') + (e.allpts = [e.startX, e.startY, e.endX, e.endY]), + (e.midX = (e.startX + e.endX + e.arrowStartX + e.arrowEndX) / 4), + (e.midY = (e.startY + e.endY + e.arrowStartY + e.arrowEndY) / 4); + else if (e.edgeType === 'segments') { + if ( + ((e.allpts = []), + e.allpts.push(e.startX, e.startY), + e.allpts.push.apply(e.allpts, e.segpts), + e.allpts.push(e.endX, e.endY), + e.isRound) + ) { + e.roundCorners = []; + for (var a = 2; a + 3 < e.allpts.length; a += 2) { + var s = e.radii[a / 2 - 1], + l = e.isArcRadius[a / 2 - 1]; + e.roundCorners.push( + mB( + { x: e.allpts[a - 2], y: e.allpts[a - 1] }, + { x: e.allpts[a], y: e.allpts[a + 1], radius: s }, + { x: e.allpts[a + 2], y: e.allpts[a + 3] }, + s, + l + ) + ); + } + } + if (e.segpts.length % 4 === 0) { + var u = e.segpts.length / 2, + h = u - 2; + (e.midX = (e.segpts[h] + e.segpts[u]) / 2), (e.midY = (e.segpts[h + 1] + e.segpts[u + 1]) / 2); + } else { + var f = e.segpts.length / 2 - 1; + if (!e.isRound) (e.midX = e.segpts[f]), (e.midY = e.segpts[f + 1]); + else { + var d = { x: e.segpts[f], y: e.segpts[f + 1] }, + p = e.roundCorners[f / 2], + m = [d.x - p.cx, d.y - p.cy], + g = p.radius / Math.sqrt(Math.pow(m[0], 2) + Math.pow(m[1], 2)); + (m = m.map(function (y) { + return y * g; + })), + (e.midX = p.cx + m[0]), + (e.midY = p.cy + m[1]), + (e.midVector = m); + } + } + } + }; + $a.checkForInvalidEdgeWarning = function (t) { + var e = t[0]._private.rscratch; + e.nodesOverlap || (ft(e.startX) && ft(e.startY) && ft(e.endX) && ft(e.endY)) + ? (e.loggedErr = !1) + : e.loggedErr || + ((e.loggedErr = !0), + tn( + 'Edge `' + + t.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.' + )); + }; + $a.findEdgeControlPoints = function (t) { + var e = this; + if (!(!t || t.length === 0)) { + for ( + var r = this, + n = r.cy, + i = n.hasCompoundNodes(), + a = { + map: new Vc(), + get: o(function (_) { + var A = this.map.get(_[0]); + return A != null ? A.get(_[1]) : null; + }, 'get'), + set: o(function (_, A) { + var L = this.map.get(_[0]); + L == null && ((L = new Vc()), this.map.set(_[0], L)), L.set(_[1], A); + }, 'set') + }, + s = [], + l = [], + u = 0; + u < t.length; + u++ + ) { + var h = t[u], + f = h._private, + d = h.pstyle('curve-style').value; + if (!(h.removed() || !h.takesUpSpace())) { + if (d === 'haystack') { + l.push(h); + continue; + } + var p = + d === 'unbundled-bezier' || + d.endsWith('segments') || + d === 'straight' || + d === 'straight-triangle' || + d.endsWith('taxi'), + m = d === 'unbundled-bezier' || d === 'bezier', + g = f.source, + y = f.target, + v = g.poolIndex(), + x = y.poolIndex(), + b = [v, x].sort(), + w = a.get(b); + w == null && ((w = { eles: [] }), a.set(b, w), s.push(b)), + w.eles.push(h), + p && (w.hasUnbundled = !0), + m && (w.hasBezier = !0); + } + } + for ( + var S = o(function (_) { + var A = s[_], + L = a.get(A), + M = void 0; + if (!L.hasUnbundled) { + var N = L.eles[0].parallelEdges().filter(function (ge) { + return ge.isBundledBezier(); + }); + eB(L.eles), + N.forEach(function (ge) { + return L.eles.push(ge); + }), + L.eles.sort(function (ge, re) { + return ge.poolIndex() - re.poolIndex(); + }); + } + var k = L.eles[0], + I = k.source(), + C = k.target(); + if (I.poolIndex() > C.poolIndex()) { + var O = I; + (I = C), (C = O); + } + var D = (L.srcPos = I.position()), + P = (L.tgtPos = C.position()), + F = (L.srcW = I.outerWidth()), + B = (L.srcH = I.outerHeight()), + $ = (L.tgtW = C.outerWidth()), + z = (L.tgtH = C.outerHeight()), + Y = (L.srcShape = r.nodeShapes[e.getNodeShape(I)]), + Q = (L.tgtShape = r.nodeShapes[e.getNodeShape(C)]), + X = (L.srcCornerRadius = + I.pstyle('corner-radius').value === 'auto' + ? 'auto' + : I.pstyle('corner-radius').pfValue), + ie = (L.tgtCornerRadius = + C.pstyle('corner-radius').value === 'auto' + ? 'auto' + : C.pstyle('corner-radius').pfValue), + j = (L.tgtRs = C._private.rscratch), + J = (L.srcRs = I._private.rscratch); + L.dirCounts = { + north: 0, + west: 0, + south: 0, + east: 0, + northwest: 0, + southwest: 0, + northeast: 0, + southeast: 0 + }; + for (var Z = 0; Z < L.eles.length; Z++) { + var H = L.eles[Z], + q = H[0]._private.rscratch, + K = H.pstyle('curve-style').value, + se = K === 'unbundled-bezier' || K.endsWith('segments') || K.endsWith('taxi'), + ce = !I.same(H.source()); + if (!L.calculatedIntersection && I !== C && (L.hasBezier || L.hasUnbundled)) { + L.calculatedIntersection = !0; + var ue = Y.intersectLine(D.x, D.y, F, B, P.x, P.y, 0, X, J), + te = (L.srcIntn = ue), + De = Q.intersectLine(P.x, P.y, $, z, D.x, D.y, 0, ie, j), + oe = (L.tgtIntn = De), + ke = (L.intersectionPts = { + x1: ue[0], + x2: De[0], + y1: ue[1], + y2: De[1] + }), + Ie = (L.posPts = { x1: D.x, x2: P.x, y1: D.y, y2: P.y }), + Se = De[1] - ue[1], + Ue = De[0] - ue[0], + Pe = Math.sqrt(Ue * Ue + Se * Se), + _e = (L.vector = { x: Ue, y: Se }), + me = (L.vectorNorm = { x: _e.x / Pe, y: _e.y / Pe }), + W = { x: -me.y, y: me.x }; + (L.nodesOverlap = + !ft(Pe) || + Q.checkPoint(ue[0], ue[1], 0, $, z, P.x, P.y, ie, j) || + Y.checkPoint(De[0], De[1], 0, F, B, D.x, D.y, X, J)), + (L.vectorNormInverse = W), + (M = { + nodesOverlap: L.nodesOverlap, + dirCounts: L.dirCounts, + calculatedIntersection: !0, + hasBezier: L.hasBezier, + hasUnbundled: L.hasUnbundled, + eles: L.eles, + srcPos: P, + tgtPos: D, + srcW: $, + srcH: z, + tgtW: F, + tgtH: B, + srcIntn: oe, + tgtIntn: te, + srcShape: Q, + tgtShape: Y, + posPts: { x1: Ie.x2, y1: Ie.y2, x2: Ie.x1, y2: Ie.y1 }, + intersectionPts: { + x1: ke.x2, + y1: ke.y2, + x2: ke.x1, + y2: ke.y1 + }, + vector: { x: -_e.x, y: -_e.y }, + vectorNorm: { x: -me.x, y: -me.y }, + vectorNormInverse: { x: -W.x, y: -W.y } + }); + } + var fe = ce ? M : L; + (q.nodesOverlap = fe.nodesOverlap), + (q.srcIntn = fe.srcIntn), + (q.tgtIntn = fe.tgtIntn), + (q.isRound = K.startsWith('round')), + i && + (I.isParent() || I.isChild() || C.isParent() || C.isChild()) && + (I.parents().anySame(C) || + C.parents().anySame(I) || + (I.same(C) && I.isParent())) + ? e.findCompoundLoopPoints(H, fe, Z, se) + : I === C + ? e.findLoopPoints(H, fe, Z, se) + : K.endsWith('segments') + ? e.findSegmentsPoints(H, fe) + : K.endsWith('taxi') + ? e.findTaxiPoints(H, fe) + : K === 'straight' || + (!se && L.eles.length % 2 === 1 && Z === Math.floor(L.eles.length / 2)) + ? e.findStraightEdgePoints(H) + : e.findBezierPoints(H, fe, Z, se, ce), + e.findEndpoints(H), + e.tryToCorrectInvalidPoints(H, fe), + e.checkForInvalidEdgeWarning(H), + e.storeAllpts(H), + e.storeEdgeProjections(H), + e.calculateArrowAngles(H), + e.recalculateEdgeLabelProjections(H), + e.calculateLabelAngles(H); + } + }, '_loop'), + T = 0; + T < s.length; + T++ + ) + S(T); + this.findHaystackPoints(l); + } + }; + o(Fme, 'getPts'); + $a.getSegmentPoints = function (t) { + var e = t[0]._private.rscratch, + r = e.edgeType; + if (r === 'segments') return this.recalculateRenderedStyle(t), Fme(e.segpts); + }; + $a.getControlPoints = function (t) { + var e = t[0]._private.rscratch, + r = e.edgeType; + if (r === 'bezier' || r === 'multibezier' || r === 'self' || r === 'compound') + return this.recalculateRenderedStyle(t), Fme(e.ctrlpts); + }; + $a.getEdgeMidpoint = function (t) { + var e = t[0]._private.rscratch; + return this.recalculateRenderedStyle(t), { x: e.midX, y: e.midY }; + }; + nb = {}; + nb.manualEndptToPx = function (t, e) { + var r = this, + n = t.position(), + i = t.outerWidth(), + a = t.outerHeight(), + s = t._private.rscratch; + if (e.value.length === 2) { + var l = [e.pfValue[0], e.pfValue[1]]; + return ( + e.units[0] === '%' && (l[0] = l[0] * i), + e.units[1] === '%' && (l[1] = l[1] * a), + (l[0] += n.x), + (l[1] += n.y), + l + ); + } else { + var u = e.pfValue[0]; + u = -Math.PI / 2 + u; + var h = 2 * Math.max(i, a), + f = [n.x + Math.cos(u) * h, n.y + Math.sin(u) * h]; + return r.nodeShapes[this.getNodeShape(t)].intersectLine( + n.x, + n.y, + i, + a, + f[0], + f[1], + 0, + t.pstyle('corner-radius').value === 'auto' ? 'auto' : t.pstyle('corner-radius').pfValue, + s + ); + } + }; + nb.findEndpoints = function (t) { + var e = this, + r, + n = t.source()[0], + i = t.target()[0], + a = n.position(), + s = i.position(), + l = t.pstyle('target-arrow-shape').value, + u = t.pstyle('source-arrow-shape').value, + h = t.pstyle('target-distance-from-node').pfValue, + f = t.pstyle('source-distance-from-node').pfValue, + d = n._private.rscratch, + p = i._private.rscratch, + m = t.pstyle('curve-style').value, + g = t._private.rscratch, + y = g.edgeType, + v = m === 'taxi', + x = y === 'self' || y === 'compound', + b = y === 'bezier' || y === 'multibezier' || x, + w = y !== 'bezier', + S = y === 'straight' || y === 'segments', + T = y === 'segments', + E = b || w || S, + _ = x || v, + A = t.pstyle('source-endpoint'), + L = _ ? 'outside-to-node' : A.value, + M = n.pstyle('corner-radius').value === 'auto' ? 'auto' : n.pstyle('corner-radius').pfValue, + N = t.pstyle('target-endpoint'), + k = _ ? 'outside-to-node' : N.value, + I = i.pstyle('corner-radius').value === 'auto' ? 'auto' : i.pstyle('corner-radius').pfValue; + (g.srcManEndpt = A), (g.tgtManEndpt = N); + var C, O, D, P; + if (b) { + var F = [g.ctrlpts[0], g.ctrlpts[1]], + B = w ? [g.ctrlpts[g.ctrlpts.length - 2], g.ctrlpts[g.ctrlpts.length - 1]] : F; + (C = B), (O = F); + } else if (S) { + var $ = T ? g.segpts.slice(0, 2) : [s.x, s.y], + z = T ? g.segpts.slice(g.segpts.length - 2) : [a.x, a.y]; + (C = z), (O = $); + } + if (k === 'inside-to-node') r = [s.x, s.y]; + else if (N.units) r = this.manualEndptToPx(i, N); + else if (k === 'outside-to-line') r = g.tgtIntn; + else if ( + (k === 'outside-to-node' || k === 'outside-to-node-or-label' + ? (D = C) + : (k === 'outside-to-line' || k === 'outside-to-line-or-label') && (D = [a.x, a.y]), + (r = e.nodeShapes[this.getNodeShape(i)].intersectLine( + s.x, + s.y, + i.outerWidth(), + i.outerHeight(), + D[0], + D[1], + 0, + I, + p + )), + k === 'outside-to-node-or-label' || k === 'outside-to-line-or-label') + ) { + var Y = i._private.rscratch, + Q = Y.labelWidth, + X = Y.labelHeight, + ie = Y.labelX, + j = Y.labelY, + J = Q / 2, + Z = X / 2, + H = i.pstyle('text-valign').value; + H === 'top' ? (j -= Z) : H === 'bottom' && (j += Z); + var q = i.pstyle('text-halign').value; + q === 'left' ? (ie -= J) : q === 'right' && (ie += J); + var K = Yx(D[0], D[1], [ie - J, j - Z, ie + J, j - Z, ie + J, j + Z, ie - J, j + Z], s.x, s.y); + if (K.length > 0) { + var se = a, + ce = B0(se, Jg(r)), + ue = B0(se, Jg(K)), + te = ce; + if ((ue < ce && ((r = K), (te = ue)), K.length > 2)) { + var De = B0(se, { x: K[2], y: K[3] }); + De < te && (r = [K[2], K[3]]); + } + } + } + var oe = i6(r, C, e.arrowShapes[l].spacing(t) + h), + ke = i6(r, C, e.arrowShapes[l].gap(t) + h); + if ( + ((g.endX = ke[0]), + (g.endY = ke[1]), + (g.arrowEndX = oe[0]), + (g.arrowEndY = oe[1]), + L === 'inside-to-node') + ) + r = [a.x, a.y]; + else if (A.units) r = this.manualEndptToPx(n, A); + else if (L === 'outside-to-line') r = g.srcIntn; + else if ( + (L === 'outside-to-node' || L === 'outside-to-node-or-label' + ? (P = O) + : (L === 'outside-to-line' || L === 'outside-to-line-or-label') && (P = [s.x, s.y]), + (r = e.nodeShapes[this.getNodeShape(n)].intersectLine( + a.x, + a.y, + n.outerWidth(), + n.outerHeight(), + P[0], + P[1], + 0, + M, + d + )), + L === 'outside-to-node-or-label' || L === 'outside-to-line-or-label') + ) { + var Ie = n._private.rscratch, + Se = Ie.labelWidth, + Ue = Ie.labelHeight, + Pe = Ie.labelX, + _e = Ie.labelY, + me = Se / 2, + W = Ue / 2, + fe = n.pstyle('text-valign').value; + fe === 'top' ? (_e -= W) : fe === 'bottom' && (_e += W); + var ge = n.pstyle('text-halign').value; + ge === 'left' ? (Pe -= me) : ge === 'right' && (Pe += me); + var re = Yx( + P[0], + P[1], + [Pe - me, _e - W, Pe + me, _e - W, Pe + me, _e + W, Pe - me, _e + W], + a.x, + a.y + ); + if (re.length > 0) { + var he = s, + ne = B0(he, Jg(r)), + ae = B0(he, Jg(re)), + we = ne; + if ((ae < ne && ((r = [re[0], re[1]]), (we = ae)), re.length > 2)) { + var Te = B0(he, { x: re[2], y: re[3] }); + Te < we && (r = [re[2], re[3]]); + } + } + } + var Ce = i6(r, O, e.arrowShapes[u].spacing(t) + f), + Ae = i6(r, O, e.arrowShapes[u].gap(t) + f); + (g.startX = Ae[0]), + (g.startY = Ae[1]), + (g.arrowStartX = Ce[0]), + (g.arrowStartY = Ce[1]), + E && + (!ft(g.startX) || !ft(g.startY) || !ft(g.endX) || !ft(g.endY) + ? (g.badLine = !0) + : (g.badLine = !1)); + }; + nb.getSourceEndpoint = function (t) { + var e = t[0]._private.rscratch; + switch ((this.recalculateRenderedStyle(t), e.edgeType)) { + case 'haystack': + return { x: e.haystackPts[0], y: e.haystackPts[1] }; + default: + return { x: e.arrowStartX, y: e.arrowStartY }; + } + }; + nb.getTargetEndpoint = function (t) { + var e = t[0]._private.rscratch; + switch ((this.recalculateRenderedStyle(t), e.edgeType)) { + case 'haystack': + return { x: e.haystackPts[2], y: e.haystackPts[3] }; + default: + return { x: e.arrowEndX, y: e.arrowEndY }; + } + }; + gB = {}; + o(hQe, 'pushBezierPts'); + gB.storeEdgeProjections = function (t) { + var e = t._private, + r = e.rscratch, + n = r.edgeType; + if ( + ((e.rstyle.bezierPts = null), + (e.rstyle.linePts = null), + (e.rstyle.haystackPts = null), + n === 'multibezier' || n === 'bezier' || n === 'self' || n === 'compound') + ) { + e.rstyle.bezierPts = []; + for (var i = 0; i + 5 < r.allpts.length; i += 4) hQe(this, t, r.allpts.slice(i, i + 6)); + } else if (n === 'segments') + for (var a = (e.rstyle.linePts = []), i = 0; i + 1 < r.allpts.length; i += 2) + a.push({ x: r.allpts[i], y: r.allpts[i + 1] }); + else if (n === 'haystack') { + var s = r.haystackPts; + e.rstyle.haystackPts = [ + { x: s[0], y: s[1] }, + { x: s[2], y: s[3] } + ]; + } + e.rstyle.arrowWidth = + this.getArrowWidth(t.pstyle('width').pfValue, t.pstyle('arrow-scale').value) * this.arrowShapeWidth; + }; + gB.recalculateEdgeProjections = function (t) { + this.findEdgeControlPoints(t); + }; + Hc = {}; + Hc.recalculateNodeLabelProjection = function (t) { + var e = t.pstyle('label').strValue; + if (!Sf(e)) { + var r, + n, + i = t._private, + a = t.width(), + s = t.height(), + l = t.padding(), + u = t.position(), + h = t.pstyle('text-halign').strValue, + f = t.pstyle('text-valign').strValue, + d = i.rscratch, + p = i.rstyle; + switch (h) { + case 'left': + r = u.x - a / 2 - l; + break; + case 'right': + r = u.x + a / 2 + l; + break; + default: + r = u.x; + } + switch (f) { + case 'top': + n = u.y - s / 2 - l; + break; + case 'bottom': + n = u.y + s / 2 + l; + break; + default: + n = u.y; + } + (d.labelX = r), + (d.labelY = n), + (p.labelX = r), + (p.labelY = n), + this.calculateLabelAngles(t), + this.applyLabelDimensions(t); + } + }; + (zme = o(function (e, r) { + var n = Math.atan(r / e); + return e === 0 && n < 0 && (n = n * -1), n; + }, 'lineAngleFromDelta')), + (Gme = o(function (e, r) { + var n = r.x - e.x, + i = r.y - e.y; + return zme(n, i); + }, 'lineAngle')), + (fQe = o(function (e, r, n, i) { + var a = Hx(0, i - 0.001, 1), + s = Hx(0, i + 0.001, 1), + l = t1(e, r, n, a), + u = t1(e, r, n, s); + return Gme(l, u); + }, 'bezierAngle')); + Hc.recalculateEdgeLabelProjections = function (t) { + var e, + r = t._private, + n = r.rscratch, + i = this, + a = { + mid: t.pstyle('label').strValue, + source: t.pstyle('source-label').strValue, + target: t.pstyle('target-label').strValue + }; + if (a.mid || a.source || a.target) { + e = { x: n.midX, y: n.midY }; + var s = o(function (d, p, m) { + Tf(r.rscratch, d, p, m), Tf(r.rstyle, d, p, m); + }, 'setRs'); + s('labelX', null, e.x), s('labelY', null, e.y); + var l = zme(n.midDispX, n.midDispY); + s('labelAutoAngle', null, l); + var u = o(function f() { + if (f.cache) return f.cache; + for (var d = [], p = 0; p + 5 < n.allpts.length; p += 4) { + var m = { x: n.allpts[p], y: n.allpts[p + 1] }, + g = { x: n.allpts[p + 2], y: n.allpts[p + 3] }, + y = { x: n.allpts[p + 4], y: n.allpts[p + 5] }; + d.push({ + p0: m, + p1: g, + p2: y, + startDist: 0, + length: 0, + segments: [] + }); + } + var v = r.rstyle.bezierPts, + x = i.bezierProjPcts.length; + function b(_, A, L, M, N) { + var k = H0(A, L), + I = _.segments[_.segments.length - 1], + C = { + p0: A, + p1: L, + t0: M, + t1: N, + startDist: I ? I.startDist + I.length : 0, + length: k + }; + _.segments.push(C), (_.length += k); + } + o(b, 'addSegment'); + for (var w = 0; w < d.length; w++) { + var S = d[w], + T = d[w - 1]; + T && (S.startDist = T.startDist + T.length), + b(S, S.p0, v[w * x], 0, i.bezierProjPcts[0]); + for (var E = 0; E < x - 1; E++) + b(S, v[w * x + E], v[w * x + E + 1], i.bezierProjPcts[E], i.bezierProjPcts[E + 1]); + b(S, v[w * x + x - 1], S.p2, i.bezierProjPcts[x - 1], 1); + } + return (f.cache = d); + }, 'createControlPointInfo'), + h = o(function (d) { + var p, + m = d === 'source'; + if (a[d]) { + var g = t.pstyle(d + '-text-offset').pfValue; + switch (n.edgeType) { + case 'self': + case 'compound': + case 'bezier': + case 'multibezier': { + for (var y = u(), v, x = 0, b = 0, w = 0; w < y.length; w++) { + for ( + var S = y[m ? w : y.length - 1 - w], T = 0; + T < S.segments.length; + T++ + ) { + var E = S.segments[m ? T : S.segments.length - 1 - T], + _ = w === y.length - 1 && T === S.segments.length - 1; + if (((x = b), (b += E.length), b >= g || _)) { + v = { cp: S, segment: E }; + break; + } + } + if (v) break; + } + var A = v.cp, + L = v.segment, + M = (g - x) / L.length, + N = L.t1 - L.t0, + k = m ? L.t0 + N * M : L.t1 - N * M; + (k = Hx(0, k, 1)), + (e = t1(A.p0, A.p1, A.p2, k)), + (p = fQe(A.p0, A.p1, A.p2, k)); + break; + } + case 'straight': + case 'segments': + case 'haystack': { + for ( + var I = 0, C, O, D, P, F = n.allpts.length, B = 0; + B + 3 < F && + (m + ? ((D = { x: n.allpts[B], y: n.allpts[B + 1] }), + (P = { x: n.allpts[B + 2], y: n.allpts[B + 3] })) + : ((D = { + x: n.allpts[F - 2 - B], + y: n.allpts[F - 1 - B] + }), + (P = { + x: n.allpts[F - 4 - B], + y: n.allpts[F - 3 - B] + })), + (C = H0(D, P)), + (O = I), + (I += C), + !(I >= g)); + B += 2 + ); + var $ = g - O, + z = $ / C; + (z = Hx(0, z, 1)), (e = yWe(D, P, z)), (p = Gme(D, P)); + break; + } + } + s('labelX', d, e.x), s('labelY', d, e.y), s('labelAutoAngle', d, p); + } + }, 'calculateEndProjection'); + h('source'), h('target'), this.applyLabelDimensions(t); + } + }; + Hc.applyLabelDimensions = function (t) { + this.applyPrefixedLabelDimensions(t), + t.isEdge() && + (this.applyPrefixedLabelDimensions(t, 'source'), + this.applyPrefixedLabelDimensions(t, 'target')); + }; + Hc.applyPrefixedLabelDimensions = function (t, e) { + var r = t._private, + n = this.getLabelText(t, e), + i = this.calculateLabelDimensions(t, n), + a = t.pstyle('line-height').pfValue, + s = t.pstyle('text-wrap').strValue, + l = Ul(r.rscratch, 'labelWrapCachedLines', e) || [], + u = s !== 'wrap' ? 1 : Math.max(l.length, 1), + h = i.height / u, + f = h * a, + d = i.width, + p = i.height + (u - 1) * (a - 1) * h; + Tf(r.rstyle, 'labelWidth', e, d), + Tf(r.rscratch, 'labelWidth', e, d), + Tf(r.rstyle, 'labelHeight', e, p), + Tf(r.rscratch, 'labelHeight', e, p), + Tf(r.rscratch, 'labelLineHeight', e, f); + }; + Hc.getLabelText = function (t, e) { + var r = t._private, + n = e ? e + '-' : '', + i = t.pstyle(n + 'label').strValue, + a = t.pstyle('text-transform').value, + s = o(function (Q, X) { + return X ? (Tf(r.rscratch, Q, e, X), X) : Ul(r.rscratch, Q, e); + }, 'rscratch'); + if (!i) return ''; + a == 'none' || (a == 'uppercase' ? (i = i.toUpperCase()) : a == 'lowercase' && (i = i.toLowerCase())); + var l = t.pstyle('text-wrap').value; + if (l === 'wrap') { + var u = s('labelKey'); + if (u != null && s('labelWrapKey') === u) return s('labelWrapCachedText'); + for ( + var h = '\u200B', + f = i.split(` +`), + d = t.pstyle('text-max-width').pfValue, + p = t.pstyle('text-overflow-wrap').value, + m = p === 'anywhere', + g = [], + y = /[\s\u200b]+|$/g, + v = 0; + v < f.length; + v++ + ) { + var x = f[v], + b = this.calculateLabelDimensions(t, x), + w = b.width; + if (m) { + var S = x.split('').join(h); + x = S; + } + if (w > d) { + var T = x.matchAll(y), + E = '', + _ = 0, + A = Tpe(T), + L; + try { + for (A.s(); !(L = A.n()).done; ) { + var M = L.value, + N = M[0], + k = x.substring(_, M.index); + _ = M.index + N.length; + var I = E.length === 0 ? k : E + k + N, + C = this.calculateLabelDimensions(t, I), + O = C.width; + O <= d ? (E += k + N) : (E && g.push(E), (E = k + N)); + } + } catch (Y) { + A.e(Y); + } finally { + A.f(); + } + E.match(/^[\s\u200b]+$/) || g.push(E); + } else g.push(x); + } + s('labelWrapCachedLines', g), + (i = s( + 'labelWrapCachedText', + g.join(` +`) + )), + s('labelWrapKey', u); + } else if (l === 'ellipsis') { + var D = t.pstyle('text-max-width').pfValue, + P = '', + F = '\u2026', + B = !1; + if (this.calculateLabelDimensions(t, i).width < D) return i; + for (var $ = 0; $ < i.length; $++) { + var z = this.calculateLabelDimensions(t, P + i[$] + F).width; + if (z > D) break; + (P += i[$]), $ === i.length - 1 && (B = !0); + } + return B || (P += F), P; + } + return i; + }; + Hc.getLabelJustification = function (t) { + var e = t.pstyle('text-justification').strValue, + r = t.pstyle('text-halign').strValue; + if (e === 'auto') + if (t.isNode()) + switch (r) { + case 'left': + return 'right'; + case 'right': + return 'left'; + default: + return 'center'; + } + else return 'center'; + else return e; + }; + Hc.calculateLabelDimensions = function (t, e) { + var r = this, + n = r.cy.window(), + i = n.document, + a = U0(e, t._private.labelDimsKey), + s = r.labelDimCache || (r.labelDimCache = []), + l = s[a]; + if (l != null) return l; + var u = 0, + h = t.pstyle('font-style').strValue, + f = t.pstyle('font-size').pfValue, + d = t.pstyle('font-family').strValue, + p = t.pstyle('font-weight').strValue, + m = this.labelCalcCanvas, + g = this.labelCalcCanvasContext; + if (!m) { + (m = this.labelCalcCanvas = i.createElement('canvas')), + (g = this.labelCalcCanvasContext = m.getContext('2d')); + var y = m.style; + (y.position = 'absolute'), + (y.left = '-9999px'), + (y.top = '-9999px'), + (y.zIndex = '-1'), + (y.visibility = 'hidden'), + (y.pointerEvents = 'none'); + } + g.font = ''.concat(h, ' ').concat(p, ' ').concat(f, 'px ').concat(d); + for ( + var v = 0, + x = 0, + b = e.split(` +`), + w = 0; + w < b.length; + w++ + ) { + var S = b[w], + T = g.measureText(S), + E = Math.ceil(T.width), + _ = f; + (v = Math.max(E, v)), (x += _); + } + return (v += u), (x += u), (s[a] = { width: v, height: x }); + }; + Hc.calculateLabelAngle = function (t, e) { + var r = t._private, + n = r.rscratch, + i = t.isEdge(), + a = e ? e + '-' : '', + s = t.pstyle(a + 'text-rotation'), + l = s.strValue; + return l === 'none' + ? 0 + : i && l === 'autorotate' + ? n.labelAutoAngle + : l === 'autorotate' + ? 0 + : s.pfValue; + }; + Hc.calculateLabelAngles = function (t) { + var e = this, + r = t.isEdge(), + n = t._private, + i = n.rscratch; + (i.labelAngle = e.calculateLabelAngle(t)), + r && + ((i.sourceLabelAngle = e.calculateLabelAngle(t, 'source')), + (i.targetLabelAngle = e.calculateLabelAngle(t, 'target'))); + }; + ($me = {}), (cpe = 28), (upe = !1); + $me.getNodeShape = function (t) { + var e = this, + r = t.pstyle('shape').value; + if (r === 'cutrectangle' && (t.width() < cpe || t.height() < cpe)) + return ( + upe || + (tn( + 'The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead' + ), + (upe = !0)), + 'rectangle' + ); + if (t.isParent()) + return r === 'rectangle' || + r === 'roundrectangle' || + r === 'round-rectangle' || + r === 'cutrectangle' || + r === 'cut-rectangle' || + r === 'barrel' + ? r + : 'rectangle'; + if (r === 'polygon') { + var n = t.pstyle('shape-polygon-points').value; + return e.nodeShapes.makePolygon(n).name; + } + return r; + }; + K6 = {}; + K6.registerCalculationListeners = function () { + var t = this.cy, + e = t.collection(), + r = this, + n = o(function (s) { + var l = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0; + if ((e.merge(s), l)) + for (var u = 0; u < s.length; u++) { + var h = s[u], + f = h._private, + d = f.rstyle; + (d.clean = !1), (d.cleanConnected = !1); + } + }, 'enqueue'); + r.binder(t) + .on( + 'bounds.* dirty.*', + o(function (s) { + var l = s.target; + n(l); + }, 'onDirtyBounds') + ) + .on( + 'style.* background.*', + o(function (s) { + var l = s.target; + n(l, !1); + }, 'onDirtyStyle') + ); + var i = o(function (s) { + if (s) { + var l = r.onUpdateEleCalcsFns; + e.cleanStyle(); + for (var u = 0; u < e.length; u++) { + var h = e[u], + f = h._private.rstyle; + h.isNode() && !f.cleanConnected && (n(h.connectedEdges()), (f.cleanConnected = !0)); + } + if (l) + for (var d = 0; d < l.length; d++) { + var p = l[d]; + p(s, e); + } + r.recalculateRenderedStyle(e), (e = t.collection()); + } + }, 'updateEleCalcs'); + (r.flushRenderedStyleQueue = function () { + i(!0); + }), + r.beforeRender(i, r.beforeRenderPriorities.eleCalcs); + }; + K6.onUpdateEleCalcs = function (t) { + var e = (this.onUpdateEleCalcsFns = this.onUpdateEleCalcsFns || []); + e.push(t); + }; + K6.recalculateRenderedStyle = function (t, e) { + var r = o(function (S) { + return S._private.rstyle.cleanConnected; + }, 'isCleanConnected'), + n = [], + i = []; + if (!this.destroyed) { + e === void 0 && (e = !0); + for (var a = 0; a < t.length; a++) { + var s = t[a], + l = s._private, + u = l.rstyle; + s.isEdge() && (!r(s.source()) || !r(s.target())) && (u.clean = !1), + !((e && u.clean) || s.removed()) && + s.pstyle('display').value !== 'none' && + (l.group === 'nodes' ? i.push(s) : n.push(s), (u.clean = !0)); + } + for (var h = 0; h < i.length; h++) { + var f = i[h], + d = f._private, + p = d.rstyle, + m = f.position(); + this.recalculateNodeLabelProjection(f), + (p.nodeX = m.x), + (p.nodeY = m.y), + (p.nodeW = f.pstyle('width').pfValue), + (p.nodeH = f.pstyle('height').pfValue); + } + this.recalculateEdgeProjections(n); + for (var g = 0; g < n.length; g++) { + var y = n[g], + v = y._private, + x = v.rstyle, + b = v.rscratch; + (x.srcX = b.arrowStartX), + (x.srcY = b.arrowStartY), + (x.tgtX = b.arrowEndX), + (x.tgtY = b.arrowEndY), + (x.midX = b.midX), + (x.midY = b.midY), + (x.labelAngle = b.labelAngle), + (x.sourceLabelAngle = b.sourceLabelAngle), + (x.targetLabelAngle = b.targetLabelAngle); + } + } + }; + Q6 = {}; + Q6.updateCachedGrabbedEles = function () { + var t = this.cachedZSortedEles; + if (t) { + (t.drag = []), (t.nondrag = []); + for (var e = [], r = 0; r < t.length; r++) { + var n = t[r], + i = n._private.rscratch; + n.grabbed() && !n.isParent() ? e.push(n) : i.inDragLayer ? t.drag.push(n) : t.nondrag.push(n); + } + for (var r = 0; r < e.length; r++) { + var n = e[r]; + t.drag.push(n); + } + } + }; + Q6.invalidateCachedZSortedEles = function () { + this.cachedZSortedEles = null; + }; + Q6.getCachedZSortedEles = function (t) { + if (t || !this.cachedZSortedEles) { + var e = this.cy.mutableElements().toArray(); + e.sort(Eme), + (e.interactive = e.filter(function (r) { + return r.interactive(); + })), + (this.cachedZSortedEles = e), + this.updateCachedGrabbedEles(); + } else e = this.cachedZSortedEles; + return e; + }; + Vme = {}; + [j0, N6, $a, nb, gB, Hc, $me, K6, Q6].forEach(function (t) { + Wt(Vme, t); + }); + Ume = {}; + Ume.getCachedImage = function (t, e, r) { + var n = this, + i = (n.imageCache = n.imageCache || {}), + a = i[t]; + if (a) return a.image.complete || a.image.addEventListener('load', r), a.image; + a = i[t] = i[t] || {}; + var s = (a.image = new Image()); + s.addEventListener('load', r), + s.addEventListener('error', function () { + s.error = !0; + }); + var l = 'data:', + u = t.substring(0, l.length).toLowerCase() === l; + return u || ((e = e === 'null' ? null : e), (s.crossOrigin = e)), (s.src = t), s; + }; + g1 = {}; + g1.registerBinding = function (t, e, r, n) { + var i = Array.prototype.slice.apply(arguments, [1]), + a = this.binder(t); + return a.on.apply(a, i); + }; + g1.binder = function (t) { + var e = this, + r = e.cy.window(), + n = t === r || t === r.document || t === r.document.body || BHe(t); + if (e.supportsPassiveEvents == null) { + var i = !1; + try { + var a = Object.defineProperty({}, 'passive', { + get: o(function () { + return (i = !0), !0; + }, 'get') + }); + r.addEventListener('test', null, a); + } catch {} + e.supportsPassiveEvents = i; + } + var s = o(function (u, h, f) { + var d = Array.prototype.slice.call(arguments); + return ( + n && e.supportsPassiveEvents && (d[2] = { capture: f ?? !1, passive: !1, once: !1 }), + e.bindings.push({ target: t, args: d }), + (t.addEventListener || t.on).apply(t, d), + this + ); + }, 'on'); + return { on: s, addEventListener: s, addListener: s, bind: s }; + }; + g1.nodeIsDraggable = function (t) { + return t && t.isNode() && !t.locked() && t.grabbable(); + }; + g1.nodeIsGrabbable = function (t) { + return this.nodeIsDraggable(t) && t.interactive(); + }; + g1.load = function () { + var t = this, + e = t.cy.window(), + r = o(function (W) { + return W.selected(); + }, 'isSelected'), + n = o(function (W, fe, ge, re) { + W == null && (W = t.cy); + for (var he = 0; he < fe.length; he++) { + var ne = fe[he]; + W.emit({ originalEvent: ge, type: ne, position: re }); + } + }, 'triggerEvents'), + i = o(function (W) { + return W.shiftKey || W.metaKey || W.ctrlKey; + }, 'isMultSelKeyDown'), + a = o(function (W, fe) { + var ge = !0; + if (t.cy.hasCompoundNodes() && W && W.pannable()) + for (var re = 0; fe && re < fe.length; re++) { + var W = fe[re]; + if (W.isNode() && W.isParent() && !W.pannable()) { + ge = !1; + break; + } + } + else ge = !0; + return ge; + }, 'allowPanningPassthrough'), + s = o(function (W) { + W[0]._private.grabbed = !0; + }, 'setGrabbed'), + l = o(function (W) { + W[0]._private.grabbed = !1; + }, 'setFreed'), + u = o(function (W) { + W[0]._private.rscratch.inDragLayer = !0; + }, 'setInDragLayer'), + h = o(function (W) { + W[0]._private.rscratch.inDragLayer = !1; + }, 'setOutDragLayer'), + f = o(function (W) { + W[0]._private.rscratch.isGrabTarget = !0; + }, 'setGrabTarget'), + d = o(function (W) { + W[0]._private.rscratch.isGrabTarget = !1; + }, 'removeGrabTarget'), + p = o(function (W, fe) { + var ge = fe.addToList, + re = ge.has(W); + !re && W.grabbable() && !W.locked() && (ge.merge(W), s(W)); + }, 'addToDragList'), + m = o(function (W, fe) { + if (W.cy().hasCompoundNodes() && !(fe.inDragLayer == null && fe.addToList == null)) { + var ge = W.descendants(); + fe.inDragLayer && (ge.forEach(u), ge.connectedEdges().forEach(u)), + fe.addToList && p(ge, fe); + } + }, 'addDescendantsToDrag'), + g = o(function (W, fe) { + fe = fe || {}; + var ge = W.cy().hasCompoundNodes(); + fe.inDragLayer && + (W.forEach(u), + W.neighborhood() + .stdFilter(function (re) { + return !ge || re.isEdge(); + }) + .forEach(u)), + fe.addToList && + W.forEach(function (re) { + p(re, fe); + }), + m(W, fe), + x(W, { inDragLayer: fe.inDragLayer }), + t.updateCachedGrabbedEles(); + }, 'addNodesToDrag'), + y = g, + v = o(function (W) { + W && + (t.getCachedZSortedEles().forEach(function (fe) { + l(fe), h(fe), d(fe); + }), + t.updateCachedGrabbedEles()); + }, 'freeDraggedElements'), + x = o(function (W, fe) { + if (!(fe.inDragLayer == null && fe.addToList == null) && W.cy().hasCompoundNodes()) { + var ge = W.ancestors().orphans(); + if (!ge.same(W)) { + var re = ge.descendants().spawnSelf().merge(ge).unmerge(W).unmerge(W.descendants()), + he = re.connectedEdges(); + fe.inDragLayer && (he.forEach(u), re.forEach(u)), + fe.addToList && + re.forEach(function (ne) { + p(ne, fe); + }); + } + } + }, 'updateAncestorsInDragLayer'), + b = o(function () { + document.activeElement != null && + document.activeElement.blur != null && + document.activeElement.blur(); + }, 'blurActiveDomElement'), + w = typeof MutationObserver < 'u', + S = typeof ResizeObserver < 'u'; + w + ? ((t.removeObserver = new MutationObserver(function (me) { + for (var W = 0; W < me.length; W++) { + var fe = me[W], + ge = fe.removedNodes; + if (ge) + for (var re = 0; re < ge.length; re++) { + var he = ge[re]; + if (he === t.container) { + t.destroy(); + break; + } + } + } + })), + t.container.parentNode && + t.removeObserver.observe(t.container.parentNode, { + childList: !0 + })) + : t.registerBinding(t.container, 'DOMNodeRemoved', function (me) { + t.destroy(); + }); + var T = P6(function () { + t.cy.resize(); + }, 100); + w && + ((t.styleObserver = new MutationObserver(T)), + t.styleObserver.observe(t.container, { attributes: !0 })), + t.registerBinding(e, 'resize', T), + S && ((t.resizeObserver = new ResizeObserver(T)), t.resizeObserver.observe(t.container)); + var E = o(function (W, fe) { + for (; W != null; ) fe(W), (W = W.parentNode); + }, 'forEachUp'), + _ = o(function () { + t.invalidateContainerClientCoordsCache(); + }, 'invalidateCoords'); + E(t.container, function (me) { + t.registerBinding(me, 'transitionend', _), + t.registerBinding(me, 'animationend', _), + t.registerBinding(me, 'scroll', _); + }), + t.registerBinding(t.container, 'contextmenu', function (me) { + me.preventDefault(); + }); + var A = o(function () { + return t.selection[4] !== 0; + }, 'inBoxSelection'), + L = o(function (W) { + for ( + var fe = t.findContainerClientCoords(), + ge = fe[0], + re = fe[1], + he = fe[2], + ne = fe[3], + ae = W.touches ? W.touches : [W], + we = !1, + Te = 0; + Te < ae.length; + Te++ + ) { + var Ce = ae[Te]; + if ( + ge <= Ce.clientX && + Ce.clientX <= ge + he && + re <= Ce.clientY && + Ce.clientY <= re + ne + ) { + we = !0; + break; + } + } + if (!we) return !1; + for (var Ae = t.container, Ge = W.target, Me = Ge.parentNode, ye = !1; Me; ) { + if (Me === Ae) { + ye = !0; + break; + } + Me = Me.parentNode; + } + return !!ye; + }, 'eventInContainer'); + t.registerBinding( + t.container, + 'mousedown', + o(function (W) { + if (L(W) && !(t.hoverData.which === 1 && W.which !== 1)) { + W.preventDefault(), b(), (t.hoverData.capture = !0), (t.hoverData.which = W.which); + var fe = t.cy, + ge = [W.clientX, W.clientY], + re = t.projectIntoViewport(ge[0], ge[1]), + he = t.selection, + ne = t.findNearestElements(re[0], re[1], !0, !1), + ae = ne[0], + we = t.dragData.possibleDragElements; + (t.hoverData.mdownPos = re), (t.hoverData.mdownGPos = ge); + var Te = o(function () { + (t.hoverData.tapholdCancelled = !1), + clearTimeout(t.hoverData.tapholdTimeout), + (t.hoverData.tapholdTimeout = setTimeout(function () { + if (!t.hoverData.tapholdCancelled) { + var He = t.hoverData.down; + He + ? He.emit({ + originalEvent: W, + type: 'taphold', + position: { x: re[0], y: re[1] } + }) + : fe.emit({ + originalEvent: W, + type: 'taphold', + position: { x: re[0], y: re[1] } + }); + } + }, t.tapholdDuration)); + }, 'checkForTaphold'); + if (W.which == 3) { + t.hoverData.cxtStarted = !0; + var Ce = { + originalEvent: W, + type: 'cxttapstart', + position: { x: re[0], y: re[1] } + }; + ae ? (ae.activate(), ae.emit(Ce), (t.hoverData.down = ae)) : fe.emit(Ce), + (t.hoverData.downTime = new Date().getTime()), + (t.hoverData.cxtDragged = !1); + } else if (W.which == 1) { + ae && ae.activate(); + { + if (ae != null && t.nodeIsGrabbable(ae)) { + var Ae = o(function (He) { + return { + originalEvent: W, + type: He, + position: { x: re[0], y: re[1] } + }; + }, 'makeEvent'), + Ge = o(function (He) { + He.emit(Ae('grab')); + }, 'triggerGrab'); + if ((f(ae), !ae.selected())) + (we = t.dragData.possibleDragElements = fe.collection()), + y(ae, { addToList: we }), + ae.emit(Ae('grabon')).emit(Ae('grab')); + else { + we = t.dragData.possibleDragElements = fe.collection(); + var Me = fe.$(function (ye) { + return ye.isNode() && ye.selected() && t.nodeIsGrabbable(ye); + }); + g(Me, { addToList: we }), ae.emit(Ae('grabon')), Me.forEach(Ge); + } + t.redrawHint('eles', !0), t.redrawHint('drag', !0); + } + (t.hoverData.down = ae), + (t.hoverData.downs = ne), + (t.hoverData.downTime = new Date().getTime()); + } + n(ae, ['mousedown', 'tapstart', 'vmousedown'], W, { + x: re[0], + y: re[1] + }), + ae == null + ? ((he[4] = 1), + (t.data.bgActivePosistion = { x: re[0], y: re[1] }), + t.redrawHint('select', !0), + t.redraw()) + : ae.pannable() && (he[4] = 1), + Te(); + } + (he[0] = he[2] = re[0]), (he[1] = he[3] = re[1]); + } + }, 'mousedownHandler'), + !1 + ), + t.registerBinding( + e, + 'mousemove', + o(function (W) { + var fe = t.hoverData.capture; + if (!(!fe && !L(W))) { + var ge = !1, + re = t.cy, + he = re.zoom(), + ne = [W.clientX, W.clientY], + ae = t.projectIntoViewport(ne[0], ne[1]), + we = t.hoverData.mdownPos, + Te = t.hoverData.mdownGPos, + Ce = t.selection, + Ae = null; + !t.hoverData.draggingEles && + !t.hoverData.dragging && + !t.hoverData.selecting && + (Ae = t.findNearestElement(ae[0], ae[1], !0, !1)); + var Ge = t.hoverData.last, + Me = t.hoverData.down, + ye = [ae[0] - Ce[2], ae[1] - Ce[3]], + He = t.dragData.possibleDragElements, + ze; + if (Te) { + var Ze = ne[0] - Te[0], + gt = Ze * Ze, + yt = ne[1] - Te[1], + tt = yt * yt, + Ye = gt + tt; + t.hoverData.isOverThresholdDrag = ze = Ye >= t.desktopTapThreshold2; + } + var Je = i(W); + ze && (t.hoverData.tapholdCancelled = !0); + var Ve = o(function () { + var St = (t.hoverData.dragDelta = t.hoverData.dragDelta || []); + St.length === 0 + ? (St.push(ye[0]), St.push(ye[1])) + : ((St[0] += ye[0]), (St[1] += ye[1])); + }, 'updateDragDelta'); + (ge = !0), + n(Ae, ['mousemove', 'vmousemove', 'tapdrag'], W, { + x: ae[0], + y: ae[1] + }); + var je = o(function () { + (t.data.bgActivePosistion = void 0), + t.hoverData.selecting || + re.emit({ + originalEvent: W, + type: 'boxstart', + position: { x: ae[0], y: ae[1] } + }), + (Ce[4] = 1), + (t.hoverData.selecting = !0), + t.redrawHint('select', !0), + t.redraw(); + }, 'goIntoBoxMode'); + if (t.hoverData.which === 3) { + if (ze) { + var kt = { + originalEvent: W, + type: 'cxtdrag', + position: { x: ae[0], y: ae[1] } + }; + Me ? Me.emit(kt) : re.emit(kt), + (t.hoverData.cxtDragged = !0), + (!t.hoverData.cxtOver || Ae !== t.hoverData.cxtOver) && + (t.hoverData.cxtOver && + t.hoverData.cxtOver.emit({ + originalEvent: W, + type: 'cxtdragout', + position: { x: ae[0], y: ae[1] } + }), + (t.hoverData.cxtOver = Ae), + Ae && + Ae.emit({ + originalEvent: W, + type: 'cxtdragover', + position: { x: ae[0], y: ae[1] } + })); + } + } else if (t.hoverData.dragging) { + if (((ge = !0), re.panningEnabled() && re.userPanningEnabled())) { + var at; + if (t.hoverData.justStartedPan) { + var xt = t.hoverData.mdownPos; + (at = { + x: (ae[0] - xt[0]) * he, + y: (ae[1] - xt[1]) * he + }), + (t.hoverData.justStartedPan = !1); + } else at = { x: ye[0] * he, y: ye[1] * he }; + re.panBy(at), re.emit('dragpan'), (t.hoverData.dragged = !0); + } + ae = t.projectIntoViewport(W.clientX, W.clientY); + } else if (Ce[4] == 1 && (Me == null || Me.pannable())) { + if (ze) { + if ( + !t.hoverData.dragging && + re.boxSelectionEnabled() && + (Je || !re.panningEnabled() || !re.userPanningEnabled()) + ) + je(); + else if ( + !t.hoverData.selecting && + re.panningEnabled() && + re.userPanningEnabled() + ) { + var it = a(Me, t.hoverData.downs); + it && + ((t.hoverData.dragging = !0), + (t.hoverData.justStartedPan = !0), + (Ce[4] = 0), + (t.data.bgActivePosistion = Jg(we)), + t.redrawHint('select', !0), + t.redraw()); + } + Me && Me.pannable() && Me.active() && Me.unactivate(); + } + } else { + if ( + (Me && Me.pannable() && Me.active() && Me.unactivate(), + (!Me || !Me.grabbed()) && + Ae != Ge && + (Ge && + n(Ge, ['mouseout', 'tapdragout'], W, { + x: ae[0], + y: ae[1] + }), + Ae && + n(Ae, ['mouseover', 'tapdragover'], W, { + x: ae[0], + y: ae[1] + }), + (t.hoverData.last = Ae)), + Me) + ) + if (ze) { + if (re.boxSelectionEnabled() && Je) + Me && + Me.grabbed() && + (v(He), + Me.emit('freeon'), + He.emit('free'), + t.dragData.didDrag && (Me.emit('dragfreeon'), He.emit('dragfree'))), + je(); + else if (Me && Me.grabbed() && t.nodeIsDraggable(Me)) { + var dt = !t.dragData.didDrag; + dt && t.redrawHint('eles', !0), + (t.dragData.didDrag = !0), + t.hoverData.draggingEles || g(He, { inDragLayer: !0 }); + var lt = { x: 0, y: 0 }; + if (ft(ye[0]) && ft(ye[1]) && ((lt.x += ye[0]), (lt.y += ye[1]), dt)) { + var It = t.hoverData.dragDelta; + It && ft(It[0]) && ft(It[1]) && ((lt.x += It[0]), (lt.y += It[1])); + } + (t.hoverData.draggingEles = !0), + He.silentShift(lt).emit('position drag'), + t.redrawHint('drag', !0), + t.redraw(); + } + } else Ve(); + ge = !0; + } + if (((Ce[2] = ae[0]), (Ce[3] = ae[1]), ge)) + return ( + W.stopPropagation && W.stopPropagation(), + W.preventDefault && W.preventDefault(), + !1 + ); + } + }, 'mousemoveHandler'), + !1 + ); + var M, N, k; + t.registerBinding( + e, + 'mouseup', + o(function (W) { + if (!(t.hoverData.which === 1 && W.which !== 1 && t.hoverData.capture)) { + var fe = t.hoverData.capture; + if (fe) { + t.hoverData.capture = !1; + var ge = t.cy, + re = t.projectIntoViewport(W.clientX, W.clientY), + he = t.selection, + ne = t.findNearestElement(re[0], re[1], !0, !1), + ae = t.dragData.possibleDragElements, + we = t.hoverData.down, + Te = i(W); + if ( + (t.data.bgActivePosistion && (t.redrawHint('select', !0), t.redraw()), + (t.hoverData.tapholdCancelled = !0), + (t.data.bgActivePosistion = void 0), + we && we.unactivate(), + t.hoverData.which === 3) + ) { + var Ce = { + originalEvent: W, + type: 'cxttapend', + position: { x: re[0], y: re[1] } + }; + if ((we ? we.emit(Ce) : ge.emit(Ce), !t.hoverData.cxtDragged)) { + var Ae = { + originalEvent: W, + type: 'cxttap', + position: { x: re[0], y: re[1] } + }; + we ? we.emit(Ae) : ge.emit(Ae); + } + (t.hoverData.cxtDragged = !1), (t.hoverData.which = null); + } else if (t.hoverData.which === 1) { + if ( + (n(ne, ['mouseup', 'tapend', 'vmouseup'], W, { + x: re[0], + y: re[1] + }), + !t.dragData.didDrag && + !t.hoverData.dragged && + !t.hoverData.selecting && + !t.hoverData.isOverThresholdDrag && + (n(we, ['click', 'tap', 'vclick'], W, { + x: re[0], + y: re[1] + }), + (N = !1), + W.timeStamp - k <= ge.multiClickDebounceTime() + ? (M && clearTimeout(M), + (N = !0), + (k = null), + n(we, ['dblclick', 'dbltap', 'vdblclick'], W, { + x: re[0], + y: re[1] + })) + : ((M = setTimeout(function () { + N || + n(we, ['oneclick', 'onetap', 'voneclick'], W, { + x: re[0], + y: re[1] + }); + }, ge.multiClickDebounceTime())), + (k = W.timeStamp))), + we == null && + !t.dragData.didDrag && + !t.hoverData.selecting && + !t.hoverData.dragged && + !i(W) && + (ge.$(r).unselect(['tapunselect']), + ae.length > 0 && t.redrawHint('eles', !0), + (t.dragData.possibleDragElements = ae = ge.collection())), + ne == we && + !t.dragData.didDrag && + !t.hoverData.selecting && + ne != null && + ne._private.selectable && + (t.hoverData.dragging || + (ge.selectionType() === 'additive' || Te + ? ne.selected() + ? ne.unselect(['tapunselect']) + : ne.select(['tapselect']) + : Te || + (ge.$(r).unmerge(ne).unselect(['tapunselect']), + ne.select(['tapselect']))), + t.redrawHint('eles', !0)), + t.hoverData.selecting) + ) { + var Ge = ge.collection(t.getAllInBox(he[0], he[1], he[2], he[3])); + t.redrawHint('select', !0), + Ge.length > 0 && t.redrawHint('eles', !0), + ge.emit({ + type: 'boxend', + originalEvent: W, + position: { x: re[0], y: re[1] } + }); + var Me = o(function (ze) { + return ze.selectable() && !ze.selected(); + }, 'eleWouldBeSelected'); + ge.selectionType() === 'additive' || Te || ge.$(r).unmerge(Ge).unselect(), + Ge.emit('box').stdFilter(Me).select().emit('boxselect'), + t.redraw(); + } + if ( + (t.hoverData.dragging && + ((t.hoverData.dragging = !1), + t.redrawHint('select', !0), + t.redrawHint('eles', !0), + t.redraw()), + !he[4]) + ) { + t.redrawHint('drag', !0), t.redrawHint('eles', !0); + var ye = we && we.grabbed(); + v(ae), + ye && + (we.emit('freeon'), + ae.emit('free'), + t.dragData.didDrag && (we.emit('dragfreeon'), ae.emit('dragfree'))); + } + } + (he[4] = 0), + (t.hoverData.down = null), + (t.hoverData.cxtStarted = !1), + (t.hoverData.draggingEles = !1), + (t.hoverData.selecting = !1), + (t.hoverData.isOverThresholdDrag = !1), + (t.dragData.didDrag = !1), + (t.hoverData.dragged = !1), + (t.hoverData.dragDelta = []), + (t.hoverData.mdownPos = null), + (t.hoverData.mdownGPos = null); + } + } + }, 'mouseupHandler'), + !1 + ); + var I = o(function (W) { + if (!t.scrollingPage) { + var fe = t.cy, + ge = fe.zoom(), + re = fe.pan(), + he = t.projectIntoViewport(W.clientX, W.clientY), + ne = [he[0] * ge + re.x, he[1] * ge + re.y]; + if (t.hoverData.draggingEles || t.hoverData.dragging || t.hoverData.cxtStarted || A()) { + W.preventDefault(); + return; + } + if ( + fe.panningEnabled() && + fe.userPanningEnabled() && + fe.zoomingEnabled() && + fe.userZoomingEnabled() + ) { + W.preventDefault(), + (t.data.wheelZooming = !0), + clearTimeout(t.data.wheelTimeout), + (t.data.wheelTimeout = setTimeout(function () { + (t.data.wheelZooming = !1), t.redrawHint('eles', !0), t.redraw(); + }, 150)); + var ae; + W.deltaY != null + ? (ae = W.deltaY / -250) + : W.wheelDeltaY != null + ? (ae = W.wheelDeltaY / 1e3) + : (ae = W.wheelDelta / 1e3), + (ae = ae * t.wheelSensitivity); + var we = W.deltaMode === 1; + we && (ae *= 33); + var Te = fe.zoom() * Math.pow(10, ae); + W.type === 'gesturechange' && (Te = t.gestureStartZoom * W.scale), + fe.zoom({ + level: Te, + renderedPosition: { x: ne[0], y: ne[1] } + }), + fe.emit(W.type === 'gesturechange' ? 'pinchzoom' : 'scrollzoom'); + } + } + }, 'wheelHandler'); + t.registerBinding(t.container, 'wheel', I, !0), + t.registerBinding( + e, + 'scroll', + o(function (W) { + (t.scrollingPage = !0), + clearTimeout(t.scrollingPageTimeout), + (t.scrollingPageTimeout = setTimeout(function () { + t.scrollingPage = !1; + }, 250)); + }, 'scrollHandler'), + !0 + ), + t.registerBinding( + t.container, + 'gesturestart', + o(function (W) { + (t.gestureStartZoom = t.cy.zoom()), t.hasTouchStarted || W.preventDefault(); + }, 'gestureStartHandler'), + !0 + ), + t.registerBinding( + t.container, + 'gesturechange', + function (me) { + t.hasTouchStarted || I(me); + }, + !0 + ), + t.registerBinding( + t.container, + 'mouseout', + o(function (W) { + var fe = t.projectIntoViewport(W.clientX, W.clientY); + t.cy.emit({ + originalEvent: W, + type: 'mouseout', + position: { x: fe[0], y: fe[1] } + }); + }, 'mouseOutHandler'), + !1 + ), + t.registerBinding( + t.container, + 'mouseover', + o(function (W) { + var fe = t.projectIntoViewport(W.clientX, W.clientY); + t.cy.emit({ + originalEvent: W, + type: 'mouseover', + position: { x: fe[0], y: fe[1] } + }); + }, 'mouseOverHandler'), + !1 + ); + var C, + O, + D, + P, + F, + B, + $, + z, + Y, + Q, + X, + ie, + j, + J = o(function (W, fe, ge, re) { + return Math.sqrt((ge - W) * (ge - W) + (re - fe) * (re - fe)); + }, 'distance'), + Z = o(function (W, fe, ge, re) { + return (ge - W) * (ge - W) + (re - fe) * (re - fe); + }, 'distanceSq'), + H; + t.registerBinding( + t.container, + 'touchstart', + (H = o(function (W) { + if (((t.hasTouchStarted = !0), !!L(W))) { + b(), (t.touchData.capture = !0), (t.data.bgActivePosistion = void 0); + var fe = t.cy, + ge = t.touchData.now, + re = t.touchData.earlier; + if (W.touches[0]) { + var he = t.projectIntoViewport(W.touches[0].clientX, W.touches[0].clientY); + (ge[0] = he[0]), (ge[1] = he[1]); + } + if (W.touches[1]) { + var he = t.projectIntoViewport(W.touches[1].clientX, W.touches[1].clientY); + (ge[2] = he[0]), (ge[3] = he[1]); + } + if (W.touches[2]) { + var he = t.projectIntoViewport(W.touches[2].clientX, W.touches[2].clientY); + (ge[4] = he[0]), (ge[5] = he[1]); + } + if (W.touches[1]) { + (t.touchData.singleTouchMoved = !0), v(t.dragData.touchDragEles); + var ne = t.findContainerClientCoords(); + (Y = ne[0]), + (Q = ne[1]), + (X = ne[2]), + (ie = ne[3]), + (C = W.touches[0].clientX - Y), + (O = W.touches[0].clientY - Q), + (D = W.touches[1].clientX - Y), + (P = W.touches[1].clientY - Q), + (j = + 0 <= C && C <= X && 0 <= D && D <= X && 0 <= O && O <= ie && 0 <= P && P <= ie); + var ae = fe.pan(), + we = fe.zoom(); + (F = J(C, O, D, P)), + (B = Z(C, O, D, P)), + ($ = [(C + D) / 2, (O + P) / 2]), + (z = [($[0] - ae.x) / we, ($[1] - ae.y) / we]); + var Te = 200, + Ce = Te * Te; + if (B < Ce && !W.touches[2]) { + var Ae = t.findNearestElement(ge[0], ge[1], !0, !0), + Ge = t.findNearestElement(ge[2], ge[3], !0, !0); + Ae && Ae.isNode() + ? (Ae.activate().emit({ + originalEvent: W, + type: 'cxttapstart', + position: { x: ge[0], y: ge[1] } + }), + (t.touchData.start = Ae)) + : Ge && Ge.isNode() + ? (Ge.activate().emit({ + originalEvent: W, + type: 'cxttapstart', + position: { x: ge[0], y: ge[1] } + }), + (t.touchData.start = Ge)) + : fe.emit({ + originalEvent: W, + type: 'cxttapstart', + position: { x: ge[0], y: ge[1] } + }), + t.touchData.start && (t.touchData.start._private.grabbed = !1), + (t.touchData.cxt = !0), + (t.touchData.cxtDragged = !1), + (t.data.bgActivePosistion = void 0), + t.redraw(); + return; + } + } + if (W.touches[2]) fe.boxSelectionEnabled() && W.preventDefault(); + else if (!W.touches[1]) { + if (W.touches[0]) { + var Me = t.findNearestElements(ge[0], ge[1], !0, !0), + ye = Me[0]; + if ( + ye != null && + (ye.activate(), + (t.touchData.start = ye), + (t.touchData.starts = Me), + t.nodeIsGrabbable(ye)) + ) { + var He = (t.dragData.touchDragEles = fe.collection()), + ze = null; + t.redrawHint('eles', !0), + t.redrawHint('drag', !0), + ye.selected() + ? ((ze = fe.$(function (Ye) { + return Ye.selected() && t.nodeIsGrabbable(Ye); + })), + g(ze, { addToList: He })) + : y(ye, { addToList: He }), + f(ye); + var Ze = o(function (Je) { + return { + originalEvent: W, + type: Je, + position: { x: ge[0], y: ge[1] } + }; + }, 'makeEvent'); + ye.emit(Ze('grabon')), + ze + ? ze.forEach(function (Ye) { + Ye.emit(Ze('grab')); + }) + : ye.emit(Ze('grab')); + } + n(ye, ['touchstart', 'tapstart', 'vmousedown'], W, { + x: ge[0], + y: ge[1] + }), + ye == null && + ((t.data.bgActivePosistion = { x: he[0], y: he[1] }), + t.redrawHint('select', !0), + t.redraw()), + (t.touchData.singleTouchMoved = !1), + (t.touchData.singleTouchStartTime = +new Date()), + clearTimeout(t.touchData.tapholdTimeout), + (t.touchData.tapholdTimeout = setTimeout(function () { + t.touchData.singleTouchMoved === !1 && + !t.pinching && + !t.touchData.selecting && + n(t.touchData.start, ['taphold'], W, { + x: ge[0], + y: ge[1] + }); + }, t.tapholdDuration)); + } + } + if (W.touches.length >= 1) { + for ( + var gt = (t.touchData.startPosition = [null, null, null, null, null, null]), yt = 0; + yt < ge.length; + yt++ + ) + gt[yt] = re[yt] = ge[yt]; + var tt = W.touches[0]; + t.touchData.startGPosition = [tt.clientX, tt.clientY]; + } + } + }, 'touchstartHandler')), + !1 + ); + var q; + t.registerBinding( + e, + 'touchmove', + (q = o(function (W) { + var fe = t.touchData.capture; + if (!(!fe && !L(W))) { + var ge = t.selection, + re = t.cy, + he = t.touchData.now, + ne = t.touchData.earlier, + ae = re.zoom(); + if (W.touches[0]) { + var we = t.projectIntoViewport(W.touches[0].clientX, W.touches[0].clientY); + (he[0] = we[0]), (he[1] = we[1]); + } + if (W.touches[1]) { + var we = t.projectIntoViewport(W.touches[1].clientX, W.touches[1].clientY); + (he[2] = we[0]), (he[3] = we[1]); + } + if (W.touches[2]) { + var we = t.projectIntoViewport(W.touches[2].clientX, W.touches[2].clientY); + (he[4] = we[0]), (he[5] = we[1]); + } + var Te = t.touchData.startGPosition, + Ce; + if (fe && W.touches[0] && Te) { + for (var Ae = [], Ge = 0; Ge < he.length; Ge++) Ae[Ge] = he[Ge] - ne[Ge]; + var Me = W.touches[0].clientX - Te[0], + ye = Me * Me, + He = W.touches[0].clientY - Te[1], + ze = He * He, + Ze = ye + ze; + Ce = Ze >= t.touchTapThreshold2; + } + if (fe && t.touchData.cxt) { + W.preventDefault(); + var gt = W.touches[0].clientX - Y, + yt = W.touches[0].clientY - Q, + tt = W.touches[1].clientX - Y, + Ye = W.touches[1].clientY - Q, + Je = Z(gt, yt, tt, Ye), + Ve = Je / B, + je = 150, + kt = je * je, + at = 1.5, + xt = at * at; + if (Ve >= xt || Je >= kt) { + (t.touchData.cxt = !1), + (t.data.bgActivePosistion = void 0), + t.redrawHint('select', !0); + var it = { + originalEvent: W, + type: 'cxttapend', + position: { x: he[0], y: he[1] } + }; + t.touchData.start + ? (t.touchData.start.unactivate().emit(it), (t.touchData.start = null)) + : re.emit(it); + } + } + if (fe && t.touchData.cxt) { + var it = { + originalEvent: W, + type: 'cxtdrag', + position: { x: he[0], y: he[1] } + }; + (t.data.bgActivePosistion = void 0), + t.redrawHint('select', !0), + t.touchData.start ? t.touchData.start.emit(it) : re.emit(it), + t.touchData.start && (t.touchData.start._private.grabbed = !1), + (t.touchData.cxtDragged = !0); + var dt = t.findNearestElement(he[0], he[1], !0, !0); + (!t.touchData.cxtOver || dt !== t.touchData.cxtOver) && + (t.touchData.cxtOver && + t.touchData.cxtOver.emit({ + originalEvent: W, + type: 'cxtdragout', + position: { x: he[0], y: he[1] } + }), + (t.touchData.cxtOver = dt), + dt && + dt.emit({ + originalEvent: W, + type: 'cxtdragover', + position: { x: he[0], y: he[1] } + })); + } else if (fe && W.touches[2] && re.boxSelectionEnabled()) + W.preventDefault(), + (t.data.bgActivePosistion = void 0), + (this.lastThreeTouch = +new Date()), + t.touchData.selecting || + re.emit({ + originalEvent: W, + type: 'boxstart', + position: { x: he[0], y: he[1] } + }), + (t.touchData.selecting = !0), + (t.touchData.didSelect = !0), + (ge[4] = 1), + !ge || ge.length === 0 || ge[0] === void 0 + ? ((ge[0] = (he[0] + he[2] + he[4]) / 3), + (ge[1] = (he[1] + he[3] + he[5]) / 3), + (ge[2] = (he[0] + he[2] + he[4]) / 3 + 1), + (ge[3] = (he[1] + he[3] + he[5]) / 3 + 1)) + : ((ge[2] = (he[0] + he[2] + he[4]) / 3), + (ge[3] = (he[1] + he[3] + he[5]) / 3)), + t.redrawHint('select', !0), + t.redraw(); + else if ( + fe && + W.touches[1] && + !t.touchData.didSelect && + re.zoomingEnabled() && + re.panningEnabled() && + re.userZoomingEnabled() && + re.userPanningEnabled() + ) { + W.preventDefault(), (t.data.bgActivePosistion = void 0), t.redrawHint('select', !0); + var lt = t.dragData.touchDragEles; + if (lt) { + t.redrawHint('drag', !0); + for (var It = 0; It < lt.length; It++) { + var mt = lt[It]._private; + (mt.grabbed = !1), (mt.rscratch.inDragLayer = !1); + } + } + var St = t.touchData.start, + gt = W.touches[0].clientX - Y, + yt = W.touches[0].clientY - Q, + tt = W.touches[1].clientX - Y, + Ye = W.touches[1].clientY - Q, + gr = J(gt, yt, tt, Ye), + xn = gr / F; + if (j) { + var jt = gt - C, + rn = yt - O, + Er = tt - D, + Kn = Ye - P, + hn = (jt + Er) / 2, + Qn = (rn + Kn) / 2, + on = re.zoom(), + Rn = on * xn, + Ha = re.pan(), + _a = z[0] * on + Ha.x, + To = z[1] * on + Ha.y, + qi = { + x: (-Rn / on) * (_a - Ha.x - hn) + _a, + y: (-Rn / on) * (To - Ha.y - Qn) + To + }; + if (St && St.active()) { + var lt = t.dragData.touchDragEles; + v(lt), + t.redrawHint('drag', !0), + t.redrawHint('eles', !0), + St.unactivate().emit('freeon'), + lt.emit('free'), + t.dragData.didDrag && (St.emit('dragfreeon'), lt.emit('dragfree')); + } + re.viewport({ zoom: Rn, pan: qi, cancelOnFailedZoom: !0 }), + re.emit('pinchzoom'), + (F = gr), + (C = gt), + (O = yt), + (D = tt), + (P = Ye), + (t.pinching = !0); + } + if (W.touches[0]) { + var we = t.projectIntoViewport(W.touches[0].clientX, W.touches[0].clientY); + (he[0] = we[0]), (he[1] = we[1]); + } + if (W.touches[1]) { + var we = t.projectIntoViewport(W.touches[1].clientX, W.touches[1].clientY); + (he[2] = we[0]), (he[3] = we[1]); + } + if (W.touches[2]) { + var we = t.projectIntoViewport(W.touches[2].clientX, W.touches[2].clientY); + (he[4] = we[0]), (he[5] = we[1]); + } + } else if (W.touches[0] && !t.touchData.didSelect) { + var ht = t.touchData.start, + At = t.touchData.last, + dt; + if ( + (!t.hoverData.draggingEles && + !t.swipePanning && + (dt = t.findNearestElement(he[0], he[1], !0, !0)), + fe && ht != null && W.preventDefault(), + fe && ht != null && t.nodeIsDraggable(ht)) + ) + if (Ce) { + var lt = t.dragData.touchDragEles, + $t = !t.dragData.didDrag; + $t && g(lt, { inDragLayer: !0 }), (t.dragData.didDrag = !0); + var rt = { x: 0, y: 0 }; + if (ft(Ae[0]) && ft(Ae[1]) && ((rt.x += Ae[0]), (rt.y += Ae[1]), $t)) { + t.redrawHint('eles', !0); + var Ot = t.touchData.dragDelta; + Ot && ft(Ot[0]) && ft(Ot[1]) && ((rt.x += Ot[0]), (rt.y += Ot[1])); + } + (t.hoverData.draggingEles = !0), + lt.silentShift(rt).emit('position drag'), + t.redrawHint('drag', !0), + t.touchData.startPosition[0] == ne[0] && + t.touchData.startPosition[1] == ne[1] && + t.redrawHint('eles', !0), + t.redraw(); + } else { + var Ot = (t.touchData.dragDelta = t.touchData.dragDelta || []); + Ot.length === 0 + ? (Ot.push(Ae[0]), Ot.push(Ae[1])) + : ((Ot[0] += Ae[0]), (Ot[1] += Ae[1])); + } + if ( + (n(ht || dt, ['touchmove', 'tapdrag', 'vmousemove'], W, { + x: he[0], + y: he[1] + }), + (!ht || !ht.grabbed()) && + dt != At && + (At && + At.emit({ + originalEvent: W, + type: 'tapdragout', + position: { x: he[0], y: he[1] } + }), + dt && + dt.emit({ + originalEvent: W, + type: 'tapdragover', + position: { x: he[0], y: he[1] } + })), + (t.touchData.last = dt), + fe) + ) + for (var It = 0; It < he.length; It++) + he[It] && + t.touchData.startPosition[It] && + Ce && + (t.touchData.singleTouchMoved = !0); + if ( + fe && + (ht == null || ht.pannable()) && + re.panningEnabled() && + re.userPanningEnabled() + ) { + var pe = a(ht, t.touchData.starts); + pe && + (W.preventDefault(), + t.data.bgActivePosistion || + (t.data.bgActivePosistion = Jg(t.touchData.startPosition)), + t.swipePanning + ? (re.panBy({ x: Ae[0] * ae, y: Ae[1] * ae }), re.emit('dragpan')) + : Ce && + ((t.swipePanning = !0), + re.panBy({ x: Me * ae, y: He * ae }), + re.emit('dragpan'), + ht && + (ht.unactivate(), + t.redrawHint('select', !0), + (t.touchData.start = null)))); + var we = t.projectIntoViewport(W.touches[0].clientX, W.touches[0].clientY); + (he[0] = we[0]), (he[1] = we[1]); + } + } + for (var Ge = 0; Ge < he.length; Ge++) ne[Ge] = he[Ge]; + fe && + W.touches.length > 0 && + !t.hoverData.draggingEles && + !t.swipePanning && + t.data.bgActivePosistion != null && + ((t.data.bgActivePosistion = void 0), t.redrawHint('select', !0), t.redraw()); + } + }, 'touchmoveHandler')), + !1 + ); + var K; + t.registerBinding( + e, + 'touchcancel', + (K = o(function (W) { + var fe = t.touchData.start; + (t.touchData.capture = !1), fe && fe.unactivate(); + }, 'touchcancelHandler')) + ); + var se, ce, ue, te; + if ( + (t.registerBinding( + e, + 'touchend', + (se = o(function (W) { + var fe = t.touchData.start, + ge = t.touchData.capture; + if (ge) W.touches.length === 0 && (t.touchData.capture = !1), W.preventDefault(); + else return; + var re = t.selection; + (t.swipePanning = !1), (t.hoverData.draggingEles = !1); + var he = t.cy, + ne = he.zoom(), + ae = t.touchData.now, + we = t.touchData.earlier; + if (W.touches[0]) { + var Te = t.projectIntoViewport(W.touches[0].clientX, W.touches[0].clientY); + (ae[0] = Te[0]), (ae[1] = Te[1]); + } + if (W.touches[1]) { + var Te = t.projectIntoViewport(W.touches[1].clientX, W.touches[1].clientY); + (ae[2] = Te[0]), (ae[3] = Te[1]); + } + if (W.touches[2]) { + var Te = t.projectIntoViewport(W.touches[2].clientX, W.touches[2].clientY); + (ae[4] = Te[0]), (ae[5] = Te[1]); + } + fe && fe.unactivate(); + var Ce; + if (t.touchData.cxt) { + if ( + ((Ce = { + originalEvent: W, + type: 'cxttapend', + position: { x: ae[0], y: ae[1] } + }), + fe ? fe.emit(Ce) : he.emit(Ce), + !t.touchData.cxtDragged) + ) { + var Ae = { + originalEvent: W, + type: 'cxttap', + position: { x: ae[0], y: ae[1] } + }; + fe ? fe.emit(Ae) : he.emit(Ae); + } + t.touchData.start && (t.touchData.start._private.grabbed = !1), + (t.touchData.cxt = !1), + (t.touchData.start = null), + t.redraw(); + return; + } + if (!W.touches[2] && he.boxSelectionEnabled() && t.touchData.selecting) { + t.touchData.selecting = !1; + var Ge = he.collection(t.getAllInBox(re[0], re[1], re[2], re[3])); + (re[0] = void 0), + (re[1] = void 0), + (re[2] = void 0), + (re[3] = void 0), + (re[4] = 0), + t.redrawHint('select', !0), + he.emit({ + type: 'boxend', + originalEvent: W, + position: { x: ae[0], y: ae[1] } + }); + var Me = o(function (kt) { + return kt.selectable() && !kt.selected(); + }, 'eleWouldBeSelected'); + Ge.emit('box').stdFilter(Me).select().emit('boxselect'), + Ge.nonempty() && t.redrawHint('eles', !0), + t.redraw(); + } + if ((fe?.unactivate(), W.touches[2])) + (t.data.bgActivePosistion = void 0), t.redrawHint('select', !0); + else if (!W.touches[1]) { + if (!W.touches[0]) { + if (!W.touches[0]) { + (t.data.bgActivePosistion = void 0), t.redrawHint('select', !0); + var ye = t.dragData.touchDragEles; + if (fe != null) { + var He = fe._private.grabbed; + v(ye), + t.redrawHint('drag', !0), + t.redrawHint('eles', !0), + He && + (fe.emit('freeon'), + ye.emit('free'), + t.dragData.didDrag && (fe.emit('dragfreeon'), ye.emit('dragfree'))), + n(fe, ['touchend', 'tapend', 'vmouseup', 'tapdragout'], W, { + x: ae[0], + y: ae[1] + }), + fe.unactivate(), + (t.touchData.start = null); + } else { + var ze = t.findNearestElement(ae[0], ae[1], !0, !0); + n(ze, ['touchend', 'tapend', 'vmouseup', 'tapdragout'], W, { + x: ae[0], + y: ae[1] + }); + } + var Ze = t.touchData.startPosition[0] - ae[0], + gt = Ze * Ze, + yt = t.touchData.startPosition[1] - ae[1], + tt = yt * yt, + Ye = gt + tt, + Je = Ye * ne * ne; + t.touchData.singleTouchMoved || + (fe || he.$(':selected').unselect(['tapunselect']), + n(fe, ['tap', 'vclick'], W, { x: ae[0], y: ae[1] }), + (ce = !1), + W.timeStamp - te <= he.multiClickDebounceTime() + ? (ue && clearTimeout(ue), + (ce = !0), + (te = null), + n(fe, ['dbltap', 'vdblclick'], W, { + x: ae[0], + y: ae[1] + })) + : ((ue = setTimeout(function () { + ce || + n(fe, ['onetap', 'voneclick'], W, { + x: ae[0], + y: ae[1] + }); + }, he.multiClickDebounceTime())), + (te = W.timeStamp))), + fe != null && + !t.dragData.didDrag && + fe._private.selectable && + Je < t.touchTapThreshold2 && + !t.pinching && + (he.selectionType() === 'single' + ? (he.$(r).unmerge(fe).unselect(['tapunselect']), + fe.select(['tapselect'])) + : fe.selected() + ? fe.unselect(['tapunselect']) + : fe.select(['tapselect']), + t.redrawHint('eles', !0)), + (t.touchData.singleTouchMoved = !0); + } + } + } + for (var Ve = 0; Ve < ae.length; Ve++) we[Ve] = ae[Ve]; + (t.dragData.didDrag = !1), + W.touches.length === 0 && + ((t.touchData.dragDelta = []), + (t.touchData.startPosition = [null, null, null, null, null, null]), + (t.touchData.startGPosition = null), + (t.touchData.didSelect = !1)), + W.touches.length < 2 && + (W.touches.length === 1 && + (t.touchData.startGPosition = [W.touches[0].clientX, W.touches[0].clientY]), + (t.pinching = !1), + t.redrawHint('eles', !0), + t.redraw()); + }, 'touchendHandler')), + !1 + ), + typeof TouchEvent > 'u') + ) { + var De = [], + oe = o(function (W) { + return { + clientX: W.clientX, + clientY: W.clientY, + force: 1, + identifier: W.pointerId, + pageX: W.pageX, + pageY: W.pageY, + radiusX: W.width / 2, + radiusY: W.height / 2, + screenX: W.screenX, + screenY: W.screenY, + target: W.target + }; + }, 'makeTouch'), + ke = o(function (W) { + return { event: W, touch: oe(W) }; + }, 'makePointer'), + Ie = o(function (W) { + De.push(ke(W)); + }, 'addPointer'), + Se = o(function (W) { + for (var fe = 0; fe < De.length; fe++) { + var ge = De[fe]; + if (ge.event.pointerId === W.pointerId) { + De.splice(fe, 1); + return; + } + } + }, 'removePointer'), + Ue = o(function (W) { + var fe = De.filter(function (ge) { + return ge.event.pointerId === W.pointerId; + })[0]; + (fe.event = W), (fe.touch = oe(W)); + }, 'updatePointer'), + Pe = o(function (W) { + W.touches = De.map(function (fe) { + return fe.touch; + }); + }, 'addTouchesToEvent'), + _e = o(function (W) { + return W.pointerType === 'mouse' || W.pointerType === 4; + }, 'pointerIsMouse'); + t.registerBinding(t.container, 'pointerdown', function (me) { + _e(me) || (me.preventDefault(), Ie(me), Pe(me), H(me)); + }), + t.registerBinding(t.container, 'pointerup', function (me) { + _e(me) || (Se(me), Pe(me), se(me)); + }), + t.registerBinding(t.container, 'pointercancel', function (me) { + _e(me) || (Se(me), Pe(me), K(me)); + }), + t.registerBinding(t.container, 'pointermove', function (me) { + _e(me) || (me.preventDefault(), Ue(me), Pe(me), q(me)); + }); + } + }; + Ju = {}; + Ju.generatePolygon = function (t, e) { + return (this.nodeShapes[t] = { + renderer: this, + name: t, + points: e, + draw: o(function (n, i, a, s, l, u) { + this.renderer.nodeShapeImpl('polygon', n, i, a, s, l, this.points); + }, 'draw'), + intersectLine: o(function (n, i, a, s, l, u, h, f) { + return Yx(l, u, this.points, n, i, a / 2, s / 2, h); + }, 'intersectLine'), + checkPoint: o(function (n, i, a, s, l, u, h, f) { + return Qu(n, i, this.points, u, h, s, l, [0, -1], a); + }, 'checkPoint') + }); + }; + Ju.generateEllipse = function () { + return (this.nodeShapes.ellipse = { + renderer: this, + name: 'ellipse', + draw: o(function (e, r, n, i, a, s) { + this.renderer.nodeShapeImpl(this.name, e, r, n, i, a); + }, 'draw'), + intersectLine: o(function (e, r, n, i, a, s, l, u) { + return DWe(a, s, e, r, n / 2 + l, i / 2 + l); + }, 'intersectLine'), + checkPoint: o(function (e, r, n, i, a, s, l, u) { + return $0(e, r, i, a, s, l, n); + }, 'checkPoint') + }); + }; + Ju.generateRoundPolygon = function (t, e) { + return (this.nodeShapes[t] = { + renderer: this, + name: t, + points: e, + getOrCreateCorners: o(function (n, i, a, s, l, u, h) { + if (u[h] !== void 0 && u[h + '-cx'] === n && u[h + '-cy'] === i) return u[h]; + (u[h] = new Array(e.length / 2)), (u[h + '-cx'] = n), (u[h + '-cy'] = i); + var f = a / 2, + d = s / 2; + l = l === 'auto' ? Wpe(a, s) : l; + for (var p = new Array(e.length / 2), m = 0; m < e.length / 2; m++) + p[m] = { x: n + f * e[m * 2], y: i + d * e[m * 2 + 1] }; + var g, + y, + v, + x, + b = p.length; + for (y = p[b - 1], g = 0; g < b; g++) + (v = p[g % b]), (x = p[(g + 1) % b]), (u[h][g] = mB(y, v, x, l)), (y = v), (v = x); + return u[h]; + }, 'getOrCreateCorners'), + draw: o(function (n, i, a, s, l, u, h) { + this.renderer.nodeShapeImpl( + 'round-polygon', + n, + i, + a, + s, + l, + this.points, + this.getOrCreateCorners(i, a, s, l, u, h, 'drawCorners') + ); + }, 'draw'), + intersectLine: o(function (n, i, a, s, l, u, h, f, d) { + return RWe( + l, + u, + this.points, + n, + i, + a, + s, + h, + this.getOrCreateCorners(n, i, a, s, f, d, 'corners') + ); + }, 'intersectLine'), + checkPoint: o(function (n, i, a, s, l, u, h, f, d) { + return LWe(n, i, this.points, u, h, s, l, this.getOrCreateCorners(u, h, s, l, f, d, 'corners')); + }, 'checkPoint') + }); + }; + Ju.generateRoundRectangle = function () { + return (this.nodeShapes['round-rectangle'] = this.nodeShapes.roundrectangle = + { + renderer: this, + name: 'round-rectangle', + points: ls(4, 0), + draw: o(function (e, r, n, i, a, s) { + this.renderer.nodeShapeImpl(this.name, e, r, n, i, a, this.points, s); + }, 'draw'), + intersectLine: o(function (e, r, n, i, a, s, l, u) { + return Hpe(a, s, e, r, n, i, l, u); + }, 'intersectLine'), + checkPoint: o(function (e, r, n, i, a, s, l, u) { + var h = i / 2, + f = a / 2; + (u = u === 'auto' ? Y0(i, a) : u), (u = Math.min(h, f, u)); + var d = u * 2; + return !!( + Qu(e, r, this.points, s, l, i, a - d, [0, -1], n) || + Qu(e, r, this.points, s, l, i - d, a, [0, -1], n) || + $0(e, r, d, d, s - h + u, l - f + u, n) || + $0(e, r, d, d, s + h - u, l - f + u, n) || + $0(e, r, d, d, s + h - u, l + f - u, n) || + $0(e, r, d, d, s - h + u, l + f - u, n) + ); + }, 'checkPoint') + }); + }; + Ju.generateCutRectangle = function () { + return (this.nodeShapes['cut-rectangle'] = this.nodeShapes.cutrectangle = + { + renderer: this, + name: 'cut-rectangle', + cornerLength: nB(), + points: ls(4, 0), + draw: o(function (e, r, n, i, a, s) { + this.renderer.nodeShapeImpl(this.name, e, r, n, i, a, null, s); + }, 'draw'), + generateCutTrianglePts: o(function (e, r, n, i, a) { + var s = a === 'auto' ? this.cornerLength : a, + l = r / 2, + u = e / 2, + h = n - u, + f = n + u, + d = i - l, + p = i + l; + return { + topLeft: [h, d + s, h + s, d, h + s, d + s], + topRight: [f - s, d, f, d + s, f - s, d + s], + bottomRight: [f, p - s, f - s, p, f - s, p - s], + bottomLeft: [h + s, p, h, p - s, h + s, p - s] + }; + }, 'generateCutTrianglePts'), + intersectLine: o(function (e, r, n, i, a, s, l, u) { + var h = this.generateCutTrianglePts(n + 2 * l, i + 2 * l, e, r, u), + f = [].concat.apply( + [], + [ + h.topLeft.splice(0, 4), + h.topRight.splice(0, 4), + h.bottomRight.splice(0, 4), + h.bottomLeft.splice(0, 4) + ] + ); + return Yx(a, s, f, e, r); + }, 'intersectLine'), + checkPoint: o(function (e, r, n, i, a, s, l, u) { + var h = u === 'auto' ? this.cornerLength : u; + if ( + Qu(e, r, this.points, s, l, i, a - 2 * h, [0, -1], n) || + Qu(e, r, this.points, s, l, i - 2 * h, a, [0, -1], n) + ) + return !0; + var f = this.generateCutTrianglePts(i, a, s, l); + return ( + zs(e, r, f.topLeft) || + zs(e, r, f.topRight) || + zs(e, r, f.bottomRight) || + zs(e, r, f.bottomLeft) + ); + }, 'checkPoint') + }); + }; + Ju.generateBarrel = function () { + return (this.nodeShapes.barrel = { + renderer: this, + name: 'barrel', + points: ls(4, 0), + draw: o(function (e, r, n, i, a, s) { + this.renderer.nodeShapeImpl(this.name, e, r, n, i, a); + }, 'draw'), + intersectLine: o(function (e, r, n, i, a, s, l, u) { + var h = 0.15, + f = 0.5, + d = 0.85, + p = this.generateBarrelBezierPts(n + 2 * l, i + 2 * l, e, r), + m = o(function (v) { + var x = t1({ x: v[0], y: v[1] }, { x: v[2], y: v[3] }, { x: v[4], y: v[5] }, h), + b = t1({ x: v[0], y: v[1] }, { x: v[2], y: v[3] }, { x: v[4], y: v[5] }, f), + w = t1({ x: v[0], y: v[1] }, { x: v[2], y: v[3] }, { x: v[4], y: v[5] }, d); + return [v[0], v[1], x.x, x.y, b.x, b.y, w.x, w.y, v[4], v[5]]; + }, 'approximateBarrelCurvePts'), + g = [].concat(m(p.topLeft), m(p.topRight), m(p.bottomRight), m(p.bottomLeft)); + return Yx(a, s, g, e, r); + }, 'intersectLine'), + generateBarrelBezierPts: o(function (e, r, n, i) { + var a = r / 2, + s = e / 2, + l = n - s, + u = n + s, + h = i - a, + f = i + a, + d = MP(e, r), + p = d.heightOffset, + m = d.widthOffset, + g = d.ctrlPtOffsetPct * e, + y = { + topLeft: [l, h + p, l + g, h, l + m, h], + topRight: [u - m, h, u - g, h, u, h + p], + bottomRight: [u, f - p, u - g, f, u - m, f], + bottomLeft: [l + m, f, l + g, f, l, f - p] + }; + return ( + (y.topLeft.isTop = !0), + (y.topRight.isTop = !0), + (y.bottomLeft.isBottom = !0), + (y.bottomRight.isBottom = !0), + y + ); + }, 'generateBarrelBezierPts'), + checkPoint: o(function (e, r, n, i, a, s, l, u) { + var h = MP(i, a), + f = h.heightOffset, + d = h.widthOffset; + if ( + Qu(e, r, this.points, s, l, i, a - 2 * f, [0, -1], n) || + Qu(e, r, this.points, s, l, i - 2 * d, a, [0, -1], n) + ) + return !0; + for ( + var p = this.generateBarrelBezierPts(i, a, s, l), + m = o(function (A, L, M) { + var N = M[4], + k = M[2], + I = M[0], + C = M[5], + O = M[1], + D = Math.min(N, I), + P = Math.max(N, I), + F = Math.min(C, O), + B = Math.max(C, O); + if (D <= A && A <= P && F <= L && L <= B) { + var $ = NWe(N, k, I), + z = CWe($[0], $[1], $[2], A), + Y = z.filter(function (Q) { + return 0 <= Q && Q <= 1; + }); + if (Y.length > 0) return Y[0]; + } + return null; + }, 'getCurveT'), + g = Object.keys(p), + y = 0; + y < g.length; + y++ + ) { + var v = g[y], + x = p[v], + b = m(e, r, x); + if (b != null) { + var w = x[5], + S = x[3], + T = x[1], + E = aa(w, S, T, b); + if ((x.isTop && E <= r) || (x.isBottom && r <= E)) return !0; + } + } + return !1; + }, 'checkPoint') + }); + }; + Ju.generateBottomRoundrectangle = function () { + return (this.nodeShapes['bottom-round-rectangle'] = this.nodeShapes.bottomroundrectangle = + { + renderer: this, + name: 'bottom-round-rectangle', + points: ls(4, 0), + draw: o(function (e, r, n, i, a, s) { + this.renderer.nodeShapeImpl(this.name, e, r, n, i, a, this.points, s); + }, 'draw'), + intersectLine: o(function (e, r, n, i, a, s, l, u) { + var h = e - (n / 2 + l), + f = r - (i / 2 + l), + d = f, + p = e + (n / 2 + l), + m = kf(a, s, e, r, h, f, p, d, !1); + return m.length > 0 ? m : Hpe(a, s, e, r, n, i, l, u); + }, 'intersectLine'), + checkPoint: o(function (e, r, n, i, a, s, l, u) { + u = u === 'auto' ? Y0(i, a) : u; + var h = 2 * u; + if ( + Qu(e, r, this.points, s, l, i, a - h, [0, -1], n) || + Qu(e, r, this.points, s, l, i - h, a, [0, -1], n) + ) + return !0; + var f = i / 2 + 2 * n, + d = a / 2 + 2 * n, + p = [s - f, l - d, s - f, l, s + f, l, s + f, l - d]; + return !!( + zs(e, r, p) || + $0(e, r, h, h, s + i / 2 - u, l + a / 2 - u, n) || + $0(e, r, h, h, s - i / 2 + u, l + a / 2 - u, n) + ); + }, 'checkPoint') + }); + }; + Ju.registerNodeShapes = function () { + var t = (this.nodeShapes = {}), + e = this; + this.generateEllipse(), + this.generatePolygon('triangle', ls(3, 0)), + this.generateRoundPolygon('round-triangle', ls(3, 0)), + this.generatePolygon('rectangle', ls(4, 0)), + (t.square = t.rectangle), + this.generateRoundRectangle(), + this.generateCutRectangle(), + this.generateBarrel(), + this.generateBottomRoundrectangle(); + { + var r = [0, 1, 1, 0, 0, -1, -1, 0]; + this.generatePolygon('diamond', r), this.generateRoundPolygon('round-diamond', r); + } + this.generatePolygon('pentagon', ls(5, 0)), + this.generateRoundPolygon('round-pentagon', ls(5, 0)), + this.generatePolygon('hexagon', ls(6, 0)), + this.generateRoundPolygon('round-hexagon', ls(6, 0)), + this.generatePolygon('heptagon', ls(7, 0)), + this.generateRoundPolygon('round-heptagon', ls(7, 0)), + this.generatePolygon('octagon', ls(8, 0)), + this.generateRoundPolygon('round-octagon', ls(8, 0)); + var n = new Array(20); + { + var i = NP(5, 0), + a = NP(5, Math.PI / 5), + s = 0.5 * (3 - Math.sqrt(5)); + s *= 1.57; + for (var l = 0; l < a.length / 2; l++) (a[l * 2] *= s), (a[l * 2 + 1] *= s); + for (var l = 0; l < 20 / 4; l++) + (n[l * 4] = i[l * 2]), + (n[l * 4 + 1] = i[l * 2 + 1]), + (n[l * 4 + 2] = a[l * 2]), + (n[l * 4 + 3] = a[l * 2 + 1]); + } + (n = Ype(n)), + this.generatePolygon('star', n), + 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 u = [-1, -1, 0.25, -1, 1, 0, 0.25, 1, -1, 1]; + this.generatePolygon('tag', u), this.generateRoundPolygon('round-tag', u); + } + t.makePolygon = function (h) { + var f = h.join('$'), + d = 'polygon-' + f, + p; + return (p = this[d]) ? p : e.generatePolygon(d, h); + }; + }; + ib = {}; + ib.timeToRender = function () { + return this.redrawTotalTime / this.redrawCount; + }; + ib.redraw = function (t) { + t = t || zpe(); + var e = this; + e.averageRedrawTime === void 0 && (e.averageRedrawTime = 0), + e.lastRedrawTime === void 0 && (e.lastRedrawTime = 0), + e.lastDrawTime === void 0 && (e.lastDrawTime = 0), + (e.requestedFrame = !0), + (e.renderOptions = t); + }; + ib.beforeRender = function (t, e) { + if (!this.destroyed) { + e == null && oi('Priority is not optional for beforeRender'); + var r = this.beforeRenderCallbacks; + r.push({ fn: t, priority: e }), + r.sort(function (n, i) { + return i.priority - n.priority; + }); + } + }; + hpe = o(function (e, r, n) { + for (var i = e.beforeRenderCallbacks, a = 0; a < i.length; a++) i[a].fn(r, n); + }, 'beforeRenderCallbacks'); + ib.startRenderLoop = function () { + var t = this, + e = t.cy; + if (!t.renderLoopStarted) { + t.renderLoopStarted = !0; + var r = o(function n(i) { + if (!t.destroyed) { + if (!e.batching()) + if (t.requestedFrame && !t.skipFrame) { + hpe(t, !0, i); + var a = Ku(); + t.render(t.renderOptions); + var s = (t.lastDrawTime = Ku()); + t.averageRedrawTime === void 0 && (t.averageRedrawTime = s - a), + t.redrawCount === void 0 && (t.redrawCount = 0), + t.redrawCount++, + t.redrawTotalTime === void 0 && (t.redrawTotalTime = 0); + var l = s - a; + (t.redrawTotalTime += l), + (t.lastRedrawTime = l), + (t.averageRedrawTime = t.averageRedrawTime / 2 + l / 2), + (t.requestedFrame = !1); + } else hpe(t, !1, i); + (t.skipFrame = !1), E6(n); + } + }, 'renderFn'); + E6(r); + } + }; + (dQe = o(function (e) { + this.init(e); + }, 'BaseRenderer')), + (Hme = dQe), + (y1 = Hme.prototype); + y1.clientFunctions = [ + 'redrawHint', + 'render', + 'renderTo', + 'matchCanvasSize', + 'nodeShapeImpl', + 'arrowShapeImpl' + ]; + y1.init = function (t) { + var e = this; + (e.options = t), (e.cy = t.cy); + var r = (e.container = t.cy.container()), + n = e.cy.window(); + if (n) { + var i = n.document, + a = i.head, + s = '__________cytoscape_stylesheet', + l = '__________cytoscape_container', + u = i.getElementById(s) != null; + if ((r.className.indexOf(l) < 0 && (r.className = (r.className || '') + ' ' + l), !u)) { + var h = i.createElement('style'); + (h.id = s), + (h.textContent = '.' + l + ' { position: relative; }'), + a.insertBefore(h, a.children[0]); + } + var f = n.getComputedStyle(r), + d = f.getPropertyValue('position'); + d === 'static' && + tn('A Cytoscape container has style position:static and so can not use UI extensions properly'); + } + (e.selection = [void 0, void 0, void 0, void 0, 0]), + (e.bezierProjPcts = [0.05, 0.225, 0.4, 0.5, 0.6, 0.775, 0.95]), + (e.hoverData = { + down: null, + last: null, + downTime: null, + triggerMode: null, + dragging: !1, + initialPan: [null, null], + capture: !1 + }), + (e.dragData = { possibleDragElements: [] }), + (e.touchData = { + start: null, + capture: !1, + 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] + }), + (e.redraws = 0), + (e.showFps = t.showFps), + (e.debug = t.debug), + (e.hideEdgesOnViewport = t.hideEdgesOnViewport), + (e.textureOnViewport = t.textureOnViewport), + (e.wheelSensitivity = t.wheelSensitivity), + (e.motionBlurEnabled = t.motionBlur), + (e.forcedPixelRatio = ft(t.pixelRatio) ? t.pixelRatio : null), + (e.motionBlur = t.motionBlur), + (e.motionBlurOpacity = t.motionBlurOpacity), + (e.motionBlurTransparency = 1 - e.motionBlurOpacity), + (e.motionBlurPxRatio = 1), + (e.mbPxRBlurry = 1), + (e.minMbLowQualFrames = 4), + (e.fullQualityMb = !1), + (e.clearedForMotionBlur = []), + (e.desktopTapThreshold = t.desktopTapThreshold), + (e.desktopTapThreshold2 = t.desktopTapThreshold * t.desktopTapThreshold), + (e.touchTapThreshold = t.touchTapThreshold), + (e.touchTapThreshold2 = t.touchTapThreshold * t.touchTapThreshold), + (e.tapholdDuration = 500), + (e.bindings = []), + (e.beforeRenderCallbacks = []), + (e.beforeRenderPriorities = { + animations: 400, + eleCalcs: 300, + eleTxrDeq: 200, + lyrTxrDeq: 150, + lyrTxrSkip: 100 + }), + e.registerNodeShapes(), + e.registerArrowShapes(), + e.registerCalculationListeners(); + }; + y1.notify = function (t, e) { + var r = this, + n = r.cy; + if (!this.destroyed) { + if (t === 'init') { + r.load(); + return; + } + if (t === 'destroy') { + r.destroy(); + return; + } + (t === 'add' || + t === 'remove' || + (t === 'move' && n.hasCompoundNodes()) || + t === 'load' || + t === 'zorder' || + t === 'mount') && + r.invalidateCachedZSortedEles(), + t === 'viewport' && r.redrawHint('select', !0), + (t === 'load' || t === 'resize' || t === 'mount') && + (r.invalidateContainerClientCoordsCache(), r.matchCanvasSize(r.container)), + r.redrawHint('eles', !0), + r.redrawHint('drag', !0), + this.startRenderLoop(), + this.redraw(); + } + }; + y1.destroy = function () { + var t = this; + (t.destroyed = !0), t.cy.stopAnimationLoop(); + for (var e = 0; e < t.bindings.length; e++) { + var r = t.bindings[e], + n = r, + i = n.target; + (i.off || i.removeEventListener).apply(i, n.args); + } + if ( + ((t.bindings = []), + (t.beforeRenderCallbacks = []), + (t.onUpdateEleCalcsFns = []), + t.removeObserver && t.removeObserver.disconnect(), + t.styleObserver && t.styleObserver.disconnect(), + t.resizeObserver && t.resizeObserver.disconnect(), + t.labelCalcDiv) + ) + try { + document.body.removeChild(t.labelCalcDiv); + } catch {} + }; + y1.isHeadless = function () { + return !1; + }; + [pB, Vme, Ume, g1, Ju, ib].forEach(function (t) { + Wt(y1, t); + }); + (LP = 1e3 / 60), + (Yme = { + setupDequeueing: o(function (e) { + return o(function () { + var n = this, + i = this.renderer; + if (!n.dequeueingSetup) { + n.dequeueingSetup = !0; + var a = P6(function () { + i.redrawHint('eles', !0), i.redrawHint('drag', !0), i.redraw(); + }, e.deqRedrawThreshold), + s = o(function (h, f) { + var d = Ku(), + p = i.averageRedrawTime, + m = i.lastRedrawTime, + g = [], + y = i.cy.extent(), + v = i.getPixelRatio(); + for (h || i.flushRenderedStyleQueue(); ; ) { + var x = Ku(), + b = x - d, + w = x - f; + if (m < LP) { + var S = LP - (h ? p : 0); + if (w >= e.deqFastCost * S) break; + } else if (h) { + if (b >= e.deqCost * m || b >= e.deqAvgCost * p) break; + } else if (w >= e.deqNoDrawCost * LP) break; + var T = e.deq(n, v, y); + if (T.length > 0) for (var E = 0; E < T.length; E++) g.push(T[E]); + else break; + } + g.length > 0 && (e.onDeqd(n, g), !h && e.shouldRedraw(n, g, v, y) && a()); + }, 'dequeue'), + l = e.priority || JP; + i.beforeRender(s, l(n)); + } + }, 'setupDequeueingImpl'); + }, 'setupDequeueing') + }), + (pQe = (function () { + function t(e) { + var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : C6; + XP(this, t), + (this.idsByKey = new Vc()), + (this.keyForId = new Vc()), + (this.cachesByLvl = new Vc()), + (this.lvls = []), + (this.getKey = e), + (this.doesEleInvalidateKey = r); + } + return ( + o(t, 'ElementTextureCacheLookup'), + jP(t, [ + { + key: 'getIdsFor', + value: o(function (r) { + r == null && oi('Can not get id list for null key'); + var n = this.idsByKey, + i = this.idsByKey.get(r); + return i || ((i = new c1()), n.set(r, i)), i; + }, 'getIdsFor') + }, + { + key: 'addIdForKey', + value: o(function (r, n) { + r != null && this.getIdsFor(r).add(n); + }, 'addIdForKey') + }, + { + key: 'deleteIdForKey', + value: o(function (r, n) { + r != null && this.getIdsFor(r).delete(n); + }, 'deleteIdForKey') + }, + { + key: 'getNumberOfIdsForKey', + value: o(function (r) { + return r == null ? 0 : this.getIdsFor(r).size; + }, 'getNumberOfIdsForKey') + }, + { + key: 'updateKeyMappingFor', + value: o(function (r) { + var n = r.id(), + i = this.keyForId.get(n), + a = this.getKey(r); + this.deleteIdForKey(i, n), this.addIdForKey(a, n), this.keyForId.set(n, a); + }, 'updateKeyMappingFor') + }, + { + key: 'deleteKeyMappingFor', + value: o(function (r) { + var n = r.id(), + i = this.keyForId.get(n); + this.deleteIdForKey(i, n), this.keyForId.delete(n); + }, 'deleteKeyMappingFor') + }, + { + key: 'keyHasChangedFor', + value: o(function (r) { + var n = r.id(), + i = this.keyForId.get(n), + a = this.getKey(r); + return i !== a; + }, 'keyHasChangedFor') + }, + { + key: 'isInvalid', + value: o(function (r) { + return this.keyHasChangedFor(r) || this.doesEleInvalidateKey(r); + }, 'isInvalid') + }, + { + key: 'getCachesAt', + value: o(function (r) { + var n = this.cachesByLvl, + i = this.lvls, + a = n.get(r); + return a || ((a = new Vc()), n.set(r, a), i.push(r)), a; + }, 'getCachesAt') + }, + { + key: 'getCache', + value: o(function (r, n) { + return this.getCachesAt(n).get(r); + }, 'getCache') + }, + { + key: 'get', + value: o(function (r, n) { + var i = this.getKey(r), + a = this.getCache(i, n); + return a != null && this.updateKeyMappingFor(r), a; + }, 'get') + }, + { + key: 'getForCachedKey', + value: o(function (r, n) { + var i = this.keyForId.get(r.id()), + a = this.getCache(i, n); + return a; + }, 'getForCachedKey') + }, + { + key: 'hasCache', + value: o(function (r, n) { + return this.getCachesAt(n).has(r); + }, 'hasCache') + }, + { + key: 'has', + value: o(function (r, n) { + var i = this.getKey(r); + return this.hasCache(i, n); + }, 'has') + }, + { + key: 'setCache', + value: o(function (r, n, i) { + (i.key = r), this.getCachesAt(n).set(r, i); + }, 'setCache') + }, + { + key: 'set', + value: o(function (r, n, i) { + var a = this.getKey(r); + this.setCache(a, n, i), this.updateKeyMappingFor(r); + }, 'set') + }, + { + key: 'deleteCache', + value: o(function (r, n) { + this.getCachesAt(n).delete(r); + }, 'deleteCache') + }, + { + key: 'delete', + value: o(function (r, n) { + var i = this.getKey(r); + this.deleteCache(i, n); + }, '_delete') + }, + { + key: 'invalidateKey', + value: o(function (r) { + var n = this; + this.lvls.forEach(function (i) { + return n.deleteCache(r, i); + }); + }, 'invalidateKey') + }, + { + key: 'invalidate', + value: o(function (r) { + var n = r.id(), + i = this.keyForId.get(n); + this.deleteKeyMappingFor(r); + var a = this.doesEleInvalidateKey(r); + return a && this.invalidateKey(i), a || this.getNumberOfIdsForKey(i) === 0; + }, 'invalidate') + } + ]), + t + ); + })()), + (fpe = 25), + (d6 = 50), + (T6 = -4), + (HP = 3), + (mQe = 7.99), + (gQe = 8), + (yQe = 1024), + (vQe = 1024), + (xQe = 1024), + (bQe = 0.2), + (wQe = 0.8), + (TQe = 10), + (kQe = 0.15), + (EQe = 0.1), + (CQe = 0.9), + (SQe = 0.9), + (AQe = 100), + (_Qe = 1), + (e1 = { + dequeue: 'dequeue', + downscale: 'downscale', + highQuality: 'highQuality' + }), + (LQe = Sa({ + getKey: null, + doesEleInvalidateKey: C6, + drawElement: null, + getBoundingBox: null, + getRotationPoint: null, + getRotationOffset: null, + isVisible: Ppe, + allowEdgeTxrCaching: !0, + allowParentTxrCaching: !0 + })), + (Bx = o(function (e, r) { + var n = this; + (n.renderer = e), (n.onDequeues = []); + var i = LQe(r); + Wt(n, i), (n.lookup = new pQe(i.getKey, i.doesEleInvalidateKey)), n.setupDequeueing(); + }, 'ElementTextureCache')), + (Yi = Bx.prototype); + Yi.reasons = e1; + Yi.getTextureQueue = function (t) { + var e = this; + return (e.eleImgCaches = e.eleImgCaches || {}), (e.eleImgCaches[t] = e.eleImgCaches[t] || []); + }; + Yi.getRetiredTextureQueue = function (t) { + var e = this, + r = (e.eleImgCaches.retired = e.eleImgCaches.retired || {}), + n = (r[t] = r[t] || []); + return n; + }; + Yi.getElementQueue = function () { + var t = this, + e = (t.eleCacheQueue = + t.eleCacheQueue || + new eb(function (r, n) { + return n.reqs - r.reqs; + })); + return e; + }; + Yi.getElementKeyToQueue = function () { + var t = this, + e = (t.eleKeyToCacheQueue = t.eleKeyToCacheQueue || {}); + return e; + }; + Yi.getElement = function (t, e, r, n, i) { + var a = this, + s = this.renderer, + l = s.cy.zoom(), + u = this.lookup; + if ( + !e || + e.w === 0 || + e.h === 0 || + isNaN(e.w) || + isNaN(e.h) || + !t.visible() || + t.removed() || + (!a.allowEdgeTxrCaching && t.isEdge()) || + (!a.allowParentTxrCaching && t.isParent()) + ) + return null; + if ((n == null && (n = Math.ceil(tB(l * r))), n < T6)) n = T6; + else if (l >= mQe || n > HP) return null; + var h = Math.pow(2, n), + f = e.h * h, + d = e.w * h, + p = s.eleTextBiggerThanMin(t, h); + if (!this.isVisible(t, p)) return null; + var m = u.get(t, n); + if ((m && m.invalidated && ((m.invalidated = !1), (m.texture.invalidatedWidth -= m.width)), m)) + return m; + var g; + if ((f <= fpe ? (g = fpe) : f <= d6 ? (g = d6) : (g = Math.ceil(f / d6) * d6), f > xQe || d > vQe)) + return null; + var y = a.getTextureQueue(g), + v = y[y.length - 2], + x = o(function () { + return a.recycleTexture(g, d) || a.addTexture(g, d); + }, 'addNewTxr'); + v || (v = y[y.length - 1]), v || (v = x()), v.width - v.usedWidth < d && (v = x()); + for ( + var b = o(function (D) { + return D && D.scaledLabelShown === p; + }, 'scalableFrom'), + w = i && i === e1.dequeue, + S = i && i === e1.highQuality, + T = i && i === e1.downscale, + E, + _ = n + 1; + _ <= HP; + _++ + ) { + var A = u.get(t, _); + if (A) { + E = A; + break; + } + } + var L = E && E.level === n + 1 ? E : null, + M = o(function () { + v.context.drawImage(L.texture.canvas, L.x, 0, L.width, L.height, v.usedWidth, 0, d, f); + }, 'downscale'); + if ((v.context.setTransform(1, 0, 0, 1, 0, 0), v.context.clearRect(v.usedWidth, 0, d, g), b(L))) M(); + else if (b(E)) + if (S) { + for (var N = E.level; N > n; N--) L = a.getElement(t, e, r, N, e1.downscale); + M(); + } else return a.queueElement(t, E.level - 1), E; + else { + var k; + if (!w && !S && !T) + for (var I = n - 1; I >= T6; I--) { + var C = u.get(t, I); + if (C) { + k = C; + break; + } + } + if (b(k)) return a.queueElement(t, n), k; + v.context.translate(v.usedWidth, 0), + v.context.scale(h, h), + this.drawElement(v.context, t, e, p, !1), + v.context.scale(1 / h, 1 / h), + v.context.translate(-v.usedWidth, 0); + } + return ( + (m = { + x: v.usedWidth, + texture: v, + level: n, + scale: h, + width: d, + height: f, + scaledLabelShown: p + }), + (v.usedWidth += Math.ceil(d + gQe)), + v.eleCaches.push(m), + u.set(t, n, m), + a.checkTextureFullness(v), + m + ); + }; + Yi.invalidateElements = function (t) { + for (var e = 0; e < t.length; e++) this.invalidateElement(t[e]); + }; + Yi.invalidateElement = function (t) { + var e = this, + r = e.lookup, + n = [], + i = r.isInvalid(t); + if (i) { + for (var a = T6; a <= HP; a++) { + var s = r.getForCachedKey(t, a); + s && n.push(s); + } + var l = r.invalidate(t); + if (l) + for (var u = 0; u < n.length; u++) { + var h = n[u], + f = h.texture; + (f.invalidatedWidth += h.width), (h.invalidated = !0), e.checkTextureUtility(f); + } + e.removeFromQueue(t); + } + }; + Yi.checkTextureUtility = function (t) { + t.invalidatedWidth >= bQe * t.width && this.retireTexture(t); + }; + Yi.checkTextureFullness = function (t) { + var e = this, + r = e.getTextureQueue(t.height); + t.usedWidth / t.width > wQe && t.fullnessChecks >= TQe ? Af(r, t) : t.fullnessChecks++; + }; + Yi.retireTexture = function (t) { + var e = this, + r = t.height, + n = e.getTextureQueue(r), + i = this.lookup; + Af(n, t), (t.retired = !0); + for (var a = t.eleCaches, s = 0; s < a.length; s++) { + var l = a[s]; + i.deleteCache(l.key, l.level); + } + eB(a); + var u = e.getRetiredTextureQueue(r); + u.push(t); + }; + Yi.addTexture = function (t, e) { + var r = this, + n = r.getTextureQueue(t), + i = {}; + return ( + n.push(i), + (i.eleCaches = []), + (i.height = t), + (i.width = Math.max(yQe, e)), + (i.usedWidth = 0), + (i.invalidatedWidth = 0), + (i.fullnessChecks = 0), + (i.canvas = r.renderer.makeOffscreenCanvas(i.width, i.height)), + (i.context = i.canvas.getContext('2d')), + i + ); + }; + Yi.recycleTexture = function (t, e) { + for ( + var r = this, n = r.getTextureQueue(t), i = r.getRetiredTextureQueue(t), a = 0; + a < i.length; + a++ + ) { + var s = i[a]; + if (s.width >= e) + return ( + (s.retired = !1), + (s.usedWidth = 0), + (s.invalidatedWidth = 0), + (s.fullnessChecks = 0), + eB(s.eleCaches), + s.context.setTransform(1, 0, 0, 1, 0, 0), + s.context.clearRect(0, 0, s.width, s.height), + Af(i, s), + n.push(s), + s + ); + } + }; + Yi.queueElement = function (t, e) { + var r = this, + n = r.getElementQueue(), + i = r.getElementKeyToQueue(), + a = this.getKey(t), + s = i[a]; + if (s) (s.level = Math.max(s.level, e)), s.eles.merge(t), s.reqs++, n.updateItem(s); + else { + var l = { eles: t.spawn().merge(t), level: e, reqs: 1, key: a }; + n.push(l), (i[a] = l); + } + }; + Yi.dequeue = function (t) { + for ( + var e = this, r = e.getElementQueue(), n = e.getElementKeyToQueue(), i = [], a = e.lookup, s = 0; + s < _Qe && r.size() > 0; + s++ + ) { + var l = r.pop(), + u = l.key, + h = l.eles[0], + f = a.hasCache(h, l.level); + if (((n[u] = null), f)) continue; + i.push(l); + var d = e.getBoundingBox(h); + e.getElement(h, d, t, l.level, e1.dequeue); + } + return i; + }; + Yi.removeFromQueue = function (t) { + var e = this, + r = e.getElementQueue(), + n = e.getElementKeyToQueue(), + i = this.getKey(t), + a = n[i]; + a != null && + (a.eles.length === 1 + ? ((a.reqs = ZP), r.updateItem(a), r.pop(), (n[i] = null)) + : a.eles.unmerge(t)); + }; + Yi.onDequeue = function (t) { + this.onDequeues.push(t); + }; + Yi.offDequeue = function (t) { + Af(this.onDequeues, t); + }; + Yi.setupDequeueing = Yme.setupDequeueing({ + deqRedrawThreshold: AQe, + deqCost: kQe, + deqAvgCost: EQe, + deqNoDrawCost: CQe, + deqFastCost: SQe, + deq: o(function (e, r, n) { + return e.dequeue(r, n); + }, 'deq'), + onDeqd: o(function (e, r) { + for (var n = 0; n < e.onDequeues.length; n++) { + var i = e.onDequeues[n]; + i(r); + } + }, 'onDeqd'), + shouldRedraw: o(function (e, r, n, i) { + for (var a = 0; a < r.length; a++) + for (var s = r[a].eles, l = 0; l < s.length; l++) { + var u = s[l].boundingBox(); + if (rB(u, i)) return !0; + } + return !1; + }, 'shouldRedraw'), + priority: o(function (e) { + return e.renderer.beforeRenderPriorities.eleTxrDeq; + }, 'priority') + }); + (DQe = 1), + (zx = -4), + (M6 = 2), + (RQe = 3.99), + (NQe = 50), + (MQe = 50), + (IQe = 0.15), + (OQe = 0.1), + (PQe = 0.9), + (BQe = 0.9), + (FQe = 1), + (dpe = 250), + (zQe = 4e3 * 4e3), + (GQe = !0), + (Wme = o(function (e) { + var r = this, + n = (r.renderer = e), + i = n.cy; + (r.layersByLevel = {}), + (r.firstGet = !0), + (r.lastInvalidationTime = Ku() - 2 * dpe), + (r.skipping = !1), + (r.eleTxrDeqs = i.collection()), + (r.scheduleElementRefinement = P6(function () { + r.refineElementTextures(r.eleTxrDeqs), r.eleTxrDeqs.unmerge(r.eleTxrDeqs); + }, MQe)), + n.beforeRender(function (s, l) { + l - r.lastInvalidationTime <= dpe ? (r.skipping = !0) : (r.skipping = !1); + }, n.beforeRenderPriorities.lyrTxrSkip); + var a = o(function (l, u) { + return u.reqs - l.reqs; + }, 'qSort'); + (r.layersQueue = new eb(a)), r.setupDequeueing(); + }, 'LayeredTextureCache')), + (Aa = Wme.prototype), + (ppe = 0), + ($Qe = Math.pow(2, 53) - 1); + Aa.makeLayer = function (t, e) { + var r = Math.pow(2, e), + n = Math.ceil(t.w * r), + i = Math.ceil(t.h * r), + a = this.renderer.makeOffscreenCanvas(n, i), + s = { + id: (ppe = ++ppe % $Qe), + bb: t, + level: e, + width: n, + height: i, + canvas: a, + context: a.getContext('2d'), + eles: [], + elesQueue: [], + reqs: 0 + }, + l = s.context, + u = -s.bb.x1, + h = -s.bb.y1; + return l.scale(r, r), l.translate(u, h), s; + }; + Aa.getLayers = function (t, e, r) { + var n = this, + i = n.renderer, + a = i.cy, + s = a.zoom(), + l = n.firstGet; + if (((n.firstGet = !1), r == null)) { + if (((r = Math.ceil(tB(s * e))), r < zx)) r = zx; + else if (s >= RQe || r > M6) return null; + } + n.validateLayersElesOrdering(r, t); + var u = n.layersByLevel, + h = Math.pow(2, r), + f = (u[r] = u[r] || []), + d, + p = n.levelIsComplete(r, t), + m, + g = o(function () { + var M = o(function (O) { + if ((n.validateLayersElesOrdering(O, t), n.levelIsComplete(O, t))) + return (m = u[O]), !0; + }, 'canUseAsTmpLvl'), + N = o(function (O) { + if (!m) for (var D = r + O; zx <= D && D <= M6 && !M(D); D += O); + }, 'checkLvls'); + N(1), N(-1); + for (var k = f.length - 1; k >= 0; k--) { + var I = f[k]; + I.invalid && Af(f, I); + } + }, 'checkTempLevels'); + if (!p) g(); + else return f; + var y = o(function () { + if (!d) { + d = Gs(); + for (var M = 0; M < t.length; M++) Vpe(d, t[M].boundingBox()); + } + return d; + }, 'getBb'), + v = o(function (M) { + M = M || {}; + var N = M.after; + y(); + var k = d.w * h * (d.h * h); + if (k > zQe) return null; + var I = n.makeLayer(d, r); + if (N != null) { + var C = f.indexOf(N) + 1; + f.splice(C, 0, I); + } else (M.insert === void 0 || M.insert) && f.unshift(I); + return I; + }, 'makeLayer'); + if (n.skipping && !l) return null; + for (var x = null, b = t.length / DQe, w = !l, S = 0; S < t.length; S++) { + var T = t[S], + E = T._private.rscratch, + _ = (E.imgLayerCaches = E.imgLayerCaches || {}), + A = _[r]; + if (A) { + x = A; + continue; + } + if ( + (!x || x.eles.length >= b || !Upe(x.bb, T.boundingBox())) && + ((x = v({ insert: !0, after: x })), !x) + ) + return null; + m || w ? n.queueLayer(x, T) : n.drawEleInLayer(x, T, r, e), x.eles.push(T), (_[r] = x); + } + return m || (w ? null : f); + }; + Aa.getEleLevelForLayerLevel = function (t, e) { + return t; + }; + Aa.drawEleInLayer = function (t, e, r, n) { + var i = this, + a = this.renderer, + s = t.context, + l = e.boundingBox(); + l.w === 0 || + l.h === 0 || + !e.visible() || + ((r = i.getEleLevelForLayerLevel(r, n)), + a.setImgSmoothing(s, !1), + a.drawCachedElement(s, e, null, null, r, GQe), + a.setImgSmoothing(s, !0)); + }; + Aa.levelIsComplete = function (t, e) { + var r = this, + n = r.layersByLevel[t]; + if (!n || n.length === 0) return !1; + for (var i = 0, a = 0; a < n.length; a++) { + var s = n[a]; + if (s.reqs > 0 || s.invalid) return !1; + i += s.eles.length; + } + return i === e.length; + }; + Aa.validateLayersElesOrdering = function (t, e) { + var r = this.layersByLevel[t]; + if (r) + for (var n = 0; n < r.length; n++) { + for (var i = r[n], a = -1, s = 0; s < e.length; s++) + if (i.eles[0] === e[s]) { + a = s; + break; + } + if (a < 0) { + this.invalidateLayer(i); + continue; + } + for (var l = a, s = 0; s < i.eles.length; s++) + if (i.eles[s] !== e[l + s]) { + this.invalidateLayer(i); + break; + } + } + }; + Aa.updateElementsInLayers = function (t, e) { + for (var r = this, n = Zx(t[0]), i = 0; i < t.length; i++) + for ( + var a = n ? null : t[i], + s = n ? t[i] : t[i].ele, + l = s._private.rscratch, + u = (l.imgLayerCaches = l.imgLayerCaches || {}), + h = zx; + h <= M6; + h++ + ) { + var f = u[h]; + f && ((a && r.getEleLevelForLayerLevel(f.level) !== a.level) || e(f, s, a)); + } + }; + Aa.haveLayers = function () { + for (var t = this, e = !1, r = zx; r <= M6; r++) { + var n = t.layersByLevel[r]; + if (n && n.length > 0) { + e = !0; + break; + } + } + return e; + }; + Aa.invalidateElements = function (t) { + var e = this; + t.length !== 0 && + ((e.lastInvalidationTime = Ku()), + !(t.length === 0 || !e.haveLayers()) && + e.updateElementsInLayers( + t, + o(function (n, i, a) { + e.invalidateLayer(n); + }, 'invalAssocLayers') + )); + }; + Aa.invalidateLayer = function (t) { + if (((this.lastInvalidationTime = Ku()), !t.invalid)) { + var e = t.level, + r = t.eles, + n = this.layersByLevel[e]; + Af(n, t), (t.elesQueue = []), (t.invalid = !0), t.replacement && (t.replacement.invalid = !0); + for (var i = 0; i < r.length; i++) { + var a = r[i]._private.rscratch.imgLayerCaches; + a && (a[e] = null); + } + } + }; + Aa.refineElementTextures = function (t) { + var e = this; + e.updateElementsInLayers( + t, + o(function (n, i, a) { + var s = n.replacement; + if ( + (s || + ((s = n.replacement = e.makeLayer(n.bb, n.level)), (s.replaces = n), (s.eles = n.eles)), + !s.reqs) + ) + for (var l = 0; l < s.eles.length; l++) e.queueLayer(s, s.eles[l]); + }, 'refineEachEle') + ); + }; + Aa.enqueueElementRefinement = function (t) { + this.eleTxrDeqs.merge(t), this.scheduleElementRefinement(); + }; + Aa.queueLayer = function (t, e) { + var r = this, + n = r.layersQueue, + i = t.elesQueue, + a = (i.hasId = i.hasId || {}); + if (!t.replacement) { + if (e) { + if (a[e.id()]) return; + i.push(e), (a[e.id()] = !0); + } + t.reqs ? (t.reqs++, n.updateItem(t)) : ((t.reqs = 1), n.push(t)); + } + }; + Aa.dequeue = function (t) { + for (var e = this, r = e.layersQueue, n = [], i = 0; i < FQe && r.size() !== 0; ) { + var a = r.peek(); + if (a.replacement) { + r.pop(); + continue; + } + if (a.replaces && a !== a.replaces.replacement) { + r.pop(); + continue; + } + if (a.invalid) { + r.pop(); + continue; + } + var s = a.elesQueue.shift(); + s && (e.drawEleInLayer(a, s, a.level, t), i++), + n.length === 0 && n.push(!0), + a.elesQueue.length === 0 && + (r.pop(), (a.reqs = 0), a.replaces && e.applyLayerReplacement(a), e.requestRedraw()); + } + return n; + }; + Aa.applyLayerReplacement = function (t) { + var e = this, + r = e.layersByLevel[t.level], + n = t.replaces, + i = r.indexOf(n); + if (!(i < 0 || n.invalid)) { + r[i] = t; + for (var a = 0; a < t.eles.length; a++) { + var s = t.eles[a]._private, + l = (s.imgLayerCaches = s.imgLayerCaches || {}); + l && (l[t.level] = t); + } + e.requestRedraw(); + } + }; + Aa.requestRedraw = P6(function () { + var t = this.renderer; + t.redrawHint('eles', !0), t.redrawHint('drag', !0), t.redraw(); + }, 100); + Aa.setupDequeueing = Yme.setupDequeueing({ + deqRedrawThreshold: NQe, + deqCost: IQe, + deqAvgCost: OQe, + deqNoDrawCost: PQe, + deqFastCost: BQe, + deq: o(function (e, r) { + return e.dequeue(r); + }, 'deq'), + onDeqd: JP, + shouldRedraw: Ppe, + priority: o(function (e) { + return e.renderer.beforeRenderPriorities.lyrTxrDeq; + }, 'priority') + }); + qme = {}; + o(VQe, 'polygon'); + o(UQe, 'triangleBackcurve'); + o(gpe, 'triangleTee'); + o(HQe, 'circleTriangle'); + o(YQe, 'circle'); + qme.arrowShapeImpl = function (t) { + return (mpe || + (mpe = { + polygon: VQe, + 'triangle-backcurve': UQe, + 'triangle-tee': gpe, + 'circle-triangle': HQe, + 'triangle-cross': gpe, + circle: YQe + }))[t]; + }; + Yc = {}; + Yc.drawElement = function (t, e, r, n, i, a) { + var s = this; + e.isNode() ? s.drawNode(t, e, r, n, i, a) : s.drawEdge(t, e, r, n, i, a); + }; + Yc.drawElementOverlay = function (t, e) { + var r = this; + e.isNode() ? r.drawNodeOverlay(t, e) : r.drawEdgeOverlay(t, e); + }; + Yc.drawElementUnderlay = function (t, e) { + var r = this; + e.isNode() ? r.drawNodeUnderlay(t, e) : r.drawEdgeUnderlay(t, e); + }; + Yc.drawCachedElementPortion = function (t, e, r, n, i, a, s, l) { + var u = this, + h = r.getBoundingBox(e); + if (!(h.w === 0 || h.h === 0)) { + var f = r.getElement(e, h, n, i, a); + if (f != null) { + var d = l(u, e); + if (d === 0) return; + var p = s(u, e), + m = h.x1, + g = h.y1, + y = h.w, + v = h.h, + x, + b, + w, + S, + T; + if (p !== 0) { + var E = r.getRotationPoint(e); + (w = E.x), + (S = E.y), + t.translate(w, S), + t.rotate(p), + (T = u.getImgSmoothing(t)), + T || u.setImgSmoothing(t, !0); + var _ = r.getRotationOffset(e); + (x = _.x), (b = _.y); + } else (x = m), (b = g); + var A; + d !== 1 && ((A = t.globalAlpha), (t.globalAlpha = A * d)), + t.drawImage(f.texture.canvas, f.x, 0, f.width, f.height, x, b, y, v), + d !== 1 && (t.globalAlpha = A), + p !== 0 && (t.rotate(-p), t.translate(-w, -S), T || u.setImgSmoothing(t, !1)); + } else r.drawElement(t, e); + } + }; + (WQe = o(function () { + return 0; + }, 'getZeroRotation')), + (qQe = o(function (e, r) { + return e.getTextAngle(r, null); + }, 'getLabelRotation')), + (XQe = o(function (e, r) { + return e.getTextAngle(r, 'source'); + }, 'getSourceLabelRotation')), + (jQe = o(function (e, r) { + return e.getTextAngle(r, 'target'); + }, 'getTargetLabelRotation')), + (KQe = o(function (e, r) { + return r.effectiveOpacity(); + }, 'getOpacity')), + (DP = o(function (e, r) { + return r.pstyle('text-opacity').pfValue * r.effectiveOpacity(); + }, 'getTextOpacity')); + Yc.drawCachedElement = function (t, e, r, n, i, a) { + var s = this, + l = s.data, + u = l.eleTxrCache, + h = l.lblTxrCache, + f = l.slbTxrCache, + d = l.tlbTxrCache, + p = e.boundingBox(), + m = a === !0 ? u.reasons.highQuality : null; + if (!(p.w === 0 || p.h === 0 || !e.visible()) && (!n || rB(p, n))) { + var g = e.isEdge(), + y = e.element()._private.rscratch.badLine; + s.drawElementUnderlay(t, e), + s.drawCachedElementPortion(t, e, u, r, i, m, WQe, KQe), + (!g || !y) && s.drawCachedElementPortion(t, e, h, r, i, m, qQe, DP), + g && + !y && + (s.drawCachedElementPortion(t, e, f, r, i, m, XQe, DP), + s.drawCachedElementPortion(t, e, d, r, i, m, jQe, DP)), + s.drawElementOverlay(t, e); + } + }; + Yc.drawElements = function (t, e) { + for (var r = this, n = 0; n < e.length; n++) { + var i = e[n]; + r.drawElement(t, i); + } + }; + Yc.drawCachedElements = function (t, e, r, n) { + for (var i = this, a = 0; a < e.length; a++) { + var s = e[a]; + i.drawCachedElement(t, s, r, n); + } + }; + Yc.drawCachedNodes = function (t, e, r, n) { + for (var i = this, a = 0; a < e.length; a++) { + var s = e[a]; + s.isNode() && i.drawCachedElement(t, s, r, n); + } + }; + Yc.drawLayeredElements = function (t, e, r, n) { + var i = this, + a = i.data.lyrTxrCache.getLayers(e, r); + if (a) + for (var s = 0; s < a.length; s++) { + var l = a[s], + u = l.bb; + u.w === 0 || u.h === 0 || t.drawImage(l.canvas, u.x1, u.y1, u.w, u.h); + } + else i.drawCachedElements(t, e, r, n); + }; + eh = {}; + eh.drawEdge = function (t, e, r) { + var n = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !0, + i = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0, + a = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : !0, + s = this, + l = e._private.rscratch; + if (!(a && !e.visible()) && !(l.badLine || l.allpts == null || isNaN(l.allpts[0]))) { + var u; + r && ((u = r), t.translate(-u.x1, -u.y1)); + var h = a ? e.pstyle('opacity').value : 1, + f = a ? e.pstyle('line-opacity').value : 1, + d = e.pstyle('curve-style').value, + p = e.pstyle('line-style').value, + m = e.pstyle('width').pfValue, + g = e.pstyle('line-cap').value, + y = e.pstyle('line-outline-width').value, + v = e.pstyle('line-outline-color').value, + x = h * f, + b = h * f, + w = o(function () { + var O = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : x; + d === 'straight-triangle' + ? (s.eleStrokeStyle(t, e, O), s.drawEdgeTrianglePath(e, t, l.allpts)) + : ((t.lineWidth = m), + (t.lineCap = g), + s.eleStrokeStyle(t, e, O), + s.drawEdgePath(e, t, l.allpts, p), + (t.lineCap = 'butt')); + }, 'drawLine'), + S = o(function () { + var O = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : x; + if (((t.lineWidth = m + y), (t.lineCap = g), y > 0)) + s.colorStrokeStyle(t, v[0], v[1], v[2], O); + else { + t.lineCap = 'butt'; + return; + } + d === 'straight-triangle' + ? s.drawEdgeTrianglePath(e, t, l.allpts) + : (s.drawEdgePath(e, t, l.allpts, p), (t.lineCap = 'butt')); + }, 'drawLineOutline'), + T = o(function () { + i && s.drawEdgeOverlay(t, e); + }, 'drawOverlay'), + E = o(function () { + i && s.drawEdgeUnderlay(t, e); + }, 'drawUnderlay'), + _ = o(function () { + var O = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : b; + s.drawArrowheads(t, e, O); + }, 'drawArrows'), + A = o(function () { + s.drawElementText(t, e, null, n); + }, 'drawText'); + t.lineJoin = 'round'; + var L = e.pstyle('ghost').value === 'yes'; + if (L) { + var M = e.pstyle('ghost-offset-x').pfValue, + N = e.pstyle('ghost-offset-y').pfValue, + k = e.pstyle('ghost-opacity').value, + I = x * k; + t.translate(M, N), w(I), _(I), t.translate(-M, -N); + } else S(); + E(), w(), _(), T(), A(), r && t.translate(u.x1, u.y1); + } + }; + Xme = o(function (e) { + if (!['overlay', 'underlay'].includes(e)) throw new Error('Invalid state'); + return function (r, n) { + if (n.visible()) { + var i = n.pstyle(''.concat(e, '-opacity')).value; + if (i !== 0) { + var a = this, + s = a.usePaths(), + l = n._private.rscratch, + u = n.pstyle(''.concat(e, '-padding')).pfValue, + h = 2 * u, + f = n.pstyle(''.concat(e, '-color')).value; + (r.lineWidth = h), + l.edgeType === 'self' && !s ? (r.lineCap = 'butt') : (r.lineCap = 'round'), + a.colorStrokeStyle(r, f[0], f[1], f[2], i), + a.drawEdgePath(n, r, l.allpts, 'solid'); + } + } + }; + }, 'drawEdgeOverlayUnderlay'); + eh.drawEdgeOverlay = Xme('overlay'); + eh.drawEdgeUnderlay = Xme('underlay'); + eh.drawEdgePath = function (t, e, r, n) { + var i = t._private.rscratch, + a = e, + s, + l = !1, + u = this.usePaths(), + h = t.pstyle('line-dash-pattern').pfValue, + f = t.pstyle('line-dash-offset').pfValue; + if (u) { + var d = r.join('$'), + p = i.pathCacheKey && i.pathCacheKey === d; + p + ? ((s = e = i.pathCache), (l = !0)) + : ((s = e = new Path2D()), (i.pathCacheKey = d), (i.pathCache = s)); + } + if (a.setLineDash) + switch (n) { + case 'dotted': + a.setLineDash([1, 1]); + break; + case 'dashed': + a.setLineDash(h), (a.lineDashOffset = f); + break; + case 'solid': + a.setLineDash([]); + break; + } + if (!l && !i.badLine) + switch ((e.beginPath && e.beginPath(), e.moveTo(r[0], r[1]), i.edgeType)) { + case 'bezier': + case 'self': + case 'compound': + case 'multibezier': + for (var m = 2; m + 3 < r.length; m += 4) + e.quadraticCurveTo(r[m], r[m + 1], r[m + 2], r[m + 3]); + break; + case 'straight': + case 'haystack': + for (var g = 2; g + 1 < r.length; g += 2) e.lineTo(r[g], r[g + 1]); + break; + case 'segments': + if (i.isRound) { + var y = Tpe(i.roundCorners), + v; + try { + for (y.s(); !(v = y.n()).done; ) { + var x = v.value; + Bme(e, x); + } + } catch (w) { + y.e(w); + } finally { + y.f(); + } + e.lineTo(r[r.length - 2], r[r.length - 1]); + } else for (var b = 2; b + 1 < r.length; b += 2) e.lineTo(r[b], r[b + 1]); + break; + } + (e = a), u ? e.stroke(s) : e.stroke(), e.setLineDash && e.setLineDash([]); + }; + eh.drawEdgeTrianglePath = function (t, e, r) { + e.fillStyle = e.strokeStyle; + for (var n = t.pstyle('width').pfValue, i = 0; i + 1 < r.length; i += 2) { + var a = [r[i + 2] - r[i], r[i + 3] - r[i + 1]], + s = Math.sqrt(a[0] * a[0] + a[1] * a[1]), + l = [a[1] / s, -a[0] / s], + u = [(l[0] * n) / 2, (l[1] * n) / 2]; + e.beginPath(), + e.moveTo(r[i] - u[0], r[i + 1] - u[1]), + e.lineTo(r[i] + u[0], r[i + 1] + u[1]), + e.lineTo(r[i + 2], r[i + 3]), + e.closePath(), + e.fill(); + } + }; + eh.drawArrowheads = function (t, e, r) { + var n = e._private.rscratch, + i = n.edgeType === 'haystack'; + i || this.drawArrowhead(t, e, 'source', n.arrowStartX, n.arrowStartY, n.srcArrowAngle, r), + this.drawArrowhead(t, e, 'mid-target', n.midX, n.midY, n.midtgtArrowAngle, r), + this.drawArrowhead(t, e, 'mid-source', n.midX, n.midY, n.midsrcArrowAngle, r), + i || this.drawArrowhead(t, e, 'target', n.arrowEndX, n.arrowEndY, n.tgtArrowAngle, r); + }; + eh.drawArrowhead = function (t, e, r, n, i, a, s) { + if (!(isNaN(n) || n == null || isNaN(i) || i == null || isNaN(a) || a == null)) { + var l = this, + u = e.pstyle(r + '-arrow-shape').value; + if (u !== 'none') { + var h = e.pstyle(r + '-arrow-fill').value === 'hollow' ? 'both' : 'filled', + f = e.pstyle(r + '-arrow-fill').value, + d = e.pstyle('width').pfValue, + p = e.pstyle(r + '-arrow-width'), + m = p.value === 'match-line' ? d : p.pfValue; + p.units === '%' && (m *= d); + var g = e.pstyle('opacity').value; + s === void 0 && (s = g); + var y = t.globalCompositeOperation; + (s !== 1 || f === 'hollow') && + ((t.globalCompositeOperation = 'destination-out'), + l.colorFillStyle(t, 255, 255, 255, 1), + l.colorStrokeStyle(t, 255, 255, 255, 1), + l.drawArrowShape(e, t, h, d, u, m, n, i, a), + (t.globalCompositeOperation = y)); + var v = e.pstyle(r + '-arrow-color').value; + l.colorFillStyle(t, v[0], v[1], v[2], s), + l.colorStrokeStyle(t, v[0], v[1], v[2], s), + l.drawArrowShape(e, t, f, d, u, m, n, i, a); + } + } + }; + eh.drawArrowShape = function (t, e, r, n, i, a, s, l, u) { + var h = this, + f = this.usePaths() && i !== 'triangle-cross', + d = !1, + p, + m = e, + g = { x: s, y: l }, + y = t.pstyle('arrow-scale').value, + v = this.getArrowWidth(n, y), + x = h.arrowShapes[i]; + if (f) { + var b = (h.arrowPathCache = h.arrowPathCache || []), + w = U0(i), + S = b[w]; + S != null ? ((p = e = S), (d = !0)) : ((p = e = new Path2D()), (b[w] = p)); + } + d || + (e.beginPath && e.beginPath(), + f ? x.draw(e, 1, 0, { x: 0, y: 0 }, 1) : x.draw(e, v, u, g, n), + e.closePath && e.closePath()), + (e = m), + f && (e.translate(s, l), e.rotate(u), e.scale(v, v)), + (r === 'filled' || r === 'both') && (f ? e.fill(p) : e.fill()), + (r === 'hollow' || r === 'both') && + ((e.lineWidth = a / (f ? v : 1)), (e.lineJoin = 'miter'), f ? e.stroke(p) : e.stroke()), + f && (e.scale(1 / v, 1 / v), e.rotate(-u), e.translate(-s, -l)); + }; + yB = {}; + yB.safeDrawImage = function (t, e, r, n, i, a, s, l, u, h) { + if (!(i <= 0 || a <= 0 || u <= 0 || h <= 0)) + try { + t.drawImage(e, r, n, i, a, s, l, u, h); + } catch (f) { + tn(f); + } + }; + yB.drawInscribedImage = function (t, e, r, n, i) { + var a = this, + s = r.position(), + l = s.x, + u = s.y, + h = r.cy().style(), + f = h.getIndexedStyle.bind(h), + d = f(r, 'background-fit', 'value', n), + p = f(r, 'background-repeat', 'value', n), + m = r.width(), + g = r.height(), + y = r.padding() * 2, + v = m + (f(r, 'background-width-relative-to', 'value', n) === 'inner' ? 0 : y), + x = g + (f(r, 'background-height-relative-to', 'value', n) === 'inner' ? 0 : y), + b = r._private.rscratch, + w = f(r, 'background-clip', 'value', n), + S = w === 'node', + T = f(r, 'background-image-opacity', 'value', n) * i, + E = f(r, 'background-image-smoothing', 'value', n), + _ = r.pstyle('corner-radius').value; + _ !== 'auto' && (_ = r.pstyle('corner-radius').pfValue); + var A = e.width || e.cachedW, + L = e.height || e.cachedH; + (A == null || L == null) && + (document.body.appendChild(e), + (A = e.cachedW = e.width || e.offsetWidth), + (L = e.cachedH = e.height || e.offsetHeight), + document.body.removeChild(e)); + var M = A, + N = L; + if ( + (f(r, 'background-width', 'value', n) !== 'auto' && + (f(r, 'background-width', 'units', n) === '%' + ? (M = f(r, 'background-width', 'pfValue', n) * v) + : (M = f(r, 'background-width', 'pfValue', n))), + f(r, 'background-height', 'value', n) !== 'auto' && + (f(r, 'background-height', 'units', n) === '%' + ? (N = f(r, 'background-height', 'pfValue', n) * x) + : (N = f(r, 'background-height', 'pfValue', n))), + !(M === 0 || N === 0)) + ) { + if (d === 'contain') { + var k = Math.min(v / M, x / N); + (M *= k), (N *= k); + } else if (d === 'cover') { + var k = Math.max(v / M, x / N); + (M *= k), (N *= k); + } + var I = l - v / 2, + C = f(r, 'background-position-x', 'units', n), + O = f(r, 'background-position-x', 'pfValue', n); + C === '%' ? (I += (v - M) * O) : (I += O); + var D = f(r, 'background-offset-x', 'units', n), + P = f(r, 'background-offset-x', 'pfValue', n); + D === '%' ? (I += (v - M) * P) : (I += P); + var F = u - x / 2, + B = f(r, 'background-position-y', 'units', n), + $ = f(r, 'background-position-y', 'pfValue', n); + B === '%' ? (F += (x - N) * $) : (F += $); + var z = f(r, 'background-offset-y', 'units', n), + Y = f(r, 'background-offset-y', 'pfValue', n); + z === '%' ? (F += (x - N) * Y) : (F += Y), b.pathCache && ((I -= l), (F -= u), (l = 0), (u = 0)); + var Q = t.globalAlpha; + t.globalAlpha = T; + var X = a.getImgSmoothing(t), + ie = !1; + if ( + (E === 'no' && X + ? (a.setImgSmoothing(t, !1), (ie = !0)) + : E === 'yes' && !X && (a.setImgSmoothing(t, !0), (ie = !0)), + p === 'no-repeat') + ) + S && + (t.save(), + b.pathCache + ? t.clip(b.pathCache) + : (a.nodeShapes[a.getNodeShape(r)].draw(t, l, u, v, x, _, b), t.clip())), + a.safeDrawImage(t, e, 0, 0, A, L, I, F, M, N), + S && t.restore(); + else { + var j = t.createPattern(e, p); + (t.fillStyle = j), + a.nodeShapes[a.getNodeShape(r)].draw(t, l, u, v, x, _, b), + t.translate(I, F), + t.fill(), + t.translate(-I, -F); + } + (t.globalAlpha = Q), ie && a.setImgSmoothing(t, X); + } + }; + K0 = {}; + K0.eleTextBiggerThanMin = function (t, e) { + if (!e) { + var r = t.cy().zoom(), + n = this.getPixelRatio(), + i = Math.ceil(tB(r * n)); + e = Math.pow(2, i); + } + var a = t.pstyle('font-size').pfValue * e, + s = t.pstyle('min-zoomed-font-size').pfValue; + return !(a < s); + }; + K0.drawElementText = function (t, e, r, n, i) { + var a = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : !0, + s = this; + if (n == null) { + if (a && !s.eleTextBiggerThanMin(e)) return; + } else if (n === !1) return; + if (e.isNode()) { + var l = e.pstyle('label'); + if (!l || !l.value) return; + var u = s.getLabelJustification(e); + (t.textAlign = u), (t.textBaseline = 'bottom'); + } else { + var h = e.element()._private.rscratch.badLine, + f = e.pstyle('label'), + d = e.pstyle('source-label'), + p = e.pstyle('target-label'); + if (h || ((!f || !f.value) && (!d || !d.value) && (!p || !p.value))) return; + (t.textAlign = 'center'), (t.textBaseline = 'bottom'); + } + var m = !r, + g; + r && ((g = r), t.translate(-g.x1, -g.y1)), + i == null + ? (s.drawText(t, e, null, m, a), + e.isEdge() && (s.drawText(t, e, 'source', m, a), s.drawText(t, e, 'target', m, a))) + : s.drawText(t, e, i, m, a), + r && t.translate(g.x1, g.y1); + }; + K0.getFontCache = function (t) { + var e; + this.fontCaches = this.fontCaches || []; + for (var r = 0; r < this.fontCaches.length; r++) + if (((e = this.fontCaches[r]), e.context === t)) return e; + return (e = { context: t }), this.fontCaches.push(e), e; + }; + K0.setupTextStyle = function (t, e) { + var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !0, + n = e.pstyle('font-style').strValue, + i = e.pstyle('font-size').pfValue + 'px', + a = e.pstyle('font-family').strValue, + s = e.pstyle('font-weight').strValue, + l = r ? e.effectiveOpacity() * e.pstyle('text-opacity').value : 1, + u = e.pstyle('text-outline-opacity').value * l, + h = e.pstyle('color').value, + f = e.pstyle('text-outline-color').value; + (t.font = n + ' ' + s + ' ' + i + ' ' + a), + (t.lineJoin = 'round'), + this.colorFillStyle(t, h[0], h[1], h[2], l), + this.colorStrokeStyle(t, f[0], f[1], f[2], u); + }; + o(RP, 'roundRect'); + K0.getTextAngle = function (t, e) { + var r, + n = t._private, + i = n.rscratch, + a = e ? e + '-' : '', + s = t.pstyle(a + 'text-rotation'), + l = Ul(i, 'labelAngle', e); + return ( + s.strValue === 'autorotate' + ? (r = t.isEdge() ? l : 0) + : s.strValue === 'none' + ? (r = 0) + : (r = s.pfValue), + r + ); + }; + K0.drawText = function (t, e, r) { + var n = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !0, + i = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0, + a = e._private, + s = a.rscratch, + l = i ? e.effectiveOpacity() : 1; + if (!(i && (l === 0 || e.pstyle('text-opacity').value === 0))) { + r === 'main' && (r = null); + var u = Ul(s, 'labelX', r), + h = Ul(s, 'labelY', r), + f, + d, + p = this.getLabelText(e, r); + if (p != null && p !== '' && !isNaN(u) && !isNaN(h)) { + this.setupTextStyle(t, e, i); + var m = r ? r + '-' : '', + g = Ul(s, 'labelWidth', r), + y = Ul(s, 'labelHeight', r), + v = e.pstyle(m + 'text-margin-x').pfValue, + x = e.pstyle(m + 'text-margin-y').pfValue, + b = e.isEdge(), + w = e.pstyle('text-halign').value, + S = e.pstyle('text-valign').value; + b && ((w = 'center'), (S = 'center')), (u += v), (h += x); + var T; + switch ( + (n ? (T = this.getTextAngle(e, r)) : (T = 0), + T !== 0 && ((f = u), (d = h), t.translate(f, d), t.rotate(T), (u = 0), (h = 0)), + S) + ) { + case 'top': + break; + case 'center': + h += y / 2; + break; + case 'bottom': + h += y; + break; + } + var E = e.pstyle('text-background-opacity').value, + _ = e.pstyle('text-border-opacity').value, + A = e.pstyle('text-border-width').pfValue, + L = e.pstyle('text-background-padding').pfValue, + M = e.pstyle('text-background-shape').strValue, + N = M.indexOf('round') === 0, + k = 2; + if (E > 0 || (A > 0 && _ > 0)) { + var I = u - L; + switch (w) { + case 'left': + I -= g; + break; + case 'center': + I -= g / 2; + break; + } + var C = h - y - L, + O = g + 2 * L, + D = y + 2 * L; + if (E > 0) { + var P = t.fillStyle, + F = e.pstyle('text-background-color').value; + (t.fillStyle = 'rgba(' + F[0] + ',' + F[1] + ',' + F[2] + ',' + E * l + ')'), + N ? RP(t, I, C, O, D, k) : t.fillRect(I, C, O, D), + (t.fillStyle = P); + } + if (A > 0 && _ > 0) { + var B = t.strokeStyle, + $ = t.lineWidth, + z = e.pstyle('text-border-color').value, + Y = e.pstyle('text-border-style').value; + if ( + ((t.strokeStyle = 'rgba(' + z[0] + ',' + z[1] + ',' + z[2] + ',' + _ * l + ')'), + (t.lineWidth = A), + t.setLineDash) + ) + switch (Y) { + case 'dotted': + t.setLineDash([1, 1]); + break; + case 'dashed': + t.setLineDash([4, 2]); + break; + case 'double': + (t.lineWidth = A / 4), t.setLineDash([]); + break; + case 'solid': + t.setLineDash([]); + break; + } + if ((N ? RP(t, I, C, O, D, k, 'stroke') : t.strokeRect(I, C, O, D), Y === 'double')) { + var Q = A / 2; + N + ? RP(t, I + Q, C + Q, O - Q * 2, D - Q * 2, k, 'stroke') + : t.strokeRect(I + Q, C + Q, O - Q * 2, D - Q * 2); + } + t.setLineDash && t.setLineDash([]), (t.lineWidth = $), (t.strokeStyle = B); + } + } + var X = 2 * e.pstyle('text-outline-width').pfValue; + if ((X > 0 && (t.lineWidth = X), e.pstyle('text-wrap').value === 'wrap')) { + var ie = Ul(s, 'labelWrapCachedLines', r), + j = Ul(s, 'labelLineHeight', r), + J = g / 2, + Z = this.getLabelJustification(e); + switch ( + (Z === 'auto' || + (w === 'left' + ? Z === 'left' + ? (u += -g) + : Z === 'center' && (u += -J) + : w === 'center' + ? Z === 'left' + ? (u += -J) + : Z === 'right' && (u += J) + : w === 'right' && (Z === 'center' ? (u += J) : Z === 'right' && (u += g))), + S) + ) { + case 'top': + h -= (ie.length - 1) * j; + break; + case 'center': + case 'bottom': + h -= (ie.length - 1) * j; + break; + } + for (var H = 0; H < ie.length; H++) + X > 0 && t.strokeText(ie[H], u, h), t.fillText(ie[H], u, h), (h += j); + } else X > 0 && t.strokeText(p, u, h), t.fillText(p, u, h); + T !== 0 && (t.rotate(-T), t.translate(-f, -d)); + } + } + }; + v1 = {}; + v1.drawNode = function (t, e, r) { + var n = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !0, + i = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0, + a = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : !0, + s = this, + l, + u, + h = e._private, + f = h.rscratch, + d = e.position(); + if (!(!ft(d.x) || !ft(d.y)) && !(a && !e.visible())) { + var p = a ? e.effectiveOpacity() : 1, + m = s.usePaths(), + g, + y = !1, + v = e.padding(); + (l = e.width() + 2 * v), (u = e.height() + 2 * v); + var x; + r && ((x = r), t.translate(-x.x1, -x.y1)); + for ( + var b = e.pstyle('background-image'), + w = b.value, + S = new Array(w.length), + T = new Array(w.length), + E = 0, + _ = 0; + _ < w.length; + _++ + ) { + var A = w[_], + L = (S[_] = A != null && A !== 'none'); + if (L) { + var M = e.cy().style().getIndexedStyle(e, 'background-image-crossorigin', 'value', _); + E++, + (T[_] = s.getCachedImage(A, M, function () { + (h.backgroundTimestamp = Date.now()), e.emitAndNotify('background'); + })); + } + } + var N = e.pstyle('background-blacken').value, + k = e.pstyle('border-width').pfValue, + I = e.pstyle('background-opacity').value * p, + C = e.pstyle('border-color').value, + O = e.pstyle('border-style').value, + D = e.pstyle('border-join').value, + P = e.pstyle('border-cap').value, + F = e.pstyle('border-position').value, + B = e.pstyle('border-dash-pattern').pfValue, + $ = e.pstyle('border-dash-offset').pfValue, + z = e.pstyle('border-opacity').value * p, + Y = e.pstyle('outline-width').pfValue, + Q = e.pstyle('outline-color').value, + X = e.pstyle('outline-style').value, + ie = e.pstyle('outline-opacity').value * p, + j = e.pstyle('outline-offset').value, + J = e.pstyle('corner-radius').value; + J !== 'auto' && (J = e.pstyle('corner-radius').pfValue); + var Z = o(function () { + var ne = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : I; + s.eleFillStyle(t, e, ne); + }, 'setupShapeColor'), + H = o(function () { + var ne = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : z; + s.colorStrokeStyle(t, C[0], C[1], C[2], ne); + }, 'setupBorderColor'), + q = o(function () { + var ne = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : ie; + s.colorStrokeStyle(t, Q[0], Q[1], Q[2], ne); + }, 'setupOutlineColor'), + K = o(function (ne, ae, we, Te) { + var Ce = (s.nodePathCache = s.nodePathCache || []), + Ae = Ope(we === 'polygon' ? we + ',' + Te.join(',') : we, '' + ae, '' + ne, '' + J), + Ge = Ce[Ae], + Me, + ye = !1; + return ( + Ge != null + ? ((Me = Ge), (ye = !0), (f.pathCache = Me)) + : ((Me = new Path2D()), (Ce[Ae] = f.pathCache = Me)), + { path: Me, cacheHit: ye } + ); + }, 'getPath'), + se = e.pstyle('shape').strValue, + ce = e.pstyle('shape-polygon-points').pfValue; + if (m) { + t.translate(d.x, d.y); + var ue = K(l, u, se, ce); + (g = ue.path), (y = ue.cacheHit); + } + var te = o(function () { + if (!y) { + var ne = d; + m && (ne = { x: 0, y: 0 }), + s.nodeShapes[s.getNodeShape(e)].draw(g || t, ne.x, ne.y, l, u, J, f); + } + m ? t.fill(g) : t.fill(); + }, 'drawShape'), + De = o(function () { + for ( + var ne = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : p, + ae = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0, + we = h.backgrounding, + Te = 0, + Ce = 0; + Ce < T.length; + Ce++ + ) { + var Ae = e.cy().style().getIndexedStyle(e, 'background-image-containment', 'value', Ce); + if ((ae && Ae === 'over') || (!ae && Ae === 'inside')) { + Te++; + continue; + } + S[Ce] && + T[Ce].complete && + !T[Ce].error && + (Te++, s.drawInscribedImage(t, T[Ce], e, Ce, ne)); + } + (h.backgrounding = Te !== E), we !== h.backgrounding && e.updateStyle(!1); + }, 'drawImages'), + oe = o(function () { + var ne = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1, + ae = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : p; + s.hasPie(e) && + (s.drawPie(t, e, ae), + ne && (m || s.nodeShapes[s.getNodeShape(e)].draw(t, d.x, d.y, l, u, J, f))); + }, 'drawPie'), + ke = o(function () { + var ne = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : p, + ae = (N > 0 ? N : -N) * ne, + we = N > 0 ? 0 : 255; + N !== 0 && (s.colorFillStyle(t, we, we, we, ae), m ? t.fill(g) : t.fill()); + }, 'darken'), + Ie = o(function () { + if (k > 0) { + if (((t.lineWidth = k), (t.lineCap = P), (t.lineJoin = D), t.setLineDash)) + switch (O) { + case 'dotted': + t.setLineDash([1, 1]); + break; + case 'dashed': + t.setLineDash(B), (t.lineDashOffset = $); + break; + case 'solid': + case 'double': + t.setLineDash([]); + break; + } + if (F !== 'center') { + if ((t.save(), (t.lineWidth *= 2), F === 'inside')) m ? t.clip(g) : t.clip(); + else { + var ne = new Path2D(); + ne.rect(-l / 2 - k, -u / 2 - k, l + 2 * k, u + 2 * k), + ne.addPath(g), + t.clip(ne, 'evenodd'); + } + m ? t.stroke(g) : t.stroke(), t.restore(); + } else m ? t.stroke(g) : t.stroke(); + if (O === 'double') { + t.lineWidth = k / 3; + var ae = t.globalCompositeOperation; + (t.globalCompositeOperation = 'destination-out'), + m ? t.stroke(g) : t.stroke(), + (t.globalCompositeOperation = ae); + } + t.setLineDash && t.setLineDash([]); + } + }, 'drawBorder'), + Se = o(function () { + if (Y > 0) { + if (((t.lineWidth = Y), (t.lineCap = 'butt'), t.setLineDash)) + switch (X) { + case 'dotted': + t.setLineDash([1, 1]); + break; + case 'dashed': + t.setLineDash([4, 2]); + break; + case 'solid': + case 'double': + t.setLineDash([]); + break; + } + var ne = d; + m && (ne = { x: 0, y: 0 }); + var ae = s.getNodeShape(e), + we = k; + F === 'inside' && (we = 0), F === 'outside' && (we *= 2); + var Te = (l + we + (Y + j)) / l, + Ce = (u + we + (Y + j)) / u, + Ae = l * Te, + Ge = u * Ce, + Me = s.nodeShapes[ae].points, + ye; + if (m) { + var He = K(Ae, Ge, ae, Me); + ye = He.path; + } + if (ae === 'ellipse') s.drawEllipsePath(ye || t, ne.x, ne.y, Ae, Ge); + else if ( + [ + 'round-diamond', + 'round-heptagon', + 'round-hexagon', + 'round-octagon', + 'round-pentagon', + 'round-polygon', + 'round-triangle', + 'round-tag' + ].includes(ae) + ) { + var ze = 0, + Ze = 0, + gt = 0; + ae === 'round-diamond' + ? (ze = (we + j + Y) * 1.4) + : ae === 'round-heptagon' + ? ((ze = (we + j + Y) * 1.075), (gt = -(we / 2 + j + Y) / 35)) + : ae === 'round-hexagon' + ? (ze = (we + j + Y) * 1.12) + : ae === 'round-pentagon' + ? ((ze = (we + j + Y) * 1.13), (gt = -(we / 2 + j + Y) / 15)) + : ae === 'round-tag' + ? ((ze = (we + j + Y) * 1.12), (Ze = (we / 2 + Y + j) * 0.07)) + : ae === 'round-triangle' && + ((ze = (we + j + Y) * (Math.PI / 2)), (gt = -(we + j / 2 + Y) / Math.PI)), + ze !== 0 && + ((Te = (l + ze) / l), + (Ae = l * Te), + ['round-hexagon', 'round-tag'].includes(ae) || + ((Ce = (u + ze) / u), (Ge = u * Ce))), + (J = J === 'auto' ? Wpe(Ae, Ge) : J); + for ( + var yt = Ae / 2, + tt = Ge / 2, + Ye = J + (we + Y + j) / 2, + Je = new Array(Me.length / 2), + Ve = new Array(Me.length / 2), + je = 0; + je < Me.length / 2; + je++ + ) + Je[je] = { + x: ne.x + Ze + yt * Me[je * 2], + y: ne.y + gt + tt * Me[je * 2 + 1] + }; + var kt, + at, + xt, + it, + dt = Je.length; + for (at = Je[dt - 1], kt = 0; kt < dt; kt++) + (xt = Je[kt % dt]), + (it = Je[(kt + 1) % dt]), + (Ve[kt] = mB(at, xt, it, Ye)), + (at = xt), + (xt = it); + s.drawRoundPolygonPath(ye || t, ne.x + Ze, ne.y + gt, l * Te, u * Ce, Me, Ve); + } else if (['roundrectangle', 'round-rectangle'].includes(ae)) + (J = J === 'auto' ? Y0(Ae, Ge) : J), + s.drawRoundRectanglePath(ye || t, ne.x, ne.y, Ae, Ge, J + (we + Y + j) / 2); + else if (['cutrectangle', 'cut-rectangle'].includes(ae)) + (J = J === 'auto' ? nB() : J), + s.drawCutRectanglePath(ye || t, ne.x, ne.y, Ae, Ge, null, J + (we + Y + j) / 4); + else if (['bottomroundrectangle', 'bottom-round-rectangle'].includes(ae)) + (J = J === 'auto' ? Y0(Ae, Ge) : J), + s.drawBottomRoundRectanglePath( + ye || t, + ne.x, + ne.y, + Ae, + Ge, + J + (we + Y + j) / 2 + ); + else if (ae === 'barrel') s.drawBarrelPath(ye || t, ne.x, ne.y, Ae, Ge); + else if ( + ae.startsWith('polygon') || + ['rhomboid', 'right-rhomboid', 'round-tag', 'tag', 'vee'].includes(ae) + ) { + var lt = (we + Y + j) / l; + (Me = S6(A6(Me, lt))), s.drawPolygonPath(ye || t, ne.x, ne.y, l, u, Me); + } else { + var It = (we + Y + j) / l; + (Me = S6(A6(Me, -It))), s.drawPolygonPath(ye || t, ne.x, ne.y, l, u, Me); + } + if ((m ? t.stroke(ye) : t.stroke(), X === 'double')) { + t.lineWidth = we / 3; + var mt = t.globalCompositeOperation; + (t.globalCompositeOperation = 'destination-out'), + m ? t.stroke(ye) : t.stroke(), + (t.globalCompositeOperation = mt); + } + t.setLineDash && t.setLineDash([]); + } + }, 'drawOutline'), + Ue = o(function () { + i && s.drawNodeOverlay(t, e, d, l, u); + }, 'drawOverlay'), + Pe = o(function () { + i && s.drawNodeUnderlay(t, e, d, l, u); + }, 'drawUnderlay'), + _e = o(function () { + s.drawElementText(t, e, null, n); + }, 'drawText'), + me = e.pstyle('ghost').value === 'yes'; + if (me) { + var W = e.pstyle('ghost-offset-x').pfValue, + fe = e.pstyle('ghost-offset-y').pfValue, + ge = e.pstyle('ghost-opacity').value, + re = ge * p; + t.translate(W, fe), + q(), + Se(), + Z(ge * I), + te(), + De(re, !0), + H(ge * z), + Ie(), + oe(N !== 0 || k !== 0), + De(re, !1), + ke(re), + t.translate(-W, -fe); + } + m && t.translate(-d.x, -d.y), + Pe(), + m && t.translate(d.x, d.y), + q(), + Se(), + Z(), + te(), + De(p, !0), + H(), + Ie(), + oe(N !== 0 || k !== 0), + De(p, !1), + ke(), + m && t.translate(-d.x, -d.y), + _e(), + Ue(), + r && t.translate(x.x1, x.y1); + } + }; + jme = o(function (e) { + if (!['overlay', 'underlay'].includes(e)) throw new Error('Invalid state'); + return function (r, n, i, a, s) { + var l = this; + if (n.visible()) { + var u = n.pstyle(''.concat(e, '-padding')).pfValue, + h = n.pstyle(''.concat(e, '-opacity')).value, + f = n.pstyle(''.concat(e, '-color')).value, + d = n.pstyle(''.concat(e, '-shape')).value, + p = n.pstyle(''.concat(e, '-corner-radius')).value; + if (h > 0) { + if (((i = i || n.position()), a == null || s == null)) { + var m = n.padding(); + (a = n.width() + 2 * m), (s = n.height() + 2 * m); + } + l.colorFillStyle(r, f[0], f[1], f[2], h), + l.nodeShapes[d].draw(r, i.x, i.y, a + u * 2, s + u * 2, p), + r.fill(); + } + } + }; + }, 'drawNodeOverlayUnderlay'); + v1.drawNodeOverlay = jme('overlay'); + v1.drawNodeUnderlay = jme('underlay'); + v1.hasPie = function (t) { + return (t = t[0]), t._private.hasPie; + }; + v1.drawPie = function (t, e, r, n) { + (e = e[0]), (n = n || e.position()); + var i = e.cy().style(), + a = e.pstyle('pie-size'), + s = n.x, + l = n.y, + u = e.width(), + h = e.height(), + f = Math.min(u, h) / 2, + d = 0, + p = this.usePaths(); + p && ((s = 0), (l = 0)), + a.units === '%' ? (f = f * a.pfValue) : a.pfValue !== void 0 && (f = a.pfValue / 2); + for (var m = 1; m <= i.pieBackgroundN; m++) { + var g = e.pstyle('pie-' + m + '-background-size').value, + y = e.pstyle('pie-' + m + '-background-color').value, + v = e.pstyle('pie-' + m + '-background-opacity').value * r, + x = g / 100; + x + d > 1 && (x = 1 - d); + var b = 1.5 * Math.PI + 2 * Math.PI * d, + w = 2 * Math.PI * x, + S = b + w; + g === 0 || + d >= 1 || + d + x > 1 || + (t.beginPath(), + t.moveTo(s, l), + t.arc(s, l, f, b, S), + t.closePath(), + this.colorFillStyle(t, y[0], y[1], y[2], v), + t.fill(), + (d += x)); + } + }; + (bo = {}), (QQe = 100); + bo.getPixelRatio = function () { + var t = this.data.contexts[0]; + if (this.forcedPixelRatio != null) return this.forcedPixelRatio; + var e = this.cy.window(), + r = + t.backingStorePixelRatio || + t.webkitBackingStorePixelRatio || + t.mozBackingStorePixelRatio || + t.msBackingStorePixelRatio || + t.oBackingStorePixelRatio || + t.backingStorePixelRatio || + 1; + return (e.devicePixelRatio || 1) / r; + }; + bo.paintCache = function (t) { + for (var e = (this.paintCaches = this.paintCaches || []), r = !0, n, i = 0; i < e.length; i++) + if (((n = e[i]), n.context === t)) { + r = !1; + break; + } + return r && ((n = { context: t }), e.push(n)), n; + }; + bo.createGradientStyleFor = function (t, e, r, n, i) { + var a, + s = this.usePaths(), + l = r.pstyle(e + '-gradient-stop-colors').value, + u = r.pstyle(e + '-gradient-stop-positions').pfValue; + if (n === 'radial-gradient') + if (r.isEdge()) { + var h = r.sourceEndpoint(), + f = r.targetEndpoint(), + d = r.midpoint(), + p = H0(h, d), + m = H0(f, d); + a = t.createRadialGradient(d.x, d.y, 0, d.x, d.y, Math.max(p, m)); + } else { + var g = s ? { x: 0, y: 0 } : r.position(), + y = r.paddedWidth(), + v = r.paddedHeight(); + a = t.createRadialGradient(g.x, g.y, 0, g.x, g.y, Math.max(y, v)); + } + else if (r.isEdge()) { + var x = r.sourceEndpoint(), + b = r.targetEndpoint(); + a = t.createLinearGradient(x.x, x.y, b.x, b.y); + } else { + var w = s ? { x: 0, y: 0 } : r.position(), + S = r.paddedWidth(), + T = r.paddedHeight(), + E = S / 2, + _ = T / 2, + A = r.pstyle('background-gradient-direction').value; + switch (A) { + case 'to-bottom': + a = t.createLinearGradient(w.x, w.y - _, w.x, w.y + _); + break; + case 'to-top': + a = t.createLinearGradient(w.x, w.y + _, w.x, w.y - _); + break; + case 'to-left': + a = t.createLinearGradient(w.x + E, w.y, w.x - E, w.y); + break; + case 'to-right': + a = t.createLinearGradient(w.x - E, w.y, w.x + E, w.y); + break; + case 'to-bottom-right': + case 'to-right-bottom': + a = t.createLinearGradient(w.x - E, w.y - _, w.x + E, w.y + _); + break; + case 'to-top-right': + case 'to-right-top': + a = t.createLinearGradient(w.x - E, w.y + _, w.x + E, w.y - _); + break; + case 'to-bottom-left': + case 'to-left-bottom': + a = t.createLinearGradient(w.x + E, w.y - _, w.x - E, w.y + _); + break; + case 'to-top-left': + case 'to-left-top': + a = t.createLinearGradient(w.x + E, w.y + _, w.x - E, w.y - _); + break; + } + } + if (!a) return null; + for (var L = u.length === l.length, M = l.length, N = 0; N < M; N++) + a.addColorStop( + L ? u[N] : N / (M - 1), + 'rgba(' + l[N][0] + ',' + l[N][1] + ',' + l[N][2] + ',' + i + ')' + ); + return a; + }; + bo.gradientFillStyle = function (t, e, r, n) { + var i = this.createGradientStyleFor(t, 'background', e, r, n); + if (!i) return null; + t.fillStyle = i; + }; + bo.colorFillStyle = function (t, e, r, n, i) { + t.fillStyle = 'rgba(' + e + ',' + r + ',' + n + ',' + i + ')'; + }; + bo.eleFillStyle = function (t, e, r) { + var n = e.pstyle('background-fill').value; + if (n === 'linear-gradient' || n === 'radial-gradient') this.gradientFillStyle(t, e, n, r); + else { + var i = e.pstyle('background-color').value; + this.colorFillStyle(t, i[0], i[1], i[2], r); + } + }; + bo.gradientStrokeStyle = function (t, e, r, n) { + var i = this.createGradientStyleFor(t, 'line', e, r, n); + if (!i) return null; + t.strokeStyle = i; + }; + bo.colorStrokeStyle = function (t, e, r, n, i) { + t.strokeStyle = 'rgba(' + e + ',' + r + ',' + n + ',' + i + ')'; + }; + bo.eleStrokeStyle = function (t, e, r) { + var n = e.pstyle('line-fill').value; + if (n === 'linear-gradient' || n === 'radial-gradient') this.gradientStrokeStyle(t, e, n, r); + else { + var i = e.pstyle('line-color').value; + this.colorStrokeStyle(t, i[0], i[1], i[2], r); + } + }; + bo.matchCanvasSize = function (t) { + var e = this, + r = e.data, + n = e.findContainerClientCoords(), + i = n[2], + a = n[3], + s = e.getPixelRatio(), + l = e.motionBlurPxRatio; + (t === e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_NODE] || + t === e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_DRAG]) && + (s = l); + var u = i * s, + h = a * s, + f; + if (!(u === e.canvasWidth && h === e.canvasHeight)) { + e.fontCaches = null; + var d = r.canvasContainer; + (d.style.width = i + 'px'), (d.style.height = a + 'px'); + for (var p = 0; p < e.CANVAS_LAYERS; p++) + (f = r.canvases[p]), + (f.width = u), + (f.height = h), + (f.style.width = i + 'px'), + (f.style.height = a + 'px'); + for (var p = 0; p < e.BUFFER_COUNT; p++) + (f = r.bufferCanvases[p]), + (f.width = u), + (f.height = h), + (f.style.width = i + 'px'), + (f.style.height = a + 'px'); + (e.textureMult = 1), + s <= 1 && + ((f = r.bufferCanvases[e.TEXTURE_BUFFER]), + (e.textureMult = 2), + (f.width = u * e.textureMult), + (f.height = h * e.textureMult)), + (e.canvasWidth = u), + (e.canvasHeight = h); + } + }; + bo.renderTo = function (t, e, r, n) { + this.render({ + forcedContext: t, + forcedZoom: e, + forcedPan: r, + drawAllLayers: !0, + forcedPxRatio: n + }); + }; + bo.render = function (t) { + t = t || zpe(); + var e = t.forcedContext, + r = t.drawAllLayers, + n = t.drawOnlyNodeLayer, + i = t.forcedZoom, + a = t.forcedPan, + s = this, + l = t.forcedPxRatio === void 0 ? this.getPixelRatio() : t.forcedPxRatio, + u = s.cy, + h = s.data, + f = h.canvasNeedsRedraw, + d = + s.textureOnViewport && + !e && + (s.pinching || s.hoverData.dragging || s.swipePanning || s.data.wheelZooming), + p = t.motionBlur !== void 0 ? t.motionBlur : s.motionBlur, + m = s.motionBlurPxRatio, + g = u.hasCompoundNodes(), + y = s.hoverData.draggingEles, + v = !!(s.hoverData.selecting || s.touchData.selecting); + p = p && !e && s.motionBlurEnabled && !v; + var x = p; + e || + (s.prevPxRatio !== l && + (s.invalidateContainerClientCoordsCache(), + s.matchCanvasSize(s.container), + s.redrawHint('eles', !0), + s.redrawHint('drag', !0)), + (s.prevPxRatio = l)), + !e && s.motionBlurTimeout && clearTimeout(s.motionBlurTimeout), + p && + (s.mbFrames == null && (s.mbFrames = 0), + s.mbFrames++, + s.mbFrames < 3 && (x = !1), + s.mbFrames > s.minMbLowQualFrames && (s.motionBlurPxRatio = s.mbPxRBlurry)), + s.clearingMotionBlur && (s.motionBlurPxRatio = 1), + s.textureDrawLastFrame && !d && ((f[s.NODE] = !0), (f[s.SELECT_BOX] = !0)); + var b = u.style(), + w = u.zoom(), + S = i !== void 0 ? i : w, + T = u.pan(), + E = { x: T.x, y: T.y }, + _ = { zoom: w, pan: { x: T.x, y: T.y } }, + A = s.prevViewport, + L = A === void 0 || _.zoom !== A.zoom || _.pan.x !== A.pan.x || _.pan.y !== A.pan.y; + !L && !(y && !g) && (s.motionBlurPxRatio = 1), a && (E = a), (S *= l), (E.x *= l), (E.y *= l); + var M = s.getCachedZSortedEles(); + function N(ue, te, De, oe, ke) { + var Ie = ue.globalCompositeOperation; + (ue.globalCompositeOperation = 'destination-out'), + s.colorFillStyle(ue, 255, 255, 255, s.motionBlurTransparency), + ue.fillRect(te, De, oe, ke), + (ue.globalCompositeOperation = Ie); + } + o(N, 'mbclear'); + function k(ue, te) { + var De, oe, ke, Ie; + !s.clearingMotionBlur && + (ue === h.bufferContexts[s.MOTIONBLUR_BUFFER_NODE] || + ue === h.bufferContexts[s.MOTIONBLUR_BUFFER_DRAG]) + ? ((De = { x: T.x * m, y: T.y * m }), + (oe = w * m), + (ke = s.canvasWidth * m), + (Ie = s.canvasHeight * m)) + : ((De = E), (oe = S), (ke = s.canvasWidth), (Ie = s.canvasHeight)), + ue.setTransform(1, 0, 0, 1, 0, 0), + te === 'motionBlur' + ? N(ue, 0, 0, ke, Ie) + : !e && (te === void 0 || te) && ue.clearRect(0, 0, ke, Ie), + r || (ue.translate(De.x, De.y), ue.scale(oe, oe)), + a && ue.translate(a.x, a.y), + i && ue.scale(i, i); + } + if ((o(k, 'setContextTransform'), d || (s.textureDrawLastFrame = !1), d)) { + if (((s.textureDrawLastFrame = !0), !s.textureCache)) { + (s.textureCache = {}), + (s.textureCache.bb = u.mutableElements().boundingBox()), + (s.textureCache.texture = s.data.bufferCanvases[s.TEXTURE_BUFFER]); + var I = s.data.bufferContexts[s.TEXTURE_BUFFER]; + I.setTransform(1, 0, 0, 1, 0, 0), + I.clearRect(0, 0, s.canvasWidth * s.textureMult, s.canvasHeight * s.textureMult), + s.render({ + forcedContext: I, + drawOnlyNodeLayer: !0, + forcedPxRatio: l * s.textureMult + }); + var _ = (s.textureCache.viewport = { + zoom: u.zoom(), + pan: u.pan(), + width: s.canvasWidth, + height: s.canvasHeight + }); + _.mpan = { x: (0 - _.pan.x) / _.zoom, y: (0 - _.pan.y) / _.zoom }; + } + (f[s.DRAG] = !1), (f[s.NODE] = !1); + var C = h.contexts[s.NODE], + O = s.textureCache.texture, + _ = s.textureCache.viewport; + C.setTransform(1, 0, 0, 1, 0, 0), + p ? N(C, 0, 0, _.width, _.height) : C.clearRect(0, 0, _.width, _.height); + var D = b.core('outside-texture-bg-color').value, + P = b.core('outside-texture-bg-opacity').value; + s.colorFillStyle(C, D[0], D[1], D[2], P), C.fillRect(0, 0, _.width, _.height); + var w = u.zoom(); + k(C, !1), + C.clearRect(_.mpan.x, _.mpan.y, _.width / _.zoom / l, _.height / _.zoom / l), + C.drawImage(O, _.mpan.x, _.mpan.y, _.width / _.zoom / l, _.height / _.zoom / l); + } else s.textureOnViewport && !e && (s.textureCache = null); + var F = u.extent(), + B = + s.pinching || + s.hoverData.dragging || + s.swipePanning || + s.data.wheelZooming || + s.hoverData.draggingEles || + s.cy.animated(), + $ = s.hideEdgesOnViewport && B, + z = []; + if ( + ((z[s.NODE] = (!f[s.NODE] && p && !s.clearedForMotionBlur[s.NODE]) || s.clearingMotionBlur), + z[s.NODE] && (s.clearedForMotionBlur[s.NODE] = !0), + (z[s.DRAG] = (!f[s.DRAG] && p && !s.clearedForMotionBlur[s.DRAG]) || s.clearingMotionBlur), + z[s.DRAG] && (s.clearedForMotionBlur[s.DRAG] = !0), + f[s.NODE] || r || n || z[s.NODE]) + ) { + var Y = p && !z[s.NODE] && m !== 1, + C = e || (Y ? s.data.bufferContexts[s.MOTIONBLUR_BUFFER_NODE] : h.contexts[s.NODE]), + Q = p && !Y ? 'motionBlur' : void 0; + k(C, Q), + $ ? s.drawCachedNodes(C, M.nondrag, l, F) : s.drawLayeredElements(C, M.nondrag, l, F), + s.debug && s.drawDebugPoints(C, M.nondrag), + !r && !p && (f[s.NODE] = !1); + } + if (!n && (f[s.DRAG] || r || z[s.DRAG])) { + var Y = p && !z[s.DRAG] && m !== 1, + C = e || (Y ? s.data.bufferContexts[s.MOTIONBLUR_BUFFER_DRAG] : h.contexts[s.DRAG]); + k(C, p && !Y ? 'motionBlur' : void 0), + $ ? s.drawCachedNodes(C, M.drag, l, F) : s.drawCachedElements(C, M.drag, l, F), + s.debug && s.drawDebugPoints(C, M.drag), + !r && !p && (f[s.DRAG] = !1); + } + if (s.showFps || (!n && f[s.SELECT_BOX] && !r)) { + var C = e || h.contexts[s.SELECT_BOX]; + if ((k(C), s.selection[4] == 1 && (s.hoverData.selecting || s.touchData.selecting))) { + var w = s.cy.zoom(), + X = b.core('selection-box-border-width').value / w; + (C.lineWidth = X), + (C.fillStyle = + 'rgba(' + + b.core('selection-box-color').value[0] + + ',' + + b.core('selection-box-color').value[1] + + ',' + + b.core('selection-box-color').value[2] + + ',' + + b.core('selection-box-opacity').value + + ')'), + C.fillRect( + s.selection[0], + s.selection[1], + s.selection[2] - s.selection[0], + s.selection[3] - s.selection[1] + ), + X > 0 && + ((C.strokeStyle = + 'rgba(' + + b.core('selection-box-border-color').value[0] + + ',' + + b.core('selection-box-border-color').value[1] + + ',' + + b.core('selection-box-border-color').value[2] + + ',' + + b.core('selection-box-opacity').value + + ')'), + C.strokeRect( + s.selection[0], + s.selection[1], + s.selection[2] - s.selection[0], + s.selection[3] - s.selection[1] + )); + } + if (h.bgActivePosistion && !s.hoverData.selecting) { + var w = s.cy.zoom(), + ie = h.bgActivePosistion; + (C.fillStyle = + 'rgba(' + + b.core('active-bg-color').value[0] + + ',' + + b.core('active-bg-color').value[1] + + ',' + + b.core('active-bg-color').value[2] + + ',' + + b.core('active-bg-opacity').value + + ')'), + C.beginPath(), + C.arc(ie.x, ie.y, b.core('active-bg-size').pfValue / w, 0, 2 * Math.PI), + C.fill(); + } + var j = s.lastRedrawTime; + if (s.showFps && j) { + j = Math.round(j); + var J = Math.round(1e3 / j); + C.setTransform(1, 0, 0, 1, 0, 0), + (C.fillStyle = 'rgba(255, 0, 0, 0.75)'), + (C.strokeStyle = 'rgba(255, 0, 0, 0.75)'), + (C.lineWidth = 1), + C.fillText('1 frame = ' + j + ' ms = ' + J + ' fps', 0, 20); + var Z = 60; + C.strokeRect(0, 30, 250, 20), C.fillRect(0, 30, 250 * Math.min(J / Z, 1), 20); + } + r || (f[s.SELECT_BOX] = !1); + } + if (p && m !== 1) { + var H = h.contexts[s.NODE], + q = s.data.bufferCanvases[s.MOTIONBLUR_BUFFER_NODE], + K = h.contexts[s.DRAG], + se = s.data.bufferCanvases[s.MOTIONBLUR_BUFFER_DRAG], + ce = o(function (te, De, oe) { + te.setTransform(1, 0, 0, 1, 0, 0), + oe || !x + ? te.clearRect(0, 0, s.canvasWidth, s.canvasHeight) + : N(te, 0, 0, s.canvasWidth, s.canvasHeight); + var ke = m; + te.drawImage( + De, + 0, + 0, + s.canvasWidth * ke, + s.canvasHeight * ke, + 0, + 0, + s.canvasWidth, + s.canvasHeight + ); + }, 'drawMotionBlur'); + (f[s.NODE] || z[s.NODE]) && (ce(H, q, z[s.NODE]), (f[s.NODE] = !1)), + (f[s.DRAG] || z[s.DRAG]) && (ce(K, se, z[s.DRAG]), (f[s.DRAG] = !1)); + } + (s.prevViewport = _), + s.clearingMotionBlur && + ((s.clearingMotionBlur = !1), (s.motionBlurCleared = !0), (s.motionBlur = !0)), + p && + (s.motionBlurTimeout = setTimeout(function () { + (s.motionBlurTimeout = null), + (s.clearedForMotionBlur[s.NODE] = !1), + (s.clearedForMotionBlur[s.DRAG] = !1), + (s.motionBlur = !1), + (s.clearingMotionBlur = !d), + (s.mbFrames = 0), + (f[s.NODE] = !0), + (f[s.DRAG] = !0), + s.redraw(); + }, QQe)), + e || u.emit('render'); + }; + Nf = {}; + Nf.drawPolygonPath = function (t, e, r, n, i, a) { + var s = n / 2, + l = i / 2; + t.beginPath && t.beginPath(), t.moveTo(e + s * a[0], r + l * a[1]); + for (var u = 1; u < a.length / 2; u++) t.lineTo(e + s * a[u * 2], r + l * a[u * 2 + 1]); + t.closePath(); + }; + Nf.drawRoundPolygonPath = function (t, e, r, n, i, a, s) { + s.forEach(function (l) { + return Bme(t, l); + }), + t.closePath(); + }; + Nf.drawRoundRectanglePath = function (t, e, r, n, i, a) { + var s = n / 2, + l = i / 2, + u = a === 'auto' ? Y0(n, i) : Math.min(a, l, s); + t.beginPath && t.beginPath(), + t.moveTo(e, r - l), + t.arcTo(e + s, r - l, e + s, r, u), + t.arcTo(e + s, r + l, e, r + l, u), + t.arcTo(e - s, r + l, e - s, r, u), + t.arcTo(e - s, r - l, e, r - l, u), + t.lineTo(e, r - l), + t.closePath(); + }; + Nf.drawBottomRoundRectanglePath = function (t, e, r, n, i, a) { + var s = n / 2, + l = i / 2, + u = a === 'auto' ? Y0(n, i) : a; + t.beginPath && t.beginPath(), + t.moveTo(e, r - l), + t.lineTo(e + s, r - l), + t.lineTo(e + s, r), + t.arcTo(e + s, r + l, e, r + l, u), + t.arcTo(e - s, r + l, e - s, r, u), + t.lineTo(e - s, r - l), + t.lineTo(e, r - l), + t.closePath(); + }; + Nf.drawCutRectanglePath = function (t, e, r, n, i, a, s) { + var l = n / 2, + u = i / 2, + h = s === 'auto' ? nB() : s; + t.beginPath && t.beginPath(), + t.moveTo(e - l + h, r - u), + t.lineTo(e + l - h, r - u), + t.lineTo(e + l, r - u + h), + t.lineTo(e + l, r + u - h), + t.lineTo(e + l - h, r + u), + t.lineTo(e - l + h, r + u), + t.lineTo(e - l, r + u - h), + t.lineTo(e - l, r - u + h), + t.closePath(); + }; + Nf.drawBarrelPath = function (t, e, r, n, i) { + var a = n / 2, + s = i / 2, + l = e - a, + u = e + a, + h = r - s, + f = r + s, + d = MP(n, i), + p = d.widthOffset, + m = d.heightOffset, + g = d.ctrlPtOffsetPct * p; + t.beginPath && t.beginPath(), + t.moveTo(l, h + m), + t.lineTo(l, f - m), + t.quadraticCurveTo(l + g, f, l + p, f), + t.lineTo(u - p, f), + t.quadraticCurveTo(u - g, f, u, f - m), + t.lineTo(u, h + m), + t.quadraticCurveTo(u - g, h, u - p, h), + t.lineTo(l + p, h), + t.quadraticCurveTo(l + g, h, l, h + m), + t.closePath(); + }; + (ype = Math.sin(0)), (vpe = Math.cos(0)), (YP = {}), (WP = {}), (Kme = Math.PI / 40); + for (P0 = 0 * Math.PI; P0 < 2 * Math.PI; P0 += Kme) (YP[P0] = Math.sin(P0)), (WP[P0] = Math.cos(P0)); + Nf.drawEllipsePath = function (t, e, r, n, i) { + if ((t.beginPath && t.beginPath(), t.ellipse)) t.ellipse(e, r, n / 2, i / 2, 0, 0, 2 * Math.PI); + else + for (var a, s, l = n / 2, u = i / 2, h = 0 * Math.PI; h < 2 * Math.PI; h += Kme) + (a = e - l * YP[h] * ype + l * WP[h] * vpe), + (s = r + u * WP[h] * ype + u * YP[h] * vpe), + h === 0 ? t.moveTo(a, s) : t.lineTo(a, s); + t.closePath(); + }; + ab = {}; + ab.createBuffer = function (t, e) { + var r = document.createElement('canvas'); + return (r.width = t), (r.height = e), [r, r.getContext('2d')]; + }; + ab.bufferCanvasImage = function (t) { + var e = this.cy, + r = e.mutableElements(), + n = r.boundingBox(), + i = this.findContainerClientCoords(), + a = t.full ? Math.ceil(n.w) : i[2], + s = t.full ? Math.ceil(n.h) : i[3], + l = ft(t.maxWidth) || ft(t.maxHeight), + u = this.getPixelRatio(), + h = 1; + if (t.scale !== void 0) (a *= t.scale), (s *= t.scale), (h = t.scale); + else if (l) { + var f = 1 / 0, + d = 1 / 0; + ft(t.maxWidth) && (f = (h * t.maxWidth) / a), + ft(t.maxHeight) && (d = (h * t.maxHeight) / s), + (h = Math.min(f, d)), + (a *= h), + (s *= h); + } + l || ((a *= u), (s *= u), (h *= u)); + var p = document.createElement('canvas'); + (p.width = a), (p.height = s), (p.style.width = a + 'px'), (p.style.height = s + 'px'); + var m = p.getContext('2d'); + if (a > 0 && s > 0) { + m.clearRect(0, 0, a, s), (m.globalCompositeOperation = 'source-over'); + var g = this.getCachedZSortedEles(); + if (t.full) + m.translate(-n.x1 * h, -n.y1 * h), + m.scale(h, h), + this.drawElements(m, g), + m.scale(1 / h, 1 / h), + m.translate(n.x1 * h, n.y1 * h); + else { + var y = e.pan(), + v = { x: y.x * h, y: y.y * h }; + (h *= e.zoom()), + m.translate(v.x, v.y), + m.scale(h, h), + this.drawElements(m, g), + m.scale(1 / h, 1 / h), + m.translate(-v.x, -v.y); + } + t.bg && + ((m.globalCompositeOperation = 'destination-over'), + (m.fillStyle = t.bg), + m.rect(0, 0, a, s), + m.fill()); + } + return p; + }; + o(ZQe, 'b64ToBlob'); + o(xpe, 'b64UriToB64'); + o(Qme, 'output'); + ab.png = function (t) { + return Qme(t, this.bufferCanvasImage(t), 'image/png'); + }; + ab.jpg = function (t) { + return Qme(t, this.bufferCanvasImage(t), 'image/jpeg'); + }; + Zme = {}; + Zme.nodeShapeImpl = function (t, e, r, n, i, a, s, l) { + switch (t) { + case 'ellipse': + return this.drawEllipsePath(e, r, n, i, a); + case 'polygon': + return this.drawPolygonPath(e, r, n, i, a, s); + case 'round-polygon': + return this.drawRoundPolygonPath(e, r, n, i, a, s, l); + case 'roundrectangle': + case 'round-rectangle': + return this.drawRoundRectanglePath(e, r, n, i, a, l); + case 'cutrectangle': + case 'cut-rectangle': + return this.drawCutRectanglePath(e, r, n, i, a, s, l); + case 'bottomroundrectangle': + case 'bottom-round-rectangle': + return this.drawBottomRoundRectanglePath(e, r, n, i, a, l); + case 'barrel': + return this.drawBarrelPath(e, r, n, i, a); + } + }; + (JQe = Jme), (Yr = Jme.prototype); + Yr.CANVAS_LAYERS = 3; + Yr.SELECT_BOX = 0; + Yr.DRAG = 1; + Yr.NODE = 2; + Yr.BUFFER_COUNT = 3; + Yr.TEXTURE_BUFFER = 0; + Yr.MOTIONBLUR_BUFFER_NODE = 1; + Yr.MOTIONBLUR_BUFFER_DRAG = 2; + o(Jme, 'CanvasRenderer'); + Yr.redrawHint = function (t, e) { + var r = this; + switch (t) { + case 'eles': + r.data.canvasNeedsRedraw[Yr.NODE] = e; + break; + case 'drag': + r.data.canvasNeedsRedraw[Yr.DRAG] = e; + break; + case 'select': + r.data.canvasNeedsRedraw[Yr.SELECT_BOX] = e; + break; + } + }; + eZe = typeof Path2D < 'u'; + Yr.path2dEnabled = function (t) { + if (t === void 0) return this.pathsEnabled; + this.pathsEnabled = !!t; + }; + Yr.usePaths = function () { + return eZe && this.pathsEnabled; + }; + Yr.setImgSmoothing = function (t, e) { + t.imageSmoothingEnabled != null + ? (t.imageSmoothingEnabled = e) + : ((t.webkitImageSmoothingEnabled = e), + (t.mozImageSmoothingEnabled = e), + (t.msImageSmoothingEnabled = e)); + }; + Yr.getImgSmoothing = function (t) { + return t.imageSmoothingEnabled != null + ? t.imageSmoothingEnabled + : t.webkitImageSmoothingEnabled || t.mozImageSmoothingEnabled || t.msImageSmoothingEnabled; + }; + Yr.makeOffscreenCanvas = function (t, e) { + var r; + if ((typeof OffscreenCanvas > 'u' ? 'undefined' : Hi(OffscreenCanvas)) !== 'undefined') + r = new OffscreenCanvas(t, e); + else { + var n = this.cy.window(), + i = n.document; + (r = i.createElement('canvas')), (r.width = t), (r.height = e); + } + return r; + }; + [qme, Yc, eh, yB, K0, v1, bo, Nf, ab, Zme].forEach(function (t) { + Wt(Yr, t); + }); + (tZe = [ + { name: 'null', impl: Ime }, + { name: 'base', impl: Hme }, + { name: 'canvas', impl: JQe } + ]), + (rZe = [ + { type: 'layout', extensions: lQe }, + { type: 'renderer', extensions: tZe } + ]), + (ege = {}), + (tge = {}); + o(rge, 'setExtension'); + o(nge, 'getExtension'); + o(nZe, 'setModule'); + o(iZe, 'getModule'); + qP = o(function () { + if (arguments.length === 2) return nge.apply(null, arguments); + if (arguments.length === 3) return rge.apply(null, arguments); + if (arguments.length === 4) return iZe.apply(null, arguments); + if (arguments.length === 5) return nZe.apply(null, arguments); + oi('Invalid extension access syntax'); + }, 'extension'); + Kx.prototype.extension = qP; + rZe.forEach(function (t) { + t.extensions.forEach(function (e) { + rge(t.type, e.name, e.impl); + }); + }); + (ige = o(function t() { + if (!(this instanceof t)) return new t(); + this.length = 0; + }, 'Stylesheet')), + (X0 = ige.prototype); + X0.instanceString = function () { + return 'stylesheet'; + }; + X0.selector = function (t) { + var e = this.length++; + return (this[e] = { selector: t, properties: [] }), this; + }; + X0.css = function (t, e) { + var r = this.length - 1; + if (zt(t)) this[r].properties.push({ name: t, value: e }); + else if (Mr(t)) + for (var n = t, i = Object.keys(n), a = 0; a < i.length; a++) { + var s = i[a], + l = n[s]; + if (l != null) { + var u = Ba.properties[s] || Ba.properties[I6(s)]; + if (u != null) { + var h = u.name, + f = l; + this[r].properties.push({ name: h, value: f }); + } + } + } + return this; + }; + X0.style = X0.css; + X0.generateStyle = function (t) { + var e = new Ba(t); + return this.appendToStyle(e); + }; + X0.appendToStyle = function (t) { + for (var e = 0; e < this.length; e++) { + var r = this[e], + n = r.selector, + i = r.properties; + t.selector(n); + for (var a = 0; a < i.length; a++) { + var s = i[a]; + t.css(s.name, s.value); + } + } + return t; + }; + (aZe = '3.30.1'), + (rl = o(function (e) { + if ((e === void 0 && (e = {}), Mr(e))) return new Kx(e); + if (zt(e)) return qP.apply(qP, arguments); + }, 'cytoscape')); + rl.use = function (t) { + var e = Array.prototype.slice.call(arguments, 1); + return e.unshift(rl), t.apply(null, e), this; + }; + rl.warnings = function (t) { + return Bpe(t); + }; + rl.version = aZe; + rl.stylesheet = rl.Stylesheet = ige; + }); + var bB = gi((sb, xB) => { + 'use strict'; + o(function (e, r) { + typeof sb == 'object' && typeof xB == 'object' + ? (xB.exports = r()) + : typeof define == 'function' && define.amd + ? define([], r) + : typeof sb == 'object' + ? (sb.layoutBase = r()) + : (e.layoutBase = r()); + }, 'webpackUniversalModuleDefinition')(sb, function () { + return (function (t) { + var e = {}; + function r(n) { + if (e[n]) return e[n].exports; + var i = (e[n] = { i: n, l: !1, exports: {} }); + return t[n].call(i.exports, i, i.exports, r), (i.l = !0), i.exports; + } + return ( + o(r, '__webpack_require__'), + (r.m = t), + (r.c = e), + (r.i = function (n) { + return n; + }), + (r.d = function (n, i, a) { + r.o(n, i) || + Object.defineProperty(n, i, { + configurable: !1, + enumerable: !0, + get: a + }); + }), + (r.n = function (n) { + var i = + n && n.__esModule + ? o(function () { + return n.default; + }, 'getDefault') + : o(function () { + return n; + }, 'getModuleExports'); + return r.d(i, 'a', i), i; + }), + (r.o = function (n, i) { + return Object.prototype.hasOwnProperty.call(n, i); + }), + (r.p = ''), + r((r.s = 26)) + ); + })([ + function (t, e, r) { + 'use strict'; + function n() {} + o(n, 'LayoutConstants'), + (n.QUALITY = 1), + (n.DEFAULT_CREATE_BENDS_AS_NEEDED = !1), + (n.DEFAULT_INCREMENTAL = !1), + (n.DEFAULT_ANIMATION_ON_LAYOUT = !0), + (n.DEFAULT_ANIMATION_DURING_LAYOUT = !1), + (n.DEFAULT_ANIMATION_PERIOD = 50), + (n.DEFAULT_UNIFORM_LEAF_NODE_SIZES = !1), + (n.DEFAULT_GRAPH_MARGIN = 15), + (n.NODE_DIMENSIONS_INCLUDE_LABELS = !1), + (n.SIMPLE_NODE_SIZE = 40), + (n.SIMPLE_NODE_HALF_SIZE = n.SIMPLE_NODE_SIZE / 2), + (n.EMPTY_COMPOUND_NODE_SIZE = 40), + (n.MIN_EDGE_LENGTH = 1), + (n.WORLD_BOUNDARY = 1e6), + (n.INITIAL_WORLD_BOUNDARY = n.WORLD_BOUNDARY / 1e3), + (n.WORLD_CENTER_X = 1200), + (n.WORLD_CENTER_Y = 900), + (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + var n = r(2), + i = r(8), + a = r(9); + function s(u, h, f) { + n.call(this, f), + (this.isOverlapingSourceAndTarget = !1), + (this.vGraphObject = f), + (this.bendpoints = []), + (this.source = u), + (this.target = h); + } + o(s, 'LEdge'), (s.prototype = Object.create(n.prototype)); + for (var l in n) s[l] = n[l]; + (s.prototype.getSource = function () { + return this.source; + }), + (s.prototype.getTarget = function () { + return this.target; + }), + (s.prototype.isInterGraph = function () { + return this.isInterGraph; + }), + (s.prototype.getLength = function () { + return this.length; + }), + (s.prototype.isOverlapingSourceAndTarget = function () { + return this.isOverlapingSourceAndTarget; + }), + (s.prototype.getBendpoints = function () { + return this.bendpoints; + }), + (s.prototype.getLca = function () { + return this.lca; + }), + (s.prototype.getSourceInLca = function () { + return this.sourceInLca; + }), + (s.prototype.getTargetInLca = function () { + return this.targetInLca; + }), + (s.prototype.getOtherEnd = function (u) { + if (this.source === u) return this.target; + if (this.target === u) return this.source; + throw 'Node is not incident with this edge'; + }), + (s.prototype.getOtherEndInGraph = function (u, h) { + for (var f = this.getOtherEnd(u), d = h.getGraphManager().getRoot(); ; ) { + if (f.getOwner() == h) return f; + if (f.getOwner() == d) break; + f = f.getOwner().getParent(); + } + return null; + }), + (s.prototype.updateLength = function () { + var u = new Array(4); + (this.isOverlapingSourceAndTarget = i.getIntersection( + this.target.getRect(), + this.source.getRect(), + u + )), + this.isOverlapingSourceAndTarget || + ((this.lengthX = u[0] - u[2]), + (this.lengthY = u[1] - u[3]), + Math.abs(this.lengthX) < 1 && (this.lengthX = a.sign(this.lengthX)), + Math.abs(this.lengthY) < 1 && (this.lengthY = a.sign(this.lengthY)), + (this.length = Math.sqrt( + this.lengthX * this.lengthX + this.lengthY * this.lengthY + ))); + }), + (s.prototype.updateLengthSimple = function () { + (this.lengthX = this.target.getCenterX() - this.source.getCenterX()), + (this.lengthY = this.target.getCenterY() - this.source.getCenterY()), + Math.abs(this.lengthX) < 1 && (this.lengthX = a.sign(this.lengthX)), + Math.abs(this.lengthY) < 1 && (this.lengthY = a.sign(this.lengthY)), + (this.length = Math.sqrt(this.lengthX * this.lengthX + this.lengthY * this.lengthY)); + }), + (t.exports = s); + }, + function (t, e, r) { + 'use strict'; + function n(i) { + this.vGraphObject = i; + } + o(n, 'LGraphObject'), (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + var n = r(2), + i = r(10), + a = r(13), + s = r(0), + l = r(16), + u = r(4); + function h(d, p, m, g) { + m == null && g == null && (g = p), + n.call(this, g), + d.graphManager != null && (d = d.graphManager), + (this.estimatedSize = i.MIN_VALUE), + (this.inclusionTreeDepth = i.MAX_VALUE), + (this.vGraphObject = g), + (this.edges = []), + (this.graphManager = d), + m != null && p != null + ? (this.rect = new a(p.x, p.y, m.width, m.height)) + : (this.rect = new a()); + } + o(h, 'LNode'), (h.prototype = Object.create(n.prototype)); + for (var f in n) h[f] = n[f]; + (h.prototype.getEdges = function () { + return this.edges; + }), + (h.prototype.getChild = function () { + return this.child; + }), + (h.prototype.getOwner = function () { + return this.owner; + }), + (h.prototype.getWidth = function () { + return this.rect.width; + }), + (h.prototype.setWidth = function (d) { + this.rect.width = d; + }), + (h.prototype.getHeight = function () { + return this.rect.height; + }), + (h.prototype.setHeight = function (d) { + this.rect.height = d; + }), + (h.prototype.getCenterX = function () { + return this.rect.x + this.rect.width / 2; + }), + (h.prototype.getCenterY = function () { + return this.rect.y + this.rect.height / 2; + }), + (h.prototype.getCenter = function () { + return new u(this.rect.x + this.rect.width / 2, this.rect.y + this.rect.height / 2); + }), + (h.prototype.getLocation = function () { + return new u(this.rect.x, this.rect.y); + }), + (h.prototype.getRect = function () { + return this.rect; + }), + (h.prototype.getDiagonal = function () { + return Math.sqrt(this.rect.width * this.rect.width + this.rect.height * this.rect.height); + }), + (h.prototype.getHalfTheDiagonal = function () { + return ( + Math.sqrt(this.rect.height * this.rect.height + this.rect.width * this.rect.width) / 2 + ); + }), + (h.prototype.setRect = function (d, p) { + (this.rect.x = d.x), + (this.rect.y = d.y), + (this.rect.width = p.width), + (this.rect.height = p.height); + }), + (h.prototype.setCenter = function (d, p) { + (this.rect.x = d - this.rect.width / 2), (this.rect.y = p - this.rect.height / 2); + }), + (h.prototype.setLocation = function (d, p) { + (this.rect.x = d), (this.rect.y = p); + }), + (h.prototype.moveBy = function (d, p) { + (this.rect.x += d), (this.rect.y += p); + }), + (h.prototype.getEdgeListToNode = function (d) { + var p = [], + m, + g = this; + return ( + g.edges.forEach(function (y) { + if (y.target == d) { + if (y.source != g) throw 'Incorrect edge source!'; + p.push(y); + } + }), + p + ); + }), + (h.prototype.getEdgesBetween = function (d) { + var p = [], + m, + g = this; + return ( + g.edges.forEach(function (y) { + if (!(y.source == g || y.target == g)) throw 'Incorrect edge source and/or target'; + (y.target == d || y.source == d) && p.push(y); + }), + p + ); + }), + (h.prototype.getNeighborsList = function () { + var d = new Set(), + p = this; + return ( + p.edges.forEach(function (m) { + if (m.source == p) d.add(m.target); + else { + if (m.target != p) throw 'Incorrect incidency!'; + d.add(m.source); + } + }), + d + ); + }), + (h.prototype.withChildren = function () { + var d = new Set(), + p, + m; + if ((d.add(this), this.child != null)) + for (var g = this.child.getNodes(), y = 0; y < g.length; y++) + (p = g[y]), + (m = p.withChildren()), + m.forEach(function (v) { + d.add(v); + }); + return d; + }), + (h.prototype.getNoOfChildren = function () { + var d = 0, + p; + if (this.child == null) d = 1; + else + for (var m = this.child.getNodes(), g = 0; g < m.length; g++) + (p = m[g]), (d += p.getNoOfChildren()); + return d == 0 && (d = 1), d; + }), + (h.prototype.getEstimatedSize = function () { + if (this.estimatedSize == i.MIN_VALUE) throw 'assert failed'; + return this.estimatedSize; + }), + (h.prototype.calcEstimatedSize = function () { + return this.child == null + ? (this.estimatedSize = (this.rect.width + this.rect.height) / 2) + : ((this.estimatedSize = this.child.calcEstimatedSize()), + (this.rect.width = this.estimatedSize), + (this.rect.height = this.estimatedSize), + this.estimatedSize); + }), + (h.prototype.scatter = function () { + var d, + p, + m = -s.INITIAL_WORLD_BOUNDARY, + g = s.INITIAL_WORLD_BOUNDARY; + d = s.WORLD_CENTER_X + l.nextDouble() * (g - m) + m; + var y = -s.INITIAL_WORLD_BOUNDARY, + v = s.INITIAL_WORLD_BOUNDARY; + (p = s.WORLD_CENTER_Y + l.nextDouble() * (v - y) + y), (this.rect.x = d), (this.rect.y = p); + }), + (h.prototype.updateBounds = function () { + if (this.getChild() == null) throw 'assert failed'; + if (this.getChild().getNodes().length != 0) { + var d = this.getChild(); + if ( + (d.updateBounds(!0), + (this.rect.x = d.getLeft()), + (this.rect.y = d.getTop()), + this.setWidth(d.getRight() - d.getLeft()), + this.setHeight(d.getBottom() - d.getTop()), + s.NODE_DIMENSIONS_INCLUDE_LABELS) + ) { + var p = d.getRight() - d.getLeft(), + m = d.getBottom() - d.getTop(); + this.labelWidth > p && + ((this.rect.x -= (this.labelWidth - p) / 2), this.setWidth(this.labelWidth)), + this.labelHeight > m && + (this.labelPos == 'center' + ? (this.rect.y -= (this.labelHeight - m) / 2) + : this.labelPos == 'top' && (this.rect.y -= this.labelHeight - m), + this.setHeight(this.labelHeight)); + } + } + }), + (h.prototype.getInclusionTreeDepth = function () { + if (this.inclusionTreeDepth == i.MAX_VALUE) throw 'assert failed'; + return this.inclusionTreeDepth; + }), + (h.prototype.transform = function (d) { + var p = this.rect.x; + p > s.WORLD_BOUNDARY + ? (p = s.WORLD_BOUNDARY) + : p < -s.WORLD_BOUNDARY && (p = -s.WORLD_BOUNDARY); + var m = this.rect.y; + m > s.WORLD_BOUNDARY + ? (m = s.WORLD_BOUNDARY) + : m < -s.WORLD_BOUNDARY && (m = -s.WORLD_BOUNDARY); + var g = new u(p, m), + y = d.inverseTransformPoint(g); + this.setLocation(y.x, y.y); + }), + (h.prototype.getLeft = function () { + return this.rect.x; + }), + (h.prototype.getRight = function () { + return this.rect.x + this.rect.width; + }), + (h.prototype.getTop = function () { + return this.rect.y; + }), + (h.prototype.getBottom = function () { + return this.rect.y + this.rect.height; + }), + (h.prototype.getParent = function () { + return this.owner == null ? null : this.owner.getParent(); + }), + (t.exports = h); + }, + function (t, e, r) { + 'use strict'; + function n(i, a) { + i == null && a == null ? ((this.x = 0), (this.y = 0)) : ((this.x = i), (this.y = a)); + } + o(n, 'PointD'), + (n.prototype.getX = function () { + return this.x; + }), + (n.prototype.getY = function () { + return this.y; + }), + (n.prototype.setX = function (i) { + this.x = i; + }), + (n.prototype.setY = function (i) { + this.y = i; + }), + (n.prototype.getDifference = function (i) { + return new DimensionD(this.x - i.x, this.y - i.y); + }), + (n.prototype.getCopy = function () { + return new n(this.x, this.y); + }), + (n.prototype.translate = function (i) { + return (this.x += i.width), (this.y += i.height), this; + }), + (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + var n = r(2), + i = r(10), + a = r(0), + s = r(6), + l = r(3), + u = r(1), + h = r(13), + f = r(12), + d = r(11); + function p(g, y, v) { + n.call(this, v), + (this.estimatedSize = i.MIN_VALUE), + (this.margin = a.DEFAULT_GRAPH_MARGIN), + (this.edges = []), + (this.nodes = []), + (this.isConnected = !1), + (this.parent = g), + y != null && y instanceof s + ? (this.graphManager = y) + : y != null && y instanceof Layout && (this.graphManager = y.graphManager); + } + o(p, 'LGraph'), (p.prototype = Object.create(n.prototype)); + for (var m in n) p[m] = n[m]; + (p.prototype.getNodes = function () { + return this.nodes; + }), + (p.prototype.getEdges = function () { + return this.edges; + }), + (p.prototype.getGraphManager = function () { + return this.graphManager; + }), + (p.prototype.getParent = function () { + return this.parent; + }), + (p.prototype.getLeft = function () { + return this.left; + }), + (p.prototype.getRight = function () { + return this.right; + }), + (p.prototype.getTop = function () { + return this.top; + }), + (p.prototype.getBottom = function () { + return this.bottom; + }), + (p.prototype.isConnected = function () { + return this.isConnected; + }), + (p.prototype.add = function (g, y, v) { + if (y == null && v == null) { + var x = g; + if (this.graphManager == null) throw 'Graph has no graph mgr!'; + if (this.getNodes().indexOf(x) > -1) throw 'Node already in graph!'; + return (x.owner = this), this.getNodes().push(x), x; + } else { + var b = g; + if (!(this.getNodes().indexOf(y) > -1 && this.getNodes().indexOf(v) > -1)) + throw 'Source or target not in graph!'; + if (!(y.owner == v.owner && y.owner == this)) throw 'Both owners must be this graph!'; + return y.owner != v.owner + ? null + : ((b.source = y), + (b.target = v), + (b.isInterGraph = !1), + this.getEdges().push(b), + y.edges.push(b), + v != y && v.edges.push(b), + b); + } + }), + (p.prototype.remove = function (g) { + var y = g; + if (g instanceof l) { + if (y == null) throw 'Node is null!'; + if (!(y.owner != null && y.owner == this)) throw 'Owner graph is invalid!'; + if (this.graphManager == null) throw 'Owner graph manager is invalid!'; + for (var v = y.edges.slice(), x, b = v.length, w = 0; w < b; w++) + (x = v[w]), x.isInterGraph ? this.graphManager.remove(x) : x.source.owner.remove(x); + var S = this.nodes.indexOf(y); + if (S == -1) throw 'Node not in owner node list!'; + this.nodes.splice(S, 1); + } else if (g instanceof u) { + var x = g; + if (x == null) throw 'Edge is null!'; + if (!(x.source != null && x.target != null)) throw 'Source and/or target is null!'; + if ( + !( + x.source.owner != null && + x.target.owner != null && + x.source.owner == this && + x.target.owner == this + ) + ) + throw 'Source and/or target owner is invalid!'; + var T = x.source.edges.indexOf(x), + E = x.target.edges.indexOf(x); + if (!(T > -1 && E > -1)) throw "Source and/or target doesn't know this edge!"; + x.source.edges.splice(T, 1), x.target != x.source && x.target.edges.splice(E, 1); + var S = x.source.owner.getEdges().indexOf(x); + if (S == -1) throw "Not in owner's edge list!"; + x.source.owner.getEdges().splice(S, 1); + } + }), + (p.prototype.updateLeftTop = function () { + for ( + var g = i.MAX_VALUE, y = i.MAX_VALUE, v, x, b, w = this.getNodes(), S = w.length, T = 0; + T < S; + T++ + ) { + var E = w[T]; + (v = E.getTop()), (x = E.getLeft()), g > v && (g = v), y > x && (y = x); + } + return g == i.MAX_VALUE + ? null + : (w[0].getParent().paddingLeft != null + ? (b = w[0].getParent().paddingLeft) + : (b = this.margin), + (this.left = y - b), + (this.top = g - b), + new f(this.left, this.top)); + }), + (p.prototype.updateBounds = function (g) { + for ( + var y = i.MAX_VALUE, + v = -i.MAX_VALUE, + x = i.MAX_VALUE, + b = -i.MAX_VALUE, + w, + S, + T, + E, + _, + A = this.nodes, + L = A.length, + M = 0; + M < L; + M++ + ) { + var N = A[M]; + g && N.child != null && N.updateBounds(), + (w = N.getLeft()), + (S = N.getRight()), + (T = N.getTop()), + (E = N.getBottom()), + y > w && (y = w), + v < S && (v = S), + x > T && (x = T), + b < E && (b = E); + } + var k = new h(y, x, v - y, b - x); + y == i.MAX_VALUE && + ((this.left = this.parent.getLeft()), + (this.right = this.parent.getRight()), + (this.top = this.parent.getTop()), + (this.bottom = this.parent.getBottom())), + A[0].getParent().paddingLeft != null + ? (_ = A[0].getParent().paddingLeft) + : (_ = this.margin), + (this.left = k.x - _), + (this.right = k.x + k.width + _), + (this.top = k.y - _), + (this.bottom = k.y + k.height + _); + }), + (p.calculateBounds = function (g) { + for ( + var y = i.MAX_VALUE, + v = -i.MAX_VALUE, + x = i.MAX_VALUE, + b = -i.MAX_VALUE, + w, + S, + T, + E, + _ = g.length, + A = 0; + A < _; + A++ + ) { + var L = g[A]; + (w = L.getLeft()), + (S = L.getRight()), + (T = L.getTop()), + (E = L.getBottom()), + y > w && (y = w), + v < S && (v = S), + x > T && (x = T), + b < E && (b = E); + } + var M = new h(y, x, v - y, b - x); + return M; + }), + (p.prototype.getInclusionTreeDepth = function () { + return this == this.graphManager.getRoot() ? 1 : this.parent.getInclusionTreeDepth(); + }), + (p.prototype.getEstimatedSize = function () { + if (this.estimatedSize == i.MIN_VALUE) throw 'assert failed'; + return this.estimatedSize; + }), + (p.prototype.calcEstimatedSize = function () { + for (var g = 0, y = this.nodes, v = y.length, x = 0; x < v; x++) { + var b = y[x]; + g += b.calcEstimatedSize(); + } + return ( + g == 0 + ? (this.estimatedSize = a.EMPTY_COMPOUND_NODE_SIZE) + : (this.estimatedSize = g / Math.sqrt(this.nodes.length)), + this.estimatedSize + ); + }), + (p.prototype.updateConnected = function () { + var g = this; + if (this.nodes.length == 0) { + this.isConnected = !0; + return; + } + var y = new d(), + v = new Set(), + x = this.nodes[0], + b, + w, + S = x.withChildren(); + for ( + S.forEach(function (M) { + y.push(M), v.add(M); + }); + y.length !== 0; + + ) { + (x = y.shift()), (b = x.getEdges()); + for (var T = b.length, E = 0; E < T; E++) { + var _ = b[E]; + if (((w = _.getOtherEndInGraph(x, this)), w != null && !v.has(w))) { + var A = w.withChildren(); + A.forEach(function (M) { + y.push(M), v.add(M); + }); + } + } + } + if (((this.isConnected = !1), v.size >= this.nodes.length)) { + var L = 0; + v.forEach(function (M) { + M.owner == g && L++; + }), + L == this.nodes.length && (this.isConnected = !0); + } + }), + (t.exports = p); + }, + function (t, e, r) { + 'use strict'; + var n, + i = r(1); + function a(s) { + (n = r(5)), (this.layout = s), (this.graphs = []), (this.edges = []); + } + o(a, 'LGraphManager'), + (a.prototype.addRoot = function () { + var s = this.layout.newGraph(), + l = this.layout.newNode(null), + u = this.add(s, l); + return this.setRootGraph(u), this.rootGraph; + }), + (a.prototype.add = function (s, l, u, h, f) { + if (u == null && h == null && f == null) { + if (s == null) throw 'Graph is null!'; + if (l == null) throw 'Parent node is null!'; + if (this.graphs.indexOf(s) > -1) throw 'Graph already in this graph mgr!'; + if ((this.graphs.push(s), s.parent != null)) throw 'Already has a parent!'; + if (l.child != null) throw 'Already has a child!'; + return (s.parent = l), (l.child = s), s; + } else { + (f = u), (h = l), (u = s); + var d = h.getOwner(), + p = f.getOwner(); + if (!(d != null && d.getGraphManager() == this)) throw 'Source not in this graph mgr!'; + if (!(p != null && p.getGraphManager() == this)) throw 'Target not in this graph mgr!'; + if (d == p) return (u.isInterGraph = !1), d.add(u, h, f); + if (((u.isInterGraph = !0), (u.source = h), (u.target = f), this.edges.indexOf(u) > -1)) + throw 'Edge already in inter-graph edge list!'; + if ((this.edges.push(u), !(u.source != null && u.target != null))) + throw 'Edge source and/or target is null!'; + if (!(u.source.edges.indexOf(u) == -1 && u.target.edges.indexOf(u) == -1)) + throw 'Edge already in source and/or target incidency list!'; + return u.source.edges.push(u), u.target.edges.push(u), u; + } + }), + (a.prototype.remove = function (s) { + if (s instanceof n) { + var l = s; + if (l.getGraphManager() != this) throw 'Graph not in this graph mgr'; + if (!(l == this.rootGraph || (l.parent != null && l.parent.graphManager == this))) + throw 'Invalid parent node!'; + var u = []; + u = u.concat(l.getEdges()); + for (var h, f = u.length, d = 0; d < f; d++) (h = u[d]), l.remove(h); + var p = []; + p = p.concat(l.getNodes()); + var m; + f = p.length; + for (var d = 0; d < f; d++) (m = p[d]), l.remove(m); + l == this.rootGraph && this.setRootGraph(null); + var g = this.graphs.indexOf(l); + this.graphs.splice(g, 1), (l.parent = null); + } else if (s instanceof i) { + if (((h = s), h == null)) throw 'Edge is null!'; + if (!h.isInterGraph) throw 'Not an inter-graph edge!'; + if (!(h.source != null && h.target != null)) throw 'Source and/or target is null!'; + if (!(h.source.edges.indexOf(h) != -1 && h.target.edges.indexOf(h) != -1)) + throw "Source and/or target doesn't know this edge!"; + var g = h.source.edges.indexOf(h); + if ( + (h.source.edges.splice(g, 1), + (g = h.target.edges.indexOf(h)), + h.target.edges.splice(g, 1), + !(h.source.owner != null && h.source.owner.getGraphManager() != null)) + ) + throw 'Edge owner graph or owner graph manager is null!'; + if (h.source.owner.getGraphManager().edges.indexOf(h) == -1) + throw "Not in owner graph manager's edge list!"; + var g = h.source.owner.getGraphManager().edges.indexOf(h); + h.source.owner.getGraphManager().edges.splice(g, 1); + } + }), + (a.prototype.updateBounds = function () { + this.rootGraph.updateBounds(!0); + }), + (a.prototype.getGraphs = function () { + return this.graphs; + }), + (a.prototype.getAllNodes = function () { + if (this.allNodes == null) { + for (var s = [], l = this.getGraphs(), u = l.length, h = 0; h < u; h++) + s = s.concat(l[h].getNodes()); + this.allNodes = s; + } + return this.allNodes; + }), + (a.prototype.resetAllNodes = function () { + this.allNodes = null; + }), + (a.prototype.resetAllEdges = function () { + this.allEdges = null; + }), + (a.prototype.resetAllNodesToApplyGravitation = function () { + this.allNodesToApplyGravitation = null; + }), + (a.prototype.getAllEdges = function () { + if (this.allEdges == null) { + for (var s = [], l = this.getGraphs(), u = l.length, h = 0; h < l.length; h++) + s = s.concat(l[h].getEdges()); + (s = s.concat(this.edges)), (this.allEdges = s); + } + return this.allEdges; + }), + (a.prototype.getAllNodesToApplyGravitation = function () { + return this.allNodesToApplyGravitation; + }), + (a.prototype.setAllNodesToApplyGravitation = function (s) { + if (this.allNodesToApplyGravitation != null) throw 'assert failed'; + this.allNodesToApplyGravitation = s; + }), + (a.prototype.getRoot = function () { + return this.rootGraph; + }), + (a.prototype.setRootGraph = function (s) { + if (s.getGraphManager() != this) throw 'Root not in this graph mgr!'; + (this.rootGraph = s), s.parent == null && (s.parent = this.layout.newNode('Root node')); + }), + (a.prototype.getLayout = function () { + return this.layout; + }), + (a.prototype.isOneAncestorOfOther = function (s, l) { + if (!(s != null && l != null)) throw 'assert failed'; + if (s == l) return !0; + var u = s.getOwner(), + h; + do { + if (((h = u.getParent()), h == null)) break; + if (h == l) return !0; + if (((u = h.getOwner()), u == null)) break; + } while (!0); + u = l.getOwner(); + do { + if (((h = u.getParent()), h == null)) break; + if (h == s) return !0; + if (((u = h.getOwner()), u == null)) break; + } while (!0); + return !1; + }), + (a.prototype.calcLowestCommonAncestors = function () { + for (var s, l, u, h, f, d = this.getAllEdges(), p = d.length, m = 0; m < p; m++) { + if ( + ((s = d[m]), + (l = s.source), + (u = s.target), + (s.lca = null), + (s.sourceInLca = l), + (s.targetInLca = u), + l == u) + ) { + s.lca = l.getOwner(); + continue; + } + for (h = l.getOwner(); s.lca == null; ) { + for (s.targetInLca = u, f = u.getOwner(); s.lca == null; ) { + if (f == h) { + s.lca = f; + break; + } + if (f == this.rootGraph) break; + if (s.lca != null) throw 'assert failed'; + (s.targetInLca = f.getParent()), (f = s.targetInLca.getOwner()); + } + if (h == this.rootGraph) break; + s.lca == null && ((s.sourceInLca = h.getParent()), (h = s.sourceInLca.getOwner())); + } + if (s.lca == null) throw 'assert failed'; + } + }), + (a.prototype.calcLowestCommonAncestor = function (s, l) { + if (s == l) return s.getOwner(); + var u = s.getOwner(); + do { + if (u == null) break; + var h = l.getOwner(); + do { + if (h == null) break; + if (h == u) return h; + h = h.getParent().getOwner(); + } while (!0); + u = u.getParent().getOwner(); + } while (!0); + return u; + }), + (a.prototype.calcInclusionTreeDepths = function (s, l) { + s == null && l == null && ((s = this.rootGraph), (l = 1)); + for (var u, h = s.getNodes(), f = h.length, d = 0; d < f; d++) + (u = h[d]), + (u.inclusionTreeDepth = l), + u.child != null && this.calcInclusionTreeDepths(u.child, l + 1); + }), + (a.prototype.includesInvalidEdge = function () { + for (var s, l = this.edges.length, u = 0; u < l; u++) + if (((s = this.edges[u]), this.isOneAncestorOfOther(s.source, s.target))) return !0; + return !1; + }), + (t.exports = a); + }, + function (t, e, r) { + 'use strict'; + var n = r(0); + function i() {} + o(i, 'FDLayoutConstants'); + for (var a in n) i[a] = n[a]; + (i.MAX_ITERATIONS = 2500), + (i.DEFAULT_EDGE_LENGTH = 50), + (i.DEFAULT_SPRING_STRENGTH = 0.45), + (i.DEFAULT_REPULSION_STRENGTH = 4500), + (i.DEFAULT_GRAVITY_STRENGTH = 0.4), + (i.DEFAULT_COMPOUND_GRAVITY_STRENGTH = 1), + (i.DEFAULT_GRAVITY_RANGE_FACTOR = 3.8), + (i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = 1.5), + (i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION = !0), + (i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION = !0), + (i.DEFAULT_COOLING_FACTOR_INCREMENTAL = 0.3), + (i.COOLING_ADAPTATION_FACTOR = 0.33), + (i.ADAPTATION_LOWER_NODE_LIMIT = 1e3), + (i.ADAPTATION_UPPER_NODE_LIMIT = 5e3), + (i.MAX_NODE_DISPLACEMENT_INCREMENTAL = 100), + (i.MAX_NODE_DISPLACEMENT = i.MAX_NODE_DISPLACEMENT_INCREMENTAL * 3), + (i.MIN_REPULSION_DIST = i.DEFAULT_EDGE_LENGTH / 10), + (i.CONVERGENCE_CHECK_PERIOD = 100), + (i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = 0.1), + (i.MIN_EDGE_LENGTH = 1), + (i.GRID_CALCULATION_CHECK_PERIOD = 10), + (t.exports = i); + }, + function (t, e, r) { + 'use strict'; + var n = r(12); + function i() {} + o(i, 'IGeometry'), + (i.calcSeparationAmount = function (a, s, l, u) { + if (!a.intersects(s)) throw 'assert failed'; + var h = new Array(2); + this.decideDirectionsForOverlappingNodes(a, s, h), + (l[0] = Math.min(a.getRight(), s.getRight()) - Math.max(a.x, s.x)), + (l[1] = Math.min(a.getBottom(), s.getBottom()) - Math.max(a.y, s.y)), + a.getX() <= s.getX() && a.getRight() >= s.getRight() + ? (l[0] += Math.min(s.getX() - a.getX(), a.getRight() - s.getRight())) + : s.getX() <= a.getX() && + s.getRight() >= a.getRight() && + (l[0] += Math.min(a.getX() - s.getX(), s.getRight() - a.getRight())), + a.getY() <= s.getY() && a.getBottom() >= s.getBottom() + ? (l[1] += Math.min(s.getY() - a.getY(), a.getBottom() - s.getBottom())) + : s.getY() <= a.getY() && + s.getBottom() >= a.getBottom() && + (l[1] += Math.min(a.getY() - s.getY(), s.getBottom() - a.getBottom())); + var f = Math.abs((s.getCenterY() - a.getCenterY()) / (s.getCenterX() - a.getCenterX())); + s.getCenterY() === a.getCenterY() && s.getCenterX() === a.getCenterX() && (f = 1); + var d = f * l[0], + p = l[1] / f; + l[0] < p ? (p = l[0]) : (d = l[1]), + (l[0] = -1 * h[0] * (p / 2 + u)), + (l[1] = -1 * h[1] * (d / 2 + u)); + }), + (i.decideDirectionsForOverlappingNodes = function (a, s, l) { + a.getCenterX() < s.getCenterX() ? (l[0] = -1) : (l[0] = 1), + a.getCenterY() < s.getCenterY() ? (l[1] = -1) : (l[1] = 1); + }), + (i.getIntersection2 = function (a, s, l) { + var u = a.getCenterX(), + h = a.getCenterY(), + f = s.getCenterX(), + d = s.getCenterY(); + if (a.intersects(s)) return (l[0] = u), (l[1] = h), (l[2] = f), (l[3] = d), !0; + var p = a.getX(), + m = a.getY(), + g = a.getRight(), + y = a.getX(), + v = a.getBottom(), + x = a.getRight(), + b = a.getWidthHalf(), + w = a.getHeightHalf(), + S = s.getX(), + T = s.getY(), + E = s.getRight(), + _ = s.getX(), + A = s.getBottom(), + L = s.getRight(), + M = s.getWidthHalf(), + N = s.getHeightHalf(), + k = !1, + I = !1; + if (u === f) { + if (h > d) return (l[0] = u), (l[1] = m), (l[2] = f), (l[3] = A), !1; + if (h < d) return (l[0] = u), (l[1] = v), (l[2] = f), (l[3] = T), !1; + } else if (h === d) { + if (u > f) return (l[0] = p), (l[1] = h), (l[2] = E), (l[3] = d), !1; + if (u < f) return (l[0] = g), (l[1] = h), (l[2] = S), (l[3] = d), !1; + } else { + var C = a.height / a.width, + O = s.height / s.width, + D = (d - h) / (f - u), + P = void 0, + F = void 0, + B = void 0, + $ = void 0, + z = void 0, + Y = void 0; + if ( + (-C === D + ? u > f + ? ((l[0] = y), (l[1] = v), (k = !0)) + : ((l[0] = g), (l[1] = m), (k = !0)) + : C === D && + (u > f + ? ((l[0] = p), (l[1] = m), (k = !0)) + : ((l[0] = x), (l[1] = v), (k = !0))), + -O === D + ? f > u + ? ((l[2] = _), (l[3] = A), (I = !0)) + : ((l[2] = E), (l[3] = T), (I = !0)) + : O === D && + (f > u + ? ((l[2] = S), (l[3] = T), (I = !0)) + : ((l[2] = L), (l[3] = A), (I = !0))), + k && I) + ) + return !1; + if ( + (u > f + ? h > d + ? ((P = this.getCardinalDirection(C, D, 4)), + (F = this.getCardinalDirection(O, D, 2))) + : ((P = this.getCardinalDirection(-C, D, 3)), + (F = this.getCardinalDirection(-O, D, 1))) + : h > d + ? ((P = this.getCardinalDirection(-C, D, 1)), + (F = this.getCardinalDirection(-O, D, 3))) + : ((P = this.getCardinalDirection(C, D, 2)), + (F = this.getCardinalDirection(O, D, 4))), + !k) + ) + switch (P) { + case 1: + ($ = m), (B = u + -w / D), (l[0] = B), (l[1] = $); + break; + case 2: + (B = x), ($ = h + b * D), (l[0] = B), (l[1] = $); + break; + case 3: + ($ = v), (B = u + w / D), (l[0] = B), (l[1] = $); + break; + case 4: + (B = y), ($ = h + -b * D), (l[0] = B), (l[1] = $); + break; + } + if (!I) + switch (F) { + case 1: + (Y = T), (z = f + -N / D), (l[2] = z), (l[3] = Y); + break; + case 2: + (z = L), (Y = d + M * D), (l[2] = z), (l[3] = Y); + break; + case 3: + (Y = A), (z = f + N / D), (l[2] = z), (l[3] = Y); + break; + case 4: + (z = _), (Y = d + -M * D), (l[2] = z), (l[3] = Y); + break; + } + } + return !1; + }), + (i.getCardinalDirection = function (a, s, l) { + return a > s ? l : 1 + (l % 4); + }), + (i.getIntersection = function (a, s, l, u) { + if (u == null) return this.getIntersection2(a, s, l); + var h = a.x, + f = a.y, + d = s.x, + p = s.y, + m = l.x, + g = l.y, + y = u.x, + v = u.y, + x = void 0, + b = void 0, + w = void 0, + S = void 0, + T = void 0, + E = void 0, + _ = void 0, + A = void 0, + L = void 0; + return ( + (w = p - f), + (T = h - d), + (_ = d * f - h * p), + (S = v - g), + (E = m - y), + (A = y * g - m * v), + (L = w * E - S * T), + L === 0 ? null : ((x = (T * A - E * _) / L), (b = (S * _ - w * A) / L), new n(x, b)) + ); + }), + (i.angleOfVector = function (a, s, l, u) { + var h = void 0; + return ( + a !== l + ? ((h = Math.atan((u - s) / (l - a))), + l < a ? (h += Math.PI) : u < s && (h += this.TWO_PI)) + : u < s + ? (h = this.ONE_AND_HALF_PI) + : (h = this.HALF_PI), + h + ); + }), + (i.doIntersect = function (a, s, l, u) { + var h = a.x, + f = a.y, + d = s.x, + p = s.y, + m = l.x, + g = l.y, + y = u.x, + v = u.y, + x = (d - h) * (v - g) - (y - m) * (p - f); + if (x === 0) return !1; + var b = ((v - g) * (y - h) + (m - y) * (v - f)) / x, + w = ((f - p) * (y - h) + (d - h) * (v - f)) / x; + return 0 < b && b < 1 && 0 < w && w < 1; + }), + (i.HALF_PI = 0.5 * Math.PI), + (i.ONE_AND_HALF_PI = 1.5 * Math.PI), + (i.TWO_PI = 2 * Math.PI), + (i.THREE_PI = 3 * Math.PI), + (t.exports = i); + }, + function (t, e, r) { + 'use strict'; + function n() {} + o(n, 'IMath'), + (n.sign = function (i) { + return i > 0 ? 1 : i < 0 ? -1 : 0; + }), + (n.floor = function (i) { + return i < 0 ? Math.ceil(i) : Math.floor(i); + }), + (n.ceil = function (i) { + return i < 0 ? Math.floor(i) : Math.ceil(i); + }), + (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + function n() {} + o(n, 'Integer'), (n.MAX_VALUE = 2147483647), (n.MIN_VALUE = -2147483648), (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + var n = (function () { + function h(f, d) { + for (var p = 0; p < d.length; p++) { + var m = d[p]; + (m.enumerable = m.enumerable || !1), + (m.configurable = !0), + 'value' in m && (m.writable = !0), + Object.defineProperty(f, m.key, m); + } + } + return ( + o(h, 'defineProperties'), + function (f, d, p) { + return d && h(f.prototype, d), p && h(f, p), f; + } + ); + })(); + function i(h, f) { + if (!(h instanceof f)) throw new TypeError('Cannot call a class as a function'); + } + o(i, '_classCallCheck'); + var a = o(function (f) { + return { value: f, next: null, prev: null }; + }, 'nodeFrom'), + s = o(function (f, d, p, m) { + return ( + f !== null ? (f.next = d) : (m.head = d), + p !== null ? (p.prev = d) : (m.tail = d), + (d.prev = f), + (d.next = p), + m.length++, + d + ); + }, 'add'), + l = o(function (f, d) { + var p = f.prev, + m = f.next; + return ( + p !== null ? (p.next = m) : (d.head = m), + m !== null ? (m.prev = p) : (d.tail = p), + (f.prev = f.next = null), + d.length--, + f + ); + }, '_remove'), + u = (function () { + function h(f) { + var d = this; + i(this, h), + (this.length = 0), + (this.head = null), + (this.tail = null), + f?.forEach(function (p) { + return d.push(p); + }); + } + return ( + o(h, 'LinkedList'), + n(h, [ + { + key: 'size', + value: o(function () { + return this.length; + }, 'size') + }, + { + key: 'insertBefore', + value: o(function (d, p) { + return s(p.prev, a(d), p, this); + }, 'insertBefore') + }, + { + key: 'insertAfter', + value: o(function (d, p) { + return s(p, a(d), p.next, this); + }, 'insertAfter') + }, + { + key: 'insertNodeBefore', + value: o(function (d, p) { + return s(p.prev, d, p, this); + }, 'insertNodeBefore') + }, + { + key: 'insertNodeAfter', + value: o(function (d, p) { + return s(p, d, p.next, this); + }, 'insertNodeAfter') + }, + { + key: 'push', + value: o(function (d) { + return s(this.tail, a(d), null, this); + }, 'push') + }, + { + key: 'unshift', + value: o(function (d) { + return s(null, a(d), this.head, this); + }, 'unshift') + }, + { + key: 'remove', + value: o(function (d) { + return l(d, this); + }, 'remove') + }, + { + key: 'pop', + value: o(function () { + return l(this.tail, this).value; + }, 'pop') + }, + { + key: 'popNode', + value: o(function () { + return l(this.tail, this); + }, 'popNode') + }, + { + key: 'shift', + value: o(function () { + return l(this.head, this).value; + }, 'shift') + }, + { + key: 'shiftNode', + value: o(function () { + return l(this.head, this); + }, 'shiftNode') + }, + { + key: 'get_object_at', + value: o(function (d) { + if (d <= this.length()) { + for (var p = 1, m = this.head; p < d; ) (m = m.next), p++; + return m.value; + } + }, 'get_object_at') + }, + { + key: 'set_object_at', + value: o(function (d, p) { + if (d <= this.length()) { + for (var m = 1, g = this.head; m < d; ) (g = g.next), m++; + g.value = p; + } + }, 'set_object_at') + } + ]), + h + ); + })(); + t.exports = u; + }, + function (t, e, r) { + 'use strict'; + function n(i, a, s) { + (this.x = null), + (this.y = null), + i == null && a == null && s == null + ? ((this.x = 0), (this.y = 0)) + : typeof i == 'number' && typeof a == 'number' && s == null + ? ((this.x = i), (this.y = a)) + : i.constructor.name == 'Point' && + a == null && + s == null && + ((s = i), (this.x = s.x), (this.y = s.y)); + } + o(n, 'Point'), + (n.prototype.getX = function () { + return this.x; + }), + (n.prototype.getY = function () { + return this.y; + }), + (n.prototype.getLocation = function () { + return new n(this.x, this.y); + }), + (n.prototype.setLocation = function (i, a, s) { + i.constructor.name == 'Point' && a == null && s == null + ? ((s = i), this.setLocation(s.x, s.y)) + : typeof i == 'number' && + typeof a == 'number' && + s == null && + (parseInt(i) == i && parseInt(a) == a + ? this.move(i, a) + : ((this.x = Math.floor(i + 0.5)), (this.y = Math.floor(a + 0.5)))); + }), + (n.prototype.move = function (i, a) { + (this.x = i), (this.y = a); + }), + (n.prototype.translate = function (i, a) { + (this.x += i), (this.y += a); + }), + (n.prototype.equals = function (i) { + if (i.constructor.name == 'Point') { + var a = i; + return this.x == a.x && this.y == a.y; + } + return this == i; + }), + (n.prototype.toString = function () { + return new n().constructor.name + '[x=' + this.x + ',y=' + this.y + ']'; + }), + (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + function n(i, a, s, l) { + (this.x = 0), + (this.y = 0), + (this.width = 0), + (this.height = 0), + i != null && + a != null && + s != null && + l != null && + ((this.x = i), (this.y = a), (this.width = s), (this.height = l)); + } + o(n, 'RectangleD'), + (n.prototype.getX = function () { + return this.x; + }), + (n.prototype.setX = function (i) { + this.x = i; + }), + (n.prototype.getY = function () { + return this.y; + }), + (n.prototype.setY = function (i) { + this.y = i; + }), + (n.prototype.getWidth = function () { + return this.width; + }), + (n.prototype.setWidth = function (i) { + this.width = i; + }), + (n.prototype.getHeight = function () { + return this.height; + }), + (n.prototype.setHeight = function (i) { + this.height = i; + }), + (n.prototype.getRight = function () { + return this.x + this.width; + }), + (n.prototype.getBottom = function () { + return this.y + this.height; + }), + (n.prototype.intersects = function (i) { + return !( + this.getRight() < i.x || + this.getBottom() < i.y || + i.getRight() < this.x || + i.getBottom() < this.y + ); + }), + (n.prototype.getCenterX = function () { + return this.x + this.width / 2; + }), + (n.prototype.getMinX = function () { + return this.getX(); + }), + (n.prototype.getMaxX = function () { + return this.getX() + this.width; + }), + (n.prototype.getCenterY = function () { + return this.y + this.height / 2; + }), + (n.prototype.getMinY = function () { + return this.getY(); + }), + (n.prototype.getMaxY = function () { + return this.getY() + this.height; + }), + (n.prototype.getWidthHalf = function () { + return this.width / 2; + }), + (n.prototype.getHeightHalf = function () { + return this.height / 2; + }), + (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + var n = + typeof Symbol == 'function' && typeof Symbol.iterator == 'symbol' + ? function (a) { + return typeof a; + } + : function (a) { + return a && + typeof Symbol == 'function' && + a.constructor === Symbol && + a !== Symbol.prototype + ? 'symbol' + : typeof a; + }; + function i() {} + o(i, 'UniqueIDGeneretor'), + (i.lastID = 0), + (i.createID = function (a) { + return i.isPrimitive(a) + ? a + : (a.uniqueID != null || ((a.uniqueID = i.getString()), i.lastID++), a.uniqueID); + }), + (i.getString = function (a) { + return a == null && (a = i.lastID), 'Object#' + a; + }), + (i.isPrimitive = function (a) { + var s = typeof a > 'u' ? 'undefined' : n(a); + return a == null || (s != 'object' && s != 'function'); + }), + (t.exports = i); + }, + function (t, e, r) { + 'use strict'; + function n(m) { + if (Array.isArray(m)) { + for (var g = 0, y = Array(m.length); g < m.length; g++) y[g] = m[g]; + return y; + } else return Array.from(m); + } + o(n, '_toConsumableArray'); + var i = r(0), + a = r(6), + s = r(3), + l = r(1), + u = r(5), + h = r(4), + f = r(17), + d = r(27); + function p(m) { + d.call(this), + (this.layoutQuality = i.QUALITY), + (this.createBendsAsNeeded = i.DEFAULT_CREATE_BENDS_AS_NEEDED), + (this.incremental = i.DEFAULT_INCREMENTAL), + (this.animationOnLayout = i.DEFAULT_ANIMATION_ON_LAYOUT), + (this.animationDuringLayout = i.DEFAULT_ANIMATION_DURING_LAYOUT), + (this.animationPeriod = i.DEFAULT_ANIMATION_PERIOD), + (this.uniformLeafNodeSizes = i.DEFAULT_UNIFORM_LEAF_NODE_SIZES), + (this.edgeToDummyNodes = new Map()), + (this.graphManager = new a(this)), + (this.isLayoutFinished = !1), + (this.isSubLayout = !1), + (this.isRemoteUse = !1), + m != null && (this.isRemoteUse = m); + } + o(p, 'Layout'), + (p.RANDOM_SEED = 1), + (p.prototype = Object.create(d.prototype)), + (p.prototype.getGraphManager = function () { + return this.graphManager; + }), + (p.prototype.getAllNodes = function () { + return this.graphManager.getAllNodes(); + }), + (p.prototype.getAllEdges = function () { + return this.graphManager.getAllEdges(); + }), + (p.prototype.getAllNodesToApplyGravitation = function () { + return this.graphManager.getAllNodesToApplyGravitation(); + }), + (p.prototype.newGraphManager = function () { + var m = new a(this); + return (this.graphManager = m), m; + }), + (p.prototype.newGraph = function (m) { + return new u(null, this.graphManager, m); + }), + (p.prototype.newNode = function (m) { + return new s(this.graphManager, m); + }), + (p.prototype.newEdge = function (m) { + return new l(null, null, m); + }), + (p.prototype.checkLayoutSuccess = function () { + return ( + this.graphManager.getRoot() == null || + this.graphManager.getRoot().getNodes().length == 0 || + this.graphManager.includesInvalidEdge() + ); + }), + (p.prototype.runLayout = function () { + (this.isLayoutFinished = !1), + this.tilingPreLayout && this.tilingPreLayout(), + this.initParameters(); + var m; + return ( + this.checkLayoutSuccess() ? (m = !1) : (m = this.layout()), + i.ANIMATE === 'during' + ? !1 + : (m && (this.isSubLayout || this.doPostLayout()), + this.tilingPostLayout && this.tilingPostLayout(), + (this.isLayoutFinished = !0), + m) + ); + }), + (p.prototype.doPostLayout = function () { + this.incremental || this.transform(), this.update(); + }), + (p.prototype.update2 = function () { + if ( + (this.createBendsAsNeeded && + (this.createBendpointsFromDummyNodes(), this.graphManager.resetAllEdges()), + !this.isRemoteUse) + ) { + for (var m, g = this.graphManager.getAllEdges(), y = 0; y < g.length; y++) m = g[y]; + for (var v, x = this.graphManager.getRoot().getNodes(), y = 0; y < x.length; y++) + v = x[y]; + this.update(this.graphManager.getRoot()); + } + }), + (p.prototype.update = function (m) { + if (m == null) this.update2(); + else if (m instanceof s) { + var g = m; + if (g.getChild() != null) + for (var y = g.getChild().getNodes(), v = 0; v < y.length; v++) update(y[v]); + if (g.vGraphObject != null) { + var x = g.vGraphObject; + x.update(g); + } + } else if (m instanceof l) { + var b = m; + if (b.vGraphObject != null) { + var w = b.vGraphObject; + w.update(b); + } + } else if (m instanceof u) { + var S = m; + if (S.vGraphObject != null) { + var T = S.vGraphObject; + T.update(S); + } + } + }), + (p.prototype.initParameters = function () { + this.isSubLayout || + ((this.layoutQuality = i.QUALITY), + (this.animationDuringLayout = i.DEFAULT_ANIMATION_DURING_LAYOUT), + (this.animationPeriod = i.DEFAULT_ANIMATION_PERIOD), + (this.animationOnLayout = i.DEFAULT_ANIMATION_ON_LAYOUT), + (this.incremental = i.DEFAULT_INCREMENTAL), + (this.createBendsAsNeeded = i.DEFAULT_CREATE_BENDS_AS_NEEDED), + (this.uniformLeafNodeSizes = i.DEFAULT_UNIFORM_LEAF_NODE_SIZES)), + this.animationDuringLayout && (this.animationOnLayout = !1); + }), + (p.prototype.transform = function (m) { + if (m == null) this.transform(new h(0, 0)); + else { + var g = new f(), + y = this.graphManager.getRoot().updateLeftTop(); + if (y != null) { + g.setWorldOrgX(m.x), + g.setWorldOrgY(m.y), + g.setDeviceOrgX(y.x), + g.setDeviceOrgY(y.y); + for (var v = this.getAllNodes(), x, b = 0; b < v.length; b++) + (x = v[b]), x.transform(g); + } + } + }), + (p.prototype.positionNodesRandomly = function (m) { + if (m == null) + this.positionNodesRandomly(this.getGraphManager().getRoot()), + this.getGraphManager().getRoot().updateBounds(!0); + else + for (var g, y, v = m.getNodes(), x = 0; x < v.length; x++) + (g = v[x]), + (y = g.getChild()), + y == null || y.getNodes().length == 0 + ? g.scatter() + : (this.positionNodesRandomly(y), g.updateBounds()); + }), + (p.prototype.getFlatForest = function () { + for ( + var m = [], g = !0, y = this.graphManager.getRoot().getNodes(), v = !0, x = 0; + x < y.length; + x++ + ) + y[x].getChild() != null && (v = !1); + if (!v) return m; + var b = new Set(), + w = [], + S = new Map(), + T = []; + for (T = T.concat(y); T.length > 0 && g; ) { + for (w.push(T[0]); w.length > 0 && g; ) { + var E = w[0]; + w.splice(0, 1), b.add(E); + for (var _ = E.getEdges(), x = 0; x < _.length; x++) { + var A = _[x].getOtherEnd(E); + if (S.get(E) != A) + if (!b.has(A)) w.push(A), S.set(A, E); + else { + g = !1; + break; + } + } + } + if (!g) m = []; + else { + var L = [].concat(n(b)); + m.push(L); + for (var x = 0; x < L.length; x++) { + var M = L[x], + N = T.indexOf(M); + N > -1 && T.splice(N, 1); + } + (b = new Set()), (S = new Map()); + } + } + return m; + }), + (p.prototype.createDummyNodesForBendpoints = function (m) { + for ( + var g = [], + y = m.source, + v = this.graphManager.calcLowestCommonAncestor(m.source, m.target), + x = 0; + x < m.bendpoints.length; + x++ + ) { + var b = this.newNode(null); + b.setRect(new Point(0, 0), new Dimension(1, 1)), v.add(b); + var w = this.newEdge(null); + this.graphManager.add(w, y, b), g.add(b), (y = b); + } + var w = this.newEdge(null); + return ( + this.graphManager.add(w, y, m.target), + this.edgeToDummyNodes.set(m, g), + m.isInterGraph() ? this.graphManager.remove(m) : v.remove(m), + g + ); + }), + (p.prototype.createBendpointsFromDummyNodes = function () { + var m = []; + (m = m.concat(this.graphManager.getAllEdges())), + (m = [].concat(n(this.edgeToDummyNodes.keys())).concat(m)); + for (var g = 0; g < m.length; g++) { + var y = m[g]; + if (y.bendpoints.length > 0) { + for (var v = this.edgeToDummyNodes.get(y), x = 0; x < v.length; x++) { + var b = v[x], + w = new h(b.getCenterX(), b.getCenterY()), + S = y.bendpoints.get(x); + (S.x = w.x), (S.y = w.y), b.getOwner().remove(b); + } + this.graphManager.add(y, y.source, y.target); + } + } + }), + (p.transform = function (m, g, y, v) { + if (y != null && v != null) { + var x = g; + if (m <= 50) { + var b = g / y; + x -= ((g - b) / 50) * (50 - m); + } else { + var w = g * v; + x += ((w - g) / 50) * (m - 50); + } + return x; + } else { + var S, T; + return ( + m <= 50 ? ((S = (9 * g) / 500), (T = g / 10)) : ((S = (9 * g) / 50), (T = -8 * g)), + S * m + T + ); + } + }), + (p.findCenterOfTree = function (m) { + var g = []; + g = g.concat(m); + var y = [], + v = new Map(), + x = !1, + b = null; + (g.length == 1 || g.length == 2) && ((x = !0), (b = g[0])); + for (var w = 0; w < g.length; w++) { + var S = g[w], + T = S.getNeighborsList().size; + v.set(S, S.getNeighborsList().size), T == 1 && y.push(S); + } + var E = []; + for (E = E.concat(y); !x; ) { + var _ = []; + (_ = _.concat(E)), (E = []); + for (var w = 0; w < g.length; w++) { + var S = g[w], + A = g.indexOf(S); + A >= 0 && g.splice(A, 1); + var L = S.getNeighborsList(); + L.forEach(function (k) { + if (y.indexOf(k) < 0) { + var I = v.get(k), + C = I - 1; + C == 1 && E.push(k), v.set(k, C); + } + }); + } + (y = y.concat(E)), (g.length == 1 || g.length == 2) && ((x = !0), (b = g[0])); + } + return b; + }), + (p.prototype.setGraphManager = function (m) { + this.graphManager = m; + }), + (t.exports = p); + }, + function (t, e, r) { + 'use strict'; + function n() {} + o(n, 'RandomSeed'), + (n.seed = 1), + (n.x = 0), + (n.nextDouble = function () { + return (n.x = Math.sin(n.seed++) * 1e4), n.x - Math.floor(n.x); + }), + (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + var n = r(4); + function i(a, s) { + (this.lworldOrgX = 0), + (this.lworldOrgY = 0), + (this.ldeviceOrgX = 0), + (this.ldeviceOrgY = 0), + (this.lworldExtX = 1), + (this.lworldExtY = 1), + (this.ldeviceExtX = 1), + (this.ldeviceExtY = 1); + } + o(i, 'Transform'), + (i.prototype.getWorldOrgX = function () { + return this.lworldOrgX; + }), + (i.prototype.setWorldOrgX = function (a) { + this.lworldOrgX = a; + }), + (i.prototype.getWorldOrgY = function () { + return this.lworldOrgY; + }), + (i.prototype.setWorldOrgY = function (a) { + this.lworldOrgY = a; + }), + (i.prototype.getWorldExtX = function () { + return this.lworldExtX; + }), + (i.prototype.setWorldExtX = function (a) { + this.lworldExtX = a; + }), + (i.prototype.getWorldExtY = function () { + return this.lworldExtY; + }), + (i.prototype.setWorldExtY = function (a) { + this.lworldExtY = a; + }), + (i.prototype.getDeviceOrgX = function () { + return this.ldeviceOrgX; + }), + (i.prototype.setDeviceOrgX = function (a) { + this.ldeviceOrgX = a; + }), + (i.prototype.getDeviceOrgY = function () { + return this.ldeviceOrgY; + }), + (i.prototype.setDeviceOrgY = function (a) { + this.ldeviceOrgY = a; + }), + (i.prototype.getDeviceExtX = function () { + return this.ldeviceExtX; + }), + (i.prototype.setDeviceExtX = function (a) { + this.ldeviceExtX = a; + }), + (i.prototype.getDeviceExtY = function () { + return this.ldeviceExtY; + }), + (i.prototype.setDeviceExtY = function (a) { + this.ldeviceExtY = a; + }), + (i.prototype.transformX = function (a) { + var s = 0, + l = this.lworldExtX; + return l != 0 && (s = this.ldeviceOrgX + ((a - this.lworldOrgX) * this.ldeviceExtX) / l), s; + }), + (i.prototype.transformY = function (a) { + var s = 0, + l = this.lworldExtY; + return l != 0 && (s = this.ldeviceOrgY + ((a - this.lworldOrgY) * this.ldeviceExtY) / l), s; + }), + (i.prototype.inverseTransformX = function (a) { + var s = 0, + l = this.ldeviceExtX; + return l != 0 && (s = this.lworldOrgX + ((a - this.ldeviceOrgX) * this.lworldExtX) / l), s; + }), + (i.prototype.inverseTransformY = function (a) { + var s = 0, + l = this.ldeviceExtY; + return l != 0 && (s = this.lworldOrgY + ((a - this.ldeviceOrgY) * this.lworldExtY) / l), s; + }), + (i.prototype.inverseTransformPoint = function (a) { + var s = new n(this.inverseTransformX(a.x), this.inverseTransformY(a.y)); + return s; + }), + (t.exports = i); + }, + function (t, e, r) { + 'use strict'; + function n(d) { + if (Array.isArray(d)) { + for (var p = 0, m = Array(d.length); p < d.length; p++) m[p] = d[p]; + return m; + } else return Array.from(d); + } + o(n, '_toConsumableArray'); + var i = r(15), + a = r(7), + s = r(0), + l = r(8), + u = r(9); + function h() { + i.call(this), + (this.useSmartIdealEdgeLengthCalculation = + a.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION), + (this.idealEdgeLength = a.DEFAULT_EDGE_LENGTH), + (this.springConstant = a.DEFAULT_SPRING_STRENGTH), + (this.repulsionConstant = a.DEFAULT_REPULSION_STRENGTH), + (this.gravityConstant = a.DEFAULT_GRAVITY_STRENGTH), + (this.compoundGravityConstant = a.DEFAULT_COMPOUND_GRAVITY_STRENGTH), + (this.gravityRangeFactor = a.DEFAULT_GRAVITY_RANGE_FACTOR), + (this.compoundGravityRangeFactor = a.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR), + (this.displacementThresholdPerNode = (3 * a.DEFAULT_EDGE_LENGTH) / 100), + (this.coolingFactor = a.DEFAULT_COOLING_FACTOR_INCREMENTAL), + (this.initialCoolingFactor = a.DEFAULT_COOLING_FACTOR_INCREMENTAL), + (this.totalDisplacement = 0), + (this.oldTotalDisplacement = 0), + (this.maxIterations = a.MAX_ITERATIONS); + } + o(h, 'FDLayout'), (h.prototype = Object.create(i.prototype)); + for (var f in i) h[f] = i[f]; + (h.prototype.initParameters = function () { + i.prototype.initParameters.call(this, arguments), + (this.totalIterations = 0), + (this.notAnimatedIterations = 0), + (this.useFRGridVariant = a.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION), + (this.grid = []); + }), + (h.prototype.calcIdealEdgeLengths = function () { + for ( + var d, p, m, g, y, v, x = this.getGraphManager().getAllEdges(), b = 0; + b < x.length; + b++ + ) + (d = x[b]), + (d.idealLength = this.idealEdgeLength), + d.isInterGraph && + ((m = d.getSource()), + (g = d.getTarget()), + (y = d.getSourceInLca().getEstimatedSize()), + (v = d.getTargetInLca().getEstimatedSize()), + this.useSmartIdealEdgeLengthCalculation && + (d.idealLength += y + v - 2 * s.SIMPLE_NODE_SIZE), + (p = d.getLca().getInclusionTreeDepth()), + (d.idealLength += + a.DEFAULT_EDGE_LENGTH * + a.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR * + (m.getInclusionTreeDepth() + g.getInclusionTreeDepth() - 2 * p))); + }), + (h.prototype.initSpringEmbedder = function () { + var d = this.getAllNodes().length; + this.incremental + ? (d > a.ADAPTATION_LOWER_NODE_LIMIT && + (this.coolingFactor = Math.max( + this.coolingFactor * a.COOLING_ADAPTATION_FACTOR, + this.coolingFactor - + ((d - a.ADAPTATION_LOWER_NODE_LIMIT) / + (a.ADAPTATION_UPPER_NODE_LIMIT - a.ADAPTATION_LOWER_NODE_LIMIT)) * + this.coolingFactor * + (1 - a.COOLING_ADAPTATION_FACTOR) + )), + (this.maxNodeDisplacement = a.MAX_NODE_DISPLACEMENT_INCREMENTAL)) + : (d > a.ADAPTATION_LOWER_NODE_LIMIT + ? (this.coolingFactor = Math.max( + a.COOLING_ADAPTATION_FACTOR, + 1 - + ((d - a.ADAPTATION_LOWER_NODE_LIMIT) / + (a.ADAPTATION_UPPER_NODE_LIMIT - a.ADAPTATION_LOWER_NODE_LIMIT)) * + (1 - a.COOLING_ADAPTATION_FACTOR) + )) + : (this.coolingFactor = 1), + (this.initialCoolingFactor = this.coolingFactor), + (this.maxNodeDisplacement = a.MAX_NODE_DISPLACEMENT)), + (this.maxIterations = Math.max(this.getAllNodes().length * 5, this.maxIterations)), + (this.totalDisplacementThreshold = + this.displacementThresholdPerNode * this.getAllNodes().length), + (this.repulsionRange = this.calcRepulsionRange()); + }), + (h.prototype.calcSpringForces = function () { + for (var d = this.getAllEdges(), p, m = 0; m < d.length; m++) + (p = d[m]), this.calcSpringForce(p, p.idealLength); + }), + (h.prototype.calcRepulsionForces = function () { + var d = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0, + p = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1, + m, + g, + y, + v, + x = this.getAllNodes(), + b; + if (this.useFRGridVariant) + for ( + this.totalIterations % a.GRID_CALCULATION_CHECK_PERIOD == 1 && + d && + this.updateGrid(), + b = new Set(), + m = 0; + m < x.length; + m++ + ) + (y = x[m]), this.calculateRepulsionForceOfANode(y, b, d, p), b.add(y); + else + for (m = 0; m < x.length; m++) + for (y = x[m], g = m + 1; g < x.length; g++) + (v = x[g]), y.getOwner() == v.getOwner() && this.calcRepulsionForce(y, v); + }), + (h.prototype.calcGravitationalForces = function () { + for (var d, p = this.getAllNodesToApplyGravitation(), m = 0; m < p.length; m++) + (d = p[m]), this.calcGravitationalForce(d); + }), + (h.prototype.moveNodes = function () { + for (var d = this.getAllNodes(), p, m = 0; m < d.length; m++) (p = d[m]), p.move(); + }), + (h.prototype.calcSpringForce = function (d, p) { + var m = d.getSource(), + g = d.getTarget(), + y, + v, + x, + b; + if (this.uniformLeafNodeSizes && m.getChild() == null && g.getChild() == null) + d.updateLengthSimple(); + else if ((d.updateLength(), d.isOverlapingSourceAndTarget)) return; + (y = d.getLength()), + y != 0 && + ((v = this.springConstant * (y - p)), + (x = v * (d.lengthX / y)), + (b = v * (d.lengthY / y)), + (m.springForceX += x), + (m.springForceY += b), + (g.springForceX -= x), + (g.springForceY -= b)); + }), + (h.prototype.calcRepulsionForce = function (d, p) { + var m = d.getRect(), + g = p.getRect(), + y = new Array(2), + v = new Array(4), + x, + b, + w, + S, + T, + E, + _; + if (m.intersects(g)) { + l.calcSeparationAmount(m, g, y, a.DEFAULT_EDGE_LENGTH / 2), + (E = 2 * y[0]), + (_ = 2 * y[1]); + var A = (d.noOfChildren * p.noOfChildren) / (d.noOfChildren + p.noOfChildren); + (d.repulsionForceX -= A * E), + (d.repulsionForceY -= A * _), + (p.repulsionForceX += A * E), + (p.repulsionForceY += A * _); + } else + this.uniformLeafNodeSizes && d.getChild() == null && p.getChild() == null + ? ((x = g.getCenterX() - m.getCenterX()), (b = g.getCenterY() - m.getCenterY())) + : (l.getIntersection(m, g, v), (x = v[2] - v[0]), (b = v[3] - v[1])), + Math.abs(x) < a.MIN_REPULSION_DIST && (x = u.sign(x) * a.MIN_REPULSION_DIST), + Math.abs(b) < a.MIN_REPULSION_DIST && (b = u.sign(b) * a.MIN_REPULSION_DIST), + (w = x * x + b * b), + (S = Math.sqrt(w)), + (T = (this.repulsionConstant * d.noOfChildren * p.noOfChildren) / w), + (E = (T * x) / S), + (_ = (T * b) / S), + (d.repulsionForceX -= E), + (d.repulsionForceY -= _), + (p.repulsionForceX += E), + (p.repulsionForceY += _); + }), + (h.prototype.calcGravitationalForce = function (d) { + var p, m, g, y, v, x, b, w; + (p = d.getOwner()), + (m = (p.getRight() + p.getLeft()) / 2), + (g = (p.getTop() + p.getBottom()) / 2), + (y = d.getCenterX() - m), + (v = d.getCenterY() - g), + (x = Math.abs(y) + d.getWidth() / 2), + (b = Math.abs(v) + d.getHeight() / 2), + d.getOwner() == this.graphManager.getRoot() + ? ((w = p.getEstimatedSize() * this.gravityRangeFactor), + (x > w || b > w) && + ((d.gravitationForceX = -this.gravityConstant * y), + (d.gravitationForceY = -this.gravityConstant * v))) + : ((w = p.getEstimatedSize() * this.compoundGravityRangeFactor), + (x > w || b > w) && + ((d.gravitationForceX = + -this.gravityConstant * y * this.compoundGravityConstant), + (d.gravitationForceY = + -this.gravityConstant * v * this.compoundGravityConstant))); + }), + (h.prototype.isConverged = function () { + var d, + p = !1; + return ( + this.totalIterations > this.maxIterations / 3 && + (p = Math.abs(this.totalDisplacement - this.oldTotalDisplacement) < 2), + (d = this.totalDisplacement < this.totalDisplacementThreshold), + (this.oldTotalDisplacement = this.totalDisplacement), + d || p + ); + }), + (h.prototype.animate = function () { + this.animationDuringLayout && + !this.isSubLayout && + (this.notAnimatedIterations == this.animationPeriod + ? (this.update(), (this.notAnimatedIterations = 0)) + : this.notAnimatedIterations++); + }), + (h.prototype.calcNoOfChildrenForAllNodes = function () { + for (var d, p = this.graphManager.getAllNodes(), m = 0; m < p.length; m++) + (d = p[m]), (d.noOfChildren = d.getNoOfChildren()); + }), + (h.prototype.calcGrid = function (d) { + var p = 0, + m = 0; + (p = parseInt(Math.ceil((d.getRight() - d.getLeft()) / this.repulsionRange))), + (m = parseInt(Math.ceil((d.getBottom() - d.getTop()) / this.repulsionRange))); + for (var g = new Array(p), y = 0; y < p; y++) g[y] = new Array(m); + for (var y = 0; y < p; y++) for (var v = 0; v < m; v++) g[y][v] = new Array(); + return g; + }), + (h.prototype.addNodeToGrid = function (d, p, m) { + var g = 0, + y = 0, + v = 0, + x = 0; + (g = parseInt(Math.floor((d.getRect().x - p) / this.repulsionRange))), + (y = parseInt( + Math.floor((d.getRect().width + d.getRect().x - p) / this.repulsionRange) + )), + (v = parseInt(Math.floor((d.getRect().y - m) / this.repulsionRange))), + (x = parseInt( + Math.floor((d.getRect().height + d.getRect().y - m) / this.repulsionRange) + )); + for (var b = g; b <= y; b++) + for (var w = v; w <= x; w++) this.grid[b][w].push(d), d.setGridCoordinates(g, y, v, x); + }), + (h.prototype.updateGrid = function () { + var d, + p, + m = this.getAllNodes(); + for (this.grid = this.calcGrid(this.graphManager.getRoot()), d = 0; d < m.length; d++) + (p = m[d]), + this.addNodeToGrid( + p, + this.graphManager.getRoot().getLeft(), + this.graphManager.getRoot().getTop() + ); + }), + (h.prototype.calculateRepulsionForceOfANode = function (d, p, m, g) { + if ((this.totalIterations % a.GRID_CALCULATION_CHECK_PERIOD == 1 && m) || g) { + var y = new Set(); + d.surrounding = new Array(); + for (var v, x = this.grid, b = d.startX - 1; b < d.finishX + 2; b++) + for (var w = d.startY - 1; w < d.finishY + 2; w++) + if (!(b < 0 || w < 0 || b >= x.length || w >= x[0].length)) { + for (var S = 0; S < x[b][w].length; S++) + if ( + ((v = x[b][w][S]), + !(d.getOwner() != v.getOwner() || d == v) && !p.has(v) && !y.has(v)) + ) { + var T = + Math.abs(d.getCenterX() - v.getCenterX()) - + (d.getWidth() / 2 + v.getWidth() / 2), + E = + Math.abs(d.getCenterY() - v.getCenterY()) - + (d.getHeight() / 2 + v.getHeight() / 2); + T <= this.repulsionRange && E <= this.repulsionRange && y.add(v); + } + } + d.surrounding = [].concat(n(y)); + } + for (b = 0; b < d.surrounding.length; b++) this.calcRepulsionForce(d, d.surrounding[b]); + }), + (h.prototype.calcRepulsionRange = function () { + return 0; + }), + (t.exports = h); + }, + function (t, e, r) { + 'use strict'; + var n = r(1), + i = r(7); + function a(l, u, h) { + n.call(this, l, u, h), (this.idealLength = i.DEFAULT_EDGE_LENGTH); + } + o(a, 'FDLayoutEdge'), (a.prototype = Object.create(n.prototype)); + for (var s in n) a[s] = n[s]; + t.exports = a; + }, + function (t, e, r) { + 'use strict'; + var n = r(3); + function i(s, l, u, h) { + n.call(this, s, l, u, h), + (this.springForceX = 0), + (this.springForceY = 0), + (this.repulsionForceX = 0), + (this.repulsionForceY = 0), + (this.gravitationForceX = 0), + (this.gravitationForceY = 0), + (this.displacementX = 0), + (this.displacementY = 0), + (this.startX = 0), + (this.finishX = 0), + (this.startY = 0), + (this.finishY = 0), + (this.surrounding = []); + } + o(i, 'FDLayoutNode'), (i.prototype = Object.create(n.prototype)); + for (var a in n) i[a] = n[a]; + (i.prototype.setGridCoordinates = function (s, l, u, h) { + (this.startX = s), (this.finishX = l), (this.startY = u), (this.finishY = h); + }), + (t.exports = i); + }, + function (t, e, r) { + 'use strict'; + function n(i, a) { + (this.width = 0), + (this.height = 0), + i !== null && a !== null && ((this.height = a), (this.width = i)); + } + o(n, 'DimensionD'), + (n.prototype.getWidth = function () { + return this.width; + }), + (n.prototype.setWidth = function (i) { + this.width = i; + }), + (n.prototype.getHeight = function () { + return this.height; + }), + (n.prototype.setHeight = function (i) { + this.height = i; + }), + (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + var n = r(14); + function i() { + (this.map = {}), (this.keys = []); + } + o(i, 'HashMap'), + (i.prototype.put = function (a, s) { + var l = n.createID(a); + this.contains(l) || ((this.map[l] = s), this.keys.push(a)); + }), + (i.prototype.contains = function (a) { + var s = n.createID(a); + return this.map[a] != null; + }), + (i.prototype.get = function (a) { + var s = n.createID(a); + return this.map[s]; + }), + (i.prototype.keySet = function () { + return this.keys; + }), + (t.exports = i); + }, + function (t, e, r) { + 'use strict'; + var n = r(14); + function i() { + this.set = {}; + } + o(i, 'HashSet'), + (i.prototype.add = function (a) { + var s = n.createID(a); + this.contains(s) || (this.set[s] = a); + }), + (i.prototype.remove = function (a) { + delete this.set[n.createID(a)]; + }), + (i.prototype.clear = function () { + this.set = {}; + }), + (i.prototype.contains = function (a) { + return this.set[n.createID(a)] == a; + }), + (i.prototype.isEmpty = function () { + return this.size() === 0; + }), + (i.prototype.size = function () { + return Object.keys(this.set).length; + }), + (i.prototype.addAllTo = function (a) { + for (var s = Object.keys(this.set), l = s.length, u = 0; u < l; u++) a.push(this.set[s[u]]); + }), + (i.prototype.size = function () { + return Object.keys(this.set).length; + }), + (i.prototype.addAll = function (a) { + for (var s = a.length, l = 0; l < s; l++) { + var u = a[l]; + this.add(u); + } + }), + (t.exports = i); + }, + function (t, e, r) { + 'use strict'; + var n = (function () { + function l(u, h) { + for (var f = 0; f < h.length; f++) { + var d = h[f]; + (d.enumerable = d.enumerable || !1), + (d.configurable = !0), + 'value' in d && (d.writable = !0), + Object.defineProperty(u, d.key, d); + } + } + return ( + o(l, 'defineProperties'), + function (u, h, f) { + return h && l(u.prototype, h), f && l(u, f), u; + } + ); + })(); + function i(l, u) { + if (!(l instanceof u)) throw new TypeError('Cannot call a class as a function'); + } + o(i, '_classCallCheck'); + var a = r(11), + s = (function () { + function l(u, h) { + i(this, l), + (h !== null || h !== void 0) && + (this.compareFunction = this._defaultCompareFunction); + var f = void 0; + u instanceof a ? (f = u.size()) : (f = u.length), this._quicksort(u, 0, f - 1); + } + return ( + o(l, 'Quicksort'), + n(l, [ + { + key: '_quicksort', + value: o(function (h, f, d) { + if (f < d) { + var p = this._partition(h, f, d); + this._quicksort(h, f, p), this._quicksort(h, p + 1, d); + } + }, '_quicksort') + }, + { + key: '_partition', + value: o(function (h, f, d) { + for (var p = this._get(h, f), m = f, g = d; ; ) { + for (; this.compareFunction(p, this._get(h, g)); ) g--; + for (; this.compareFunction(this._get(h, m), p); ) m++; + if (m < g) this._swap(h, m, g), m++, g--; + else return g; + } + }, '_partition') + }, + { + key: '_get', + value: o(function (h, f) { + return h instanceof a ? h.get_object_at(f) : h[f]; + }, '_get') + }, + { + key: '_set', + value: o(function (h, f, d) { + h instanceof a ? h.set_object_at(f, d) : (h[f] = d); + }, '_set') + }, + { + key: '_swap', + value: o(function (h, f, d) { + var p = this._get(h, f); + this._set(h, f, this._get(h, d)), this._set(h, d, p); + }, '_swap') + }, + { + key: '_defaultCompareFunction', + value: o(function (h, f) { + return f > h; + }, '_defaultCompareFunction') + } + ]), + l + ); + })(); + t.exports = s; + }, + function (t, e, r) { + 'use strict'; + var n = (function () { + function s(l, u) { + for (var h = 0; h < u.length; h++) { + var f = u[h]; + (f.enumerable = f.enumerable || !1), + (f.configurable = !0), + 'value' in f && (f.writable = !0), + Object.defineProperty(l, f.key, f); + } + } + return ( + o(s, 'defineProperties'), + function (l, u, h) { + return u && s(l.prototype, u), h && s(l, h), l; + } + ); + })(); + function i(s, l) { + if (!(s instanceof l)) throw new TypeError('Cannot call a class as a function'); + } + o(i, '_classCallCheck'); + var a = (function () { + function s(l, u) { + var h = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 1, + f = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : -1, + d = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : -1; + i(this, s), + (this.sequence1 = l), + (this.sequence2 = u), + (this.match_score = h), + (this.mismatch_penalty = f), + (this.gap_penalty = d), + (this.iMax = l.length + 1), + (this.jMax = u.length + 1), + (this.grid = new Array(this.iMax)); + for (var p = 0; p < this.iMax; p++) { + this.grid[p] = new Array(this.jMax); + for (var m = 0; m < this.jMax; m++) this.grid[p][m] = 0; + } + this.tracebackGrid = new Array(this.iMax); + for (var g = 0; g < this.iMax; g++) { + this.tracebackGrid[g] = new Array(this.jMax); + for (var y = 0; y < this.jMax; y++) this.tracebackGrid[g][y] = [null, null, null]; + } + (this.alignments = []), (this.score = -1), this.computeGrids(); + } + return ( + o(s, 'NeedlemanWunsch'), + n(s, [ + { + key: 'getScore', + value: o(function () { + return this.score; + }, 'getScore') + }, + { + key: 'getAlignments', + value: o(function () { + return this.alignments; + }, 'getAlignments') + }, + { + key: 'computeGrids', + value: o(function () { + for (var u = 1; u < this.jMax; u++) + (this.grid[0][u] = this.grid[0][u - 1] + this.gap_penalty), + (this.tracebackGrid[0][u] = [!1, !1, !0]); + for (var h = 1; h < this.iMax; h++) + (this.grid[h][0] = this.grid[h - 1][0] + this.gap_penalty), + (this.tracebackGrid[h][0] = [!1, !0, !1]); + for (var f = 1; f < this.iMax; f++) + for (var d = 1; d < this.jMax; d++) { + var p = void 0; + this.sequence1[f - 1] === this.sequence2[d - 1] + ? (p = this.grid[f - 1][d - 1] + this.match_score) + : (p = this.grid[f - 1][d - 1] + this.mismatch_penalty); + var m = this.grid[f - 1][d] + this.gap_penalty, + g = this.grid[f][d - 1] + this.gap_penalty, + y = [p, m, g], + v = this.arrayAllMaxIndexes(y); + (this.grid[f][d] = y[v[0]]), + (this.tracebackGrid[f][d] = [ + v.includes(0), + v.includes(1), + v.includes(2) + ]); + } + this.score = this.grid[this.iMax - 1][this.jMax - 1]; + }, 'computeGrids') + }, + { + key: 'alignmentTraceback', + value: o(function () { + var u = []; + for ( + u.push({ + pos: [this.sequence1.length, this.sequence2.length], + seq1: '', + seq2: '' + }); + u[0]; + + ) { + var h = u[0], + f = this.tracebackGrid[h.pos[0]][h.pos[1]]; + f[0] && + u.push({ + pos: [h.pos[0] - 1, h.pos[1] - 1], + seq1: this.sequence1[h.pos[0] - 1] + h.seq1, + seq2: this.sequence2[h.pos[1] - 1] + h.seq2 + }), + f[1] && + u.push({ + pos: [h.pos[0] - 1, h.pos[1]], + seq1: this.sequence1[h.pos[0] - 1] + h.seq1, + seq2: '-' + h.seq2 + }), + f[2] && + u.push({ + pos: [h.pos[0], h.pos[1] - 1], + seq1: '-' + h.seq1, + seq2: this.sequence2[h.pos[1] - 1] + h.seq2 + }), + h.pos[0] === 0 && + h.pos[1] === 0 && + this.alignments.push({ + sequence1: h.seq1, + sequence2: h.seq2 + }), + u.shift(); + } + return this.alignments; + }, 'alignmentTraceback') + }, + { + key: 'getAllIndexes', + value: o(function (u, h) { + for (var f = [], d = -1; (d = u.indexOf(h, d + 1)) !== -1; ) f.push(d); + return f; + }, 'getAllIndexes') + }, + { + key: 'arrayAllMaxIndexes', + value: o(function (u) { + return this.getAllIndexes(u, Math.max.apply(null, u)); + }, 'arrayAllMaxIndexes') + } + ]), + s + ); + })(); + t.exports = a; + }, + function (t, e, r) { + 'use strict'; + var n = o(function () {}, 'layoutBase'); + (n.FDLayout = r(18)), + (n.FDLayoutConstants = r(7)), + (n.FDLayoutEdge = r(19)), + (n.FDLayoutNode = r(20)), + (n.DimensionD = r(21)), + (n.HashMap = r(22)), + (n.HashSet = r(23)), + (n.IGeometry = r(8)), + (n.IMath = r(9)), + (n.Integer = r(10)), + (n.Point = r(12)), + (n.PointD = r(4)), + (n.RandomSeed = r(16)), + (n.RectangleD = r(13)), + (n.Transform = r(17)), + (n.UniqueIDGeneretor = r(14)), + (n.Quicksort = r(24)), + (n.LinkedList = r(11)), + (n.LGraphObject = r(2)), + (n.LGraph = r(5)), + (n.LEdge = r(1)), + (n.LGraphManager = r(6)), + (n.LNode = r(3)), + (n.Layout = r(15)), + (n.LayoutConstants = r(0)), + (n.NeedlemanWunsch = r(25)), + (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + function n() { + this.listeners = []; + } + o(n, 'Emitter'); + var i = n.prototype; + (i.addListener = function (a, s) { + this.listeners.push({ event: a, callback: s }); + }), + (i.removeListener = function (a, s) { + for (var l = this.listeners.length; l >= 0; l--) { + var u = this.listeners[l]; + u.event === a && u.callback === s && this.listeners.splice(l, 1); + } + }), + (i.emit = function (a, s) { + for (var l = 0; l < this.listeners.length; l++) { + var u = this.listeners[l]; + a === u.event && u.callback(s); + } + }), + (t.exports = n); + } + ]); + }); + }); + var TB = gi((ob, wB) => { + 'use strict'; + o(function (e, r) { + typeof ob == 'object' && typeof wB == 'object' + ? (wB.exports = r(bB())) + : typeof define == 'function' && define.amd + ? define(['layout-base'], r) + : typeof ob == 'object' + ? (ob.coseBase = r(bB())) + : (e.coseBase = r(e.layoutBase)); + }, 'webpackUniversalModuleDefinition')(ob, function (t) { + return (function (e) { + var r = {}; + function n(i) { + if (r[i]) return r[i].exports; + var a = (r[i] = { i, l: !1, exports: {} }); + return e[i].call(a.exports, a, a.exports, n), (a.l = !0), a.exports; + } + return ( + o(n, '__webpack_require__'), + (n.m = e), + (n.c = r), + (n.i = function (i) { + return i; + }), + (n.d = function (i, a, s) { + n.o(i, a) || + Object.defineProperty(i, a, { + configurable: !1, + enumerable: !0, + get: s + }); + }), + (n.n = function (i) { + var a = + i && i.__esModule + ? o(function () { + return i.default; + }, 'getDefault') + : o(function () { + return i; + }, 'getModuleExports'); + return n.d(a, 'a', a), a; + }), + (n.o = function (i, a) { + return Object.prototype.hasOwnProperty.call(i, a); + }), + (n.p = ''), + n((n.s = 7)) + ); + })([ + function (e, r) { + e.exports = t; + }, + function (e, r, n) { + 'use strict'; + var i = n(0).FDLayoutConstants; + function a() {} + o(a, 'CoSEConstants'); + for (var s in i) a[s] = i[s]; + (a.DEFAULT_USE_MULTI_LEVEL_SCALING = !1), + (a.DEFAULT_RADIAL_SEPARATION = i.DEFAULT_EDGE_LENGTH), + (a.DEFAULT_COMPONENT_SEPERATION = 60), + (a.TILE = !0), + (a.TILING_PADDING_VERTICAL = 10), + (a.TILING_PADDING_HORIZONTAL = 10), + (a.TREE_REDUCTION_ON_INCREMENTAL = !1), + (e.exports = a); + }, + function (e, r, n) { + 'use strict'; + var i = n(0).FDLayoutEdge; + function a(l, u, h) { + i.call(this, l, u, h); + } + o(a, 'CoSEEdge'), (a.prototype = Object.create(i.prototype)); + for (var s in i) a[s] = i[s]; + e.exports = a; + }, + function (e, r, n) { + 'use strict'; + var i = n(0).LGraph; + function a(l, u, h) { + i.call(this, l, u, h); + } + o(a, 'CoSEGraph'), (a.prototype = Object.create(i.prototype)); + for (var s in i) a[s] = i[s]; + e.exports = a; + }, + function (e, r, n) { + 'use strict'; + var i = n(0).LGraphManager; + function a(l) { + i.call(this, l); + } + o(a, 'CoSEGraphManager'), (a.prototype = Object.create(i.prototype)); + for (var s in i) a[s] = i[s]; + e.exports = a; + }, + function (e, r, n) { + 'use strict'; + var i = n(0).FDLayoutNode, + a = n(0).IMath; + function s(u, h, f, d) { + i.call(this, u, h, f, d); + } + o(s, 'CoSENode'), (s.prototype = Object.create(i.prototype)); + for (var l in i) s[l] = i[l]; + (s.prototype.move = function () { + var u = this.graphManager.getLayout(); + (this.displacementX = + (u.coolingFactor * (this.springForceX + this.repulsionForceX + this.gravitationForceX)) / + this.noOfChildren), + (this.displacementY = + (u.coolingFactor * + (this.springForceY + this.repulsionForceY + this.gravitationForceY)) / + this.noOfChildren), + Math.abs(this.displacementX) > u.coolingFactor * u.maxNodeDisplacement && + (this.displacementX = + u.coolingFactor * u.maxNodeDisplacement * a.sign(this.displacementX)), + Math.abs(this.displacementY) > u.coolingFactor * u.maxNodeDisplacement && + (this.displacementY = + u.coolingFactor * u.maxNodeDisplacement * a.sign(this.displacementY)), + this.child == null + ? this.moveBy(this.displacementX, this.displacementY) + : this.child.getNodes().length == 0 + ? this.moveBy(this.displacementX, this.displacementY) + : this.propogateDisplacementToChildren(this.displacementX, this.displacementY), + (u.totalDisplacement += Math.abs(this.displacementX) + Math.abs(this.displacementY)), + (this.springForceX = 0), + (this.springForceY = 0), + (this.repulsionForceX = 0), + (this.repulsionForceY = 0), + (this.gravitationForceX = 0), + (this.gravitationForceY = 0), + (this.displacementX = 0), + (this.displacementY = 0); + }), + (s.prototype.propogateDisplacementToChildren = function (u, h) { + for (var f = this.getChild().getNodes(), d, p = 0; p < f.length; p++) + (d = f[p]), + d.getChild() == null + ? (d.moveBy(u, h), (d.displacementX += u), (d.displacementY += h)) + : d.propogateDisplacementToChildren(u, h); + }), + (s.prototype.setPred1 = function (u) { + this.pred1 = u; + }), + (s.prototype.getPred1 = function () { + return pred1; + }), + (s.prototype.getPred2 = function () { + return pred2; + }), + (s.prototype.setNext = function (u) { + this.next = u; + }), + (s.prototype.getNext = function () { + return next; + }), + (s.prototype.setProcessed = function (u) { + this.processed = u; + }), + (s.prototype.isProcessed = function () { + return processed; + }), + (e.exports = s); + }, + function (e, r, n) { + 'use strict'; + var i = n(0).FDLayout, + a = n(4), + s = n(3), + l = n(5), + u = n(2), + h = n(1), + f = n(0).FDLayoutConstants, + d = n(0).LayoutConstants, + p = n(0).Point, + m = n(0).PointD, + g = n(0).Layout, + y = n(0).Integer, + v = n(0).IGeometry, + x = n(0).LGraph, + b = n(0).Transform; + function w() { + i.call(this), (this.toBeTiled = {}); + } + o(w, 'CoSELayout'), (w.prototype = Object.create(i.prototype)); + for (var S in i) w[S] = i[S]; + (w.prototype.newGraphManager = function () { + var T = new a(this); + return (this.graphManager = T), T; + }), + (w.prototype.newGraph = function (T) { + return new s(null, this.graphManager, T); + }), + (w.prototype.newNode = function (T) { + return new l(this.graphManager, T); + }), + (w.prototype.newEdge = function (T) { + return new u(null, null, T); + }), + (w.prototype.initParameters = function () { + i.prototype.initParameters.call(this, arguments), + this.isSubLayout || + (h.DEFAULT_EDGE_LENGTH < 10 + ? (this.idealEdgeLength = 10) + : (this.idealEdgeLength = h.DEFAULT_EDGE_LENGTH), + (this.useSmartIdealEdgeLengthCalculation = + h.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION), + (this.springConstant = f.DEFAULT_SPRING_STRENGTH), + (this.repulsionConstant = f.DEFAULT_REPULSION_STRENGTH), + (this.gravityConstant = f.DEFAULT_GRAVITY_STRENGTH), + (this.compoundGravityConstant = f.DEFAULT_COMPOUND_GRAVITY_STRENGTH), + (this.gravityRangeFactor = f.DEFAULT_GRAVITY_RANGE_FACTOR), + (this.compoundGravityRangeFactor = f.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR), + (this.prunedNodesAll = []), + (this.growTreeIterations = 0), + (this.afterGrowthIterations = 0), + (this.isTreeGrowing = !1), + (this.isGrowthFinished = !1), + (this.coolingCycle = 0), + (this.maxCoolingCycle = this.maxIterations / f.CONVERGENCE_CHECK_PERIOD), + (this.finalTemperature = f.CONVERGENCE_CHECK_PERIOD / this.maxIterations), + (this.coolingAdjuster = 1)); + }), + (w.prototype.layout = function () { + var T = d.DEFAULT_CREATE_BENDS_AS_NEEDED; + return ( + T && (this.createBendpoints(), this.graphManager.resetAllEdges()), + (this.level = 0), + this.classicLayout() + ); + }), + (w.prototype.classicLayout = function () { + if ( + ((this.nodesWithGravity = this.calculateNodesToApplyGravitationTo()), + this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity), + this.calcNoOfChildrenForAllNodes(), + this.graphManager.calcLowestCommonAncestors(), + this.graphManager.calcInclusionTreeDepths(), + this.graphManager.getRoot().calcEstimatedSize(), + this.calcIdealEdgeLengths(), + this.incremental) + ) { + if (h.TREE_REDUCTION_ON_INCREMENTAL) { + this.reduceTrees(), this.graphManager.resetAllNodesToApplyGravitation(); + var E = new Set(this.getAllNodes()), + _ = this.nodesWithGravity.filter(function (M) { + return E.has(M); + }); + this.graphManager.setAllNodesToApplyGravitation(_); + } + } else { + var T = this.getFlatForest(); + if (T.length > 0) this.positionNodesRadially(T); + else { + this.reduceTrees(), this.graphManager.resetAllNodesToApplyGravitation(); + var E = new Set(this.getAllNodes()), + _ = this.nodesWithGravity.filter(function (A) { + return E.has(A); + }); + this.graphManager.setAllNodesToApplyGravitation(_), this.positionNodesRandomly(); + } + } + return this.initSpringEmbedder(), this.runSpringEmbedder(), !0; + }), + (w.prototype.tick = function () { + if ( + (this.totalIterations++, + this.totalIterations === this.maxIterations && + !this.isTreeGrowing && + !this.isGrowthFinished) + ) + if (this.prunedNodesAll.length > 0) this.isTreeGrowing = !0; + else return !0; + if ( + this.totalIterations % f.CONVERGENCE_CHECK_PERIOD == 0 && + !this.isTreeGrowing && + !this.isGrowthFinished + ) { + if (this.isConverged()) + if (this.prunedNodesAll.length > 0) this.isTreeGrowing = !0; + else return !0; + this.coolingCycle++, + this.layoutQuality == 0 + ? (this.coolingAdjuster = this.coolingCycle) + : this.layoutQuality == 1 && (this.coolingAdjuster = this.coolingCycle / 3), + (this.coolingFactor = Math.max( + this.initialCoolingFactor - + (Math.pow( + this.coolingCycle, + Math.log(100 * (this.initialCoolingFactor - this.finalTemperature)) / + Math.log(this.maxCoolingCycle) + ) / + 100) * + this.coolingAdjuster, + this.finalTemperature + )), + (this.animationPeriod = Math.ceil( + this.initialAnimationPeriod * Math.sqrt(this.coolingFactor) + )); + } + if (this.isTreeGrowing) { + if (this.growTreeIterations % 10 == 0) + if (this.prunedNodesAll.length > 0) { + this.graphManager.updateBounds(), + this.updateGrid(), + this.growTree(this.prunedNodesAll), + this.graphManager.resetAllNodesToApplyGravitation(); + var T = new Set(this.getAllNodes()), + E = this.nodesWithGravity.filter(function (L) { + return T.has(L); + }); + this.graphManager.setAllNodesToApplyGravitation(E), + this.graphManager.updateBounds(), + this.updateGrid(), + (this.coolingFactor = f.DEFAULT_COOLING_FACTOR_INCREMENTAL); + } else (this.isTreeGrowing = !1), (this.isGrowthFinished = !0); + this.growTreeIterations++; + } + if (this.isGrowthFinished) { + if (this.isConverged()) return !0; + this.afterGrowthIterations % 10 == 0 && + (this.graphManager.updateBounds(), this.updateGrid()), + (this.coolingFactor = + f.DEFAULT_COOLING_FACTOR_INCREMENTAL * + ((100 - this.afterGrowthIterations) / 100)), + this.afterGrowthIterations++; + } + var _ = !this.isTreeGrowing && !this.isGrowthFinished, + A = + (this.growTreeIterations % 10 == 1 && this.isTreeGrowing) || + (this.afterGrowthIterations % 10 == 1 && this.isGrowthFinished); + return ( + (this.totalDisplacement = 0), + this.graphManager.updateBounds(), + this.calcSpringForces(), + this.calcRepulsionForces(_, A), + this.calcGravitationalForces(), + this.moveNodes(), + this.animate(), + !1 + ); + }), + (w.prototype.getPositionsData = function () { + for (var T = this.graphManager.getAllNodes(), E = {}, _ = 0; _ < T.length; _++) { + var A = T[_].rect, + L = T[_].id; + E[L] = { + id: L, + x: A.getCenterX(), + y: A.getCenterY(), + w: A.width, + h: A.height + }; + } + return E; + }), + (w.prototype.runSpringEmbedder = function () { + (this.initialAnimationPeriod = 25), (this.animationPeriod = this.initialAnimationPeriod); + var T = !1; + if (f.ANIMATE === 'during') this.emit('layoutstarted'); + else { + for (; !T; ) T = this.tick(); + this.graphManager.updateBounds(); + } + }), + (w.prototype.calculateNodesToApplyGravitationTo = function () { + var T = [], + E, + _ = this.graphManager.getGraphs(), + A = _.length, + L; + for (L = 0; L < A; L++) + (E = _[L]), E.updateConnected(), E.isConnected || (T = T.concat(E.getNodes())); + return T; + }), + (w.prototype.createBendpoints = function () { + var T = []; + T = T.concat(this.graphManager.getAllEdges()); + var E = new Set(), + _; + for (_ = 0; _ < T.length; _++) { + var A = T[_]; + if (!E.has(A)) { + var L = A.getSource(), + M = A.getTarget(); + if (L == M) + A.getBendpoints().push(new m()), + A.getBendpoints().push(new m()), + this.createDummyNodesForBendpoints(A), + E.add(A); + else { + var N = []; + if ( + ((N = N.concat(L.getEdgeListToNode(M))), + (N = N.concat(M.getEdgeListToNode(L))), + !E.has(N[0])) + ) { + if (N.length > 1) { + var k; + for (k = 0; k < N.length; k++) { + var I = N[k]; + I.getBendpoints().push(new m()), + this.createDummyNodesForBendpoints(I); + } + } + N.forEach(function (C) { + E.add(C); + }); + } + } + } + if (E.size == T.length) break; + } + }), + (w.prototype.positionNodesRadially = function (T) { + for ( + var E = new p(0, 0), + _ = Math.ceil(Math.sqrt(T.length)), + A = 0, + L = 0, + M = 0, + N = new m(0, 0), + k = 0; + k < T.length; + k++ + ) { + k % _ == 0 && + ((M = 0), (L = A), k != 0 && (L += h.DEFAULT_COMPONENT_SEPERATION), (A = 0)); + var I = T[k], + C = g.findCenterOfTree(I); + (E.x = M), + (E.y = L), + (N = w.radialLayout(I, C, E)), + N.y > A && (A = Math.floor(N.y)), + (M = Math.floor(N.x + h.DEFAULT_COMPONENT_SEPERATION)); + } + this.transform(new m(d.WORLD_CENTER_X - N.x / 2, d.WORLD_CENTER_Y - N.y / 2)); + }), + (w.radialLayout = function (T, E, _) { + var A = Math.max(this.maxDiagonalInTree(T), h.DEFAULT_RADIAL_SEPARATION); + w.branchRadialLayout(E, null, 0, 359, 0, A); + var L = x.calculateBounds(T), + M = new b(); + M.setDeviceOrgX(L.getMinX()), + M.setDeviceOrgY(L.getMinY()), + M.setWorldOrgX(_.x), + M.setWorldOrgY(_.y); + for (var N = 0; N < T.length; N++) { + var k = T[N]; + k.transform(M); + } + var I = new m(L.getMaxX(), L.getMaxY()); + return M.inverseTransformPoint(I); + }), + (w.branchRadialLayout = function (T, E, _, A, L, M) { + var N = (A - _ + 1) / 2; + N < 0 && (N += 180); + var k = (N + _) % 360, + I = (k * v.TWO_PI) / 360, + C = Math.cos(I), + O = L * Math.cos(I), + D = L * Math.sin(I); + T.setCenter(O, D); + var P = []; + P = P.concat(T.getEdges()); + var F = P.length; + E != null && F--; + for (var B = 0, $ = P.length, z, Y = T.getEdgesBetween(E); Y.length > 1; ) { + var Q = Y[0]; + Y.splice(0, 1); + var X = P.indexOf(Q); + X >= 0 && P.splice(X, 1), $--, F--; + } + E != null ? (z = (P.indexOf(Y[0]) + 1) % $) : (z = 0); + for (var ie = Math.abs(A - _) / F, j = z; B != F; j = ++j % $) { + var J = P[j].getOtherEnd(T); + if (J != E) { + var Z = (_ + B * ie) % 360, + H = (Z + ie) % 360; + w.branchRadialLayout(J, T, Z, H, L + M, M), B++; + } + } + }), + (w.maxDiagonalInTree = function (T) { + for (var E = y.MIN_VALUE, _ = 0; _ < T.length; _++) { + var A = T[_], + L = A.getDiagonal(); + L > E && (E = L); + } + return E; + }), + (w.prototype.calcRepulsionRange = function () { + return 2 * (this.level + 1) * this.idealEdgeLength; + }), + (w.prototype.groupZeroDegreeMembers = function () { + var T = this, + E = {}; + (this.memberGroups = {}), (this.idToDummyNode = {}); + for (var _ = [], A = this.graphManager.getAllNodes(), L = 0; L < A.length; L++) { + var M = A[L], + N = M.getParent(); + this.getNodeDegreeWithChildren(M) === 0 && + (N.id == null || !this.getToBeTiled(N)) && + _.push(M); + } + for (var L = 0; L < _.length; L++) { + var M = _[L], + k = M.getParent().id; + typeof E[k] > 'u' && (E[k] = []), (E[k] = E[k].concat(M)); + } + Object.keys(E).forEach(function (I) { + if (E[I].length > 1) { + var C = 'DummyCompound_' + I; + T.memberGroups[C] = E[I]; + var O = E[I][0].getParent(), + D = new l(T.graphManager); + (D.id = C), + (D.paddingLeft = O.paddingLeft || 0), + (D.paddingRight = O.paddingRight || 0), + (D.paddingBottom = O.paddingBottom || 0), + (D.paddingTop = O.paddingTop || 0), + (T.idToDummyNode[C] = D); + var P = T.getGraphManager().add(T.newGraph(), D), + F = O.getChild(); + F.add(D); + for (var B = 0; B < E[I].length; B++) { + var $ = E[I][B]; + F.remove($), P.add($); + } + } + }); + }), + (w.prototype.clearCompounds = function () { + var T = {}, + E = {}; + this.performDFSOnCompounds(); + for (var _ = 0; _ < this.compoundOrder.length; _++) + (E[this.compoundOrder[_].id] = this.compoundOrder[_]), + (T[this.compoundOrder[_].id] = [].concat( + this.compoundOrder[_].getChild().getNodes() + )), + this.graphManager.remove(this.compoundOrder[_].getChild()), + (this.compoundOrder[_].child = null); + this.graphManager.resetAllNodes(), this.tileCompoundMembers(T, E); + }), + (w.prototype.clearZeroDegreeMembers = function () { + var T = this, + E = (this.tiledZeroDegreePack = []); + Object.keys(this.memberGroups).forEach(function (_) { + var A = T.idToDummyNode[_]; + (E[_] = T.tileNodes(T.memberGroups[_], A.paddingLeft + A.paddingRight)), + (A.rect.width = E[_].width), + (A.rect.height = E[_].height); + }); + }), + (w.prototype.repopulateCompounds = function () { + for (var T = this.compoundOrder.length - 1; T >= 0; T--) { + var E = this.compoundOrder[T], + _ = E.id, + A = E.paddingLeft, + L = E.paddingTop; + this.adjustLocations(this.tiledMemberPack[_], E.rect.x, E.rect.y, A, L); + } + }), + (w.prototype.repopulateZeroDegreeMembers = function () { + var T = this, + E = this.tiledZeroDegreePack; + Object.keys(E).forEach(function (_) { + var A = T.idToDummyNode[_], + L = A.paddingLeft, + M = A.paddingTop; + T.adjustLocations(E[_], A.rect.x, A.rect.y, L, M); + }); + }), + (w.prototype.getToBeTiled = function (T) { + var E = T.id; + if (this.toBeTiled[E] != null) return this.toBeTiled[E]; + var _ = T.getChild(); + if (_ == null) return (this.toBeTiled[E] = !1), !1; + for (var A = _.getNodes(), L = 0; L < A.length; L++) { + var M = A[L]; + if (this.getNodeDegree(M) > 0) return (this.toBeTiled[E] = !1), !1; + if (M.getChild() == null) { + this.toBeTiled[M.id] = !1; + continue; + } + if (!this.getToBeTiled(M)) return (this.toBeTiled[E] = !1), !1; + } + return (this.toBeTiled[E] = !0), !0; + }), + (w.prototype.getNodeDegree = function (T) { + for (var E = T.id, _ = T.getEdges(), A = 0, L = 0; L < _.length; L++) { + var M = _[L]; + M.getSource().id !== M.getTarget().id && (A = A + 1); + } + return A; + }), + (w.prototype.getNodeDegreeWithChildren = function (T) { + var E = this.getNodeDegree(T); + if (T.getChild() == null) return E; + for (var _ = T.getChild().getNodes(), A = 0; A < _.length; A++) { + var L = _[A]; + E += this.getNodeDegreeWithChildren(L); + } + return E; + }), + (w.prototype.performDFSOnCompounds = function () { + (this.compoundOrder = []), + this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes()); + }), + (w.prototype.fillCompexOrderByDFS = function (T) { + for (var E = 0; E < T.length; E++) { + var _ = T[E]; + _.getChild() != null && this.fillCompexOrderByDFS(_.getChild().getNodes()), + this.getToBeTiled(_) && this.compoundOrder.push(_); + } + }), + (w.prototype.adjustLocations = function (T, E, _, A, L) { + (E += A), (_ += L); + for (var M = E, N = 0; N < T.rows.length; N++) { + var k = T.rows[N]; + E = M; + for (var I = 0, C = 0; C < k.length; C++) { + var O = k[C]; + (O.rect.x = E), + (O.rect.y = _), + (E += O.rect.width + T.horizontalPadding), + O.rect.height > I && (I = O.rect.height); + } + _ += I + T.verticalPadding; + } + }), + (w.prototype.tileCompoundMembers = function (T, E) { + var _ = this; + (this.tiledMemberPack = []), + Object.keys(T).forEach(function (A) { + var L = E[A]; + (_.tiledMemberPack[A] = _.tileNodes(T[A], L.paddingLeft + L.paddingRight)), + (L.rect.width = _.tiledMemberPack[A].width), + (L.rect.height = _.tiledMemberPack[A].height); + }); + }), + (w.prototype.tileNodes = function (T, E) { + var _ = h.TILING_PADDING_VERTICAL, + A = h.TILING_PADDING_HORIZONTAL, + L = { + rows: [], + rowWidth: [], + rowHeight: [], + width: 0, + height: E, + verticalPadding: _, + horizontalPadding: A + }; + T.sort(function (k, I) { + return k.rect.width * k.rect.height > I.rect.width * I.rect.height + ? -1 + : k.rect.width * k.rect.height < I.rect.width * I.rect.height + ? 1 + : 0; + }); + for (var M = 0; M < T.length; M++) { + var N = T[M]; + L.rows.length == 0 + ? this.insertNodeToRow(L, N, 0, E) + : this.canAddHorizontal(L, N.rect.width, N.rect.height) + ? this.insertNodeToRow(L, N, this.getShortestRowIndex(L), E) + : this.insertNodeToRow(L, N, L.rows.length, E), + this.shiftToLastRow(L); + } + return L; + }), + (w.prototype.insertNodeToRow = function (T, E, _, A) { + var L = A; + if (_ == T.rows.length) { + var M = []; + T.rows.push(M), T.rowWidth.push(L), T.rowHeight.push(0); + } + var N = T.rowWidth[_] + E.rect.width; + T.rows[_].length > 0 && (N += T.horizontalPadding), + (T.rowWidth[_] = N), + T.width < N && (T.width = N); + var k = E.rect.height; + _ > 0 && (k += T.verticalPadding); + var I = 0; + k > T.rowHeight[_] && + ((I = T.rowHeight[_]), (T.rowHeight[_] = k), (I = T.rowHeight[_] - I)), + (T.height += I), + T.rows[_].push(E); + }), + (w.prototype.getShortestRowIndex = function (T) { + for (var E = -1, _ = Number.MAX_VALUE, A = 0; A < T.rows.length; A++) + T.rowWidth[A] < _ && ((E = A), (_ = T.rowWidth[A])); + return E; + }), + (w.prototype.getLongestRowIndex = function (T) { + for (var E = -1, _ = Number.MIN_VALUE, A = 0; A < T.rows.length; A++) + T.rowWidth[A] > _ && ((E = A), (_ = T.rowWidth[A])); + return E; + }), + (w.prototype.canAddHorizontal = function (T, E, _) { + var A = this.getShortestRowIndex(T); + if (A < 0) return !0; + var L = T.rowWidth[A]; + if (L + T.horizontalPadding + E <= T.width) return !0; + var M = 0; + T.rowHeight[A] < _ && A > 0 && (M = _ + T.verticalPadding - T.rowHeight[A]); + var N; + T.width - L >= E + T.horizontalPadding + ? (N = (T.height + M) / (L + E + T.horizontalPadding)) + : (N = (T.height + M) / T.width), + (M = _ + T.verticalPadding); + var k; + return ( + T.width < E ? (k = (T.height + M) / E) : (k = (T.height + M) / T.width), + k < 1 && (k = 1 / k), + N < 1 && (N = 1 / N), + N < k + ); + }), + (w.prototype.shiftToLastRow = function (T) { + var E = this.getLongestRowIndex(T), + _ = T.rowWidth.length - 1, + A = T.rows[E], + L = A[A.length - 1], + M = L.width + T.horizontalPadding; + if (T.width - T.rowWidth[_] > M && E != _) { + A.splice(-1, 1), + T.rows[_].push(L), + (T.rowWidth[E] = T.rowWidth[E] - M), + (T.rowWidth[_] = T.rowWidth[_] + M), + (T.width = T.rowWidth[instance.getLongestRowIndex(T)]); + for (var N = Number.MIN_VALUE, k = 0; k < A.length; k++) + A[k].height > N && (N = A[k].height); + E > 0 && (N += T.verticalPadding); + var I = T.rowHeight[E] + T.rowHeight[_]; + (T.rowHeight[E] = N), + T.rowHeight[_] < L.height + T.verticalPadding && + (T.rowHeight[_] = L.height + T.verticalPadding); + var C = T.rowHeight[E] + T.rowHeight[_]; + (T.height += C - I), this.shiftToLastRow(T); + } + }), + (w.prototype.tilingPreLayout = function () { + h.TILE && + (this.groupZeroDegreeMembers(), this.clearCompounds(), this.clearZeroDegreeMembers()); + }), + (w.prototype.tilingPostLayout = function () { + h.TILE && (this.repopulateZeroDegreeMembers(), this.repopulateCompounds()); + }), + (w.prototype.reduceTrees = function () { + for (var T = [], E = !0, _; E; ) { + var A = this.graphManager.getAllNodes(), + L = []; + E = !1; + for (var M = 0; M < A.length; M++) + (_ = A[M]), + _.getEdges().length == 1 && + !_.getEdges()[0].isInterGraph && + _.getChild() == null && + (L.push([_, _.getEdges()[0], _.getOwner()]), (E = !0)); + if (E == !0) { + for (var N = [], k = 0; k < L.length; k++) + L[k][0].getEdges().length == 1 && + (N.push(L[k]), L[k][0].getOwner().remove(L[k][0])); + T.push(N), this.graphManager.resetAllNodes(), this.graphManager.resetAllEdges(); + } + } + this.prunedNodesAll = T; + }), + (w.prototype.growTree = function (T) { + for (var E = T.length, _ = T[E - 1], A, L = 0; L < _.length; L++) + (A = _[L]), + this.findPlaceforPrunedNode(A), + A[2].add(A[0]), + A[2].add(A[1], A[1].source, A[1].target); + T.splice(T.length - 1, 1), + this.graphManager.resetAllNodes(), + this.graphManager.resetAllEdges(); + }), + (w.prototype.findPlaceforPrunedNode = function (T) { + var E, + _, + A = T[0]; + A == T[1].source ? (_ = T[1].target) : (_ = T[1].source); + var L = _.startX, + M = _.finishX, + N = _.startY, + k = _.finishY, + I = 0, + C = 0, + O = 0, + D = 0, + P = [I, O, C, D]; + if (N > 0) + for (var F = L; F <= M; F++) + P[0] += this.grid[F][N - 1].length + this.grid[F][N].length - 1; + if (M < this.grid.length - 1) + for (var F = N; F <= k; F++) + P[1] += this.grid[M + 1][F].length + this.grid[M][F].length - 1; + if (k < this.grid[0].length - 1) + for (var F = L; F <= M; F++) + P[2] += this.grid[F][k + 1].length + this.grid[F][k].length - 1; + if (L > 0) + for (var F = N; F <= k; F++) + P[3] += this.grid[L - 1][F].length + this.grid[L][F].length - 1; + for (var B = y.MAX_VALUE, $, z, Y = 0; Y < P.length; Y++) + P[Y] < B ? ((B = P[Y]), ($ = 1), (z = Y)) : P[Y] == B && $++; + if ($ == 3 && B == 0) + P[0] == 0 && P[1] == 0 && P[2] == 0 + ? (E = 1) + : P[0] == 0 && P[1] == 0 && P[3] == 0 + ? (E = 0) + : P[0] == 0 && P[2] == 0 && P[3] == 0 + ? (E = 3) + : P[1] == 0 && P[2] == 0 && P[3] == 0 && (E = 2); + else if ($ == 2 && B == 0) { + var Q = Math.floor(Math.random() * 2); + P[0] == 0 && P[1] == 0 + ? Q == 0 + ? (E = 0) + : (E = 1) + : P[0] == 0 && P[2] == 0 + ? Q == 0 + ? (E = 0) + : (E = 2) + : P[0] == 0 && P[3] == 0 + ? Q == 0 + ? (E = 0) + : (E = 3) + : P[1] == 0 && P[2] == 0 + ? Q == 0 + ? (E = 1) + : (E = 2) + : P[1] == 0 && P[3] == 0 + ? Q == 0 + ? (E = 1) + : (E = 3) + : Q == 0 + ? (E = 2) + : (E = 3); + } else if ($ == 4 && B == 0) { + var Q = Math.floor(Math.random() * 4); + E = Q; + } else E = z; + E == 0 + ? A.setCenter( + _.getCenterX(), + _.getCenterY() - _.getHeight() / 2 - f.DEFAULT_EDGE_LENGTH - A.getHeight() / 2 + ) + : E == 1 + ? A.setCenter( + _.getCenterX() + _.getWidth() / 2 + f.DEFAULT_EDGE_LENGTH + A.getWidth() / 2, + _.getCenterY() + ) + : E == 2 + ? A.setCenter( + _.getCenterX(), + _.getCenterY() + _.getHeight() / 2 + f.DEFAULT_EDGE_LENGTH + A.getHeight() / 2 + ) + : A.setCenter( + _.getCenterX() - _.getWidth() / 2 - f.DEFAULT_EDGE_LENGTH - A.getWidth() / 2, + _.getCenterY() + ); + }), + (e.exports = w); + }, + function (e, r, n) { + 'use strict'; + var i = {}; + (i.layoutBase = n(0)), + (i.CoSEConstants = n(1)), + (i.CoSEEdge = n(2)), + (i.CoSEGraph = n(3)), + (i.CoSEGraphManager = n(4)), + (i.CoSELayout = n(6)), + (i.CoSENode = n(5)), + (e.exports = i); + } + ]); + }); + }); + var age = gi((lb, kB) => { + 'use strict'; + o(function (e, r) { + typeof lb == 'object' && typeof kB == 'object' + ? (kB.exports = r(TB())) + : typeof define == 'function' && define.amd + ? define(['cose-base'], r) + : typeof lb == 'object' + ? (lb.cytoscapeCoseBilkent = r(TB())) + : (e.cytoscapeCoseBilkent = r(e.coseBase)); + }, 'webpackUniversalModuleDefinition')(lb, function (t) { + return (function (e) { + var r = {}; + function n(i) { + if (r[i]) return r[i].exports; + var a = (r[i] = { i, l: !1, exports: {} }); + return e[i].call(a.exports, a, a.exports, n), (a.l = !0), a.exports; + } + return ( + o(n, '__webpack_require__'), + (n.m = e), + (n.c = r), + (n.i = function (i) { + return i; + }), + (n.d = function (i, a, s) { + n.o(i, a) || + Object.defineProperty(i, a, { + configurable: !1, + enumerable: !0, + get: s + }); + }), + (n.n = function (i) { + var a = + i && i.__esModule + ? o(function () { + return i.default; + }, 'getDefault') + : o(function () { + return i; + }, 'getModuleExports'); + return n.d(a, 'a', a), a; + }), + (n.o = function (i, a) { + return Object.prototype.hasOwnProperty.call(i, a); + }), + (n.p = ''), + n((n.s = 1)) + ); + })([ + function (e, r) { + e.exports = t; + }, + function (e, r, n) { + 'use strict'; + var i = n(0).layoutBase.LayoutConstants, + a = n(0).layoutBase.FDLayoutConstants, + s = n(0).CoSEConstants, + l = n(0).CoSELayout, + u = n(0).CoSENode, + h = n(0).layoutBase.PointD, + f = n(0).layoutBase.DimensionD, + d = { + ready: o(function () {}, 'ready'), + stop: o(function () {}, 'stop'), + quality: 'default', + nodeDimensionsIncludeLabels: !1, + refresh: 30, + fit: !0, + padding: 10, + randomize: !0, + nodeRepulsion: 4500, + idealEdgeLength: 50, + edgeElasticity: 0.45, + nestingFactor: 0.1, + gravity: 0.25, + numIter: 2500, + tile: !0, + animate: 'end', + animationDuration: 500, + tilingPaddingVertical: 10, + tilingPaddingHorizontal: 10, + gravityRangeCompound: 1.5, + gravityCompound: 1, + gravityRange: 3.8, + initialEnergyOnIncremental: 0.5 + }; + function p(v, x) { + var b = {}; + for (var w in v) b[w] = v[w]; + for (var w in x) b[w] = x[w]; + return b; + } + o(p, 'extend'); + function m(v) { + (this.options = p(d, v)), g(this.options); + } + o(m, '_CoSELayout'); + var g = o(function (x) { + x.nodeRepulsion != null && + (s.DEFAULT_REPULSION_STRENGTH = a.DEFAULT_REPULSION_STRENGTH = x.nodeRepulsion), + x.idealEdgeLength != null && + (s.DEFAULT_EDGE_LENGTH = a.DEFAULT_EDGE_LENGTH = x.idealEdgeLength), + x.edgeElasticity != null && + (s.DEFAULT_SPRING_STRENGTH = a.DEFAULT_SPRING_STRENGTH = x.edgeElasticity), + x.nestingFactor != null && + (s.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = a.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = + x.nestingFactor), + x.gravity != null && (s.DEFAULT_GRAVITY_STRENGTH = a.DEFAULT_GRAVITY_STRENGTH = x.gravity), + x.numIter != null && (s.MAX_ITERATIONS = a.MAX_ITERATIONS = x.numIter), + x.gravityRange != null && + (s.DEFAULT_GRAVITY_RANGE_FACTOR = a.DEFAULT_GRAVITY_RANGE_FACTOR = x.gravityRange), + x.gravityCompound != null && + (s.DEFAULT_COMPOUND_GRAVITY_STRENGTH = a.DEFAULT_COMPOUND_GRAVITY_STRENGTH = + x.gravityCompound), + x.gravityRangeCompound != null && + (s.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = a.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = + x.gravityRangeCompound), + x.initialEnergyOnIncremental != null && + (s.DEFAULT_COOLING_FACTOR_INCREMENTAL = a.DEFAULT_COOLING_FACTOR_INCREMENTAL = + x.initialEnergyOnIncremental), + x.quality == 'draft' + ? (i.QUALITY = 0) + : x.quality == 'proof' + ? (i.QUALITY = 2) + : (i.QUALITY = 1), + (s.NODE_DIMENSIONS_INCLUDE_LABELS = + a.NODE_DIMENSIONS_INCLUDE_LABELS = + i.NODE_DIMENSIONS_INCLUDE_LABELS = + x.nodeDimensionsIncludeLabels), + (s.DEFAULT_INCREMENTAL = a.DEFAULT_INCREMENTAL = i.DEFAULT_INCREMENTAL = !x.randomize), + (s.ANIMATE = a.ANIMATE = i.ANIMATE = x.animate), + (s.TILE = x.tile), + (s.TILING_PADDING_VERTICAL = + typeof x.tilingPaddingVertical == 'function' + ? x.tilingPaddingVertical.call() + : x.tilingPaddingVertical), + (s.TILING_PADDING_HORIZONTAL = + typeof x.tilingPaddingHorizontal == 'function' + ? x.tilingPaddingHorizontal.call() + : x.tilingPaddingHorizontal); + }, 'getUserOptions'); + (m.prototype.run = function () { + var v, + x, + b = this.options, + w = (this.idToLNode = {}), + S = (this.layout = new l()), + T = this; + (T.stopped = !1), + (this.cy = this.options.cy), + this.cy.trigger({ type: 'layoutstart', layout: this }); + var E = S.newGraphManager(); + this.gm = E; + var _ = this.options.eles.nodes(), + A = this.options.eles.edges(); + (this.root = E.addRoot()), this.processChildrenList(this.root, this.getTopMostNodes(_), S); + for (var L = 0; L < A.length; L++) { + var M = A[L], + N = this.idToLNode[M.data('source')], + k = this.idToLNode[M.data('target')]; + if (N !== k && N.getEdgesBetween(k).length == 0) { + var I = E.add(S.newEdge(), N, k); + I.id = M.id(); + } + } + var C = o(function (P, F) { + typeof P == 'number' && (P = F); + var B = P.data('id'), + $ = T.idToLNode[B]; + return { + x: $.getRect().getCenterX(), + y: $.getRect().getCenterY() + }; + }, 'getPositions'), + O = o(function D() { + for ( + var P = o(function () { + b.fit && b.cy.fit(b.eles, b.padding), + v || + ((v = !0), + T.cy.one('layoutready', b.ready), + T.cy.trigger({ type: 'layoutready', layout: T })); + }, 'afterReposition'), + F = T.options.refresh, + B, + $ = 0; + $ < F && !B; + $++ + ) + B = T.stopped || T.layout.tick(); + if (B) { + S.checkLayoutSuccess() && !S.isSubLayout && S.doPostLayout(), + S.tilingPostLayout && S.tilingPostLayout(), + (S.isLayoutFinished = !0), + T.options.eles.nodes().positions(C), + P(), + T.cy.one('layoutstop', T.options.stop), + T.cy.trigger({ type: 'layoutstop', layout: T }), + x && cancelAnimationFrame(x), + (v = !1); + return; + } + var z = T.layout.getPositionsData(); + b.eles.nodes().positions(function (Y, Q) { + if ((typeof Y == 'number' && (Y = Q), !Y.isParent())) { + for ( + var X = Y.id(), ie = z[X], j = Y; + ie == null && + ((ie = z[j.data('parent')] || z['DummyCompound_' + j.data('parent')]), + (z[X] = ie), + (j = j.parent()[0]), + j != null); + + ); + return ie != null + ? { x: ie.x, y: ie.y } + : { x: Y.position('x'), y: Y.position('y') }; + } + }), + P(), + (x = requestAnimationFrame(D)); + }, 'iterateAnimated'); + return ( + S.addListener('layoutstarted', function () { + T.options.animate === 'during' && (x = requestAnimationFrame(O)); + }), + S.runLayout(), + this.options.animate !== 'during' && + (T.options.eles.nodes().not(':parent').layoutPositions(T, T.options, C), (v = !1)), + this + ); + }), + (m.prototype.getTopMostNodes = function (v) { + for (var x = {}, b = 0; b < v.length; b++) x[v[b].id()] = !0; + var w = v.filter(function (S, T) { + typeof S == 'number' && (S = T); + for (var E = S.parent()[0]; E != null; ) { + if (x[E.id()]) return !1; + E = E.parent()[0]; + } + return !0; + }); + return w; + }), + (m.prototype.processChildrenList = function (v, x, b) { + for (var w = x.length, S = 0; S < w; S++) { + var T = x[S], + E = T.children(), + _, + A = T.layoutDimensions({ + nodeDimensionsIncludeLabels: this.options.nodeDimensionsIncludeLabels + }); + if ( + (T.outerWidth() != null && T.outerHeight() != null + ? (_ = v.add( + new u( + b.graphManager, + new h(T.position('x') - A.w / 2, T.position('y') - A.h / 2), + new f(parseFloat(A.w), parseFloat(A.h)) + ) + )) + : (_ = v.add(new u(this.graphManager))), + (_.id = T.data('id')), + (_.paddingLeft = parseInt(T.css('padding'))), + (_.paddingTop = parseInt(T.css('padding'))), + (_.paddingRight = parseInt(T.css('padding'))), + (_.paddingBottom = parseInt(T.css('padding'))), + this.options.nodeDimensionsIncludeLabels && T.isParent()) + ) { + var L = T.boundingBox({ + includeLabels: !0, + includeNodes: !1 + }).w, + M = T.boundingBox({ + includeLabels: !0, + includeNodes: !1 + }).h, + N = T.css('text-halign'); + (_.labelWidth = L), (_.labelHeight = M), (_.labelPos = N); + } + if ( + ((this.idToLNode[T.data('id')] = _), + isNaN(_.rect.x) && (_.rect.x = 0), + isNaN(_.rect.y) && (_.rect.y = 0), + E != null && E.length > 0) + ) { + var k; + (k = b.getGraphManager().add(b.newGraph(), _)), this.processChildrenList(k, E, b); + } + } + }), + (m.prototype.stop = function () { + return (this.stopped = !0), this; + }); + var y = o(function (x) { + x('layout', 'cose-bilkent', m); + }, 'register'); + typeof cytoscape < 'u' && y(cytoscape), (e.exports = y); + } + ]); + }); + }); + function fZe(t, e, r, n, i) { + return t + .insert('polygon', ':first-child') + .attr( + 'points', + n + .map(function (a) { + return a.x + ',' + a.y; + }) + .join(' ') + ) + .attr('transform', 'translate(' + (i.width - e) / 2 + ', ' + r + ')'); + } + var sZe, + oZe, + lZe, + cZe, + uZe, + hZe, + dZe, + pZe, + sge, + oge, + lge = R(() => { + 'use strict'; + Al(); + xr(); + (sZe = 12), + (oZe = o(function (t, e, r, n) { + e + .append('path') + .attr('id', 'node-' + r.id) + .attr('class', 'node-bkg node-' + t.type2Str(r.type)) + .attr( + 'd', + `M0 ${r.height - 5} v${-r.height + 2 * 5} q0,-5 5,-5 h${r.width - 2 * 5} q5,0 5,5 v${ + r.height - 5 + } H0 Z` + ), + e + .append('line') + .attr('class', 'node-line-' + n) + .attr('x1', 0) + .attr('y1', r.height) + .attr('x2', r.width) + .attr('y2', r.height); + }, 'defaultBkg')), + (lZe = o(function (t, e, r) { + e.append('rect') + .attr('id', 'node-' + r.id) + .attr('class', 'node-bkg node-' + t.type2Str(r.type)) + .attr('height', r.height) + .attr('width', r.width); + }, 'rectBkg')), + (cZe = o(function (t, e, r) { + let n = r.width, + i = r.height, + a = 0.15 * n, + s = 0.25 * n, + l = 0.35 * n, + u = 0.2 * n; + e.append('path') + .attr('id', 'node-' + r.id) + .attr('class', 'node-bkg node-' + t.type2Str(r.type)) + .attr( + 'd', + `M0 0 a${a},${a} 0 0,1 ${n * 0.25},${-1 * n * 0.1} + a${l},${l} 1 0,1 ${n * 0.4},${-1 * n * 0.1} + a${s},${s} 1 0,1 ${n * 0.35},${1 * n * 0.2} + + a${a},${a} 1 0,1 ${n * 0.15},${1 * i * 0.35} + a${u},${u} 1 0,1 ${-1 * n * 0.15},${1 * i * 0.65} + + a${s},${a} 1 0,1 ${-1 * n * 0.25},${n * 0.15} + a${l},${l} 1 0,1 ${-1 * n * 0.5},0 + a${a},${a} 1 0,1 ${-1 * n * 0.25},${-1 * n * 0.15} + + a${a},${a} 1 0,1 ${-1 * n * 0.1},${-1 * i * 0.35} + a${u},${u} 1 0,1 ${n * 0.1},${-1 * i * 0.65} + + H0 V0 Z` + ); + }, 'cloudBkg')), + (uZe = o(function (t, e, r) { + let n = r.width, + i = r.height, + a = 0.15 * n; + e.append('path') + .attr('id', 'node-' + r.id) + .attr('class', 'node-bkg node-' + t.type2Str(r.type)) + .attr( + 'd', + `M0 0 a${a},${a} 1 0,0 ${n * 0.25},${-1 * i * 0.1} + a${a},${a} 1 0,0 ${n * 0.25},0 + a${a},${a} 1 0,0 ${n * 0.25},0 + a${a},${a} 1 0,0 ${n * 0.25},${1 * i * 0.1} + + a${a},${a} 1 0,0 ${n * 0.15},${1 * i * 0.33} + a${a * 0.8},${a * 0.8} 1 0,0 0,${1 * i * 0.34} + a${a},${a} 1 0,0 ${-1 * n * 0.15},${1 * i * 0.33} + + a${a},${a} 1 0,0 ${-1 * n * 0.25},${i * 0.15} + a${a},${a} 1 0,0 ${-1 * n * 0.25},0 + a${a},${a} 1 0,0 ${-1 * n * 0.25},0 + a${a},${a} 1 0,0 ${-1 * n * 0.25},${-1 * i * 0.15} + + a${a},${a} 1 0,0 ${-1 * n * 0.1},${-1 * i * 0.33} + a${a * 0.8},${a * 0.8} 1 0,0 0,${-1 * i * 0.34} + a${a},${a} 1 0,0 ${n * 0.1},${-1 * i * 0.33} + + H0 V0 Z` + ); + }, 'bangBkg')), + (hZe = o(function (t, e, r) { + e.append('circle') + .attr('id', 'node-' + r.id) + .attr('class', 'node-bkg node-' + t.type2Str(r.type)) + .attr('r', r.width / 2); + }, 'circleBkg')); + o(fZe, 'insertPolygonShape'); + (dZe = o(function (t, e, r) { + let n = r.height, + a = n / 4, + s = r.width - r.padding + 2 * a, + l = [ + { x: a, y: 0 }, + { x: s - a, y: 0 }, + { x: s, y: -n / 2 }, + { x: s - a, y: -n }, + { x: a, y: -n }, + { x: 0, y: -n / 2 } + ]; + fZe(e, s, n, l, r); + }, 'hexagonBkg')), + (pZe = o(function (t, e, r) { + e.append('rect') + .attr('id', 'node-' + r.id) + .attr('class', 'node-bkg node-' + t.type2Str(r.type)) + .attr('height', r.height) + .attr('rx', r.padding) + .attr('ry', r.padding) + .attr('width', r.width); + }, 'roundedRectBkg')), + (sge = o(async function (t, e, r, n, i) { + let a = i.htmlLabels, + s = n % (sZe - 1), + l = e.append('g'); + r.section = s; + let u = 'section-' + s; + s < 0 && (u += ' section-root'), + l.attr('class', (r.class ? r.class + ' ' : '') + 'mindmap-node ' + u); + let h = l.append('g'), + f = l.append('g'), + d = r.descr.replace( + /()/g, + ` +` + ); + await ta(f, d, { useHtmlLabels: a, width: r.width, classes: 'mindmap-node-label' }, i), + a || + f + .attr('dy', '1em') + .attr('alignment-baseline', 'middle') + .attr('dominant-baseline', 'middle') + .attr('text-anchor', 'middle'); + let p = f.node().getBBox(), + [m] = mc(i.fontSize); + if ( + ((r.height = p.height + m * 1.1 * 0.5 + r.padding), (r.width = p.width + 2 * r.padding), r.icon) + ) + if (r.type === t.nodeType.CIRCLE) + (r.height += 50), + (r.width += 50), + l + .append('foreignObject') + .attr('height', '50px') + .attr('width', r.width) + .attr('style', 'text-align: center;') + .append('div') + .attr('class', 'icon-container') + .append('i') + .attr('class', 'node-icon-' + s + ' ' + r.icon), + f.attr( + 'transform', + 'translate(' + r.width / 2 + ', ' + (r.height / 2 - 1.5 * r.padding) + ')' + ); + else { + r.width += 50; + let g = r.height; + r.height = Math.max(g, 60); + let y = Math.abs(r.height - g); + l + .append('foreignObject') + .attr('width', '60px') + .attr('height', r.height) + .attr('style', 'text-align: center;margin-top:' + y / 2 + 'px;') + .append('div') + .attr('class', 'icon-container') + .append('i') + .attr('class', 'node-icon-' + s + ' ' + r.icon), + f.attr( + 'transform', + 'translate(' + (25 + r.width / 2) + ', ' + (y / 2 + r.padding / 2) + ')' + ); + } + else if (a) { + let g = (r.width - p.width) / 2, + y = (r.height - p.height) / 2; + f.attr('transform', 'translate(' + g + ', ' + y + ')'); + } else { + let g = r.width / 2, + y = r.padding / 2; + f.attr('transform', 'translate(' + g + ', ' + y + ')'); + } + switch (r.type) { + case t.nodeType.DEFAULT: + oZe(t, h, r, s); + break; + case t.nodeType.ROUNDED_RECT: + pZe(t, h, r, s); + break; + case t.nodeType.RECT: + lZe(t, h, r, s); + break; + case t.nodeType.CIRCLE: + h.attr('transform', 'translate(' + r.width / 2 + ', ' + +r.height / 2 + ')'), + hZe(t, h, r, s); + break; + case t.nodeType.CLOUD: + cZe(t, h, r, s); + break; + case t.nodeType.BANG: + uZe(t, h, r, s); + break; + case t.nodeType.HEXAGON: + dZe(t, h, r, s); + break; + } + return t.setElementForId(r.id, l), r.height; + }, 'drawNode')), + (oge = o(function (t, e) { + let r = t.getElementById(e.id), + n = e.x || 0, + i = e.y || 0; + r.attr('transform', 'translate(' + n + ',' + i + ')'); + }, 'positionNode')); + }); + async function uge(t, e, r, n, i) { + await sge(t, e, r, n, i), + r.children && (await Promise.all(r.children.map((a, s) => uge(t, e, a, n < 0 ? s : n, i)))); + } + function mZe(t, e) { + e.edges().map((r, n) => { + let i = r.data(); + if (r[0]._private.bodyBounds) { + let a = r[0]._private.rscratch; + V.trace('Edge: ', n, i), + t + .insert('path') + .attr('d', `M ${a.startX},${a.startY} L ${a.midX},${a.midY} L${a.endX},${a.endY} `) + .attr('class', 'edge section-edge-' + i.section + ' edge-depth-' + i.depth); + } + }); + } + function hge(t, e, r, n) { + e.add({ + group: 'nodes', + data: { + id: t.id.toString(), + labelText: t.descr, + height: t.height, + width: t.width, + level: n, + nodeId: t.id, + padding: t.padding, + type: t.type + }, + position: { x: t.x, y: t.y } + }), + t.children && + t.children.forEach((i) => { + hge(i, e, r, n + 1), + e.add({ + group: 'edges', + data: { + id: `${t.id}_${i.id}`, + source: t.id, + target: i.id, + depth: n, + section: i.section + } + }); + }); + } + function gZe(t, e) { + return new Promise((r) => { + let n = $e('body').append('div').attr('id', 'cy').attr('style', 'display:none'), + i = rl({ + container: document.getElementById('cy'), + style: [{ selector: 'edge', style: { 'curve-style': 'bezier' } }] + }); + n.remove(), + hge(t, i, e, 0), + i.nodes().forEach(function (a) { + a.layoutDimensions = () => { + let s = a.data(); + return { w: s.width, h: s.height }; + }; + }), + i + .layout({ + name: 'cose-bilkent', + quality: 'proof', + styleEnabled: !1, + animate: !1 + }) + .run(), + i.ready((a) => { + V.info('Ready', a), r(i); + }); + }); + } + function yZe(t, e) { + e.nodes().map((r, n) => { + let i = r.data(); + (i.x = r.position().x), (i.y = r.position().y), oge(t, i); + let a = t.getElementById(i.nodeId); + V.info('Id:', n, 'Position: (', r.position().x, ', ', r.position().y, ')', i), + a.attr('transform', `translate(${r.position().x - i.width / 2}, ${r.position().y - i.height / 2})`), + a.attr('attr', `apa-${n})`); + }); + } + var cge, + vZe, + fge, + dge = R(() => { + 'use strict'; + vB(); + cge = Xi(age(), 1); + Zt(); + _t(); + ut(); + pf(); + Yn(); + lge(); + sl(); + rl.use(cge.default); + o(uge, 'drawNodes'); + o(mZe, 'drawEdges'); + o(hge, 'addNodes'); + o(gZe, 'layoutMindmap'); + o(yZe, 'positionNodes'); + (vZe = o(async (t, e, r, n) => { + V.debug( + `Rendering mindmap diagram +` + t + ); + let i = n.db, + a = i.getMindmap(); + if (!a) return; + let s = de(); + s.htmlLabels = !1; + let l = Ps(e), + u = l.append('g'); + u.attr('class', 'mindmap-edges'); + let h = l.append('g'); + h.attr('class', 'mindmap-nodes'), await uge(i, h, a, -1, s); + let f = await gZe(a, s); + mZe(u, f), + yZe(i, f), + Lo( + void 0, + l, + s.mindmap?.padding ?? mr.mindmap.padding, + s.mindmap?.useMaxWidth ?? mr.mindmap.useMaxWidth + ); + }, 'draw')), + (fge = { draw: vZe }); + }); + var xZe, + bZe, + pge, + mge = R(() => { + 'use strict'; + al(); + (xZe = o((t) => { + let e = ''; + for (let r = 0; r < t.THEME_COLOR_LIMIT; r++) + (t['lineColor' + r] = t['lineColor' + r] || t['cScaleInv' + r]), + Wa(t['lineColor' + r]) + ? (t['lineColor' + r] = Et(t['lineColor' + r], 20)) + : (t['lineColor' + r] = Dt(t['lineColor' + r], 20)); + for (let r = 0; r < t.THEME_COLOR_LIMIT; r++) { + let n = '' + (17 - 3 * r); + e += ` + .section-${r - 1} rect, .section-${r - 1} path, .section-${r - 1} circle, .section-${r - 1} polygon, .section-${ + r - 1 + } path { + fill: ${t['cScale' + r]}; + } + .section-${r - 1} text { + fill: ${t['cScaleLabel' + r]}; + } + .node-icon-${r - 1} { + font-size: 40px; + color: ${t['cScaleLabel' + r]}; + } + .section-edge-${r - 1}{ + stroke: ${t['cScale' + r]}; + } + .edge-depth-${r - 1}{ + stroke-width: ${n}; + } + .section-${r - 1} line { + stroke: ${t['cScaleInv' + r]} ; + stroke-width: 3; + } + + .disabled, .disabled circle, .disabled text { + fill: lightgray; + } + .disabled text { + fill: #efefef; + } + `; + } + return e; + }, 'genSections')), + (bZe = o( + (t) => ` + .edge { + stroke-width: 3; + } + ${xZe(t)} + .section-root rect, .section-root path, .section-root circle, .section-root polygon { + fill: ${t.git0}; + } + .section-root text { + fill: ${t.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .mindmap-node-label { + dy: 1em; + alignment-baseline: middle; + text-anchor: middle; + dominant-baseline: middle; + text-align: center; + } +`, + 'getStyles' + )), + (pge = bZe); + }); + var gge = {}; + hr(gge, { diagram: () => wZe }); + var wZe, + yge = R(() => { + 'use strict'; + r0e(); + a0e(); + dge(); + mge(); + wZe = { db: i0e, renderer: fge, parser: t0e, styles: pge }; + }); + var EB, + cb, + bge = R(() => { + 'use strict'; + EB = (function () { + var t = o(function (l, u, h, f) { + for (h = h || {}, f = l.length; f--; h[l[f]] = u); + return h; + }, 'o'), + e = [1, 9], + r = [1, 10], + n = [1, 5, 10, 12], + i = { + trace: o(function () {}, 'trace'), + yy: {}, + symbols_: { + error: 2, + start: 3, + SANKEY: 4, + NEWLINE: 5, + csv: 6, + opt_eof: 7, + record: 8, + csv_tail: 9, + EOF: 10, + 'field[source]': 11, + COMMA: 12, + 'field[target]': 13, + 'field[value]': 14, + field: 15, + escaped: 16, + non_escaped: 17, + DQUOTE: 18, + ESCAPED_TEXT: 19, + NON_ESCAPED_TEXT: 20, + $accept: 0, + $end: 1 + }, + terminals_: { + 2: 'error', + 4: 'SANKEY', + 5: 'NEWLINE', + 10: 'EOF', + 11: 'field[source]', + 12: 'COMMA', + 13: 'field[target]', + 14: 'field[value]', + 18: 'DQUOTE', + 19: 'ESCAPED_TEXT', + 20: 'NON_ESCAPED_TEXT' + }, + productions_: [ + 0, + [3, 4], + [6, 2], + [9, 2], + [9, 0], + [7, 1], + [7, 0], + [8, 5], + [15, 1], + [15, 1], + [16, 3], + [17, 1] + ], + performAction: o(function (u, h, f, d, p, m, g) { + var y = m.length - 1; + switch (p) { + case 7: + let v = d.findOrCreateNode(m[y - 4].trim().replaceAll('""', '"')), + x = d.findOrCreateNode(m[y - 2].trim().replaceAll('""', '"')), + b = parseFloat(m[y].trim()); + d.addLink(v, x, b); + break; + case 8: + case 9: + case 11: + this.$ = m[y]; + break; + case 10: + this.$ = m[y - 1]; + break; + } + }, 'anonymous'), + table: [ + { 3: 1, 4: [1, 2] }, + { 1: [3] }, + { 5: [1, 3] }, + { 6: 4, 8: 5, 15: 6, 16: 7, 17: 8, 18: e, 20: r }, + { 1: [2, 6], 7: 11, 10: [1, 12] }, + t(r, [2, 4], { 9: 13, 5: [1, 14] }), + { 12: [1, 15] }, + t(n, [2, 8]), + t(n, [2, 9]), + { 19: [1, 16] }, + t(n, [2, 11]), + { 1: [2, 1] }, + { 1: [2, 5] }, + t(r, [2, 2]), + { 6: 17, 8: 5, 15: 6, 16: 7, 17: 8, 18: e, 20: r }, + { 15: 18, 16: 7, 17: 8, 18: e, 20: r }, + { 18: [1, 19] }, + t(r, [2, 3]), + { 12: [1, 20] }, + t(n, [2, 10]), + { 15: 21, 16: 7, 17: 8, 18: e, 20: r }, + t([1, 5, 10], [2, 7]) + ], + defaultActions: { 11: [2, 1], 12: [2, 5] }, + parseError: o(function (u, h) { + if (h.recoverable) this.trace(u); + else { + var f = new Error(u); + throw ((f.hash = h), f); + } + }, 'parseError'), + parse: o(function (u) { + var h = this, + f = [0], + d = [], + p = [null], + m = [], + g = this.table, + y = '', + v = 0, + x = 0, + b = 0, + w = 2, + S = 1, + T = m.slice.call(arguments, 1), + E = Object.create(this.lexer), + _ = { yy: {} }; + for (var A in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, A) && (_.yy[A] = this.yy[A]); + E.setInput(u, _.yy), + (_.yy.lexer = E), + (_.yy.parser = this), + typeof E.yylloc > 'u' && (E.yylloc = {}); + var L = E.yylloc; + m.push(L); + var M = E.options && E.options.ranges; + typeof _.yy.parseError == 'function' + ? (this.parseError = _.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError); + function N(ie) { + (f.length = f.length - 2 * ie), (p.length = p.length - ie), (m.length = m.length - ie); + } + o(N, 'popStack'); + function k() { + var ie; + return ( + (ie = d.pop() || E.lex() || S), + typeof ie != 'number' && + (ie instanceof Array && ((d = ie), (ie = d.pop())), + (ie = h.symbols_[ie] || ie)), + ie + ); + } + o(k, 'lex'); + for (var I, C, O, D, P, F, B = {}, $, z, Y, Q; ; ) { + if ( + ((O = f[f.length - 1]), + this.defaultActions[O] + ? (D = this.defaultActions[O]) + : ((I === null || typeof I > 'u') && (I = k()), (D = g[O] && g[O][I])), + typeof D > 'u' || !D.length || !D[0]) + ) { + var X = ''; + Q = []; + for ($ in g[O]) + this.terminals_[$] && $ > w && Q.push("'" + this.terminals_[$] + "'"); + E.showPosition + ? (X = + 'Parse error on line ' + + (v + 1) + + `: +` + + E.showPosition() + + ` +Expecting ` + + Q.join(', ') + + ", got '" + + (this.terminals_[I] || I) + + "'") + : (X = + 'Parse error on line ' + + (v + 1) + + ': Unexpected ' + + (I == S ? 'end of input' : "'" + (this.terminals_[I] || I) + "'")), + this.parseError(X, { + text: E.match, + token: this.terminals_[I] || I, + line: E.yylineno, + loc: L, + expected: Q + }); + } + if (D[0] instanceof Array && D.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + O + ', token: ' + I + ); + switch (D[0]) { + case 1: + f.push(I), + p.push(E.yytext), + m.push(E.yylloc), + f.push(D[1]), + (I = null), + C + ? ((I = C), (C = null)) + : ((x = E.yyleng), + (y = E.yytext), + (v = E.yylineno), + (L = E.yylloc), + b > 0 && b--); + break; + case 2: + if ( + ((z = this.productions_[D[1]][1]), + (B.$ = p[p.length - z]), + (B._$ = { + first_line: m[m.length - (z || 1)].first_line, + last_line: m[m.length - 1].last_line, + first_column: m[m.length - (z || 1)].first_column, + last_column: m[m.length - 1].last_column + }), + M && + (B._$.range = [ + m[m.length - (z || 1)].range[0], + m[m.length - 1].range[1] + ]), + (F = this.performAction.apply(B, [y, x, v, _.yy, D[1], p, m].concat(T))), + typeof F < 'u') + ) + return F; + z && + ((f = f.slice(0, -1 * z * 2)), + (p = p.slice(0, -1 * z)), + (m = m.slice(0, -1 * z))), + f.push(this.productions_[D[1]][0]), + p.push(B.$), + m.push(B._$), + (Y = g[f[f.length - 2]][f[f.length - 1]]), + f.push(Y); + break; + case 3: + return !0; + } + } + return !0; + }, 'parse') + }, + a = (function () { + var l = { + EOF: 1, + parseError: o(function (h, f) { + if (this.yy.parser) this.yy.parser.parseError(h, f); + else throw new Error(h); + }, 'parseError'), + setInput: o(function (u, h) { + return ( + (this.yy = h || this.yy || {}), + (this._input = u), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, 'setInput'), + input: o(function () { + var u = this._input[0]; + (this.yytext += u), + this.yyleng++, + this.offset++, + (this.match += u), + (this.matched += u); + var h = u.match(/(?:\r\n?|\n).*/g); + return ( + h ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + u + ); + }, 'input'), + unput: o(function (u) { + var h = u.length, + f = u.split(/(?:\r\n?|\n)/g); + (this._input = u + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - h)), + (this.offset -= h); + var d = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + f.length - 1 && (this.yylineno -= f.length - 1); + var p = this.yylloc.range; + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: f + ? (f.length === d.length ? this.yylloc.first_column : 0) + + d[d.length - f.length].length - + f[0].length + : this.yylloc.first_column - h + }), + this.options.ranges && (this.yylloc.range = [p[0], p[0] + this.yyleng - h]), + (this.yyleng = this.yytext.length), + this + ); + }, 'unput'), + more: o(function () { + return (this._more = !0), this; + }, 'more'), + reject: o(function () { + if (this.options.backtrack_lexer) this._backtrack = !0; + else + return this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + return this; + }, 'reject'), + less: o(function (u) { + this.unput(this.match.slice(u)); + }, 'less'), + pastInput: o(function () { + var u = this.matched.substr(0, this.matched.length - this.match.length); + return (u.length > 20 ? '...' : '') + u.substr(-20).replace(/\n/g, ''); + }, 'pastInput'), + upcomingInput: o(function () { + var u = this.match; + return ( + u.length < 20 && (u += this._input.substr(0, 20 - u.length)), + (u.substr(0, 20) + (u.length > 20 ? '...' : '')).replace(/\n/g, '') + ); + }, 'upcomingInput'), + showPosition: o(function () { + var u = this.pastInput(), + h = new Array(u.length + 1).join('-'); + return ( + u + + this.upcomingInput() + + ` +` + + h + + '^' + ); + }, 'showPosition'), + test_match: o(function (u, h) { + var f, d, p; + if ( + (this.options.backtrack_lexer && + ((p = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }), + this.options.ranges && (p.yylloc.range = this.yylloc.range.slice(0))), + (d = u[0].match(/(?:\r\n?|\n).*/g)), + d && (this.yylineno += d.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: d + ? d[d.length - 1].length - d[d.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + u[0].length + }), + (this.yytext += u[0]), + (this.match += u[0]), + (this.matches = u), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(u[0].length)), + (this.matched += u[0]), + (f = this.performAction.call( + this, + this.yy, + this, + h, + this.conditionStack[this.conditionStack.length - 1] + )), + this.done && this._input && (this.done = !1), + f) + ) + return f; + if (this._backtrack) { + for (var m in p) this[m] = p[m]; + return !1; + } + return !1; + }, 'test_match'), + next: o(function () { + if (this.done) return this.EOF; + this._input || (this.done = !0); + var u, h, f, d; + this._more || ((this.yytext = ''), (this.match = '')); + for (var p = this._currentRules(), m = 0; m < p.length; m++) + if ( + ((f = this._input.match(this.rules[p[m]])), + f && (!h || f[0].length > h[0].length)) + ) { + if (((h = f), (d = m), this.options.backtrack_lexer)) { + if (((u = this.test_match(f, p[m])), u !== !1)) return u; + if (this._backtrack) { + h = !1; + continue; + } else return !1; + } else if (!this.options.flex) break; + } + return h + ? ((u = this.test_match(h, p[d])), u !== !1 ? u : !1) + : this._input === '' + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, 'next'), + lex: o(function () { + var h = this.next(); + return h || this.lex(); + }, 'lex'), + begin: o(function (h) { + this.conditionStack.push(h); + }, 'begin'), + popState: o(function () { + var h = this.conditionStack.length - 1; + return h > 0 ? this.conditionStack.pop() : this.conditionStack[0]; + }, 'popState'), + _currentRules: o(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules; + }, '_currentRules'), + topState: o(function (h) { + return ( + (h = this.conditionStack.length - 1 - Math.abs(h || 0)), + h >= 0 ? this.conditionStack[h] : 'INITIAL' + ); + }, 'topState'), + pushState: o(function (h) { + this.begin(h); + }, 'pushState'), + stateStackSize: o(function () { + return this.conditionStack.length; + }, 'stateStackSize'), + options: { 'case-insensitive': !0 }, + performAction: o(function (h, f, d, p) { + var m = p; + switch (d) { + case 0: + return this.pushState('csv'), 4; + break; + case 1: + return 10; + case 2: + return 5; + case 3: + return 12; + case 4: + return this.pushState('escaped_text'), 18; + break; + case 5: + return 20; + case 6: + return this.popState('escaped_text'), 18; + break; + case 7: + return 19; + } + }, 'anonymous'), + rules: [ + /^(?:sankey-beta\b)/i, + /^(?:$)/i, + /^(?:((\u000D\u000A)|(\u000A)))/i, + /^(?:(\u002C))/i, + /^(?:(\u0022))/i, + /^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i, + /^(?:(\u0022)(?!(\u0022)))/i, + /^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i + ], + conditions: { + csv: { rules: [1, 2, 3, 4, 5, 6, 7], inclusive: !1 }, + escaped_text: { rules: [6, 7], inclusive: !1 }, + INITIAL: { rules: [0, 1, 2, 3, 4, 5, 6, 7], inclusive: !0 } + } + }; + return l; + })(); + i.lexer = a; + function s() { + this.yy = {}; + } + return o(s, 'Parser'), (s.prototype = i), (i.Parser = s), new s(); + })(); + EB.parser = EB; + cb = EB; + }); + var J6, + eC, + Z6, + CZe, + CB, + SZe, + SB, + AZe, + _Ze, + LZe, + DZe, + wge, + Tge = R(() => { + 'use strict'; + _t(); + rr(); + bi(); + (J6 = []), + (eC = []), + (Z6 = new Map()), + (CZe = o(() => { + (J6 = []), (eC = []), (Z6 = new Map()), vr(); + }, 'clear')), + (CB = class { + constructor(e, r, n = 0) { + this.source = e; + this.target = r; + this.value = n; + } + static { + o(this, 'SankeyLink'); + } + }), + (SZe = o((t, e, r) => { + J6.push(new CB(t, e, r)); + }, 'addLink')), + (SB = class { + constructor(e) { + this.ID = e; + } + static { + o(this, 'SankeyNode'); + } + }), + (AZe = o((t) => { + t = We.sanitizeText(t, de()); + let e = Z6.get(t); + return e === void 0 && ((e = new SB(t)), Z6.set(t, e), eC.push(e)), e; + }, 'findOrCreateNode')), + (_Ze = o(() => eC, 'getNodes')), + (LZe = o(() => J6, 'getLinks')), + (DZe = o( + () => ({ + nodes: eC.map((t) => ({ id: t.ID })), + links: J6.map((t) => ({ + source: t.source.ID, + target: t.target.ID, + value: t.value + })) + }), + 'getGraph' + )), + (wge = { + nodesMap: Z6, + getConfig: o(() => de().sankey, 'getConfig'), + getNodes: _Ze, + getLinks: LZe, + getGraph: DZe, + addLink: SZe, + findOrCreateNode: AZe, + getAccTitle: Ar, + setAccTitle: kr, + getAccDescription: Lr, + setAccDescription: _r, + getDiagramTitle: Xr, + setDiagramTitle: nn, + clear: CZe + }); + }); + function ub(t, e) { + let r; + if (e === void 0) for (let n of t) n != null && (r < n || (r === void 0 && n >= n)) && (r = n); + else { + let n = -1; + for (let i of t) (i = e(i, ++n, t)) != null && (r < i || (r === void 0 && i >= i)) && (r = i); + } + return r; + } + var kge = R(() => { + 'use strict'; + o(ub, 'max'); + }); + function x1(t, e) { + let r; + if (e === void 0) for (let n of t) n != null && (r > n || (r === void 0 && n >= n)) && (r = n); + else { + let n = -1; + for (let i of t) (i = e(i, ++n, t)) != null && (r > i || (r === void 0 && i >= i)) && (r = i); + } + return r; + } + var Ege = R(() => { + 'use strict'; + o(x1, 'min'); + }); + function b1(t, e) { + let r = 0; + if (e === void 0) for (let n of t) (n = +n) && (r += n); + else { + let n = -1; + for (let i of t) (i = +e(i, ++n, t)) && (r += i); + } + return r; + } + var Cge = R(() => { + 'use strict'; + o(b1, 'sum'); + }); + var AB = R(() => { + 'use strict'; + kge(); + Ege(); + Cge(); + }); + function RZe(t) { + return t.target.depth; + } + function _B(t) { + return t.depth; + } + function LB(t, e) { + return e - 1 - t.height; + } + function hb(t, e) { + return t.sourceLinks.length ? t.depth : e - 1; + } + function DB(t) { + return t.targetLinks.length ? t.depth : t.sourceLinks.length ? x1(t.sourceLinks, RZe) - 1 : 0; + } + var RB = R(() => { + 'use strict'; + AB(); + o(RZe, 'targetDepth'); + o(_B, 'left'); + o(LB, 'right'); + o(hb, 'justify'); + o(DB, 'center'); + }); + function w1(t) { + return function () { + return t; + }; + } + var Sge = R(() => { + 'use strict'; + o(w1, 'constant'); + }); + function Age(t, e) { + return tC(t.source, e.source) || t.index - e.index; + } + function _ge(t, e) { + return tC(t.target, e.target) || t.index - e.index; + } + function tC(t, e) { + return t.y0 - e.y0; + } + function NB(t) { + return t.value; + } + function NZe(t) { + return t.index; + } + function MZe(t) { + return t.nodes; + } + function IZe(t) { + return t.links; + } + function Lge(t, e) { + let r = t.get(e); + if (!r) throw new Error('missing: ' + e); + return r; + } + function Dge({ nodes: t }) { + for (let e of t) { + let r = e.y0, + n = r; + for (let i of e.sourceLinks) (i.y0 = r + i.width / 2), (r += i.width); + for (let i of e.targetLinks) (i.y1 = n + i.width / 2), (n += i.width); + } + } + function rC() { + let t = 0, + e = 0, + r = 1, + n = 1, + i = 24, + a = 8, + s, + l = NZe, + u = hb, + h, + f, + d = MZe, + p = IZe, + m = 6; + function g() { + let O = { + nodes: d.apply(null, arguments), + links: p.apply(null, arguments) + }; + return y(O), v(O), x(O), b(O), T(O), Dge(O), O; + } + o(g, 'sankey'), + (g.update = function (O) { + return Dge(O), O; + }), + (g.nodeId = function (O) { + return arguments.length ? ((l = typeof O == 'function' ? O : w1(O)), g) : l; + }), + (g.nodeAlign = function (O) { + return arguments.length ? ((u = typeof O == 'function' ? O : w1(O)), g) : u; + }), + (g.nodeSort = function (O) { + return arguments.length ? ((h = O), g) : h; + }), + (g.nodeWidth = function (O) { + return arguments.length ? ((i = +O), g) : i; + }), + (g.nodePadding = function (O) { + return arguments.length ? ((a = s = +O), g) : a; + }), + (g.nodes = function (O) { + return arguments.length ? ((d = typeof O == 'function' ? O : w1(O)), g) : d; + }), + (g.links = function (O) { + return arguments.length ? ((p = typeof O == 'function' ? O : w1(O)), g) : p; + }), + (g.linkSort = function (O) { + return arguments.length ? ((f = O), g) : f; + }), + (g.size = function (O) { + return arguments.length ? ((t = e = 0), (r = +O[0]), (n = +O[1]), g) : [r - t, n - e]; + }), + (g.extent = function (O) { + return arguments.length + ? ((t = +O[0][0]), (r = +O[1][0]), (e = +O[0][1]), (n = +O[1][1]), g) + : [ + [t, e], + [r, n] + ]; + }), + (g.iterations = function (O) { + return arguments.length ? ((m = +O), g) : m; + }); + function y({ nodes: O, links: D }) { + for (let [F, B] of O.entries()) (B.index = F), (B.sourceLinks = []), (B.targetLinks = []); + let P = new Map(O.map((F, B) => [l(F, B, O), F])); + for (let [F, B] of D.entries()) { + B.index = F; + let { source: $, target: z } = B; + typeof $ != 'object' && ($ = B.source = Lge(P, $)), + typeof z != 'object' && (z = B.target = Lge(P, z)), + $.sourceLinks.push(B), + z.targetLinks.push(B); + } + if (f != null) for (let { sourceLinks: F, targetLinks: B } of O) F.sort(f), B.sort(f); + } + o(y, 'computeNodeLinks'); + function v({ nodes: O }) { + for (let D of O) + D.value = + D.fixedValue === void 0 ? Math.max(b1(D.sourceLinks, NB), b1(D.targetLinks, NB)) : D.fixedValue; + } + o(v, 'computeNodeValues'); + function x({ nodes: O }) { + let D = O.length, + P = new Set(O), + F = new Set(), + B = 0; + for (; P.size; ) { + for (let $ of P) { + $.depth = B; + for (let { target: z } of $.sourceLinks) F.add(z); + } + if (++B > D) throw new Error('circular link'); + (P = F), (F = new Set()); + } + } + o(x, 'computeNodeDepths'); + function b({ nodes: O }) { + let D = O.length, + P = new Set(O), + F = new Set(), + B = 0; + for (; P.size; ) { + for (let $ of P) { + $.height = B; + for (let { source: z } of $.targetLinks) F.add(z); + } + if (++B > D) throw new Error('circular link'); + (P = F), (F = new Set()); + } + } + o(b, 'computeNodeHeights'); + function w({ nodes: O }) { + let D = ub(O, (B) => B.depth) + 1, + P = (r - t - i) / (D - 1), + F = new Array(D); + for (let B of O) { + let $ = Math.max(0, Math.min(D - 1, Math.floor(u.call(null, B, D)))); + (B.layer = $), (B.x0 = t + $ * P), (B.x1 = B.x0 + i), F[$] ? F[$].push(B) : (F[$] = [B]); + } + if (h) for (let B of F) B.sort(h); + return F; + } + o(w, 'computeNodeLayers'); + function S(O) { + let D = x1(O, (P) => (n - e - (P.length - 1) * s) / b1(P, NB)); + for (let P of O) { + let F = e; + for (let B of P) { + (B.y0 = F), (B.y1 = F + B.value * D), (F = B.y1 + s); + for (let $ of B.sourceLinks) $.width = $.value * D; + } + F = (n - F + s) / (P.length + 1); + for (let B = 0; B < P.length; ++B) { + let $ = P[B]; + ($.y0 += F * (B + 1)), ($.y1 += F * (B + 1)); + } + k(P); + } + } + o(S, 'initializeNodeBreadths'); + function T(O) { + let D = w(O); + (s = Math.min(a, (n - e) / (ub(D, (P) => P.length) - 1))), S(D); + for (let P = 0; P < m; ++P) { + let F = Math.pow(0.99, P), + B = Math.max(1 - F, (P + 1) / m); + _(D, F, B), E(D, F, B); + } + } + o(T, 'computeNodeBreadths'); + function E(O, D, P) { + for (let F = 1, B = O.length; F < B; ++F) { + let $ = O[F]; + for (let z of $) { + let Y = 0, + Q = 0; + for (let { source: ie, value: j } of z.targetLinks) { + let J = j * (z.layer - ie.layer); + (Y += I(ie, z) * J), (Q += J); + } + if (!(Q > 0)) continue; + let X = (Y / Q - z.y0) * D; + (z.y0 += X), (z.y1 += X), N(z); + } + h === void 0 && $.sort(tC), A($, P); + } + } + o(E, 'relaxLeftToRight'); + function _(O, D, P) { + for (let F = O.length, B = F - 2; B >= 0; --B) { + let $ = O[B]; + for (let z of $) { + let Y = 0, + Q = 0; + for (let { target: ie, value: j } of z.sourceLinks) { + let J = j * (ie.layer - z.layer); + (Y += C(z, ie) * J), (Q += J); + } + if (!(Q > 0)) continue; + let X = (Y / Q - z.y0) * D; + (z.y0 += X), (z.y1 += X), N(z); + } + h === void 0 && $.sort(tC), A($, P); + } + } + o(_, 'relaxRightToLeft'); + function A(O, D) { + let P = O.length >> 1, + F = O[P]; + M(O, F.y0 - s, P - 1, D), L(O, F.y1 + s, P + 1, D), M(O, n, O.length - 1, D), L(O, e, 0, D); + } + o(A, 'resolveCollisions'); + function L(O, D, P, F) { + for (; P < O.length; ++P) { + let B = O[P], + $ = (D - B.y0) * F; + $ > 1e-6 && ((B.y0 += $), (B.y1 += $)), (D = B.y1 + s); + } + } + o(L, 'resolveCollisionsTopToBottom'); + function M(O, D, P, F) { + for (; P >= 0; --P) { + let B = O[P], + $ = (B.y1 - D) * F; + $ > 1e-6 && ((B.y0 -= $), (B.y1 -= $)), (D = B.y0 - s); + } + } + o(M, 'resolveCollisionsBottomToTop'); + function N({ sourceLinks: O, targetLinks: D }) { + if (f === void 0) { + for (let { + source: { sourceLinks: P } + } of D) + P.sort(_ge); + for (let { + target: { targetLinks: P } + } of O) + P.sort(Age); + } + } + o(N, 'reorderNodeLinks'); + function k(O) { + if (f === void 0) for (let { sourceLinks: D, targetLinks: P } of O) D.sort(_ge), P.sort(Age); + } + o(k, 'reorderLinks'); + function I(O, D) { + let P = O.y0 - ((O.sourceLinks.length - 1) * s) / 2; + for (let { target: F, width: B } of O.sourceLinks) { + if (F === D) break; + P += B + s; + } + for (let { source: F, width: B } of D.targetLinks) { + if (F === O) break; + P -= B; + } + return P; + } + o(I, 'targetTop'); + function C(O, D) { + let P = D.y0 - ((D.targetLinks.length - 1) * s) / 2; + for (let { source: F, width: B } of D.targetLinks) { + if (F === O) break; + P += B + s; + } + for (let { target: F, width: B } of O.sourceLinks) { + if (F === D) break; + P -= B; + } + return P; + } + return o(C, 'sourceTop'), g; + } + var Rge = R(() => { + 'use strict'; + AB(); + RB(); + Sge(); + o(Age, 'ascendingSourceBreadth'); + o(_ge, 'ascendingTargetBreadth'); + o(tC, 'ascendingBreadth'); + o(NB, 'value'); + o(NZe, 'defaultId'); + o(MZe, 'defaultNodes'); + o(IZe, 'defaultLinks'); + o(Lge, 'find'); + o(Dge, 'computeLinkBreadths'); + o(rC, 'Sankey'); + }); + function OB() { + (this._x0 = this._y0 = this._x1 = this._y1 = null), (this._ = ''); + } + function Nge() { + return new OB(); + } + var MB, + IB, + Q0, + OZe, + PB, + Mge = R(() => { + 'use strict'; + (MB = Math.PI), (IB = 2 * MB), (Q0 = 1e-6), (OZe = IB - Q0); + o(OB, 'Path'); + o(Nge, 'path'); + OB.prototype = Nge.prototype = { + constructor: OB, + moveTo: o(function (t, e) { + this._ += 'M' + (this._x0 = this._x1 = +t) + ',' + (this._y0 = this._y1 = +e); + }, 'moveTo'), + closePath: o(function () { + this._x1 !== null && ((this._x1 = this._x0), (this._y1 = this._y0), (this._ += 'Z')); + }, 'closePath'), + lineTo: o(function (t, e) { + this._ += 'L' + (this._x1 = +t) + ',' + (this._y1 = +e); + }, 'lineTo'), + quadraticCurveTo: o(function (t, e, r, n) { + this._ += 'Q' + +t + ',' + +e + ',' + (this._x1 = +r) + ',' + (this._y1 = +n); + }, 'quadraticCurveTo'), + bezierCurveTo: o(function (t, e, r, n, i, a) { + this._ += 'C' + +t + ',' + +e + ',' + +r + ',' + +n + ',' + (this._x1 = +i) + ',' + (this._y1 = +a); + }, 'bezierCurveTo'), + arcTo: o(function (t, e, r, n, i) { + (t = +t), (e = +e), (r = +r), (n = +n), (i = +i); + var a = this._x1, + s = this._y1, + l = r - t, + u = n - e, + h = a - t, + f = s - e, + d = h * h + f * f; + if (i < 0) throw new Error('negative radius: ' + i); + if (this._x1 === null) this._ += 'M' + (this._x1 = t) + ',' + (this._y1 = e); + else if (d > Q0) + if (!(Math.abs(f * l - u * h) > Q0) || !i) + this._ += 'L' + (this._x1 = t) + ',' + (this._y1 = e); + else { + var p = r - a, + m = n - s, + g = l * l + u * u, + y = p * p + m * m, + v = Math.sqrt(g), + x = Math.sqrt(d), + b = i * Math.tan((MB - Math.acos((g + d - y) / (2 * v * x))) / 2), + w = b / x, + S = b / v; + Math.abs(w - 1) > Q0 && (this._ += 'L' + (t + w * h) + ',' + (e + w * f)), + (this._ += + 'A' + + i + + ',' + + i + + ',0,0,' + + +(f * p > h * m) + + ',' + + (this._x1 = t + S * l) + + ',' + + (this._y1 = e + S * u)); + } + }, 'arcTo'), + arc: o(function (t, e, r, n, i, a) { + (t = +t), (e = +e), (r = +r), (a = !!a); + var s = r * Math.cos(n), + l = r * Math.sin(n), + u = t + s, + h = e + l, + f = 1 ^ a, + d = a ? n - i : i - n; + if (r < 0) throw new Error('negative radius: ' + r); + this._x1 === null + ? (this._ += 'M' + u + ',' + h) + : (Math.abs(this._x1 - u) > Q0 || Math.abs(this._y1 - h) > Q0) && (this._ += 'L' + u + ',' + h), + r && + (d < 0 && (d = (d % IB) + IB), + d > OZe + ? (this._ += + 'A' + + r + + ',' + + r + + ',0,1,' + + f + + ',' + + (t - s) + + ',' + + (e - l) + + 'A' + + r + + ',' + + r + + ',0,1,' + + f + + ',' + + (this._x1 = u) + + ',' + + (this._y1 = h)) + : d > Q0 && + (this._ += + 'A' + + r + + ',' + + r + + ',0,' + + +(d >= MB) + + ',' + + f + + ',' + + (this._x1 = t + r * Math.cos(i)) + + ',' + + (this._y1 = e + r * Math.sin(i)))); + }, 'arc'), + rect: o(function (t, e, r, n) { + this._ += + 'M' + + (this._x0 = this._x1 = +t) + + ',' + + (this._y0 = this._y1 = +e) + + 'h' + + +r + + 'v' + + +n + + 'h' + + -r + + 'Z'; + }, 'rect'), + toString: o(function () { + return this._; + }, 'toString') + }; + PB = Nge; + }); + var Ige = R(() => { + 'use strict'; + Mge(); + }); + function nC(t) { + return o(function () { + return t; + }, 'constant'); + } + var Oge = R(() => { + 'use strict'; + o(nC, 'default'); + }); + function Pge(t) { + return t[0]; + } + function Bge(t) { + return t[1]; + } + var Fge = R(() => { + 'use strict'; + o(Pge, 'x'); + o(Bge, 'y'); + }); + var zge, + Gge = R(() => { + 'use strict'; + zge = Array.prototype.slice; + }); + function PZe(t) { + return t.source; + } + function BZe(t) { + return t.target; + } + function FZe(t) { + var e = PZe, + r = BZe, + n = Pge, + i = Bge, + a = null; + function s() { + var l, + u = zge.call(arguments), + h = e.apply(this, u), + f = r.apply(this, u); + if ( + (a || (a = l = PB()), + t( + a, + +n.apply(this, ((u[0] = h), u)), + +i.apply(this, u), + +n.apply(this, ((u[0] = f), u)), + +i.apply(this, u) + ), + l) + ) + return (a = null), l + '' || null; + } + return ( + o(s, 'link'), + (s.source = function (l) { + return arguments.length ? ((e = l), s) : e; + }), + (s.target = function (l) { + return arguments.length ? ((r = l), s) : r; + }), + (s.x = function (l) { + return arguments.length ? ((n = typeof l == 'function' ? l : nC(+l)), s) : n; + }), + (s.y = function (l) { + return arguments.length ? ((i = typeof l == 'function' ? l : nC(+l)), s) : i; + }), + (s.context = function (l) { + return arguments.length ? ((a = l ?? null), s) : a; + }), + s + ); + } + function zZe(t, e, r, n, i) { + t.moveTo(e, r), t.bezierCurveTo((e = (e + n) / 2), r, e, i, n, i); + } + function BB() { + return FZe(zZe); + } + var $ge = R(() => { + 'use strict'; + Ige(); + Gge(); + Oge(); + Fge(); + o(PZe, 'linkSource'); + o(BZe, 'linkTarget'); + o(FZe, 'link'); + o(zZe, 'curveHorizontal'); + o(BB, 'linkHorizontal'); + }); + var Vge = R(() => { + 'use strict'; + $ge(); + }); + function GZe(t) { + return [t.source.x1, t.y0]; + } + function $Ze(t) { + return [t.target.x0, t.y1]; + } + function iC() { + return BB().source(GZe).target($Ze); + } + var Uge = R(() => { + 'use strict'; + Vge(); + o(GZe, 'horizontalSource'); + o($Ze, 'horizontalTarget'); + o(iC, 'default'); + }); + var Hge = R(() => { + 'use strict'; + Rge(); + RB(); + Uge(); + }); + var fb, + Yge = R(() => { + 'use strict'; + fb = class t { + static { + o(this, 'Uid'); + } + static { + this.count = 0; + } + static next(e) { + return new t(e + ++t.count); + } + constructor(e) { + (this.id = e), (this.href = `#${e}`); + } + toString() { + return 'url(' + this.href + ')'; + } + }; + }); + var VZe, + UZe, + Wge, + qge = R(() => { + 'use strict'; + _t(); + Zt(); + Hge(); + Yn(); + Yge(); + (VZe = { left: _B, right: LB, center: DB, justify: hb }), + (UZe = o(function (t, e, r, n) { + let { securityLevel: i, sankey: a } = de(), + s = _4.sankey, + l; + i === 'sandbox' && (l = $e('#i' + e)); + let u = i === 'sandbox' ? $e(l.nodes()[0].contentDocument.body) : $e('body'), + h = i === 'sandbox' ? u.select(`[id="${e}"]`) : $e(`[id="${e}"]`), + f = a?.width ?? s.width, + d = a?.height ?? s.width, + p = a?.useMaxWidth ?? s.useMaxWidth, + m = a?.nodeAlignment ?? s.nodeAlignment, + g = a?.prefix ?? s.prefix, + y = a?.suffix ?? s.suffix, + v = a?.showValues ?? s.showValues, + x = n.db.getGraph(), + b = VZe[m]; + rC() + .nodeId((M) => M.id) + .nodeWidth(10) + .nodePadding(10 + (v ? 15 : 0)) + .nodeAlign(b) + .extent([ + [0, 0], + [f, d] + ])(x); + let T = pu(Z8); + h.append('g') + .attr('class', 'nodes') + .selectAll('.node') + .data(x.nodes) + .join('g') + .attr('class', 'node') + .attr('id', (M) => (M.uid = fb.next('node-')).id) + .attr('transform', function (M) { + return 'translate(' + M.x0 + ',' + M.y0 + ')'; + }) + .attr('x', (M) => M.x0) + .attr('y', (M) => M.y0) + .append('rect') + .attr('height', (M) => M.y1 - M.y0) + .attr('width', (M) => M.x1 - M.x0) + .attr('fill', (M) => T(M.id)); + let E = o( + ({ id: M, value: N }) => + v + ? `${M} +${g}${Math.round(N * 100) / 100}${y}` + : M, + 'getText' + ); + h.append('g') + .attr('class', 'node-labels') + .attr('font-family', 'sans-serif') + .attr('font-size', 14) + .selectAll('text') + .data(x.nodes) + .join('text') + .attr('x', (M) => (M.x0 < f / 2 ? M.x1 + 6 : M.x0 - 6)) + .attr('y', (M) => (M.y1 + M.y0) / 2) + .attr('dy', `${v ? '0' : '0.35'}em`) + .attr('text-anchor', (M) => (M.x0 < f / 2 ? 'start' : 'end')) + .text(E); + let _ = h + .append('g') + .attr('class', 'links') + .attr('fill', 'none') + .attr('stroke-opacity', 0.5) + .selectAll('.link') + .data(x.links) + .join('g') + .attr('class', 'link') + .style('mix-blend-mode', 'multiply'), + A = a?.linkColor ?? 'gradient'; + if (A === 'gradient') { + let M = _.append('linearGradient') + .attr('id', (N) => (N.uid = fb.next('linearGradient-')).id) + .attr('gradientUnits', 'userSpaceOnUse') + .attr('x1', (N) => N.source.x1) + .attr('x2', (N) => N.target.x0); + M.append('stop') + .attr('offset', '0%') + .attr('stop-color', (N) => T(N.source.id)), + M.append('stop') + .attr('offset', '100%') + .attr('stop-color', (N) => T(N.target.id)); + } + let L; + switch (A) { + case 'gradient': + L = o((M) => M.uid, 'coloring'); + break; + case 'source': + L = o((M) => T(M.source.id), 'coloring'); + break; + case 'target': + L = o((M) => T(M.target.id), 'coloring'); + break; + default: + L = A; + } + _.append('path') + .attr('d', iC()) + .attr('stroke', L) + .attr('stroke-width', (M) => Math.max(1, M.width)), + Lo(void 0, h, 0, p); + }, 'draw')), + (Wge = { draw: UZe }); + }); + var Xge, + jge = R(() => { + 'use strict'; + Xge = o( + (t) => + t + .replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g, '') + .replaceAll( + /([\n\r])+/g, + ` +` + ) + .trim(), + 'prepareTextForParsing' + ); + }); + var Kge = {}; + hr(Kge, { diagram: () => YZe }); + var HZe, + YZe, + Qge = R(() => { + 'use strict'; + bge(); + Tge(); + qge(); + jge(); + HZe = cb.parse.bind(cb); + cb.parse = (t) => HZe(Xge(t)); + YZe = { parser: cb, db: wge, renderer: Wge }; + }); + var e1e, + FB, + jZe, + KZe, + QZe, + ZZe, + JZe, + Mf, + zB = R(() => { + 'use strict'; + qs(); + sl(); + xr(); + bi(); + (e1e = { packet: [] }), + (FB = structuredClone(e1e)), + (jZe = mr.packet), + (KZe = o(() => { + let t = Ts({ ...jZe, ...Or().packet }); + return t.showBits && (t.paddingY += 10), t; + }, 'getConfig')), + (QZe = o(() => FB.packet, 'getPacket')), + (ZZe = o((t) => { + t.length > 0 && FB.packet.push(t); + }, 'pushWord')), + (JZe = o(() => { + vr(), (FB = structuredClone(e1e)); + }, 'clear')), + (Mf = { + pushWord: ZZe, + getPacket: QZe, + getConfig: KZe, + clear: JZe, + setAccTitle: kr, + getAccTitle: Ar, + setDiagramTitle: nn, + getDiagramTitle: Xr, + getAccDescription: Lr, + setAccDescription: _r + }); + }); + var eJe, + tJe, + rJe, + t1e, + r1e = R(() => { + 'use strict'; + Lg(); + ut(); + sx(); + zB(); + (eJe = 1e4), + (tJe = o((t) => { + cf(t, Mf); + let e = -1, + r = [], + n = 1, + { bitsPerRow: i } = Mf.getConfig(); + for (let { start: a, end: s, label: l } of t.blocks) { + if (s && s < a) + throw new Error(`Packet block ${a} - ${s} is invalid. End must be greater than start.`); + if (a !== e + 1) + throw new Error( + `Packet block ${a} - ${s ?? a} is not contiguous. It should start from ${e + 1}.` + ); + for ( + e = s ?? a, V.debug(`Packet block ${a} - ${e} with label ${l}`); + r.length <= i + 1 && Mf.getPacket().length < eJe; + + ) { + let [u, h] = rJe({ start: a, end: s, label: l }, n, i); + if ((r.push(u), u.end + 1 === n * i && (Mf.pushWord(r), (r = []), n++), !h)) break; + ({ start: a, end: s, label: l } = h); + } + } + Mf.pushWord(r); + }, 'populate')), + (rJe = o((t, e, r) => { + if ((t.end === void 0 && (t.end = t.start), t.start > t.end)) + throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`); + return t.end + 1 <= e * r + ? [t, void 0] + : [ + { start: t.start, end: e * r - 1, label: t.label }, + { start: e * r, end: t.end, label: t.label } + ]; + }, 'getNextFittingBlock')), + (t1e = { + parse: o(async (t) => { + let e = await Fl('packet', t); + V.debug(e), tJe(e); + }, 'parse') + }); + }); + var nJe, + iJe, + n1e, + i1e = R(() => { + 'use strict'; + pf(); + Yn(); + (nJe = o((t, e, r, n) => { + let i = n.db, + a = i.getConfig(), + { rowHeight: s, paddingY: l, bitWidth: u, bitsPerRow: h } = a, + f = i.getPacket(), + d = i.getDiagramTitle(), + p = s + l, + m = p * (f.length + 1) - (d ? 0 : s), + g = u * h + 2, + y = Ps(e); + y.attr('viewbox', `0 0 ${g} ${m}`), Sr(y, m, g, a.useMaxWidth); + for (let [v, x] of f.entries()) iJe(y, x, v, a); + y.append('text') + .text(d) + .attr('x', g / 2) + .attr('y', m - p / 2) + .attr('dominant-baseline', 'middle') + .attr('text-anchor', 'middle') + .attr('class', 'packetTitle'); + }, 'draw')), + (iJe = o( + (t, e, r, { rowHeight: n, paddingX: i, paddingY: a, bitWidth: s, bitsPerRow: l, showBits: u }) => { + let h = t.append('g'), + f = r * (n + a) + a; + for (let d of e) { + let p = (d.start % l) * s + 1, + m = (d.end - d.start + 1) * s - i; + if ( + (h + .append('rect') + .attr('x', p) + .attr('y', f) + .attr('width', m) + .attr('height', n) + .attr('class', 'packetBlock'), + h + .append('text') + .attr('x', p + m / 2) + .attr('y', f + n / 2) + .attr('class', 'packetLabel') + .attr('dominant-baseline', 'middle') + .attr('text-anchor', 'middle') + .text(d.label), + !u) + ) + continue; + let g = d.end === d.start, + y = f - 2; + h + .append('text') + .attr('x', p + (g ? m / 2 : 0)) + .attr('y', y) + .attr('class', 'packetByte start') + .attr('dominant-baseline', 'auto') + .attr('text-anchor', g ? 'middle' : 'start') + .text(d.start), + g || + h + .append('text') + .attr('x', p + m) + .attr('y', y) + .attr('class', 'packetByte end') + .attr('dominant-baseline', 'auto') + .attr('text-anchor', 'end') + .text(d.end); + } + }, + 'drawWord' + )), + (n1e = { draw: nJe }); + }); + var aJe, + a1e, + s1e = R(() => { + 'use strict'; + xr(); + (aJe = { + byteFontSize: '10px', + startByteColor: 'black', + endByteColor: 'black', + labelColor: 'black', + labelFontSize: '12px', + titleColor: 'black', + titleFontSize: '14px', + blockStrokeColor: 'black', + blockStrokeWidth: '1', + blockFillColor: '#efefef' + }), + (a1e = o(({ packet: t } = {}) => { + let e = Ts(aJe, t); + return ` + .packetByte { + font-size: ${e.byteFontSize}; + } + .packetByte.start { + fill: ${e.startByteColor}; + } + .packetByte.end { + fill: ${e.endByteColor}; + } + .packetLabel { + fill: ${e.labelColor}; + font-size: ${e.labelFontSize}; + } + .packetTitle { + fill: ${e.titleColor}; + font-size: ${e.titleFontSize}; + } + .packetBlock { + stroke: ${e.blockStrokeColor}; + stroke-width: ${e.blockStrokeWidth}; + fill: ${e.blockFillColor}; + } + `; + }, 'styles')); + }); + var o1e = {}; + hr(o1e, { diagram: () => sJe }); + var sJe, + l1e = R(() => { + 'use strict'; + zB(); + r1e(); + i1e(); + s1e(); + sJe = { parser: t1e, db: Mf, renderer: n1e, styles: a1e }; + }); + var GB, + h1e, + f1e = R(() => { + 'use strict'; + GB = (function () { + var t = o(function (w, S, T, E) { + for (T = T || {}, E = w.length; E--; T[w[E]] = S); + return T; + }, 'o'), + e = [1, 7], + r = [1, 13], + n = [1, 14], + i = [1, 15], + a = [1, 19], + s = [1, 16], + l = [1, 17], + u = [1, 18], + h = [8, 30], + f = [8, 21, 28, 29, 30, 31, 32, 40, 44, 47], + d = [1, 23], + p = [1, 24], + m = [8, 15, 16, 21, 28, 29, 30, 31, 32, 40, 44, 47], + g = [8, 15, 16, 21, 27, 28, 29, 30, 31, 32, 40, 44, 47], + y = [1, 49], + v = { + trace: o(function () {}, 'trace'), + yy: {}, + symbols_: { + error: 2, + spaceLines: 3, + SPACELINE: 4, + NL: 5, + separator: 6, + SPACE: 7, + EOF: 8, + start: 9, + BLOCK_DIAGRAM_KEY: 10, + document: 11, + stop: 12, + statement: 13, + link: 14, + LINK: 15, + START_LINK: 16, + LINK_LABEL: 17, + STR: 18, + nodeStatement: 19, + columnsStatement: 20, + SPACE_BLOCK: 21, + blockStatement: 22, + classDefStatement: 23, + cssClassStatement: 24, + styleStatement: 25, + node: 26, + SIZE: 27, + COLUMNS: 28, + 'id-block': 29, + end: 30, + block: 31, + NODE_ID: 32, + nodeShapeNLabel: 33, + dirList: 34, + DIR: 35, + NODE_DSTART: 36, + NODE_DEND: 37, + BLOCK_ARROW_START: 38, + BLOCK_ARROW_END: 39, + classDef: 40, + CLASSDEF_ID: 41, + CLASSDEF_STYLEOPTS: 42, + DEFAULT: 43, + class: 44, + CLASSENTITY_IDS: 45, + STYLECLASS: 46, + style: 47, + STYLE_ENTITY_IDS: 48, + STYLE_DEFINITION_DATA: 49, + $accept: 0, + $end: 1 + }, + terminals_: { + 2: 'error', + 4: 'SPACELINE', + 5: 'NL', + 7: 'SPACE', + 8: 'EOF', + 10: 'BLOCK_DIAGRAM_KEY', + 15: 'LINK', + 16: 'START_LINK', + 17: 'LINK_LABEL', + 18: 'STR', + 21: 'SPACE_BLOCK', + 27: 'SIZE', + 28: 'COLUMNS', + 29: 'id-block', + 30: 'end', + 31: 'block', + 32: 'NODE_ID', + 35: 'DIR', + 36: 'NODE_DSTART', + 37: 'NODE_DEND', + 38: 'BLOCK_ARROW_START', + 39: 'BLOCK_ARROW_END', + 40: 'classDef', + 41: 'CLASSDEF_ID', + 42: 'CLASSDEF_STYLEOPTS', + 43: 'DEFAULT', + 44: 'class', + 45: 'CLASSENTITY_IDS', + 46: 'STYLECLASS', + 47: 'style', + 48: 'STYLE_ENTITY_IDS', + 49: 'STYLE_DEFINITION_DATA' + }, + productions_: [ + 0, + [3, 1], + [3, 2], + [3, 2], + [6, 1], + [6, 1], + [6, 1], + [9, 3], + [12, 1], + [12, 1], + [12, 2], + [12, 2], + [11, 1], + [11, 2], + [14, 1], + [14, 4], + [13, 1], + [13, 1], + [13, 1], + [13, 1], + [13, 1], + [13, 1], + [13, 1], + [19, 3], + [19, 2], + [19, 1], + [20, 1], + [22, 4], + [22, 3], + [26, 1], + [26, 2], + [34, 1], + [34, 2], + [33, 3], + [33, 4], + [23, 3], + [23, 3], + [24, 3], + [25, 3] + ], + performAction: o(function (S, T, E, _, A, L, M) { + var N = L.length - 1; + switch (A) { + case 4: + _.getLogger().debug('Rule: separator (NL) '); + break; + case 5: + _.getLogger().debug('Rule: separator (Space) '); + break; + case 6: + _.getLogger().debug('Rule: separator (EOF) '); + break; + case 7: + _.getLogger().debug('Rule: hierarchy: ', L[N - 1]), _.setHierarchy(L[N - 1]); + break; + case 8: + _.getLogger().debug('Stop NL '); + break; + case 9: + _.getLogger().debug('Stop EOF '); + break; + case 10: + _.getLogger().debug('Stop NL2 '); + break; + case 11: + _.getLogger().debug('Stop EOF2 '); + break; + case 12: + _.getLogger().debug('Rule: statement: ', L[N]), + typeof L[N].length == 'number' ? (this.$ = L[N]) : (this.$ = [L[N]]); + break; + case 13: + _.getLogger().debug('Rule: statement #2: ', L[N - 1]), + (this.$ = [L[N - 1]].concat(L[N])); + break; + case 14: + _.getLogger().debug('Rule: link: ', L[N], S), + (this.$ = { edgeTypeStr: L[N], label: '' }); + break; + case 15: + _.getLogger().debug('Rule: LABEL link: ', L[N - 3], L[N - 1], L[N]), + (this.$ = { edgeTypeStr: L[N], label: L[N - 1] }); + break; + case 18: + let k = parseInt(L[N]), + I = _.generateId(); + this.$ = { + id: I, + type: 'space', + label: '', + width: k, + children: [] + }; + break; + case 23: + _.getLogger().debug( + 'Rule: (nodeStatement link node) ', + L[N - 2], + L[N - 1], + L[N], + ' typestr: ', + L[N - 1].edgeTypeStr + ); + let C = _.edgeStrToEdgeData(L[N - 1].edgeTypeStr); + this.$ = [ + { + id: L[N - 2].id, + label: L[N - 2].label, + type: L[N - 2].type, + directions: L[N - 2].directions + }, + { + id: L[N - 2].id + '-' + L[N].id, + start: L[N - 2].id, + end: L[N].id, + label: L[N - 1].label, + type: 'edge', + directions: L[N].directions, + arrowTypeEnd: C, + arrowTypeStart: 'arrow_open' + }, + { + id: L[N].id, + label: L[N].label, + type: _.typeStr2Type(L[N].typeStr), + directions: L[N].directions + } + ]; + break; + case 24: + _.getLogger().debug('Rule: nodeStatement (abc88 node size) ', L[N - 1], L[N]), + (this.$ = { + id: L[N - 1].id, + label: L[N - 1].label, + type: _.typeStr2Type(L[N - 1].typeStr), + directions: L[N - 1].directions, + widthInColumns: parseInt(L[N], 10) + }); + break; + case 25: + _.getLogger().debug('Rule: nodeStatement (node) ', L[N]), + (this.$ = { + id: L[N].id, + label: L[N].label, + type: _.typeStr2Type(L[N].typeStr), + directions: L[N].directions, + widthInColumns: 1 + }); + break; + case 26: + _.getLogger().debug('APA123', this ? this : 'na'), + _.getLogger().debug('COLUMNS: ', L[N]), + (this.$ = { + type: 'column-setting', + columns: L[N] === 'auto' ? -1 : parseInt(L[N]) + }); + break; + case 27: + _.getLogger().debug('Rule: id-block statement : ', L[N - 2], L[N - 1]); + let O = _.generateId(); + this.$ = { + ...L[N - 2], + type: 'composite', + children: L[N - 1] + }; + break; + case 28: + _.getLogger().debug('Rule: blockStatement : ', L[N - 2], L[N - 1], L[N]); + let D = _.generateId(); + this.$ = { + id: D, + type: 'composite', + label: '', + children: L[N - 1] + }; + break; + case 29: + _.getLogger().debug('Rule: node (NODE_ID separator): ', L[N]), + (this.$ = { id: L[N] }); + break; + case 30: + _.getLogger().debug( + 'Rule: node (NODE_ID nodeShapeNLabel separator): ', + L[N - 1], + L[N] + ), + (this.$ = { + id: L[N - 1], + label: L[N].label, + typeStr: L[N].typeStr, + directions: L[N].directions + }); + break; + case 31: + _.getLogger().debug('Rule: dirList: ', L[N]), (this.$ = [L[N]]); + break; + case 32: + _.getLogger().debug('Rule: dirList: ', L[N - 1], L[N]), + (this.$ = [L[N - 1]].concat(L[N])); + break; + case 33: + _.getLogger().debug('Rule: nodeShapeNLabel: ', L[N - 2], L[N - 1], L[N]), + (this.$ = { typeStr: L[N - 2] + L[N], label: L[N - 1] }); + break; + case 34: + _.getLogger().debug( + 'Rule: BLOCK_ARROW nodeShapeNLabel: ', + L[N - 3], + L[N - 2], + ' #3:', + L[N - 1], + L[N] + ), + (this.$ = { + typeStr: L[N - 3] + L[N], + label: L[N - 2], + directions: L[N - 1] + }); + break; + case 35: + case 36: + this.$ = { + type: 'classDef', + id: L[N - 1].trim(), + css: L[N].trim() + }; + break; + case 37: + this.$ = { + type: 'applyClass', + id: L[N - 1].trim(), + styleClass: L[N].trim() + }; + break; + case 38: + this.$ = { + type: 'applyStyles', + id: L[N - 1].trim(), + stylesStr: L[N].trim() + }; + break; + } + }, 'anonymous'), + table: [ + { 9: 1, 10: [1, 2] }, + { 1: [3] }, + { + 11: 3, + 13: 4, + 19: 5, + 20: 6, + 21: e, + 22: 8, + 23: 9, + 24: 10, + 25: 11, + 26: 12, + 28: r, + 29: n, + 31: i, + 32: a, + 40: s, + 44: l, + 47: u + }, + { 8: [1, 20] }, + t(h, [2, 12], { + 13: 4, + 19: 5, + 20: 6, + 22: 8, + 23: 9, + 24: 10, + 25: 11, + 26: 12, + 11: 21, + 21: e, + 28: r, + 29: n, + 31: i, + 32: a, + 40: s, + 44: l, + 47: u + }), + t(f, [2, 16], { 14: 22, 15: d, 16: p }), + t(f, [2, 17]), + t(f, [2, 18]), + t(f, [2, 19]), + t(f, [2, 20]), + t(f, [2, 21]), + t(f, [2, 22]), + t(m, [2, 25], { 27: [1, 25] }), + t(f, [2, 26]), + { 19: 26, 26: 12, 32: a }, + { + 11: 27, + 13: 4, + 19: 5, + 20: 6, + 21: e, + 22: 8, + 23: 9, + 24: 10, + 25: 11, + 26: 12, + 28: r, + 29: n, + 31: i, + 32: a, + 40: s, + 44: l, + 47: u + }, + { 41: [1, 28], 43: [1, 29] }, + { 45: [1, 30] }, + { 48: [1, 31] }, + t(g, [2, 29], { 33: 32, 36: [1, 33], 38: [1, 34] }), + { 1: [2, 7] }, + t(h, [2, 13]), + { 26: 35, 32: a }, + { 32: [2, 14] }, + { 17: [1, 36] }, + t(m, [2, 24]), + { + 11: 37, + 13: 4, + 14: 22, + 15: d, + 16: p, + 19: 5, + 20: 6, + 21: e, + 22: 8, + 23: 9, + 24: 10, + 25: 11, + 26: 12, + 28: r, + 29: n, + 31: i, + 32: a, + 40: s, + 44: l, + 47: u + }, + { 30: [1, 38] }, + { 42: [1, 39] }, + { 42: [1, 40] }, + { 46: [1, 41] }, + { 49: [1, 42] }, + t(g, [2, 30]), + { 18: [1, 43] }, + { 18: [1, 44] }, + t(m, [2, 23]), + { 18: [1, 45] }, + { 30: [1, 46] }, + t(f, [2, 28]), + t(f, [2, 35]), + t(f, [2, 36]), + t(f, [2, 37]), + t(f, [2, 38]), + { 37: [1, 47] }, + { 34: 48, 35: y }, + { 15: [1, 50] }, + t(f, [2, 27]), + t(g, [2, 33]), + { 39: [1, 51] }, + { 34: 52, 35: y, 39: [2, 31] }, + { 32: [2, 15] }, + t(g, [2, 34]), + { 39: [2, 32] } + ], + defaultActions: { + 20: [2, 7], + 23: [2, 14], + 50: [2, 15], + 52: [2, 32] + }, + parseError: o(function (S, T) { + if (T.recoverable) this.trace(S); + else { + var E = new Error(S); + throw ((E.hash = T), E); + } + }, 'parseError'), + parse: o(function (S) { + var T = this, + E = [0], + _ = [], + A = [null], + L = [], + M = this.table, + N = '', + k = 0, + I = 0, + C = 0, + O = 2, + D = 1, + P = L.slice.call(arguments, 1), + F = Object.create(this.lexer), + B = { yy: {} }; + for (var $ in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, $) && (B.yy[$] = this.yy[$]); + F.setInput(S, B.yy), + (B.yy.lexer = F), + (B.yy.parser = this), + typeof F.yylloc > 'u' && (F.yylloc = {}); + var z = F.yylloc; + L.push(z); + var Y = F.options && F.options.ranges; + typeof B.yy.parseError == 'function' + ? (this.parseError = B.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError); + function Q(oe) { + (E.length = E.length - 2 * oe), (A.length = A.length - oe), (L.length = L.length - oe); + } + o(Q, 'popStack'); + function X() { + var oe; + return ( + (oe = _.pop() || F.lex() || D), + typeof oe != 'number' && + (oe instanceof Array && ((_ = oe), (oe = _.pop())), + (oe = T.symbols_[oe] || oe)), + oe + ); + } + o(X, 'lex'); + for (var ie, j, J, Z, H, q, K = {}, se, ce, ue, te; ; ) { + if ( + ((J = E[E.length - 1]), + this.defaultActions[J] + ? (Z = this.defaultActions[J]) + : ((ie === null || typeof ie > 'u') && (ie = X()), (Z = M[J] && M[J][ie])), + typeof Z > 'u' || !Z.length || !Z[0]) + ) { + var De = ''; + te = []; + for (se in M[J]) + this.terminals_[se] && se > O && te.push("'" + this.terminals_[se] + "'"); + F.showPosition + ? (De = + 'Parse error on line ' + + (k + 1) + + `: +` + + F.showPosition() + + ` +Expecting ` + + te.join(', ') + + ", got '" + + (this.terminals_[ie] || ie) + + "'") + : (De = + 'Parse error on line ' + + (k + 1) + + ': Unexpected ' + + (ie == D ? 'end of input' : "'" + (this.terminals_[ie] || ie) + "'")), + this.parseError(De, { + text: F.match, + token: this.terminals_[ie] || ie, + line: F.yylineno, + loc: z, + expected: te + }); + } + if (Z[0] instanceof Array && Z.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + J + ', token: ' + ie + ); + switch (Z[0]) { + case 1: + E.push(ie), + A.push(F.yytext), + L.push(F.yylloc), + E.push(Z[1]), + (ie = null), + j + ? ((ie = j), (j = null)) + : ((I = F.yyleng), + (N = F.yytext), + (k = F.yylineno), + (z = F.yylloc), + C > 0 && C--); + break; + case 2: + if ( + ((ce = this.productions_[Z[1]][1]), + (K.$ = A[A.length - ce]), + (K._$ = { + first_line: L[L.length - (ce || 1)].first_line, + last_line: L[L.length - 1].last_line, + first_column: L[L.length - (ce || 1)].first_column, + last_column: L[L.length - 1].last_column + }), + Y && + (K._$.range = [ + L[L.length - (ce || 1)].range[0], + L[L.length - 1].range[1] + ]), + (q = this.performAction.apply(K, [N, I, k, B.yy, Z[1], A, L].concat(P))), + typeof q < 'u') + ) + return q; + ce && + ((E = E.slice(0, -1 * ce * 2)), + (A = A.slice(0, -1 * ce)), + (L = L.slice(0, -1 * ce))), + E.push(this.productions_[Z[1]][0]), + A.push(K.$), + L.push(K._$), + (ue = M[E[E.length - 2]][E[E.length - 1]]), + E.push(ue); + break; + case 3: + return !0; + } + } + return !0; + }, 'parse') + }, + x = (function () { + var w = { + EOF: 1, + parseError: o(function (T, E) { + if (this.yy.parser) this.yy.parser.parseError(T, E); + else throw new Error(T); + }, 'parseError'), + setInput: o(function (S, T) { + return ( + (this.yy = T || this.yy || {}), + (this._input = S), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, 'setInput'), + input: o(function () { + var S = this._input[0]; + (this.yytext += S), + this.yyleng++, + this.offset++, + (this.match += S), + (this.matched += S); + var T = S.match(/(?:\r\n?|\n).*/g); + return ( + T ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + S + ); + }, 'input'), + unput: o(function (S) { + var T = S.length, + E = S.split(/(?:\r\n?|\n)/g); + (this._input = S + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - T)), + (this.offset -= T); + var _ = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + E.length - 1 && (this.yylineno -= E.length - 1); + var A = this.yylloc.range; + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: E + ? (E.length === _.length ? this.yylloc.first_column : 0) + + _[_.length - E.length].length - + E[0].length + : this.yylloc.first_column - T + }), + this.options.ranges && (this.yylloc.range = [A[0], A[0] + this.yyleng - T]), + (this.yyleng = this.yytext.length), + this + ); + }, 'unput'), + more: o(function () { + return (this._more = !0), this; + }, 'more'), + reject: o(function () { + if (this.options.backtrack_lexer) this._backtrack = !0; + else + return this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + return this; + }, 'reject'), + less: o(function (S) { + this.unput(this.match.slice(S)); + }, 'less'), + pastInput: o(function () { + var S = this.matched.substr(0, this.matched.length - this.match.length); + return (S.length > 20 ? '...' : '') + S.substr(-20).replace(/\n/g, ''); + }, 'pastInput'), + upcomingInput: o(function () { + var S = this.match; + return ( + S.length < 20 && (S += this._input.substr(0, 20 - S.length)), + (S.substr(0, 20) + (S.length > 20 ? '...' : '')).replace(/\n/g, '') + ); + }, 'upcomingInput'), + showPosition: o(function () { + var S = this.pastInput(), + T = new Array(S.length + 1).join('-'); + return ( + S + + this.upcomingInput() + + ` +` + + T + + '^' + ); + }, 'showPosition'), + test_match: o(function (S, T) { + var E, _, A; + if ( + (this.options.backtrack_lexer && + ((A = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }), + this.options.ranges && (A.yylloc.range = this.yylloc.range.slice(0))), + (_ = S[0].match(/(?:\r\n?|\n).*/g)), + _ && (this.yylineno += _.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: _ + ? _[_.length - 1].length - _[_.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + S[0].length + }), + (this.yytext += S[0]), + (this.match += S[0]), + (this.matches = S), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(S[0].length)), + (this.matched += S[0]), + (E = this.performAction.call( + this, + this.yy, + this, + T, + this.conditionStack[this.conditionStack.length - 1] + )), + this.done && this._input && (this.done = !1), + E) + ) + return E; + if (this._backtrack) { + for (var L in A) this[L] = A[L]; + return !1; + } + return !1; + }, 'test_match'), + next: o(function () { + if (this.done) return this.EOF; + this._input || (this.done = !0); + var S, T, E, _; + this._more || ((this.yytext = ''), (this.match = '')); + for (var A = this._currentRules(), L = 0; L < A.length; L++) + if ( + ((E = this._input.match(this.rules[A[L]])), + E && (!T || E[0].length > T[0].length)) + ) { + if (((T = E), (_ = L), this.options.backtrack_lexer)) { + if (((S = this.test_match(E, A[L])), S !== !1)) return S; + if (this._backtrack) { + T = !1; + continue; + } else return !1; + } else if (!this.options.flex) break; + } + return T + ? ((S = this.test_match(T, A[_])), S !== !1 ? S : !1) + : this._input === '' + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, 'next'), + lex: o(function () { + var T = this.next(); + return T || this.lex(); + }, 'lex'), + begin: o(function (T) { + this.conditionStack.push(T); + }, 'begin'), + popState: o(function () { + var T = this.conditionStack.length - 1; + return T > 0 ? this.conditionStack.pop() : this.conditionStack[0]; + }, 'popState'), + _currentRules: o(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules; + }, '_currentRules'), + topState: o(function (T) { + return ( + (T = this.conditionStack.length - 1 - Math.abs(T || 0)), + T >= 0 ? this.conditionStack[T] : 'INITIAL' + ); + }, 'topState'), + pushState: o(function (T) { + this.begin(T); + }, 'pushState'), + stateStackSize: o(function () { + return this.conditionStack.length; + }, 'stateStackSize'), + options: {}, + performAction: o(function (T, E, _, A) { + var L = A; + switch (_) { + case 0: + return 10; + case 1: + return T.getLogger().debug('Found space-block'), 31; + break; + case 2: + return T.getLogger().debug('Found nl-block'), 31; + break; + case 3: + return T.getLogger().debug('Found space-block'), 29; + break; + case 4: + T.getLogger().debug('.', E.yytext); + break; + case 5: + T.getLogger().debug('_', E.yytext); + break; + case 6: + return 5; + case 7: + return (E.yytext = -1), 28; + break; + case 8: + return ( + (E.yytext = E.yytext.replace(/columns\s+/, '')), + T.getLogger().debug('COLUMNS (LEX)', E.yytext), + 28 + ); + break; + case 9: + this.pushState('md_string'); + break; + case 10: + return 'MD_STR'; + case 11: + this.popState(); + break; + case 12: + this.pushState('string'); + break; + case 13: + T.getLogger().debug('LEX: POPPING STR:', E.yytext), this.popState(); + break; + case 14: + return T.getLogger().debug('LEX: STR end:', E.yytext), 'STR'; + break; + case 15: + return ( + (E.yytext = E.yytext.replace(/space\:/, '')), + T.getLogger().debug('SPACE NUM (LEX)', E.yytext), + 21 + ); + break; + case 16: + return (E.yytext = '1'), T.getLogger().debug('COLUMNS (LEX)', E.yytext), 21; + break; + case 17: + return 43; + case 18: + return 'LINKSTYLE'; + case 19: + return 'INTERPOLATE'; + case 20: + return this.pushState('CLASSDEF'), 40; + break; + case 21: + return this.popState(), this.pushState('CLASSDEFID'), 'DEFAULT_CLASSDEF_ID'; + break; + case 22: + return this.popState(), this.pushState('CLASSDEFID'), 41; + break; + case 23: + return this.popState(), 42; + break; + case 24: + return this.pushState('CLASS'), 44; + break; + case 25: + return this.popState(), this.pushState('CLASS_STYLE'), 45; + break; + case 26: + return this.popState(), 46; + break; + case 27: + return this.pushState('STYLE_STMNT'), 47; + break; + case 28: + return this.popState(), this.pushState('STYLE_DEFINITION'), 48; + break; + case 29: + return this.popState(), 49; + break; + case 30: + return this.pushState('acc_title'), 'acc_title'; + break; + case 31: + return this.popState(), 'acc_title_value'; + break; + case 32: + return this.pushState('acc_descr'), 'acc_descr'; + break; + case 33: + return this.popState(), 'acc_descr_value'; + break; + case 34: + this.pushState('acc_descr_multiline'); + break; + case 35: + this.popState(); + break; + case 36: + return 'acc_descr_multiline_value'; + case 37: + return 30; + case 38: + return this.popState(), T.getLogger().debug('Lex: (('), 'NODE_DEND'; + break; + case 39: + return this.popState(), T.getLogger().debug('Lex: (('), 'NODE_DEND'; + break; + case 40: + return this.popState(), T.getLogger().debug('Lex: ))'), 'NODE_DEND'; + break; + case 41: + return this.popState(), T.getLogger().debug('Lex: (('), 'NODE_DEND'; + break; + case 42: + return this.popState(), T.getLogger().debug('Lex: (('), 'NODE_DEND'; + break; + case 43: + return this.popState(), T.getLogger().debug('Lex: (-'), 'NODE_DEND'; + break; + case 44: + return this.popState(), T.getLogger().debug('Lex: -)'), 'NODE_DEND'; + break; + case 45: + return this.popState(), T.getLogger().debug('Lex: (('), 'NODE_DEND'; + break; + case 46: + return this.popState(), T.getLogger().debug('Lex: ]]'), 'NODE_DEND'; + break; + case 47: + return this.popState(), T.getLogger().debug('Lex: ('), 'NODE_DEND'; + break; + case 48: + return this.popState(), T.getLogger().debug('Lex: ])'), 'NODE_DEND'; + break; + case 49: + return this.popState(), T.getLogger().debug('Lex: /]'), 'NODE_DEND'; + break; + case 50: + return this.popState(), T.getLogger().debug('Lex: /]'), 'NODE_DEND'; + break; + case 51: + return this.popState(), T.getLogger().debug('Lex: )]'), 'NODE_DEND'; + break; + case 52: + return this.popState(), T.getLogger().debug('Lex: )'), 'NODE_DEND'; + break; + case 53: + return this.popState(), T.getLogger().debug('Lex: ]>'), 'NODE_DEND'; + break; + case 54: + return this.popState(), T.getLogger().debug('Lex: ]'), 'NODE_DEND'; + break; + case 55: + return T.getLogger().debug('Lexa: -)'), this.pushState('NODE'), 36; + break; + case 56: + return T.getLogger().debug('Lexa: (-'), this.pushState('NODE'), 36; + break; + case 57: + return T.getLogger().debug('Lexa: ))'), this.pushState('NODE'), 36; + break; + case 58: + return T.getLogger().debug('Lexa: )'), this.pushState('NODE'), 36; + break; + case 59: + return T.getLogger().debug('Lex: ((('), this.pushState('NODE'), 36; + break; + case 60: + return T.getLogger().debug('Lexa: )'), this.pushState('NODE'), 36; + break; + case 61: + return T.getLogger().debug('Lexa: )'), this.pushState('NODE'), 36; + break; + case 62: + return T.getLogger().debug('Lexa: )'), this.pushState('NODE'), 36; + break; + case 63: + return T.getLogger().debug('Lexc: >'), this.pushState('NODE'), 36; + break; + case 64: + return T.getLogger().debug('Lexa: (['), this.pushState('NODE'), 36; + break; + case 65: + return T.getLogger().debug('Lexa: )'), this.pushState('NODE'), 36; + break; + case 66: + return this.pushState('NODE'), 36; + break; + case 67: + return this.pushState('NODE'), 36; + break; + case 68: + return this.pushState('NODE'), 36; + break; + case 69: + return this.pushState('NODE'), 36; + break; + case 70: + return this.pushState('NODE'), 36; + break; + case 71: + return this.pushState('NODE'), 36; + break; + case 72: + return this.pushState('NODE'), 36; + break; + case 73: + return T.getLogger().debug('Lexa: ['), this.pushState('NODE'), 36; + break; + case 74: + return this.pushState('BLOCK_ARROW'), T.getLogger().debug('LEX ARR START'), 38; + break; + case 75: + return T.getLogger().debug('Lex: NODE_ID', E.yytext), 32; + break; + case 76: + return T.getLogger().debug('Lex: EOF', E.yytext), 8; + break; + case 77: + this.pushState('md_string'); + break; + case 78: + this.pushState('md_string'); + break; + case 79: + return 'NODE_DESCR'; + case 80: + this.popState(); + break; + case 81: + T.getLogger().debug('Lex: Starting string'), this.pushState('string'); + break; + case 82: + T.getLogger().debug('LEX ARR: Starting string'), this.pushState('string'); + break; + case 83: + return T.getLogger().debug('LEX: NODE_DESCR:', E.yytext), 'NODE_DESCR'; + break; + case 84: + T.getLogger().debug('LEX POPPING'), this.popState(); + break; + case 85: + T.getLogger().debug('Lex: =>BAE'), this.pushState('ARROW_DIR'); + break; + case 86: + return ( + (E.yytext = E.yytext.replace(/^,\s*/, '')), + T.getLogger().debug('Lex (right): dir:', E.yytext), + 'DIR' + ); + break; + case 87: + return ( + (E.yytext = E.yytext.replace(/^,\s*/, '')), + T.getLogger().debug('Lex (left):', E.yytext), + 'DIR' + ); + break; + case 88: + return ( + (E.yytext = E.yytext.replace(/^,\s*/, '')), + T.getLogger().debug('Lex (x):', E.yytext), + 'DIR' + ); + break; + case 89: + return ( + (E.yytext = E.yytext.replace(/^,\s*/, '')), + T.getLogger().debug('Lex (y):', E.yytext), + 'DIR' + ); + break; + case 90: + return ( + (E.yytext = E.yytext.replace(/^,\s*/, '')), + T.getLogger().debug('Lex (up):', E.yytext), + 'DIR' + ); + break; + case 91: + return ( + (E.yytext = E.yytext.replace(/^,\s*/, '')), + T.getLogger().debug('Lex (down):', E.yytext), + 'DIR' + ); + break; + case 92: + return ( + (E.yytext = ']>'), + T.getLogger().debug('Lex (ARROW_DIR end):', E.yytext), + this.popState(), + this.popState(), + 'BLOCK_ARROW_END' + ); + break; + case 93: + return T.getLogger().debug('Lex: LINK', '#' + E.yytext + '#'), 15; + break; + case 94: + return T.getLogger().debug('Lex: LINK', E.yytext), 15; + break; + case 95: + return T.getLogger().debug('Lex: LINK', E.yytext), 15; + break; + case 96: + return T.getLogger().debug('Lex: LINK', E.yytext), 15; + break; + case 97: + return ( + T.getLogger().debug('Lex: START_LINK', E.yytext), + this.pushState('LLABEL'), + 16 + ); + break; + case 98: + return ( + T.getLogger().debug('Lex: START_LINK', E.yytext), + this.pushState('LLABEL'), + 16 + ); + break; + case 99: + return ( + T.getLogger().debug('Lex: START_LINK', E.yytext), + this.pushState('LLABEL'), + 16 + ); + break; + case 100: + this.pushState('md_string'); + break; + case 101: + return ( + T.getLogger().debug('Lex: Starting string'), + this.pushState('string'), + 'LINK_LABEL' + ); + break; + case 102: + return ( + this.popState(), T.getLogger().debug('Lex: LINK', '#' + E.yytext + '#'), 15 + ); + break; + case 103: + return this.popState(), T.getLogger().debug('Lex: LINK', E.yytext), 15; + break; + case 104: + return this.popState(), T.getLogger().debug('Lex: LINK', E.yytext), 15; + break; + case 105: + return ( + T.getLogger().debug('Lex: COLON', E.yytext), + (E.yytext = E.yytext.slice(1)), + 27 + ); + break; + } + }, 'anonymous'), + rules: [ + /^(?:block-beta\b)/, + /^(?:block\s+)/, + /^(?:block\n+)/, + /^(?:block:)/, + /^(?:[\s]+)/, + /^(?:[\n]+)/, + /^(?:((\u000D\u000A)|(\u000A)))/, + /^(?:columns\s+auto\b)/, + /^(?:columns\s+[\d]+)/, + /^(?:["][`])/, + /^(?:[^`"]+)/, + /^(?:[`]["])/, + /^(?:["])/, + /^(?:["])/, + /^(?:[^"]*)/, + /^(?:space[:]\d+)/, + /^(?:space\b)/, + /^(?:default\b)/, + /^(?:linkStyle\b)/, + /^(?:interpolate\b)/, + /^(?:classDef\s+)/, + /^(?:DEFAULT\s+)/, + /^(?:\w+\s+)/, + /^(?:[^\n]*)/, + /^(?:class\s+)/, + /^(?:(\w+)+((,\s*\w+)*))/, + /^(?:[^\n]*)/, + /^(?:style\s+)/, + /^(?:(\w+)+((,\s*\w+)*))/, + /^(?:[^\n]*)/, + /^(?:accTitle\s*:\s*)/, + /^(?:(?!\n||)*[^\n]*)/, + /^(?:accDescr\s*:\s*)/, + /^(?:(?!\n||)*[^\n]*)/, + /^(?:accDescr\s*\{\s*)/, + /^(?:[\}])/, + /^(?:[^\}]*)/, + /^(?:end\b\s*)/, + /^(?:\(\(\()/, + /^(?:\)\)\))/, + /^(?:[\)]\))/, + /^(?:\}\})/, + /^(?:\})/, + /^(?:\(-)/, + /^(?:-\))/, + /^(?:\(\()/, + /^(?:\]\])/, + /^(?:\()/, + /^(?:\]\))/, + /^(?:\\\])/, + /^(?:\/\])/, + /^(?:\)\])/, + /^(?:[\)])/, + /^(?:\]>)/, + /^(?:[\]])/, + /^(?:-\))/, + /^(?:\(-)/, + /^(?:\)\))/, + /^(?:\))/, + /^(?:\(\(\()/, + /^(?:\(\()/, + /^(?:\{\{)/, + /^(?:\{)/, + /^(?:>)/, + /^(?:\(\[)/, + /^(?:\()/, + /^(?:\[\[)/, + /^(?:\[\|)/, + /^(?:\[\()/, + /^(?:\)\)\))/, + /^(?:\[\\)/, + /^(?:\[\/)/, + /^(?:\[\\)/, + /^(?:\[)/, + /^(?:<\[)/, + /^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/, + /^(?:$)/, + /^(?:["][`])/, + /^(?:["][`])/, + /^(?:[^`"]+)/, + /^(?:[`]["])/, + /^(?:["])/, + /^(?:["])/, + /^(?:[^"]+)/, + /^(?:["])/, + /^(?:\]>\s*\()/, + /^(?:,?\s*right\s*)/, + /^(?:,?\s*left\s*)/, + /^(?:,?\s*x\s*)/, + /^(?:,?\s*y\s*)/, + /^(?:,?\s*up\s*)/, + /^(?:,?\s*down\s*)/, + /^(?:\)\s*)/, + /^(?:\s*[xo<]?--+[-xo>]\s*)/, + /^(?:\s*[xo<]?==+[=xo>]\s*)/, + /^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/, + /^(?:\s*~~[\~]+\s*)/, + /^(?:\s*[xo<]?--\s*)/, + /^(?:\s*[xo<]?==\s*)/, + /^(?:\s*[xo<]?-\.\s*)/, + /^(?:["][`])/, + /^(?:["])/, + /^(?:\s*[xo<]?--+[-xo>]\s*)/, + /^(?:\s*[xo<]?==+[=xo>]\s*)/, + /^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/, + /^(?::\d+)/ + ], + conditions: { + STYLE_DEFINITION: { rules: [29], inclusive: !1 }, + STYLE_STMNT: { rules: [28], inclusive: !1 }, + CLASSDEFID: { rules: [23], inclusive: !1 }, + CLASSDEF: { rules: [21, 22], inclusive: !1 }, + CLASS_STYLE: { rules: [26], inclusive: !1 }, + CLASS: { rules: [25], inclusive: !1 }, + LLABEL: { rules: [100, 101, 102, 103, 104], inclusive: !1 }, + ARROW_DIR: { + rules: [86, 87, 88, 89, 90, 91, 92], + inclusive: !1 + }, + BLOCK_ARROW: { rules: [77, 82, 85], inclusive: !1 }, + NODE: { + rules: [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 78, 81], + inclusive: !1 + }, + md_string: { rules: [10, 11, 79, 80], inclusive: !1 }, + space: { rules: [], inclusive: !1 }, + string: { rules: [13, 14, 83, 84], inclusive: !1 }, + acc_descr_multiline: { rules: [35, 36], inclusive: !1 }, + acc_descr: { rules: [33], inclusive: !1 }, + acc_title: { rules: [31], inclusive: !1 }, + INITIAL: { + rules: [ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 15, 16, 17, 18, 19, 20, 24, 27, 30, 32, 34, + 37, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, + 74, 75, 76, 93, 94, 95, 96, 97, 98, 99, 105 + ], + inclusive: !0 + } + } + }; + return w; + })(); + v.lexer = x; + function b() { + this.yy = {}; + } + return o(b, 'Parser'), (b.prototype = v), (v.Parser = b), new b(); + })(); + GB.parser = GB; + h1e = GB; + }); + function gJe(t) { + switch ((V.debug('typeStr2Type', t), t)) { + case '[]': + return 'square'; + case '()': + return V.debug('we have a round'), 'round'; + case '(())': + return 'circle'; + case '>]': + return 'rect_left_inv_arrow'; + case '{}': + return 'diamond'; + case '{{}}': + return 'hexagon'; + case '([])': + return 'stadium'; + case '[[]]': + return 'subroutine'; + case '[()]': + return 'cylinder'; + case '((()))': + return 'doublecircle'; + case '[//]': + return 'lean_right'; + case '[\\\\]': + return 'lean_left'; + case '[/\\]': + return 'trapezoid'; + case '[\\/]': + return 'inv_trapezoid'; + case '<[]>': + return 'block_arrow'; + default: + return 'na'; + } + } + function yJe(t) { + switch ((V.debug('typeStr2Type', t), t)) { + case '==': + return 'thick'; + default: + return 'normal'; + } + } + function vJe(t) { + switch (t.trim()) { + case '--x': + return 'arrow_cross'; + case '--o': + return 'arrow_circle'; + default: + return 'arrow_point'; + } + } + var Yl, + VB, + $B, + d1e, + p1e, + cJe, + g1e, + uJe, + aC, + hJe, + fJe, + dJe, + pJe, + y1e, + UB, + db, + mJe, + m1e, + xJe, + bJe, + wJe, + TJe, + kJe, + EJe, + CJe, + SJe, + AJe, + _Je, + LJe, + v1e, + x1e = R(() => { + 'use strict'; + gL(); + qs(); + _t(); + ut(); + rr(); + bi(); + (Yl = new Map()), + (VB = []), + ($B = new Map()), + (d1e = 'color'), + (p1e = 'fill'), + (cJe = 'bgFill'), + (g1e = ','), + (uJe = de()), + (aC = new Map()), + (hJe = o((t) => We.sanitizeText(t, uJe), 'sanitizeText')), + (fJe = o(function (t, e = '') { + let r = aC.get(t); + r || ((r = { id: t, styles: [], textStyles: [] }), aC.set(t, r)), + e?.split(g1e).forEach((n) => { + let i = n.replace(/([^;]*);/, '$1').trim(); + if (RegExp(d1e).exec(n)) { + let s = i.replace(p1e, cJe).replace(d1e, p1e); + r.textStyles.push(s); + } + r.styles.push(i); + }); + }, 'addStyleClass')), + (dJe = o(function (t, e = '') { + let r = Yl.get(t); + e != null && (r.styles = e.split(g1e)); + }, 'addStyle2Node')), + (pJe = o(function (t, e) { + t.split(',').forEach(function (r) { + let n = Yl.get(r); + if (n === void 0) { + let i = r.trim(); + (n = { id: i, type: 'na', children: [] }), Yl.set(i, n); + } + n.classes || (n.classes = []), n.classes.push(e); + }); + }, 'setCssClass')), + (y1e = o((t, e) => { + let r = t.flat(), + n = []; + for (let i of r) { + if ((i.label && (i.label = hJe(i.label)), i.type === 'classDef')) { + fJe(i.id, i.css); + continue; + } + if (i.type === 'applyClass') { + pJe(i.id, i?.styleClass ?? ''); + continue; + } + if (i.type === 'applyStyles') { + i?.stylesStr && dJe(i.id, i?.stylesStr); + continue; + } + if (i.type === 'column-setting') e.columns = i.columns ?? -1; + else if (i.type === 'edge') { + let a = ($B.get(i.id) ?? 0) + 1; + $B.set(i.id, a), (i.id = a + '-' + i.id), VB.push(i); + } else { + i.label || (i.type === 'composite' ? (i.label = '') : (i.label = i.id)); + let a = Yl.get(i.id); + if ( + (a === void 0 + ? Yl.set(i.id, i) + : (i.type !== 'na' && (a.type = i.type), i.label !== i.id && (a.label = i.label)), + i.children && y1e(i.children, i), + i.type === 'space') + ) { + let s = i.width ?? 1; + for (let l = 0; l < s; l++) { + let u = Qr(i); + (u.id = u.id + '-' + l), Yl.set(u.id, u), n.push(u); + } + } else a === void 0 && n.push(i); + } + } + e.children = n; + }, 'populateBlockDatabase')), + (UB = []), + (db = { id: 'root', type: 'composite', children: [], columns: -1 }), + (mJe = o(() => { + V.debug('Clear called'), + vr(), + (db = { id: 'root', type: 'composite', children: [], columns: -1 }), + (Yl = new Map([['root', db]])), + (UB = []), + (aC = new Map()), + (VB = []), + ($B = new Map()); + }, 'clear')); + o(gJe, 'typeStr2Type'); + o(yJe, 'edgeTypeStr2Type'); + o(vJe, 'edgeStrToEdgeData'); + (m1e = 0), + (xJe = o(() => (m1e++, 'id-' + Math.random().toString(36).substr(2, 12) + '-' + m1e), 'generateId')), + (bJe = o((t) => { + (db.children = t), y1e(t, db), (UB = db.children); + }, 'setHierarchy')), + (wJe = o((t) => { + let e = Yl.get(t); + return e ? (e.columns ? e.columns : e.children ? e.children.length : -1) : -1; + }, 'getColumns')), + (TJe = o(() => [...Yl.values()], 'getBlocksFlat')), + (kJe = o(() => UB || [], 'getBlocks')), + (EJe = o(() => VB, 'getEdges')), + (CJe = o((t) => Yl.get(t), 'getBlock')), + (SJe = o((t) => { + Yl.set(t.id, t); + }, 'setBlock')), + (AJe = o(() => console, 'getLogger')), + (_Je = o(function () { + return aC; + }, 'getClasses')), + (LJe = { + getConfig: o(() => Or().block, 'getConfig'), + typeStr2Type: gJe, + edgeTypeStr2Type: yJe, + edgeStrToEdgeData: vJe, + getLogger: AJe, + getBlocksFlat: TJe, + getBlocks: kJe, + getEdges: EJe, + setHierarchy: bJe, + getBlock: CJe, + setBlock: SJe, + getColumns: wJe, + getClasses: _Je, + clear: mJe, + generateId: xJe + }), + (v1e = LJe); + }); + var sC, + DJe, + b1e, + w1e = R(() => { + 'use strict'; + al(); + (sC = o((t, e) => { + let r = X1, + n = r(t, 'r'), + i = r(t, 'g'), + a = r(t, 'b'); + return Ws(n, i, a, e); + }, 'fade')), + (DJe = o( + (t) => `.label { + font-family: ${t.fontFamily}; + color: ${t.nodeTextColor || t.textColor}; + } + .cluster-label text { + fill: ${t.titleColor}; + } + .cluster-label span,p { + color: ${t.titleColor}; + } + + + + .label text,span,p { + fill: ${t.nodeTextColor || t.textColor}; + color: ${t.nodeTextColor || t.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + stroke-width: 1px; + } + .flowchart-label text { + text-anchor: middle; + } + // .flowchart-label .text-outer-tspan { + // text-anchor: middle; + // } + // .flowchart-label .text-inner-tspan { + // text-anchor: start; + // } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${t.arrowheadColor}; + } + + .edgePath .path { + stroke: ${t.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${t.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${t.edgeLabelBackground}; + rect { + opacity: 0.5; + background-color: ${t.edgeLabelBackground}; + fill: ${t.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${sC(t.edgeLabelBackground, 0.5)}; + // background-color: + } + + .node .cluster { + // fill: ${sC(t.mainBkg, 0.5)}; + fill: ${sC(t.clusterBkg, 0.5)}; + stroke: ${sC(t.clusterBorder, 0.2)}; + box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px; + stroke-width: 1px; + } + + .cluster text { + fill: ${t.titleColor}; + } + + .cluster span,p { + color: ${t.titleColor}; + } + /* .cluster div { + color: ${t.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${t.fontFamily}; + font-size: 12px; + background: ${t.tertiaryColor}; + border: 1px solid ${t.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; + } +`, + 'getStyles' + )), + (b1e = DJe); + }); + function RJe(t, e) { + if (t === 0 || !Number.isInteger(t)) throw new Error('Columns must be an integer !== 0.'); + if (e < 0 || !Number.isInteger(e)) throw new Error('Position must be a non-negative integer.' + e); + if (t < 0) return { px: e, py: 0 }; + if (t === 1) return { px: 0, py: e }; + let r = e % t, + n = Math.floor(e / t); + return { px: r, py: n }; + } + function HB(t, e, r = 0, n = 0) { + V.debug('setBlockSizes abc95 (start)', t.id, t?.size?.x, 'block width =', t?.size, 'sieblingWidth', r), + t?.size?.width || (t.size = { width: r, height: n, x: 0, y: 0 }); + let i = 0, + a = 0; + if (t.children?.length > 0) { + for (let m of t.children) HB(m, e); + let s = NJe(t); + (i = s.width), (a = s.height), V.debug('setBlockSizes abc95 maxWidth of', t.id, ':s children is ', i, a); + for (let m of t.children) + m.size && + (V.debug( + `abc95 Setting size of children of ${t.id} id=${m.id} ${i} ${a} ${JSON.stringify(m.size)}` + ), + (m.size.width = i * (m.widthInColumns ?? 1) + mi * ((m.widthInColumns ?? 1) - 1)), + (m.size.height = a), + (m.size.x = 0), + (m.size.y = 0), + V.debug(`abc95 updating size of ${t.id} children child:${m.id} maxWidth:${i} maxHeight:${a}`)); + for (let m of t.children) HB(m, e, i, a); + let l = t.columns ?? -1, + u = 0; + for (let m of t.children) u += m.widthInColumns ?? 1; + let h = t.children.length; + l > 0 && l < u && (h = l); + let f = Math.ceil(u / h), + d = h * (i + mi) + mi, + p = f * (a + mi) + mi; + if (d < r) { + V.debug(`Detected to small siebling: abc95 ${t.id} sieblingWidth ${r} sieblingHeight ${n} width ${d}`), + (d = r), + (p = n); + let m = (r - h * mi - mi) / h, + g = (n - f * mi - mi) / f; + V.debug('Size indata abc88', t.id, 'childWidth', m, 'maxWidth', i), + V.debug('Size indata abc88', t.id, 'childHeight', g, 'maxHeight', a), + V.debug('Size indata abc88 xSize', h, 'padding', mi); + for (let y of t.children) + y.size && ((y.size.width = m), (y.size.height = g), (y.size.x = 0), (y.size.y = 0)); + } + if ( + (V.debug( + `abc95 (finale calc) ${t.id} xSize ${h} ySize ${f} columns ${l}${ + t.children.length + } width=${Math.max(d, t.size?.width || 0)}` + ), + d < (t?.size?.width || 0)) + ) { + d = t?.size?.width || 0; + let m = l > 0 ? Math.min(t.children.length, l) : t.children.length; + if (m > 0) { + let g = (d - m * mi - mi) / m; + V.debug('abc95 (growing to fit) width', t.id, d, t.size?.width, g); + for (let y of t.children) y.size && (y.size.width = g); + } + } + t.size = { width: d, height: p, x: 0, y: 0 }; + } + V.debug('setBlockSizes abc94 (done)', t.id, t?.size?.x, t?.size?.width, t?.size?.y, t?.size?.height); + } + function T1e(t, e) { + V.debug( + `abc85 layout blocks (=>layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}` + ); + let r = t.columns ?? -1; + if ((V.debug('layoutBlocks columns abc95', t.id, '=>', r, t), t.children && t.children.length > 0)) { + let n = t?.children[0]?.size?.width ?? 0, + i = t.children.length * n + (t.children.length - 1) * mi; + V.debug('widthOfChildren 88', i, 'posX'); + let a = 0; + V.debug('abc91 block?.size?.x', t.id, t?.size?.x); + let s = t?.size?.x ? t?.size?.x + (-t?.size?.width / 2 || 0) : -mi, + l = 0; + for (let u of t.children) { + let h = t; + if (!u.size) continue; + let { width: f, height: d } = u.size, + { px: p, py: m } = RJe(r, a); + if ( + (m != l && + ((l = m), + (s = t?.size?.x ? t?.size?.x + (-t?.size?.width / 2 || 0) : -mi), + V.debug('New row in layout for block', t.id, ' and child ', u.id, l)), + V.debug( + `abc89 layout blocks (child) id: ${u.id} Pos: ${a} (px, py) ${p},${m} (${h?.size?.x},${h?.size?.y}) parent: ${h.id} width: ${f}${mi}` + ), + h.size) + ) { + let g = f / 2; + (u.size.x = s + mi + g), + V.debug( + `abc91 layout blocks (calc) px, pyid:${u.id} startingPos=X${s} new startingPosX${ + u.size.x + } ${g} padding=${mi} width=${f} halfWidth=${g} => x:${u.size.x} y:${u.size.y} ${ + u.widthInColumns + } (width * (child?.w || 1)) / 2 ${(f * (u?.widthInColumns ?? 1)) / 2}` + ), + (s = u.size.x + g), + (u.size.y = h.size.y - h.size.height / 2 + m * (d + mi) + d / 2 + mi), + V.debug( + `abc88 layout blocks (calc) px, pyid:${u.id}startingPosX${s}${mi}${g}=>x:${u.size.x}y:${ + u.size.y + }${u.widthInColumns}(width * (child?.w || 1)) / 2${(f * (u?.widthInColumns ?? 1)) / 2}` + ); + } + u.children && T1e(u, e), (a += u?.widthInColumns ?? 1), V.debug('abc88 columnsPos', u, a); + } + } + V.debug(`layout blocks (<==layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`); + } + function k1e( + t, + { minX: e, minY: r, maxX: n, maxY: i } = { + minX: 0, + minY: 0, + maxX: 0, + maxY: 0 + } + ) { + if (t.size && t.id !== 'root') { + let { x: a, y: s, width: l, height: u } = t.size; + a - l / 2 < e && (e = a - l / 2), + s - u / 2 < r && (r = s - u / 2), + a + l / 2 > n && (n = a + l / 2), + s + u / 2 > i && (i = s + u / 2); + } + if (t.children) + for (let a of t.children) + ({ minX: e, minY: r, maxX: n, maxY: i } = k1e(a, { minX: e, minY: r, maxX: n, maxY: i })); + return { minX: e, minY: r, maxX: n, maxY: i }; + } + function E1e(t) { + let e = t.getBlock('root'); + if (!e) return; + HB(e, t, 0, 0), T1e(e, t), V.debug('getBlocks', JSON.stringify(e, null, 2)); + let { minX: r, minY: n, maxX: i, maxY: a } = k1e(e), + s = a - n, + l = i - r; + return { x: r, y: n, width: l, height: s }; + } + var mi, + NJe, + C1e = R(() => { + 'use strict'; + ut(); + _t(); + mi = de()?.block?.padding ?? 8; + o(RJe, 'calculateBlockPosition'); + NJe = o((t) => { + let e = 0, + r = 0; + for (let n of t.children) { + let { width: i, height: a, x: s, y: l } = n.size ?? { width: 0, height: 0, x: 0, y: 0 }; + V.debug('getMaxChildSize abc95 child:', n.id, 'width:', i, 'height:', a, 'x:', s, 'y:', l, n.type), + n.type !== 'space' && (i > e && (e = i / (t.widthInColumns ?? 1)), a > r && (r = a)); + } + return { width: e, height: r }; + }, 'getMaxChildSize'); + o(HB, 'setBlockSizes'); + o(T1e, 'layoutBlocks'); + o(k1e, 'findBounds'); + o(E1e, 'layout'); + }); + function S1e(t, e, r = !1) { + let n = t, + i = 'default'; + (n?.classes?.length || 0) > 0 && (i = (n?.classes ?? []).join(' ')), (i = i + ' flowchart-label'); + let a = 0, + s = '', + l; + switch (n.type) { + case 'round': + (a = 5), (s = 'rect'); + break; + case 'composite': + (a = 0), (s = 'composite'), (l = 0); + break; + case 'square': + s = 'rect'; + break; + case 'diamond': + s = 'question'; + break; + case 'hexagon': + s = 'hexagon'; + break; + case 'block_arrow': + s = 'block_arrow'; + break; + case 'odd': + s = 'rect_left_inv_arrow'; + break; + case 'lean_right': + s = 'lean_right'; + break; + case 'lean_left': + s = 'lean_left'; + break; + case 'trapezoid': + s = 'trapezoid'; + break; + case 'inv_trapezoid': + s = 'inv_trapezoid'; + break; + case 'rect_left_inv_arrow': + s = 'rect_left_inv_arrow'; + break; + case 'circle': + s = 'circle'; + break; + case 'ellipse': + s = 'ellipse'; + break; + case 'stadium': + s = 'stadium'; + break; + case 'subroutine': + s = 'subroutine'; + break; + case 'cylinder': + s = 'cylinder'; + break; + case 'group': + s = 'rect'; + break; + case 'doublecircle': + s = 'doublecircle'; + break; + default: + s = 'rect'; + } + let u = lm(n?.styles ?? []), + h = n.label, + f = n.size ?? { width: 0, height: 0, x: 0, y: 0 }; + return { + labelStyle: u.labelStyle, + shape: s, + labelText: h, + rx: a, + ry: a, + class: i, + style: u.style, + id: n.id, + directions: n.directions, + width: f.width, + height: f.height, + x: f.x, + y: f.y, + positioned: r, + intersect: void 0, + type: n.type, + padding: l ?? Or()?.block?.padding ?? 0 + }; + } + async function MJe(t, e, r) { + let n = S1e(e, r, !1); + if (n.type === 'group') return; + let i = await pm(t, n), + a = i.node().getBBox(), + s = r.getBlock(n.id); + (s.size = { width: a.width, height: a.height, x: 0, y: 0, node: i }), r.setBlock(s), i.remove(); + } + async function IJe(t, e, r) { + let n = S1e(e, r, !0); + r.getBlock(n.id).type !== 'space' && (await pm(t, n), (e.intersect = n?.intersect), wv(n)); + } + async function YB(t, e, r, n) { + for (let i of e) await n(t, i, r), i.children && (await YB(t, i.children, r, n)); + } + async function A1e(t, e, r) { + await YB(t, e, r, MJe); + } + async function _1e(t, e, r) { + await YB(t, e, r, IJe); + } + async function L1e(t, e, r, n, i) { + let a = new lr({ multigraph: !0, compound: !0 }); + a.setGraph({ + rankdir: 'TB', + nodesep: 10, + ranksep: 10, + marginx: 8, + marginy: 8 + }); + for (let s of r) + s.size && + a.setNode(s.id, { + width: s.size.width, + height: s.size.height, + intersect: s.intersect + }); + for (let s of e) + if (s.start && s.end) { + let l = n.getBlock(s.start), + u = n.getBlock(s.end); + if (l?.size && u?.size) { + let h = l.size, + f = u.size, + d = [ + { x: h.x, y: h.y }, + { x: h.x + (f.x - h.x) / 2, y: h.y + (f.y - h.y) / 2 }, + { x: f.x, y: f.y } + ]; + PE( + t, + { v: s.start, w: s.end, name: s.id }, + { + ...s, + arrowTypeEnd: s.arrowTypeEnd, + arrowTypeStart: s.arrowTypeStart, + points: d, + classes: 'edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1' + }, + void 0, + 'block', + a, + i + ), + s.label && + (await IE(t, { + ...s, + label: s.label, + labelStyle: 'stroke: #333; stroke-width: 1.5px;fill:none;', + arrowTypeEnd: s.arrowTypeEnd, + arrowTypeStart: s.arrowTypeStart, + points: d, + classes: 'edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1' + }), + OE({ ...s, x: d[1].x, y: d[1].y }, { originalPath: d })); + } + } + } + var D1e = R(() => { + 'use strict'; + ya(); + qs(); + DO(); + M5(); + xr(); + o(S1e, 'getNodeFromBlock'); + o(MJe, 'calculateBlockSize'); + o(IJe, 'insertBlockPositioned'); + o(YB, 'performOperations'); + o(A1e, 'calculateBlockSizes'); + o(_1e, 'insertBlocks'); + o(L1e, 'insertEdges'); + }); + var OJe, + PJe, + R1e, + N1e = R(() => { + 'use strict'; + Zt(); + qs(); + LO(); + ut(); + Yn(); + C1e(); + D1e(); + (OJe = o(function (t, e) { + return e.db.getClasses(); + }, 'getClasses')), + (PJe = o(async function (t, e, r, n) { + let { securityLevel: i, block: a } = Or(), + s = n.db, + l; + i === 'sandbox' && (l = $e('#i' + e)); + let u = i === 'sandbox' ? $e(l.nodes()[0].contentDocument.body) : $e('body'), + h = i === 'sandbox' ? u.select(`[id="${e}"]`) : $e(`[id="${e}"]`); + LE(h, ['point', 'circle', 'cross'], n.type, e); + let d = s.getBlocks(), + p = s.getBlocksFlat(), + m = s.getEdges(), + g = h.insert('g').attr('class', 'block'); + await A1e(g, d, s); + let y = E1e(s); + if ((await _1e(g, d, s), await L1e(g, m, p, s, e), y)) { + let v = y, + x = Math.max(1, Math.round(0.125 * (v.width / v.height))), + b = v.height + x + 10, + w = v.width + 10, + { useMaxWidth: S } = a; + Sr(h, b, w, !!S), + V.debug('Here Bounds', y, v), + h.attr('viewBox', `${v.x - 5} ${v.y - 5} ${v.width + 10} ${v.height + 10}`); + } + }, 'draw')), + (R1e = { draw: PJe, getClasses: OJe }); + }); + var M1e = {}; + hr(M1e, { diagram: () => BJe }); + var BJe, + I1e = R(() => { + 'use strict'; + f1e(); + x1e(); + w1e(); + N1e(); + BJe = { parser: h1e, db: v1e, renderer: R1e, styles: b1e }; + }); + var WB, + qB, + pb, + B1e, + XB, + cs, + Wc, + oC, + F1e, + $Je, + mb, + z1e, + G1e, + $1e, + V1e, + lC, + If, + cC = R(() => { + 'use strict'; + (WB = { L: 'left', R: 'right', T: 'top', B: 'bottom' }), + (qB = { + L: o((t) => `${t},${t / 2} 0,${t} 0,0`, 'L'), + R: o((t) => `0,${t / 2} ${t},0 ${t},${t}`, 'R'), + T: o((t) => `0,0 ${t},0 ${t / 2},${t}`, 'T'), + B: o((t) => `${t / 2},0 ${t},${t} 0,${t}`, 'B') + }), + (pb = { + L: o((t, e) => t - e + 2, 'L'), + R: o((t, e) => t - 2, 'R'), + T: o((t, e) => t - e + 2, 'T'), + B: o((t, e) => t - 2, 'B') + }), + (B1e = o(function (t) { + return cs(t) ? (t === 'L' ? 'R' : 'L') : t === 'T' ? 'B' : 'T'; + }, 'getOppositeArchitectureDirection')), + (XB = o(function (t) { + let e = t; + return e === 'L' || e === 'R' || e === 'T' || e === 'B'; + }, 'isArchitectureDirection')), + (cs = o(function (t) { + let e = t; + return e === 'L' || e === 'R'; + }, 'isArchitectureDirectionX')), + (Wc = o(function (t) { + let e = t; + return e === 'T' || e === 'B'; + }, 'isArchitectureDirectionY')), + (oC = o(function (t, e) { + let r = cs(t) && Wc(e), + n = Wc(t) && cs(e); + return r || n; + }, 'isArchitectureDirectionXY')), + (F1e = o(function (t) { + let e = t[0], + r = t[1], + n = cs(e) && Wc(r), + i = Wc(e) && cs(r); + return n || i; + }, 'isArchitecturePairXY')), + ($Je = o(function (t) { + return t !== 'LL' && t !== 'RR' && t !== 'TT' && t !== 'BB'; + }, 'isValidArchitectureDirectionPair')), + (mb = o(function (t, e) { + let r = `${t}${e}`; + return $Je(r) ? r : void 0; + }, 'getArchitectureDirectionPair')), + (z1e = o(function ([t, e], r) { + let n = r[0], + i = r[1]; + return cs(n) + ? Wc(i) + ? [t + (n === 'L' ? -1 : 1), e + (i === 'T' ? 1 : -1)] + : [t + (n === 'L' ? -1 : 1), e] + : cs(i) + ? [t + (i === 'L' ? 1 : -1), e + (n === 'T' ? 1 : -1)] + : [t, e + (n === 'T' ? 1 : -1)]; + }, 'shiftPositionByArchitectureDirectionPair')), + (G1e = o(function (t) { + return t === 'LT' || t === 'TL' + ? [1, 1] + : t === 'BL' || t === 'LB' + ? [1, -1] + : t === 'BR' || t === 'RB' + ? [-1, -1] + : [-1, 1]; + }, 'getArchitectureDirectionXYFactors')), + ($1e = o(function (t) { + return t.type === 'service'; + }, 'isArchitectureService')), + (V1e = o(function (t) { + return t.type === 'junction'; + }, 'isArchitectureJunction')), + (lC = o((t) => t.data(), 'edgeData')), + (If = o((t) => t.data(), 'nodeData')); + }); + function Ci(t) { + let e = de().architecture; + return e?.[t] ? e[t] : U1e[t]; + } + var U1e, + nr, + VJe, + UJe, + HJe, + YJe, + WJe, + qJe, + XJe, + jJe, + KJe, + QJe, + ZJe, + JJe, + eet, + tet, + Z0, + gb = R(() => { + 'use strict'; + sl(); + _t(); + Jk(); + bi(); + cC(); + (U1e = mr.architecture), + (nr = new uf(() => ({ + nodes: {}, + groups: {}, + edges: [], + registeredIds: {}, + config: U1e, + dataStructures: void 0, + elements: {} + }))), + (VJe = o(() => { + nr.reset(), vr(); + }, 'clear')), + (UJe = o(function ({ id: t, icon: e, in: r, title: n, iconText: i }) { + if (nr.records.registeredIds[t] !== void 0) + throw new Error( + `The service id [${t}] is already in use by another ${nr.records.registeredIds[t]}` + ); + if (r !== void 0) { + if (t === r) throw new Error(`The service [${t}] cannot be placed within itself`); + if (nr.records.registeredIds[r] === void 0) + throw new Error( + `The service [${t}]'s parent does not exist. Please make sure the parent is created before this service` + ); + if (nr.records.registeredIds[r] === 'node') + throw new Error(`The service [${t}]'s parent is not a group`); + } + (nr.records.registeredIds[t] = 'node'), + (nr.records.nodes[t] = { + id: t, + type: 'service', + icon: e, + iconText: i, + title: n, + edges: [], + in: r + }); + }, 'addService')), + (HJe = o(() => Object.values(nr.records.nodes).filter($1e), 'getServices')), + (YJe = o(function ({ id: t, in: e }) { + (nr.records.registeredIds[t] = 'node'), + (nr.records.nodes[t] = { + id: t, + type: 'junction', + edges: [], + in: e + }); + }, 'addJunction')), + (WJe = o(() => Object.values(nr.records.nodes).filter(V1e), 'getJunctions')), + (qJe = o(() => Object.values(nr.records.nodes), 'getNodes')), + (XJe = o((t) => nr.records.nodes[t], 'getNode')), + (jJe = o(function ({ id: t, icon: e, in: r, title: n }) { + if (nr.records.registeredIds[t] !== void 0) + throw new Error( + `The group id [${t}] is already in use by another ${nr.records.registeredIds[t]}` + ); + if (r !== void 0) { + if (t === r) throw new Error(`The group [${t}] cannot be placed within itself`); + if (nr.records.registeredIds[r] === void 0) + throw new Error( + `The group [${t}]'s parent does not exist. Please make sure the parent is created before this group` + ); + if (nr.records.registeredIds[r] === 'node') + throw new Error(`The group [${t}]'s parent is not a group`); + } + (nr.records.registeredIds[t] = 'group'), + (nr.records.groups[t] = { id: t, icon: e, title: n, in: r }); + }, 'addGroup')), + (KJe = o(() => Object.values(nr.records.groups), 'getGroups')), + (QJe = o(function ({ + lhsId: t, + rhsId: e, + lhsDir: r, + rhsDir: n, + lhsInto: i, + rhsInto: a, + lhsGroup: s, + rhsGroup: l, + title: u + }) { + if (!XB(r)) + throw new Error( + `Invalid direction given for left hand side of edge ${t}--${e}. Expected (L,R,T,B) got ${r}` + ); + if (!XB(n)) + throw new Error( + `Invalid direction given for right hand side of edge ${t}--${e}. Expected (L,R,T,B) got ${n}` + ); + if (nr.records.nodes[t] === void 0 && nr.records.groups[t] === void 0) + throw new Error( + `The left-hand id [${t}] does not yet exist. Please create the service/group before declaring an edge to it.` + ); + if (nr.records.nodes[e] === void 0 && nr.records.groups[t] === void 0) + throw new Error( + `The right-hand id [${e}] does not yet exist. Please create the service/group before declaring an edge to it.` + ); + let h = nr.records.nodes[t].in, + f = nr.records.nodes[e].in; + if (s && h && f && h == f) + throw new Error( + `The left-hand id [${t}] is modified to traverse the group boundary, but the edge does not pass through two groups.` + ); + if (l && h && f && h == f) + throw new Error( + `The right-hand id [${e}] is modified to traverse the group boundary, but the edge does not pass through two groups.` + ); + let d = { + lhsId: t, + lhsDir: r, + lhsInto: i, + lhsGroup: s, + rhsId: e, + rhsDir: n, + rhsInto: a, + rhsGroup: l, + title: u + }; + nr.records.edges.push(d), + nr.records.nodes[t] && + nr.records.nodes[e] && + (nr.records.nodes[t].edges.push(nr.records.edges[nr.records.edges.length - 1]), + nr.records.nodes[e].edges.push(nr.records.edges[nr.records.edges.length - 1])); + }, + 'addEdge')), + (ZJe = o(() => nr.records.edges, 'getEdges')), + (JJe = o(() => { + if (nr.records.dataStructures === void 0) { + let t = Object.entries(nr.records.nodes).reduce( + (s, [l, u]) => ( + (s[l] = u.edges.reduce((h, f) => { + if (f.lhsId === l) { + let d = mb(f.lhsDir, f.rhsDir); + d && (h[d] = f.rhsId); + } else { + let d = mb(f.rhsDir, f.lhsDir); + d && (h[d] = f.lhsId); + } + return h; + }, {})), + s + ), + {} + ), + e = Object.keys(t)[0], + r = { [e]: 1 }, + n = Object.keys(t).reduce((s, l) => (l === e ? s : { ...s, [l]: 1 }), {}), + i = o((s) => { + let l = { [s]: [0, 0] }, + u = [s]; + for (; u.length > 0; ) { + let h = u.shift(); + if (h) { + (r[h] = 1), delete n[h]; + let f = t[h], + [d, p] = l[h]; + Object.entries(f).forEach(([m, g]) => { + r[g] || ((l[g] = z1e([d, p], m)), u.push(g)); + }); + } + } + return l; + }, 'BFS'), + a = [i(e)]; + for (; Object.keys(n).length > 0; ) a.push(i(Object.keys(n)[0])); + nr.records.dataStructures = { adjList: t, spatialMaps: a }; + } + return nr.records.dataStructures; + }, 'getDataStructures')), + (eet = o((t, e) => { + nr.records.elements[t] = e; + }, 'setElementForId')), + (tet = o((t) => nr.records.elements[t], 'getElementById')), + (Z0 = { + clear: VJe, + setDiagramTitle: nn, + getDiagramTitle: Xr, + setAccTitle: kr, + getAccTitle: Ar, + setAccDescription: _r, + getAccDescription: Lr, + addService: UJe, + getServices: HJe, + addJunction: YJe, + getJunctions: WJe, + getNodes: qJe, + getNode: XJe, + addGroup: jJe, + getGroups: KJe, + addEdge: QJe, + getEdges: ZJe, + setElementForId: eet, + getElementById: tet, + getDataStructures: JJe + }); + o(Ci, 'getConfigField'); + }); + var ret, + H1e, + Y1e = R(() => { + 'use strict'; + Lg(); + ut(); + sx(); + gb(); + (ret = o((t, e) => { + cf(t, e), + t.groups.map(e.addGroup), + t.services.map((r) => e.addService({ ...r, type: 'service' })), + t.junctions.map((r) => e.addJunction({ ...r, type: 'junction' })), + t.edges.map(e.addEdge); + }, 'populateDb')), + (H1e = { + parse: o(async (t) => { + let e = await Fl('architecture', t); + V.debug(e), ret(e, Z0); + }, 'parse') + }); + }); + var net, + W1e, + q1e = R(() => { + 'use strict'; + (net = o( + (t) => ` + .edge { + stroke-width: ${t.archEdgeWidth}; + stroke: ${t.archEdgeColor}; + fill: none; + } + + .arrow { + fill: ${t.archEdgeArrowColor}; + } + + .node-bkg { + fill: none; + stroke: ${t.archGroupBorderColor}; + stroke-width: ${t.archGroupBorderWidth}; + stroke-dasharray: 8; + } + .node-icon-text { + display: flex; + align-items: center; + } + + .node-icon-text > div { + color: #fff; + margin: 1px; + height: fit-content; + text-align: center; + overflow: hidden; + display: -webkit-box; + -webkit-box-orient: vertical; + } +`, + 'getStyles' + )), + (W1e = net); + }); + var KB = gi((yb, jB) => { + 'use strict'; + o(function (e, r) { + typeof yb == 'object' && typeof jB == 'object' + ? (jB.exports = r()) + : typeof define == 'function' && define.amd + ? define([], r) + : typeof yb == 'object' + ? (yb.layoutBase = r()) + : (e.layoutBase = r()); + }, 'webpackUniversalModuleDefinition')(yb, function () { + return (function (t) { + var e = {}; + function r(n) { + if (e[n]) return e[n].exports; + var i = (e[n] = { i: n, l: !1, exports: {} }); + return t[n].call(i.exports, i, i.exports, r), (i.l = !0), i.exports; + } + return ( + o(r, '__webpack_require__'), + (r.m = t), + (r.c = e), + (r.i = function (n) { + return n; + }), + (r.d = function (n, i, a) { + r.o(n, i) || + Object.defineProperty(n, i, { + configurable: !1, + enumerable: !0, + get: a + }); + }), + (r.n = function (n) { + var i = + n && n.__esModule + ? o(function () { + return n.default; + }, 'getDefault') + : o(function () { + return n; + }, 'getModuleExports'); + return r.d(i, 'a', i), i; + }), + (r.o = function (n, i) { + return Object.prototype.hasOwnProperty.call(n, i); + }), + (r.p = ''), + r((r.s = 28)) + ); + })([ + function (t, e, r) { + 'use strict'; + function n() {} + o(n, 'LayoutConstants'), + (n.QUALITY = 1), + (n.DEFAULT_CREATE_BENDS_AS_NEEDED = !1), + (n.DEFAULT_INCREMENTAL = !1), + (n.DEFAULT_ANIMATION_ON_LAYOUT = !0), + (n.DEFAULT_ANIMATION_DURING_LAYOUT = !1), + (n.DEFAULT_ANIMATION_PERIOD = 50), + (n.DEFAULT_UNIFORM_LEAF_NODE_SIZES = !1), + (n.DEFAULT_GRAPH_MARGIN = 15), + (n.NODE_DIMENSIONS_INCLUDE_LABELS = !1), + (n.SIMPLE_NODE_SIZE = 40), + (n.SIMPLE_NODE_HALF_SIZE = n.SIMPLE_NODE_SIZE / 2), + (n.EMPTY_COMPOUND_NODE_SIZE = 40), + (n.MIN_EDGE_LENGTH = 1), + (n.WORLD_BOUNDARY = 1e6), + (n.INITIAL_WORLD_BOUNDARY = n.WORLD_BOUNDARY / 1e3), + (n.WORLD_CENTER_X = 1200), + (n.WORLD_CENTER_Y = 900), + (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + var n = r(2), + i = r(8), + a = r(9); + function s(u, h, f) { + n.call(this, f), + (this.isOverlapingSourceAndTarget = !1), + (this.vGraphObject = f), + (this.bendpoints = []), + (this.source = u), + (this.target = h); + } + o(s, 'LEdge'), (s.prototype = Object.create(n.prototype)); + for (var l in n) s[l] = n[l]; + (s.prototype.getSource = function () { + return this.source; + }), + (s.prototype.getTarget = function () { + return this.target; + }), + (s.prototype.isInterGraph = function () { + return this.isInterGraph; + }), + (s.prototype.getLength = function () { + return this.length; + }), + (s.prototype.isOverlapingSourceAndTarget = function () { + return this.isOverlapingSourceAndTarget; + }), + (s.prototype.getBendpoints = function () { + return this.bendpoints; + }), + (s.prototype.getLca = function () { + return this.lca; + }), + (s.prototype.getSourceInLca = function () { + return this.sourceInLca; + }), + (s.prototype.getTargetInLca = function () { + return this.targetInLca; + }), + (s.prototype.getOtherEnd = function (u) { + if (this.source === u) return this.target; + if (this.target === u) return this.source; + throw 'Node is not incident with this edge'; + }), + (s.prototype.getOtherEndInGraph = function (u, h) { + for (var f = this.getOtherEnd(u), d = h.getGraphManager().getRoot(); ; ) { + if (f.getOwner() == h) return f; + if (f.getOwner() == d) break; + f = f.getOwner().getParent(); + } + return null; + }), + (s.prototype.updateLength = function () { + var u = new Array(4); + (this.isOverlapingSourceAndTarget = i.getIntersection( + this.target.getRect(), + this.source.getRect(), + u + )), + this.isOverlapingSourceAndTarget || + ((this.lengthX = u[0] - u[2]), + (this.lengthY = u[1] - u[3]), + Math.abs(this.lengthX) < 1 && (this.lengthX = a.sign(this.lengthX)), + Math.abs(this.lengthY) < 1 && (this.lengthY = a.sign(this.lengthY)), + (this.length = Math.sqrt( + this.lengthX * this.lengthX + this.lengthY * this.lengthY + ))); + }), + (s.prototype.updateLengthSimple = function () { + (this.lengthX = this.target.getCenterX() - this.source.getCenterX()), + (this.lengthY = this.target.getCenterY() - this.source.getCenterY()), + Math.abs(this.lengthX) < 1 && (this.lengthX = a.sign(this.lengthX)), + Math.abs(this.lengthY) < 1 && (this.lengthY = a.sign(this.lengthY)), + (this.length = Math.sqrt(this.lengthX * this.lengthX + this.lengthY * this.lengthY)); + }), + (t.exports = s); + }, + function (t, e, r) { + 'use strict'; + function n(i) { + this.vGraphObject = i; + } + o(n, 'LGraphObject'), (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + var n = r(2), + i = r(10), + a = r(13), + s = r(0), + l = r(16), + u = r(5); + function h(d, p, m, g) { + m == null && g == null && (g = p), + n.call(this, g), + d.graphManager != null && (d = d.graphManager), + (this.estimatedSize = i.MIN_VALUE), + (this.inclusionTreeDepth = i.MAX_VALUE), + (this.vGraphObject = g), + (this.edges = []), + (this.graphManager = d), + m != null && p != null + ? (this.rect = new a(p.x, p.y, m.width, m.height)) + : (this.rect = new a()); + } + o(h, 'LNode'), (h.prototype = Object.create(n.prototype)); + for (var f in n) h[f] = n[f]; + (h.prototype.getEdges = function () { + return this.edges; + }), + (h.prototype.getChild = function () { + return this.child; + }), + (h.prototype.getOwner = function () { + return this.owner; + }), + (h.prototype.getWidth = function () { + return this.rect.width; + }), + (h.prototype.setWidth = function (d) { + this.rect.width = d; + }), + (h.prototype.getHeight = function () { + return this.rect.height; + }), + (h.prototype.setHeight = function (d) { + this.rect.height = d; + }), + (h.prototype.getCenterX = function () { + return this.rect.x + this.rect.width / 2; + }), + (h.prototype.getCenterY = function () { + return this.rect.y + this.rect.height / 2; + }), + (h.prototype.getCenter = function () { + return new u(this.rect.x + this.rect.width / 2, this.rect.y + this.rect.height / 2); + }), + (h.prototype.getLocation = function () { + return new u(this.rect.x, this.rect.y); + }), + (h.prototype.getRect = function () { + return this.rect; + }), + (h.prototype.getDiagonal = function () { + return Math.sqrt(this.rect.width * this.rect.width + this.rect.height * this.rect.height); + }), + (h.prototype.getHalfTheDiagonal = function () { + return ( + Math.sqrt(this.rect.height * this.rect.height + this.rect.width * this.rect.width) / 2 + ); + }), + (h.prototype.setRect = function (d, p) { + (this.rect.x = d.x), + (this.rect.y = d.y), + (this.rect.width = p.width), + (this.rect.height = p.height); + }), + (h.prototype.setCenter = function (d, p) { + (this.rect.x = d - this.rect.width / 2), (this.rect.y = p - this.rect.height / 2); + }), + (h.prototype.setLocation = function (d, p) { + (this.rect.x = d), (this.rect.y = p); + }), + (h.prototype.moveBy = function (d, p) { + (this.rect.x += d), (this.rect.y += p); + }), + (h.prototype.getEdgeListToNode = function (d) { + var p = [], + m, + g = this; + return ( + g.edges.forEach(function (y) { + if (y.target == d) { + if (y.source != g) throw 'Incorrect edge source!'; + p.push(y); + } + }), + p + ); + }), + (h.prototype.getEdgesBetween = function (d) { + var p = [], + m, + g = this; + return ( + g.edges.forEach(function (y) { + if (!(y.source == g || y.target == g)) throw 'Incorrect edge source and/or target'; + (y.target == d || y.source == d) && p.push(y); + }), + p + ); + }), + (h.prototype.getNeighborsList = function () { + var d = new Set(), + p = this; + return ( + p.edges.forEach(function (m) { + if (m.source == p) d.add(m.target); + else { + if (m.target != p) throw 'Incorrect incidency!'; + d.add(m.source); + } + }), + d + ); + }), + (h.prototype.withChildren = function () { + var d = new Set(), + p, + m; + if ((d.add(this), this.child != null)) + for (var g = this.child.getNodes(), y = 0; y < g.length; y++) + (p = g[y]), + (m = p.withChildren()), + m.forEach(function (v) { + d.add(v); + }); + return d; + }), + (h.prototype.getNoOfChildren = function () { + var d = 0, + p; + if (this.child == null) d = 1; + else + for (var m = this.child.getNodes(), g = 0; g < m.length; g++) + (p = m[g]), (d += p.getNoOfChildren()); + return d == 0 && (d = 1), d; + }), + (h.prototype.getEstimatedSize = function () { + if (this.estimatedSize == i.MIN_VALUE) throw 'assert failed'; + return this.estimatedSize; + }), + (h.prototype.calcEstimatedSize = function () { + return this.child == null + ? (this.estimatedSize = (this.rect.width + this.rect.height) / 2) + : ((this.estimatedSize = this.child.calcEstimatedSize()), + (this.rect.width = this.estimatedSize), + (this.rect.height = this.estimatedSize), + this.estimatedSize); + }), + (h.prototype.scatter = function () { + var d, + p, + m = -s.INITIAL_WORLD_BOUNDARY, + g = s.INITIAL_WORLD_BOUNDARY; + d = s.WORLD_CENTER_X + l.nextDouble() * (g - m) + m; + var y = -s.INITIAL_WORLD_BOUNDARY, + v = s.INITIAL_WORLD_BOUNDARY; + (p = s.WORLD_CENTER_Y + l.nextDouble() * (v - y) + y), (this.rect.x = d), (this.rect.y = p); + }), + (h.prototype.updateBounds = function () { + if (this.getChild() == null) throw 'assert failed'; + if (this.getChild().getNodes().length != 0) { + var d = this.getChild(); + if ( + (d.updateBounds(!0), + (this.rect.x = d.getLeft()), + (this.rect.y = d.getTop()), + this.setWidth(d.getRight() - d.getLeft()), + this.setHeight(d.getBottom() - d.getTop()), + s.NODE_DIMENSIONS_INCLUDE_LABELS) + ) { + var p = d.getRight() - d.getLeft(), + m = d.getBottom() - d.getTop(); + this.labelWidth && + (this.labelPosHorizontal == 'left' + ? ((this.rect.x -= this.labelWidth), this.setWidth(p + this.labelWidth)) + : this.labelPosHorizontal == 'center' && this.labelWidth > p + ? ((this.rect.x -= (this.labelWidth - p) / 2), + this.setWidth(this.labelWidth)) + : this.labelPosHorizontal == 'right' && this.setWidth(p + this.labelWidth)), + this.labelHeight && + (this.labelPosVertical == 'top' + ? ((this.rect.y -= this.labelHeight), + this.setHeight(m + this.labelHeight)) + : this.labelPosVertical == 'center' && this.labelHeight > m + ? ((this.rect.y -= (this.labelHeight - m) / 2), + this.setHeight(this.labelHeight)) + : this.labelPosVertical == 'bottom' && + this.setHeight(m + this.labelHeight)); + } + } + }), + (h.prototype.getInclusionTreeDepth = function () { + if (this.inclusionTreeDepth == i.MAX_VALUE) throw 'assert failed'; + return this.inclusionTreeDepth; + }), + (h.prototype.transform = function (d) { + var p = this.rect.x; + p > s.WORLD_BOUNDARY + ? (p = s.WORLD_BOUNDARY) + : p < -s.WORLD_BOUNDARY && (p = -s.WORLD_BOUNDARY); + var m = this.rect.y; + m > s.WORLD_BOUNDARY + ? (m = s.WORLD_BOUNDARY) + : m < -s.WORLD_BOUNDARY && (m = -s.WORLD_BOUNDARY); + var g = new u(p, m), + y = d.inverseTransformPoint(g); + this.setLocation(y.x, y.y); + }), + (h.prototype.getLeft = function () { + return this.rect.x; + }), + (h.prototype.getRight = function () { + return this.rect.x + this.rect.width; + }), + (h.prototype.getTop = function () { + return this.rect.y; + }), + (h.prototype.getBottom = function () { + return this.rect.y + this.rect.height; + }), + (h.prototype.getParent = function () { + return this.owner == null ? null : this.owner.getParent(); + }), + (t.exports = h); + }, + function (t, e, r) { + 'use strict'; + var n = r(0); + function i() {} + o(i, 'FDLayoutConstants'); + for (var a in n) i[a] = n[a]; + (i.MAX_ITERATIONS = 2500), + (i.DEFAULT_EDGE_LENGTH = 50), + (i.DEFAULT_SPRING_STRENGTH = 0.45), + (i.DEFAULT_REPULSION_STRENGTH = 4500), + (i.DEFAULT_GRAVITY_STRENGTH = 0.4), + (i.DEFAULT_COMPOUND_GRAVITY_STRENGTH = 1), + (i.DEFAULT_GRAVITY_RANGE_FACTOR = 3.8), + (i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = 1.5), + (i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION = !0), + (i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION = !0), + (i.DEFAULT_COOLING_FACTOR_INCREMENTAL = 0.3), + (i.COOLING_ADAPTATION_FACTOR = 0.33), + (i.ADAPTATION_LOWER_NODE_LIMIT = 1e3), + (i.ADAPTATION_UPPER_NODE_LIMIT = 5e3), + (i.MAX_NODE_DISPLACEMENT_INCREMENTAL = 100), + (i.MAX_NODE_DISPLACEMENT = i.MAX_NODE_DISPLACEMENT_INCREMENTAL * 3), + (i.MIN_REPULSION_DIST = i.DEFAULT_EDGE_LENGTH / 10), + (i.CONVERGENCE_CHECK_PERIOD = 100), + (i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = 0.1), + (i.MIN_EDGE_LENGTH = 1), + (i.GRID_CALCULATION_CHECK_PERIOD = 10), + (t.exports = i); + }, + function (t, e, r) { + 'use strict'; + function n(i, a) { + i == null && a == null ? ((this.x = 0), (this.y = 0)) : ((this.x = i), (this.y = a)); + } + o(n, 'PointD'), + (n.prototype.getX = function () { + return this.x; + }), + (n.prototype.getY = function () { + return this.y; + }), + (n.prototype.setX = function (i) { + this.x = i; + }), + (n.prototype.setY = function (i) { + this.y = i; + }), + (n.prototype.getDifference = function (i) { + return new DimensionD(this.x - i.x, this.y - i.y); + }), + (n.prototype.getCopy = function () { + return new n(this.x, this.y); + }), + (n.prototype.translate = function (i) { + return (this.x += i.width), (this.y += i.height), this; + }), + (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + var n = r(2), + i = r(10), + a = r(0), + s = r(7), + l = r(3), + u = r(1), + h = r(13), + f = r(12), + d = r(11); + function p(g, y, v) { + n.call(this, v), + (this.estimatedSize = i.MIN_VALUE), + (this.margin = a.DEFAULT_GRAPH_MARGIN), + (this.edges = []), + (this.nodes = []), + (this.isConnected = !1), + (this.parent = g), + y != null && y instanceof s + ? (this.graphManager = y) + : y != null && y instanceof Layout && (this.graphManager = y.graphManager); + } + o(p, 'LGraph'), (p.prototype = Object.create(n.prototype)); + for (var m in n) p[m] = n[m]; + (p.prototype.getNodes = function () { + return this.nodes; + }), + (p.prototype.getEdges = function () { + return this.edges; + }), + (p.prototype.getGraphManager = function () { + return this.graphManager; + }), + (p.prototype.getParent = function () { + return this.parent; + }), + (p.prototype.getLeft = function () { + return this.left; + }), + (p.prototype.getRight = function () { + return this.right; + }), + (p.prototype.getTop = function () { + return this.top; + }), + (p.prototype.getBottom = function () { + return this.bottom; + }), + (p.prototype.isConnected = function () { + return this.isConnected; + }), + (p.prototype.add = function (g, y, v) { + if (y == null && v == null) { + var x = g; + if (this.graphManager == null) throw 'Graph has no graph mgr!'; + if (this.getNodes().indexOf(x) > -1) throw 'Node already in graph!'; + return (x.owner = this), this.getNodes().push(x), x; + } else { + var b = g; + if (!(this.getNodes().indexOf(y) > -1 && this.getNodes().indexOf(v) > -1)) + throw 'Source or target not in graph!'; + if (!(y.owner == v.owner && y.owner == this)) throw 'Both owners must be this graph!'; + return y.owner != v.owner + ? null + : ((b.source = y), + (b.target = v), + (b.isInterGraph = !1), + this.getEdges().push(b), + y.edges.push(b), + v != y && v.edges.push(b), + b); + } + }), + (p.prototype.remove = function (g) { + var y = g; + if (g instanceof l) { + if (y == null) throw 'Node is null!'; + if (!(y.owner != null && y.owner == this)) throw 'Owner graph is invalid!'; + if (this.graphManager == null) throw 'Owner graph manager is invalid!'; + for (var v = y.edges.slice(), x, b = v.length, w = 0; w < b; w++) + (x = v[w]), x.isInterGraph ? this.graphManager.remove(x) : x.source.owner.remove(x); + var S = this.nodes.indexOf(y); + if (S == -1) throw 'Node not in owner node list!'; + this.nodes.splice(S, 1); + } else if (g instanceof u) { + var x = g; + if (x == null) throw 'Edge is null!'; + if (!(x.source != null && x.target != null)) throw 'Source and/or target is null!'; + if ( + !( + x.source.owner != null && + x.target.owner != null && + x.source.owner == this && + x.target.owner == this + ) + ) + throw 'Source and/or target owner is invalid!'; + var T = x.source.edges.indexOf(x), + E = x.target.edges.indexOf(x); + if (!(T > -1 && E > -1)) throw "Source and/or target doesn't know this edge!"; + x.source.edges.splice(T, 1), x.target != x.source && x.target.edges.splice(E, 1); + var S = x.source.owner.getEdges().indexOf(x); + if (S == -1) throw "Not in owner's edge list!"; + x.source.owner.getEdges().splice(S, 1); + } + }), + (p.prototype.updateLeftTop = function () { + for ( + var g = i.MAX_VALUE, y = i.MAX_VALUE, v, x, b, w = this.getNodes(), S = w.length, T = 0; + T < S; + T++ + ) { + var E = w[T]; + (v = E.getTop()), (x = E.getLeft()), g > v && (g = v), y > x && (y = x); + } + return g == i.MAX_VALUE + ? null + : (w[0].getParent().paddingLeft != null + ? (b = w[0].getParent().paddingLeft) + : (b = this.margin), + (this.left = y - b), + (this.top = g - b), + new f(this.left, this.top)); + }), + (p.prototype.updateBounds = function (g) { + for ( + var y = i.MAX_VALUE, + v = -i.MAX_VALUE, + x = i.MAX_VALUE, + b = -i.MAX_VALUE, + w, + S, + T, + E, + _, + A = this.nodes, + L = A.length, + M = 0; + M < L; + M++ + ) { + var N = A[M]; + g && N.child != null && N.updateBounds(), + (w = N.getLeft()), + (S = N.getRight()), + (T = N.getTop()), + (E = N.getBottom()), + y > w && (y = w), + v < S && (v = S), + x > T && (x = T), + b < E && (b = E); + } + var k = new h(y, x, v - y, b - x); + y == i.MAX_VALUE && + ((this.left = this.parent.getLeft()), + (this.right = this.parent.getRight()), + (this.top = this.parent.getTop()), + (this.bottom = this.parent.getBottom())), + A[0].getParent().paddingLeft != null + ? (_ = A[0].getParent().paddingLeft) + : (_ = this.margin), + (this.left = k.x - _), + (this.right = k.x + k.width + _), + (this.top = k.y - _), + (this.bottom = k.y + k.height + _); + }), + (p.calculateBounds = function (g) { + for ( + var y = i.MAX_VALUE, + v = -i.MAX_VALUE, + x = i.MAX_VALUE, + b = -i.MAX_VALUE, + w, + S, + T, + E, + _ = g.length, + A = 0; + A < _; + A++ + ) { + var L = g[A]; + (w = L.getLeft()), + (S = L.getRight()), + (T = L.getTop()), + (E = L.getBottom()), + y > w && (y = w), + v < S && (v = S), + x > T && (x = T), + b < E && (b = E); + } + var M = new h(y, x, v - y, b - x); + return M; + }), + (p.prototype.getInclusionTreeDepth = function () { + return this == this.graphManager.getRoot() ? 1 : this.parent.getInclusionTreeDepth(); + }), + (p.prototype.getEstimatedSize = function () { + if (this.estimatedSize == i.MIN_VALUE) throw 'assert failed'; + return this.estimatedSize; + }), + (p.prototype.calcEstimatedSize = function () { + for (var g = 0, y = this.nodes, v = y.length, x = 0; x < v; x++) { + var b = y[x]; + g += b.calcEstimatedSize(); + } + return ( + g == 0 + ? (this.estimatedSize = a.EMPTY_COMPOUND_NODE_SIZE) + : (this.estimatedSize = g / Math.sqrt(this.nodes.length)), + this.estimatedSize + ); + }), + (p.prototype.updateConnected = function () { + var g = this; + if (this.nodes.length == 0) { + this.isConnected = !0; + return; + } + var y = new d(), + v = new Set(), + x = this.nodes[0], + b, + w, + S = x.withChildren(); + for ( + S.forEach(function (M) { + y.push(M), v.add(M); + }); + y.length !== 0; + + ) { + (x = y.shift()), (b = x.getEdges()); + for (var T = b.length, E = 0; E < T; E++) { + var _ = b[E]; + if (((w = _.getOtherEndInGraph(x, this)), w != null && !v.has(w))) { + var A = w.withChildren(); + A.forEach(function (M) { + y.push(M), v.add(M); + }); + } + } + } + if (((this.isConnected = !1), v.size >= this.nodes.length)) { + var L = 0; + v.forEach(function (M) { + M.owner == g && L++; + }), + L == this.nodes.length && (this.isConnected = !0); + } + }), + (t.exports = p); + }, + function (t, e, r) { + 'use strict'; + var n, + i = r(1); + function a(s) { + (n = r(6)), (this.layout = s), (this.graphs = []), (this.edges = []); + } + o(a, 'LGraphManager'), + (a.prototype.addRoot = function () { + var s = this.layout.newGraph(), + l = this.layout.newNode(null), + u = this.add(s, l); + return this.setRootGraph(u), this.rootGraph; + }), + (a.prototype.add = function (s, l, u, h, f) { + if (u == null && h == null && f == null) { + if (s == null) throw 'Graph is null!'; + if (l == null) throw 'Parent node is null!'; + if (this.graphs.indexOf(s) > -1) throw 'Graph already in this graph mgr!'; + if ((this.graphs.push(s), s.parent != null)) throw 'Already has a parent!'; + if (l.child != null) throw 'Already has a child!'; + return (s.parent = l), (l.child = s), s; + } else { + (f = u), (h = l), (u = s); + var d = h.getOwner(), + p = f.getOwner(); + if (!(d != null && d.getGraphManager() == this)) throw 'Source not in this graph mgr!'; + if (!(p != null && p.getGraphManager() == this)) throw 'Target not in this graph mgr!'; + if (d == p) return (u.isInterGraph = !1), d.add(u, h, f); + if (((u.isInterGraph = !0), (u.source = h), (u.target = f), this.edges.indexOf(u) > -1)) + throw 'Edge already in inter-graph edge list!'; + if ((this.edges.push(u), !(u.source != null && u.target != null))) + throw 'Edge source and/or target is null!'; + if (!(u.source.edges.indexOf(u) == -1 && u.target.edges.indexOf(u) == -1)) + throw 'Edge already in source and/or target incidency list!'; + return u.source.edges.push(u), u.target.edges.push(u), u; + } + }), + (a.prototype.remove = function (s) { + if (s instanceof n) { + var l = s; + if (l.getGraphManager() != this) throw 'Graph not in this graph mgr'; + if (!(l == this.rootGraph || (l.parent != null && l.parent.graphManager == this))) + throw 'Invalid parent node!'; + var u = []; + u = u.concat(l.getEdges()); + for (var h, f = u.length, d = 0; d < f; d++) (h = u[d]), l.remove(h); + var p = []; + p = p.concat(l.getNodes()); + var m; + f = p.length; + for (var d = 0; d < f; d++) (m = p[d]), l.remove(m); + l == this.rootGraph && this.setRootGraph(null); + var g = this.graphs.indexOf(l); + this.graphs.splice(g, 1), (l.parent = null); + } else if (s instanceof i) { + if (((h = s), h == null)) throw 'Edge is null!'; + if (!h.isInterGraph) throw 'Not an inter-graph edge!'; + if (!(h.source != null && h.target != null)) throw 'Source and/or target is null!'; + if (!(h.source.edges.indexOf(h) != -1 && h.target.edges.indexOf(h) != -1)) + throw "Source and/or target doesn't know this edge!"; + var g = h.source.edges.indexOf(h); + if ( + (h.source.edges.splice(g, 1), + (g = h.target.edges.indexOf(h)), + h.target.edges.splice(g, 1), + !(h.source.owner != null && h.source.owner.getGraphManager() != null)) + ) + throw 'Edge owner graph or owner graph manager is null!'; + if (h.source.owner.getGraphManager().edges.indexOf(h) == -1) + throw "Not in owner graph manager's edge list!"; + var g = h.source.owner.getGraphManager().edges.indexOf(h); + h.source.owner.getGraphManager().edges.splice(g, 1); + } + }), + (a.prototype.updateBounds = function () { + this.rootGraph.updateBounds(!0); + }), + (a.prototype.getGraphs = function () { + return this.graphs; + }), + (a.prototype.getAllNodes = function () { + if (this.allNodes == null) { + for (var s = [], l = this.getGraphs(), u = l.length, h = 0; h < u; h++) + s = s.concat(l[h].getNodes()); + this.allNodes = s; + } + return this.allNodes; + }), + (a.prototype.resetAllNodes = function () { + this.allNodes = null; + }), + (a.prototype.resetAllEdges = function () { + this.allEdges = null; + }), + (a.prototype.resetAllNodesToApplyGravitation = function () { + this.allNodesToApplyGravitation = null; + }), + (a.prototype.getAllEdges = function () { + if (this.allEdges == null) { + for (var s = [], l = this.getGraphs(), u = l.length, h = 0; h < l.length; h++) + s = s.concat(l[h].getEdges()); + (s = s.concat(this.edges)), (this.allEdges = s); + } + return this.allEdges; + }), + (a.prototype.getAllNodesToApplyGravitation = function () { + return this.allNodesToApplyGravitation; + }), + (a.prototype.setAllNodesToApplyGravitation = function (s) { + if (this.allNodesToApplyGravitation != null) throw 'assert failed'; + this.allNodesToApplyGravitation = s; + }), + (a.prototype.getRoot = function () { + return this.rootGraph; + }), + (a.prototype.setRootGraph = function (s) { + if (s.getGraphManager() != this) throw 'Root not in this graph mgr!'; + (this.rootGraph = s), s.parent == null && (s.parent = this.layout.newNode('Root node')); + }), + (a.prototype.getLayout = function () { + return this.layout; + }), + (a.prototype.isOneAncestorOfOther = function (s, l) { + if (!(s != null && l != null)) throw 'assert failed'; + if (s == l) return !0; + var u = s.getOwner(), + h; + do { + if (((h = u.getParent()), h == null)) break; + if (h == l) return !0; + if (((u = h.getOwner()), u == null)) break; + } while (!0); + u = l.getOwner(); + do { + if (((h = u.getParent()), h == null)) break; + if (h == s) return !0; + if (((u = h.getOwner()), u == null)) break; + } while (!0); + return !1; + }), + (a.prototype.calcLowestCommonAncestors = function () { + for (var s, l, u, h, f, d = this.getAllEdges(), p = d.length, m = 0; m < p; m++) { + if ( + ((s = d[m]), + (l = s.source), + (u = s.target), + (s.lca = null), + (s.sourceInLca = l), + (s.targetInLca = u), + l == u) + ) { + s.lca = l.getOwner(); + continue; + } + for (h = l.getOwner(); s.lca == null; ) { + for (s.targetInLca = u, f = u.getOwner(); s.lca == null; ) { + if (f == h) { + s.lca = f; + break; + } + if (f == this.rootGraph) break; + if (s.lca != null) throw 'assert failed'; + (s.targetInLca = f.getParent()), (f = s.targetInLca.getOwner()); + } + if (h == this.rootGraph) break; + s.lca == null && ((s.sourceInLca = h.getParent()), (h = s.sourceInLca.getOwner())); + } + if (s.lca == null) throw 'assert failed'; + } + }), + (a.prototype.calcLowestCommonAncestor = function (s, l) { + if (s == l) return s.getOwner(); + var u = s.getOwner(); + do { + if (u == null) break; + var h = l.getOwner(); + do { + if (h == null) break; + if (h == u) return h; + h = h.getParent().getOwner(); + } while (!0); + u = u.getParent().getOwner(); + } while (!0); + return u; + }), + (a.prototype.calcInclusionTreeDepths = function (s, l) { + s == null && l == null && ((s = this.rootGraph), (l = 1)); + for (var u, h = s.getNodes(), f = h.length, d = 0; d < f; d++) + (u = h[d]), + (u.inclusionTreeDepth = l), + u.child != null && this.calcInclusionTreeDepths(u.child, l + 1); + }), + (a.prototype.includesInvalidEdge = function () { + for (var s, l = [], u = this.edges.length, h = 0; h < u; h++) + (s = this.edges[h]), this.isOneAncestorOfOther(s.source, s.target) && l.push(s); + for (var h = 0; h < l.length; h++) this.remove(l[h]); + return !1; + }), + (t.exports = a); + }, + function (t, e, r) { + 'use strict'; + var n = r(12); + function i() {} + o(i, 'IGeometry'), + (i.calcSeparationAmount = function (a, s, l, u) { + if (!a.intersects(s)) throw 'assert failed'; + var h = new Array(2); + this.decideDirectionsForOverlappingNodes(a, s, h), + (l[0] = Math.min(a.getRight(), s.getRight()) - Math.max(a.x, s.x)), + (l[1] = Math.min(a.getBottom(), s.getBottom()) - Math.max(a.y, s.y)), + a.getX() <= s.getX() && a.getRight() >= s.getRight() + ? (l[0] += Math.min(s.getX() - a.getX(), a.getRight() - s.getRight())) + : s.getX() <= a.getX() && + s.getRight() >= a.getRight() && + (l[0] += Math.min(a.getX() - s.getX(), s.getRight() - a.getRight())), + a.getY() <= s.getY() && a.getBottom() >= s.getBottom() + ? (l[1] += Math.min(s.getY() - a.getY(), a.getBottom() - s.getBottom())) + : s.getY() <= a.getY() && + s.getBottom() >= a.getBottom() && + (l[1] += Math.min(a.getY() - s.getY(), s.getBottom() - a.getBottom())); + var f = Math.abs((s.getCenterY() - a.getCenterY()) / (s.getCenterX() - a.getCenterX())); + s.getCenterY() === a.getCenterY() && s.getCenterX() === a.getCenterX() && (f = 1); + var d = f * l[0], + p = l[1] / f; + l[0] < p ? (p = l[0]) : (d = l[1]), + (l[0] = -1 * h[0] * (p / 2 + u)), + (l[1] = -1 * h[1] * (d / 2 + u)); + }), + (i.decideDirectionsForOverlappingNodes = function (a, s, l) { + a.getCenterX() < s.getCenterX() ? (l[0] = -1) : (l[0] = 1), + a.getCenterY() < s.getCenterY() ? (l[1] = -1) : (l[1] = 1); + }), + (i.getIntersection2 = function (a, s, l) { + var u = a.getCenterX(), + h = a.getCenterY(), + f = s.getCenterX(), + d = s.getCenterY(); + if (a.intersects(s)) return (l[0] = u), (l[1] = h), (l[2] = f), (l[3] = d), !0; + var p = a.getX(), + m = a.getY(), + g = a.getRight(), + y = a.getX(), + v = a.getBottom(), + x = a.getRight(), + b = a.getWidthHalf(), + w = a.getHeightHalf(), + S = s.getX(), + T = s.getY(), + E = s.getRight(), + _ = s.getX(), + A = s.getBottom(), + L = s.getRight(), + M = s.getWidthHalf(), + N = s.getHeightHalf(), + k = !1, + I = !1; + if (u === f) { + if (h > d) return (l[0] = u), (l[1] = m), (l[2] = f), (l[3] = A), !1; + if (h < d) return (l[0] = u), (l[1] = v), (l[2] = f), (l[3] = T), !1; + } else if (h === d) { + if (u > f) return (l[0] = p), (l[1] = h), (l[2] = E), (l[3] = d), !1; + if (u < f) return (l[0] = g), (l[1] = h), (l[2] = S), (l[3] = d), !1; + } else { + var C = a.height / a.width, + O = s.height / s.width, + D = (d - h) / (f - u), + P = void 0, + F = void 0, + B = void 0, + $ = void 0, + z = void 0, + Y = void 0; + if ( + (-C === D + ? u > f + ? ((l[0] = y), (l[1] = v), (k = !0)) + : ((l[0] = g), (l[1] = m), (k = !0)) + : C === D && + (u > f + ? ((l[0] = p), (l[1] = m), (k = !0)) + : ((l[0] = x), (l[1] = v), (k = !0))), + -O === D + ? f > u + ? ((l[2] = _), (l[3] = A), (I = !0)) + : ((l[2] = E), (l[3] = T), (I = !0)) + : O === D && + (f > u + ? ((l[2] = S), (l[3] = T), (I = !0)) + : ((l[2] = L), (l[3] = A), (I = !0))), + k && I) + ) + return !1; + if ( + (u > f + ? h > d + ? ((P = this.getCardinalDirection(C, D, 4)), + (F = this.getCardinalDirection(O, D, 2))) + : ((P = this.getCardinalDirection(-C, D, 3)), + (F = this.getCardinalDirection(-O, D, 1))) + : h > d + ? ((P = this.getCardinalDirection(-C, D, 1)), + (F = this.getCardinalDirection(-O, D, 3))) + : ((P = this.getCardinalDirection(C, D, 2)), + (F = this.getCardinalDirection(O, D, 4))), + !k) + ) + switch (P) { + case 1: + ($ = m), (B = u + -w / D), (l[0] = B), (l[1] = $); + break; + case 2: + (B = x), ($ = h + b * D), (l[0] = B), (l[1] = $); + break; + case 3: + ($ = v), (B = u + w / D), (l[0] = B), (l[1] = $); + break; + case 4: + (B = y), ($ = h + -b * D), (l[0] = B), (l[1] = $); + break; + } + if (!I) + switch (F) { + case 1: + (Y = T), (z = f + -N / D), (l[2] = z), (l[3] = Y); + break; + case 2: + (z = L), (Y = d + M * D), (l[2] = z), (l[3] = Y); + break; + case 3: + (Y = A), (z = f + N / D), (l[2] = z), (l[3] = Y); + break; + case 4: + (z = _), (Y = d + -M * D), (l[2] = z), (l[3] = Y); + break; + } + } + return !1; + }), + (i.getCardinalDirection = function (a, s, l) { + return a > s ? l : 1 + (l % 4); + }), + (i.getIntersection = function (a, s, l, u) { + if (u == null) return this.getIntersection2(a, s, l); + var h = a.x, + f = a.y, + d = s.x, + p = s.y, + m = l.x, + g = l.y, + y = u.x, + v = u.y, + x = void 0, + b = void 0, + w = void 0, + S = void 0, + T = void 0, + E = void 0, + _ = void 0, + A = void 0, + L = void 0; + return ( + (w = p - f), + (T = h - d), + (_ = d * f - h * p), + (S = v - g), + (E = m - y), + (A = y * g - m * v), + (L = w * E - S * T), + L === 0 ? null : ((x = (T * A - E * _) / L), (b = (S * _ - w * A) / L), new n(x, b)) + ); + }), + (i.angleOfVector = function (a, s, l, u) { + var h = void 0; + return ( + a !== l + ? ((h = Math.atan((u - s) / (l - a))), + l < a ? (h += Math.PI) : u < s && (h += this.TWO_PI)) + : u < s + ? (h = this.ONE_AND_HALF_PI) + : (h = this.HALF_PI), + h + ); + }), + (i.doIntersect = function (a, s, l, u) { + var h = a.x, + f = a.y, + d = s.x, + p = s.y, + m = l.x, + g = l.y, + y = u.x, + v = u.y, + x = (d - h) * (v - g) - (y - m) * (p - f); + if (x === 0) return !1; + var b = ((v - g) * (y - h) + (m - y) * (v - f)) / x, + w = ((f - p) * (y - h) + (d - h) * (v - f)) / x; + return 0 < b && b < 1 && 0 < w && w < 1; + }), + (i.findCircleLineIntersections = function (a, s, l, u, h, f, d) { + var p = (l - a) * (l - a) + (u - s) * (u - s), + m = 2 * ((a - h) * (l - a) + (s - f) * (u - s)), + g = (a - h) * (a - h) + (s - f) * (s - f) - d * d, + y = m * m - 4 * p * g; + if (y >= 0) { + var v = (-m + Math.sqrt(m * m - 4 * p * g)) / (2 * p), + x = (-m - Math.sqrt(m * m - 4 * p * g)) / (2 * p), + b = null; + return v >= 0 && v <= 1 ? [v] : x >= 0 && x <= 1 ? [x] : b; + } else return null; + }), + (i.HALF_PI = 0.5 * Math.PI), + (i.ONE_AND_HALF_PI = 1.5 * Math.PI), + (i.TWO_PI = 2 * Math.PI), + (i.THREE_PI = 3 * Math.PI), + (t.exports = i); + }, + function (t, e, r) { + 'use strict'; + function n() {} + o(n, 'IMath'), + (n.sign = function (i) { + return i > 0 ? 1 : i < 0 ? -1 : 0; + }), + (n.floor = function (i) { + return i < 0 ? Math.ceil(i) : Math.floor(i); + }), + (n.ceil = function (i) { + return i < 0 ? Math.floor(i) : Math.ceil(i); + }), + (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + function n() {} + o(n, 'Integer'), (n.MAX_VALUE = 2147483647), (n.MIN_VALUE = -2147483648), (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + var n = (function () { + function h(f, d) { + for (var p = 0; p < d.length; p++) { + var m = d[p]; + (m.enumerable = m.enumerable || !1), + (m.configurable = !0), + 'value' in m && (m.writable = !0), + Object.defineProperty(f, m.key, m); + } + } + return ( + o(h, 'defineProperties'), + function (f, d, p) { + return d && h(f.prototype, d), p && h(f, p), f; + } + ); + })(); + function i(h, f) { + if (!(h instanceof f)) throw new TypeError('Cannot call a class as a function'); + } + o(i, '_classCallCheck'); + var a = o(function (f) { + return { value: f, next: null, prev: null }; + }, 'nodeFrom'), + s = o(function (f, d, p, m) { + return ( + f !== null ? (f.next = d) : (m.head = d), + p !== null ? (p.prev = d) : (m.tail = d), + (d.prev = f), + (d.next = p), + m.length++, + d + ); + }, 'add'), + l = o(function (f, d) { + var p = f.prev, + m = f.next; + return ( + p !== null ? (p.next = m) : (d.head = m), + m !== null ? (m.prev = p) : (d.tail = p), + (f.prev = f.next = null), + d.length--, + f + ); + }, '_remove'), + u = (function () { + function h(f) { + var d = this; + i(this, h), + (this.length = 0), + (this.head = null), + (this.tail = null), + f?.forEach(function (p) { + return d.push(p); + }); + } + return ( + o(h, 'LinkedList'), + n(h, [ + { + key: 'size', + value: o(function () { + return this.length; + }, 'size') + }, + { + key: 'insertBefore', + value: o(function (d, p) { + return s(p.prev, a(d), p, this); + }, 'insertBefore') + }, + { + key: 'insertAfter', + value: o(function (d, p) { + return s(p, a(d), p.next, this); + }, 'insertAfter') + }, + { + key: 'insertNodeBefore', + value: o(function (d, p) { + return s(p.prev, d, p, this); + }, 'insertNodeBefore') + }, + { + key: 'insertNodeAfter', + value: o(function (d, p) { + return s(p, d, p.next, this); + }, 'insertNodeAfter') + }, + { + key: 'push', + value: o(function (d) { + return s(this.tail, a(d), null, this); + }, 'push') + }, + { + key: 'unshift', + value: o(function (d) { + return s(null, a(d), this.head, this); + }, 'unshift') + }, + { + key: 'remove', + value: o(function (d) { + return l(d, this); + }, 'remove') + }, + { + key: 'pop', + value: o(function () { + return l(this.tail, this).value; + }, 'pop') + }, + { + key: 'popNode', + value: o(function () { + return l(this.tail, this); + }, 'popNode') + }, + { + key: 'shift', + value: o(function () { + return l(this.head, this).value; + }, 'shift') + }, + { + key: 'shiftNode', + value: o(function () { + return l(this.head, this); + }, 'shiftNode') + }, + { + key: 'get_object_at', + value: o(function (d) { + if (d <= this.length()) { + for (var p = 1, m = this.head; p < d; ) (m = m.next), p++; + return m.value; + } + }, 'get_object_at') + }, + { + key: 'set_object_at', + value: o(function (d, p) { + if (d <= this.length()) { + for (var m = 1, g = this.head; m < d; ) (g = g.next), m++; + g.value = p; + } + }, 'set_object_at') + } + ]), + h + ); + })(); + t.exports = u; + }, + function (t, e, r) { + 'use strict'; + function n(i, a, s) { + (this.x = null), + (this.y = null), + i == null && a == null && s == null + ? ((this.x = 0), (this.y = 0)) + : typeof i == 'number' && typeof a == 'number' && s == null + ? ((this.x = i), (this.y = a)) + : i.constructor.name == 'Point' && + a == null && + s == null && + ((s = i), (this.x = s.x), (this.y = s.y)); + } + o(n, 'Point'), + (n.prototype.getX = function () { + return this.x; + }), + (n.prototype.getY = function () { + return this.y; + }), + (n.prototype.getLocation = function () { + return new n(this.x, this.y); + }), + (n.prototype.setLocation = function (i, a, s) { + i.constructor.name == 'Point' && a == null && s == null + ? ((s = i), this.setLocation(s.x, s.y)) + : typeof i == 'number' && + typeof a == 'number' && + s == null && + (parseInt(i) == i && parseInt(a) == a + ? this.move(i, a) + : ((this.x = Math.floor(i + 0.5)), (this.y = Math.floor(a + 0.5)))); + }), + (n.prototype.move = function (i, a) { + (this.x = i), (this.y = a); + }), + (n.prototype.translate = function (i, a) { + (this.x += i), (this.y += a); + }), + (n.prototype.equals = function (i) { + if (i.constructor.name == 'Point') { + var a = i; + return this.x == a.x && this.y == a.y; + } + return this == i; + }), + (n.prototype.toString = function () { + return new n().constructor.name + '[x=' + this.x + ',y=' + this.y + ']'; + }), + (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + function n(i, a, s, l) { + (this.x = 0), + (this.y = 0), + (this.width = 0), + (this.height = 0), + i != null && + a != null && + s != null && + l != null && + ((this.x = i), (this.y = a), (this.width = s), (this.height = l)); + } + o(n, 'RectangleD'), + (n.prototype.getX = function () { + return this.x; + }), + (n.prototype.setX = function (i) { + this.x = i; + }), + (n.prototype.getY = function () { + return this.y; + }), + (n.prototype.setY = function (i) { + this.y = i; + }), + (n.prototype.getWidth = function () { + return this.width; + }), + (n.prototype.setWidth = function (i) { + this.width = i; + }), + (n.prototype.getHeight = function () { + return this.height; + }), + (n.prototype.setHeight = function (i) { + this.height = i; + }), + (n.prototype.getRight = function () { + return this.x + this.width; + }), + (n.prototype.getBottom = function () { + return this.y + this.height; + }), + (n.prototype.intersects = function (i) { + return !( + this.getRight() < i.x || + this.getBottom() < i.y || + i.getRight() < this.x || + i.getBottom() < this.y + ); + }), + (n.prototype.getCenterX = function () { + return this.x + this.width / 2; + }), + (n.prototype.getMinX = function () { + return this.getX(); + }), + (n.prototype.getMaxX = function () { + return this.getX() + this.width; + }), + (n.prototype.getCenterY = function () { + return this.y + this.height / 2; + }), + (n.prototype.getMinY = function () { + return this.getY(); + }), + (n.prototype.getMaxY = function () { + return this.getY() + this.height; + }), + (n.prototype.getWidthHalf = function () { + return this.width / 2; + }), + (n.prototype.getHeightHalf = function () { + return this.height / 2; + }), + (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + var n = + typeof Symbol == 'function' && typeof Symbol.iterator == 'symbol' + ? function (a) { + return typeof a; + } + : function (a) { + return a && + typeof Symbol == 'function' && + a.constructor === Symbol && + a !== Symbol.prototype + ? 'symbol' + : typeof a; + }; + function i() {} + o(i, 'UniqueIDGeneretor'), + (i.lastID = 0), + (i.createID = function (a) { + return i.isPrimitive(a) + ? a + : (a.uniqueID != null || ((a.uniqueID = i.getString()), i.lastID++), a.uniqueID); + }), + (i.getString = function (a) { + return a == null && (a = i.lastID), 'Object#' + a; + }), + (i.isPrimitive = function (a) { + var s = typeof a > 'u' ? 'undefined' : n(a); + return a == null || (s != 'object' && s != 'function'); + }), + (t.exports = i); + }, + function (t, e, r) { + 'use strict'; + function n(m) { + if (Array.isArray(m)) { + for (var g = 0, y = Array(m.length); g < m.length; g++) y[g] = m[g]; + return y; + } else return Array.from(m); + } + o(n, '_toConsumableArray'); + var i = r(0), + a = r(7), + s = r(3), + l = r(1), + u = r(6), + h = r(5), + f = r(17), + d = r(29); + function p(m) { + d.call(this), + (this.layoutQuality = i.QUALITY), + (this.createBendsAsNeeded = i.DEFAULT_CREATE_BENDS_AS_NEEDED), + (this.incremental = i.DEFAULT_INCREMENTAL), + (this.animationOnLayout = i.DEFAULT_ANIMATION_ON_LAYOUT), + (this.animationDuringLayout = i.DEFAULT_ANIMATION_DURING_LAYOUT), + (this.animationPeriod = i.DEFAULT_ANIMATION_PERIOD), + (this.uniformLeafNodeSizes = i.DEFAULT_UNIFORM_LEAF_NODE_SIZES), + (this.edgeToDummyNodes = new Map()), + (this.graphManager = new a(this)), + (this.isLayoutFinished = !1), + (this.isSubLayout = !1), + (this.isRemoteUse = !1), + m != null && (this.isRemoteUse = m); + } + o(p, 'Layout'), + (p.RANDOM_SEED = 1), + (p.prototype = Object.create(d.prototype)), + (p.prototype.getGraphManager = function () { + return this.graphManager; + }), + (p.prototype.getAllNodes = function () { + return this.graphManager.getAllNodes(); + }), + (p.prototype.getAllEdges = function () { + return this.graphManager.getAllEdges(); + }), + (p.prototype.getAllNodesToApplyGravitation = function () { + return this.graphManager.getAllNodesToApplyGravitation(); + }), + (p.prototype.newGraphManager = function () { + var m = new a(this); + return (this.graphManager = m), m; + }), + (p.prototype.newGraph = function (m) { + return new u(null, this.graphManager, m); + }), + (p.prototype.newNode = function (m) { + return new s(this.graphManager, m); + }), + (p.prototype.newEdge = function (m) { + return new l(null, null, m); + }), + (p.prototype.checkLayoutSuccess = function () { + return ( + this.graphManager.getRoot() == null || + this.graphManager.getRoot().getNodes().length == 0 || + this.graphManager.includesInvalidEdge() + ); + }), + (p.prototype.runLayout = function () { + (this.isLayoutFinished = !1), + this.tilingPreLayout && this.tilingPreLayout(), + this.initParameters(); + var m; + return ( + this.checkLayoutSuccess() ? (m = !1) : (m = this.layout()), + i.ANIMATE === 'during' + ? !1 + : (m && (this.isSubLayout || this.doPostLayout()), + this.tilingPostLayout && this.tilingPostLayout(), + (this.isLayoutFinished = !0), + m) + ); + }), + (p.prototype.doPostLayout = function () { + this.incremental || this.transform(), this.update(); + }), + (p.prototype.update2 = function () { + if ( + (this.createBendsAsNeeded && + (this.createBendpointsFromDummyNodes(), this.graphManager.resetAllEdges()), + !this.isRemoteUse) + ) { + for (var m, g = this.graphManager.getAllEdges(), y = 0; y < g.length; y++) m = g[y]; + for (var v, x = this.graphManager.getRoot().getNodes(), y = 0; y < x.length; y++) + v = x[y]; + this.update(this.graphManager.getRoot()); + } + }), + (p.prototype.update = function (m) { + if (m == null) this.update2(); + else if (m instanceof s) { + var g = m; + if (g.getChild() != null) + for (var y = g.getChild().getNodes(), v = 0; v < y.length; v++) update(y[v]); + if (g.vGraphObject != null) { + var x = g.vGraphObject; + x.update(g); + } + } else if (m instanceof l) { + var b = m; + if (b.vGraphObject != null) { + var w = b.vGraphObject; + w.update(b); + } + } else if (m instanceof u) { + var S = m; + if (S.vGraphObject != null) { + var T = S.vGraphObject; + T.update(S); + } + } + }), + (p.prototype.initParameters = function () { + this.isSubLayout || + ((this.layoutQuality = i.QUALITY), + (this.animationDuringLayout = i.DEFAULT_ANIMATION_DURING_LAYOUT), + (this.animationPeriod = i.DEFAULT_ANIMATION_PERIOD), + (this.animationOnLayout = i.DEFAULT_ANIMATION_ON_LAYOUT), + (this.incremental = i.DEFAULT_INCREMENTAL), + (this.createBendsAsNeeded = i.DEFAULT_CREATE_BENDS_AS_NEEDED), + (this.uniformLeafNodeSizes = i.DEFAULT_UNIFORM_LEAF_NODE_SIZES)), + this.animationDuringLayout && (this.animationOnLayout = !1); + }), + (p.prototype.transform = function (m) { + if (m == null) this.transform(new h(0, 0)); + else { + var g = new f(), + y = this.graphManager.getRoot().updateLeftTop(); + if (y != null) { + g.setWorldOrgX(m.x), + g.setWorldOrgY(m.y), + g.setDeviceOrgX(y.x), + g.setDeviceOrgY(y.y); + for (var v = this.getAllNodes(), x, b = 0; b < v.length; b++) + (x = v[b]), x.transform(g); + } + } + }), + (p.prototype.positionNodesRandomly = function (m) { + if (m == null) + this.positionNodesRandomly(this.getGraphManager().getRoot()), + this.getGraphManager().getRoot().updateBounds(!0); + else + for (var g, y, v = m.getNodes(), x = 0; x < v.length; x++) + (g = v[x]), + (y = g.getChild()), + y == null || y.getNodes().length == 0 + ? g.scatter() + : (this.positionNodesRandomly(y), g.updateBounds()); + }), + (p.prototype.getFlatForest = function () { + for ( + var m = [], g = !0, y = this.graphManager.getRoot().getNodes(), v = !0, x = 0; + x < y.length; + x++ + ) + y[x].getChild() != null && (v = !1); + if (!v) return m; + var b = new Set(), + w = [], + S = new Map(), + T = []; + for (T = T.concat(y); T.length > 0 && g; ) { + for (w.push(T[0]); w.length > 0 && g; ) { + var E = w[0]; + w.splice(0, 1), b.add(E); + for (var _ = E.getEdges(), x = 0; x < _.length; x++) { + var A = _[x].getOtherEnd(E); + if (S.get(E) != A) + if (!b.has(A)) w.push(A), S.set(A, E); + else { + g = !1; + break; + } + } + } + if (!g) m = []; + else { + var L = [].concat(n(b)); + m.push(L); + for (var x = 0; x < L.length; x++) { + var M = L[x], + N = T.indexOf(M); + N > -1 && T.splice(N, 1); + } + (b = new Set()), (S = new Map()); + } + } + return m; + }), + (p.prototype.createDummyNodesForBendpoints = function (m) { + for ( + var g = [], + y = m.source, + v = this.graphManager.calcLowestCommonAncestor(m.source, m.target), + x = 0; + x < m.bendpoints.length; + x++ + ) { + var b = this.newNode(null); + b.setRect(new Point(0, 0), new Dimension(1, 1)), v.add(b); + var w = this.newEdge(null); + this.graphManager.add(w, y, b), g.add(b), (y = b); + } + var w = this.newEdge(null); + return ( + this.graphManager.add(w, y, m.target), + this.edgeToDummyNodes.set(m, g), + m.isInterGraph() ? this.graphManager.remove(m) : v.remove(m), + g + ); + }), + (p.prototype.createBendpointsFromDummyNodes = function () { + var m = []; + (m = m.concat(this.graphManager.getAllEdges())), + (m = [].concat(n(this.edgeToDummyNodes.keys())).concat(m)); + for (var g = 0; g < m.length; g++) { + var y = m[g]; + if (y.bendpoints.length > 0) { + for (var v = this.edgeToDummyNodes.get(y), x = 0; x < v.length; x++) { + var b = v[x], + w = new h(b.getCenterX(), b.getCenterY()), + S = y.bendpoints.get(x); + (S.x = w.x), (S.y = w.y), b.getOwner().remove(b); + } + this.graphManager.add(y, y.source, y.target); + } + } + }), + (p.transform = function (m, g, y, v) { + if (y != null && v != null) { + var x = g; + if (m <= 50) { + var b = g / y; + x -= ((g - b) / 50) * (50 - m); + } else { + var w = g * v; + x += ((w - g) / 50) * (m - 50); + } + return x; + } else { + var S, T; + return ( + m <= 50 ? ((S = (9 * g) / 500), (T = g / 10)) : ((S = (9 * g) / 50), (T = -8 * g)), + S * m + T + ); + } + }), + (p.findCenterOfTree = function (m) { + var g = []; + g = g.concat(m); + var y = [], + v = new Map(), + x = !1, + b = null; + (g.length == 1 || g.length == 2) && ((x = !0), (b = g[0])); + for (var w = 0; w < g.length; w++) { + var S = g[w], + T = S.getNeighborsList().size; + v.set(S, S.getNeighborsList().size), T == 1 && y.push(S); + } + var E = []; + for (E = E.concat(y); !x; ) { + var _ = []; + (_ = _.concat(E)), (E = []); + for (var w = 0; w < g.length; w++) { + var S = g[w], + A = g.indexOf(S); + A >= 0 && g.splice(A, 1); + var L = S.getNeighborsList(); + L.forEach(function (k) { + if (y.indexOf(k) < 0) { + var I = v.get(k), + C = I - 1; + C == 1 && E.push(k), v.set(k, C); + } + }); + } + (y = y.concat(E)), (g.length == 1 || g.length == 2) && ((x = !0), (b = g[0])); + } + return b; + }), + (p.prototype.setGraphManager = function (m) { + this.graphManager = m; + }), + (t.exports = p); + }, + function (t, e, r) { + 'use strict'; + function n() {} + o(n, 'RandomSeed'), + (n.seed = 1), + (n.x = 0), + (n.nextDouble = function () { + return (n.x = Math.sin(n.seed++) * 1e4), n.x - Math.floor(n.x); + }), + (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + var n = r(5); + function i(a, s) { + (this.lworldOrgX = 0), + (this.lworldOrgY = 0), + (this.ldeviceOrgX = 0), + (this.ldeviceOrgY = 0), + (this.lworldExtX = 1), + (this.lworldExtY = 1), + (this.ldeviceExtX = 1), + (this.ldeviceExtY = 1); + } + o(i, 'Transform'), + (i.prototype.getWorldOrgX = function () { + return this.lworldOrgX; + }), + (i.prototype.setWorldOrgX = function (a) { + this.lworldOrgX = a; + }), + (i.prototype.getWorldOrgY = function () { + return this.lworldOrgY; + }), + (i.prototype.setWorldOrgY = function (a) { + this.lworldOrgY = a; + }), + (i.prototype.getWorldExtX = function () { + return this.lworldExtX; + }), + (i.prototype.setWorldExtX = function (a) { + this.lworldExtX = a; + }), + (i.prototype.getWorldExtY = function () { + return this.lworldExtY; + }), + (i.prototype.setWorldExtY = function (a) { + this.lworldExtY = a; + }), + (i.prototype.getDeviceOrgX = function () { + return this.ldeviceOrgX; + }), + (i.prototype.setDeviceOrgX = function (a) { + this.ldeviceOrgX = a; + }), + (i.prototype.getDeviceOrgY = function () { + return this.ldeviceOrgY; + }), + (i.prototype.setDeviceOrgY = function (a) { + this.ldeviceOrgY = a; + }), + (i.prototype.getDeviceExtX = function () { + return this.ldeviceExtX; + }), + (i.prototype.setDeviceExtX = function (a) { + this.ldeviceExtX = a; + }), + (i.prototype.getDeviceExtY = function () { + return this.ldeviceExtY; + }), + (i.prototype.setDeviceExtY = function (a) { + this.ldeviceExtY = a; + }), + (i.prototype.transformX = function (a) { + var s = 0, + l = this.lworldExtX; + return l != 0 && (s = this.ldeviceOrgX + ((a - this.lworldOrgX) * this.ldeviceExtX) / l), s; + }), + (i.prototype.transformY = function (a) { + var s = 0, + l = this.lworldExtY; + return l != 0 && (s = this.ldeviceOrgY + ((a - this.lworldOrgY) * this.ldeviceExtY) / l), s; + }), + (i.prototype.inverseTransformX = function (a) { + var s = 0, + l = this.ldeviceExtX; + return l != 0 && (s = this.lworldOrgX + ((a - this.ldeviceOrgX) * this.lworldExtX) / l), s; + }), + (i.prototype.inverseTransformY = function (a) { + var s = 0, + l = this.ldeviceExtY; + return l != 0 && (s = this.lworldOrgY + ((a - this.ldeviceOrgY) * this.lworldExtY) / l), s; + }), + (i.prototype.inverseTransformPoint = function (a) { + var s = new n(this.inverseTransformX(a.x), this.inverseTransformY(a.y)); + return s; + }), + (t.exports = i); + }, + function (t, e, r) { + 'use strict'; + function n(d) { + if (Array.isArray(d)) { + for (var p = 0, m = Array(d.length); p < d.length; p++) m[p] = d[p]; + return m; + } else return Array.from(d); + } + o(n, '_toConsumableArray'); + var i = r(15), + a = r(4), + s = r(0), + l = r(8), + u = r(9); + function h() { + i.call(this), + (this.useSmartIdealEdgeLengthCalculation = + a.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION), + (this.gravityConstant = a.DEFAULT_GRAVITY_STRENGTH), + (this.compoundGravityConstant = a.DEFAULT_COMPOUND_GRAVITY_STRENGTH), + (this.gravityRangeFactor = a.DEFAULT_GRAVITY_RANGE_FACTOR), + (this.compoundGravityRangeFactor = a.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR), + (this.displacementThresholdPerNode = (3 * a.DEFAULT_EDGE_LENGTH) / 100), + (this.coolingFactor = a.DEFAULT_COOLING_FACTOR_INCREMENTAL), + (this.initialCoolingFactor = a.DEFAULT_COOLING_FACTOR_INCREMENTAL), + (this.totalDisplacement = 0), + (this.oldTotalDisplacement = 0), + (this.maxIterations = a.MAX_ITERATIONS); + } + o(h, 'FDLayout'), (h.prototype = Object.create(i.prototype)); + for (var f in i) h[f] = i[f]; + (h.prototype.initParameters = function () { + i.prototype.initParameters.call(this, arguments), + (this.totalIterations = 0), + (this.notAnimatedIterations = 0), + (this.useFRGridVariant = a.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION), + (this.grid = []); + }), + (h.prototype.calcIdealEdgeLengths = function () { + for ( + var d, p, m, g, y, v, x, b = this.getGraphManager().getAllEdges(), w = 0; + w < b.length; + w++ + ) + (d = b[w]), + (p = d.idealLength), + d.isInterGraph && + ((g = d.getSource()), + (y = d.getTarget()), + (v = d.getSourceInLca().getEstimatedSize()), + (x = d.getTargetInLca().getEstimatedSize()), + this.useSmartIdealEdgeLengthCalculation && + (d.idealLength += v + x - 2 * s.SIMPLE_NODE_SIZE), + (m = d.getLca().getInclusionTreeDepth()), + (d.idealLength += + p * + a.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR * + (g.getInclusionTreeDepth() + y.getInclusionTreeDepth() - 2 * m))); + }), + (h.prototype.initSpringEmbedder = function () { + var d = this.getAllNodes().length; + this.incremental + ? (d > a.ADAPTATION_LOWER_NODE_LIMIT && + (this.coolingFactor = Math.max( + this.coolingFactor * a.COOLING_ADAPTATION_FACTOR, + this.coolingFactor - + ((d - a.ADAPTATION_LOWER_NODE_LIMIT) / + (a.ADAPTATION_UPPER_NODE_LIMIT - a.ADAPTATION_LOWER_NODE_LIMIT)) * + this.coolingFactor * + (1 - a.COOLING_ADAPTATION_FACTOR) + )), + (this.maxNodeDisplacement = a.MAX_NODE_DISPLACEMENT_INCREMENTAL)) + : (d > a.ADAPTATION_LOWER_NODE_LIMIT + ? (this.coolingFactor = Math.max( + a.COOLING_ADAPTATION_FACTOR, + 1 - + ((d - a.ADAPTATION_LOWER_NODE_LIMIT) / + (a.ADAPTATION_UPPER_NODE_LIMIT - a.ADAPTATION_LOWER_NODE_LIMIT)) * + (1 - a.COOLING_ADAPTATION_FACTOR) + )) + : (this.coolingFactor = 1), + (this.initialCoolingFactor = this.coolingFactor), + (this.maxNodeDisplacement = a.MAX_NODE_DISPLACEMENT)), + (this.maxIterations = Math.max(this.getAllNodes().length * 5, this.maxIterations)), + (this.displacementThresholdPerNode = (3 * a.DEFAULT_EDGE_LENGTH) / 100), + (this.totalDisplacementThreshold = + this.displacementThresholdPerNode * this.getAllNodes().length), + (this.repulsionRange = this.calcRepulsionRange()); + }), + (h.prototype.calcSpringForces = function () { + for (var d = this.getAllEdges(), p, m = 0; m < d.length; m++) + (p = d[m]), this.calcSpringForce(p, p.idealLength); + }), + (h.prototype.calcRepulsionForces = function () { + var d = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0, + p = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1, + m, + g, + y, + v, + x = this.getAllNodes(), + b; + if (this.useFRGridVariant) + for ( + this.totalIterations % a.GRID_CALCULATION_CHECK_PERIOD == 1 && + d && + this.updateGrid(), + b = new Set(), + m = 0; + m < x.length; + m++ + ) + (y = x[m]), this.calculateRepulsionForceOfANode(y, b, d, p), b.add(y); + else + for (m = 0; m < x.length; m++) + for (y = x[m], g = m + 1; g < x.length; g++) + (v = x[g]), y.getOwner() == v.getOwner() && this.calcRepulsionForce(y, v); + }), + (h.prototype.calcGravitationalForces = function () { + for (var d, p = this.getAllNodesToApplyGravitation(), m = 0; m < p.length; m++) + (d = p[m]), this.calcGravitationalForce(d); + }), + (h.prototype.moveNodes = function () { + for (var d = this.getAllNodes(), p, m = 0; m < d.length; m++) (p = d[m]), p.move(); + }), + (h.prototype.calcSpringForce = function (d, p) { + var m = d.getSource(), + g = d.getTarget(), + y, + v, + x, + b; + if (this.uniformLeafNodeSizes && m.getChild() == null && g.getChild() == null) + d.updateLengthSimple(); + else if ((d.updateLength(), d.isOverlapingSourceAndTarget)) return; + (y = d.getLength()), + y != 0 && + ((v = d.edgeElasticity * (y - p)), + (x = v * (d.lengthX / y)), + (b = v * (d.lengthY / y)), + (m.springForceX += x), + (m.springForceY += b), + (g.springForceX -= x), + (g.springForceY -= b)); + }), + (h.prototype.calcRepulsionForce = function (d, p) { + var m = d.getRect(), + g = p.getRect(), + y = new Array(2), + v = new Array(4), + x, + b, + w, + S, + T, + E, + _; + if (m.intersects(g)) { + l.calcSeparationAmount(m, g, y, a.DEFAULT_EDGE_LENGTH / 2), + (E = 2 * y[0]), + (_ = 2 * y[1]); + var A = (d.noOfChildren * p.noOfChildren) / (d.noOfChildren + p.noOfChildren); + (d.repulsionForceX -= A * E), + (d.repulsionForceY -= A * _), + (p.repulsionForceX += A * E), + (p.repulsionForceY += A * _); + } else + this.uniformLeafNodeSizes && d.getChild() == null && p.getChild() == null + ? ((x = g.getCenterX() - m.getCenterX()), (b = g.getCenterY() - m.getCenterY())) + : (l.getIntersection(m, g, v), (x = v[2] - v[0]), (b = v[3] - v[1])), + Math.abs(x) < a.MIN_REPULSION_DIST && (x = u.sign(x) * a.MIN_REPULSION_DIST), + Math.abs(b) < a.MIN_REPULSION_DIST && (b = u.sign(b) * a.MIN_REPULSION_DIST), + (w = x * x + b * b), + (S = Math.sqrt(w)), + (T = + ((d.nodeRepulsion / 2 + p.nodeRepulsion / 2) * + d.noOfChildren * + p.noOfChildren) / + w), + (E = (T * x) / S), + (_ = (T * b) / S), + (d.repulsionForceX -= E), + (d.repulsionForceY -= _), + (p.repulsionForceX += E), + (p.repulsionForceY += _); + }), + (h.prototype.calcGravitationalForce = function (d) { + var p, m, g, y, v, x, b, w; + (p = d.getOwner()), + (m = (p.getRight() + p.getLeft()) / 2), + (g = (p.getTop() + p.getBottom()) / 2), + (y = d.getCenterX() - m), + (v = d.getCenterY() - g), + (x = Math.abs(y) + d.getWidth() / 2), + (b = Math.abs(v) + d.getHeight() / 2), + d.getOwner() == this.graphManager.getRoot() + ? ((w = p.getEstimatedSize() * this.gravityRangeFactor), + (x > w || b > w) && + ((d.gravitationForceX = -this.gravityConstant * y), + (d.gravitationForceY = -this.gravityConstant * v))) + : ((w = p.getEstimatedSize() * this.compoundGravityRangeFactor), + (x > w || b > w) && + ((d.gravitationForceX = + -this.gravityConstant * y * this.compoundGravityConstant), + (d.gravitationForceY = + -this.gravityConstant * v * this.compoundGravityConstant))); + }), + (h.prototype.isConverged = function () { + var d, + p = !1; + return ( + this.totalIterations > this.maxIterations / 3 && + (p = Math.abs(this.totalDisplacement - this.oldTotalDisplacement) < 2), + (d = this.totalDisplacement < this.totalDisplacementThreshold), + (this.oldTotalDisplacement = this.totalDisplacement), + d || p + ); + }), + (h.prototype.animate = function () { + this.animationDuringLayout && + !this.isSubLayout && + (this.notAnimatedIterations == this.animationPeriod + ? (this.update(), (this.notAnimatedIterations = 0)) + : this.notAnimatedIterations++); + }), + (h.prototype.calcNoOfChildrenForAllNodes = function () { + for (var d, p = this.graphManager.getAllNodes(), m = 0; m < p.length; m++) + (d = p[m]), (d.noOfChildren = d.getNoOfChildren()); + }), + (h.prototype.calcGrid = function (d) { + var p = 0, + m = 0; + (p = parseInt(Math.ceil((d.getRight() - d.getLeft()) / this.repulsionRange))), + (m = parseInt(Math.ceil((d.getBottom() - d.getTop()) / this.repulsionRange))); + for (var g = new Array(p), y = 0; y < p; y++) g[y] = new Array(m); + for (var y = 0; y < p; y++) for (var v = 0; v < m; v++) g[y][v] = new Array(); + return g; + }), + (h.prototype.addNodeToGrid = function (d, p, m) { + var g = 0, + y = 0, + v = 0, + x = 0; + (g = parseInt(Math.floor((d.getRect().x - p) / this.repulsionRange))), + (y = parseInt( + Math.floor((d.getRect().width + d.getRect().x - p) / this.repulsionRange) + )), + (v = parseInt(Math.floor((d.getRect().y - m) / this.repulsionRange))), + (x = parseInt( + Math.floor((d.getRect().height + d.getRect().y - m) / this.repulsionRange) + )); + for (var b = g; b <= y; b++) + for (var w = v; w <= x; w++) this.grid[b][w].push(d), d.setGridCoordinates(g, y, v, x); + }), + (h.prototype.updateGrid = function () { + var d, + p, + m = this.getAllNodes(); + for (this.grid = this.calcGrid(this.graphManager.getRoot()), d = 0; d < m.length; d++) + (p = m[d]), + this.addNodeToGrid( + p, + this.graphManager.getRoot().getLeft(), + this.graphManager.getRoot().getTop() + ); + }), + (h.prototype.calculateRepulsionForceOfANode = function (d, p, m, g) { + if ((this.totalIterations % a.GRID_CALCULATION_CHECK_PERIOD == 1 && m) || g) { + var y = new Set(); + d.surrounding = new Array(); + for (var v, x = this.grid, b = d.startX - 1; b < d.finishX + 2; b++) + for (var w = d.startY - 1; w < d.finishY + 2; w++) + if (!(b < 0 || w < 0 || b >= x.length || w >= x[0].length)) { + for (var S = 0; S < x[b][w].length; S++) + if ( + ((v = x[b][w][S]), + !(d.getOwner() != v.getOwner() || d == v) && !p.has(v) && !y.has(v)) + ) { + var T = + Math.abs(d.getCenterX() - v.getCenterX()) - + (d.getWidth() / 2 + v.getWidth() / 2), + E = + Math.abs(d.getCenterY() - v.getCenterY()) - + (d.getHeight() / 2 + v.getHeight() / 2); + T <= this.repulsionRange && E <= this.repulsionRange && y.add(v); + } + } + d.surrounding = [].concat(n(y)); + } + for (b = 0; b < d.surrounding.length; b++) this.calcRepulsionForce(d, d.surrounding[b]); + }), + (h.prototype.calcRepulsionRange = function () { + return 0; + }), + (t.exports = h); + }, + function (t, e, r) { + 'use strict'; + var n = r(1), + i = r(4); + function a(l, u, h) { + n.call(this, l, u, h), + (this.idealLength = i.DEFAULT_EDGE_LENGTH), + (this.edgeElasticity = i.DEFAULT_SPRING_STRENGTH); + } + o(a, 'FDLayoutEdge'), (a.prototype = Object.create(n.prototype)); + for (var s in n) a[s] = n[s]; + t.exports = a; + }, + function (t, e, r) { + 'use strict'; + var n = r(3), + i = r(4); + function a(l, u, h, f) { + n.call(this, l, u, h, f), + (this.nodeRepulsion = i.DEFAULT_REPULSION_STRENGTH), + (this.springForceX = 0), + (this.springForceY = 0), + (this.repulsionForceX = 0), + (this.repulsionForceY = 0), + (this.gravitationForceX = 0), + (this.gravitationForceY = 0), + (this.displacementX = 0), + (this.displacementY = 0), + (this.startX = 0), + (this.finishX = 0), + (this.startY = 0), + (this.finishY = 0), + (this.surrounding = []); + } + o(a, 'FDLayoutNode'), (a.prototype = Object.create(n.prototype)); + for (var s in n) a[s] = n[s]; + (a.prototype.setGridCoordinates = function (l, u, h, f) { + (this.startX = l), (this.finishX = u), (this.startY = h), (this.finishY = f); + }), + (t.exports = a); + }, + function (t, e, r) { + 'use strict'; + function n(i, a) { + (this.width = 0), + (this.height = 0), + i !== null && a !== null && ((this.height = a), (this.width = i)); + } + o(n, 'DimensionD'), + (n.prototype.getWidth = function () { + return this.width; + }), + (n.prototype.setWidth = function (i) { + this.width = i; + }), + (n.prototype.getHeight = function () { + return this.height; + }), + (n.prototype.setHeight = function (i) { + this.height = i; + }), + (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + var n = r(14); + function i() { + (this.map = {}), (this.keys = []); + } + o(i, 'HashMap'), + (i.prototype.put = function (a, s) { + var l = n.createID(a); + this.contains(l) || ((this.map[l] = s), this.keys.push(a)); + }), + (i.prototype.contains = function (a) { + var s = n.createID(a); + return this.map[a] != null; + }), + (i.prototype.get = function (a) { + var s = n.createID(a); + return this.map[s]; + }), + (i.prototype.keySet = function () { + return this.keys; + }), + (t.exports = i); + }, + function (t, e, r) { + 'use strict'; + var n = r(14); + function i() { + this.set = {}; + } + o(i, 'HashSet'), + (i.prototype.add = function (a) { + var s = n.createID(a); + this.contains(s) || (this.set[s] = a); + }), + (i.prototype.remove = function (a) { + delete this.set[n.createID(a)]; + }), + (i.prototype.clear = function () { + this.set = {}; + }), + (i.prototype.contains = function (a) { + return this.set[n.createID(a)] == a; + }), + (i.prototype.isEmpty = function () { + return this.size() === 0; + }), + (i.prototype.size = function () { + return Object.keys(this.set).length; + }), + (i.prototype.addAllTo = function (a) { + for (var s = Object.keys(this.set), l = s.length, u = 0; u < l; u++) a.push(this.set[s[u]]); + }), + (i.prototype.size = function () { + return Object.keys(this.set).length; + }), + (i.prototype.addAll = function (a) { + for (var s = a.length, l = 0; l < s; l++) { + var u = a[l]; + this.add(u); + } + }), + (t.exports = i); + }, + function (t, e, r) { + 'use strict'; + function n() {} + o(n, 'Matrix'), + (n.multMat = function (i, a) { + for (var s = [], l = 0; l < i.length; l++) { + s[l] = []; + for (var u = 0; u < a[0].length; u++) { + s[l][u] = 0; + for (var h = 0; h < i[0].length; h++) s[l][u] += i[l][h] * a[h][u]; + } + } + return s; + }), + (n.transpose = function (i) { + for (var a = [], s = 0; s < i[0].length; s++) { + a[s] = []; + for (var l = 0; l < i.length; l++) a[s][l] = i[l][s]; + } + return a; + }), + (n.multCons = function (i, a) { + for (var s = [], l = 0; l < i.length; l++) s[l] = i[l] * a; + return s; + }), + (n.minusOp = function (i, a) { + for (var s = [], l = 0; l < i.length; l++) s[l] = i[l] - a[l]; + return s; + }), + (n.dotProduct = function (i, a) { + for (var s = 0, l = 0; l < i.length; l++) s += i[l] * a[l]; + return s; + }), + (n.mag = function (i) { + return Math.sqrt(this.dotProduct(i, i)); + }), + (n.normalize = function (i) { + for (var a = [], s = this.mag(i), l = 0; l < i.length; l++) a[l] = i[l] / s; + return a; + }), + (n.multGamma = function (i) { + for (var a = [], s = 0, l = 0; l < i.length; l++) s += i[l]; + s *= -1 / i.length; + for (var u = 0; u < i.length; u++) a[u] = s + i[u]; + return a; + }), + (n.multL = function (i, a, s) { + for (var l = [], u = [], h = [], f = 0; f < a[0].length; f++) { + for (var d = 0, p = 0; p < a.length; p++) d += -0.5 * a[p][f] * i[p]; + u[f] = d; + } + for (var m = 0; m < s.length; m++) { + for (var g = 0, y = 0; y < s.length; y++) g += s[m][y] * u[y]; + h[m] = g; + } + for (var v = 0; v < a.length; v++) { + for (var x = 0, b = 0; b < a[0].length; b++) x += a[v][b] * h[b]; + l[v] = x; + } + return l; + }), + (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + var n = (function () { + function l(u, h) { + for (var f = 0; f < h.length; f++) { + var d = h[f]; + (d.enumerable = d.enumerable || !1), + (d.configurable = !0), + 'value' in d && (d.writable = !0), + Object.defineProperty(u, d.key, d); + } + } + return ( + o(l, 'defineProperties'), + function (u, h, f) { + return h && l(u.prototype, h), f && l(u, f), u; + } + ); + })(); + function i(l, u) { + if (!(l instanceof u)) throw new TypeError('Cannot call a class as a function'); + } + o(i, '_classCallCheck'); + var a = r(11), + s = (function () { + function l(u, h) { + i(this, l), + (h !== null || h !== void 0) && + (this.compareFunction = this._defaultCompareFunction); + var f = void 0; + u instanceof a ? (f = u.size()) : (f = u.length), this._quicksort(u, 0, f - 1); + } + return ( + o(l, 'Quicksort'), + n(l, [ + { + key: '_quicksort', + value: o(function (h, f, d) { + if (f < d) { + var p = this._partition(h, f, d); + this._quicksort(h, f, p), this._quicksort(h, p + 1, d); + } + }, '_quicksort') + }, + { + key: '_partition', + value: o(function (h, f, d) { + for (var p = this._get(h, f), m = f, g = d; ; ) { + for (; this.compareFunction(p, this._get(h, g)); ) g--; + for (; this.compareFunction(this._get(h, m), p); ) m++; + if (m < g) this._swap(h, m, g), m++, g--; + else return g; + } + }, '_partition') + }, + { + key: '_get', + value: o(function (h, f) { + return h instanceof a ? h.get_object_at(f) : h[f]; + }, '_get') + }, + { + key: '_set', + value: o(function (h, f, d) { + h instanceof a ? h.set_object_at(f, d) : (h[f] = d); + }, '_set') + }, + { + key: '_swap', + value: o(function (h, f, d) { + var p = this._get(h, f); + this._set(h, f, this._get(h, d)), this._set(h, d, p); + }, '_swap') + }, + { + key: '_defaultCompareFunction', + value: o(function (h, f) { + return f > h; + }, '_defaultCompareFunction') + } + ]), + l + ); + })(); + t.exports = s; + }, + function (t, e, r) { + 'use strict'; + function n() {} + o(n, 'SVD'), + (n.svd = function (i) { + (this.U = null), + (this.V = null), + (this.s = null), + (this.m = 0), + (this.n = 0), + (this.m = i.length), + (this.n = i[0].length); + var a = Math.min(this.m, this.n); + (this.s = (function (it) { + for (var dt = []; it-- > 0; ) dt.push(0); + return dt; + })(Math.min(this.m + 1, this.n))), + (this.U = (function (it) { + var dt = o(function lt(It) { + if (It.length == 0) return 0; + for (var mt = [], St = 0; St < It[0]; St++) mt.push(lt(It.slice(1))); + return mt; + }, 'allocate'); + return dt(it); + })([this.m, a])), + (this.V = (function (it) { + var dt = o(function lt(It) { + if (It.length == 0) return 0; + for (var mt = [], St = 0; St < It[0]; St++) mt.push(lt(It.slice(1))); + return mt; + }, 'allocate'); + return dt(it); + })([this.n, this.n])); + for ( + var s = (function (it) { + for (var dt = []; it-- > 0; ) dt.push(0); + return dt; + })(this.n), + l = (function (it) { + for (var dt = []; it-- > 0; ) dt.push(0); + return dt; + })(this.m), + u = !0, + h = !0, + f = Math.min(this.m - 1, this.n), + d = Math.max(0, Math.min(this.n - 2, this.m)), + p = 0; + p < Math.max(f, d); + p++ + ) { + if (p < f) { + this.s[p] = 0; + for (var m = p; m < this.m; m++) this.s[p] = n.hypot(this.s[p], i[m][p]); + if (this.s[p] !== 0) { + i[p][p] < 0 && (this.s[p] = -this.s[p]); + for (var g = p; g < this.m; g++) i[g][p] /= this.s[p]; + i[p][p] += 1; + } + this.s[p] = -this.s[p]; + } + for (var y = p + 1; y < this.n; y++) { + if ( + (function (it, dt) { + return it && dt; + })(p < f, this.s[p] !== 0) + ) { + for (var v = 0, x = p; x < this.m; x++) v += i[x][p] * i[x][y]; + v = -v / i[p][p]; + for (var b = p; b < this.m; b++) i[b][y] += v * i[b][p]; + } + s[y] = i[p][y]; + } + if ( + (function (it, dt) { + return it && dt; + })(u, p < f) + ) + for (var w = p; w < this.m; w++) this.U[w][p] = i[w][p]; + if (p < d) { + s[p] = 0; + for (var S = p + 1; S < this.n; S++) s[p] = n.hypot(s[p], s[S]); + if (s[p] !== 0) { + s[p + 1] < 0 && (s[p] = -s[p]); + for (var T = p + 1; T < this.n; T++) s[T] /= s[p]; + s[p + 1] += 1; + } + if ( + ((s[p] = -s[p]), + (function (it, dt) { + return it && dt; + })(p + 1 < this.m, s[p] !== 0)) + ) { + for (var E = p + 1; E < this.m; E++) l[E] = 0; + for (var _ = p + 1; _ < this.n; _++) + for (var A = p + 1; A < this.m; A++) l[A] += s[_] * i[A][_]; + for (var L = p + 1; L < this.n; L++) + for (var M = -s[L] / s[p + 1], N = p + 1; N < this.m; N++) + i[N][L] += M * l[N]; + } + if (h) for (var k = p + 1; k < this.n; k++) this.V[k][p] = s[k]; + } + } + var I = Math.min(this.n, this.m + 1); + if ( + (f < this.n && (this.s[f] = i[f][f]), + this.m < I && (this.s[I - 1] = 0), + d + 1 < I && (s[d] = i[d][I - 1]), + (s[I - 1] = 0), + u) + ) { + for (var C = f; C < a; C++) { + for (var O = 0; O < this.m; O++) this.U[O][C] = 0; + this.U[C][C] = 1; + } + for (var D = f - 1; D >= 0; D--) + if (this.s[D] !== 0) { + for (var P = D + 1; P < a; P++) { + for (var F = 0, B = D; B < this.m; B++) F += this.U[B][D] * this.U[B][P]; + F = -F / this.U[D][D]; + for (var $ = D; $ < this.m; $++) this.U[$][P] += F * this.U[$][D]; + } + for (var z = D; z < this.m; z++) this.U[z][D] = -this.U[z][D]; + this.U[D][D] = 1 + this.U[D][D]; + for (var Y = 0; Y < D - 1; Y++) this.U[Y][D] = 0; + } else { + for (var Q = 0; Q < this.m; Q++) this.U[Q][D] = 0; + this.U[D][D] = 1; + } + } + if (h) + for (var X = this.n - 1; X >= 0; X--) { + if ( + (function (it, dt) { + return it && dt; + })(X < d, s[X] !== 0) + ) + for (var ie = X + 1; ie < a; ie++) { + for (var j = 0, J = X + 1; J < this.n; J++) + j += this.V[J][X] * this.V[J][ie]; + j = -j / this.V[X + 1][X]; + for (var Z = X + 1; Z < this.n; Z++) this.V[Z][ie] += j * this.V[Z][X]; + } + for (var H = 0; H < this.n; H++) this.V[H][X] = 0; + this.V[X][X] = 1; + } + for (var q = I - 1, K = 0, se = Math.pow(2, -52), ce = Math.pow(2, -966); I > 0; ) { + var ue = void 0, + te = void 0; + for (ue = I - 2; ue >= -1 && ue !== -1; ue--) + if ( + Math.abs(s[ue]) <= + ce + se * (Math.abs(this.s[ue]) + Math.abs(this.s[ue + 1])) + ) { + s[ue] = 0; + break; + } + if (ue === I - 2) te = 4; + else { + var De = void 0; + for (De = I - 1; De >= ue && De !== ue; De--) { + var oe = + (De !== I ? Math.abs(s[De]) : 0) + + (De !== ue + 1 ? Math.abs(s[De - 1]) : 0); + if (Math.abs(this.s[De]) <= ce + se * oe) { + this.s[De] = 0; + break; + } + } + De === ue ? (te = 3) : De === I - 1 ? (te = 1) : ((te = 2), (ue = De)); + } + switch ((ue++, te)) { + case 1: + { + var ke = s[I - 2]; + s[I - 2] = 0; + for (var Ie = I - 2; Ie >= ue; Ie--) { + var Se = n.hypot(this.s[Ie], ke), + Ue = this.s[Ie] / Se, + Pe = ke / Se; + if ( + ((this.s[Ie] = Se), + Ie !== ue && ((ke = -Pe * s[Ie - 1]), (s[Ie - 1] = Ue * s[Ie - 1])), + h) + ) + for (var _e = 0; _e < this.n; _e++) + (Se = Ue * this.V[_e][Ie] + Pe * this.V[_e][I - 1]), + (this.V[_e][I - 1] = + -Pe * this.V[_e][Ie] + Ue * this.V[_e][I - 1]), + (this.V[_e][Ie] = Se); + } + } + break; + case 2: + { + var me = s[ue - 1]; + s[ue - 1] = 0; + for (var W = ue; W < I; W++) { + var fe = n.hypot(this.s[W], me), + ge = this.s[W] / fe, + re = me / fe; + if (((this.s[W] = fe), (me = -re * s[W]), (s[W] = ge * s[W]), u)) + for (var he = 0; he < this.m; he++) + (fe = ge * this.U[he][W] + re * this.U[he][ue - 1]), + (this.U[he][ue - 1] = + -re * this.U[he][W] + ge * this.U[he][ue - 1]), + (this.U[he][W] = fe); + } + } + break; + case 3: + { + var ne = Math.max( + Math.max( + Math.max( + Math.max(Math.abs(this.s[I - 1]), Math.abs(this.s[I - 2])), + Math.abs(s[I - 2]) + ), + Math.abs(this.s[ue]) + ), + Math.abs(s[ue]) + ), + ae = this.s[I - 1] / ne, + we = this.s[I - 2] / ne, + Te = s[I - 2] / ne, + Ce = this.s[ue] / ne, + Ae = s[ue] / ne, + Ge = ((we + ae) * (we - ae) + Te * Te) / 2, + Me = ae * Te * (ae * Te), + ye = 0; + (function (it, dt) { + return it || dt; + })(Ge !== 0, Me !== 0) && + ((ye = Math.sqrt(Ge * Ge + Me)), + Ge < 0 && (ye = -ye), + (ye = Me / (Ge + ye))); + for ( + var He = (Ce + ae) * (Ce - ae) + ye, ze = Ce * Ae, Ze = ue; + Ze < I - 1; + Ze++ + ) { + var gt = n.hypot(He, ze), + yt = He / gt, + tt = ze / gt; + if ( + (Ze !== ue && (s[Ze - 1] = gt), + (He = yt * this.s[Ze] + tt * s[Ze]), + (s[Ze] = yt * s[Ze] - tt * this.s[Ze]), + (ze = tt * this.s[Ze + 1]), + (this.s[Ze + 1] = yt * this.s[Ze + 1]), + h) + ) + for (var Ye = 0; Ye < this.n; Ye++) + (gt = yt * this.V[Ye][Ze] + tt * this.V[Ye][Ze + 1]), + (this.V[Ye][Ze + 1] = + -tt * this.V[Ye][Ze] + yt * this.V[Ye][Ze + 1]), + (this.V[Ye][Ze] = gt); + if ( + ((gt = n.hypot(He, ze)), + (yt = He / gt), + (tt = ze / gt), + (this.s[Ze] = gt), + (He = yt * s[Ze] + tt * this.s[Ze + 1]), + (this.s[Ze + 1] = -tt * s[Ze] + yt * this.s[Ze + 1]), + (ze = tt * s[Ze + 1]), + (s[Ze + 1] = yt * s[Ze + 1]), + u && Ze < this.m - 1) + ) + for (var Je = 0; Je < this.m; Je++) + (gt = yt * this.U[Je][Ze] + tt * this.U[Je][Ze + 1]), + (this.U[Je][Ze + 1] = + -tt * this.U[Je][Ze] + yt * this.U[Je][Ze + 1]), + (this.U[Je][Ze] = gt); + } + (s[I - 2] = He), (K = K + 1); + } + break; + case 4: + { + if (this.s[ue] <= 0 && ((this.s[ue] = this.s[ue] < 0 ? -this.s[ue] : 0), h)) + for (var Ve = 0; Ve <= q; Ve++) this.V[Ve][ue] = -this.V[Ve][ue]; + for (; ue < q && !(this.s[ue] >= this.s[ue + 1]); ) { + var je = this.s[ue]; + if ( + ((this.s[ue] = this.s[ue + 1]), + (this.s[ue + 1] = je), + h && ue < this.n - 1) + ) + for (var kt = 0; kt < this.n; kt++) + (je = this.V[kt][ue + 1]), + (this.V[kt][ue + 1] = this.V[kt][ue]), + (this.V[kt][ue] = je); + if (u && ue < this.m - 1) + for (var at = 0; at < this.m; at++) + (je = this.U[at][ue + 1]), + (this.U[at][ue + 1] = this.U[at][ue]), + (this.U[at][ue] = je); + ue++; + } + (K = 0), I--; + } + break; + } + } + var xt = { U: this.U, V: this.V, S: this.s }; + return xt; + }), + (n.hypot = function (i, a) { + var s = void 0; + return ( + Math.abs(i) > Math.abs(a) + ? ((s = a / i), (s = Math.abs(i) * Math.sqrt(1 + s * s))) + : a != 0 + ? ((s = i / a), (s = Math.abs(a) * Math.sqrt(1 + s * s))) + : (s = 0), + s + ); + }), + (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + var n = (function () { + function s(l, u) { + for (var h = 0; h < u.length; h++) { + var f = u[h]; + (f.enumerable = f.enumerable || !1), + (f.configurable = !0), + 'value' in f && (f.writable = !0), + Object.defineProperty(l, f.key, f); + } + } + return ( + o(s, 'defineProperties'), + function (l, u, h) { + return u && s(l.prototype, u), h && s(l, h), l; + } + ); + })(); + function i(s, l) { + if (!(s instanceof l)) throw new TypeError('Cannot call a class as a function'); + } + o(i, '_classCallCheck'); + var a = (function () { + function s(l, u) { + var h = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 1, + f = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : -1, + d = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : -1; + i(this, s), + (this.sequence1 = l), + (this.sequence2 = u), + (this.match_score = h), + (this.mismatch_penalty = f), + (this.gap_penalty = d), + (this.iMax = l.length + 1), + (this.jMax = u.length + 1), + (this.grid = new Array(this.iMax)); + for (var p = 0; p < this.iMax; p++) { + this.grid[p] = new Array(this.jMax); + for (var m = 0; m < this.jMax; m++) this.grid[p][m] = 0; + } + this.tracebackGrid = new Array(this.iMax); + for (var g = 0; g < this.iMax; g++) { + this.tracebackGrid[g] = new Array(this.jMax); + for (var y = 0; y < this.jMax; y++) this.tracebackGrid[g][y] = [null, null, null]; + } + (this.alignments = []), (this.score = -1), this.computeGrids(); + } + return ( + o(s, 'NeedlemanWunsch'), + n(s, [ + { + key: 'getScore', + value: o(function () { + return this.score; + }, 'getScore') + }, + { + key: 'getAlignments', + value: o(function () { + return this.alignments; + }, 'getAlignments') + }, + { + key: 'computeGrids', + value: o(function () { + for (var u = 1; u < this.jMax; u++) + (this.grid[0][u] = this.grid[0][u - 1] + this.gap_penalty), + (this.tracebackGrid[0][u] = [!1, !1, !0]); + for (var h = 1; h < this.iMax; h++) + (this.grid[h][0] = this.grid[h - 1][0] + this.gap_penalty), + (this.tracebackGrid[h][0] = [!1, !0, !1]); + for (var f = 1; f < this.iMax; f++) + for (var d = 1; d < this.jMax; d++) { + var p = void 0; + this.sequence1[f - 1] === this.sequence2[d - 1] + ? (p = this.grid[f - 1][d - 1] + this.match_score) + : (p = this.grid[f - 1][d - 1] + this.mismatch_penalty); + var m = this.grid[f - 1][d] + this.gap_penalty, + g = this.grid[f][d - 1] + this.gap_penalty, + y = [p, m, g], + v = this.arrayAllMaxIndexes(y); + (this.grid[f][d] = y[v[0]]), + (this.tracebackGrid[f][d] = [ + v.includes(0), + v.includes(1), + v.includes(2) + ]); + } + this.score = this.grid[this.iMax - 1][this.jMax - 1]; + }, 'computeGrids') + }, + { + key: 'alignmentTraceback', + value: o(function () { + var u = []; + for ( + u.push({ + pos: [this.sequence1.length, this.sequence2.length], + seq1: '', + seq2: '' + }); + u[0]; + + ) { + var h = u[0], + f = this.tracebackGrid[h.pos[0]][h.pos[1]]; + f[0] && + u.push({ + pos: [h.pos[0] - 1, h.pos[1] - 1], + seq1: this.sequence1[h.pos[0] - 1] + h.seq1, + seq2: this.sequence2[h.pos[1] - 1] + h.seq2 + }), + f[1] && + u.push({ + pos: [h.pos[0] - 1, h.pos[1]], + seq1: this.sequence1[h.pos[0] - 1] + h.seq1, + seq2: '-' + h.seq2 + }), + f[2] && + u.push({ + pos: [h.pos[0], h.pos[1] - 1], + seq1: '-' + h.seq1, + seq2: this.sequence2[h.pos[1] - 1] + h.seq2 + }), + h.pos[0] === 0 && + h.pos[1] === 0 && + this.alignments.push({ + sequence1: h.seq1, + sequence2: h.seq2 + }), + u.shift(); + } + return this.alignments; + }, 'alignmentTraceback') + }, + { + key: 'getAllIndexes', + value: o(function (u, h) { + for (var f = [], d = -1; (d = u.indexOf(h, d + 1)) !== -1; ) f.push(d); + return f; + }, 'getAllIndexes') + }, + { + key: 'arrayAllMaxIndexes', + value: o(function (u) { + return this.getAllIndexes(u, Math.max.apply(null, u)); + }, 'arrayAllMaxIndexes') + } + ]), + s + ); + })(); + t.exports = a; + }, + function (t, e, r) { + 'use strict'; + var n = o(function () {}, 'layoutBase'); + (n.FDLayout = r(18)), + (n.FDLayoutConstants = r(4)), + (n.FDLayoutEdge = r(19)), + (n.FDLayoutNode = r(20)), + (n.DimensionD = r(21)), + (n.HashMap = r(22)), + (n.HashSet = r(23)), + (n.IGeometry = r(8)), + (n.IMath = r(9)), + (n.Integer = r(10)), + (n.Point = r(12)), + (n.PointD = r(5)), + (n.RandomSeed = r(16)), + (n.RectangleD = r(13)), + (n.Transform = r(17)), + (n.UniqueIDGeneretor = r(14)), + (n.Quicksort = r(25)), + (n.LinkedList = r(11)), + (n.LGraphObject = r(2)), + (n.LGraph = r(6)), + (n.LEdge = r(1)), + (n.LGraphManager = r(7)), + (n.LNode = r(3)), + (n.Layout = r(15)), + (n.LayoutConstants = r(0)), + (n.NeedlemanWunsch = r(27)), + (n.Matrix = r(24)), + (n.SVD = r(26)), + (t.exports = n); + }, + function (t, e, r) { + 'use strict'; + function n() { + this.listeners = []; + } + o(n, 'Emitter'); + var i = n.prototype; + (i.addListener = function (a, s) { + this.listeners.push({ event: a, callback: s }); + }), + (i.removeListener = function (a, s) { + for (var l = this.listeners.length; l >= 0; l--) { + var u = this.listeners[l]; + u.event === a && u.callback === s && this.listeners.splice(l, 1); + } + }), + (i.emit = function (a, s) { + for (var l = 0; l < this.listeners.length; l++) { + var u = this.listeners[l]; + a === u.event && u.callback(s); + } + }), + (t.exports = n); + } + ]); + }); + }); + var ZB = gi((vb, QB) => { + 'use strict'; + o(function (e, r) { + typeof vb == 'object' && typeof QB == 'object' + ? (QB.exports = r(KB())) + : typeof define == 'function' && define.amd + ? define(['layout-base'], r) + : typeof vb == 'object' + ? (vb.coseBase = r(KB())) + : (e.coseBase = r(e.layoutBase)); + }, 'webpackUniversalModuleDefinition')(vb, function (t) { + return (() => { + 'use strict'; + var e = { + 45: (a, s, l) => { + var u = {}; + (u.layoutBase = l(551)), + (u.CoSEConstants = l(806)), + (u.CoSEEdge = l(767)), + (u.CoSEGraph = l(880)), + (u.CoSEGraphManager = l(578)), + (u.CoSELayout = l(765)), + (u.CoSENode = l(991)), + (u.ConstraintHandler = l(902)), + (a.exports = u); + }, + 806: (a, s, l) => { + var u = l(551).FDLayoutConstants; + function h() {} + o(h, 'CoSEConstants'); + for (var f in u) h[f] = u[f]; + (h.DEFAULT_USE_MULTI_LEVEL_SCALING = !1), + (h.DEFAULT_RADIAL_SEPARATION = u.DEFAULT_EDGE_LENGTH), + (h.DEFAULT_COMPONENT_SEPERATION = 60), + (h.TILE = !0), + (h.TILING_PADDING_VERTICAL = 10), + (h.TILING_PADDING_HORIZONTAL = 10), + (h.TRANSFORM_ON_CONSTRAINT_HANDLING = !0), + (h.ENFORCE_CONSTRAINTS = !0), + (h.APPLY_LAYOUT = !0), + (h.RELAX_MOVEMENT_ON_CONSTRAINTS = !0), + (h.TREE_REDUCTION_ON_INCREMENTAL = !0), + (h.PURE_INCREMENTAL = h.DEFAULT_INCREMENTAL), + (a.exports = h); + }, + 767: (a, s, l) => { + var u = l(551).FDLayoutEdge; + function h(d, p, m) { + u.call(this, d, p, m); + } + o(h, 'CoSEEdge'), (h.prototype = Object.create(u.prototype)); + for (var f in u) h[f] = u[f]; + a.exports = h; + }, + 880: (a, s, l) => { + var u = l(551).LGraph; + function h(d, p, m) { + u.call(this, d, p, m); + } + o(h, 'CoSEGraph'), (h.prototype = Object.create(u.prototype)); + for (var f in u) h[f] = u[f]; + a.exports = h; + }, + 578: (a, s, l) => { + var u = l(551).LGraphManager; + function h(d) { + u.call(this, d); + } + o(h, 'CoSEGraphManager'), (h.prototype = Object.create(u.prototype)); + for (var f in u) h[f] = u[f]; + a.exports = h; + }, + 765: (a, s, l) => { + var u = l(551).FDLayout, + h = l(578), + f = l(880), + d = l(991), + p = l(767), + m = l(806), + g = l(902), + y = l(551).FDLayoutConstants, + v = l(551).LayoutConstants, + x = l(551).Point, + b = l(551).PointD, + w = l(551).DimensionD, + S = l(551).Layout, + T = l(551).Integer, + E = l(551).IGeometry, + _ = l(551).LGraph, + A = l(551).Transform, + L = l(551).LinkedList; + function M() { + u.call(this), (this.toBeTiled = {}), (this.constraints = {}); + } + o(M, 'CoSELayout'), (M.prototype = Object.create(u.prototype)); + for (var N in u) M[N] = u[N]; + (M.prototype.newGraphManager = function () { + var k = new h(this); + return (this.graphManager = k), k; + }), + (M.prototype.newGraph = function (k) { + return new f(null, this.graphManager, k); + }), + (M.prototype.newNode = function (k) { + return new d(this.graphManager, k); + }), + (M.prototype.newEdge = function (k) { + return new p(null, null, k); + }), + (M.prototype.initParameters = function () { + u.prototype.initParameters.call(this, arguments), + this.isSubLayout || + (m.DEFAULT_EDGE_LENGTH < 10 + ? (this.idealEdgeLength = 10) + : (this.idealEdgeLength = m.DEFAULT_EDGE_LENGTH), + (this.useSmartIdealEdgeLengthCalculation = + m.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION), + (this.gravityConstant = y.DEFAULT_GRAVITY_STRENGTH), + (this.compoundGravityConstant = y.DEFAULT_COMPOUND_GRAVITY_STRENGTH), + (this.gravityRangeFactor = y.DEFAULT_GRAVITY_RANGE_FACTOR), + (this.compoundGravityRangeFactor = y.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR), + (this.prunedNodesAll = []), + (this.growTreeIterations = 0), + (this.afterGrowthIterations = 0), + (this.isTreeGrowing = !1), + (this.isGrowthFinished = !1)); + }), + (M.prototype.initSpringEmbedder = function () { + u.prototype.initSpringEmbedder.call(this), + (this.coolingCycle = 0), + (this.maxCoolingCycle = this.maxIterations / y.CONVERGENCE_CHECK_PERIOD), + (this.finalTemperature = 0.04), + (this.coolingAdjuster = 1); + }), + (M.prototype.layout = function () { + var k = v.DEFAULT_CREATE_BENDS_AS_NEEDED; + return ( + k && (this.createBendpoints(), this.graphManager.resetAllEdges()), + (this.level = 0), + this.classicLayout() + ); + }), + (M.prototype.classicLayout = function () { + if ( + ((this.nodesWithGravity = this.calculateNodesToApplyGravitationTo()), + this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity), + this.calcNoOfChildrenForAllNodes(), + this.graphManager.calcLowestCommonAncestors(), + this.graphManager.calcInclusionTreeDepths(), + this.graphManager.getRoot().calcEstimatedSize(), + this.calcIdealEdgeLengths(), + this.incremental) + ) { + if (m.TREE_REDUCTION_ON_INCREMENTAL) { + this.reduceTrees(), this.graphManager.resetAllNodesToApplyGravitation(); + var I = new Set(this.getAllNodes()), + C = this.nodesWithGravity.filter(function (P) { + return I.has(P); + }); + this.graphManager.setAllNodesToApplyGravitation(C); + } + } else { + var k = this.getFlatForest(); + if (k.length > 0) this.positionNodesRadially(k); + else { + this.reduceTrees(), this.graphManager.resetAllNodesToApplyGravitation(); + var I = new Set(this.getAllNodes()), + C = this.nodesWithGravity.filter(function (O) { + return I.has(O); + }); + this.graphManager.setAllNodesToApplyGravitation(C), + this.positionNodesRandomly(); + } + } + return ( + Object.keys(this.constraints).length > 0 && + (g.handleConstraints(this), this.initConstraintVariables()), + this.initSpringEmbedder(), + m.APPLY_LAYOUT && this.runSpringEmbedder(), + !0 + ); + }), + (M.prototype.tick = function () { + if ( + (this.totalIterations++, + this.totalIterations === this.maxIterations && + !this.isTreeGrowing && + !this.isGrowthFinished) + ) + if (this.prunedNodesAll.length > 0) this.isTreeGrowing = !0; + else return !0; + if ( + this.totalIterations % y.CONVERGENCE_CHECK_PERIOD == 0 && + !this.isTreeGrowing && + !this.isGrowthFinished + ) { + if (this.isConverged()) + if (this.prunedNodesAll.length > 0) this.isTreeGrowing = !0; + else return !0; + this.coolingCycle++, + this.layoutQuality == 0 + ? (this.coolingAdjuster = this.coolingCycle) + : this.layoutQuality == 1 && + (this.coolingAdjuster = this.coolingCycle / 3), + (this.coolingFactor = Math.max( + this.initialCoolingFactor - + (Math.pow( + this.coolingCycle, + Math.log( + 100 * (this.initialCoolingFactor - this.finalTemperature) + ) / Math.log(this.maxCoolingCycle) + ) / + 100) * + this.coolingAdjuster, + this.finalTemperature + )), + (this.animationPeriod = Math.ceil( + this.initialAnimationPeriod * Math.sqrt(this.coolingFactor) + )); + } + if (this.isTreeGrowing) { + if (this.growTreeIterations % 10 == 0) + if (this.prunedNodesAll.length > 0) { + this.graphManager.updateBounds(), + this.updateGrid(), + this.growTree(this.prunedNodesAll), + this.graphManager.resetAllNodesToApplyGravitation(); + var k = new Set(this.getAllNodes()), + I = this.nodesWithGravity.filter(function (D) { + return k.has(D); + }); + this.graphManager.setAllNodesToApplyGravitation(I), + this.graphManager.updateBounds(), + this.updateGrid(), + m.PURE_INCREMENTAL + ? (this.coolingFactor = + y.DEFAULT_COOLING_FACTOR_INCREMENTAL / 2) + : (this.coolingFactor = y.DEFAULT_COOLING_FACTOR_INCREMENTAL); + } else (this.isTreeGrowing = !1), (this.isGrowthFinished = !0); + this.growTreeIterations++; + } + if (this.isGrowthFinished) { + if (this.isConverged()) return !0; + this.afterGrowthIterations % 10 == 0 && + (this.graphManager.updateBounds(), this.updateGrid()), + m.PURE_INCREMENTAL + ? (this.coolingFactor = + (y.DEFAULT_COOLING_FACTOR_INCREMENTAL / 2) * + ((100 - this.afterGrowthIterations) / 100)) + : (this.coolingFactor = + y.DEFAULT_COOLING_FACTOR_INCREMENTAL * + ((100 - this.afterGrowthIterations) / 100)), + this.afterGrowthIterations++; + } + var C = !this.isTreeGrowing && !this.isGrowthFinished, + O = + (this.growTreeIterations % 10 == 1 && this.isTreeGrowing) || + (this.afterGrowthIterations % 10 == 1 && this.isGrowthFinished); + return ( + (this.totalDisplacement = 0), + this.graphManager.updateBounds(), + this.calcSpringForces(), + this.calcRepulsionForces(C, O), + this.calcGravitationalForces(), + this.moveNodes(), + this.animate(), + !1 + ); + }), + (M.prototype.getPositionsData = function () { + for (var k = this.graphManager.getAllNodes(), I = {}, C = 0; C < k.length; C++) { + var O = k[C].rect, + D = k[C].id; + I[D] = { + id: D, + x: O.getCenterX(), + y: O.getCenterY(), + w: O.width, + h: O.height + }; + } + return I; + }), + (M.prototype.runSpringEmbedder = function () { + (this.initialAnimationPeriod = 25), + (this.animationPeriod = this.initialAnimationPeriod); + var k = !1; + if (y.ANIMATE === 'during') this.emit('layoutstarted'); + else { + for (; !k; ) k = this.tick(); + this.graphManager.updateBounds(); + } + }), + (M.prototype.moveNodes = function () { + for (var k = this.getAllNodes(), I, C = 0; C < k.length; C++) + (I = k[C]), I.calculateDisplacement(); + Object.keys(this.constraints).length > 0 && this.updateDisplacements(); + for (var C = 0; C < k.length; C++) (I = k[C]), I.move(); + }), + (M.prototype.initConstraintVariables = function () { + var k = this; + (this.idToNodeMap = new Map()), (this.fixedNodeSet = new Set()); + for (var I = this.graphManager.getAllNodes(), C = 0; C < I.length; C++) { + var O = I[C]; + this.idToNodeMap.set(O.id, O); + } + var D = o(function J(Z) { + for (var H = Z.getChild().getNodes(), q, K = 0, se = 0; se < H.length; se++) + (q = H[se]), + q.getChild() == null + ? k.fixedNodeSet.has(q.id) && (K += 100) + : (K += J(q)); + return K; + }, 'calculateCompoundWeight'); + if (this.constraints.fixedNodeConstraint) { + this.constraints.fixedNodeConstraint.forEach(function (H) { + k.fixedNodeSet.add(H.nodeId); + }); + for (var I = this.graphManager.getAllNodes(), O, C = 0; C < I.length; C++) + if (((O = I[C]), O.getChild() != null)) { + var P = D(O); + P > 0 && (O.fixedNodeWeight = P); + } + } + if (this.constraints.relativePlacementConstraint) { + var F = new Map(), + B = new Map(); + if ( + ((this.dummyToNodeForVerticalAlignment = new Map()), + (this.dummyToNodeForHorizontalAlignment = new Map()), + (this.fixedNodesOnHorizontal = new Set()), + (this.fixedNodesOnVertical = new Set()), + this.fixedNodeSet.forEach(function (J) { + k.fixedNodesOnHorizontal.add(J), k.fixedNodesOnVertical.add(J); + }), + this.constraints.alignmentConstraint) + ) { + if (this.constraints.alignmentConstraint.vertical) + for ( + var $ = this.constraints.alignmentConstraint.vertical, C = 0; + C < $.length; + C++ + ) + this.dummyToNodeForVerticalAlignment.set('dummy' + C, []), + $[C].forEach(function (Z) { + F.set(Z, 'dummy' + C), + k.dummyToNodeForVerticalAlignment + .get('dummy' + C) + .push(Z), + k.fixedNodeSet.has(Z) && + k.fixedNodesOnHorizontal.add('dummy' + C); + }); + if (this.constraints.alignmentConstraint.horizontal) + for ( + var z = this.constraints.alignmentConstraint.horizontal, C = 0; + C < z.length; + C++ + ) + this.dummyToNodeForHorizontalAlignment.set('dummy' + C, []), + z[C].forEach(function (Z) { + B.set(Z, 'dummy' + C), + k.dummyToNodeForHorizontalAlignment + .get('dummy' + C) + .push(Z), + k.fixedNodeSet.has(Z) && + k.fixedNodesOnVertical.add('dummy' + C); + }); + } + if (m.RELAX_MOVEMENT_ON_CONSTRAINTS) + (this.shuffle = function (J) { + var Z, H, q; + for (q = J.length - 1; q >= (2 * J.length) / 3; q--) + (Z = Math.floor(Math.random() * (q + 1))), + (H = J[q]), + (J[q] = J[Z]), + (J[Z] = H); + return J; + }), + (this.nodesInRelativeHorizontal = []), + (this.nodesInRelativeVertical = []), + (this.nodeToRelativeConstraintMapHorizontal = new Map()), + (this.nodeToRelativeConstraintMapVertical = new Map()), + (this.nodeToTempPositionMapHorizontal = new Map()), + (this.nodeToTempPositionMapVertical = new Map()), + this.constraints.relativePlacementConstraint.forEach(function (J) { + if (J.left) { + var Z = F.has(J.left) ? F.get(J.left) : J.left, + H = F.has(J.right) ? F.get(J.right) : J.right; + k.nodesInRelativeHorizontal.includes(Z) || + (k.nodesInRelativeHorizontal.push(Z), + k.nodeToRelativeConstraintMapHorizontal.set(Z, []), + k.dummyToNodeForVerticalAlignment.has(Z) + ? k.nodeToTempPositionMapHorizontal.set( + Z, + k.idToNodeMap + .get( + k.dummyToNodeForVerticalAlignment.get( + Z + )[0] + ) + .getCenterX() + ) + : k.nodeToTempPositionMapHorizontal.set( + Z, + k.idToNodeMap.get(Z).getCenterX() + )), + k.nodesInRelativeHorizontal.includes(H) || + (k.nodesInRelativeHorizontal.push(H), + k.nodeToRelativeConstraintMapHorizontal.set(H, []), + k.dummyToNodeForVerticalAlignment.has(H) + ? k.nodeToTempPositionMapHorizontal.set( + H, + k.idToNodeMap + .get( + k.dummyToNodeForVerticalAlignment.get( + H + )[0] + ) + .getCenterX() + ) + : k.nodeToTempPositionMapHorizontal.set( + H, + k.idToNodeMap.get(H).getCenterX() + )), + k.nodeToRelativeConstraintMapHorizontal + .get(Z) + .push({ right: H, gap: J.gap }), + k.nodeToRelativeConstraintMapHorizontal + .get(H) + .push({ left: Z, gap: J.gap }); + } else { + var q = B.has(J.top) ? B.get(J.top) : J.top, + K = B.has(J.bottom) ? B.get(J.bottom) : J.bottom; + k.nodesInRelativeVertical.includes(q) || + (k.nodesInRelativeVertical.push(q), + k.nodeToRelativeConstraintMapVertical.set(q, []), + k.dummyToNodeForHorizontalAlignment.has(q) + ? k.nodeToTempPositionMapVertical.set( + q, + k.idToNodeMap + .get( + k.dummyToNodeForHorizontalAlignment.get( + q + )[0] + ) + .getCenterY() + ) + : k.nodeToTempPositionMapVertical.set( + q, + k.idToNodeMap.get(q).getCenterY() + )), + k.nodesInRelativeVertical.includes(K) || + (k.nodesInRelativeVertical.push(K), + k.nodeToRelativeConstraintMapVertical.set(K, []), + k.dummyToNodeForHorizontalAlignment.has(K) + ? k.nodeToTempPositionMapVertical.set( + K, + k.idToNodeMap + .get( + k.dummyToNodeForHorizontalAlignment.get( + K + )[0] + ) + .getCenterY() + ) + : k.nodeToTempPositionMapVertical.set( + K, + k.idToNodeMap.get(K).getCenterY() + )), + k.nodeToRelativeConstraintMapVertical + .get(q) + .push({ bottom: K, gap: J.gap }), + k.nodeToRelativeConstraintMapVertical + .get(K) + .push({ top: q, gap: J.gap }); + } + }); + else { + var Y = new Map(), + Q = new Map(); + this.constraints.relativePlacementConstraint.forEach(function (J) { + if (J.left) { + var Z = F.has(J.left) ? F.get(J.left) : J.left, + H = F.has(J.right) ? F.get(J.right) : J.right; + Y.has(Z) ? Y.get(Z).push(H) : Y.set(Z, [H]), + Y.has(H) ? Y.get(H).push(Z) : Y.set(H, [Z]); + } else { + var q = B.has(J.top) ? B.get(J.top) : J.top, + K = B.has(J.bottom) ? B.get(J.bottom) : J.bottom; + Q.has(q) ? Q.get(q).push(K) : Q.set(q, [K]), + Q.has(K) ? Q.get(K).push(q) : Q.set(K, [q]); + } + }); + var X = o(function (Z, H) { + var q = [], + K = [], + se = new L(), + ce = new Set(), + ue = 0; + return ( + Z.forEach(function (te, De) { + if (!ce.has(De)) { + (q[ue] = []), (K[ue] = !1); + var oe = De; + for ( + se.push(oe), ce.add(oe), q[ue].push(oe); + se.length != 0; + + ) { + (oe = se.shift()), H.has(oe) && (K[ue] = !0); + var ke = Z.get(oe); + ke.forEach(function (Ie) { + ce.has(Ie) || + (se.push(Ie), ce.add(Ie), q[ue].push(Ie)); + }); + } + ue++; + } + }), + { components: q, isFixed: K } + ); + }, 'constructComponents'), + ie = X(Y, k.fixedNodesOnHorizontal); + (this.componentsOnHorizontal = ie.components), + (this.fixedComponentsOnHorizontal = ie.isFixed); + var j = X(Q, k.fixedNodesOnVertical); + (this.componentsOnVertical = j.components), + (this.fixedComponentsOnVertical = j.isFixed); + } + } + }), + (M.prototype.updateDisplacements = function () { + var k = this; + if ( + (this.constraints.fixedNodeConstraint && + this.constraints.fixedNodeConstraint.forEach(function (j) { + var J = k.idToNodeMap.get(j.nodeId); + (J.displacementX = 0), (J.displacementY = 0); + }), + this.constraints.alignmentConstraint) + ) { + if (this.constraints.alignmentConstraint.vertical) + for ( + var I = this.constraints.alignmentConstraint.vertical, C = 0; + C < I.length; + C++ + ) { + for (var O = 0, D = 0; D < I[C].length; D++) { + if (this.fixedNodeSet.has(I[C][D])) { + O = 0; + break; + } + O += this.idToNodeMap.get(I[C][D]).displacementX; + } + for (var P = O / I[C].length, D = 0; D < I[C].length; D++) + this.idToNodeMap.get(I[C][D]).displacementX = P; + } + if (this.constraints.alignmentConstraint.horizontal) + for ( + var F = this.constraints.alignmentConstraint.horizontal, C = 0; + C < F.length; + C++ + ) { + for (var B = 0, D = 0; D < F[C].length; D++) { + if (this.fixedNodeSet.has(F[C][D])) { + B = 0; + break; + } + B += this.idToNodeMap.get(F[C][D]).displacementY; + } + for (var $ = B / F[C].length, D = 0; D < F[C].length; D++) + this.idToNodeMap.get(F[C][D]).displacementY = $; + } + } + if (this.constraints.relativePlacementConstraint) + if (m.RELAX_MOVEMENT_ON_CONSTRAINTS) + this.totalIterations % 10 == 0 && + (this.shuffle(this.nodesInRelativeHorizontal), + this.shuffle(this.nodesInRelativeVertical)), + this.nodesInRelativeHorizontal.forEach(function (j) { + if (!k.fixedNodesOnHorizontal.has(j)) { + var J = 0; + k.dummyToNodeForVerticalAlignment.has(j) + ? (J = k.idToNodeMap.get( + k.dummyToNodeForVerticalAlignment.get(j)[0] + ).displacementX) + : (J = k.idToNodeMap.get(j).displacementX), + k.nodeToRelativeConstraintMapHorizontal + .get(j) + .forEach(function (Z) { + if (Z.right) { + var H = + k.nodeToTempPositionMapHorizontal.get( + Z.right + ) - + k.nodeToTempPositionMapHorizontal.get(j) - + J; + H < Z.gap && (J -= Z.gap - H); + } else { + var H = + k.nodeToTempPositionMapHorizontal.get(j) - + k.nodeToTempPositionMapHorizontal.get( + Z.left + ) + + J; + H < Z.gap && (J += Z.gap - H); + } + }), + k.nodeToTempPositionMapHorizontal.set( + j, + k.nodeToTempPositionMapHorizontal.get(j) + J + ), + k.dummyToNodeForVerticalAlignment.has(j) + ? k.dummyToNodeForVerticalAlignment + .get(j) + .forEach(function (Z) { + k.idToNodeMap.get(Z).displacementX = J; + }) + : (k.idToNodeMap.get(j).displacementX = J); + } + }), + this.nodesInRelativeVertical.forEach(function (j) { + if (!k.fixedNodesOnHorizontal.has(j)) { + var J = 0; + k.dummyToNodeForHorizontalAlignment.has(j) + ? (J = k.idToNodeMap.get( + k.dummyToNodeForHorizontalAlignment.get(j)[0] + ).displacementY) + : (J = k.idToNodeMap.get(j).displacementY), + k.nodeToRelativeConstraintMapVertical + .get(j) + .forEach(function (Z) { + if (Z.bottom) { + var H = + k.nodeToTempPositionMapVertical.get( + Z.bottom + ) - + k.nodeToTempPositionMapVertical.get(j) - + J; + H < Z.gap && (J -= Z.gap - H); + } else { + var H = + k.nodeToTempPositionMapVertical.get(j) - + k.nodeToTempPositionMapVertical.get(Z.top) + + J; + H < Z.gap && (J += Z.gap - H); + } + }), + k.nodeToTempPositionMapVertical.set( + j, + k.nodeToTempPositionMapVertical.get(j) + J + ), + k.dummyToNodeForHorizontalAlignment.has(j) + ? k.dummyToNodeForHorizontalAlignment + .get(j) + .forEach(function (Z) { + k.idToNodeMap.get(Z).displacementY = J; + }) + : (k.idToNodeMap.get(j).displacementY = J); + } + }); + else { + for (var C = 0; C < this.componentsOnHorizontal.length; C++) { + var z = this.componentsOnHorizontal[C]; + if (this.fixedComponentsOnHorizontal[C]) + for (var D = 0; D < z.length; D++) + this.dummyToNodeForVerticalAlignment.has(z[D]) + ? this.dummyToNodeForVerticalAlignment + .get(z[D]) + .forEach(function (Z) { + k.idToNodeMap.get(Z).displacementX = 0; + }) + : (this.idToNodeMap.get(z[D]).displacementX = 0); + else { + for (var Y = 0, Q = 0, D = 0; D < z.length; D++) + if (this.dummyToNodeForVerticalAlignment.has(z[D])) { + var X = this.dummyToNodeForVerticalAlignment.get(z[D]); + (Y += X.length * this.idToNodeMap.get(X[0]).displacementX), + (Q += X.length); + } else (Y += this.idToNodeMap.get(z[D]).displacementX), Q++; + for (var ie = Y / Q, D = 0; D < z.length; D++) + this.dummyToNodeForVerticalAlignment.has(z[D]) + ? this.dummyToNodeForVerticalAlignment + .get(z[D]) + .forEach(function (Z) { + k.idToNodeMap.get(Z).displacementX = ie; + }) + : (this.idToNodeMap.get(z[D]).displacementX = ie); + } + } + for (var C = 0; C < this.componentsOnVertical.length; C++) { + var z = this.componentsOnVertical[C]; + if (this.fixedComponentsOnVertical[C]) + for (var D = 0; D < z.length; D++) + this.dummyToNodeForHorizontalAlignment.has(z[D]) + ? this.dummyToNodeForHorizontalAlignment + .get(z[D]) + .forEach(function (H) { + k.idToNodeMap.get(H).displacementY = 0; + }) + : (this.idToNodeMap.get(z[D]).displacementY = 0); + else { + for (var Y = 0, Q = 0, D = 0; D < z.length; D++) + if (this.dummyToNodeForHorizontalAlignment.has(z[D])) { + var X = this.dummyToNodeForHorizontalAlignment.get(z[D]); + (Y += X.length * this.idToNodeMap.get(X[0]).displacementY), + (Q += X.length); + } else (Y += this.idToNodeMap.get(z[D]).displacementY), Q++; + for (var ie = Y / Q, D = 0; D < z.length; D++) + this.dummyToNodeForHorizontalAlignment.has(z[D]) + ? this.dummyToNodeForHorizontalAlignment + .get(z[D]) + .forEach(function (se) { + k.idToNodeMap.get(se).displacementY = ie; + }) + : (this.idToNodeMap.get(z[D]).displacementY = ie); + } + } + } + }), + (M.prototype.calculateNodesToApplyGravitationTo = function () { + var k = [], + I, + C = this.graphManager.getGraphs(), + O = C.length, + D; + for (D = 0; D < O; D++) + (I = C[D]), I.updateConnected(), I.isConnected || (k = k.concat(I.getNodes())); + return k; + }), + (M.prototype.createBendpoints = function () { + var k = []; + k = k.concat(this.graphManager.getAllEdges()); + var I = new Set(), + C; + for (C = 0; C < k.length; C++) { + var O = k[C]; + if (!I.has(O)) { + var D = O.getSource(), + P = O.getTarget(); + if (D == P) + O.getBendpoints().push(new b()), + O.getBendpoints().push(new b()), + this.createDummyNodesForBendpoints(O), + I.add(O); + else { + var F = []; + if ( + ((F = F.concat(D.getEdgeListToNode(P))), + (F = F.concat(P.getEdgeListToNode(D))), + !I.has(F[0])) + ) { + if (F.length > 1) { + var B; + for (B = 0; B < F.length; B++) { + var $ = F[B]; + $.getBendpoints().push(new b()), + this.createDummyNodesForBendpoints($); + } + } + F.forEach(function (z) { + I.add(z); + }); + } + } + } + if (I.size == k.length) break; + } + }), + (M.prototype.positionNodesRadially = function (k) { + for ( + var I = new x(0, 0), + C = Math.ceil(Math.sqrt(k.length)), + O = 0, + D = 0, + P = 0, + F = new b(0, 0), + B = 0; + B < k.length; + B++ + ) { + B % C == 0 && + ((P = 0), + (D = O), + B != 0 && (D += m.DEFAULT_COMPONENT_SEPERATION), + (O = 0)); + var $ = k[B], + z = S.findCenterOfTree($); + (I.x = P), + (I.y = D), + (F = M.radialLayout($, z, I)), + F.y > O && (O = Math.floor(F.y)), + (P = Math.floor(F.x + m.DEFAULT_COMPONENT_SEPERATION)); + } + this.transform(new b(v.WORLD_CENTER_X - F.x / 2, v.WORLD_CENTER_Y - F.y / 2)); + }), + (M.radialLayout = function (k, I, C) { + var O = Math.max(this.maxDiagonalInTree(k), m.DEFAULT_RADIAL_SEPARATION); + M.branchRadialLayout(I, null, 0, 359, 0, O); + var D = _.calculateBounds(k), + P = new A(); + P.setDeviceOrgX(D.getMinX()), + P.setDeviceOrgY(D.getMinY()), + P.setWorldOrgX(C.x), + P.setWorldOrgY(C.y); + for (var F = 0; F < k.length; F++) { + var B = k[F]; + B.transform(P); + } + var $ = new b(D.getMaxX(), D.getMaxY()); + return P.inverseTransformPoint($); + }), + (M.branchRadialLayout = function (k, I, C, O, D, P) { + var F = (O - C + 1) / 2; + F < 0 && (F += 180); + var B = (F + C) % 360, + $ = (B * E.TWO_PI) / 360, + z = Math.cos($), + Y = D * Math.cos($), + Q = D * Math.sin($); + k.setCenter(Y, Q); + var X = []; + X = X.concat(k.getEdges()); + var ie = X.length; + I != null && ie--; + for (var j = 0, J = X.length, Z, H = k.getEdgesBetween(I); H.length > 1; ) { + var q = H[0]; + H.splice(0, 1); + var K = X.indexOf(q); + K >= 0 && X.splice(K, 1), J--, ie--; + } + I != null ? (Z = (X.indexOf(H[0]) + 1) % J) : (Z = 0); + for (var se = Math.abs(O - C) / ie, ce = Z; j != ie; ce = ++ce % J) { + var ue = X[ce].getOtherEnd(k); + if (ue != I) { + var te = (C + j * se) % 360, + De = (te + se) % 360; + M.branchRadialLayout(ue, k, te, De, D + P, P), j++; + } + } + }), + (M.maxDiagonalInTree = function (k) { + for (var I = T.MIN_VALUE, C = 0; C < k.length; C++) { + var O = k[C], + D = O.getDiagonal(); + D > I && (I = D); + } + return I; + }), + (M.prototype.calcRepulsionRange = function () { + return 2 * (this.level + 1) * this.idealEdgeLength; + }), + (M.prototype.groupZeroDegreeMembers = function () { + var k = this, + I = {}; + (this.memberGroups = {}), (this.idToDummyNode = {}); + for (var C = [], O = this.graphManager.getAllNodes(), D = 0; D < O.length; D++) { + var P = O[D], + F = P.getParent(); + this.getNodeDegreeWithChildren(P) === 0 && + (F.id == null || !this.getToBeTiled(F)) && + C.push(P); + } + for (var D = 0; D < C.length; D++) { + var P = C[D], + B = P.getParent().id; + typeof I[B] > 'u' && (I[B] = []), (I[B] = I[B].concat(P)); + } + Object.keys(I).forEach(function ($) { + if (I[$].length > 1) { + var z = 'DummyCompound_' + $; + k.memberGroups[z] = I[$]; + var Y = I[$][0].getParent(), + Q = new d(k.graphManager); + (Q.id = z), + (Q.paddingLeft = Y.paddingLeft || 0), + (Q.paddingRight = Y.paddingRight || 0), + (Q.paddingBottom = Y.paddingBottom || 0), + (Q.paddingTop = Y.paddingTop || 0), + (k.idToDummyNode[z] = Q); + var X = k.getGraphManager().add(k.newGraph(), Q), + ie = Y.getChild(); + ie.add(Q); + for (var j = 0; j < I[$].length; j++) { + var J = I[$][j]; + ie.remove(J), X.add(J); + } + } + }); + }), + (M.prototype.clearCompounds = function () { + var k = {}, + I = {}; + this.performDFSOnCompounds(); + for (var C = 0; C < this.compoundOrder.length; C++) + (I[this.compoundOrder[C].id] = this.compoundOrder[C]), + (k[this.compoundOrder[C].id] = [].concat( + this.compoundOrder[C].getChild().getNodes() + )), + this.graphManager.remove(this.compoundOrder[C].getChild()), + (this.compoundOrder[C].child = null); + this.graphManager.resetAllNodes(), this.tileCompoundMembers(k, I); + }), + (M.prototype.clearZeroDegreeMembers = function () { + var k = this, + I = (this.tiledZeroDegreePack = []); + Object.keys(this.memberGroups).forEach(function (C) { + var O = k.idToDummyNode[C]; + if ( + ((I[C] = k.tileNodes(k.memberGroups[C], O.paddingLeft + O.paddingRight)), + (O.rect.width = I[C].width), + (O.rect.height = I[C].height), + O.setCenter(I[C].centerX, I[C].centerY), + (O.labelMarginLeft = 0), + (O.labelMarginTop = 0), + m.NODE_DIMENSIONS_INCLUDE_LABELS) + ) { + var D = O.rect.width, + P = O.rect.height; + O.labelWidth && + (O.labelPosHorizontal == 'left' + ? ((O.rect.x -= O.labelWidth), + O.setWidth(D + O.labelWidth), + (O.labelMarginLeft = O.labelWidth)) + : O.labelPosHorizontal == 'center' && O.labelWidth > D + ? ((O.rect.x -= (O.labelWidth - D) / 2), + O.setWidth(O.labelWidth), + (O.labelMarginLeft = (O.labelWidth - D) / 2)) + : O.labelPosHorizontal == 'right' && O.setWidth(D + O.labelWidth)), + O.labelHeight && + (O.labelPosVertical == 'top' + ? ((O.rect.y -= O.labelHeight), + O.setHeight(P + O.labelHeight), + (O.labelMarginTop = O.labelHeight)) + : O.labelPosVertical == 'center' && O.labelHeight > P + ? ((O.rect.y -= (O.labelHeight - P) / 2), + O.setHeight(O.labelHeight), + (O.labelMarginTop = (O.labelHeight - P) / 2)) + : O.labelPosVertical == 'bottom' && + O.setHeight(P + O.labelHeight)); + } + }); + }), + (M.prototype.repopulateCompounds = function () { + for (var k = this.compoundOrder.length - 1; k >= 0; k--) { + var I = this.compoundOrder[k], + C = I.id, + O = I.paddingLeft, + D = I.paddingTop, + P = I.labelMarginLeft, + F = I.labelMarginTop; + this.adjustLocations(this.tiledMemberPack[C], I.rect.x, I.rect.y, O, D, P, F); + } + }), + (M.prototype.repopulateZeroDegreeMembers = function () { + var k = this, + I = this.tiledZeroDegreePack; + Object.keys(I).forEach(function (C) { + var O = k.idToDummyNode[C], + D = O.paddingLeft, + P = O.paddingTop, + F = O.labelMarginLeft, + B = O.labelMarginTop; + k.adjustLocations(I[C], O.rect.x, O.rect.y, D, P, F, B); + }); + }), + (M.prototype.getToBeTiled = function (k) { + var I = k.id; + if (this.toBeTiled[I] != null) return this.toBeTiled[I]; + var C = k.getChild(); + if (C == null) return (this.toBeTiled[I] = !1), !1; + for (var O = C.getNodes(), D = 0; D < O.length; D++) { + var P = O[D]; + if (this.getNodeDegree(P) > 0) return (this.toBeTiled[I] = !1), !1; + if (P.getChild() == null) { + this.toBeTiled[P.id] = !1; + continue; + } + if (!this.getToBeTiled(P)) return (this.toBeTiled[I] = !1), !1; + } + return (this.toBeTiled[I] = !0), !0; + }), + (M.prototype.getNodeDegree = function (k) { + for (var I = k.id, C = k.getEdges(), O = 0, D = 0; D < C.length; D++) { + var P = C[D]; + P.getSource().id !== P.getTarget().id && (O = O + 1); + } + return O; + }), + (M.prototype.getNodeDegreeWithChildren = function (k) { + var I = this.getNodeDegree(k); + if (k.getChild() == null) return I; + for (var C = k.getChild().getNodes(), O = 0; O < C.length; O++) { + var D = C[O]; + I += this.getNodeDegreeWithChildren(D); + } + return I; + }), + (M.prototype.performDFSOnCompounds = function () { + (this.compoundOrder = []), + this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes()); + }), + (M.prototype.fillCompexOrderByDFS = function (k) { + for (var I = 0; I < k.length; I++) { + var C = k[I]; + C.getChild() != null && this.fillCompexOrderByDFS(C.getChild().getNodes()), + this.getToBeTiled(C) && this.compoundOrder.push(C); + } + }), + (M.prototype.adjustLocations = function (k, I, C, O, D, P, F) { + (I += O + P), (C += D + F); + for (var B = I, $ = 0; $ < k.rows.length; $++) { + var z = k.rows[$]; + I = B; + for (var Y = 0, Q = 0; Q < z.length; Q++) { + var X = z[Q]; + (X.rect.x = I), + (X.rect.y = C), + (I += X.rect.width + k.horizontalPadding), + X.rect.height > Y && (Y = X.rect.height); + } + C += Y + k.verticalPadding; + } + }), + (M.prototype.tileCompoundMembers = function (k, I) { + var C = this; + (this.tiledMemberPack = []), + Object.keys(k).forEach(function (O) { + var D = I[O]; + if ( + ((C.tiledMemberPack[O] = C.tileNodes( + k[O], + D.paddingLeft + D.paddingRight + )), + (D.rect.width = C.tiledMemberPack[O].width), + (D.rect.height = C.tiledMemberPack[O].height), + D.setCenter(C.tiledMemberPack[O].centerX, C.tiledMemberPack[O].centerY), + (D.labelMarginLeft = 0), + (D.labelMarginTop = 0), + m.NODE_DIMENSIONS_INCLUDE_LABELS) + ) { + var P = D.rect.width, + F = D.rect.height; + D.labelWidth && + (D.labelPosHorizontal == 'left' + ? ((D.rect.x -= D.labelWidth), + D.setWidth(P + D.labelWidth), + (D.labelMarginLeft = D.labelWidth)) + : D.labelPosHorizontal == 'center' && D.labelWidth > P + ? ((D.rect.x -= (D.labelWidth - P) / 2), + D.setWidth(D.labelWidth), + (D.labelMarginLeft = (D.labelWidth - P) / 2)) + : D.labelPosHorizontal == 'right' && + D.setWidth(P + D.labelWidth)), + D.labelHeight && + (D.labelPosVertical == 'top' + ? ((D.rect.y -= D.labelHeight), + D.setHeight(F + D.labelHeight), + (D.labelMarginTop = D.labelHeight)) + : D.labelPosVertical == 'center' && D.labelHeight > F + ? ((D.rect.y -= (D.labelHeight - F) / 2), + D.setHeight(D.labelHeight), + (D.labelMarginTop = (D.labelHeight - F) / 2)) + : D.labelPosVertical == 'bottom' && + D.setHeight(F + D.labelHeight)); + } + }); + }), + (M.prototype.tileNodes = function (k, I) { + var C = this.tileNodesByFavoringDim(k, I, !0), + O = this.tileNodesByFavoringDim(k, I, !1), + D = this.getOrgRatio(C), + P = this.getOrgRatio(O), + F; + return P < D ? (F = O) : (F = C), F; + }), + (M.prototype.getOrgRatio = function (k) { + var I = k.width, + C = k.height, + O = I / C; + return O < 1 && (O = 1 / O), O; + }), + (M.prototype.calcIdealRowWidth = function (k, I) { + var C = m.TILING_PADDING_VERTICAL, + O = m.TILING_PADDING_HORIZONTAL, + D = k.length, + P = 0, + F = 0, + B = 0; + k.forEach(function (j) { + (P += j.getWidth()), + (F += j.getHeight()), + j.getWidth() > B && (B = j.getWidth()); + }); + var $ = P / D, + z = F / D, + Y = Math.pow(C - O, 2) + 4 * ($ + O) * (z + C) * D, + Q = (O - C + Math.sqrt(Y)) / (2 * ($ + O)), + X; + I ? ((X = Math.ceil(Q)), X == Q && X++) : (X = Math.floor(Q)); + var ie = X * ($ + O) - O; + return B > ie && (ie = B), (ie += O * 2), ie; + }), + (M.prototype.tileNodesByFavoringDim = function (k, I, C) { + var O = m.TILING_PADDING_VERTICAL, + D = m.TILING_PADDING_HORIZONTAL, + P = m.TILING_COMPARE_BY, + F = { + rows: [], + rowWidth: [], + rowHeight: [], + width: 0, + height: I, + verticalPadding: O, + horizontalPadding: D, + centerX: 0, + centerY: 0 + }; + P && (F.idealRowWidth = this.calcIdealRowWidth(k, C)); + var B = o(function (J) { + return J.rect.width * J.rect.height; + }, 'getNodeArea'), + $ = o(function (J, Z) { + return B(Z) - B(J); + }, 'areaCompareFcn'); + k.sort(function (j, J) { + var Z = $; + return F.idealRowWidth ? ((Z = P), Z(j.id, J.id)) : Z(j, J); + }); + for (var z = 0, Y = 0, Q = 0; Q < k.length; Q++) { + var X = k[Q]; + (z += X.getCenterX()), (Y += X.getCenterY()); + } + (F.centerX = z / k.length), (F.centerY = Y / k.length); + for (var Q = 0; Q < k.length; Q++) { + var X = k[Q]; + if (F.rows.length == 0) this.insertNodeToRow(F, X, 0, I); + else if (this.canAddHorizontal(F, X.rect.width, X.rect.height)) { + var ie = F.rows.length - 1; + F.idealRowWidth || (ie = this.getShortestRowIndex(F)), + this.insertNodeToRow(F, X, ie, I); + } else this.insertNodeToRow(F, X, F.rows.length, I); + this.shiftToLastRow(F); + } + return F; + }), + (M.prototype.insertNodeToRow = function (k, I, C, O) { + var D = O; + if (C == k.rows.length) { + var P = []; + k.rows.push(P), k.rowWidth.push(D), k.rowHeight.push(0); + } + var F = k.rowWidth[C] + I.rect.width; + k.rows[C].length > 0 && (F += k.horizontalPadding), + (k.rowWidth[C] = F), + k.width < F && (k.width = F); + var B = I.rect.height; + C > 0 && (B += k.verticalPadding); + var $ = 0; + B > k.rowHeight[C] && + (($ = k.rowHeight[C]), (k.rowHeight[C] = B), ($ = k.rowHeight[C] - $)), + (k.height += $), + k.rows[C].push(I); + }), + (M.prototype.getShortestRowIndex = function (k) { + for (var I = -1, C = Number.MAX_VALUE, O = 0; O < k.rows.length; O++) + k.rowWidth[O] < C && ((I = O), (C = k.rowWidth[O])); + return I; + }), + (M.prototype.getLongestRowIndex = function (k) { + for (var I = -1, C = Number.MIN_VALUE, O = 0; O < k.rows.length; O++) + k.rowWidth[O] > C && ((I = O), (C = k.rowWidth[O])); + return I; + }), + (M.prototype.canAddHorizontal = function (k, I, C) { + if (k.idealRowWidth) { + var O = k.rows.length - 1, + D = k.rowWidth[O]; + return D + I + k.horizontalPadding <= k.idealRowWidth; + } + var P = this.getShortestRowIndex(k); + if (P < 0) return !0; + var F = k.rowWidth[P]; + if (F + k.horizontalPadding + I <= k.width) return !0; + var B = 0; + k.rowHeight[P] < C && P > 0 && (B = C + k.verticalPadding - k.rowHeight[P]); + var $; + k.width - F >= I + k.horizontalPadding + ? ($ = (k.height + B) / (F + I + k.horizontalPadding)) + : ($ = (k.height + B) / k.width), + (B = C + k.verticalPadding); + var z; + return ( + k.width < I ? (z = (k.height + B) / I) : (z = (k.height + B) / k.width), + z < 1 && (z = 1 / z), + $ < 1 && ($ = 1 / $), + $ < z + ); + }), + (M.prototype.shiftToLastRow = function (k) { + var I = this.getLongestRowIndex(k), + C = k.rowWidth.length - 1, + O = k.rows[I], + D = O[O.length - 1], + P = D.width + k.horizontalPadding; + if (k.width - k.rowWidth[C] > P && I != C) { + O.splice(-1, 1), + k.rows[C].push(D), + (k.rowWidth[I] = k.rowWidth[I] - P), + (k.rowWidth[C] = k.rowWidth[C] + P), + (k.width = k.rowWidth[instance.getLongestRowIndex(k)]); + for (var F = Number.MIN_VALUE, B = 0; B < O.length; B++) + O[B].height > F && (F = O[B].height); + I > 0 && (F += k.verticalPadding); + var $ = k.rowHeight[I] + k.rowHeight[C]; + (k.rowHeight[I] = F), + k.rowHeight[C] < D.height + k.verticalPadding && + (k.rowHeight[C] = D.height + k.verticalPadding); + var z = k.rowHeight[I] + k.rowHeight[C]; + (k.height += z - $), this.shiftToLastRow(k); + } + }), + (M.prototype.tilingPreLayout = function () { + m.TILE && + (this.groupZeroDegreeMembers(), + this.clearCompounds(), + this.clearZeroDegreeMembers()); + }), + (M.prototype.tilingPostLayout = function () { + m.TILE && (this.repopulateZeroDegreeMembers(), this.repopulateCompounds()); + }), + (M.prototype.reduceTrees = function () { + for (var k = [], I = !0, C; I; ) { + var O = this.graphManager.getAllNodes(), + D = []; + I = !1; + for (var P = 0; P < O.length; P++) + if ( + ((C = O[P]), + C.getEdges().length == 1 && + !C.getEdges()[0].isInterGraph && + C.getChild() == null) + ) { + if (m.PURE_INCREMENTAL) { + var F = C.getEdges()[0].getOtherEnd(C), + B = new w( + C.getCenterX() - F.getCenterX(), + C.getCenterY() - F.getCenterY() + ); + D.push([C, C.getEdges()[0], C.getOwner(), B]); + } else D.push([C, C.getEdges()[0], C.getOwner()]); + I = !0; + } + if (I == !0) { + for (var $ = [], z = 0; z < D.length; z++) + D[z][0].getEdges().length == 1 && + ($.push(D[z]), D[z][0].getOwner().remove(D[z][0])); + k.push($), + this.graphManager.resetAllNodes(), + this.graphManager.resetAllEdges(); + } + } + this.prunedNodesAll = k; + }), + (M.prototype.growTree = function (k) { + for (var I = k.length, C = k[I - 1], O, D = 0; D < C.length; D++) + (O = C[D]), + this.findPlaceforPrunedNode(O), + O[2].add(O[0]), + O[2].add(O[1], O[1].source, O[1].target); + k.splice(k.length - 1, 1), + this.graphManager.resetAllNodes(), + this.graphManager.resetAllEdges(); + }), + (M.prototype.findPlaceforPrunedNode = function (k) { + var I, + C, + O = k[0]; + if ((O == k[1].source ? (C = k[1].target) : (C = k[1].source), m.PURE_INCREMENTAL)) + O.setCenter( + C.getCenterX() + k[3].getWidth(), + C.getCenterY() + k[3].getHeight() + ); + else { + var D = C.startX, + P = C.finishX, + F = C.startY, + B = C.finishY, + $ = 0, + z = 0, + Y = 0, + Q = 0, + X = [$, Y, z, Q]; + if (F > 0) + for (var ie = D; ie <= P; ie++) + X[0] += this.grid[ie][F - 1].length + this.grid[ie][F].length - 1; + if (P < this.grid.length - 1) + for (var ie = F; ie <= B; ie++) + X[1] += this.grid[P + 1][ie].length + this.grid[P][ie].length - 1; + if (B < this.grid[0].length - 1) + for (var ie = D; ie <= P; ie++) + X[2] += this.grid[ie][B + 1].length + this.grid[ie][B].length - 1; + if (D > 0) + for (var ie = F; ie <= B; ie++) + X[3] += this.grid[D - 1][ie].length + this.grid[D][ie].length - 1; + for (var j = T.MAX_VALUE, J, Z, H = 0; H < X.length; H++) + X[H] < j ? ((j = X[H]), (J = 1), (Z = H)) : X[H] == j && J++; + if (J == 3 && j == 0) + X[0] == 0 && X[1] == 0 && X[2] == 0 + ? (I = 1) + : X[0] == 0 && X[1] == 0 && X[3] == 0 + ? (I = 0) + : X[0] == 0 && X[2] == 0 && X[3] == 0 + ? (I = 3) + : X[1] == 0 && X[2] == 0 && X[3] == 0 && (I = 2); + else if (J == 2 && j == 0) { + var q = Math.floor(Math.random() * 2); + X[0] == 0 && X[1] == 0 + ? q == 0 + ? (I = 0) + : (I = 1) + : X[0] == 0 && X[2] == 0 + ? q == 0 + ? (I = 0) + : (I = 2) + : X[0] == 0 && X[3] == 0 + ? q == 0 + ? (I = 0) + : (I = 3) + : X[1] == 0 && X[2] == 0 + ? q == 0 + ? (I = 1) + : (I = 2) + : X[1] == 0 && X[3] == 0 + ? q == 0 + ? (I = 1) + : (I = 3) + : q == 0 + ? (I = 2) + : (I = 3); + } else if (J == 4 && j == 0) { + var q = Math.floor(Math.random() * 4); + I = q; + } else I = Z; + I == 0 + ? O.setCenter( + C.getCenterX(), + C.getCenterY() - + C.getHeight() / 2 - + y.DEFAULT_EDGE_LENGTH - + O.getHeight() / 2 + ) + : I == 1 + ? O.setCenter( + C.getCenterX() + + C.getWidth() / 2 + + y.DEFAULT_EDGE_LENGTH + + O.getWidth() / 2, + C.getCenterY() + ) + : I == 2 + ? O.setCenter( + C.getCenterX(), + C.getCenterY() + + C.getHeight() / 2 + + y.DEFAULT_EDGE_LENGTH + + O.getHeight() / 2 + ) + : O.setCenter( + C.getCenterX() - + C.getWidth() / 2 - + y.DEFAULT_EDGE_LENGTH - + O.getWidth() / 2, + C.getCenterY() + ); + } + }), + (a.exports = M); + }, + 991: (a, s, l) => { + var u = l(551).FDLayoutNode, + h = l(551).IMath; + function f(p, m, g, y) { + u.call(this, p, m, g, y); + } + o(f, 'CoSENode'), (f.prototype = Object.create(u.prototype)); + for (var d in u) f[d] = u[d]; + (f.prototype.calculateDisplacement = function () { + var p = this.graphManager.getLayout(); + this.getChild() != null && this.fixedNodeWeight + ? ((this.displacementX += + (p.coolingFactor * + (this.springForceX + this.repulsionForceX + this.gravitationForceX)) / + this.fixedNodeWeight), + (this.displacementY += + (p.coolingFactor * + (this.springForceY + this.repulsionForceY + this.gravitationForceY)) / + this.fixedNodeWeight)) + : ((this.displacementX += + (p.coolingFactor * + (this.springForceX + this.repulsionForceX + this.gravitationForceX)) / + this.noOfChildren), + (this.displacementY += + (p.coolingFactor * + (this.springForceY + this.repulsionForceY + this.gravitationForceY)) / + this.noOfChildren)), + Math.abs(this.displacementX) > p.coolingFactor * p.maxNodeDisplacement && + (this.displacementX = + p.coolingFactor * p.maxNodeDisplacement * h.sign(this.displacementX)), + Math.abs(this.displacementY) > p.coolingFactor * p.maxNodeDisplacement && + (this.displacementY = + p.coolingFactor * p.maxNodeDisplacement * h.sign(this.displacementY)), + this.child && + this.child.getNodes().length > 0 && + this.propogateDisplacementToChildren(this.displacementX, this.displacementY); + }), + (f.prototype.propogateDisplacementToChildren = function (p, m) { + for (var g = this.getChild().getNodes(), y, v = 0; v < g.length; v++) + (y = g[v]), + y.getChild() == null + ? ((y.displacementX += p), (y.displacementY += m)) + : y.propogateDisplacementToChildren(p, m); + }), + (f.prototype.move = function () { + var p = this.graphManager.getLayout(); + (this.child == null || this.child.getNodes().length == 0) && + (this.moveBy(this.displacementX, this.displacementY), + (p.totalDisplacement += + Math.abs(this.displacementX) + Math.abs(this.displacementY))), + (this.springForceX = 0), + (this.springForceY = 0), + (this.repulsionForceX = 0), + (this.repulsionForceY = 0), + (this.gravitationForceX = 0), + (this.gravitationForceY = 0), + (this.displacementX = 0), + (this.displacementY = 0); + }), + (f.prototype.setPred1 = function (p) { + this.pred1 = p; + }), + (f.prototype.getPred1 = function () { + return pred1; + }), + (f.prototype.getPred2 = function () { + return pred2; + }), + (f.prototype.setNext = function (p) { + this.next = p; + }), + (f.prototype.getNext = function () { + return next; + }), + (f.prototype.setProcessed = function (p) { + this.processed = p; + }), + (f.prototype.isProcessed = function () { + return processed; + }), + (a.exports = f); + }, + 902: (a, s, l) => { + function u(g) { + if (Array.isArray(g)) { + for (var y = 0, v = Array(g.length); y < g.length; y++) v[y] = g[y]; + return v; + } else return Array.from(g); + } + o(u, '_toConsumableArray'); + var h = l(806), + f = l(551).LinkedList, + d = l(551).Matrix, + p = l(551).SVD; + function m() {} + o(m, 'ConstraintHandler'), + (m.handleConstraints = function (g) { + var y = {}; + (y.fixedNodeConstraint = g.constraints.fixedNodeConstraint), + (y.alignmentConstraint = g.constraints.alignmentConstraint), + (y.relativePlacementConstraint = g.constraints.relativePlacementConstraint); + for ( + var v = new Map(), + x = new Map(), + b = [], + w = [], + S = g.getAllNodes(), + T = 0, + E = 0; + E < S.length; + E++ + ) { + var _ = S[E]; + _.getChild() == null && + (x.set(_.id, T++), + b.push(_.getCenterX()), + w.push(_.getCenterY()), + v.set(_.id, _)); + } + y.relativePlacementConstraint && + y.relativePlacementConstraint.forEach(function (ne) { + !ne.gap && + ne.gap != 0 && + (ne.left + ? (ne.gap = + h.DEFAULT_EDGE_LENGTH + + v.get(ne.left).getWidth() / 2 + + v.get(ne.right).getWidth() / 2) + : (ne.gap = + h.DEFAULT_EDGE_LENGTH + + v.get(ne.top).getHeight() / 2 + + v.get(ne.bottom).getHeight() / 2)); + }); + var A = o(function (ae, we) { + return { x: ae.x - we.x, y: ae.y - we.y }; + }, 'calculatePositionDiff'), + L = o(function (ae) { + var we = 0, + Te = 0; + return ( + ae.forEach(function (Ce) { + (we += b[x.get(Ce)]), (Te += w[x.get(Ce)]); + }), + { x: we / ae.size, y: Te / ae.size } + ); + }, 'calculateAvgPosition'), + M = o(function (ae, we, Te, Ce, Ae) { + function Ge(tt, Ye) { + var Je = new Set(tt), + Ve = !0, + je = !1, + kt = void 0; + try { + for ( + var at = Ye[Symbol.iterator](), xt; + !(Ve = (xt = at.next()).done); + Ve = !0 + ) { + var it = xt.value; + Je.add(it); + } + } catch (dt) { + (je = !0), (kt = dt); + } finally { + try { + !Ve && at.return && at.return(); + } finally { + if (je) throw kt; + } + } + return Je; + } + o(Ge, 'setUnion'); + var Me = new Map(); + ae.forEach(function (tt, Ye) { + Me.set(Ye, 0); + }), + ae.forEach(function (tt, Ye) { + tt.forEach(function (Je) { + Me.set(Je.id, Me.get(Je.id) + 1); + }); + }); + var ye = new Map(), + He = new Map(), + ze = new f(); + Me.forEach(function (tt, Ye) { + tt == 0 + ? (ze.push(Ye), + Te || + (we == 'horizontal' + ? ye.set(Ye, x.has(Ye) ? b[x.get(Ye)] : Ce.get(Ye)) + : ye.set(Ye, x.has(Ye) ? w[x.get(Ye)] : Ce.get(Ye)))) + : ye.set(Ye, Number.NEGATIVE_INFINITY), + Te && He.set(Ye, new Set([Ye])); + }), + Te && + Ae.forEach(function (tt) { + var Ye = []; + if ( + (tt.forEach(function (je) { + Te.has(je) && Ye.push(je); + }), + Ye.length > 0) + ) { + var Je = 0; + Ye.forEach(function (je) { + we == 'horizontal' + ? (ye.set( + je, + x.has(je) ? b[x.get(je)] : Ce.get(je) + ), + (Je += ye.get(je))) + : (ye.set( + je, + x.has(je) ? w[x.get(je)] : Ce.get(je) + ), + (Je += ye.get(je))); + }), + (Je = Je / Ye.length), + tt.forEach(function (je) { + Te.has(je) || ye.set(je, Je); + }); + } else { + var Ve = 0; + tt.forEach(function (je) { + we == 'horizontal' + ? (Ve += x.has(je) ? b[x.get(je)] : Ce.get(je)) + : (Ve += x.has(je) ? w[x.get(je)] : Ce.get(je)); + }), + (Ve = Ve / tt.length), + tt.forEach(function (je) { + ye.set(je, Ve); + }); + } + }); + for ( + var Ze = o(function () { + var Ye = ze.shift(), + Je = ae.get(Ye); + Je.forEach(function (Ve) { + if (ye.get(Ve.id) < ye.get(Ye) + Ve.gap) + if (Te && Te.has(Ve.id)) { + var je = void 0; + if ( + (we == 'horizontal' + ? (je = x.has(Ve.id) + ? b[x.get(Ve.id)] + : Ce.get(Ve.id)) + : (je = x.has(Ve.id) + ? w[x.get(Ve.id)] + : Ce.get(Ve.id)), + ye.set(Ve.id, je), + je < ye.get(Ye) + Ve.gap) + ) { + var kt = ye.get(Ye) + Ve.gap - je; + He.get(Ye).forEach(function (at) { + ye.set(at, ye.get(at) - kt); + }); + } + } else ye.set(Ve.id, ye.get(Ye) + Ve.gap); + Me.set(Ve.id, Me.get(Ve.id) - 1), + Me.get(Ve.id) == 0 && ze.push(Ve.id), + Te && He.set(Ve.id, Ge(He.get(Ye), He.get(Ve.id))); + }); + }, '_loop'); + ze.length != 0; + + ) + Ze(); + if (Te) { + var gt = new Set(); + ae.forEach(function (tt, Ye) { + tt.length == 0 && gt.add(Ye); + }); + var yt = []; + He.forEach(function (tt, Ye) { + if (gt.has(Ye)) { + var Je = !1, + Ve = !0, + je = !1, + kt = void 0; + try { + for ( + var at = tt[Symbol.iterator](), xt; + !(Ve = (xt = at.next()).done); + Ve = !0 + ) { + var it = xt.value; + Te.has(it) && (Je = !0); + } + } catch (It) { + (je = !0), (kt = It); + } finally { + try { + !Ve && at.return && at.return(); + } finally { + if (je) throw kt; + } + } + if (!Je) { + var dt = !1, + lt = void 0; + yt.forEach(function (It, mt) { + It.has([].concat(u(tt))[0]) && ((dt = !0), (lt = mt)); + }), + dt + ? tt.forEach(function (It) { + yt[lt].add(It); + }) + : yt.push(new Set(tt)); + } + } + }), + yt.forEach(function (tt, Ye) { + var Je = Number.POSITIVE_INFINITY, + Ve = Number.POSITIVE_INFINITY, + je = Number.NEGATIVE_INFINITY, + kt = Number.NEGATIVE_INFINITY, + at = !0, + xt = !1, + it = void 0; + try { + for ( + var dt = tt[Symbol.iterator](), lt; + !(at = (lt = dt.next()).done); + at = !0 + ) { + var It = lt.value, + mt = void 0; + we == 'horizontal' + ? (mt = x.has(It) ? b[x.get(It)] : Ce.get(It)) + : (mt = x.has(It) ? w[x.get(It)] : Ce.get(It)); + var St = ye.get(It); + mt < Je && (Je = mt), + mt > je && (je = mt), + St < Ve && (Ve = St), + St > kt && (kt = St); + } + } catch (Qn) { + (xt = !0), (it = Qn); + } finally { + try { + !at && dt.return && dt.return(); + } finally { + if (xt) throw it; + } + } + var gr = (Je + je) / 2 - (Ve + kt) / 2, + xn = !0, + jt = !1, + rn = void 0; + try { + for ( + var Er = tt[Symbol.iterator](), Kn; + !(xn = (Kn = Er.next()).done); + xn = !0 + ) { + var hn = Kn.value; + ye.set(hn, ye.get(hn) + gr); + } + } catch (Qn) { + (jt = !0), (rn = Qn); + } finally { + try { + !xn && Er.return && Er.return(); + } finally { + if (jt) throw rn; + } + } + }); + } + return ye; + }, 'findAppropriatePositionForRelativePlacement'), + N = o(function (ae) { + var we = 0, + Te = 0, + Ce = 0, + Ae = 0; + if ( + (ae.forEach(function (He) { + He.left + ? b[x.get(He.left)] - b[x.get(He.right)] >= 0 + ? we++ + : Te++ + : w[x.get(He.top)] - w[x.get(He.bottom)] >= 0 + ? Ce++ + : Ae++; + }), + we > Te && Ce > Ae) + ) + for (var Ge = 0; Ge < x.size; Ge++) + (b[Ge] = -1 * b[Ge]), (w[Ge] = -1 * w[Ge]); + else if (we > Te) for (var Me = 0; Me < x.size; Me++) b[Me] = -1 * b[Me]; + else if (Ce > Ae) for (var ye = 0; ye < x.size; ye++) w[ye] = -1 * w[ye]; + }, 'applyReflectionForRelativePlacement'), + k = o(function (ae) { + var we = [], + Te = new f(), + Ce = new Set(), + Ae = 0; + return ( + ae.forEach(function (Ge, Me) { + if (!Ce.has(Me)) { + we[Ae] = []; + var ye = Me; + for ( + Te.push(ye), Ce.add(ye), we[Ae].push(ye); + Te.length != 0; + + ) { + ye = Te.shift(); + var He = ae.get(ye); + He.forEach(function (ze) { + Ce.has(ze.id) || + (Te.push(ze.id), Ce.add(ze.id), we[Ae].push(ze.id)); + }); + } + Ae++; + } + }), + we + ); + }, 'findComponents'), + I = o(function (ae) { + var we = new Map(); + return ( + ae.forEach(function (Te, Ce) { + we.set(Ce, []); + }), + ae.forEach(function (Te, Ce) { + Te.forEach(function (Ae) { + we.get(Ce).push(Ae), + we.get(Ae.id).push({ + id: Ce, + gap: Ae.gap, + direction: Ae.direction + }); + }); + }), + we + ); + }, 'dagToUndirected'), + C = o(function (ae) { + var we = new Map(); + return ( + ae.forEach(function (Te, Ce) { + we.set(Ce, []); + }), + ae.forEach(function (Te, Ce) { + Te.forEach(function (Ae) { + we.get(Ae.id).push({ + id: Ce, + gap: Ae.gap, + direction: Ae.direction + }); + }); + }), + we + ); + }, 'dagToReversed'), + O = [], + D = [], + P = !1, + F = !1, + B = new Set(), + $ = new Map(), + z = new Map(), + Y = []; + if ( + (y.fixedNodeConstraint && + y.fixedNodeConstraint.forEach(function (ne) { + B.add(ne.nodeId); + }), + y.relativePlacementConstraint && + (y.relativePlacementConstraint.forEach(function (ne) { + ne.left + ? ($.has(ne.left) + ? $.get(ne.left).push({ + id: ne.right, + gap: ne.gap, + direction: 'horizontal' + }) + : $.set(ne.left, [ + { + id: ne.right, + gap: ne.gap, + direction: 'horizontal' + } + ]), + $.has(ne.right) || $.set(ne.right, [])) + : ($.has(ne.top) + ? $.get(ne.top).push({ + id: ne.bottom, + gap: ne.gap, + direction: 'vertical' + }) + : $.set(ne.top, [ + { + id: ne.bottom, + gap: ne.gap, + direction: 'vertical' + } + ]), + $.has(ne.bottom) || $.set(ne.bottom, [])); + }), + (z = I($)), + (Y = k(z))), + h.TRANSFORM_ON_CONSTRAINT_HANDLING) + ) { + if (y.fixedNodeConstraint && y.fixedNodeConstraint.length > 1) + y.fixedNodeConstraint.forEach(function (ne, ae) { + (O[ae] = [ne.position.x, ne.position.y]), + (D[ae] = [b[x.get(ne.nodeId)], w[x.get(ne.nodeId)]]); + }), + (P = !0); + else if (y.alignmentConstraint) + (function () { + var ne = 0; + if (y.alignmentConstraint.vertical) { + for ( + var ae = y.alignmentConstraint.vertical, + we = o(function (ye) { + var He = new Set(); + ae[ye].forEach(function (gt) { + He.add(gt); + }); + var ze = new Set( + [].concat(u(He)).filter(function (gt) { + return B.has(gt); + }) + ), + Ze = void 0; + ze.size > 0 + ? (Ze = b[x.get(ze.values().next().value)]) + : (Ze = L(He).x), + ae[ye].forEach(function (gt) { + (O[ne] = [Ze, w[x.get(gt)]]), + (D[ne] = [b[x.get(gt)], w[x.get(gt)]]), + ne++; + }); + }, '_loop2'), + Te = 0; + Te < ae.length; + Te++ + ) + we(Te); + P = !0; + } + if (y.alignmentConstraint.horizontal) { + for ( + var Ce = y.alignmentConstraint.horizontal, + Ae = o(function (ye) { + var He = new Set(); + Ce[ye].forEach(function (gt) { + He.add(gt); + }); + var ze = new Set( + [].concat(u(He)).filter(function (gt) { + return B.has(gt); + }) + ), + Ze = void 0; + ze.size > 0 + ? (Ze = b[x.get(ze.values().next().value)]) + : (Ze = L(He).y), + Ce[ye].forEach(function (gt) { + (O[ne] = [b[x.get(gt)], Ze]), + (D[ne] = [b[x.get(gt)], w[x.get(gt)]]), + ne++; + }); + }, '_loop3'), + Ge = 0; + Ge < Ce.length; + Ge++ + ) + Ae(Ge); + P = !0; + } + y.relativePlacementConstraint && (F = !0); + })(); + else if (y.relativePlacementConstraint) { + for (var Q = 0, X = 0, ie = 0; ie < Y.length; ie++) + Y[ie].length > Q && ((Q = Y[ie].length), (X = ie)); + if (Q < z.size / 2) N(y.relativePlacementConstraint), (P = !1), (F = !1); + else { + var j = new Map(), + J = new Map(), + Z = []; + Y[X].forEach(function (ne) { + $.get(ne).forEach(function (ae) { + ae.direction == 'horizontal' + ? (j.has(ne) ? j.get(ne).push(ae) : j.set(ne, [ae]), + j.has(ae.id) || j.set(ae.id, []), + Z.push({ left: ne, right: ae.id })) + : (J.has(ne) ? J.get(ne).push(ae) : J.set(ne, [ae]), + J.has(ae.id) || J.set(ae.id, []), + Z.push({ top: ne, bottom: ae.id })); + }); + }), + N(Z), + (F = !1); + var H = M(j, 'horizontal'), + q = M(J, 'vertical'); + Y[X].forEach(function (ne, ae) { + (D[ae] = [b[x.get(ne)], w[x.get(ne)]]), + (O[ae] = []), + H.has(ne) ? (O[ae][0] = H.get(ne)) : (O[ae][0] = b[x.get(ne)]), + q.has(ne) ? (O[ae][1] = q.get(ne)) : (O[ae][1] = w[x.get(ne)]); + }), + (P = !0); + } + } + if (P) { + for ( + var K = void 0, se = d.transpose(O), ce = d.transpose(D), ue = 0; + ue < se.length; + ue++ + ) + (se[ue] = d.multGamma(se[ue])), (ce[ue] = d.multGamma(ce[ue])); + var te = d.multMat(se, d.transpose(ce)), + De = p.svd(te); + K = d.multMat(De.V, d.transpose(De.U)); + for (var oe = 0; oe < x.size; oe++) { + var ke = [b[oe], w[oe]], + Ie = [K[0][0], K[1][0]], + Se = [K[0][1], K[1][1]]; + (b[oe] = d.dotProduct(ke, Ie)), (w[oe] = d.dotProduct(ke, Se)); + } + F && N(y.relativePlacementConstraint); + } + } + if (h.ENFORCE_CONSTRAINTS) { + if (y.fixedNodeConstraint && y.fixedNodeConstraint.length > 0) { + var Ue = { x: 0, y: 0 }; + y.fixedNodeConstraint.forEach(function (ne, ae) { + var we = { + x: b[x.get(ne.nodeId)], + y: w[x.get(ne.nodeId)] + }, + Te = ne.position, + Ce = A(Te, we); + (Ue.x += Ce.x), (Ue.y += Ce.y); + }), + (Ue.x /= y.fixedNodeConstraint.length), + (Ue.y /= y.fixedNodeConstraint.length), + b.forEach(function (ne, ae) { + b[ae] += Ue.x; + }), + w.forEach(function (ne, ae) { + w[ae] += Ue.y; + }), + y.fixedNodeConstraint.forEach(function (ne) { + (b[x.get(ne.nodeId)] = ne.position.x), + (w[x.get(ne.nodeId)] = ne.position.y); + }); + } + if (y.alignmentConstraint) { + if (y.alignmentConstraint.vertical) + for ( + var Pe = y.alignmentConstraint.vertical, + _e = o(function (ae) { + var we = new Set(); + Pe[ae].forEach(function (Ae) { + we.add(Ae); + }); + var Te = new Set( + [].concat(u(we)).filter(function (Ae) { + return B.has(Ae); + }) + ), + Ce = void 0; + Te.size > 0 + ? (Ce = b[x.get(Te.values().next().value)]) + : (Ce = L(we).x), + we.forEach(function (Ae) { + B.has(Ae) || (b[x.get(Ae)] = Ce); + }); + }, '_loop4'), + me = 0; + me < Pe.length; + me++ + ) + _e(me); + if (y.alignmentConstraint.horizontal) + for ( + var W = y.alignmentConstraint.horizontal, + fe = o(function (ae) { + var we = new Set(); + W[ae].forEach(function (Ae) { + we.add(Ae); + }); + var Te = new Set( + [].concat(u(we)).filter(function (Ae) { + return B.has(Ae); + }) + ), + Ce = void 0; + Te.size > 0 + ? (Ce = w[x.get(Te.values().next().value)]) + : (Ce = L(we).y), + we.forEach(function (Ae) { + B.has(Ae) || (w[x.get(Ae)] = Ce); + }); + }, '_loop5'), + ge = 0; + ge < W.length; + ge++ + ) + fe(ge); + } + y.relativePlacementConstraint && + (function () { + var ne = new Map(), + ae = new Map(), + we = new Map(), + Te = new Map(), + Ce = new Map(), + Ae = new Map(), + Ge = new Set(), + Me = new Set(); + if ( + (B.forEach(function (Ot) { + Ge.add(Ot), Me.add(Ot); + }), + y.alignmentConstraint) + ) { + if (y.alignmentConstraint.vertical) + for ( + var ye = y.alignmentConstraint.vertical, + He = o(function (pe) { + we.set('dummy' + pe, []), + ye[pe].forEach(function (ur) { + ne.set(ur, 'dummy' + pe), + we.get('dummy' + pe).push(ur), + B.has(ur) && Ge.add('dummy' + pe); + }), + Ce.set('dummy' + pe, b[x.get(ye[pe][0])]); + }, '_loop6'), + ze = 0; + ze < ye.length; + ze++ + ) + He(ze); + if (y.alignmentConstraint.horizontal) + for ( + var Ze = y.alignmentConstraint.horizontal, + gt = o(function (pe) { + Te.set('dummy' + pe, []), + Ze[pe].forEach(function (ur) { + ae.set(ur, 'dummy' + pe), + Te.get('dummy' + pe).push(ur), + B.has(ur) && Me.add('dummy' + pe); + }), + Ae.set('dummy' + pe, w[x.get(Ze[pe][0])]); + }, '_loop7'), + yt = 0; + yt < Ze.length; + yt++ + ) + gt(yt); + } + var tt = new Map(), + Ye = new Map(), + Je = o(function (pe) { + $.get(pe).forEach(function (ur) { + var be = void 0, + Ir = void 0; + ur.direction == 'horizontal' + ? ((be = ne.get(pe) ? ne.get(pe) : pe), + ne.get(ur.id) + ? (Ir = { + id: ne.get(ur.id), + gap: ur.gap, + direction: ur.direction + }) + : (Ir = ur), + tt.has(be) ? tt.get(be).push(Ir) : tt.set(be, [Ir]), + tt.has(Ir.id) || tt.set(Ir.id, [])) + : ((be = ae.get(pe) ? ae.get(pe) : pe), + ae.get(ur.id) + ? (Ir = { + id: ae.get(ur.id), + gap: ur.gap, + direction: ur.direction + }) + : (Ir = ur), + Ye.has(be) ? Ye.get(be).push(Ir) : Ye.set(be, [Ir]), + Ye.has(Ir.id) || Ye.set(Ir.id, [])); + }); + }, '_loop8'), + Ve = !0, + je = !1, + kt = void 0; + try { + for ( + var at = $.keys()[Symbol.iterator](), xt; + !(Ve = (xt = at.next()).done); + Ve = !0 + ) { + var it = xt.value; + Je(it); + } + } catch (Ot) { + (je = !0), (kt = Ot); + } finally { + try { + !Ve && at.return && at.return(); + } finally { + if (je) throw kt; + } + } + var dt = I(tt), + lt = I(Ye), + It = k(dt), + mt = k(lt), + St = C(tt), + gr = C(Ye), + xn = [], + jt = []; + It.forEach(function (Ot, pe) { + (xn[pe] = []), + Ot.forEach(function (ur) { + St.get(ur).length == 0 && xn[pe].push(ur); + }); + }), + mt.forEach(function (Ot, pe) { + (jt[pe] = []), + Ot.forEach(function (ur) { + gr.get(ur).length == 0 && jt[pe].push(ur); + }); + }); + var rn = M(tt, 'horizontal', Ge, Ce, xn), + Er = M(Ye, 'vertical', Me, Ae, jt), + Kn = o(function (pe) { + we.get(pe) + ? we.get(pe).forEach(function (ur) { + b[x.get(ur)] = rn.get(pe); + }) + : (b[x.get(pe)] = rn.get(pe)); + }, '_loop9'), + hn = !0, + Qn = !1, + on = void 0; + try { + for ( + var Rn = rn.keys()[Symbol.iterator](), Ha; + !(hn = (Ha = Rn.next()).done); + hn = !0 + ) { + var _a = Ha.value; + Kn(_a); + } + } catch (Ot) { + (Qn = !0), (on = Ot); + } finally { + try { + !hn && Rn.return && Rn.return(); + } finally { + if (Qn) throw on; + } + } + var To = o(function (pe) { + Te.get(pe) + ? Te.get(pe).forEach(function (ur) { + w[x.get(ur)] = Er.get(pe); + }) + : (w[x.get(pe)] = Er.get(pe)); + }, '_loop10'), + qi = !0, + ht = !1, + At = void 0; + try { + for ( + var $t = Er.keys()[Symbol.iterator](), rt; + !(qi = (rt = $t.next()).done); + qi = !0 + ) { + var _a = rt.value; + To(_a); + } + } catch (Ot) { + (ht = !0), (At = Ot); + } finally { + try { + !qi && $t.return && $t.return(); + } finally { + if (ht) throw At; + } + } + })(); + } + for (var re = 0; re < S.length; re++) { + var he = S[re]; + he.getChild() == null && he.setCenter(b[x.get(he.id)], w[x.get(he.id)]); + } + }), + (a.exports = m); + }, + 551: (a) => { + a.exports = t; + } + }, + r = {}; + function n(a) { + var s = r[a]; + if (s !== void 0) return s.exports; + var l = (r[a] = { exports: {} }); + return e[a](l, l.exports, n), l.exports; + } + o(n, '__webpack_require__'); + var i = n(45); + return i; + })(); + }); + }); + var X1e = gi((xb, JB) => { + 'use strict'; + o(function (e, r) { + typeof xb == 'object' && typeof JB == 'object' + ? (JB.exports = r(ZB())) + : typeof define == 'function' && define.amd + ? define(['cose-base'], r) + : typeof xb == 'object' + ? (xb.cytoscapeFcose = r(ZB())) + : (e.cytoscapeFcose = r(e.coseBase)); + }, 'webpackUniversalModuleDefinition')(xb, function (t) { + return (() => { + 'use strict'; + var e = { + 658: (a) => { + a.exports = + Object.assign != null + ? Object.assign.bind(Object) + : function (s) { + for ( + var l = arguments.length, u = Array(l > 1 ? l - 1 : 0), h = 1; + h < l; + h++ + ) + u[h - 1] = arguments[h]; + return ( + u.forEach(function (f) { + Object.keys(f).forEach(function (d) { + return (s[d] = f[d]); + }); + }), + s + ); + }; + }, + 548: (a, s, l) => { + var u = (function () { + function d(p, m) { + var g = [], + y = !0, + v = !1, + x = void 0; + try { + for ( + var b = p[Symbol.iterator](), w; + !(y = (w = b.next()).done) && (g.push(w.value), !(m && g.length === m)); + y = !0 + ); + } catch (S) { + (v = !0), (x = S); + } finally { + try { + !y && b.return && b.return(); + } finally { + if (v) throw x; + } + } + return g; + } + return ( + o(d, 'sliceIterator'), + function (p, m) { + if (Array.isArray(p)) return p; + if (Symbol.iterator in Object(p)) return d(p, m); + throw new TypeError('Invalid attempt to destructure non-iterable instance'); + } + ); + })(), + h = l(140).layoutBase.LinkedList, + f = {}; + (f.getTopMostNodes = function (d) { + for (var p = {}, m = 0; m < d.length; m++) p[d[m].id()] = !0; + var g = d.filter(function (y, v) { + typeof y == 'number' && (y = v); + for (var x = y.parent()[0]; x != null; ) { + if (p[x.id()]) return !1; + x = x.parent()[0]; + } + return !0; + }); + return g; + }), + (f.connectComponents = function (d, p, m, g) { + var y = new h(), + v = new Set(), + x = [], + b = void 0, + w = void 0, + S = void 0, + T = !1, + E = 1, + _ = [], + A = [], + L = o(function () { + var N = d.collection(); + A.push(N); + var k = m[0], + I = d.collection(); + I.merge(k).merge(k.descendants().intersection(p)), + x.push(k), + I.forEach(function (D) { + y.push(D), v.add(D), N.merge(D); + }); + for ( + var C = o(function () { + k = y.shift(); + var P = d.collection(); + k.neighborhood() + .nodes() + .forEach(function (z) { + p.intersection(k.edgesWith(z)).length > 0 && P.merge(z); + }); + for (var F = 0; F < P.length; F++) { + var B = P[F]; + if ( + ((b = m.intersection(B.union(B.ancestors()))), + b != null && !v.has(b[0])) + ) { + var $ = b.union(b.descendants()); + $.forEach(function (z) { + y.push(z), v.add(z), N.merge(z), m.has(z) && x.push(z); + }); + } + } + }, '_loop2'); + y.length != 0; + + ) + C(); + if ( + (N.forEach(function (D) { + p.intersection(D.connectedEdges()).forEach(function (P) { + N.has(P.source()) && N.has(P.target()) && N.merge(P); + }); + }), + x.length == m.length && (T = !0), + !T || (T && E > 1)) + ) { + (w = x[0]), + (S = w.connectedEdges().length), + x.forEach(function (D) { + D.connectedEdges().length < S && + ((S = D.connectedEdges().length), (w = D)); + }), + _.push(w.id()); + var O = d.collection(); + O.merge(x[0]), + x.forEach(function (D) { + O.merge(D); + }), + (x = []), + (m = m.difference(O)), + E++; + } + }, '_loop'); + do L(); + while (!T); + return g && _.length > 0 && g.set('dummy' + (g.size + 1), _), A; + }), + (f.relocateComponent = function (d, p, m) { + if (!m.fixedNodeConstraint) { + var g = Number.POSITIVE_INFINITY, + y = Number.NEGATIVE_INFINITY, + v = Number.POSITIVE_INFINITY, + x = Number.NEGATIVE_INFINITY; + if (m.quality == 'draft') { + var b = !0, + w = !1, + S = void 0; + try { + for ( + var T = p.nodeIndexes[Symbol.iterator](), E; + !(b = (E = T.next()).done); + b = !0 + ) { + var _ = E.value, + A = u(_, 2), + L = A[0], + M = A[1], + N = m.cy.getElementById(L); + if (N) { + var k = N.boundingBox(), + I = p.xCoords[M] - k.w / 2, + C = p.xCoords[M] + k.w / 2, + O = p.yCoords[M] - k.h / 2, + D = p.yCoords[M] + k.h / 2; + I < g && (g = I), + C > y && (y = C), + O < v && (v = O), + D > x && (x = D); + } + } + } catch (z) { + (w = !0), (S = z); + } finally { + try { + !b && T.return && T.return(); + } finally { + if (w) throw S; + } + } + var P = d.x - (y + g) / 2, + F = d.y - (x + v) / 2; + (p.xCoords = p.xCoords.map(function (z) { + return z + P; + })), + (p.yCoords = p.yCoords.map(function (z) { + return z + F; + })); + } else { + Object.keys(p).forEach(function (z) { + var Y = p[z], + Q = Y.getRect().x, + X = Y.getRect().x + Y.getRect().width, + ie = Y.getRect().y, + j = Y.getRect().y + Y.getRect().height; + Q < g && (g = Q), + X > y && (y = X), + ie < v && (v = ie), + j > x && (x = j); + }); + var B = d.x - (y + g) / 2, + $ = d.y - (x + v) / 2; + Object.keys(p).forEach(function (z) { + var Y = p[z]; + Y.setCenter(Y.getCenterX() + B, Y.getCenterY() + $); + }); + } + } + }), + (f.calcBoundingBox = function (d, p, m, g) { + for ( + var y = Number.MAX_SAFE_INTEGER, + v = Number.MIN_SAFE_INTEGER, + x = Number.MAX_SAFE_INTEGER, + b = Number.MIN_SAFE_INTEGER, + w = void 0, + S = void 0, + T = void 0, + E = void 0, + _ = d.descendants().not(':parent'), + A = _.length, + L = 0; + L < A; + L++ + ) { + var M = _[L]; + (w = p[g.get(M.id())] - M.width() / 2), + (S = p[g.get(M.id())] + M.width() / 2), + (T = m[g.get(M.id())] - M.height() / 2), + (E = m[g.get(M.id())] + M.height() / 2), + y > w && (y = w), + v < S && (v = S), + x > T && (x = T), + b < E && (b = E); + } + var N = {}; + return (N.topLeftX = y), (N.topLeftY = x), (N.width = v - y), (N.height = b - x), N; + }), + (f.calcParentsWithoutChildren = function (d, p) { + var m = d.collection(); + return ( + p.nodes(':parent').forEach(function (g) { + var y = !1; + g.children().forEach(function (v) { + v.css('display') != 'none' && (y = !0); + }), + y || m.merge(g); + }), + m + ); + }), + (a.exports = f); + }, + 816: (a, s, l) => { + var u = l(548), + h = l(140).CoSELayout, + f = l(140).CoSENode, + d = l(140).layoutBase.PointD, + p = l(140).layoutBase.DimensionD, + m = l(140).layoutBase.LayoutConstants, + g = l(140).layoutBase.FDLayoutConstants, + y = l(140).CoSEConstants, + v = o(function (b, w) { + var S = b.cy, + T = b.eles, + E = T.nodes(), + _ = T.edges(), + A = void 0, + L = void 0, + M = void 0, + N = {}; + b.randomize && ((A = w.nodeIndexes), (L = w.xCoords), (M = w.yCoords)); + var k = o(function (z) { + return typeof z == 'function'; + }, 'isFn'), + I = o(function (z, Y) { + return k(z) ? z(Y) : z; + }, 'optFn'), + C = u.calcParentsWithoutChildren(S, T), + O = o(function $(z, Y, Q, X) { + for (var ie = Y.length, j = 0; j < ie; j++) { + var J = Y[j], + Z = null; + J.intersection(C).length == 0 && (Z = J.children()); + var H = void 0, + q = J.layoutDimensions({ + nodeDimensionsIncludeLabels: X.nodeDimensionsIncludeLabels + }); + if (J.outerWidth() != null && J.outerHeight() != null) + if (X.randomize) + if (!J.isParent()) + H = z.add( + new f( + Q.graphManager, + new d( + L[A.get(J.id())] - q.w / 2, + M[A.get(J.id())] - q.h / 2 + ), + new p(parseFloat(q.w), parseFloat(q.h)) + ) + ); + else { + var K = u.calcBoundingBox(J, L, M, A); + J.intersection(C).length == 0 + ? (H = z.add( + new f( + Q.graphManager, + new d(K.topLeftX, K.topLeftY), + new p(K.width, K.height) + ) + )) + : (H = z.add( + new f( + Q.graphManager, + new d(K.topLeftX, K.topLeftY), + new p(parseFloat(q.w), parseFloat(q.h)) + ) + )); + } + else + H = z.add( + new f( + Q.graphManager, + new d( + J.position('x') - q.w / 2, + J.position('y') - q.h / 2 + ), + new p(parseFloat(q.w), parseFloat(q.h)) + ) + ); + else H = z.add(new f(this.graphManager)); + if ( + ((H.id = J.data('id')), + (H.nodeRepulsion = I(X.nodeRepulsion, J)), + (H.paddingLeft = parseInt(J.css('padding'))), + (H.paddingTop = parseInt(J.css('padding'))), + (H.paddingRight = parseInt(J.css('padding'))), + (H.paddingBottom = parseInt(J.css('padding'))), + X.nodeDimensionsIncludeLabels && + ((H.labelWidth = J.boundingBox({ + includeLabels: !0, + includeNodes: !1, + includeOverlays: !1 + }).w), + (H.labelHeight = J.boundingBox({ + includeLabels: !0, + includeNodes: !1, + includeOverlays: !1 + }).h), + (H.labelPosVertical = J.css('text-valign')), + (H.labelPosHorizontal = J.css('text-halign'))), + (N[J.data('id')] = H), + isNaN(H.rect.x) && (H.rect.x = 0), + isNaN(H.rect.y) && (H.rect.y = 0), + Z != null && Z.length > 0) + ) { + var se = void 0; + (se = Q.getGraphManager().add(Q.newGraph(), H)), $(se, Z, Q, X); + } + } + }, 'processChildrenList'), + D = o(function (z, Y, Q) { + for (var X = 0, ie = 0, j = 0; j < Q.length; j++) { + var J = Q[j], + Z = N[J.data('source')], + H = N[J.data('target')]; + if (Z && H && Z !== H && Z.getEdgesBetween(H).length == 0) { + var q = Y.add(z.newEdge(), Z, H); + (q.id = J.id()), + (q.idealLength = I(b.idealEdgeLength, J)), + (q.edgeElasticity = I(b.edgeElasticity, J)), + (X += q.idealLength), + ie++; + } + } + b.idealEdgeLength != null && + (ie > 0 + ? (y.DEFAULT_EDGE_LENGTH = g.DEFAULT_EDGE_LENGTH = X / ie) + : k(b.idealEdgeLength) + ? (y.DEFAULT_EDGE_LENGTH = g.DEFAULT_EDGE_LENGTH = 50) + : (y.DEFAULT_EDGE_LENGTH = g.DEFAULT_EDGE_LENGTH = + b.idealEdgeLength), + (y.MIN_REPULSION_DIST = g.MIN_REPULSION_DIST = + g.DEFAULT_EDGE_LENGTH / 10), + (y.DEFAULT_RADIAL_SEPARATION = g.DEFAULT_EDGE_LENGTH)); + }, 'processEdges'), + P = o(function (z, Y) { + Y.fixedNodeConstraint && + (z.constraints.fixedNodeConstraint = Y.fixedNodeConstraint), + Y.alignmentConstraint && + (z.constraints.alignmentConstraint = Y.alignmentConstraint), + Y.relativePlacementConstraint && + (z.constraints.relativePlacementConstraint = + Y.relativePlacementConstraint); + }, 'processConstraints'); + b.nestingFactor != null && + (y.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = g.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = + b.nestingFactor), + b.gravity != null && + (y.DEFAULT_GRAVITY_STRENGTH = g.DEFAULT_GRAVITY_STRENGTH = b.gravity), + b.numIter != null && (y.MAX_ITERATIONS = g.MAX_ITERATIONS = b.numIter), + b.gravityRange != null && + (y.DEFAULT_GRAVITY_RANGE_FACTOR = g.DEFAULT_GRAVITY_RANGE_FACTOR = + b.gravityRange), + b.gravityCompound != null && + (y.DEFAULT_COMPOUND_GRAVITY_STRENGTH = g.DEFAULT_COMPOUND_GRAVITY_STRENGTH = + b.gravityCompound), + b.gravityRangeCompound != null && + (y.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = + g.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = + b.gravityRangeCompound), + b.initialEnergyOnIncremental != null && + (y.DEFAULT_COOLING_FACTOR_INCREMENTAL = + g.DEFAULT_COOLING_FACTOR_INCREMENTAL = + b.initialEnergyOnIncremental), + b.tilingCompareBy != null && (y.TILING_COMPARE_BY = b.tilingCompareBy), + b.quality == 'proof' ? (m.QUALITY = 2) : (m.QUALITY = 0), + (y.NODE_DIMENSIONS_INCLUDE_LABELS = + g.NODE_DIMENSIONS_INCLUDE_LABELS = + m.NODE_DIMENSIONS_INCLUDE_LABELS = + b.nodeDimensionsIncludeLabels), + (y.DEFAULT_INCREMENTAL = + g.DEFAULT_INCREMENTAL = + m.DEFAULT_INCREMENTAL = + !b.randomize), + (y.ANIMATE = g.ANIMATE = m.ANIMATE = b.animate), + (y.TILE = b.tile), + (y.TILING_PADDING_VERTICAL = + typeof b.tilingPaddingVertical == 'function' + ? b.tilingPaddingVertical.call() + : b.tilingPaddingVertical), + (y.TILING_PADDING_HORIZONTAL = + typeof b.tilingPaddingHorizontal == 'function' + ? b.tilingPaddingHorizontal.call() + : b.tilingPaddingHorizontal), + (y.DEFAULT_INCREMENTAL = g.DEFAULT_INCREMENTAL = m.DEFAULT_INCREMENTAL = !0), + (y.PURE_INCREMENTAL = !b.randomize), + (m.DEFAULT_UNIFORM_LEAF_NODE_SIZES = b.uniformNodeDimensions), + b.step == 'transformed' && + ((y.TRANSFORM_ON_CONSTRAINT_HANDLING = !0), + (y.ENFORCE_CONSTRAINTS = !1), + (y.APPLY_LAYOUT = !1)), + b.step == 'enforced' && + ((y.TRANSFORM_ON_CONSTRAINT_HANDLING = !1), + (y.ENFORCE_CONSTRAINTS = !0), + (y.APPLY_LAYOUT = !1)), + b.step == 'cose' && + ((y.TRANSFORM_ON_CONSTRAINT_HANDLING = !1), + (y.ENFORCE_CONSTRAINTS = !1), + (y.APPLY_LAYOUT = !0)), + b.step == 'all' && + (b.randomize + ? (y.TRANSFORM_ON_CONSTRAINT_HANDLING = !0) + : (y.TRANSFORM_ON_CONSTRAINT_HANDLING = !1), + (y.ENFORCE_CONSTRAINTS = !0), + (y.APPLY_LAYOUT = !0)), + b.fixedNodeConstraint || b.alignmentConstraint || b.relativePlacementConstraint + ? (y.TREE_REDUCTION_ON_INCREMENTAL = !1) + : (y.TREE_REDUCTION_ON_INCREMENTAL = !0); + var F = new h(), + B = F.newGraphManager(); + return ( + O(B.addRoot(), u.getTopMostNodes(E), F, b), + D(F, B, _), + P(F, b), + F.runLayout(), + N + ); + }, 'coseLayout'); + a.exports = { coseLayout: v }; + }, + 212: (a, s, l) => { + var u = (function () { + function b(w, S) { + for (var T = 0; T < S.length; T++) { + var E = S[T]; + (E.enumerable = E.enumerable || !1), + (E.configurable = !0), + 'value' in E && (E.writable = !0), + Object.defineProperty(w, E.key, E); + } + } + return ( + o(b, 'defineProperties'), + function (w, S, T) { + return S && b(w.prototype, S), T && b(w, T), w; + } + ); + })(); + function h(b, w) { + if (!(b instanceof w)) throw new TypeError('Cannot call a class as a function'); + } + o(h, '_classCallCheck'); + var f = l(658), + d = l(548), + p = l(657), + m = p.spectralLayout, + g = l(816), + y = g.coseLayout, + v = Object.freeze({ + quality: 'default', + randomize: !0, + animate: !0, + animationDuration: 1e3, + animationEasing: void 0, + fit: !0, + padding: 30, + nodeDimensionsIncludeLabels: !1, + uniformNodeDimensions: !1, + packComponents: !0, + step: 'all', + samplingType: !0, + sampleSize: 25, + nodeSeparation: 75, + piTol: 1e-7, + nodeRepulsion: o(function (w) { + return 4500; + }, 'nodeRepulsion'), + idealEdgeLength: o(function (w) { + return 50; + }, 'idealEdgeLength'), + edgeElasticity: o(function (w) { + return 0.45; + }, 'edgeElasticity'), + nestingFactor: 0.1, + gravity: 0.25, + numIter: 2500, + tile: !0, + tilingCompareBy: void 0, + tilingPaddingVertical: 10, + tilingPaddingHorizontal: 10, + gravityRangeCompound: 1.5, + gravityCompound: 1, + gravityRange: 3.8, + initialEnergyOnIncremental: 0.3, + fixedNodeConstraint: void 0, + alignmentConstraint: void 0, + relativePlacementConstraint: void 0, + ready: o(function () {}, 'ready'), + stop: o(function () {}, 'stop') + }), + x = (function () { + function b(w) { + h(this, b), (this.options = f({}, v, w)); + } + return ( + o(b, 'Layout'), + u(b, [ + { + key: 'run', + value: o(function () { + var S = this, + T = this.options, + E = T.cy, + _ = T.eles, + A = [], + L = void 0, + M = void 0, + N = [], + k = void 0, + I = []; + T.fixedNodeConstraint && + (!Array.isArray(T.fixedNodeConstraint) || + T.fixedNodeConstraint.length == 0) && + (T.fixedNodeConstraint = void 0), + T.alignmentConstraint && + (T.alignmentConstraint.vertical && + (!Array.isArray(T.alignmentConstraint.vertical) || + T.alignmentConstraint.vertical.length == 0) && + (T.alignmentConstraint.vertical = void 0), + T.alignmentConstraint.horizontal && + (!Array.isArray(T.alignmentConstraint.horizontal) || + T.alignmentConstraint.horizontal.length == 0) && + (T.alignmentConstraint.horizontal = void 0)), + T.relativePlacementConstraint && + (!Array.isArray(T.relativePlacementConstraint) || + T.relativePlacementConstraint.length == 0) && + (T.relativePlacementConstraint = void 0); + var C = + T.fixedNodeConstraint || + T.alignmentConstraint || + T.relativePlacementConstraint; + C && ((T.tile = !1), (T.packComponents = !1)); + var O = void 0, + D = !1; + if ( + (E.layoutUtilities && + T.packComponents && + ((O = E.layoutUtilities('get')), + O || (O = E.layoutUtilities()), + (D = !0)), + _.nodes().length > 0) + ) + if (D) { + var B = d.getTopMostNodes(T.eles.nodes()); + if ( + ((k = d.connectComponents(E, T.eles, B)), + k.forEach(function (oe) { + var ke = oe.boundingBox(); + I.push({ + x: ke.x1 + ke.w / 2, + y: ke.y1 + ke.h / 2 + }); + }), + T.randomize && + k.forEach(function (oe) { + (T.eles = oe), A.push(m(T)); + }), + T.quality == 'default' || T.quality == 'proof') + ) { + var $ = E.collection(); + if (T.tile) { + var z = new Map(), + Y = [], + Q = [], + X = 0, + ie = { + nodeIndexes: z, + xCoords: Y, + yCoords: Q + }, + j = []; + if ( + (k.forEach(function (oe, ke) { + oe.edges().length == 0 && + (oe.nodes().forEach(function (Ie, Se) { + $.merge(oe.nodes()[Se]), + Ie.isParent() || + (ie.nodeIndexes.set( + oe.nodes()[Se].id(), + X++ + ), + ie.xCoords.push( + oe.nodes()[0].position() + .x + ), + ie.yCoords.push( + oe.nodes()[0].position() + .y + )); + }), + j.push(ke)); + }), + $.length > 1) + ) { + var J = $.boundingBox(); + I.push({ + x: J.x1 + J.w / 2, + y: J.y1 + J.h / 2 + }), + k.push($), + A.push(ie); + for (var Z = j.length - 1; Z >= 0; Z--) + k.splice(j[Z], 1), + A.splice(j[Z], 1), + I.splice(j[Z], 1); + } + } + k.forEach(function (oe, ke) { + (T.eles = oe), + N.push(y(T, A[ke])), + d.relocateComponent(I[ke], N[ke], T); + }); + } else + k.forEach(function (oe, ke) { + d.relocateComponent(I[ke], A[ke], T); + }); + var H = new Set(); + if (k.length > 1) { + var q = [], + K = _.filter(function (oe) { + return oe.css('display') == 'none'; + }); + k.forEach(function (oe, ke) { + var Ie = void 0; + if ( + (T.quality == 'draft' && + (Ie = A[ke].nodeIndexes), + oe.nodes().not(K).length > 0) + ) { + var Se = {}; + (Se.edges = []), (Se.nodes = []); + var Ue = void 0; + oe + .nodes() + .not(K) + .forEach(function (Pe) { + if (T.quality == 'draft') + if (!Pe.isParent()) + (Ue = Ie.get(Pe.id())), + Se.nodes.push({ + x: + A[ke].xCoords[Ue] - + Pe.boundingbox().w / + 2, + y: + A[ke].yCoords[Ue] - + Pe.boundingbox().h / + 2, + width: Pe.boundingbox() + .w, + height: Pe.boundingbox() + .h + }); + else { + var _e = d.calcBoundingBox( + Pe, + A[ke].xCoords, + A[ke].yCoords, + Ie + ); + Se.nodes.push({ + x: _e.topLeftX, + y: _e.topLeftY, + width: _e.width, + height: _e.height + }); + } + else + N[ke][Pe.id()] && + Se.nodes.push({ + x: N[ke][Pe.id()].getLeft(), + y: N[ke][Pe.id()].getTop(), + width: N[ke][ + Pe.id() + ].getWidth(), + height: N[ke][ + Pe.id() + ].getHeight() + }); + }), + oe.edges().forEach(function (Pe) { + var _e = Pe.source(), + me = Pe.target(); + if ( + _e.css('display') != 'none' && + me.css('display') != 'none' + ) + if (T.quality == 'draft') { + var W = Ie.get(_e.id()), + fe = Ie.get(me.id()), + ge = [], + re = []; + if (_e.isParent()) { + var he = d.calcBoundingBox( + _e, + A[ke].xCoords, + A[ke].yCoords, + Ie + ); + ge.push( + he.topLeftX + + he.width / 2 + ), + ge.push( + he.topLeftY + + he.height / 2 + ); + } else + ge.push(A[ke].xCoords[W]), + ge.push( + A[ke].yCoords[W] + ); + if (me.isParent()) { + var ne = d.calcBoundingBox( + me, + A[ke].xCoords, + A[ke].yCoords, + Ie + ); + re.push( + ne.topLeftX + + ne.width / 2 + ), + re.push( + ne.topLeftY + + ne.height / 2 + ); + } else + re.push(A[ke].xCoords[fe]), + re.push( + A[ke].yCoords[fe] + ); + Se.edges.push({ + startX: ge[0], + startY: ge[1], + endX: re[0], + endY: re[1] + }); + } else + N[ke][_e.id()] && + N[ke][me.id()] && + Se.edges.push({ + startX: N[ke][ + _e.id() + ].getCenterX(), + startY: N[ke][ + _e.id() + ].getCenterY(), + endX: N[ke][ + me.id() + ].getCenterX(), + endY: N[ke][ + me.id() + ].getCenterY() + }); + }), + Se.nodes.length > 0 && + (q.push(Se), H.add(ke)); + } + }); + var se = O.packComponents(q, T.randomize).shifts; + if (T.quality == 'draft') + A.forEach(function (oe, ke) { + var Ie = oe.xCoords.map(function (Ue) { + return Ue + se[ke].dx; + }), + Se = oe.yCoords.map(function (Ue) { + return Ue + se[ke].dy; + }); + (oe.xCoords = Ie), (oe.yCoords = Se); + }); + else { + var ce = 0; + H.forEach(function (oe) { + Object.keys(N[oe]).forEach(function (ke) { + var Ie = N[oe][ke]; + Ie.setCenter( + Ie.getCenterX() + se[ce].dx, + Ie.getCenterY() + se[ce].dy + ); + }), + ce++; + }); + } + } + } else { + var P = T.eles.boundingBox(); + if ( + (I.push({ + x: P.x1 + P.w / 2, + y: P.y1 + P.h / 2 + }), + T.randomize) + ) { + var F = m(T); + A.push(F); + } + T.quality == 'default' || T.quality == 'proof' + ? (N.push(y(T, A[0])), + d.relocateComponent(I[0], N[0], T)) + : d.relocateComponent(I[0], A[0], T); + } + var ue = o(function (ke, Ie) { + if (T.quality == 'default' || T.quality == 'proof') { + typeof ke == 'number' && (ke = Ie); + var Se = void 0, + Ue = void 0, + Pe = ke.data('id'); + return ( + N.forEach(function (me) { + Pe in me && + ((Se = { + x: me[Pe].getRect().getCenterX(), + y: me[Pe].getRect().getCenterY() + }), + (Ue = me[Pe])); + }), + T.nodeDimensionsIncludeLabels && + (Ue.labelWidth && + (Ue.labelPosHorizontal == 'left' + ? (Se.x += Ue.labelWidth / 2) + : Ue.labelPosHorizontal == 'right' && + (Se.x -= Ue.labelWidth / 2)), + Ue.labelHeight && + (Ue.labelPosVertical == 'top' + ? (Se.y += Ue.labelHeight / 2) + : Ue.labelPosVertical == 'bottom' && + (Se.y -= Ue.labelHeight / 2))), + Se == null && + (Se = { + x: ke.position('x'), + y: ke.position('y') + }), + { x: Se.x, y: Se.y } + ); + } else { + var _e = void 0; + return ( + A.forEach(function (me) { + var W = me.nodeIndexes.get(ke.id()); + W != null && + (_e = { + x: me.xCoords[W], + y: me.yCoords[W] + }); + }), + _e == null && + (_e = { + x: ke.position('x'), + y: ke.position('y') + }), + { x: _e.x, y: _e.y } + ); + } + }, 'getPositions'); + if (T.quality == 'default' || T.quality == 'proof' || T.randomize) { + var te = d.calcParentsWithoutChildren(E, _), + De = _.filter(function (oe) { + return oe.css('display') == 'none'; + }); + (T.eles = _.not(De)), + _.nodes().not(':parent').not(De).layoutPositions(S, T, ue), + te.length > 0 && + te.forEach(function (oe) { + oe.position(ue(oe)); + }); + } else + console.log( + "If randomize option is set to false, then quality option must be 'default' or 'proof'." + ); + }, 'run') + } + ]), + b + ); + })(); + a.exports = x; + }, + 657: (a, s, l) => { + var u = l(548), + h = l(140).layoutBase.Matrix, + f = l(140).layoutBase.SVD, + d = o(function (m) { + var g = m.cy, + y = m.eles, + v = y.nodes(), + x = y.nodes(':parent'), + b = new Map(), + w = new Map(), + S = new Map(), + T = [], + E = [], + _ = [], + A = [], + L = [], + M = [], + N = [], + k = [], + I = void 0, + C = void 0, + O = 1e8, + D = 1e-9, + P = m.piTol, + F = m.samplingType, + B = m.nodeSeparation, + $ = void 0, + z = o(function () { + for (var we = 0, Te = 0, Ce = !1; Te < $; ) { + (we = Math.floor(Math.random() * C)), (Ce = !1); + for (var Ae = 0; Ae < Te; Ae++) + if (A[Ae] == we) { + Ce = !0; + break; + } + if (!Ce) (A[Te] = we), Te++; + else continue; + } + }, 'randomSampleCR'), + Y = o(function (we, Te, Ce) { + for ( + var Ae = [], + Ge = 0, + Me = 0, + ye = 0, + He = void 0, + ze = [], + Ze = 0, + gt = 1, + yt = 0; + yt < C; + yt++ + ) + ze[yt] = O; + for (Ae[Me] = we, ze[we] = 0; Me >= Ge; ) { + ye = Ae[Ge++]; + for (var tt = T[ye], Ye = 0; Ye < tt.length; Ye++) + (He = w.get(tt[Ye])), + ze[He] == O && ((ze[He] = ze[ye] + 1), (Ae[++Me] = He)); + M[ye][Te] = ze[ye] * B; + } + if (Ce) { + for (var Je = 0; Je < C; Je++) M[Je][Te] < L[Je] && (L[Je] = M[Je][Te]); + for (var Ve = 0; Ve < C; Ve++) L[Ve] > Ze && ((Ze = L[Ve]), (gt = Ve)); + } + return gt; + }, 'BFS'), + Q = o(function (we) { + var Te = void 0; + if (we) { + (Te = Math.floor(Math.random() * C)), (I = Te); + for (var Ae = 0; Ae < C; Ae++) L[Ae] = O; + for (var Ge = 0; Ge < $; Ge++) (A[Ge] = Te), (Te = Y(Te, Ge, we)); + } else { + z(); + for (var Ce = 0; Ce < $; Ce++) Y(A[Ce], Ce, we, !1); + } + for (var Me = 0; Me < C; Me++) + for (var ye = 0; ye < $; ye++) M[Me][ye] *= M[Me][ye]; + for (var He = 0; He < $; He++) N[He] = []; + for (var ze = 0; ze < $; ze++) + for (var Ze = 0; Ze < $; Ze++) N[ze][Ze] = M[A[Ze]][ze]; + }, 'allBFS'), + X = o(function () { + for ( + var we = f.svd(N), + Te = we.S, + Ce = we.U, + Ae = we.V, + Ge = Te[0] * Te[0] * Te[0], + Me = [], + ye = 0; + ye < $; + ye++ + ) { + Me[ye] = []; + for (var He = 0; He < $; He++) + (Me[ye][He] = 0), + ye == He && + (Me[ye][He] = + Te[ye] / (Te[ye] * Te[ye] + Ge / (Te[ye] * Te[ye]))); + } + k = h.multMat(h.multMat(Ae, Me), h.transpose(Ce)); + }, 'sample'), + ie = o(function () { + for ( + var we = void 0, + Te = void 0, + Ce = [], + Ae = [], + Ge = [], + Me = [], + ye = 0; + ye < C; + ye++ + ) + (Ce[ye] = Math.random()), (Ae[ye] = Math.random()); + (Ce = h.normalize(Ce)), (Ae = h.normalize(Ae)); + for (var He = 0, ze = D, Ze = D, gt = void 0; ; ) { + He++; + for (var yt = 0; yt < C; yt++) Ge[yt] = Ce[yt]; + if ( + ((Ce = h.multGamma(h.multL(h.multGamma(Ge), M, k))), + (we = h.dotProduct(Ge, Ce)), + (Ce = h.normalize(Ce)), + (ze = h.dotProduct(Ge, Ce)), + (gt = Math.abs(ze / Ze)), + gt <= 1 + P && gt >= 1) + ) + break; + Ze = ze; + } + for (var tt = 0; tt < C; tt++) Ge[tt] = Ce[tt]; + for (He = 0, Ze = D; ; ) { + He++; + for (var Ye = 0; Ye < C; Ye++) Me[Ye] = Ae[Ye]; + if ( + ((Me = h.minusOp(Me, h.multCons(Ge, h.dotProduct(Ge, Me)))), + (Ae = h.multGamma(h.multL(h.multGamma(Me), M, k))), + (Te = h.dotProduct(Me, Ae)), + (Ae = h.normalize(Ae)), + (ze = h.dotProduct(Me, Ae)), + (gt = Math.abs(ze / Ze)), + gt <= 1 + P && gt >= 1) + ) + break; + Ze = ze; + } + for (var Je = 0; Je < C; Je++) Me[Je] = Ae[Je]; + (E = h.multCons(Ge, Math.sqrt(Math.abs(we)))), + (_ = h.multCons(Me, Math.sqrt(Math.abs(Te)))); + }, 'powerIteration'); + u.connectComponents(g, y, u.getTopMostNodes(v), b), + x.forEach(function (ae) { + u.connectComponents( + g, + y, + u.getTopMostNodes(ae.descendants().intersection(y)), + b + ); + }); + for (var j = 0, J = 0; J < v.length; J++) v[J].isParent() || w.set(v[J].id(), j++); + var Z = !0, + H = !1, + q = void 0; + try { + for ( + var K = b.keys()[Symbol.iterator](), se; + !(Z = (se = K.next()).done); + Z = !0 + ) { + var ce = se.value; + w.set(ce, j++); + } + } catch (ae) { + (H = !0), (q = ae); + } finally { + try { + !Z && K.return && K.return(); + } finally { + if (H) throw q; + } + } + for (var ue = 0; ue < w.size; ue++) T[ue] = []; + x.forEach(function (ae) { + for ( + var we = ae.children().intersection(y); + we.nodes(':childless').length == 0; + + ) + we = we.nodes()[0].children().intersection(y); + var Te = 0, + Ce = we.nodes(':childless')[0].connectedEdges().length; + we.nodes(':childless').forEach(function (Ae, Ge) { + Ae.connectedEdges().length < Ce && + ((Ce = Ae.connectedEdges().length), (Te = Ge)); + }), + S.set(ae.id(), we.nodes(':childless')[Te].id()); + }), + v.forEach(function (ae) { + var we = void 0; + ae.isParent() ? (we = w.get(S.get(ae.id()))) : (we = w.get(ae.id())), + ae + .neighborhood() + .nodes() + .forEach(function (Te) { + y.intersection(ae.edgesWith(Te)).length > 0 && + (Te.isParent() + ? T[we].push(S.get(Te.id())) + : T[we].push(Te.id())); + }); + }); + var te = o(function (we) { + var Te = w.get(we), + Ce = void 0; + b.get(we).forEach(function (Ae) { + g.getElementById(Ae).isParent() ? (Ce = S.get(Ae)) : (Ce = Ae), + T[Te].push(Ce), + T[w.get(Ce)].push(we); + }); + }, '_loop'), + De = !0, + oe = !1, + ke = void 0; + try { + for ( + var Ie = b.keys()[Symbol.iterator](), Se; + !(De = (Se = Ie.next()).done); + De = !0 + ) { + var Ue = Se.value; + te(Ue); + } + } catch (ae) { + (oe = !0), (ke = ae); + } finally { + try { + !De && Ie.return && Ie.return(); + } finally { + if (oe) throw ke; + } + } + C = w.size; + var Pe = void 0; + if (C > 2) { + $ = C < m.sampleSize ? C : m.sampleSize; + for (var _e = 0; _e < C; _e++) M[_e] = []; + for (var me = 0; me < $; me++) k[me] = []; + return ( + m.quality == 'draft' || m.step == 'all' + ? (Q(F), X(), ie(), (Pe = { nodeIndexes: w, xCoords: E, yCoords: _ })) + : (w.forEach(function (ae, we) { + E.push(g.getElementById(we).position('x')), + _.push(g.getElementById(we).position('y')); + }), + (Pe = { nodeIndexes: w, xCoords: E, yCoords: _ })), + Pe + ); + } else { + var W = w.keys(), + fe = g.getElementById(W.next().value), + ge = fe.position(), + re = fe.outerWidth(); + if ((E.push(ge.x), _.push(ge.y), C == 2)) { + var he = g.getElementById(W.next().value), + ne = he.outerWidth(); + E.push(ge.x + re / 2 + ne / 2 + m.idealEdgeLength), _.push(ge.y); + } + return (Pe = { nodeIndexes: w, xCoords: E, yCoords: _ }), Pe; + } + }, 'spectralLayout'); + a.exports = { spectralLayout: d }; + }, + 579: (a, s, l) => { + var u = l(212), + h = o(function (d) { + d && d('layout', 'fcose', u); + }, 'register'); + typeof cytoscape < 'u' && h(cytoscape), (a.exports = h); + }, + 140: (a) => { + a.exports = t; + } + }, + r = {}; + function n(a) { + var s = r[a]; + if (s !== void 0) return s.exports; + var l = (r[a] = { exports: {} }); + return e[a](l, l.exports, n), l.exports; + } + o(n, '__webpack_require__'); + var i = n(579); + return i; + })(); + }); + }); + var T1, + J0, + eF = R(() => { + 'use strict'; + V1(); + (T1 = o( + (t) => `${t}`, + 'wrapIcon' + )), + (J0 = { + prefix: 'mermaid-architecture', + height: 80, + width: 80, + icons: { + database: { + body: T1( + '' + ) + }, + server: { + body: T1( + '' + ) + }, + disk: { + body: T1( + '' + ) + }, + internet: { + body: T1( + '' + ) + }, + cloud: { + body: T1( + '' + ) + }, + unknown: FC, + blank: { body: T1('') } + } + }); + }); + var j1e, + K1e, + Q1e, + Z1e, + J1e = R(() => { + 'use strict'; + V1(); + _t(); + Al(); + gb(); + eF(); + cC(); + (j1e = o(async function (t, e) { + let r = Ci('padding'), + n = Ci('iconSize'), + i = n / 2, + a = n / 6, + s = a / 2; + await Promise.all( + e.edges().map(async (l) => { + let { + source: u, + sourceDir: h, + sourceArrow: f, + sourceGroup: d, + target: p, + targetDir: m, + targetArrow: g, + targetGroup: y, + label: v + } = lC(l), + { x, y: b } = l[0].sourceEndpoint(), + { x: w, y: S } = l[0].midpoint(), + { x: T, y: E } = l[0].targetEndpoint(), + _ = r + 4; + if ( + (d && (cs(h) ? (x += h === 'L' ? -_ : _) : (b += h === 'T' ? -_ : _ + 18)), + y && (cs(m) ? (T += m === 'L' ? -_ : _) : (E += m === 'T' ? -_ : _ + 18)), + !d && + Z0.getNode(u)?.type === 'junction' && + (cs(h) ? (x += h === 'L' ? i : -i) : (b += h === 'T' ? i : -i)), + !y && + Z0.getNode(p)?.type === 'junction' && + (cs(m) ? (T += m === 'L' ? i : -i) : (E += m === 'T' ? i : -i)), + l[0]._private.rscratch) + ) { + let A = t.insert('g'); + if ( + (A.insert('path') + .attr('d', `M ${x},${b} L ${w},${S} L${T},${E} `) + .attr('class', 'edge'), + f) + ) { + let L = cs(h) ? pb[h](x, a) : x - s, + M = Wc(h) ? pb[h](b, a) : b - s; + A.insert('polygon') + .attr('points', qB[h](a)) + .attr('transform', `translate(${L},${M})`) + .attr('class', 'arrow'); + } + if (g) { + let L = cs(m) ? pb[m](T, a) : T - s, + M = Wc(m) ? pb[m](E, a) : E - s; + A.insert('polygon') + .attr('points', qB[m](a)) + .attr('transform', `translate(${L},${M})`) + .attr('class', 'arrow'); + } + if (v) { + let L = oC(h, m) ? 'XY' : cs(h) ? 'X' : 'Y', + M = 0; + L === 'X' + ? (M = Math.abs(x - T)) + : L === 'Y' + ? (M = Math.abs(b - E) / 1.5) + : (M = Math.abs(x - T) / 2); + let N = A.append('g'); + if ( + (await ta( + N, + v, + { + useHtmlLabels: !1, + width: M, + classes: 'architecture-service-label' + }, + de() + ), + N.attr('dy', '1em') + .attr('alignment-baseline', 'middle') + .attr('dominant-baseline', 'middle') + .attr('text-anchor', 'middle'), + L === 'X') + ) + N.attr('transform', 'translate(' + w + ', ' + S + ')'); + else if (L === 'Y') N.attr('transform', 'translate(' + w + ', ' + S + ') rotate(-90)'); + else if (L === 'XY') { + let k = mb(h, m); + if (k && F1e(k)) { + let I = N.node().getBoundingClientRect(), + [C, O] = G1e(k); + N.attr('dominant-baseline', 'auto').attr( + 'transform', + `rotate(${-1 * C * O * 45})` + ); + let D = N.node().getBoundingClientRect(); + N.attr( + 'transform', + ` + translate(${w}, ${S - I.height / 2}) + translate(${(C * D.width) / 2}, ${(O * D.height) / 2}) + rotate(${-1 * C * O * 45}, 0, ${I.height / 2}) + ` + ); + } + } + } + } + }) + ); + }, 'drawEdges')), + (K1e = o(async function (t, e) { + let n = Ci('padding') * 0.75, + i = Ci('fontSize'), + s = Ci('iconSize') / 2; + await Promise.all( + e.nodes().map(async (l) => { + let u = If(l); + if (u.type === 'group') { + let { h, w: f, x1: d, y1: p } = l.boundingBox(); + t.append('rect') + .attr('x', d + s) + .attr('y', p + s) + .attr('width', f) + .attr('height', h) + .attr('class', 'node-bkg'); + let m = t.append('g'), + g = d, + y = p; + if (u.icon) { + let v = m.append('g'); + v.html( + `${await zb(u.icon, { height: n, width: n, fallbackPrefix: J0.prefix })}` + ), + v.attr('transform', 'translate(' + (g + s + 1) + ', ' + (y + s + 1) + ')'), + (g += n), + (y += i / 2 - 1 - 2); + } + if (u.label) { + let v = m.append('g'); + await ta( + v, + u.label, + { + useHtmlLabels: !1, + width: f, + classes: 'architecture-service-label' + }, + de() + ), + v + .attr('dy', '1em') + .attr('alignment-baseline', 'middle') + .attr('dominant-baseline', 'start') + .attr('text-anchor', 'start'), + v.attr('transform', 'translate(' + (g + s + 4) + ', ' + (y + s + 2) + ')'); + } + } + }) + ); + }, 'drawGroups')), + (Q1e = o(async function (t, e, r) { + for (let n of r) { + let i = e.append('g'), + a = Ci('iconSize'); + if (n.title) { + let h = i.append('g'); + await ta( + h, + n.title, + { + useHtmlLabels: !1, + width: a * 1.5, + classes: 'architecture-service-label' + }, + de() + ), + h + .attr('dy', '1em') + .attr('alignment-baseline', 'middle') + .attr('dominant-baseline', 'middle') + .attr('text-anchor', 'middle'), + h.attr('transform', 'translate(' + a / 2 + ', ' + a + ')'); + } + let s = i.append('g'); + if (n.icon) + s.html(`${await zb(n.icon, { height: a, width: a, fallbackPrefix: J0.prefix })}`); + else if (n.iconText) { + s.html(`${await zb('blank', { height: a, width: a, fallbackPrefix: J0.prefix })}`); + let d = s + .append('g') + .append('foreignObject') + .attr('width', a) + .attr('height', a) + .append('div') + .attr('class', 'node-icon-text') + .attr('style', `height: ${a}px;`) + .append('div') + .html(n.iconText), + p = + parseInt( + window + .getComputedStyle(d.node(), null) + .getPropertyValue('font-size') + .replace(/\D/g, '') + ) ?? 16; + d.attr('style', `-webkit-line-clamp: ${Math.floor((a - 2) / p)};`); + } else + s.append('path') + .attr('class', 'node-bkg') + .attr('id', 'node-' + n.id) + .attr('d', `M0 ${a} v${-a} q0,-5 5,-5 h${a} q5,0 5,5 v${a} H0 Z`); + i.attr('class', 'architecture-service'); + let { width: l, height: u } = i._groups[0][0].getBBox(); + (n.width = l), (n.height = u), t.setElementForId(n.id, i); + } + return 0; + }, 'drawServices')), + (Z1e = o(function (t, e, r) { + r.forEach((n) => { + let i = e.append('g'), + a = Ci('iconSize'); + i + .append('g') + .append('rect') + .attr('id', 'node-' + n.id) + .attr('fill-opacity', '0') + .attr('width', a) + .attr('height', a), + i.attr('class', 'architecture-junction'); + let { width: l, height: u } = i._groups[0][0].getBBox(); + (i.width = l), (i.height = u), t.setElementForId(n.id, i); + }); + }, 'drawJunctions')); + }); + function iet(t, e) { + t.forEach((r) => { + e.add({ + group: 'nodes', + data: { + type: 'service', + id: r.id, + icon: r.icon, + label: r.title, + parent: r.in, + width: Ci('iconSize'), + height: Ci('iconSize') + }, + classes: 'node-service' + }); + }); + } + function aet(t, e) { + t.forEach((r) => { + e.add({ + group: 'nodes', + data: { + type: 'junction', + id: r.id, + parent: r.in, + width: Ci('iconSize'), + height: Ci('iconSize') + }, + classes: 'node-junction' + }); + }); + } + function set(t, e) { + e.nodes().map((r) => { + let n = If(r); + if (n.type === 'group') return; + (n.x = r.position().x), + (n.y = r.position().y), + t.getElementById(n.id).attr('transform', 'translate(' + (n.x || 0) + ',' + (n.y || 0) + ')'); + }); + } + function oet(t, e) { + t.forEach((r) => { + e.add({ + group: 'nodes', + data: { + type: 'group', + id: r.id, + icon: r.icon, + label: r.title, + parent: r.in + }, + classes: 'node-group' + }); + }); + } + function cet(t, e) { + t.forEach((r) => { + let { + lhsId: n, + rhsId: i, + lhsInto: a, + lhsGroup: s, + rhsInto: l, + lhsDir: u, + rhsDir: h, + rhsGroup: f, + title: d + } = r, + p = oC(r.lhsDir, r.rhsDir) ? 'segments' : 'straight', + m = { + id: `${n}-${i}`, + label: d, + source: n, + sourceDir: u, + sourceArrow: a, + sourceGroup: s, + sourceEndpoint: u === 'L' ? '0 50%' : u === 'R' ? '100% 50%' : u === 'T' ? '50% 0' : '50% 100%', + target: i, + targetDir: h, + targetArrow: l, + targetGroup: f, + targetEndpoint: h === 'L' ? '0 50%' : h === 'R' ? '100% 50%' : h === 'T' ? '50% 0' : '50% 100%' + }; + e.add({ group: 'edges', data: m, classes: p }); + }); + } + function uet(t) { + let e = t.map((i) => { + let a = {}, + s = {}; + return ( + Object.entries(i).forEach(([l, [u, h]]) => { + a[h] || (a[h] = []), s[u] || (s[u] = []), a[h].push(l), s[u].push(l); + }), + { + horiz: Object.values(a).filter((l) => l.length > 1), + vert: Object.values(s).filter((l) => l.length > 1) + } + ); + }), + [r, n] = e.reduce( + ([i, a], { horiz: s, vert: l }) => [ + [...i, ...s], + [...a, ...l] + ], + [[], []] + ); + return { horizontal: r, vertical: n }; + } + function het(t) { + let e = [], + r = o((i) => `${i[0]},${i[1]}`, 'posToStr'), + n = o((i) => i.split(',').map((a) => parseInt(a)), 'strToPos'); + return ( + t.forEach((i) => { + let a = Object.fromEntries(Object.entries(i).map(([h, f]) => [r(f), h])), + s = [r([0, 0])], + l = {}, + u = { L: [-1, 0], R: [1, 0], T: [0, 1], B: [0, -1] }; + for (; s.length > 0; ) { + let h = s.shift(); + if (h) { + l[h] = 1; + let f = a[h]; + if (f) { + let d = n(h); + Object.entries(u).forEach(([p, m]) => { + let g = r([d[0] + m[0], d[1] + m[1]]), + y = a[g]; + y && + !l[g] && + (s.push(g), + e.push({ + [WB[p]]: y, + [WB[B1e(p)]]: f, + gap: 1.5 * Ci('iconSize') + })); + }); + } + } + } + }), + e + ); + } + function fet(t, e, r, n, { spatialMaps: i }) { + return new Promise((a) => { + let s = $e('body').append('div').attr('id', 'cy').attr('style', 'display:none'), + l = rl({ + container: document.getElementById('cy'), + style: [ + { + selector: 'edge', + style: { + 'curve-style': 'straight', + label: 'data(label)', + 'source-endpoint': 'data(sourceEndpoint)', + 'target-endpoint': 'data(targetEndpoint)' + } + }, + { + selector: 'edge.segments', + style: { + 'curve-style': 'segments', + 'segment-weights': '0', + 'segment-distances': [0.5], + 'edge-distances': 'endpoints', + 'source-endpoint': 'data(sourceEndpoint)', + 'target-endpoint': 'data(targetEndpoint)' + } + }, + { + selector: 'node', + style: { 'compound-sizing-wrt-labels': 'include' } + }, + { + selector: 'node[label]', + style: { + 'text-valign': 'bottom', + 'text-halign': 'center', + 'font-size': `${Ci('fontSize')}px` + } + }, + { + selector: '.node-service', + style: { + label: 'data(label)', + width: 'data(width)', + height: 'data(height)' + } + }, + { + selector: '.node-junction', + style: { width: 'data(width)', height: 'data(height)' } + }, + { + selector: '.node-group', + style: { padding: `${Ci('padding')}px` } + } + ] + }); + s.remove(), oet(r, l), iet(t, l), aet(e, l), cet(n, l); + let u = uet(i), + h = het(i), + f = l.layout({ + name: 'fcose', + quality: 'proof', + styleEnabled: !1, + animate: !1, + nodeDimensionsIncludeLabels: !1, + idealEdgeLength(d) { + let [p, m] = d.connectedNodes(), + { parent: g } = If(p), + { parent: y } = If(m); + return g === y ? 1.5 * Ci('iconSize') : 0.5 * Ci('iconSize'); + }, + edgeElasticity(d) { + let [p, m] = d.connectedNodes(), + { parent: g } = If(p), + { parent: y } = If(m); + return g === y ? 0.45 : 0.001; + }, + alignmentConstraint: u, + relativePlacementConstraint: h + }); + f.one('layoutstop', () => { + function d(p, m, g, y) { + let v, + x, + { x: b, y: w } = p, + { x: S, y: T } = m; + (x = (y - w + ((b - g) * (w - T)) / (b - S)) / Math.sqrt(1 + Math.pow((w - T) / (b - S), 2))), + (v = Math.sqrt(Math.pow(y - w, 2) + Math.pow(g - b, 2) - Math.pow(x, 2))); + let E = Math.sqrt(Math.pow(S - b, 2) + Math.pow(T - w, 2)); + v = v / E; + let _ = (S - b) * (y - w) - (T - w) * (g - b); + switch (!0) { + case _ >= 0: + _ = 1; + break; + case _ < 0: + _ = -1; + break; + } + let A = (S - b) * (g - b) + (T - w) * (y - w); + switch (!0) { + case A >= 0: + A = 1; + break; + case A < 0: + A = -1; + break; + } + return (x = Math.abs(x) * _), (v = v * A), { distances: x, weights: v }; + } + o(d, 'getSegmentWeights'), l.startBatch(); + for (let p of Object.values(l.edges())) + if (p.data?.()) { + let { x: m, y: g } = p.source().position(), + { x: y, y: v } = p.target().position(); + if (m !== y && g !== v) { + let x = p.sourceEndpoint(), + b = p.targetEndpoint(), + { sourceDir: w } = lC(p), + [S, T] = Wc(w) ? [x.x, b.y] : [b.x, x.y], + { weights: E, distances: _ } = d(x, b, S, T); + p.style('segment-distances', _), p.style('segment-weights', E); + } + } + l.endBatch(), f.run(); + }), + f.run(), + l.ready((d) => { + V.info('Ready', d), a(l); + }); + }); + } + var eye, + det, + tye, + rye = R(() => { + 'use strict'; + V1(); + vB(); + eye = Xi(X1e(), 1); + Zt(); + ut(); + pf(); + Yn(); + gb(); + eF(); + cC(); + J1e(); + Fb([{ name: J0.prefix, icons: J0 }]); + rl.use(eye.default); + o(iet, 'addServices'); + o(aet, 'addJunctions'); + o(set, 'positionNodes'); + o(oet, 'addGroups'); + o(cet, 'addEdges'); + o(uet, 'getAlignments'); + o(het, 'getRelativeConstraints'); + o(fet, 'layoutArchitecture'); + (det = o(async (t, e, r, n) => { + let i = n.db, + a = i.getServices(), + s = i.getJunctions(), + l = i.getGroups(), + u = i.getEdges(), + h = i.getDataStructures(), + f = Ps(e), + d = f.append('g'); + d.attr('class', 'architecture-edges'); + let p = f.append('g'); + p.attr('class', 'architecture-services'); + let m = f.append('g'); + m.attr('class', 'architecture-groups'), await Q1e(i, p, a), Z1e(i, p, s); + let g = await fet(a, s, l, u, h); + await j1e(d, g), await K1e(m, g), set(i, g), Lo(void 0, f, Ci('padding'), Ci('useMaxWidth')); + }, 'draw')), + (tye = { draw: det }); + }); + var nye = {}; + hr(nye, { diagram: () => pet }); + var pet, + iye = R(() => { + 'use strict'; + Y1e(); + gb(); + q1e(); + rye(); + pet = { parser: H1e, db: Z0, renderer: tye, styles: W1e }; + }); + var knt = {}; + hr(knt, { default: () => Tnt }); + V1(); + zC(); + Hf(); + var BX = 'c4', + mCe = o((t) => /^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t), 'detector'), + gCe = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (PX(), OX)); + return { id: BX, diagram: t }; + }, 'loader'), + yCe = { id: BX, detector: mCe, loader: gCe }, + FX = yCe; + var Zre = 'flowchart', + SNe = o( + (t, e) => + e?.flowchart?.defaultRenderer === 'dagre-wrapper' || e?.flowchart?.defaultRenderer === 'elk' + ? !1 + : /^\s*graph/.test(t), + 'detector' + ), + ANe = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (uT(), cT)); + return { id: Zre, diagram: t }; + }, 'loader'), + _Ne = { id: Zre, detector: SNe, loader: ANe }, + Jre = _Ne; + var ene = 'flowchart-v2', + LNe = o( + (t, e) => + e?.flowchart?.defaultRenderer === 'dagre-d3' + ? !1 + : (e?.flowchart?.defaultRenderer === 'elk' && (e.layout = 'elk'), + /^\s*graph/.test(t) && e?.flowchart?.defaultRenderer === 'dagre-wrapper' + ? !0 + : /^\s*flowchart/.test(t)), + 'detector' + ), + DNe = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (uT(), cT)); + return { id: ene, diagram: t }; + }, 'loader'), + RNe = { id: ene, detector: LNe, loader: DNe }, + tne = RNe; + var Dne = 'er', + sMe = o((t) => /^\s*erDiagram/.test(t), 'detector'), + oMe = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (Lne(), _ne)); + return { id: Dne, diagram: t }; + }, 'loader'), + lMe = { id: Dne, detector: sMe, loader: oMe }, + Rne = lMe; + var $le = 'gitGraph', + NBe = o((t) => /^\s*gitGraph/.test(t), 'detector'), + MBe = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (Gle(), zle)); + return { id: $le, diagram: t }; + }, 'loader'), + IBe = { id: $le, detector: NBe, loader: MBe }, + Vle = IBe; + var vce = 'gantt', + wFe = o((t) => /^\s*gantt/.test(t), 'detector'), + TFe = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (yce(), gce)); + return { id: vce, diagram: t }; + }, 'loader'), + kFe = { id: vce, detector: wFe, loader: TFe }, + xce = kFe; + var _ce = 'info', + LFe = o((t) => /^\s*info/.test(t), 'detector'), + DFe = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (Ace(), Sce)); + return { id: _ce, diagram: t }; + }, 'loader'), + Lce = { id: _ce, detector: LFe, loader: DFe }; + var zce = 'pie', + UFe = o((t) => /^\s*pie/.test(t), 'detector'), + HFe = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (Fce(), Bce)); + return { id: zce, diagram: t }; + }, 'loader'), + Gce = { id: zce, detector: UFe, loader: HFe }; + var Jce = 'quadrantChart', + lze = o((t) => /^\s*quadrantChart/.test(t), 'detector'), + cze = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (Zce(), Qce)); + return { id: Jce, diagram: t }; + }, 'loader'), + uze = { id: Jce, detector: lze, loader: cze }, + eue = uze; + var Aue = 'xychart', + Sze = o((t) => /^\s*xychart-beta/.test(t), 'detector'), + Aze = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (Sue(), Cue)); + return { id: Aue, diagram: t }; + }, 'loader'), + _ze = { id: Aue, detector: Sze, loader: Aze }, + _ue = _ze; + var Hue = 'requirement', + rGe = o((t) => /^\s*requirement(Diagram)?/.test(t), 'detector'), + nGe = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (Uue(), Vue)); + return { id: Hue, diagram: t }; + }, 'loader'), + iGe = { id: Hue, detector: rGe, loader: nGe }, + Yue = iGe; + var vhe = 'sequence', + o$e = o((t) => /^\s*sequenceDiagram/.test(t), 'detector'), + l$e = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (yhe(), ghe)); + return { id: vhe, diagram: t }; + }, 'loader'), + c$e = { id: vhe, detector: o$e, loader: l$e }, + xhe = c$e; + var Ihe = 'class', + U$e = o( + (t, e) => (e?.class?.defaultRenderer === 'dagre-wrapper' ? !1 : /^\s*classDiagram/.test(t)), + 'detector' + ), + H$e = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (Mhe(), Nhe)); + return { id: Ihe, diagram: t }; + }, 'loader'), + Y$e = { id: Ihe, detector: U$e, loader: H$e }, + Ohe = Y$e; + var cfe = 'classDiagram', + vVe = o( + (t, e) => + /^\s*classDiagram/.test(t) && e?.class?.defaultRenderer === 'dagre-wrapper' + ? !0 + : /^\s*classDiagram-v2/.test(t), + 'detector' + ), + xVe = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (lfe(), ofe)); + return { id: cfe, diagram: t }; + }, 'loader'), + bVe = { id: cfe, detector: vVe, loader: xVe }, + ufe = bVe; + var tde = 'state', + mUe = o( + (t, e) => (e?.state?.defaultRenderer === 'dagre-wrapper' ? !1 : /^\s*stateDiagram/.test(t)), + 'detector' + ), + gUe = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (ede(), Jfe)); + return { id: tde, diagram: t }; + }, 'loader'), + yUe = { id: tde, detector: mUe, loader: gUe }, + rde = yUe; + var ade = 'stateDiagram', + xUe = o( + (t, e) => + !!( + /^\s*stateDiagram-v2/.test(t) || + (/^\s*stateDiagram/.test(t) && e?.state?.defaultRenderer === 'dagre-wrapper') + ), + 'detector' + ), + bUe = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (ide(), nde)); + return { id: ade, diagram: t }; + }, 'loader'), + wUe = { id: ade, detector: xUe, loader: bUe }, + sde = wUe; + var Tde = 'journey', + VUe = o((t) => /^\s*journey/.test(t), 'detector'), + UUe = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (wde(), bde)); + return { id: Tde, diagram: t }; + }, 'loader'), + HUe = { id: Tde, detector: VUe, loader: UUe }, + kde = HUe; + ut(); + pf(); + Yn(); + var YUe = o((t, e, r) => { + V.debug(`rendering svg for syntax error +`); + let n = Ps(e), + i = n.append('g'); + n.attr('viewBox', '0 0 2412 512'), + Sr(n, 100, 512, !0), + i + .append('path') + .attr('class', 'error-icon') + .attr( + 'd', + 'm411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z' + ), + i + .append('path') + .attr('class', 'error-icon') + .attr( + 'd', + 'm459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z' + ), + i + .append('path') + .attr('class', 'error-icon') + .attr( + 'd', + 'm340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z' + ), + i + .append('path') + .attr('class', 'error-icon') + .attr( + 'd', + 'm400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z' + ), + i + .append('path') + .attr('class', 'error-icon') + .attr( + 'd', + 'm496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z' + ), + i + .append('path') + .attr('class', 'error-icon') + .attr( + 'd', + 'm436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z' + ), + i + .append('text') + .attr('class', 'error-text') + .attr('x', 1440) + .attr('y', 250) + .attr('font-size', '150px') + .style('text-anchor', 'middle') + .text('Syntax error in text'), + i + .append('text') + .attr('class', 'error-text') + .attr('x', 1250) + .attr('y', 400) + .attr('font-size', '100px') + .style('text-anchor', 'middle') + .text(`mermaid version ${r}`); + }, 'draw'), + fP = { draw: YUe }, + Ede = fP; + var WUe = { db: {}, renderer: fP, parser: { parse: o(() => {}, 'parse') } }, + Cde = WUe; + var Sde = 'flowchart-elk', + qUe = o( + (t, e = {}) => + /^\s*flowchart-elk/.test(t) || + (/^\s*flowchart|graph/.test(t) && e?.flowchart?.defaultRenderer === 'elk') + ? ((e.layout = 'elk'), !0) + : !1, + 'detector' + ), + XUe = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (uT(), cT)); + return { id: Sde, diagram: t }; + }, 'loader'), + jUe = { id: Sde, detector: qUe, loader: XUe }, + Ade = jUe; + var Jde = 'timeline', + pHe = o((t) => /^\s*timeline/.test(t), 'detector'), + mHe = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (Zde(), Qde)); + return { id: Jde, diagram: t }; + }, 'loader'), + gHe = { id: Jde, detector: pHe, loader: mHe }, + e0e = gHe; + var vge = 'mindmap', + TZe = o((t) => /^\s*mindmap/.test(t), 'detector'), + kZe = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (yge(), gge)); + return { id: vge, diagram: t }; + }, 'loader'), + EZe = { id: vge, detector: TZe, loader: kZe }, + xge = EZe; + var Zge = 'sankey', + WZe = o((t) => /^\s*sankey-beta/.test(t), 'detector'), + qZe = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (Qge(), Kge)); + return { id: Zge, diagram: t }; + }, 'loader'), + XZe = { id: Zge, detector: WZe, loader: qZe }, + Jge = XZe; + var c1e = 'packet', + oJe = o((t) => /^\s*packet-beta/.test(t), 'detector'), + lJe = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (l1e(), o1e)); + return { id: c1e, diagram: t }; + }, 'loader'), + u1e = { id: c1e, detector: oJe, loader: lJe }; + var O1e = 'block', + FJe = o((t) => /^\s*block-beta/.test(t), 'detector'), + zJe = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (I1e(), M1e)); + return { id: O1e, diagram: t }; + }, 'loader'), + GJe = { id: O1e, detector: FJe, loader: zJe }, + P1e = GJe; + var aye = 'architecture', + met = o((t) => /^\s*architecture/.test(t), 'detector'), + get = o(async () => { + let { diagram: t } = await Promise.resolve().then(() => (iye(), nye)); + return { id: aye, diagram: t }; + }, 'loader'), + yet = { id: aye, detector: met, loader: get }, + sye = yet; + Hf(); + _t(); + var oye = !1, + k1 = o(() => { + oye || + ((oye = !0), + Jf('error', Cde, (t) => t.toLowerCase().trim() === 'error'), + Jf( + '---', + { + db: { clear: o(() => {}, 'clear') }, + styles: {}, + renderer: { draw: o(() => {}, 'draw') }, + parser: { + parse: o(() => { + throw new Error( + "Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks" + ); + }, 'parse') + }, + init: o(() => null, 'init') + }, + (t) => t.toLowerCase().trimStart().startsWith('---') + ), + Ub( + FX, + ufe, + Ohe, + Rne, + xce, + Lce, + Gce, + Yue, + xhe, + Ade, + tne, + Jre, + xge, + e0e, + Vle, + sde, + rde, + kde, + eue, + Jge, + u1e, + _ue, + P1e, + sye + )); + }, 'addDiagrams'); + ut(); + Hf(); + _t(); + var lye = o(async () => { + V.debug('Loading registered diagrams'); + let e = ( + await Promise.allSettled( + Object.entries(Uf).map(async ([r, { detector: n, loader: i }]) => { + if (i) + try { + cy(r); + } catch { + try { + let { diagram: a, id: s } = await i(); + Jf(s, a, n); + } catch (a) { + throw ( + (V.error(`Failed to load external diagram with key ${r}. Removing from detectors.`), + delete Uf[r], + a) + ); + } + } + }) + ) + ).filter((r) => r.status === 'rejected'); + if (e.length > 0) { + V.error(`Failed to load ${e.length} external diagrams`); + for (let r of e) V.error(r); + throw new Error(`Failed to load ${e.length} external diagrams`); + } + }, 'loadRegisteredDiagrams'); + ut(); + Zt(); + var uC = 'comm', + hC = 'rule', + fC = 'decl'; + var cye = '@import'; + var uye = '@keyframes'; + var hye = '@layer'; + var tF = Math.abs, + bb = String.fromCharCode; + function dC(t) { + return t.trim(); + } + o(dC, 'trim'); + function wb(t, e, r) { + return t.replace(e, r); + } + o(wb, 'replace'); + function fye(t, e, r) { + return t.indexOf(e, r); + } + o(fye, 'indexof'); + function ep(t, e) { + return t.charCodeAt(e) | 0; + } + o(ep, 'charat'); + function Of(t, e, r) { + return t.slice(e, r); + } + o(Of, 'substr'); + function wo(t) { + return t.length; + } + o(wo, 'strlen'); + function dye(t) { + return t.length; + } + o(dye, 'sizeof'); + function E1(t, e) { + return e.push(t), t; + } + o(E1, 'append'); + var pC = 1, + C1 = 1, + pye = 0, + nl = 0, + Si = 0, + A1 = ''; + function mC(t, e, r, n, i, a, s, l) { + return { + value: t, + root: e, + parent: r, + type: n, + props: i, + children: a, + line: pC, + column: C1, + length: s, + return: '', + siblings: l + }; + } + o(mC, 'node'); + function mye() { + return Si; + } + o(mye, 'char'); + function gye() { + return (Si = nl > 0 ? ep(A1, --nl) : 0), C1--, Si === 10 && ((C1 = 1), pC--), Si; + } + o(gye, 'prev'); + function il() { + return (Si = nl < pye ? ep(A1, nl++) : 0), C1++, Si === 10 && ((C1 = 1), pC++), Si; + } + o(il, 'next'); + function th() { + return ep(A1, nl); + } + o(th, 'peek'); + function Tb() { + return nl; + } + o(Tb, 'caret'); + function gC(t, e) { + return Of(A1, t, e); + } + o(gC, 'slice'); + function S1(t) { + switch (t) { + case 0: + case 9: + case 10: + case 13: + case 32: + return 5; + case 33: + case 43: + case 44: + case 47: + case 62: + case 64: + case 126: + case 59: + case 123: + case 125: + return 4; + case 58: + return 3; + case 34: + case 39: + case 40: + case 91: + return 2; + case 41: + case 93: + return 1; + } + return 0; + } + o(S1, 'token'); + function yye(t) { + return (pC = C1 = 1), (pye = wo((A1 = t))), (nl = 0), []; + } + o(yye, 'alloc'); + function vye(t) { + return (A1 = ''), t; + } + o(vye, 'dealloc'); + function yC(t) { + return dC(gC(nl - 1, rF(t === 91 ? t + 2 : t === 40 ? t + 1 : t))); + } + o(yC, 'delimit'); + function xye(t) { + for (; (Si = th()) && Si < 33; ) il(); + return S1(t) > 2 || S1(Si) > 3 ? '' : ' '; + } + o(xye, 'whitespace'); + function bye(t, e) { + for (; --e && il() && !(Si < 48 || Si > 102 || (Si > 57 && Si < 65) || (Si > 70 && Si < 97)); ); + return gC(t, Tb() + (e < 6 && th() == 32 && il() == 32)); + } + o(bye, 'escaping'); + function rF(t) { + for (; il(); ) + switch (Si) { + case t: + return nl; + case 34: + case 39: + t !== 34 && t !== 39 && rF(Si); + break; + case 40: + t === 41 && rF(t); + break; + case 92: + il(); + break; + } + return nl; + } + o(rF, 'delimiter'); + function wye(t, e) { + for (; il() && t + Si !== 57; ) if (t + Si === 84 && th() === 47) break; + return '/*' + gC(e, nl - 1) + '*' + bb(t === 47 ? t : il()); + } + o(wye, 'commenter'); + function Tye(t) { + for (; !S1(th()); ) il(); + return gC(t, nl); + } + o(Tye, 'identifier'); + function Cye(t) { + return vye(vC('', null, null, null, [''], (t = yye(t)), 0, [0], t)); + } + o(Cye, 'compile'); + function vC(t, e, r, n, i, a, s, l, u) { + for ( + var h = 0, + f = 0, + d = s, + p = 0, + m = 0, + g = 0, + y = 1, + v = 1, + x = 1, + b = 0, + w = '', + S = i, + T = a, + E = n, + _ = w; + v; + + ) + switch (((g = b), (b = il()))) { + case 40: + if (g != 108 && ep(_, d - 1) == 58) { + fye((_ += wb(yC(b), '&', '&\f')), '&\f', tF(h ? l[h - 1] : 0)) != -1 && (x = -1); + break; + } + case 34: + case 39: + case 91: + _ += yC(b); + break; + case 9: + case 10: + case 13: + case 32: + _ += xye(g); + break; + case 92: + _ += bye(Tb() - 1, 7); + continue; + case 47: + switch (th()) { + case 42: + case 47: + E1(vet(wye(il(), Tb()), e, r, u), u), + (S1(g || 1) == 5 || S1(th() || 1) == 5) && + wo(_) && + Of(_, -1, void 0) !== ' ' && + (_ += ' '); + break; + default: + _ += '/'; + } + break; + case 123 * y: + l[h++] = wo(_) * x; + case 125 * y: + case 59: + case 0: + switch (b) { + case 0: + case 125: + v = 0; + case 59 + f: + x == -1 && (_ = wb(_, /\f/g, '')), + m > 0 && + (wo(_) - d || (y === 0 && g === 47)) && + E1( + m > 32 + ? Eye(_ + ';', n, r, d - 1, u) + : Eye(wb(_, ' ', '') + ';', n, r, d - 2, u), + u + ); + break; + case 59: + _ += ';'; + default: + if ((E1((E = kye(_, e, r, h, f, i, l, w, (S = []), (T = []), d, a)), a), b === 123)) + if (f === 0) vC(_, e, E, E, S, a, d, l, T); + else + switch (p === 99 && ep(_, 3) === 110 ? 100 : p) { + case 100: + case 108: + case 109: + case 115: + vC( + t, + E, + E, + n && E1(kye(t, E, E, 0, 0, i, l, w, i, (S = []), d, T), T), + i, + T, + d, + l, + n ? S : T + ); + break; + default: + vC(_, E, E, E, [''], T, 0, l, T); + } + } + (h = f = m = 0), (y = x = 1), (w = _ = ''), (d = s); + break; + case 58: + (d = 1 + wo(_)), (m = g); + default: + if (y < 1) { + if (b == 123) --y; + else if (b == 125 && y++ == 0 && gye() == 125) continue; + } + switch (((_ += bb(b)), b * y)) { + case 38: + x = f > 0 ? 1 : ((_ += '\f'), -1); + break; + case 44: + (l[h++] = (wo(_) - 1) * x), (x = 1); + break; + case 64: + th() === 45 && (_ += yC(il())), (p = th()), (f = d = wo((w = _ += Tye(Tb())))), b++; + break; + case 45: + g === 45 && wo(_) == 2 && (y = 0); + } + } + return a; + } + o(vC, 'parse'); + function kye(t, e, r, n, i, a, s, l, u, h, f, d) { + for (var p = i - 1, m = i === 0 ? a : [''], g = dye(m), y = 0, v = 0, x = 0; y < n; ++y) + for (var b = 0, w = Of(t, p + 1, (p = tF((v = s[y])))), S = t; b < g; ++b) + (S = dC(v > 0 ? m[b] + ' ' + w : wb(w, /&\f/g, m[b]))) && (u[x++] = S); + return mC(t, e, r, i === 0 ? hC : l, u, h, f, d); + } + o(kye, 'ruleset'); + function vet(t, e, r, n) { + return mC(t, e, r, uC, bb(mye()), Of(t, 2, -2), 0, n); + } + o(vet, 'comment'); + function Eye(t, e, r, n, i) { + return mC(t, e, r, fC, Of(t, 0, n), Of(t, n + 1, -1), n, i); + } + o(Eye, 'declaration'); + function xC(t, e) { + for (var r = '', n = 0; n < t.length; n++) r += e(t[n], n, t, e) || ''; + return r; + } + o(xC, 'serialize'); + function Sye(t, e, r, n) { + switch (t.type) { + case hye: + if (t.children.length) break; + case cye: + case fC: + return (t.return = t.return || t.value); + case uC: + return ''; + case uye: + return (t.return = t.value + '{' + xC(t.children, n) + '}'); + case hC: + if (!wo((t.value = t.props.join(',')))) return ''; + } + return wo((r = xC(t.children, n))) ? (t.return = t.value + '{' + r + '}') : ''; + } + o(Sye, 'stringify'); + var Sve = Xi(o7(), 1); + Ww(); + HI(); + var xet = 'graphics-document document'; + function Aye(t, e) { + t.attr('role', xet), e !== '' && t.attr('aria-roledescription', e); + } + o(Aye, 'setA11yDiagramInfo'); + function _ye(t, e, r, n) { + if (t.insert !== void 0) { + if (r) { + let i = `chart-desc-${n}`; + t.attr('aria-describedby', i), t.insert('desc', ':first-child').attr('id', i).text(r); + } + if (e) { + let i = `chart-title-${n}`; + t.attr('aria-labelledby', i), t.insert('title', ':first-child').attr('id', i).text(e); + } + } + } + o(_ye, 'addSVGa11yTitleDescription'); + cp(); + qs(); + qs(); + _t(); + Hf(); + GC(); + xr(); + var _1 = class t { + constructor(e, r, n, i, a) { + this.type = e; + this.text = r; + this.db = n; + this.parser = i; + this.renderer = a; + } + static { + o(this, 'Diagram'); + } + static async fromText(e, r = {}) { + let n = Or(), + i = lp(e, n); + e = + SX(e) + + ` +`; + try { + cy(i); + } catch { + let h = tz(i); + if (!h) throw new op(`Diagram ${i} not found.`); + let { id: f, diagram: d } = await h(); + Jf(f, d); + } + let { db: a, parser: s, renderer: l, init: u } = cy(i); + return ( + s.parser && (s.parser.yy = a), + a.clear?.(), + u?.(n), + r.title && a.setDiagramTitle?.(r.title), + await s.parse(e), + new t(i, e, a, s, l) + ); + } + async render(e, r) { + await this.renderer.draw(this.text, e, r, this); + } + getParser() { + return this.parser; + } + getType() { + return this.type; + } + }; + rr(); + var Lye = []; + var Dye = o(() => { + Lye.forEach((t) => { + t(); + }), + (Lye = []); + }, 'attachFunctions'); + ut(); + var Rye = o((t) => t.replace(/^\s*%%(?!{)[^\n]+\n?/gm, '').trimStart(), 'cleanupComments'); + Vb(); + function qye(t) { + return typeof t > 'u' || t === null; + } + o(qye, 'isNothing'); + function bet(t) { + return typeof t == 'object' && t !== null; + } + o(bet, 'isObject'); + function wet(t) { + return Array.isArray(t) ? t : qye(t) ? [] : [t]; + } + o(wet, 'toArray'); + function Tet(t, e) { + var r, n, i, a; + if (e) for (a = Object.keys(e), r = 0, n = a.length; r < n; r += 1) (i = a[r]), (t[i] = e[i]); + return t; + } + o(Tet, 'extend'); + function ket(t, e) { + var r = '', + n; + for (n = 0; n < e; n += 1) r += t; + return r; + } + o(ket, 'repeat'); + function Eet(t) { + return t === 0 && Number.NEGATIVE_INFINITY === 1 / t; + } + o(Eet, 'isNegativeZero'); + var Cet = qye, + Aet = bet, + _et = wet, + Let = ket, + Det = Eet, + Ret = Tet, + Wi = { + isNothing: Cet, + isObject: Aet, + toArray: _et, + repeat: Let, + isNegativeZero: Det, + extend: Ret + }; + function Xye(t, e) { + var r = '', + n = t.reason || '(unknown reason)'; + return t.mark + ? (t.mark.name && (r += 'in "' + t.mark.name + '" '), + (r += '(' + (t.mark.line + 1) + ':' + (t.mark.column + 1) + ')'), + !e && + t.mark.snippet && + (r += + ` + +` + t.mark.snippet), + n + ' ' + r) + : n; + } + o(Xye, 'formatError'); + function Eb(t, e) { + Error.call(this), + (this.name = 'YAMLException'), + (this.reason = t), + (this.mark = e), + (this.message = Xye(this, !1)), + Error.captureStackTrace + ? Error.captureStackTrace(this, this.constructor) + : (this.stack = new Error().stack || ''); + } + o(Eb, 'YAMLException$1'); + Eb.prototype = Object.create(Error.prototype); + Eb.prototype.constructor = Eb; + Eb.prototype.toString = o(function (e) { + return this.name + ': ' + Xye(this, e); + }, 'toString'); + var $s = Eb; + function nF(t, e, r, n, i) { + var a = '', + s = '', + l = Math.floor(i / 2) - 1; + return ( + n - e > l && ((a = ' ... '), (e = n - l + a.length)), + r - n > l && ((s = ' ...'), (r = n + l - s.length)), + { + str: a + t.slice(e, r).replace(/\t/g, '\u2192') + s, + pos: n - e + a.length + } + ); + } + o(nF, 'getLine'); + function iF(t, e) { + return Wi.repeat(' ', e - t.length) + t; + } + o(iF, 'padStart'); + function Net(t, e) { + if (((e = Object.create(e || null)), !t.buffer)) return null; + e.maxLength || (e.maxLength = 79), + typeof e.indent != 'number' && (e.indent = 1), + typeof e.linesBefore != 'number' && (e.linesBefore = 3), + typeof e.linesAfter != 'number' && (e.linesAfter = 2); + for (var r = /\r?\n|\r|\0/g, n = [0], i = [], a, s = -1; (a = r.exec(t.buffer)); ) + i.push(a.index), n.push(a.index + a[0].length), t.position <= a.index && s < 0 && (s = n.length - 2); + s < 0 && (s = n.length - 1); + var l = '', + u, + h, + f = Math.min(t.line + e.linesAfter, i.length).toString().length, + d = e.maxLength - (e.indent + f + 3); + for (u = 1; u <= e.linesBefore && !(s - u < 0); u++) + (h = nF(t.buffer, n[s - u], i[s - u], t.position - (n[s] - n[s - u]), d)), + (l = + Wi.repeat(' ', e.indent) + + iF((t.line - u + 1).toString(), f) + + ' | ' + + h.str + + ` +` + + l); + for ( + h = nF(t.buffer, n[s], i[s], t.position, d), + l += + Wi.repeat(' ', e.indent) + + iF((t.line + 1).toString(), f) + + ' | ' + + h.str + + ` +`, + l += + Wi.repeat('-', e.indent + f + 3 + h.pos) + + `^ +`, + u = 1; + u <= e.linesAfter && !(s + u >= i.length); + u++ + ) + (h = nF(t.buffer, n[s + u], i[s + u], t.position - (n[s] - n[s + u]), d)), + (l += + Wi.repeat(' ', e.indent) + + iF((t.line + u + 1).toString(), f) + + ' | ' + + h.str + + ` +`); + return l.replace(/\n$/, ''); + } + o(Net, 'makeSnippet'); + var Met = Net, + Iet = [ + 'kind', + 'multi', + 'resolve', + 'construct', + 'instanceOf', + 'predicate', + 'represent', + 'representName', + 'defaultStyle', + 'styleAliases' + ], + Oet = ['scalar', 'sequence', 'mapping']; + function Pet(t) { + var e = {}; + return ( + t !== null && + Object.keys(t).forEach(function (r) { + t[r].forEach(function (n) { + e[String(n)] = r; + }); + }), + e + ); + } + o(Pet, 'compileStyleAliases'); + function Bet(t, e) { + if ( + ((e = e || {}), + Object.keys(e).forEach(function (r) { + if (Iet.indexOf(r) === -1) + throw new $s('Unknown option "' + r + '" is met in definition of "' + t + '" YAML type.'); + }), + (this.options = e), + (this.tag = t), + (this.kind = e.kind || null), + (this.resolve = + e.resolve || + function () { + return !0; + }), + (this.construct = + e.construct || + function (r) { + return r; + }), + (this.instanceOf = e.instanceOf || null), + (this.predicate = e.predicate || null), + (this.represent = e.represent || null), + (this.representName = e.representName || null), + (this.defaultStyle = e.defaultStyle || null), + (this.multi = e.multi || !1), + (this.styleAliases = Pet(e.styleAliases || null)), + Oet.indexOf(this.kind) === -1) + ) + throw new $s('Unknown kind "' + this.kind + '" is specified for "' + t + '" YAML type.'); + } + o(Bet, 'Type$1'); + var Va = Bet; + function Nye(t, e) { + var r = []; + return ( + t[e].forEach(function (n) { + var i = r.length; + r.forEach(function (a, s) { + a.tag === n.tag && a.kind === n.kind && a.multi === n.multi && (i = s); + }), + (r[i] = n); + }), + r + ); + } + o(Nye, 'compileList'); + function Fet() { + var t = { + scalar: {}, + sequence: {}, + mapping: {}, + fallback: {}, + multi: { scalar: [], sequence: [], mapping: [], fallback: [] } + }, + e, + r; + function n(i) { + i.multi ? (t.multi[i.kind].push(i), t.multi.fallback.push(i)) : (t[i.kind][i.tag] = t.fallback[i.tag] = i); + } + for (o(n, 'collectType'), e = 0, r = arguments.length; e < r; e += 1) arguments[e].forEach(n); + return t; + } + o(Fet, 'compileMap'); + function sF(t) { + return this.extend(t); + } + o(sF, 'Schema$1'); + sF.prototype.extend = o(function (e) { + var r = [], + n = []; + if (e instanceof Va) n.push(e); + else if (Array.isArray(e)) n = n.concat(e); + else if (e && (Array.isArray(e.implicit) || Array.isArray(e.explicit))) + e.implicit && (r = r.concat(e.implicit)), e.explicit && (n = n.concat(e.explicit)); + else + throw new $s( + 'Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })' + ); + r.forEach(function (a) { + if (!(a instanceof Va)) + throw new $s('Specified list of YAML types (or a single Type object) contains a non-Type object.'); + if (a.loadKind && a.loadKind !== 'scalar') + throw new $s( + 'There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.' + ); + if (a.multi) + throw new $s( + 'There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.' + ); + }), + n.forEach(function (a) { + if (!(a instanceof Va)) + throw new $s('Specified list of YAML types (or a single Type object) contains a non-Type object.'); + }); + var i = Object.create(sF.prototype); + return ( + (i.implicit = (this.implicit || []).concat(r)), + (i.explicit = (this.explicit || []).concat(n)), + (i.compiledImplicit = Nye(i, 'implicit')), + (i.compiledExplicit = Nye(i, 'explicit')), + (i.compiledTypeMap = Fet(i.compiledImplicit, i.compiledExplicit)), + i + ); + }, 'extend'); + var zet = sF, + Get = new Va('tag:yaml.org,2002:str', { + kind: 'scalar', + construct: o(function (t) { + return t !== null ? t : ''; + }, 'construct') + }), + $et = new Va('tag:yaml.org,2002:seq', { + kind: 'sequence', + construct: o(function (t) { + return t !== null ? t : []; + }, 'construct') + }), + Vet = new Va('tag:yaml.org,2002:map', { + kind: 'mapping', + construct: o(function (t) { + return t !== null ? t : {}; + }, 'construct') + }), + Uet = new zet({ explicit: [Get, $et, Vet] }); + function Het(t) { + if (t === null) return !0; + var e = t.length; + return (e === 1 && t === '~') || (e === 4 && (t === 'null' || t === 'Null' || t === 'NULL')); + } + o(Het, 'resolveYamlNull'); + function Yet() { + return null; + } + o(Yet, 'constructYamlNull'); + function Wet(t) { + return t === null; + } + o(Wet, 'isNull'); + var qet = new Va('tag:yaml.org,2002:null', { + kind: 'scalar', + resolve: Het, + construct: Yet, + predicate: Wet, + represent: { + canonical: o(function () { + return '~'; + }, 'canonical'), + lowercase: o(function () { + return 'null'; + }, 'lowercase'), + uppercase: o(function () { + return 'NULL'; + }, 'uppercase'), + camelcase: o(function () { + return 'Null'; + }, 'camelcase'), + empty: o(function () { + return ''; + }, 'empty') + }, + defaultStyle: 'lowercase' + }); + function Xet(t) { + if (t === null) return !1; + var e = t.length; + return ( + (e === 4 && (t === 'true' || t === 'True' || t === 'TRUE')) || + (e === 5 && (t === 'false' || t === 'False' || t === 'FALSE')) + ); + } + o(Xet, 'resolveYamlBoolean'); + function jet(t) { + return t === 'true' || t === 'True' || t === 'TRUE'; + } + o(jet, 'constructYamlBoolean'); + function Ket(t) { + return Object.prototype.toString.call(t) === '[object Boolean]'; + } + o(Ket, 'isBoolean'); + var Qet = new Va('tag:yaml.org,2002:bool', { + kind: 'scalar', + resolve: Xet, + construct: jet, + predicate: Ket, + represent: { + lowercase: o(function (t) { + return t ? 'true' : 'false'; + }, 'lowercase'), + uppercase: o(function (t) { + return t ? 'TRUE' : 'FALSE'; + }, 'uppercase'), + camelcase: o(function (t) { + return t ? 'True' : 'False'; + }, 'camelcase') + }, + defaultStyle: 'lowercase' + }); + function Zet(t) { + return (48 <= t && t <= 57) || (65 <= t && t <= 70) || (97 <= t && t <= 102); + } + o(Zet, 'isHexCode'); + function Jet(t) { + return 48 <= t && t <= 55; + } + o(Jet, 'isOctCode'); + function ett(t) { + return 48 <= t && t <= 57; + } + o(ett, 'isDecCode'); + function ttt(t) { + if (t === null) return !1; + var e = t.length, + r = 0, + n = !1, + i; + if (!e) return !1; + if (((i = t[r]), (i === '-' || i === '+') && (i = t[++r]), i === '0')) { + if (r + 1 === e) return !0; + if (((i = t[++r]), i === 'b')) { + for (r++; r < e; r++) + if (((i = t[r]), i !== '_')) { + if (i !== '0' && i !== '1') return !1; + n = !0; + } + return n && i !== '_'; + } + if (i === 'x') { + for (r++; r < e; r++) + if (((i = t[r]), i !== '_')) { + if (!Zet(t.charCodeAt(r))) return !1; + n = !0; + } + return n && i !== '_'; + } + if (i === 'o') { + for (r++; r < e; r++) + if (((i = t[r]), i !== '_')) { + if (!Jet(t.charCodeAt(r))) return !1; + n = !0; + } + return n && i !== '_'; + } + } + if (i === '_') return !1; + for (; r < e; r++) + if (((i = t[r]), i !== '_')) { + if (!ett(t.charCodeAt(r))) return !1; + n = !0; + } + return !(!n || i === '_'); + } + o(ttt, 'resolveYamlInteger'); + function rtt(t) { + var e = t, + r = 1, + n; + if ( + (e.indexOf('_') !== -1 && (e = e.replace(/_/g, '')), + (n = e[0]), + (n === '-' || n === '+') && (n === '-' && (r = -1), (e = e.slice(1)), (n = e[0])), + e === '0') + ) + return 0; + if (n === '0') { + if (e[1] === 'b') return r * parseInt(e.slice(2), 2); + if (e[1] === 'x') return r * parseInt(e.slice(2), 16); + if (e[1] === 'o') return r * parseInt(e.slice(2), 8); + } + return r * parseInt(e, 10); + } + o(rtt, 'constructYamlInteger'); + function ntt(t) { + return Object.prototype.toString.call(t) === '[object Number]' && t % 1 === 0 && !Wi.isNegativeZero(t); + } + o(ntt, 'isInteger'); + var itt = new Va('tag:yaml.org,2002:int', { + kind: 'scalar', + resolve: ttt, + construct: rtt, + predicate: ntt, + represent: { + binary: o(function (t) { + return t >= 0 ? '0b' + t.toString(2) : '-0b' + t.toString(2).slice(1); + }, 'binary'), + octal: o(function (t) { + return t >= 0 ? '0o' + t.toString(8) : '-0o' + t.toString(8).slice(1); + }, 'octal'), + decimal: o(function (t) { + return t.toString(10); + }, 'decimal'), + hexadecimal: o(function (t) { + return t >= 0 ? '0x' + t.toString(16).toUpperCase() : '-0x' + t.toString(16).toUpperCase().slice(1); + }, 'hexadecimal') + }, + defaultStyle: 'decimal', + styleAliases: { + binary: [2, 'bin'], + octal: [8, 'oct'], + decimal: [10, 'dec'], + hexadecimal: [16, 'hex'] + } + }), + att = new RegExp( + '^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$' + ); + function stt(t) { + return !(t === null || !att.test(t) || t[t.length - 1] === '_'); + } + o(stt, 'resolveYamlFloat'); + function ott(t) { + var e, r; + return ( + (e = t.replace(/_/g, '').toLowerCase()), + (r = e[0] === '-' ? -1 : 1), + '+-'.indexOf(e[0]) >= 0 && (e = e.slice(1)), + e === '.inf' + ? r === 1 + ? Number.POSITIVE_INFINITY + : Number.NEGATIVE_INFINITY + : e === '.nan' + ? NaN + : r * parseFloat(e, 10) + ); + } + o(ott, 'constructYamlFloat'); + var ltt = /^[-+]?[0-9]+e/; + function ctt(t, e) { + var r; + if (isNaN(t)) + switch (e) { + case 'lowercase': + return '.nan'; + case 'uppercase': + return '.NAN'; + case 'camelcase': + return '.NaN'; + } + else if (Number.POSITIVE_INFINITY === t) + switch (e) { + case 'lowercase': + return '.inf'; + case 'uppercase': + return '.INF'; + case 'camelcase': + return '.Inf'; + } + else if (Number.NEGATIVE_INFINITY === t) + switch (e) { + case 'lowercase': + return '-.inf'; + case 'uppercase': + return '-.INF'; + case 'camelcase': + return '-.Inf'; + } + else if (Wi.isNegativeZero(t)) return '-0.0'; + return (r = t.toString(10)), ltt.test(r) ? r.replace('e', '.e') : r; + } + o(ctt, 'representYamlFloat'); + function utt(t) { + return Object.prototype.toString.call(t) === '[object Number]' && (t % 1 !== 0 || Wi.isNegativeZero(t)); + } + o(utt, 'isFloat'); + var htt = new Va('tag:yaml.org,2002:float', { + kind: 'scalar', + resolve: stt, + construct: ott, + predicate: utt, + represent: ctt, + defaultStyle: 'lowercase' + }), + jye = Uet.extend({ implicit: [qet, Qet, itt, htt] }), + ftt = jye, + Kye = new RegExp('^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$'), + Qye = new RegExp( + '^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$' + ); + function dtt(t) { + return t === null ? !1 : Kye.exec(t) !== null || Qye.exec(t) !== null; + } + o(dtt, 'resolveYamlTimestamp'); + function ptt(t) { + var e, + r, + n, + i, + a, + s, + l, + u = 0, + h = null, + f, + d, + p; + if (((e = Kye.exec(t)), e === null && (e = Qye.exec(t)), e === null)) throw new Error('Date resolve error'); + if (((r = +e[1]), (n = +e[2] - 1), (i = +e[3]), !e[4])) return new Date(Date.UTC(r, n, i)); + if (((a = +e[4]), (s = +e[5]), (l = +e[6]), e[7])) { + for (u = e[7].slice(0, 3); u.length < 3; ) u += '0'; + u = +u; + } + return ( + e[9] && ((f = +e[10]), (d = +(e[11] || 0)), (h = (f * 60 + d) * 6e4), e[9] === '-' && (h = -h)), + (p = new Date(Date.UTC(r, n, i, a, s, l, u))), + h && p.setTime(p.getTime() - h), + p + ); + } + o(ptt, 'constructYamlTimestamp'); + function mtt(t) { + return t.toISOString(); + } + o(mtt, 'representYamlTimestamp'); + var gtt = new Va('tag:yaml.org,2002:timestamp', { + kind: 'scalar', + resolve: dtt, + construct: ptt, + instanceOf: Date, + represent: mtt + }); + function ytt(t) { + return t === '<<' || t === null; + } + o(ytt, 'resolveYamlMerge'); + var vtt = new Va('tag:yaml.org,2002:merge', { kind: 'scalar', resolve: ytt }), + hF = `ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`; + function xtt(t) { + if (t === null) return !1; + var e, + r, + n = 0, + i = t.length, + a = hF; + for (r = 0; r < i; r++) + if (((e = a.indexOf(t.charAt(r))), !(e > 64))) { + if (e < 0) return !1; + n += 6; + } + return n % 8 === 0; + } + o(xtt, 'resolveYamlBinary'); + function btt(t) { + var e, + r, + n = t.replace(/[\r\n=]/g, ''), + i = n.length, + a = hF, + s = 0, + l = []; + for (e = 0; e < i; e++) + e % 4 === 0 && e && (l.push((s >> 16) & 255), l.push((s >> 8) & 255), l.push(s & 255)), + (s = (s << 6) | a.indexOf(n.charAt(e))); + return ( + (r = (i % 4) * 6), + r === 0 + ? (l.push((s >> 16) & 255), l.push((s >> 8) & 255), l.push(s & 255)) + : r === 18 + ? (l.push((s >> 10) & 255), l.push((s >> 2) & 255)) + : r === 12 && l.push((s >> 4) & 255), + new Uint8Array(l) + ); + } + o(btt, 'constructYamlBinary'); + function wtt(t) { + var e = '', + r = 0, + n, + i, + a = t.length, + s = hF; + for (n = 0; n < a; n++) + n % 3 === 0 && + n && + ((e += s[(r >> 18) & 63]), (e += s[(r >> 12) & 63]), (e += s[(r >> 6) & 63]), (e += s[r & 63])), + (r = (r << 8) + t[n]); + return ( + (i = a % 3), + i === 0 + ? ((e += s[(r >> 18) & 63]), (e += s[(r >> 12) & 63]), (e += s[(r >> 6) & 63]), (e += s[r & 63])) + : i === 2 + ? ((e += s[(r >> 10) & 63]), (e += s[(r >> 4) & 63]), (e += s[(r << 2) & 63]), (e += s[64])) + : i === 1 && ((e += s[(r >> 2) & 63]), (e += s[(r << 4) & 63]), (e += s[64]), (e += s[64])), + e + ); + } + o(wtt, 'representYamlBinary'); + function Ttt(t) { + return Object.prototype.toString.call(t) === '[object Uint8Array]'; + } + o(Ttt, 'isBinary'); + var ktt = new Va('tag:yaml.org,2002:binary', { + kind: 'scalar', + resolve: xtt, + construct: btt, + predicate: Ttt, + represent: wtt + }), + Ett = Object.prototype.hasOwnProperty, + Ctt = Object.prototype.toString; + function Stt(t) { + if (t === null) return !0; + var e = [], + r, + n, + i, + a, + s, + l = t; + for (r = 0, n = l.length; r < n; r += 1) { + if (((i = l[r]), (s = !1), Ctt.call(i) !== '[object Object]')) return !1; + for (a in i) + if (Ett.call(i, a)) + if (!s) s = !0; + else return !1; + if (!s) return !1; + if (e.indexOf(a) === -1) e.push(a); + else return !1; + } + return !0; + } + o(Stt, 'resolveYamlOmap'); + function Att(t) { + return t !== null ? t : []; + } + o(Att, 'constructYamlOmap'); + var _tt = new Va('tag:yaml.org,2002:omap', { + kind: 'sequence', + resolve: Stt, + construct: Att + }), + Ltt = Object.prototype.toString; + function Dtt(t) { + if (t === null) return !0; + var e, + r, + n, + i, + a, + s = t; + for (a = new Array(s.length), e = 0, r = s.length; e < r; e += 1) { + if (((n = s[e]), Ltt.call(n) !== '[object Object]' || ((i = Object.keys(n)), i.length !== 1))) return !1; + a[e] = [i[0], n[i[0]]]; + } + return !0; + } + o(Dtt, 'resolveYamlPairs'); + function Rtt(t) { + if (t === null) return []; + var e, + r, + n, + i, + a, + s = t; + for (a = new Array(s.length), e = 0, r = s.length; e < r; e += 1) + (n = s[e]), (i = Object.keys(n)), (a[e] = [i[0], n[i[0]]]); + return a; + } + o(Rtt, 'constructYamlPairs'); + var Ntt = new Va('tag:yaml.org,2002:pairs', { + kind: 'sequence', + resolve: Dtt, + construct: Rtt + }), + Mtt = Object.prototype.hasOwnProperty; + function Itt(t) { + if (t === null) return !0; + var e, + r = t; + for (e in r) if (Mtt.call(r, e) && r[e] !== null) return !1; + return !0; + } + o(Itt, 'resolveYamlSet'); + function Ott(t) { + return t !== null ? t : {}; + } + o(Ott, 'constructYamlSet'); + var Ptt = new Va('tag:yaml.org,2002:set', { + kind: 'mapping', + resolve: Itt, + construct: Ott + }), + Zye = ftt.extend({ implicit: [gtt, vtt], explicit: [ktt, _tt, Ntt, Ptt] }), + Bf = Object.prototype.hasOwnProperty, + bC = 1, + Jye = 2, + eve = 3, + wC = 4, + aF = 1, + Btt = 2, + Mye = 3, + Ftt = + /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/, + ztt = /[\x85\u2028\u2029]/, + Gtt = /[,\[\]\{\}]/, + tve = /^(?:!|!!|![a-z\-]+!)$/i, + rve = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i; + function Iye(t) { + return Object.prototype.toString.call(t); + } + o(Iye, '_class'); + function qc(t) { + return t === 10 || t === 13; + } + o(qc, 'is_EOL'); + function rp(t) { + return t === 9 || t === 32; + } + o(rp, 'is_WHITE_SPACE'); + function Vs(t) { + return t === 9 || t === 32 || t === 10 || t === 13; + } + o(Vs, 'is_WS_OR_EOL'); + function D1(t) { + return t === 44 || t === 91 || t === 93 || t === 123 || t === 125; + } + o(D1, 'is_FLOW_INDICATOR'); + function $tt(t) { + var e; + return 48 <= t && t <= 57 ? t - 48 : ((e = t | 32), 97 <= e && e <= 102 ? e - 97 + 10 : -1); + } + o($tt, 'fromHexCode'); + function Vtt(t) { + return t === 120 ? 2 : t === 117 ? 4 : t === 85 ? 8 : 0; + } + o(Vtt, 'escapedHexLen'); + function Utt(t) { + return 48 <= t && t <= 57 ? t - 48 : -1; + } + o(Utt, 'fromDecimalCode'); + function Oye(t) { + return t === 48 + ? '\0' + : t === 97 + ? '\x07' + : t === 98 + ? '\b' + : t === 116 || t === 9 + ? ' ' + : t === 110 + ? ` +` + : t === 118 + ? '\v' + : t === 102 + ? '\f' + : t === 114 + ? '\r' + : t === 101 + ? '\x1B' + : t === 32 + ? ' ' + : t === 34 + ? '"' + : t === 47 + ? '/' + : t === 92 + ? '\\' + : t === 78 + ? '\x85' + : t === 95 + ? '\xA0' + : t === 76 + ? '\u2028' + : t === 80 + ? '\u2029' + : ''; + } + o(Oye, 'simpleEscapeSequence'); + function Htt(t) { + return t <= 65535 + ? String.fromCharCode(t) + : String.fromCharCode(((t - 65536) >> 10) + 55296, ((t - 65536) & 1023) + 56320); + } + o(Htt, 'charFromCodepoint'); + var nve = new Array(256), + ive = new Array(256); + for (tp = 0; tp < 256; tp++) (nve[tp] = Oye(tp) ? 1 : 0), (ive[tp] = Oye(tp)); + var tp; + function Ytt(t, e) { + (this.input = t), + (this.filename = e.filename || null), + (this.schema = e.schema || Zye), + (this.onWarning = e.onWarning || null), + (this.legacy = e.legacy || !1), + (this.json = e.json || !1), + (this.listener = e.listener || null), + (this.implicitTypes = this.schema.compiledImplicit), + (this.typeMap = this.schema.compiledTypeMap), + (this.length = t.length), + (this.position = 0), + (this.line = 0), + (this.lineStart = 0), + (this.lineIndent = 0), + (this.firstTabInLine = -1), + (this.documents = []); + } + o(Ytt, 'State$1'); + function ave(t, e) { + var r = { + name: t.filename, + buffer: t.input.slice(0, -1), + position: t.position, + line: t.line, + column: t.position - t.lineStart + }; + return (r.snippet = Met(r)), new $s(e, r); + } + o(ave, 'generateError'); + function Gt(t, e) { + throw ave(t, e); + } + o(Gt, 'throwError'); + function TC(t, e) { + t.onWarning && t.onWarning.call(null, ave(t, e)); + } + o(TC, 'throwWarning'); + var Pye = { + YAML: o(function (e, r, n) { + var i, a, s; + e.version !== null && Gt(e, 'duplication of %YAML directive'), + n.length !== 1 && Gt(e, 'YAML directive accepts exactly one argument'), + (i = /^([0-9]+)\.([0-9]+)$/.exec(n[0])), + i === null && Gt(e, 'ill-formed argument of the YAML directive'), + (a = parseInt(i[1], 10)), + (s = parseInt(i[2], 10)), + a !== 1 && Gt(e, 'unacceptable YAML version of the document'), + (e.version = n[0]), + (e.checkLineBreaks = s < 2), + s !== 1 && s !== 2 && TC(e, 'unsupported YAML version of the document'); + }, 'handleYamlDirective'), + TAG: o(function (e, r, n) { + var i, a; + n.length !== 2 && Gt(e, 'TAG directive accepts exactly two arguments'), + (i = n[0]), + (a = n[1]), + tve.test(i) || Gt(e, 'ill-formed tag handle (first argument) of the TAG directive'), + Bf.call(e.tagMap, i) && Gt(e, 'there is a previously declared suffix for "' + i + '" tag handle'), + rve.test(a) || Gt(e, 'ill-formed tag prefix (second argument) of the TAG directive'); + try { + a = decodeURIComponent(a); + } catch { + Gt(e, 'tag prefix is malformed: ' + a); + } + e.tagMap[i] = a; + }, 'handleTagDirective') + }; + function Pf(t, e, r, n) { + var i, a, s, l; + if (e < r) { + if (((l = t.input.slice(e, r)), n)) + for (i = 0, a = l.length; i < a; i += 1) + (s = l.charCodeAt(i)), + s === 9 || (32 <= s && s <= 1114111) || Gt(t, 'expected valid JSON character'); + else Ftt.test(l) && Gt(t, 'the stream contains non-printable characters'); + t.result += l; + } + } + o(Pf, 'captureSegment'); + function Bye(t, e, r, n) { + var i, a, s, l; + for ( + Wi.isObject(r) || Gt(t, 'cannot merge mappings; the provided source object is unacceptable'), + i = Object.keys(r), + s = 0, + l = i.length; + s < l; + s += 1 + ) + (a = i[s]), Bf.call(e, a) || ((e[a] = r[a]), (n[a] = !0)); + } + o(Bye, 'mergeMappings'); + function R1(t, e, r, n, i, a, s, l, u) { + var h, f; + if (Array.isArray(i)) + for (i = Array.prototype.slice.call(i), h = 0, f = i.length; h < f; h += 1) + Array.isArray(i[h]) && Gt(t, 'nested arrays are not supported inside keys'), + typeof i == 'object' && Iye(i[h]) === '[object Object]' && (i[h] = '[object Object]'); + if ( + (typeof i == 'object' && Iye(i) === '[object Object]' && (i = '[object Object]'), + (i = String(i)), + e === null && (e = {}), + n === 'tag:yaml.org,2002:merge') + ) + if (Array.isArray(a)) for (h = 0, f = a.length; h < f; h += 1) Bye(t, e, a[h], r); + else Bye(t, e, a, r); + else + !t.json && + !Bf.call(r, i) && + Bf.call(e, i) && + ((t.line = s || t.line), + (t.lineStart = l || t.lineStart), + (t.position = u || t.position), + Gt(t, 'duplicated mapping key')), + i === '__proto__' + ? Object.defineProperty(e, i, { + configurable: !0, + enumerable: !0, + writable: !0, + value: a + }) + : (e[i] = a), + delete r[i]; + return e; + } + o(R1, 'storeMappingPair'); + function fF(t) { + var e; + (e = t.input.charCodeAt(t.position)), + e === 10 + ? t.position++ + : e === 13 + ? (t.position++, t.input.charCodeAt(t.position) === 10 && t.position++) + : Gt(t, 'a line break is expected'), + (t.line += 1), + (t.lineStart = t.position), + (t.firstTabInLine = -1); + } + o(fF, 'readLineBreak'); + function Ai(t, e, r) { + for (var n = 0, i = t.input.charCodeAt(t.position); i !== 0; ) { + for (; rp(i); ) + i === 9 && t.firstTabInLine === -1 && (t.firstTabInLine = t.position), + (i = t.input.charCodeAt(++t.position)); + if (e && i === 35) + do i = t.input.charCodeAt(++t.position); + while (i !== 10 && i !== 13 && i !== 0); + if (qc(i)) + for (fF(t), i = t.input.charCodeAt(t.position), n++, t.lineIndent = 0; i === 32; ) + t.lineIndent++, (i = t.input.charCodeAt(++t.position)); + else break; + } + return r !== -1 && n !== 0 && t.lineIndent < r && TC(t, 'deficient indentation'), n; + } + o(Ai, 'skipSeparationSpace'); + function CC(t) { + var e = t.position, + r; + return ( + (r = t.input.charCodeAt(e)), + !!( + (r === 45 || r === 46) && + r === t.input.charCodeAt(e + 1) && + r === t.input.charCodeAt(e + 2) && + ((e += 3), (r = t.input.charCodeAt(e)), r === 0 || Vs(r)) + ) + ); + } + o(CC, 'testDocumentSeparator'); + function dF(t, e) { + e === 1 + ? (t.result += ' ') + : e > 1 && + (t.result += Wi.repeat( + ` +`, + e - 1 + )); + } + o(dF, 'writeFoldedLines'); + function Wtt(t, e, r) { + var n, + i, + a, + s, + l, + u, + h, + f, + d = t.kind, + p = t.result, + m; + if ( + ((m = t.input.charCodeAt(t.position)), + Vs(m) || + D1(m) || + m === 35 || + m === 38 || + m === 42 || + m === 33 || + m === 124 || + m === 62 || + m === 39 || + m === 34 || + m === 37 || + m === 64 || + m === 96 || + ((m === 63 || m === 45) && ((i = t.input.charCodeAt(t.position + 1)), Vs(i) || (r && D1(i))))) + ) + return !1; + for (t.kind = 'scalar', t.result = '', a = s = t.position, l = !1; m !== 0; ) { + if (m === 58) { + if (((i = t.input.charCodeAt(t.position + 1)), Vs(i) || (r && D1(i)))) break; + } else if (m === 35) { + if (((n = t.input.charCodeAt(t.position - 1)), Vs(n))) break; + } else { + if ((t.position === t.lineStart && CC(t)) || (r && D1(m))) break; + if (qc(m)) + if (((u = t.line), (h = t.lineStart), (f = t.lineIndent), Ai(t, !1, -1), t.lineIndent >= e)) { + (l = !0), (m = t.input.charCodeAt(t.position)); + continue; + } else { + (t.position = s), (t.line = u), (t.lineStart = h), (t.lineIndent = f); + break; + } + } + l && (Pf(t, a, s, !1), dF(t, t.line - u), (a = s = t.position), (l = !1)), + rp(m) || (s = t.position + 1), + (m = t.input.charCodeAt(++t.position)); + } + return Pf(t, a, s, !1), t.result ? !0 : ((t.kind = d), (t.result = p), !1); + } + o(Wtt, 'readPlainScalar'); + function qtt(t, e) { + var r, n, i; + if (((r = t.input.charCodeAt(t.position)), r !== 39)) return !1; + for ( + t.kind = 'scalar', t.result = '', t.position++, n = i = t.position; + (r = t.input.charCodeAt(t.position)) !== 0; + + ) + if (r === 39) + if ((Pf(t, n, t.position, !0), (r = t.input.charCodeAt(++t.position)), r === 39)) + (n = t.position), t.position++, (i = t.position); + else return !0; + else + qc(r) + ? (Pf(t, n, i, !0), dF(t, Ai(t, !1, e)), (n = i = t.position)) + : t.position === t.lineStart && CC(t) + ? Gt(t, 'unexpected end of the document within a single quoted scalar') + : (t.position++, (i = t.position)); + Gt(t, 'unexpected end of the stream within a single quoted scalar'); + } + o(qtt, 'readSingleQuotedScalar'); + function Xtt(t, e) { + var r, n, i, a, s, l; + if (((l = t.input.charCodeAt(t.position)), l !== 34)) return !1; + for ( + t.kind = 'scalar', t.result = '', t.position++, r = n = t.position; + (l = t.input.charCodeAt(t.position)) !== 0; + + ) { + if (l === 34) return Pf(t, r, t.position, !0), t.position++, !0; + if (l === 92) { + if ((Pf(t, r, t.position, !0), (l = t.input.charCodeAt(++t.position)), qc(l))) Ai(t, !1, e); + else if (l < 256 && nve[l]) (t.result += ive[l]), t.position++; + else if ((s = Vtt(l)) > 0) { + for (i = s, a = 0; i > 0; i--) + (l = t.input.charCodeAt(++t.position)), + (s = $tt(l)) >= 0 ? (a = (a << 4) + s) : Gt(t, 'expected hexadecimal character'); + (t.result += Htt(a)), t.position++; + } else Gt(t, 'unknown escape sequence'); + r = n = t.position; + } else + qc(l) + ? (Pf(t, r, n, !0), dF(t, Ai(t, !1, e)), (r = n = t.position)) + : t.position === t.lineStart && CC(t) + ? Gt(t, 'unexpected end of the document within a double quoted scalar') + : (t.position++, (n = t.position)); + } + Gt(t, 'unexpected end of the stream within a double quoted scalar'); + } + o(Xtt, 'readDoubleQuotedScalar'); + function jtt(t, e) { + var r = !0, + n, + i, + a, + s = t.tag, + l, + u = t.anchor, + h, + f, + d, + p, + m, + g = Object.create(null), + y, + v, + x, + b; + if (((b = t.input.charCodeAt(t.position)), b === 91)) (f = 93), (m = !1), (l = []); + else if (b === 123) (f = 125), (m = !0), (l = {}); + else return !1; + for (t.anchor !== null && (t.anchorMap[t.anchor] = l), b = t.input.charCodeAt(++t.position); b !== 0; ) { + if ((Ai(t, !0, e), (b = t.input.charCodeAt(t.position)), b === f)) + return ( + t.position++, (t.tag = s), (t.anchor = u), (t.kind = m ? 'mapping' : 'sequence'), (t.result = l), !0 + ); + r + ? b === 44 && Gt(t, "expected the node content, but found ','") + : Gt(t, 'missed comma between flow collection entries'), + (v = y = x = null), + (d = p = !1), + b === 63 && + ((h = t.input.charCodeAt(t.position + 1)), Vs(h) && ((d = p = !0), t.position++, Ai(t, !0, e))), + (n = t.line), + (i = t.lineStart), + (a = t.position), + N1(t, e, bC, !1, !0), + (v = t.tag), + (y = t.result), + Ai(t, !0, e), + (b = t.input.charCodeAt(t.position)), + (p || t.line === n) && + b === 58 && + ((d = !0), + (b = t.input.charCodeAt(++t.position)), + Ai(t, !0, e), + N1(t, e, bC, !1, !0), + (x = t.result)), + m ? R1(t, l, g, v, y, x, n, i, a) : d ? l.push(R1(t, null, g, v, y, x, n, i, a)) : l.push(y), + Ai(t, !0, e), + (b = t.input.charCodeAt(t.position)), + b === 44 ? ((r = !0), (b = t.input.charCodeAt(++t.position))) : (r = !1); + } + Gt(t, 'unexpected end of the stream within a flow collection'); + } + o(jtt, 'readFlowCollection'); + function Ktt(t, e) { + var r, + n, + i = aF, + a = !1, + s = !1, + l = e, + u = 0, + h = !1, + f, + d; + if (((d = t.input.charCodeAt(t.position)), d === 124)) n = !1; + else if (d === 62) n = !0; + else return !1; + for (t.kind = 'scalar', t.result = ''; d !== 0; ) + if (((d = t.input.charCodeAt(++t.position)), d === 43 || d === 45)) + aF === i ? (i = d === 43 ? Mye : Btt) : Gt(t, 'repeat of a chomping mode identifier'); + else if ((f = Utt(d)) >= 0) + f === 0 + ? Gt(t, 'bad explicit indentation width of a block scalar; it cannot be less than one') + : s + ? Gt(t, 'repeat of an indentation width identifier') + : ((l = e + f - 1), (s = !0)); + else break; + if (rp(d)) { + do d = t.input.charCodeAt(++t.position); + while (rp(d)); + if (d === 35) + do d = t.input.charCodeAt(++t.position); + while (!qc(d) && d !== 0); + } + for (; d !== 0; ) { + for (fF(t), t.lineIndent = 0, d = t.input.charCodeAt(t.position); (!s || t.lineIndent < l) && d === 32; ) + t.lineIndent++, (d = t.input.charCodeAt(++t.position)); + if ((!s && t.lineIndent > l && (l = t.lineIndent), qc(d))) { + u++; + continue; + } + if (t.lineIndent < l) { + i === Mye + ? (t.result += Wi.repeat( + ` +`, + a ? 1 + u : u + )) + : i === aF && + a && + (t.result += ` +`); + break; + } + for ( + n + ? rp(d) + ? ((h = !0), + (t.result += Wi.repeat( + ` +`, + a ? 1 + u : u + ))) + : h + ? ((h = !1), + (t.result += Wi.repeat( + ` +`, + u + 1 + ))) + : u === 0 + ? a && (t.result += ' ') + : (t.result += Wi.repeat( + ` +`, + u + )) + : (t.result += Wi.repeat( + ` +`, + a ? 1 + u : u + )), + a = !0, + s = !0, + u = 0, + r = t.position; + !qc(d) && d !== 0; + + ) + d = t.input.charCodeAt(++t.position); + Pf(t, r, t.position, !1); + } + return !0; + } + o(Ktt, 'readBlockScalar'); + function Fye(t, e) { + var r, + n = t.tag, + i = t.anchor, + a = [], + s, + l = !1, + u; + if (t.firstTabInLine !== -1) return !1; + for ( + t.anchor !== null && (t.anchorMap[t.anchor] = a), u = t.input.charCodeAt(t.position); + u !== 0 && + (t.firstTabInLine !== -1 && + ((t.position = t.firstTabInLine), Gt(t, 'tab characters must not be used in indentation')), + !(u !== 45 || ((s = t.input.charCodeAt(t.position + 1)), !Vs(s)))); + + ) { + if (((l = !0), t.position++, Ai(t, !0, -1) && t.lineIndent <= e)) { + a.push(null), (u = t.input.charCodeAt(t.position)); + continue; + } + if ( + ((r = t.line), + N1(t, e, eve, !1, !0), + a.push(t.result), + Ai(t, !0, -1), + (u = t.input.charCodeAt(t.position)), + (t.line === r || t.lineIndent > e) && u !== 0) + ) + Gt(t, 'bad indentation of a sequence entry'); + else if (t.lineIndent < e) break; + } + return l ? ((t.tag = n), (t.anchor = i), (t.kind = 'sequence'), (t.result = a), !0) : !1; + } + o(Fye, 'readBlockSequence'); + function Qtt(t, e, r) { + var n, + i, + a, + s, + l, + u, + h = t.tag, + f = t.anchor, + d = {}, + p = Object.create(null), + m = null, + g = null, + y = null, + v = !1, + x = !1, + b; + if (t.firstTabInLine !== -1) return !1; + for (t.anchor !== null && (t.anchorMap[t.anchor] = d), b = t.input.charCodeAt(t.position); b !== 0; ) { + if ( + (!v && + t.firstTabInLine !== -1 && + ((t.position = t.firstTabInLine), Gt(t, 'tab characters must not be used in indentation')), + (n = t.input.charCodeAt(t.position + 1)), + (a = t.line), + (b === 63 || b === 58) && Vs(n)) + ) + b === 63 + ? (v && (R1(t, d, p, m, g, null, s, l, u), (m = g = y = null)), (x = !0), (v = !0), (i = !0)) + : v + ? ((v = !1), (i = !0)) + : Gt( + t, + 'incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line' + ), + (t.position += 1), + (b = n); + else { + if (((s = t.line), (l = t.lineStart), (u = t.position), !N1(t, r, Jye, !1, !0))) break; + if (t.line === a) { + for (b = t.input.charCodeAt(t.position); rp(b); ) b = t.input.charCodeAt(++t.position); + if (b === 58) + (b = t.input.charCodeAt(++t.position)), + Vs(b) || + Gt( + t, + 'a whitespace character is expected after the key-value separator within a block mapping' + ), + v && (R1(t, d, p, m, g, null, s, l, u), (m = g = y = null)), + (x = !0), + (v = !1), + (i = !1), + (m = t.tag), + (g = t.result); + else if (x) Gt(t, 'can not read an implicit mapping pair; a colon is missed'); + else return (t.tag = h), (t.anchor = f), !0; + } else if (x) Gt(t, 'can not read a block mapping entry; a multiline key may not be an implicit key'); + else return (t.tag = h), (t.anchor = f), !0; + } + if ( + ((t.line === a || t.lineIndent > e) && + (v && ((s = t.line), (l = t.lineStart), (u = t.position)), + N1(t, e, wC, !0, i) && (v ? (g = t.result) : (y = t.result)), + v || (R1(t, d, p, m, g, y, s, l, u), (m = g = y = null)), + Ai(t, !0, -1), + (b = t.input.charCodeAt(t.position))), + (t.line === a || t.lineIndent > e) && b !== 0) + ) + Gt(t, 'bad indentation of a mapping entry'); + else if (t.lineIndent < e) break; + } + return ( + v && R1(t, d, p, m, g, null, s, l, u), + x && ((t.tag = h), (t.anchor = f), (t.kind = 'mapping'), (t.result = d)), + x + ); + } + o(Qtt, 'readBlockMapping'); + function Ztt(t) { + var e, + r = !1, + n = !1, + i, + a, + s; + if (((s = t.input.charCodeAt(t.position)), s !== 33)) return !1; + if ( + (t.tag !== null && Gt(t, 'duplication of a tag property'), + (s = t.input.charCodeAt(++t.position)), + s === 60 + ? ((r = !0), (s = t.input.charCodeAt(++t.position))) + : s === 33 + ? ((n = !0), (i = '!!'), (s = t.input.charCodeAt(++t.position))) + : (i = '!'), + (e = t.position), + r) + ) { + do s = t.input.charCodeAt(++t.position); + while (s !== 0 && s !== 62); + t.position < t.length + ? ((a = t.input.slice(e, t.position)), (s = t.input.charCodeAt(++t.position))) + : Gt(t, 'unexpected end of the stream within a verbatim tag'); + } else { + for (; s !== 0 && !Vs(s); ) + s === 33 && + (n + ? Gt(t, 'tag suffix cannot contain exclamation marks') + : ((i = t.input.slice(e - 1, t.position + 1)), + tve.test(i) || Gt(t, 'named tag handle cannot contain such characters'), + (n = !0), + (e = t.position + 1))), + (s = t.input.charCodeAt(++t.position)); + (a = t.input.slice(e, t.position)), + Gtt.test(a) && Gt(t, 'tag suffix cannot contain flow indicator characters'); + } + a && !rve.test(a) && Gt(t, 'tag name cannot contain such characters: ' + a); + try { + a = decodeURIComponent(a); + } catch { + Gt(t, 'tag name is malformed: ' + a); + } + return ( + r + ? (t.tag = a) + : Bf.call(t.tagMap, i) + ? (t.tag = t.tagMap[i] + a) + : i === '!' + ? (t.tag = '!' + a) + : i === '!!' + ? (t.tag = 'tag:yaml.org,2002:' + a) + : Gt(t, 'undeclared tag handle "' + i + '"'), + !0 + ); + } + o(Ztt, 'readTagProperty'); + function Jtt(t) { + var e, r; + if (((r = t.input.charCodeAt(t.position)), r !== 38)) return !1; + for ( + t.anchor !== null && Gt(t, 'duplication of an anchor property'), + r = t.input.charCodeAt(++t.position), + e = t.position; + r !== 0 && !Vs(r) && !D1(r); + + ) + r = t.input.charCodeAt(++t.position); + return ( + t.position === e && Gt(t, 'name of an anchor node must contain at least one character'), + (t.anchor = t.input.slice(e, t.position)), + !0 + ); + } + o(Jtt, 'readAnchorProperty'); + function ert(t) { + var e, r, n; + if (((n = t.input.charCodeAt(t.position)), n !== 42)) return !1; + for (n = t.input.charCodeAt(++t.position), e = t.position; n !== 0 && !Vs(n) && !D1(n); ) + n = t.input.charCodeAt(++t.position); + return ( + t.position === e && Gt(t, 'name of an alias node must contain at least one character'), + (r = t.input.slice(e, t.position)), + Bf.call(t.anchorMap, r) || Gt(t, 'unidentified alias "' + r + '"'), + (t.result = t.anchorMap[r]), + Ai(t, !0, -1), + !0 + ); + } + o(ert, 'readAlias'); + function N1(t, e, r, n, i) { + var a, + s, + l, + u = 1, + h = !1, + f = !1, + d, + p, + m, + g, + y, + v; + if ( + (t.listener !== null && t.listener('open', t), + (t.tag = null), + (t.anchor = null), + (t.kind = null), + (t.result = null), + (a = s = l = wC === r || eve === r), + n && + Ai(t, !0, -1) && + ((h = !0), t.lineIndent > e ? (u = 1) : t.lineIndent === e ? (u = 0) : t.lineIndent < e && (u = -1)), + u === 1) + ) + for (; Ztt(t) || Jtt(t); ) + Ai(t, !0, -1) + ? ((h = !0), + (l = a), + t.lineIndent > e ? (u = 1) : t.lineIndent === e ? (u = 0) : t.lineIndent < e && (u = -1)) + : (l = !1); + if ( + (l && (l = h || i), + (u === 1 || wC === r) && + (bC === r || Jye === r ? (y = e) : (y = e + 1), + (v = t.position - t.lineStart), + u === 1 + ? (l && (Fye(t, v) || Qtt(t, v, y))) || jtt(t, y) + ? (f = !0) + : ((s && Ktt(t, y)) || qtt(t, y) || Xtt(t, y) + ? (f = !0) + : ert(t) + ? ((f = !0), + (t.tag !== null || t.anchor !== null) && + Gt(t, 'alias node should not have any properties')) + : Wtt(t, y, bC === r) && ((f = !0), t.tag === null && (t.tag = '?')), + t.anchor !== null && (t.anchorMap[t.anchor] = t.result)) + : u === 0 && (f = l && Fye(t, v))), + t.tag === null) + ) + t.anchor !== null && (t.anchorMap[t.anchor] = t.result); + else if (t.tag === '?') { + for ( + t.result !== null && + t.kind !== 'scalar' && + Gt(t, 'unacceptable node kind for ! tag; it should be "scalar", not "' + t.kind + '"'), + d = 0, + p = t.implicitTypes.length; + d < p; + d += 1 + ) + if (((g = t.implicitTypes[d]), g.resolve(t.result))) { + (t.result = g.construct(t.result)), + (t.tag = g.tag), + t.anchor !== null && (t.anchorMap[t.anchor] = t.result); + break; + } + } else if (t.tag !== '!') { + if (Bf.call(t.typeMap[t.kind || 'fallback'], t.tag)) g = t.typeMap[t.kind || 'fallback'][t.tag]; + else + for (g = null, m = t.typeMap.multi[t.kind || 'fallback'], d = 0, p = m.length; d < p; d += 1) + if (t.tag.slice(0, m[d].tag.length) === m[d].tag) { + g = m[d]; + break; + } + g || Gt(t, 'unknown tag !<' + t.tag + '>'), + t.result !== null && + g.kind !== t.kind && + Gt( + t, + 'unacceptable node kind for !<' + + t.tag + + '> tag; it should be "' + + g.kind + + '", not "' + + t.kind + + '"' + ), + g.resolve(t.result, t.tag) + ? ((t.result = g.construct(t.result, t.tag)), + t.anchor !== null && (t.anchorMap[t.anchor] = t.result)) + : Gt(t, 'cannot resolve a node with !<' + t.tag + '> explicit tag'); + } + return t.listener !== null && t.listener('close', t), t.tag !== null || t.anchor !== null || f; + } + o(N1, 'composeNode'); + function trt(t) { + var e = t.position, + r, + n, + i, + a = !1, + s; + for ( + t.version = null, + t.checkLineBreaks = t.legacy, + t.tagMap = Object.create(null), + t.anchorMap = Object.create(null); + (s = t.input.charCodeAt(t.position)) !== 0 && + (Ai(t, !0, -1), (s = t.input.charCodeAt(t.position)), !(t.lineIndent > 0 || s !== 37)); + + ) { + for (a = !0, s = t.input.charCodeAt(++t.position), r = t.position; s !== 0 && !Vs(s); ) + s = t.input.charCodeAt(++t.position); + for ( + n = t.input.slice(r, t.position), + i = [], + n.length < 1 && Gt(t, 'directive name must not be less than one character in length'); + s !== 0; + + ) { + for (; rp(s); ) s = t.input.charCodeAt(++t.position); + if (s === 35) { + do s = t.input.charCodeAt(++t.position); + while (s !== 0 && !qc(s)); + break; + } + if (qc(s)) break; + for (r = t.position; s !== 0 && !Vs(s); ) s = t.input.charCodeAt(++t.position); + i.push(t.input.slice(r, t.position)); + } + s !== 0 && fF(t), Bf.call(Pye, n) ? Pye[n](t, n, i) : TC(t, 'unknown document directive "' + n + '"'); + } + if ( + (Ai(t, !0, -1), + t.lineIndent === 0 && + t.input.charCodeAt(t.position) === 45 && + t.input.charCodeAt(t.position + 1) === 45 && + t.input.charCodeAt(t.position + 2) === 45 + ? ((t.position += 3), Ai(t, !0, -1)) + : a && Gt(t, 'directives end mark is expected'), + N1(t, t.lineIndent - 1, wC, !1, !0), + Ai(t, !0, -1), + t.checkLineBreaks && + ztt.test(t.input.slice(e, t.position)) && + TC(t, 'non-ASCII line breaks are interpreted as content'), + t.documents.push(t.result), + t.position === t.lineStart && CC(t)) + ) { + t.input.charCodeAt(t.position) === 46 && ((t.position += 3), Ai(t, !0, -1)); + return; + } + if (t.position < t.length - 1) Gt(t, 'end of the stream or a document separator is expected'); + else return; + } + o(trt, 'readDocument'); + function sve(t, e) { + (t = String(t)), + (e = e || {}), + t.length !== 0 && + (t.charCodeAt(t.length - 1) !== 10 && + t.charCodeAt(t.length - 1) !== 13 && + (t += ` +`), + t.charCodeAt(0) === 65279 && (t = t.slice(1))); + var r = new Ytt(t, e), + n = t.indexOf('\0'); + for ( + n !== -1 && ((r.position = n), Gt(r, 'null byte is not allowed in input')), r.input += '\0'; + r.input.charCodeAt(r.position) === 32; + + ) + (r.lineIndent += 1), (r.position += 1); + for (; r.position < r.length - 1; ) trt(r); + return r.documents; + } + o(sve, 'loadDocuments'); + function rrt(t, e, r) { + e !== null && typeof e == 'object' && typeof r > 'u' && ((r = e), (e = null)); + var n = sve(t, r); + if (typeof e != 'function') return n; + for (var i = 0, a = n.length; i < a; i += 1) e(n[i]); + } + o(rrt, 'loadAll$1'); + function nrt(t, e) { + var r = sve(t, e); + if (r.length !== 0) { + if (r.length === 1) return r[0]; + throw new $s('expected a single document in the stream, but found more'); + } + } + o(nrt, 'load$1'); + var irt = rrt, + art = nrt, + ove = { loadAll: irt, load: art }, + lve = Object.prototype.toString, + cve = Object.prototype.hasOwnProperty, + pF = 65279, + srt = 9, + Cb = 10, + ort = 13, + lrt = 32, + crt = 33, + urt = 34, + oF = 35, + hrt = 37, + frt = 38, + drt = 39, + prt = 42, + uve = 44, + mrt = 45, + kC = 58, + grt = 61, + yrt = 62, + vrt = 63, + xrt = 64, + hve = 91, + fve = 93, + brt = 96, + dve = 123, + wrt = 124, + pve = 125, + Ua = {}; + Ua[0] = '\\0'; + Ua[7] = '\\a'; + Ua[8] = '\\b'; + Ua[9] = '\\t'; + Ua[10] = '\\n'; + Ua[11] = '\\v'; + Ua[12] = '\\f'; + Ua[13] = '\\r'; + Ua[27] = '\\e'; + Ua[34] = '\\"'; + Ua[92] = '\\\\'; + Ua[133] = '\\N'; + Ua[160] = '\\_'; + Ua[8232] = '\\L'; + Ua[8233] = '\\P'; + var Trt = ['y', 'Y', 'yes', 'Yes', 'YES', 'on', 'On', 'ON', 'n', 'N', 'no', 'No', 'NO', 'off', 'Off', 'OFF'], + krt = /^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/; + function Ert(t, e) { + var r, n, i, a, s, l, u; + if (e === null) return {}; + for (r = {}, n = Object.keys(e), i = 0, a = n.length; i < a; i += 1) + (s = n[i]), + (l = String(e[s])), + s.slice(0, 2) === '!!' && (s = 'tag:yaml.org,2002:' + s.slice(2)), + (u = t.compiledTypeMap.fallback[s]), + u && cve.call(u.styleAliases, l) && (l = u.styleAliases[l]), + (r[s] = l); + return r; + } + o(Ert, 'compileStyleMap'); + function Crt(t) { + var e, r, n; + if (((e = t.toString(16).toUpperCase()), t <= 255)) (r = 'x'), (n = 2); + else if (t <= 65535) (r = 'u'), (n = 4); + else if (t <= 4294967295) (r = 'U'), (n = 8); + else throw new $s('code point within a string may not be greater than 0xFFFFFFFF'); + return '\\' + r + Wi.repeat('0', n - e.length) + e; + } + o(Crt, 'encodeHex'); + var Srt = 1, + Sb = 2; + function Art(t) { + (this.schema = t.schema || Zye), + (this.indent = Math.max(1, t.indent || 2)), + (this.noArrayIndent = t.noArrayIndent || !1), + (this.skipInvalid = t.skipInvalid || !1), + (this.flowLevel = Wi.isNothing(t.flowLevel) ? -1 : t.flowLevel), + (this.styleMap = Ert(this.schema, t.styles || null)), + (this.sortKeys = t.sortKeys || !1), + (this.lineWidth = t.lineWidth || 80), + (this.noRefs = t.noRefs || !1), + (this.noCompatMode = t.noCompatMode || !1), + (this.condenseFlow = t.condenseFlow || !1), + (this.quotingType = t.quotingType === '"' ? Sb : Srt), + (this.forceQuotes = t.forceQuotes || !1), + (this.replacer = typeof t.replacer == 'function' ? t.replacer : null), + (this.implicitTypes = this.schema.compiledImplicit), + (this.explicitTypes = this.schema.compiledExplicit), + (this.tag = null), + (this.result = ''), + (this.duplicates = []), + (this.usedDuplicates = null); + } + o(Art, 'State'); + function zye(t, e) { + for (var r = Wi.repeat(' ', e), n = 0, i = -1, a = '', s, l = t.length; n < l; ) + (i = t.indexOf( + ` +`, + n + )), + i === -1 ? ((s = t.slice(n)), (n = l)) : ((s = t.slice(n, i + 1)), (n = i + 1)), + s.length && + s !== + ` +` && + (a += r), + (a += s); + return a; + } + o(zye, 'indentString'); + function lF(t, e) { + return ( + ` +` + Wi.repeat(' ', t.indent * e) + ); + } + o(lF, 'generateNextLine'); + function _rt(t, e) { + var r, n, i; + for (r = 0, n = t.implicitTypes.length; r < n; r += 1) if (((i = t.implicitTypes[r]), i.resolve(e))) return !0; + return !1; + } + o(_rt, 'testImplicitResolving'); + function EC(t) { + return t === lrt || t === srt; + } + o(EC, 'isWhitespace'); + function Ab(t) { + return ( + (32 <= t && t <= 126) || + (161 <= t && t <= 55295 && t !== 8232 && t !== 8233) || + (57344 <= t && t <= 65533 && t !== pF) || + (65536 <= t && t <= 1114111) + ); + } + o(Ab, 'isPrintable'); + function Gye(t) { + return Ab(t) && t !== pF && t !== ort && t !== Cb; + } + o(Gye, 'isNsCharOrWhitespace'); + function $ye(t, e, r) { + var n = Gye(t), + i = n && !EC(t); + return ( + ((r ? n : n && t !== uve && t !== hve && t !== fve && t !== dve && t !== pve) && + t !== oF && + !(e === kC && !i)) || + (Gye(e) && !EC(e) && t === oF) || + (e === kC && i) + ); + } + o($ye, 'isPlainSafe'); + function Lrt(t) { + return ( + Ab(t) && + t !== pF && + !EC(t) && + t !== mrt && + t !== vrt && + t !== kC && + t !== uve && + t !== hve && + t !== fve && + t !== dve && + t !== pve && + t !== oF && + t !== frt && + t !== prt && + t !== crt && + t !== wrt && + t !== grt && + t !== yrt && + t !== drt && + t !== urt && + t !== hrt && + t !== xrt && + t !== brt + ); + } + o(Lrt, 'isPlainSafeFirst'); + function Drt(t) { + return !EC(t) && t !== kC; + } + o(Drt, 'isPlainSafeLast'); + function kb(t, e) { + var r = t.charCodeAt(e), + n; + return r >= 55296 && r <= 56319 && e + 1 < t.length && ((n = t.charCodeAt(e + 1)), n >= 56320 && n <= 57343) + ? (r - 55296) * 1024 + n - 56320 + 65536 + : r; + } + o(kb, 'codePointAt'); + function mve(t) { + var e = /^\n* /; + return e.test(t); + } + o(mve, 'needIndentIndicator'); + var gve = 1, + cF = 2, + yve = 3, + vve = 4, + L1 = 5; + function Rrt(t, e, r, n, i, a, s, l) { + var u, + h = 0, + f = null, + d = !1, + p = !1, + m = n !== -1, + g = -1, + y = Lrt(kb(t, 0)) && Drt(kb(t, t.length - 1)); + if (e || s) + for (u = 0; u < t.length; h >= 65536 ? (u += 2) : u++) { + if (((h = kb(t, u)), !Ab(h))) return L1; + (y = y && $ye(h, f, l)), (f = h); + } + else { + for (u = 0; u < t.length; h >= 65536 ? (u += 2) : u++) { + if (((h = kb(t, u)), h === Cb)) + (d = !0), m && ((p = p || (u - g - 1 > n && t[g + 1] !== ' ')), (g = u)); + else if (!Ab(h)) return L1; + (y = y && $ye(h, f, l)), (f = h); + } + p = p || (m && u - g - 1 > n && t[g + 1] !== ' '); + } + return !d && !p + ? y && !s && !i(t) + ? gve + : a === Sb + ? L1 + : cF + : r > 9 && mve(t) + ? L1 + : s + ? a === Sb + ? L1 + : cF + : p + ? vve + : yve; + } + o(Rrt, 'chooseScalarStyle'); + function Nrt(t, e, r, n, i) { + t.dump = (function () { + if (e.length === 0) return t.quotingType === Sb ? '""' : "''"; + if (!t.noCompatMode && (Trt.indexOf(e) !== -1 || krt.test(e))) + return t.quotingType === Sb ? '"' + e + '"' : "'" + e + "'"; + var a = t.indent * Math.max(1, r), + s = t.lineWidth === -1 ? -1 : Math.max(Math.min(t.lineWidth, 40), t.lineWidth - a), + l = n || (t.flowLevel > -1 && r >= t.flowLevel); + function u(h) { + return _rt(t, h); + } + switch ((o(u, 'testAmbiguity'), Rrt(e, l, t.indent, s, u, t.quotingType, t.forceQuotes && !n, i))) { + case gve: + return e; + case cF: + return "'" + e.replace(/'/g, "''") + "'"; + case yve: + return '|' + Vye(e, t.indent) + Uye(zye(e, a)); + case vve: + return '>' + Vye(e, t.indent) + Uye(zye(Mrt(e, s), a)); + case L1: + return '"' + Irt(e) + '"'; + default: + throw new $s('impossible error: invalid scalar style'); + } + })(); + } + o(Nrt, 'writeScalar'); + function Vye(t, e) { + var r = mve(t) ? String(e) : '', + n = + t[t.length - 1] === + ` +`, + i = + n && + (t[t.length - 2] === + ` +` || + t === + ` +`), + a = i ? '+' : n ? '' : '-'; + return ( + r + + a + + ` +` + ); + } + o(Vye, 'blockHeader'); + function Uye(t) { + return t[t.length - 1] === + ` +` + ? t.slice(0, -1) + : t; + } + o(Uye, 'dropEndingNewline'); + function Mrt(t, e) { + for ( + var r = /(\n+)([^\n]*)/g, + n = (function () { + var h = t.indexOf(` +`); + return (h = h !== -1 ? h : t.length), (r.lastIndex = h), Hye(t.slice(0, h), e); + })(), + i = + t[0] === + ` +` || t[0] === ' ', + a, + s; + (s = r.exec(t)); + + ) { + var l = s[1], + u = s[2]; + (a = u[0] === ' '), + (n += + l + + (!i && !a && u !== '' + ? ` +` + : '') + + Hye(u, e)), + (i = a); + } + return n; + } + o(Mrt, 'foldString'); + function Hye(t, e) { + if (t === '' || t[0] === ' ') return t; + for (var r = / [^ ]/g, n, i = 0, a, s = 0, l = 0, u = ''; (n = r.exec(t)); ) + (l = n.index), + l - i > e && + ((a = s > i ? s : l), + (u += + ` +` + t.slice(i, a)), + (i = a + 1)), + (s = l); + return ( + (u += ` +`), + t.length - i > e && s > i + ? (u += + t.slice(i, s) + + ` +` + + t.slice(s + 1)) + : (u += t.slice(i)), + u.slice(1) + ); + } + o(Hye, 'foldLine'); + function Irt(t) { + for (var e = '', r = 0, n, i = 0; i < t.length; r >= 65536 ? (i += 2) : i++) + (r = kb(t, i)), + (n = Ua[r]), + !n && Ab(r) ? ((e += t[i]), r >= 65536 && (e += t[i + 1])) : (e += n || Crt(r)); + return e; + } + o(Irt, 'escapeString'); + function Ort(t, e, r) { + var n = '', + i = t.tag, + a, + s, + l; + for (a = 0, s = r.length; a < s; a += 1) + (l = r[a]), + t.replacer && (l = t.replacer.call(r, String(a), l)), + (rh(t, e, l, !1, !1) || (typeof l > 'u' && rh(t, e, null, !1, !1))) && + (n !== '' && (n += ',' + (t.condenseFlow ? '' : ' ')), (n += t.dump)); + (t.tag = i), (t.dump = '[' + n + ']'); + } + o(Ort, 'writeFlowSequence'); + function Yye(t, e, r, n) { + var i = '', + a = t.tag, + s, + l, + u; + for (s = 0, l = r.length; s < l; s += 1) + (u = r[s]), + t.replacer && (u = t.replacer.call(r, String(s), u)), + (rh(t, e + 1, u, !0, !0, !1, !0) || (typeof u > 'u' && rh(t, e + 1, null, !0, !0, !1, !0))) && + ((!n || i !== '') && (i += lF(t, e)), + t.dump && Cb === t.dump.charCodeAt(0) ? (i += '-') : (i += '- '), + (i += t.dump)); + (t.tag = a), (t.dump = i || '[]'); + } + o(Yye, 'writeBlockSequence'); + function Prt(t, e, r) { + var n = '', + i = t.tag, + a = Object.keys(r), + s, + l, + u, + h, + f; + for (s = 0, l = a.length; s < l; s += 1) + (f = ''), + n !== '' && (f += ', '), + t.condenseFlow && (f += '"'), + (u = a[s]), + (h = r[u]), + t.replacer && (h = t.replacer.call(r, u, h)), + rh(t, e, u, !1, !1) && + (t.dump.length > 1024 && (f += '? '), + (f += t.dump + (t.condenseFlow ? '"' : '') + ':' + (t.condenseFlow ? '' : ' ')), + rh(t, e, h, !1, !1) && ((f += t.dump), (n += f))); + (t.tag = i), (t.dump = '{' + n + '}'); + } + o(Prt, 'writeFlowMapping'); + function Brt(t, e, r, n) { + var i = '', + a = t.tag, + s = Object.keys(r), + l, + u, + h, + f, + d, + p; + if (t.sortKeys === !0) s.sort(); + else if (typeof t.sortKeys == 'function') s.sort(t.sortKeys); + else if (t.sortKeys) throw new $s('sortKeys must be a boolean or a function'); + for (l = 0, u = s.length; l < u; l += 1) + (p = ''), + (!n || i !== '') && (p += lF(t, e)), + (h = s[l]), + (f = r[h]), + t.replacer && (f = t.replacer.call(r, h, f)), + rh(t, e + 1, h, !0, !0, !0) && + ((d = (t.tag !== null && t.tag !== '?') || (t.dump && t.dump.length > 1024)), + d && (t.dump && Cb === t.dump.charCodeAt(0) ? (p += '?') : (p += '? ')), + (p += t.dump), + d && (p += lF(t, e)), + rh(t, e + 1, f, !0, d) && + (t.dump && Cb === t.dump.charCodeAt(0) ? (p += ':') : (p += ': '), (p += t.dump), (i += p))); + (t.tag = a), (t.dump = i || '{}'); + } + o(Brt, 'writeBlockMapping'); + function Wye(t, e, r) { + var n, i, a, s, l, u; + for (i = r ? t.explicitTypes : t.implicitTypes, a = 0, s = i.length; a < s; a += 1) + if ( + ((l = i[a]), + (l.instanceOf || l.predicate) && + (!l.instanceOf || (typeof e == 'object' && e instanceof l.instanceOf)) && + (!l.predicate || l.predicate(e))) + ) { + if ( + (r ? (l.multi && l.representName ? (t.tag = l.representName(e)) : (t.tag = l.tag)) : (t.tag = '?'), + l.represent) + ) { + if (((u = t.styleMap[l.tag] || l.defaultStyle), lve.call(l.represent) === '[object Function]')) + n = l.represent(e, u); + else if (cve.call(l.represent, u)) n = l.represent[u](e, u); + else throw new $s('!<' + l.tag + '> tag resolver accepts not "' + u + '" style'); + t.dump = n; + } + return !0; + } + return !1; + } + o(Wye, 'detectType'); + function rh(t, e, r, n, i, a, s) { + (t.tag = null), (t.dump = r), Wye(t, r, !1) || Wye(t, r, !0); + var l = lve.call(t.dump), + u = n, + h; + n && (n = t.flowLevel < 0 || t.flowLevel > e); + var f = l === '[object Object]' || l === '[object Array]', + d, + p; + if ( + (f && ((d = t.duplicates.indexOf(r)), (p = d !== -1)), + ((t.tag !== null && t.tag !== '?') || p || (t.indent !== 2 && e > 0)) && (i = !1), + p && t.usedDuplicates[d]) + ) + t.dump = '*ref_' + d; + else { + if ((f && p && !t.usedDuplicates[d] && (t.usedDuplicates[d] = !0), l === '[object Object]')) + n && Object.keys(t.dump).length !== 0 + ? (Brt(t, e, t.dump, i), p && (t.dump = '&ref_' + d + t.dump)) + : (Prt(t, e, t.dump), p && (t.dump = '&ref_' + d + ' ' + t.dump)); + else if (l === '[object Array]') + n && t.dump.length !== 0 + ? (t.noArrayIndent && !s && e > 0 ? Yye(t, e - 1, t.dump, i) : Yye(t, e, t.dump, i), + p && (t.dump = '&ref_' + d + t.dump)) + : (Ort(t, e, t.dump), p && (t.dump = '&ref_' + d + ' ' + t.dump)); + else if (l === '[object String]') t.tag !== '?' && Nrt(t, t.dump, e, a, u); + else { + if (l === '[object Undefined]') return !1; + if (t.skipInvalid) return !1; + throw new $s('unacceptable kind of an object to dump ' + l); + } + t.tag !== null && + t.tag !== '?' && + ((h = encodeURI(t.tag[0] === '!' ? t.tag.slice(1) : t.tag).replace(/!/g, '%21')), + t.tag[0] === '!' + ? (h = '!' + h) + : h.slice(0, 18) === 'tag:yaml.org,2002:' + ? (h = '!!' + h.slice(18)) + : (h = '!<' + h + '>'), + (t.dump = h + ' ' + t.dump)); + } + return !0; + } + o(rh, 'writeNode'); + function Frt(t, e) { + var r = [], + n = [], + i, + a; + for (uF(t, r, n), i = 0, a = n.length; i < a; i += 1) e.duplicates.push(r[n[i]]); + e.usedDuplicates = new Array(a); + } + o(Frt, 'getDuplicateReferences'); + function uF(t, e, r) { + var n, i, a; + if (t !== null && typeof t == 'object') + if (((i = e.indexOf(t)), i !== -1)) r.indexOf(i) === -1 && r.push(i); + else if ((e.push(t), Array.isArray(t))) for (i = 0, a = t.length; i < a; i += 1) uF(t[i], e, r); + else for (n = Object.keys(t), i = 0, a = n.length; i < a; i += 1) uF(t[n[i]], e, r); + } + o(uF, 'inspectNode'); + function zrt(t, e) { + e = e || {}; + var r = new Art(e); + r.noRefs || Frt(t, r); + var n = t; + return ( + r.replacer && (n = r.replacer.call({ '': n }, '', n)), + rh(r, 0, n, !0, !0) + ? r.dump + + ` +` + : '' + ); + } + o(zrt, 'dump$1'); + var Grt = zrt, + $rt = { dump: Grt }; + function mF(t, e) { + return function () { + throw new Error( + 'Function yaml.' + + t + + ' is removed in js-yaml 4. Use yaml.' + + e + + ' instead, which is now safe by default.' + ); + }; + } + o(mF, 'renamed'); + var xve = jye; + var bve = ove.load, + gmr = ove.loadAll, + ymr = $rt.dump; + var vmr = mF('safeLoad', 'load'), + xmr = mF('safeLoadAll', 'loadAll'), + bmr = mF('safeDump', 'dump'); + function wve(t) { + let e = t.match($b); + if (!e) return { text: t, metadata: {} }; + let r = bve(e[1], { schema: xve }) ?? {}; + r = typeof r == 'object' && !Array.isArray(r) ? r : {}; + let n = {}; + return ( + r.displayMode && (n.displayMode = r.displayMode.toString()), + r.title && (n.title = r.title.toString()), + r.config && (n.config = r.config), + { text: t.slice(e[0].length), metadata: n } + ); + } + o(wve, 'extractFrontMatter'); + xr(); + var Urt = o( + (t) => + t + .replace( + /\r\n?/g, + ` +` + ) + .replace(/<(\w+)([^>]*)>/g, (e, r, n) => '<' + r + n.replace(/="([^"]*)"/g, "='$1'") + '>'), + 'cleanupText' + ), + Hrt = o((t) => { + let { text: e, metadata: r } = wve(t), + { displayMode: n, title: i, config: a = {} } = r; + return n && (a.gantt || (a.gantt = {}), (a.gantt.displayMode = n)), { title: i, config: a, text: e }; + }, 'processFrontmatter'), + Yrt = o((t) => { + let e = Lt.detectInit(t) ?? {}, + r = Lt.detectDirective(t, 'wrap'); + return ( + Array.isArray(r) + ? (e.wrap = r.some(({ type: n }) => n === 'wrap')) + : r?.type === 'wrap' && (e.wrap = !0), + { text: EX(t), directive: e } + ); + }, 'processDirectives'); + function gF(t) { + let e = Urt(t), + r = Hrt(e), + n = Yrt(r.text), + i = Ts(r.config, n.directive); + return (t = Rye(n.text)), { code: t, title: r.title, config: i }; + } + o(gF, 'preprocessDiagram'); + Z7(); + Kb(); + xr(); + function Tve(t) { + let e = new TextEncoder().encode(t), + r = Array.from(e, (n) => String.fromCodePoint(n)).join(''); + return btoa(r); + } + o(Tve, 'toBase64'); + var Wrt = 5e4, + qrt = 'graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa', + Xrt = 'sandbox', + jrt = 'loose', + Krt = 'http://www.w3.org/2000/svg', + Qrt = 'http://www.w3.org/1999/xlink', + Zrt = 'http://www.w3.org/1999/xhtml', + Jrt = '100%', + ent = '100%', + tnt = 'border:0;margin:0;', + rnt = 'margin:0', + nnt = 'allow-top-navigation-by-user-activation allow-popups', + int = 'The "iframe" tag is not supported by your browser.', + ant = ['foreignobject'], + snt = ['dominant-baseline']; + function Ave(t) { + let e = gF(t); + return Q1(), jz(e.config ?? {}), e; + } + o(Ave, 'processAndSetConfigs'); + async function ont(t, e) { + k1(); + try { + let { code: r, config: n } = Ave(t); + return { diagramType: (await _ve(r)).type, config: n }; + } catch (r) { + if (e?.suppressErrors) return !1; + throw r; + } + } + o(ont, 'parse'); + var kve = o( + (t, e, r = []) => ` +.${t} ${e} { ${r.join(' !important; ')} !important; }`, + 'cssImportantStyles' + ), + lnt = o((t, e = new Map()) => { + let r = ''; + if ( + (t.themeCSS !== void 0 && + (r += ` +${t.themeCSS}`), + t.fontFamily !== void 0 && + (r += ` +:root { --mermaid-font-family: ${t.fontFamily}}`), + t.altFontFamily !== void 0 && + (r += ` +:root { --mermaid-alt-font-family: ${t.altFontFamily}}`), + e instanceof Map) + ) { + let s = + t.htmlLabels ?? t.flowchart?.htmlLabels + ? ['> *', 'span'] + : ['rect', 'polygon', 'ellipse', 'circle', 'path']; + e.forEach((l) => { + Qt(l.styles) || + s.forEach((u) => { + r += kve(l.id, u, l.styles); + }), + Qt(l.textStyles) || + (r += kve( + l.id, + 'tspan', + (l?.textStyles || []).map((u) => u.replace('color', 'fill')) + )); + }); + } + return r; + }, 'createCssStyles'), + cnt = o((t, e, r, n) => { + let i = lnt(t, r), + a = D$(e, i, t.themeVariables); + return xC(Cye(`${n}{${a}}`), Sye); + }, 'createUserStyles'), + unt = o((t = '', e, r) => { + let n = t; + return ( + !r && !e && (n = n.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g, 'marker-end="url(#')), + (n = to(n)), + (n = n.replace(/
    /g, '
    ')), + n + ); + }, 'cleanUpSvgCode'), + hnt = o((t = '', e) => { + let r = e?.viewBox?.baseVal?.height ? e.viewBox.baseVal.height + 'px' : ent, + n = Tve(`${t}`); + return ``; + }, 'putIntoIFrame'), + Eve = o((t, e, r, n, i) => { + let a = t.append('div'); + a.attr('id', r), n && a.attr('style', n); + let s = a.append('svg').attr('id', e).attr('width', '100%').attr('xmlns', Krt); + return i && s.attr('xmlns:xlink', i), s.append('g'), t; + }, 'appendDivSvgG'); + function Cve(t, e) { + return t.append('iframe').attr('id', e).attr('style', 'width: 100%; height: 100%;').attr('sandbox', ''); + } + o(Cve, 'sandboxedIframe'); + var fnt = o((t, e, r, n) => { + t.getElementById(e)?.remove(), t.getElementById(r)?.remove(), t.getElementById(n)?.remove(); + }, 'removeExistingElements'), + dnt = o(async function (t, e, r) { + k1(); + let n = Ave(e); + e = n.code; + let i = Or(); + V.debug(i), e.length > (i?.maxTextSize ?? Wrt) && (e = qrt); + let a = '#' + t, + s = 'i' + t, + l = '#' + s, + u = 'd' + t, + h = '#' + u, + f = o(() => { + let I = $e(p ? l : h).node(); + I && 'remove' in I && I.remove(); + }, 'removeTempElements'), + d = $e('body'), + p = i.securityLevel === Xrt, + m = i.securityLevel === jrt, + g = i.fontFamily; + if (r !== void 0) { + if ((r && (r.innerHTML = ''), p)) { + let k = Cve($e(r), s); + (d = $e(k.nodes()[0].contentDocument.body)), (d.node().style.margin = 0); + } else d = $e(r); + Eve(d, t, u, `font-family: ${g}`, Qrt); + } else { + if ((fnt(document, t, u, s), p)) { + let k = Cve($e('body'), s); + (d = $e(k.nodes()[0].contentDocument.body)), (d.node().style.margin = 0); + } else d = $e('body'); + Eve(d, t, u); + } + let y, v; + try { + y = await _1.fromText(e, { title: n.title }); + } catch (k) { + if (i.suppressErrorRendering) throw (f(), k); + (y = await _1.fromText('error')), (v = k); + } + let x = d.select(h).node(), + b = y.type, + w = x.firstChild, + S = w.firstChild, + T = y.renderer.getClasses?.(e, y), + E = cnt(i, b, T, a), + _ = document.createElement('style'); + (_.innerHTML = E), w.insertBefore(_, S); + try { + await y.renderer.draw(e, t, fx, y); + } catch (k) { + throw (i.suppressErrorRendering ? f() : Ede.draw(e, t, fx), k); + } + let A = d.select(`${h} svg`), + L = y.db.getAccTitle?.(), + M = y.db.getAccDescription?.(); + mnt(b, A, L, M), d.select(`[id="${t}"]`).selectAll('foreignobject > *').attr('xmlns', Zrt); + let N = d.select(h).node().innerHTML; + if ( + (V.debug('config.arrowMarkerAbsolute', i.arrowMarkerAbsolute), + (N = unt(N, p, yr(i.arrowMarkerAbsolute))), + p) + ) { + let k = d.select(h + ' svg').node(); + N = hnt(N, k); + } else m || (N = Sve.default.sanitize(N, { ADD_TAGS: ant, ADD_ATTR: snt })); + if ((Dye(), v)) throw v; + return f(), { diagramType: b, svg: N, bindFunctions: y.db.bindFunctions }; + }, 'render'); + function pnt(t = {}) { + let e = On({}, t); + e?.fontFamily && + !e.themeVariables?.fontFamily && + (e.themeVariables || (e.themeVariables = {}), (e.themeVariables.fontFamily = e.fontFamily)), + Wz(e), + e?.theme && e.theme in Co + ? (e.themeVariables = Co[e.theme].getThemeVariables(e.themeVariables)) + : e && (e.themeVariables = Co.default.getThemeVariables(e.themeVariables)); + let r = typeof e == 'object' ? n7(e) : i7(); + $1(r.logLevel), k1(); + } + o(pnt, 'initialize'); + var _ve = o((t, e = {}) => { + let { code: r } = gF(t); + return _1.fromText(r, e); + }, 'getDiagramFromText'); + function mnt(t, e, r, n) { + Aye(e, t), _ye(e, r, n, e.attr('id')); + } + o(mnt, 'addA11yInfo'); + var Ff = Object.freeze({ + render: dnt, + parse: ont, + getDiagramFromText: _ve, + initialize: pnt, + getConfig: Or, + setConfig: Zb, + getSiteConfig: i7, + updateSiteConfig: qz, + reset: o(() => { + Q1(); + }, 'reset'), + globalReset: o(() => { + Q1(uh); + }, 'globalReset'), + defaultConfig: uh + }); + $1(Or().logLevel); + Q1(Or()); + oT(); + xr(); + var gnt = o((t, e, r) => { + V.warn(t), + r9(t) + ? (r && r(t.str, t.hash), e.push({ ...t, message: t.str, error: t })) + : (r && r(t), + t instanceof Error && + e.push({ + str: t.message, + message: t.message, + hash: t.name, + error: t + })); + }, 'handleError'), + Lve = o(async function (t = { querySelector: '.mermaid' }) { + try { + await ynt(t); + } catch (e) { + if ((r9(e) && V.error(e.str), nh.parseError && nh.parseError(e), !t.suppressErrors)) + throw (V.error('Use the suppressErrors option to suppress these errors'), e); + } + }, 'run'), + ynt = o(async function ( + { postRenderCallback: t, querySelector: e, nodes: r } = { + querySelector: '.mermaid' + } + ) { + let n = Ff.getConfig(); + V.debug(`${t ? '' : 'No '}Callback function found`); + let i; + if (r) i = r; + else if (e) i = document.querySelectorAll(e); + else throw new Error('Nodes and querySelector are both undefined'); + V.debug(`Found ${i.length} diagrams`), + n?.startOnLoad !== void 0 && + (V.debug('Start On Load: ' + n?.startOnLoad), Ff.updateSiteConfig({ startOnLoad: n?.startOnLoad })); + let a = new Lt.InitIDGenerator(n.deterministicIds, n.deterministicIDSeed), + s, + l = []; + for (let u of Array.from(i)) { + V.info('Rendering diagram: ' + u.id); + if (u.getAttribute('data-processed')) continue; + u.setAttribute('data-processed', 'true'); + let h = `mermaid-${a.next()}`; + (s = u.innerHTML), + (s = Gb(Lt.entityDecode(s)) + .trim() + .replace(//gi, '
    ')); + let f = Lt.detectInit(s); + f && V.debug('Detected early reinit: ', f); + try { + let { svg: d, bindFunctions: p } = await Mve(h, s, u); + (u.innerHTML = d), t && (await t(h)), p && p(u); + } catch (d) { + gnt(d, l, nh.parseError); + } + } + if (l.length > 0) throw l[0]; + }, 'runThrowsErrors'), + Dve = o(function (t) { + Ff.initialize(t); + }, 'initialize'), + vnt = o(async function (t, e, r) { + V.warn('mermaid.init is deprecated. Please use run instead.'), t && Dve(t); + let n = { postRenderCallback: r, querySelector: '.mermaid' }; + typeof e == 'string' + ? (n.querySelector = e) + : e && (e instanceof HTMLElement ? (n.nodes = [e]) : (n.nodes = e)), + await Lve(n); + }, 'init'), + xnt = o(async (t, { lazyLoad: e = !0 } = {}) => { + k1(), Ub(...t), e === !1 && (await lye()); + }, 'registerExternalDiagrams'), + Rve = o(function () { + if (nh.startOnLoad) { + let { startOnLoad: t } = Ff.getConfig(); + t && nh.run().catch((e) => V.error('Mermaid failed to initialize', e)); + } + }, 'contentLoaded'); + if (typeof document < 'u') { + window.addEventListener('load', Rve, !1); + } + var bnt = o(function (t) { + nh.parseError = t; + }, 'setParseErrorHandler'), + SC = [], + yF = !1, + Nve = o(async () => { + if (!yF) { + for (yF = !0; SC.length > 0; ) { + let t = SC.shift(); + if (t) + try { + await t(); + } catch (e) { + V.error('Error executing queue', e); + } + } + yF = !1; + } + }, 'executeQueue'), + wnt = o( + async (t, e) => + new Promise((r, n) => { + let i = o( + () => + new Promise((a, s) => { + Ff.parse(t, e).then( + (l) => { + a(l), r(l); + }, + (l) => { + V.error('Error parsing', l), nh.parseError?.(l), s(l), n(l); + } + ); + }), + 'performCall' + ); + SC.push(i), Nve().catch(n); + }), + 'parse' + ), + Mve = o( + (t, e, r) => + new Promise((n, i) => { + let a = o( + () => + new Promise((s, l) => { + Ff.render(t, e, r).then( + (u) => { + s(u), n(u); + }, + (u) => { + V.error('Error parsing', u), nh.parseError?.(u), l(u), i(u); + } + ); + }), + 'performCall' + ); + SC.push(a), Nve().catch(i); + }), + 'render' + ), + nh = { + startOnLoad: !0, + mermaidAPI: Ff, + parse: wnt, + render: Mve, + init: vnt, + run: Lve, + registerExternalDiagrams: xnt, + registerLayoutLoaders: gD, + initialize: Dve, + parseError: void 0, + contentLoaded: Rve, + setParseErrorHandler: bnt, + detectType: lp, + registerIconPacks: Fb + }, + Tnt = nh; + return $ve(knt); +})(); +/*! Check if previously processed */ +/*! + * Wait for document loaded before starting the execution + */ +/*! Bundled license information: + +dompurify/dist/purify.js: + (*! @license DOMPurify 3.1.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.1.6/LICENSE *) + +lodash-es/lodash.js: + (** + * @license + * Lodash (Custom Build) + * Build: `lodash modularize exports="es" -o ./` + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + *) + +cytoscape/dist/cytoscape.esm.mjs: + (*! + 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) + *) + (*! + 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 + *) + (*! Bezier curve function generator. Copyright Gaetan Renaudeau. MIT License: http://en.wikipedia.org/wiki/MIT_License *) + (*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License *) + +js-yaml/dist/js-yaml.mjs: + (*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT *) +*/ +globalThis.mermaid = globalThis.__esbuild_esm_mermaid.default; diff --git a/prover/docs/js/version-box.js b/prover/docs/js/version-box.js new file mode 100644 index 000000000000..a7d053e01b47 --- /dev/null +++ b/prover/docs/js/version-box.js @@ -0,0 +1,61 @@ +document.addEventListener('DOMContentLoaded', function () { + // Get the base URL from the mdBook configuration + const baseUrl = document.location.origin + '/zksync-era/prover'; + + // Function to create version selector + function createVersionSelector(versions) { + const versionSelector = document.createElement('select'); + versionSelector.id = 'version-selector'; + + // Get the current path + const currentPath = window.location.pathname; + + // Iterate over the versions object + for (const [versionName, versionUrl] of Object.entries(versions)) { + const option = document.createElement('option'); + option.value = versionUrl + '/'; + option.textContent = versionName; + + // Check if the current URL matches this option's value + if (currentPath.includes(option.value)) { + option.selected = true; // Set this option as selected + } + + versionSelector.appendChild(option); + } + + // Event listener to handle version change + versionSelector.addEventListener('change', function () { + const selectedVersion = versionSelector.value; + // Redirect to the selected version URL + window.location.href = '/zksync-era/prover' + selectedVersion; + }); + + return versionSelector; + } + + // Fetch versions from JSON file + fetch(baseUrl + '/versions.json') + .then((response) => { + if (!response.ok) { + throw new Error('Network response was not ok ' + response.statusText); + } + return response.json(); + }) + .then((data) => { + const versionSelector = createVersionSelector(data); + const nav = document.querySelector('.right-buttons'); + + if (nav) { + const versionBox = document.createElement('div'); + versionBox.id = 'version-box'; + versionBox.appendChild(versionSelector); + nav.appendChild(versionBox); // Append to the .right-buttons container + } else { + console.error('.right-buttons element not found.'); + } + }) + .catch((error) => { + console.error('There has been a problem with your fetch operation:', error); + }); +}); diff --git a/prover/docs/00_intro.md b/prover/docs/src/00_intro.md similarity index 100% rename from prover/docs/00_intro.md rename to prover/docs/src/00_intro.md diff --git a/prover/docs/01_gcp_vm.md b/prover/docs/src/01_gcp_vm.md similarity index 100% rename from prover/docs/01_gcp_vm.md rename to prover/docs/src/01_gcp_vm.md diff --git a/prover/docs/02_setup.md b/prover/docs/src/02_setup.md similarity index 100% rename from prover/docs/02_setup.md rename to prover/docs/src/02_setup.md diff --git a/prover/docs/03_launch.md b/prover/docs/src/03_launch.md similarity index 100% rename from prover/docs/03_launch.md rename to prover/docs/src/03_launch.md diff --git a/prover/docs/04_flow.md b/prover/docs/src/04_flow.md similarity index 100% rename from prover/docs/04_flow.md rename to prover/docs/src/04_flow.md diff --git a/prover/docs/05_proving_batch.md b/prover/docs/src/05_proving_batch.md similarity index 100% rename from prover/docs/05_proving_batch.md rename to prover/docs/src/05_proving_batch.md diff --git a/prover/docs/src/99_further_reading.md b/prover/docs/src/99_further_reading.md new file mode 100644 index 000000000000..7b916167dbdd --- /dev/null +++ b/prover/docs/src/99_further_reading.md @@ -0,0 +1,14 @@ +# Further reading + +The documentation in this section aimed to provide a practical overview of the prover workspace, e.g. help people to +understand how to run provers and what they do. + +However, we have some documentation that is more focused on theory of proving in the +[core workspace docs](https://matter-labs.github.io/zksync-era/core/latest). + +You may find the following articles helpful for general understanding of ZK proofs: + +- [ZK intuition](https://matter-labs.github.io/zksync-era/core/latest/guides/advanced/13_zk_intuition.html). +- [ZK deeper overview](https://matter-labs.github.io/zksync-era/core/latest/docs/guides/advanced/14_zk_deeper_overview.html). +- [Prover keys](https://matter-labs.github.io/zksync-era/core/latest/docs/guides/advanced/15_prover_keys.html). +- [Overview of our ZK proving system implementation](https://matter-labs.github.io/zksync-era/core/latest/specs/prover/overview.html). diff --git a/prover/docs/src/README.md b/prover/docs/src/README.md new file mode 100644 index 000000000000..991c91219e99 --- /dev/null +++ b/prover/docs/src/README.md @@ -0,0 +1,16 @@ +# Prover subsystem documentation + +This is technical documentation for the prover subsystem. It aims to help developers to set up a development environment +for working with provers. This documentation assumes that you are already familiar with how ZKsync works, and you need +to be able to work with the prover code. + +It does not cover topics such as basics of ZK or production deployment for provers. + +## Table of contents + +- [Intro](00_intro.md) +- [Setting up a GCP VM](01_gcp_vm.md) +- [Workspace setup](02_setup.md) +- [Running prover subsystem](03_launch.md) +- [Proof generation flow](04_flow.md) +- [Further reading](99_further_reading.md) diff --git a/prover/docs/src/SUMMARY.md b/prover/docs/src/SUMMARY.md new file mode 100644 index 000000000000..d4a6fa15d778 --- /dev/null +++ b/prover/docs/src/SUMMARY.md @@ -0,0 +1,11 @@ +# Summary + +[Introduction](./00_intro.md) + +- [Creating a GCP VM](./01_gcp_vm.md) +- [Development environment setup](./02_setup.md) +- [Running provers](./03_launch.md) +- [Prover flow](./04_flow.md) +- [Proving a batch](./05_proving_batch.md) + +[Further reading](./99_further_reading.md)